Changeset a0596b41 in rtems


Ignore:
Timestamp:
Nov 8, 2004, 4:11:58 PM (15 years ago)
Author:
Ralf Corsepius <ralf.corsepius@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
4dd9c719
Parents:
ad58194
Message:

2004-11-08 Ralf Corsepius <ralf.corsepiu@…>

  • libcsupport/include/sys/_stdint.h: Remove.
  • libcsupport/include/sys/_inttypes.h: Remove.
  • libcsupport/include/stdint.h: Replace with former sys/_stdint.h. Add INT<N>_C, various additions.
  • libcsupport/include/inttypes.h: Replace with former sys/_inttypes.h.
  • libcsupport/Makefile.am: Reflect changes above.
Location:
cpukit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    rad58194 ra0596b41  
     12004-11-08      Ralf Corsepius <ralf.corsepiu@rtems.org>
     2
     3        * libcsupport/include/sys/_stdint.h: Remove.
     4        * libcsupport/include/sys/_inttypes.h: Remove.
     5        * libcsupport/include/stdint.h: Replace with former sys/_stdint.h.
     6        Add INT<N>_C, various additions.
     7        * libcsupport/include/inttypes.h: Replace with former
     8        sys/_inttypes.h.
     9        * libcsupport/Makefile.am: Reflect changes above.
     10
    1112004-11-07      Ralf Corsepius <ralf.corsepiu@rtems.org>
    212
  • cpukit/libcsupport/include/inttypes.h

    rad58194 ra0596b41  
    1 /**
    2  * @file inttypes.h
    3  */
    4  
    51/*
     2 *  COPYRIGHT (c) 2004.
     3 *  Ralf Corsepius, Ulm/Germany.
     4 *
     5 *  The license and distribution terms for this file may be
     6 *  found in the file LICENSE in this distribution or at
     7 *  http://www.rtems.org/license/LICENSE.
     8 *
    69 *  $Id$
    710 */
    811
     12/**
     13 *  @file  sys/_inttypes.h
     14 */
     15
    916#ifndef __INTTYPES_H
    1017#define __INTTYPES_H
    1118
    1219#include <stdint.h>
    13 #include <sys/_inttypes.h>
    14 
    15 #endif
     20
     21#define __STRINGIFY(a) #a
     22
     23/* 8-bit types */
     24#define __PRI8(x) __STRINGIFY(x)
     25#define __SCN8(x) __STRINGIFY(hh##x)
     26
     27
     28#define PRId8           __PRI8(d)
     29#define PRIi8           __PRI8(i)
     30#define PRIo8           __PRI8(o)
     31#define PRIu8           __PRI8(u)
     32#define PRIx8           __PRI8(x)
     33#define PRIX8           __PRI8(X)
     34
     35#define SCNd8           __SCN8(d)
     36#define SCNi8           __SCN8(i)
     37#define SCNo8           __SCN8(o)
     38#define SCNu8           __SCN8(u)
     39#define SCNx8           __SCN8(x)
     40
     41
     42#define PRIdLEAST8      __PRI8(d)
     43#define PRIiLEAST8      __PRI8(i)
     44#define PRIoLEAST8      __PRI8(o)
     45#define PRIuLEAST8      __PRI8(u)
     46#define PRIxLEAST8      __PRI8(x)
     47#define PRIXLEAST8      __PRI8(X)
     48
     49#define SCNdLEAST8      __SCN8(d)
     50#define SCNiLEAST8      __SCN8(i)
     51#define SCNoLEAST8      __SCN8(o)
     52#define SCNuLEAST8      __SCN8(u)
     53#define SCNxLEAST8      __SCN8(x)
     54
     55
     56#define PRIdFAST8       __PRI8(d)
     57#define PRIiFAST8       __PRI8(i)
     58#define PRIoFAST8       __PRI8(o)
     59#define PRIuFAST8       __PRI8(u)
     60#define PRIxFAST8       __PRI8(x)
     61#define PRIXFAST8       __PRI8(X)
     62
     63#define SCNdFAST8       __SCN8(d)
     64#define SCNiFAST8       __SCN8(i)
     65#define SCNoFAST8       __SCN8(o)
     66#define SCNuFAST8       __SCN8(u)
     67#define SCNxFAST8       __SCN8(x)
     68
     69/* 16-bit types */
     70#define __PRI16(x) __STRINGIFY(x)
     71#define __SCN16(x) __STRINGIFY(h##x)
     72
     73
     74#define PRId16          __PRI16(d)
     75#define PRIi16          __PRI16(i)
     76#define PRIo16          __PRI16(o)
     77#define PRIu16          __PRI16(u)
     78#define PRIx16          __PRI16(x)
     79#define PRIX16          __PRI16(X)
     80
     81#define SCNd16          __SCN16(d)
     82#define SCNi16          __SCN16(i)
     83#define SCNo16          __SCN16(o)
     84#define SCNu16          __SCN16(u)
     85#define SCNx16          __SCN16(x)
     86
     87
     88#define PRIdLEAST16     __PRI16(d)
     89#define PRIiLEAST16     __PRI16(i)
     90#define PRIoLEAST16     __PRI16(o)
     91#define PRIuLEAST16     __PRI16(u)
     92#define PRIxLEAST16     __PRI16(x)
     93#define PRIXLEAST16     __PRI16(X)
     94
     95#define SCNdLEAST16     __SCN16(d)
     96#define SCNiLEAST16     __SCN16(i)
     97#define SCNoLEAST16     __SCN16(o)
     98#define SCNuLEAST16     __SCN16(u)
     99#define SCNxLEAST16     __SCN16(x)
     100
     101
     102#define PRIdFAST16      __PRI16(d)
     103#define PRIiFAST16      __PRI16(i)
     104#define PRIoFAST16      __PRI16(o)
     105#define PRIuFAST16      __PRI16(u)
     106#define PRIxFAST16      __PRI16(x)
     107#define PRIXFAST16      __PRI16(X)
     108
     109#define SCNdFAST16      __SCN16(d)
     110#define SCNiFAST16      __SCN16(i)
     111#define SCNoFAST16      __SCN16(o)
     112#define SCNuFAST16      __SCN16(u)
     113#define SCNxFAST16      __SCN16(x)
     114
     115/* 32-bit types */
     116#if defined(__rtems_long32)
     117#define __PRI32(x) __STRINGIFY(l##x)
     118#define __SCN32(x) __STRINGIFY(l##x)
     119#else
     120#define __PRI32(x) __STRINGIFY(x)
     121#define __SCN32(x) __STRINGIFY(x)
     122#endif
     123
     124#define PRId32          __PRI32(d)
     125#define PRIi32          __PRI32(i)
     126#define PRIo32          __PRI32(o)
     127#define PRIu32          __PRI32(u)
     128#define PRIx32          __PRI32(x)
     129#define PRIX32          __PRI32(X)
     130
     131#define SCNd32          __SCN32(d)
     132#define SCNi32          __SCN32(i)
     133#define SCNo32          __SCN32(o)
     134#define SCNu32          __SCN32(u)
     135#define SCNx32          __SCN32(x)
     136
     137
     138#define PRIdLEAST32     __PRI32(d)
     139#define PRIiLEAST32     __PRI32(i)
     140#define PRIoLEAST32     __PRI32(o)
     141#define PRIuLEAST32     __PRI32(u)
     142#define PRIxLEAST32     __PRI32(x)
     143#define PRIXLEAST32     __PRI32(X)
     144
     145#define SCNdLEAST32     __SCN32(d)
     146#define SCNiLEAST32     __SCN32(i)
     147#define SCNoLEAST32     __SCN32(o)
     148#define SCNuLEAST32     __SCN32(u)
     149#define SCNxLEAST32     __SCN32(x)
     150
     151
     152#define PRIdFAST32      __PRI32(d)
     153#define PRIiFAST32      __PRI32(i)
     154#define PRIoFAST32      __PRI32(o)
     155#define PRIuFAST32      __PRI32(u)
     156#define PRIxFAST32      __PRI32(x)
     157#define PRIXFAST32      __PRI32(X)
     158
     159#define SCNdFAST32      __SCN32(d)
     160#define SCNiFAST32      __SCN32(i)
     161#define SCNoFAST32      __SCN32(o)
     162#define SCNuFAST32      __SCN32(u)
     163#define SCNxFAST32      __SCN32(x)
     164
     165
     166/* 64-bit types */
     167#if defined(__rtems_longlong64)
     168#define __PRI64(x) __STRINGIFY(ll##x)
     169#define __SCN64(x) __STRINGIFY(ll##x)
     170#elif defined(__rtems_long64)
     171#define __PRI64(x) __STRINGIFY(l##x)
     172#define __SCN64(x) __STRINGIFY(l##x)
     173#else
     174#define __PRI64(x) __STRINGIFY(x)
     175#define __SCN64(x) __STRINGIFY(x)
     176#endif
     177
     178#define PRId64          __PRI64(d)
     179#define PRIi64          __PRI64(i)
     180#define PRIo64          __PRI64(o)
     181#define PRIu64          __PRI64(u)
     182#define PRIx64          __PRI64(x)
     183#define PRIX64          __PRI64(X)
     184
     185#define SCNd64          __SCN64(d)
     186#define SCNi64          __SCN64(i)
     187#define SCNo64          __SCN64(o)
     188#define SCNu64          __SCN64(u)
     189#define SCNx64          __SCN64(x)
     190
     191#if __int64_t_defined
     192#define PRIdLEAST64     __PRI64(d)
     193#define PRIiLEAST64     __PRI64(i)
     194#define PRIoLEAST64     __PRI64(o)
     195#define PRIuLEAST64     __PRI64(u)
     196#define PRIxLEAST64     __PRI64(x)
     197#define PRIXLEAST64     __PRI64(X)
     198
     199#define SCNdLEAST64     __SCN64(d)
     200#define SCNiLEAST64     __SCN64(i)
     201#define SCNoLEAST64     __SCN64(o)
     202#define SCNuLEAST64     __SCN64(u)
     203#define SCNxLEAST64     __SCN64(x)
     204
     205
     206#define PRIdFAST64      __PRI64(d)
     207#define PRIiFAST64      __PRI64(i)
     208#define PRIoFAST64      __PRI64(o)
     209#define PRIuFAST64      __PRI64(u)
     210#define PRIxFAST64      __PRI64(x)
     211#define PRIXFAST64      __PRI64(X)
     212
     213#define SCNdFAST64      __SCN64(d)
     214#define SCNiFAST64      __SCN64(i)
     215#define SCNoFAST64      __SCN64(o)
     216#define SCNuFAST64      __SCN64(u)
     217#define SCNxFAST64      __SCN64(x)
     218#endif
     219
     220/* max-bit types */
     221#if defined(__rtems_longlong64)
     222#define __PRIMAX(x) __STRINGIFY(ll##x)
     223#define __SCNMAX(x) __STRINGIFY(ll##x)
     224#elif defined(__rtems_long64)
     225#define __PRIMAX(x) __STRINGIFY(l##x)
     226#define __SCNMAX(x) __STRINGIFY(l##x)
     227#else
     228#define __PRIMAX(x) __STRINGIFY(x)
     229#define __SCNMAX(x) __STRINGIFY(x)
     230#endif
     231
     232#define PRIdMAX         __PRIMAX(d)
     233#define PRIiMAX         __PRIMAX(i)
     234#define PRIoMAX         __PRIMAX(o)
     235#define PRIuMAX         __PRIMAX(u)
     236#define PRIxMAX         __PRIMAX(x)
     237#define PRIXMAX         __PRIMAX(X)
     238
     239#define SCNdMAX         __SCNMAX(d)
     240#define SCNiMAX         __SCNMAX(i)
     241#define SCNoMAX         __SCNMAX(o)
     242#define SCNuMAX         __SCNMAX(u)
     243#define SCNxMAX         __SCNMAX(x)
     244
     245/* ptr types */
     246#if defined(__rtems_longlong64)
     247#define __PRIPTR(x) __STRINGIFY(ll##x)
     248#define __SCNPTR(x) __STRINGIFY(ll##x)
     249#elif defined(__rtems_long64)
     250#define __PRIPTR(x) __STRINGIFY(l##x)
     251#define __SCNPTR(x) __STRINGIFY(l##x)
     252#else
     253#define __PRIPTR(x) __STRINGIFY(x)
     254#define __SCNPTR(x) __STRINGIFY(x)
     255#endif
     256
     257#define PRIdPTR         __PRIPTR(d)
     258#define PRIiPTR         __PRIPTR(i)
     259#define PRIoPTR         __PRIPTR(o)
     260#define PRIuPTR         __PRIPTR(u)
     261#define PRIxPTR         __PRIPTR(x)
     262#define PRIXPTR         __PRIPTR(X)
     263
     264#define SCNdPTR         __SCNPTR(d)
     265#define SCNiPTR         __SCNPTR(i)
     266#define SCNoPTR         __SCNPTR(o)
     267#define SCNuPTR         __SCNPTR(u)
     268#define SCNxPTR         __SCNPTR(x)
     269
     270
     271typedef struct {
     272  intmax_t      quot;
     273  intmax_t      rem;
     274} imaxdiv_t;
     275
     276#ifdef __cplusplus
     277extern "C" {
     278#endif
     279
     280extern intmax_t  imaxabs(intmax_t j);
     281extern imaxdiv_t imaxdiv(intmax_t numer, intmax_t denomer);
     282extern intmax_t  strtoimax(const char *__restrict, char **__restrict, int);
     283extern uintmax_t strtoumax(const char *__restrict, char **__restrict, int);
     284extern intmax_t  wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int);
     285extern uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int);
     286
     287#ifdef __cplusplus
     288}
     289#endif
     290
     291#endif
  • cpukit/libcsupport/include/stdint.h

    rad58194 ra0596b41  
    1 /**
    2  * @file stdint.h
     1/*
     2 *  COPYRIGHT (c) 2004.
     3 *  Ralf Corsepius, Ulm/Germany.
     4 *
     5 *  The license and distribution terms for this file may be
     6 *  found in the file LICENSE in this distribution or at
     7 *  http://www.rtems.org/license/LICENSE.
     8 *
     9 *  $Id$
    310 */
    411
    5 /*
    6  * $Id$
     12/** @file  _stdint.h
     13 * Newlib specific stdint.h
     14 *
     15 * @todo - Add fast<N>_t types.
     16 * @todo - Add support for wint_t types.
    717 */
    818
    9 #ifndef __STDINT_H
    10 #define __STDINT_H
    11 
    12 #include <sys/_stdint.h>
    13 
    14 #endif
     19#ifndef _STDINT_H
     20#define _STDINT_H
     21
     22#ifdef __cplusplus
     23extern "C" {
     24#endif
     25
     26#if defined(__GNUC__) && (__GNUC__ >= 3 ) \
     27  && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ > 2 )
     28#define __EXP(x) __##x##__
     29#else
     30#define __EXP(x) x
     31#include <limits.h>
     32#endif
     33
     34#if __EXP(SCHAR_MAX) == 0x7f
     35typedef signed char int8_t ;
     36typedef unsigned char uint8_t ;
     37#define __int8_t_defined 1
     38#endif
     39
     40#if __int8_t_defined
     41typedef signed char int_least8_t;
     42typedef unsigned char uint_least8_t;
     43#define __int_least8_t_defined 1
     44#endif
     45
     46#if __EXP(SHRT_MAX) == 0x7fff
     47typedef signed short int16_t;
     48typedef unsigned short uint16_t;
     49#define __int16_t_defined 1
     50#elif __EXP(INT_MAX) == 0x7fff
     51typedef signed int int16_t;
     52typedef unsigned int uint16_t;
     53#define __int16_t_defined 1
     54#elif __EXP(SCHAR_MAX) == 0x7fff
     55typedef signed char int16_t;
     56typedef unsigned char uint16_t;
     57#define __int16_t_defined 1
     58#endif
     59
     60#if __int16_t_defined
     61typedef int16_t         int_least16_t;
     62typedef uint16_t        uint_least16_t;
     63#define __int_least16_t_defined 1
     64
     65#ifndef __int_least8_t_defined
     66typedef int16_t         int_least8_t;
     67typedef uint16_t        uint_least8_t;
     68#define __int_least8_t_defined 1
     69#endif
     70#endif
     71
     72#if __EXP(INT_MAX) == 0x7fffffffL
     73typedef signed int int32_t;
     74typedef unsigned int uint32_t;
     75#define __int32_t_defined 1
     76#elif __EXP(LONG_MAX) == 0x7fffffffL
     77typedef signed long int32_t;
     78typedef unsigned long uint32_t;
     79#define __int32_t_defined 1
     80#define __rtems_long32 1
     81#elif __EXP(SHRT_MAX) == 0x7fffffffL
     82typedef signed short int32_t;
     83typedef unsigned short uint32_t;
     84#define __int32_t_defined 1
     85#elif __EXP(SCHAR_MAX) == 0x7fffffffL
     86typedef signed char int32_t;
     87typedef unsigned char uint32_t;
     88#define __int32_t_defined 1
     89#endif
     90
     91#if __int32_t_defined
     92typedef int32_t         int_least32_t;
     93typedef uint32_t        uint_least32_t;
     94#define __int_least32_t_defined 1
     95
     96#ifndef __int_least8_t_defined
     97typedef int32_t         int_least8_t;
     98typedef uint32_t        uint_least8_t;
     99#define __int_least8_t_defined 1
     100#endif
     101
     102#ifndef __int_least16_t_defined
     103typedef int32_t         int_least16_t;
     104typedef uint32_t        uint_least16_t;
     105#define __int_least16_t_defined 1
     106#endif
     107#endif
     108
     109#if __EXP(LONG_MAX) > 0x7fffffff
     110typedef signed long int64_t;
     111typedef unsigned long uint64_t;
     112#define __int64_t_defined 1
     113#define __rtems_long64 1
     114#elif  defined(__LONG_LONG_MAX__) && (__LONG_LONG_MAX__ > 0x7fffffff)
     115typedef signed long long int64_t;
     116typedef unsigned long long uint64_t;
     117#define __int64_t_defined 1
     118#define __rtems_longlong64 1
     119#elif  defined(LLONG_MAX) && (LLONG_MAX > 0x7fffffff)
     120typedef signed long long int64_t;
     121typedef unsigned long long uint64_t;
     122#define __int64_t_defined 1
     123#define __rtems_longlong64 1
     124#elif  __EXP(INT_MAX) > 0x7fffffff
     125typedef signed int int64_t;
     126typedef unsigned int uint64_t;
     127#define __int64_t_defined 1
     128#endif
     129
     130#if __int64_t_defined
     131typedef int64_t         int_least64_t;
     132typedef uint64_t        uint_least64_t;
     133#define __int_least64_t_defined 1
     134
     135#ifndef __int_least8_t_defined
     136typedef int64_t         int_least8_t;
     137typedef uint64_t        uint_least8_t;
     138#define __int_least8_t_defined 1
     139#endif
     140
     141#ifndef __int_least16_t_defined
     142typedef int64_t         int_least16_t;
     143typedef uint64_t        uint_least16_t;
     144#define __int_least16_t_defined 1
     145#endif
     146
     147#ifndef __int_least32_t_defined
     148typedef int64_t         int_least32_t;
     149typedef uint64_t        uint_least32_t;
     150#define __int_least32_t_defined 1
     151#endif
     152#endif
     153
     154#if __rtems_longlong64
     155typedef signed long long intmax_t;
     156typedef unsigned long long uintmax_t;
     157#else
     158typedef signed long intmax_t;
     159typedef unsigned long uintmax_t;
     160#endif
     161
     162typedef signed long intptr_t;
     163typedef unsigned long uintptr_t;
     164
     165/* Limits of Specified-Width Integer Types */
     166
     167#if __int8_t_defined
     168#define INT8_MIN        -128
     169#define INT8_MAX         127
     170#define UINT8_MAX        255
     171#endif
     172
     173#if __int_least8_t_defined
     174#define INTLEAST8_MIN   -128
     175#define INTLEAST8_MAX    127
     176#define UINTLEAST8_MAX   255
     177#else
     178#error required type int_least8_t missing
     179#endif
     180
     181#if __int16_t_defined
     182#define INT16_MIN       -32768
     183#define INT16_MAX        32767
     184#define UINT16_MAX       65535
     185#endif
     186
     187#if __int_least16_t_defined
     188#define INTLEAST16_MIN  -32768
     189#define INTLEAST16_MAX   32767
     190#define UINTLEAST16_MAX  65535
     191#else
     192#error required type int_least16_t missing
     193#endif
     194
     195#if __int32_t_defined
     196#define INT32_MIN       -2147483648
     197#define INT32_MAX        2147483647
     198#define UINT32_MAX       4294967295
     199#endif
     200
     201#if __int_least32_t_defined
     202#define INTLEAST32_MIN  -2147483648
     203#define INTLEAST32_MAX   2147483647
     204#define UINTLEAST32_MAX  4294967295
     205#else
     206#error required type int_least32_t missing
     207#endif
     208
     209#if __int64_t_defined
     210#define INT64_MIN       -9223372036854775808
     211#define INT64_MAX        9223372036854775807
     212#define UINT64_MAX      18446744073709551615
     213#endif
     214
     215#if __int_least64_t_defined
     216#define INTLEAST64_MIN  -9223372036854775808
     217#define INTLEAST64_MAX   9223372036854775807
     218#define UINTLEAST64_MAX 18446744073709551615
     219#endif
     220
     221/* This must match size_t in stddef.h, currently long unsigned int */
     222#define SIZE_MIN (-__EXP(LONG_MAX) - 1L)
     223#define SIZE_MAX __EXP(LONG_MAX)
     224
     225/* This must match sig_atomic_t in <signal.h> (currently int) */
     226#define SIG_ATOMIC_MIN (-__EXP(INT_MAX) - 1)
     227#define SIG_ATOMIC_MAX __EXP(INT_MAX)
     228
     229/* This must match ptrdiff_t  in <stddef.h> (currently long int) */
     230#define PTRDIFF_MIN (-__EXP(LONG_MAX) - 1L)
     231#define PTHDIFF_MAX __EXT(LONG_MAX)
     232
     233#undef __EXP
     234
     235/* Macros for minimum-width integer constant expressions */
     236
     237#define INT8_C(x)       x
     238#define UINT8_C(x)      x##U
     239
     240#define INT16_C(x)      x
     241#define UINT16_C(x)     x##U
     242
     243#if __rtems_long32
     244#define INT32_C(x)      x##L
     245#define UINT32_C(x)     x##UL
     246#else
     247#define INT32_C(x)      x
     248#define UINT32_C(x)     x##U
     249#endif
     250
     251/* Macros for greatest-width integer constant expression */
     252#if __int64_t_defined
     253#if __rtems_longlong64
     254#define INT64_C(x)      x##LL
     255#define UINT64_C(x)     x##ULL
     256#else
     257#define INT64_C(x)      x##L
     258#define UINT64_C(x)     x##UL
     259#endif
     260#endif
     261
     262#if __rtems_longlong64
     263#define INTMAX_C(x)     x##LL
     264#define UINTMAX_C(x)    x##ULL
     265#else
     266#define INTMAX_C(x)     x##L
     267#define UINTMAX_C(x)    x##UL
     268#endif
     269
     270
     271#ifdef __cplusplus
     272}
     273#endif
     274
     275#endif
Note: See TracChangeset for help on using the changeset viewer.