128 lines · c
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-exception7//8//===----------------------------------------------------------------------===//9 10#ifndef _LIBCPP___CXX03_STDINT_H11// AIX system headers need stdint.h to be re-enterable while _STD_TYPES_T12// is defined until an inclusion of it without _STD_TYPES_T occurs, in which13// case the header guard macro is defined.14#if !defined(_AIX) || !defined(_STD_TYPES_T)15# define _LIBCPP___CXX03_STDINT_H16#endif // _STD_TYPES_T17 18/*19 stdint.h synopsis20 21Macros:22 23 INT8_MIN24 INT16_MIN25 INT32_MIN26 INT64_MIN27 28 INT8_MAX29 INT16_MAX30 INT32_MAX31 INT64_MAX32 33 UINT8_MAX34 UINT16_MAX35 UINT32_MAX36 UINT64_MAX37 38 INT_LEAST8_MIN39 INT_LEAST16_MIN40 INT_LEAST32_MIN41 INT_LEAST64_MIN42 43 INT_LEAST8_MAX44 INT_LEAST16_MAX45 INT_LEAST32_MAX46 INT_LEAST64_MAX47 48 UINT_LEAST8_MAX49 UINT_LEAST16_MAX50 UINT_LEAST32_MAX51 UINT_LEAST64_MAX52 53 INT_FAST8_MIN54 INT_FAST16_MIN55 INT_FAST32_MIN56 INT_FAST64_MIN57 58 INT_FAST8_MAX59 INT_FAST16_MAX60 INT_FAST32_MAX61 INT_FAST64_MAX62 63 UINT_FAST8_MAX64 UINT_FAST16_MAX65 UINT_FAST32_MAX66 UINT_FAST64_MAX67 68 INTPTR_MIN69 INTPTR_MAX70 UINTPTR_MAX71 72 INTMAX_MIN73 INTMAX_MAX74 75 UINTMAX_MAX76 77 PTRDIFF_MIN78 PTRDIFF_MAX79 80 SIG_ATOMIC_MIN81 SIG_ATOMIC_MAX82 83 SIZE_MAX84 85 WCHAR_MIN86 WCHAR_MAX87 88 WINT_MIN89 WINT_MAX90 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 <__cxx03/__config>107 108#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)109# pragma GCC system_header110#endif111 112/* C99 stdlib (e.g. glibc < 2.18) does not provide macros needed113 for C++11 unless __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS114 are defined115*/116#if defined(__cplusplus) && !defined(__STDC_LIMIT_MACROS)117# define __STDC_LIMIT_MACROS118#endif119#if defined(__cplusplus) && !defined(__STDC_CONSTANT_MACROS)120# define __STDC_CONSTANT_MACROS121#endif122 123#if __has_include_next(<stdint.h>)124# include_next <stdint.h>125#endif126 127#endif // _LIBCPP___CXX03_STDINT_H128