1 // -*- C++ -*- 2 //===----------------------------------------------------------------------===// 3 // 4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5 // See https://llvm.org/LICENSE.txt for license information. 6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef _LIBCPP_STDINT_H 11 // AIX system headers need stdint.h to be re-enterable while _STD_TYPES_T 12 // is defined until an inclusion of it without _STD_TYPES_T occurs, in which 13 // case the header guard macro is defined. 14 #if !defined(_AIX) || !defined(_STD_TYPES_T) 15 # define _LIBCPP_STDINT_H 16 #endif // _STD_TYPES_T 17 18 /* 19 stdint.h synopsis 20 21 Macros: 22 23 INT8_MIN 24 INT16_MIN 25 INT32_MIN 26 INT64_MIN 27 28 INT8_MAX 29 INT16_MAX 30 INT32_MAX 31 INT64_MAX 32 33 UINT8_MAX 34 UINT16_MAX 35 UINT32_MAX 36 UINT64_MAX 37 38 INT_LEAST8_MIN 39 INT_LEAST16_MIN 40 INT_LEAST32_MIN 41 INT_LEAST64_MIN 42 43 INT_LEAST8_MAX 44 INT_LEAST16_MAX 45 INT_LEAST32_MAX 46 INT_LEAST64_MAX 47 48 UINT_LEAST8_MAX 49 UINT_LEAST16_MAX 50 UINT_LEAST32_MAX 51 UINT_LEAST64_MAX 52 53 INT_FAST8_MIN 54 INT_FAST16_MIN 55 INT_FAST32_MIN 56 INT_FAST64_MIN 57 58 INT_FAST8_MAX 59 INT_FAST16_MAX 60 INT_FAST32_MAX 61 INT_FAST64_MAX 62 63 UINT_FAST8_MAX 64 UINT_FAST16_MAX 65 UINT_FAST32_MAX 66 UINT_FAST64_MAX 67 68 INTPTR_MIN 69 INTPTR_MAX 70 UINTPTR_MAX 71 72 INTMAX_MIN 73 INTMAX_MAX 74 75 UINTMAX_MAX 76 77 PTRDIFF_MIN 78 PTRDIFF_MAX 79 80 SIG_ATOMIC_MIN 81 SIG_ATOMIC_MAX 82 83 SIZE_MAX 84 85 WCHAR_MIN 86 WCHAR_MAX 87 88 WINT_MIN 89 WINT_MAX 90 91 INT8_C(value) 92 INT16_C(value) 93 INT32_C(value) 94 INT64_C(value) 95 96 UINT8_C(value) 97 UINT16_C(value) 98 UINT32_C(value) 99 UINT64_C(value) 100 101 INTMAX_C(value) 102 UINTMAX_C(value) 103 104 */ 105 106 #include <__config> 107 108 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 109 # pragma GCC system_header 110 #endif 111 112 /* C99 stdlib (e.g. glibc < 2.18) does not provide macros needed 113 for C++11 unless __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS 114 are defined 115 */ 116 #if defined(__cplusplus) && !defined(__STDC_LIMIT_MACROS) 117 # define __STDC_LIMIT_MACROS 118 #endif 119 #if defined(__cplusplus) && !defined(__STDC_CONSTANT_MACROS) 120 # define __STDC_CONSTANT_MACROS 121 #endif 122 123 #if __has_include_next(<stdint.h>) 124 # include_next <stdint.h> 125 #endif 126 127 #endif // _LIBCPP_STDINT_H 128