1// -*- C++ -*- 2//===---------------------------- stdint.h --------------------------------===// 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 21Macros: 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#include_next <stdint.h> 124 125#endif // _LIBCPP_STDINT_H 126