123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364 |
- /* Copyright (C) 2008-2019 Free Software Foundation, Inc.
- This file is part of GCC.
- GCC is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
- GCC is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
- /*
- * ISO C Standard: 7.18 Integer types <stdint.h>
- */
- #ifndef _GCC_STDINT_H
- #define _GCC_STDINT_H
- /* 7.8.1.1 Exact-width integer types */
- #ifdef __INT8_TYPE__
- typedef __INT8_TYPE__ int8_t;
- #endif
- #ifdef __INT16_TYPE__
- typedef __INT16_TYPE__ int16_t;
- #endif
- #ifdef __INT32_TYPE__
- typedef __INT32_TYPE__ int32_t;
- #endif
- #ifdef __INT64_TYPE__
- typedef __INT64_TYPE__ int64_t;
- #endif
- #ifdef __UINT8_TYPE__
- typedef __UINT8_TYPE__ uint8_t;
- #endif
- #ifdef __UINT16_TYPE__
- typedef __UINT16_TYPE__ uint16_t;
- #endif
- #ifdef __UINT32_TYPE__
- typedef __UINT32_TYPE__ uint32_t;
- #endif
- #ifdef __UINT64_TYPE__
- typedef __UINT64_TYPE__ uint64_t;
- #endif
- /* 7.8.1.2 Minimum-width integer types */
- typedef __INT_LEAST8_TYPE__ int_least8_t;
- typedef __INT_LEAST16_TYPE__ int_least16_t;
- typedef __INT_LEAST32_TYPE__ int_least32_t;
- typedef __INT_LEAST64_TYPE__ int_least64_t;
- typedef __UINT_LEAST8_TYPE__ uint_least8_t;
- typedef __UINT_LEAST16_TYPE__ uint_least16_t;
- typedef __UINT_LEAST32_TYPE__ uint_least32_t;
- typedef __UINT_LEAST64_TYPE__ uint_least64_t;
- /* 7.8.1.3 Fastest minimum-width integer types */
- typedef __INT_FAST8_TYPE__ int_fast8_t;
- typedef __INT_FAST16_TYPE__ int_fast16_t;
- typedef __INT_FAST32_TYPE__ int_fast32_t;
- typedef __INT_FAST64_TYPE__ int_fast64_t;
- typedef __UINT_FAST8_TYPE__ uint_fast8_t;
- typedef __UINT_FAST16_TYPE__ uint_fast16_t;
- typedef __UINT_FAST32_TYPE__ uint_fast32_t;
- typedef __UINT_FAST64_TYPE__ uint_fast64_t;
- /* 7.8.1.4 Integer types capable of holding object pointers */
- #ifdef __INTPTR_TYPE__
- typedef __INTPTR_TYPE__ intptr_t;
- #endif
- #ifdef __UINTPTR_TYPE__
- typedef __UINTPTR_TYPE__ uintptr_t;
- #endif
- /* 7.8.1.5 Greatest-width integer types */
- typedef __INTMAX_TYPE__ intmax_t;
- typedef __UINTMAX_TYPE__ uintmax_t;
- #if (!defined __cplusplus || __cplusplus >= 201103L \
- || defined __STDC_LIMIT_MACROS)
- /* 7.18.2 Limits of specified-width integer types */
- #ifdef __INT8_MAX__
- # undef INT8_MAX
- # define INT8_MAX __INT8_MAX__
- # undef INT8_MIN
- # define INT8_MIN (-INT8_MAX - 1)
- #endif
- #ifdef __UINT8_MAX__
- # undef UINT8_MAX
- # define UINT8_MAX __UINT8_MAX__
- #endif
- #ifdef __INT16_MAX__
- # undef INT16_MAX
- # define INT16_MAX __INT16_MAX__
- # undef INT16_MIN
- # define INT16_MIN (-INT16_MAX - 1)
- #endif
- #ifdef __UINT16_MAX__
- # undef UINT16_MAX
- # define UINT16_MAX __UINT16_MAX__
- #endif
- #ifdef __INT32_MAX__
- # undef INT32_MAX
- # define INT32_MAX __INT32_MAX__
- # undef INT32_MIN
- # define INT32_MIN (-INT32_MAX - 1)
- #endif
- #ifdef __UINT32_MAX__
- # undef UINT32_MAX
- # define UINT32_MAX __UINT32_MAX__
- #endif
- #ifdef __INT64_MAX__
- # undef INT64_MAX
- # define INT64_MAX __INT64_MAX__
- # undef INT64_MIN
- # define INT64_MIN (-INT64_MAX - 1)
- #endif
- #ifdef __UINT64_MAX__
- # undef UINT64_MAX
- # define UINT64_MAX __UINT64_MAX__
- #endif
- #undef INT_LEAST8_MAX
- #define INT_LEAST8_MAX __INT_LEAST8_MAX__
- #undef INT_LEAST8_MIN
- #define INT_LEAST8_MIN (-INT_LEAST8_MAX - 1)
- #undef UINT_LEAST8_MAX
- #define UINT_LEAST8_MAX __UINT_LEAST8_MAX__
- #undef INT_LEAST16_MAX
- #define INT_LEAST16_MAX __INT_LEAST16_MAX__
- #undef INT_LEAST16_MIN
- #define INT_LEAST16_MIN (-INT_LEAST16_MAX - 1)
- #undef UINT_LEAST16_MAX
- #define UINT_LEAST16_MAX __UINT_LEAST16_MAX__
- #undef INT_LEAST32_MAX
- #define INT_LEAST32_MAX __INT_LEAST32_MAX__
- #undef INT_LEAST32_MIN
- #define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)
- #undef UINT_LEAST32_MAX
- #define UINT_LEAST32_MAX __UINT_LEAST32_MAX__
- #undef INT_LEAST64_MAX
- #define INT_LEAST64_MAX __INT_LEAST64_MAX__
- #undef INT_LEAST64_MIN
- #define INT_LEAST64_MIN (-INT_LEAST64_MAX - 1)
- #undef UINT_LEAST64_MAX
- #define UINT_LEAST64_MAX __UINT_LEAST64_MAX__
- #undef INT_FAST8_MAX
- #define INT_FAST8_MAX __INT_FAST8_MAX__
- #undef INT_FAST8_MIN
- #define INT_FAST8_MIN (-INT_FAST8_MAX - 1)
- #undef UINT_FAST8_MAX
- #define UINT_FAST8_MAX __UINT_FAST8_MAX__
- #undef INT_FAST16_MAX
- #define INT_FAST16_MAX __INT_FAST16_MAX__
- #undef INT_FAST16_MIN
- #define INT_FAST16_MIN (-INT_FAST16_MAX - 1)
- #undef UINT_FAST16_MAX
- #define UINT_FAST16_MAX __UINT_FAST16_MAX__
- #undef INT_FAST32_MAX
- #define INT_FAST32_MAX __INT_FAST32_MAX__
- #undef INT_FAST32_MIN
- #define INT_FAST32_MIN (-INT_FAST32_MAX - 1)
- #undef UINT_FAST32_MAX
- #define UINT_FAST32_MAX __UINT_FAST32_MAX__
- #undef INT_FAST64_MAX
- #define INT_FAST64_MAX __INT_FAST64_MAX__
- #undef INT_FAST64_MIN
- #define INT_FAST64_MIN (-INT_FAST64_MAX - 1)
- #undef UINT_FAST64_MAX
- #define UINT_FAST64_MAX __UINT_FAST64_MAX__
- #ifdef __INTPTR_MAX__
- # undef INTPTR_MAX
- # define INTPTR_MAX __INTPTR_MAX__
- # undef INTPTR_MIN
- # define INTPTR_MIN (-INTPTR_MAX - 1)
- #endif
- #ifdef __UINTPTR_MAX__
- # undef UINTPTR_MAX
- # define UINTPTR_MAX __UINTPTR_MAX__
- #endif
- #undef INTMAX_MAX
- #define INTMAX_MAX __INTMAX_MAX__
- #undef INTMAX_MIN
- #define INTMAX_MIN (-INTMAX_MAX - 1)
- #undef UINTMAX_MAX
- #define UINTMAX_MAX __UINTMAX_MAX__
- /* 7.18.3 Limits of other integer types */
- #undef PTRDIFF_MAX
- #define PTRDIFF_MAX __PTRDIFF_MAX__
- #undef PTRDIFF_MIN
- #define PTRDIFF_MIN (-PTRDIFF_MAX - 1)
- #undef SIG_ATOMIC_MAX
- #define SIG_ATOMIC_MAX __SIG_ATOMIC_MAX__
- #undef SIG_ATOMIC_MIN
- #define SIG_ATOMIC_MIN __SIG_ATOMIC_MIN__
- #undef SIZE_MAX
- #define SIZE_MAX __SIZE_MAX__
- #undef WCHAR_MAX
- #define WCHAR_MAX __WCHAR_MAX__
- #undef WCHAR_MIN
- #define WCHAR_MIN __WCHAR_MIN__
- #undef WINT_MAX
- #define WINT_MAX __WINT_MAX__
- #undef WINT_MIN
- #define WINT_MIN __WINT_MIN__
- #endif /* (!defined __cplusplus || __cplusplus >= 201103L
- || defined __STDC_LIMIT_MACROS) */
- #if (!defined __cplusplus || __cplusplus >= 201103L \
- || defined __STDC_CONSTANT_MACROS)
- #undef INT8_C
- #define INT8_C(c) __INT8_C(c)
- #undef INT16_C
- #define INT16_C(c) __INT16_C(c)
- #undef INT32_C
- #define INT32_C(c) __INT32_C(c)
- #undef INT64_C
- #define INT64_C(c) __INT64_C(c)
- #undef UINT8_C
- #define UINT8_C(c) __UINT8_C(c)
- #undef UINT16_C
- #define UINT16_C(c) __UINT16_C(c)
- #undef UINT32_C
- #define UINT32_C(c) __UINT32_C(c)
- #undef UINT64_C
- #define UINT64_C(c) __UINT64_C(c)
- #undef INTMAX_C
- #define INTMAX_C(c) __INTMAX_C(c)
- #undef UINTMAX_C
- #define UINTMAX_C(c) __UINTMAX_C(c)
- #endif /* (!defined __cplusplus || __cplusplus >= 201103L
- || defined __STDC_CONSTANT_MACROS) */
- #ifdef __STDC_WANT_IEC_60559_BFP_EXT__
- /* TS 18661-1 widths of integer types. */
- #ifdef __INT8_TYPE__
- # undef INT8_WIDTH
- # define INT8_WIDTH 8
- #endif
- #ifdef __UINT8_TYPE__
- # undef UINT8_WIDTH
- # define UINT8_WIDTH 8
- #endif
- #ifdef __INT16_TYPE__
- # undef INT16_WIDTH
- # define INT16_WIDTH 16
- #endif
- #ifdef __UINT16_TYPE__
- # undef UINT16_WIDTH
- # define UINT16_WIDTH 16
- #endif
- #ifdef __INT32_TYPE__
- # undef INT32_WIDTH
- # define INT32_WIDTH 32
- #endif
- #ifdef __UINT32_TYPE__
- # undef UINT32_WIDTH
- # define UINT32_WIDTH 32
- #endif
- #ifdef __INT64_TYPE__
- # undef INT64_WIDTH
- # define INT64_WIDTH 64
- #endif
- #ifdef __UINT64_TYPE__
- # undef UINT64_WIDTH
- # define UINT64_WIDTH 64
- #endif
- #undef INT_LEAST8_WIDTH
- #define INT_LEAST8_WIDTH __INT_LEAST8_WIDTH__
- #undef UINT_LEAST8_WIDTH
- #define UINT_LEAST8_WIDTH __INT_LEAST8_WIDTH__
- #undef INT_LEAST16_WIDTH
- #define INT_LEAST16_WIDTH __INT_LEAST16_WIDTH__
- #undef UINT_LEAST16_WIDTH
- #define UINT_LEAST16_WIDTH __INT_LEAST16_WIDTH__
- #undef INT_LEAST32_WIDTH
- #define INT_LEAST32_WIDTH __INT_LEAST32_WIDTH__
- #undef UINT_LEAST32_WIDTH
- #define UINT_LEAST32_WIDTH __INT_LEAST32_WIDTH__
- #undef INT_LEAST64_WIDTH
- #define INT_LEAST64_WIDTH __INT_LEAST64_WIDTH__
- #undef UINT_LEAST64_WIDTH
- #define UINT_LEAST64_WIDTH __INT_LEAST64_WIDTH__
- #undef INT_FAST8_WIDTH
- #define INT_FAST8_WIDTH __INT_FAST8_WIDTH__
- #undef UINT_FAST8_WIDTH
- #define UINT_FAST8_WIDTH __INT_FAST8_WIDTH__
- #undef INT_FAST16_WIDTH
- #define INT_FAST16_WIDTH __INT_FAST16_WIDTH__
- #undef UINT_FAST16_WIDTH
- #define UINT_FAST16_WIDTH __INT_FAST16_WIDTH__
- #undef INT_FAST32_WIDTH
- #define INT_FAST32_WIDTH __INT_FAST32_WIDTH__
- #undef UINT_FAST32_WIDTH
- #define UINT_FAST32_WIDTH __INT_FAST32_WIDTH__
- #undef INT_FAST64_WIDTH
- #define INT_FAST64_WIDTH __INT_FAST64_WIDTH__
- #undef UINT_FAST64_WIDTH
- #define UINT_FAST64_WIDTH __INT_FAST64_WIDTH__
- #ifdef __INTPTR_TYPE__
- # undef INTPTR_WIDTH
- # define INTPTR_WIDTH __INTPTR_WIDTH__
- #endif
- #ifdef __UINTPTR_TYPE__
- # undef UINTPTR_WIDTH
- # define UINTPTR_WIDTH __INTPTR_WIDTH__
- #endif
- #undef INTMAX_WIDTH
- #define INTMAX_WIDTH __INTMAX_WIDTH__
- #undef UINTMAX_WIDTH
- #define UINTMAX_WIDTH __INTMAX_WIDTH__
- #undef PTRDIFF_WIDTH
- #define PTRDIFF_WIDTH __PTRDIFF_WIDTH__
- #undef SIG_ATOMIC_WIDTH
- #define SIG_ATOMIC_WIDTH __SIG_ATOMIC_WIDTH__
- #undef SIZE_WIDTH
- #define SIZE_WIDTH __SIZE_WIDTH__
- #undef WCHAR_WIDTH
- #define WCHAR_WIDTH __WCHAR_WIDTH__
- #undef WINT_WIDTH
- #define WINT_WIDTH __WINT_WIDTH__
- #endif
- #endif /* _GCC_STDINT_H */
|