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