1*aed8d94eSDimitry Andric // -*- C++ -*- 2*aed8d94eSDimitry Andric //===---------------------------- stdint.h --------------------------------===// 3*aed8d94eSDimitry Andric // 4*aed8d94eSDimitry Andric // The LLVM Compiler Infrastructure 5*aed8d94eSDimitry Andric // 6*aed8d94eSDimitry Andric // This file is distributed under the University of Illinois Open Source 7*aed8d94eSDimitry Andric // License. See LICENSE.TXT for details. 8*aed8d94eSDimitry Andric // 9*aed8d94eSDimitry Andric //===----------------------------------------------------------------------===// 10*aed8d94eSDimitry Andric 11*aed8d94eSDimitry Andric #ifndef _LIBCPP_STDINT_H 12*aed8d94eSDimitry Andric #define _LIBCPP_STDINT_H 13*aed8d94eSDimitry Andric 14*aed8d94eSDimitry Andric /* 15*aed8d94eSDimitry Andric stdint.h synopsis 16*aed8d94eSDimitry Andric 17*aed8d94eSDimitry Andric Macros: 18*aed8d94eSDimitry Andric 19*aed8d94eSDimitry Andric INT8_MIN 20*aed8d94eSDimitry Andric INT16_MIN 21*aed8d94eSDimitry Andric INT32_MIN 22*aed8d94eSDimitry Andric INT64_MIN 23*aed8d94eSDimitry Andric 24*aed8d94eSDimitry Andric INT8_MAX 25*aed8d94eSDimitry Andric INT16_MAX 26*aed8d94eSDimitry Andric INT32_MAX 27*aed8d94eSDimitry Andric INT64_MAX 28*aed8d94eSDimitry Andric 29*aed8d94eSDimitry Andric UINT8_MAX 30*aed8d94eSDimitry Andric UINT16_MAX 31*aed8d94eSDimitry Andric UINT32_MAX 32*aed8d94eSDimitry Andric UINT64_MAX 33*aed8d94eSDimitry Andric 34*aed8d94eSDimitry Andric INT_LEAST8_MIN 35*aed8d94eSDimitry Andric INT_LEAST16_MIN 36*aed8d94eSDimitry Andric INT_LEAST32_MIN 37*aed8d94eSDimitry Andric INT_LEAST64_MIN 38*aed8d94eSDimitry Andric 39*aed8d94eSDimitry Andric INT_LEAST8_MAX 40*aed8d94eSDimitry Andric INT_LEAST16_MAX 41*aed8d94eSDimitry Andric INT_LEAST32_MAX 42*aed8d94eSDimitry Andric INT_LEAST64_MAX 43*aed8d94eSDimitry Andric 44*aed8d94eSDimitry Andric UINT_LEAST8_MAX 45*aed8d94eSDimitry Andric UINT_LEAST16_MAX 46*aed8d94eSDimitry Andric UINT_LEAST32_MAX 47*aed8d94eSDimitry Andric UINT_LEAST64_MAX 48*aed8d94eSDimitry Andric 49*aed8d94eSDimitry Andric INT_FAST8_MIN 50*aed8d94eSDimitry Andric INT_FAST16_MIN 51*aed8d94eSDimitry Andric INT_FAST32_MIN 52*aed8d94eSDimitry Andric INT_FAST64_MIN 53*aed8d94eSDimitry Andric 54*aed8d94eSDimitry Andric INT_FAST8_MAX 55*aed8d94eSDimitry Andric INT_FAST16_MAX 56*aed8d94eSDimitry Andric INT_FAST32_MAX 57*aed8d94eSDimitry Andric INT_FAST64_MAX 58*aed8d94eSDimitry Andric 59*aed8d94eSDimitry Andric UINT_FAST8_MAX 60*aed8d94eSDimitry Andric UINT_FAST16_MAX 61*aed8d94eSDimitry Andric UINT_FAST32_MAX 62*aed8d94eSDimitry Andric UINT_FAST64_MAX 63*aed8d94eSDimitry Andric 64*aed8d94eSDimitry Andric INTPTR_MIN 65*aed8d94eSDimitry Andric INTPTR_MAX 66*aed8d94eSDimitry Andric UINTPTR_MAX 67*aed8d94eSDimitry Andric 68*aed8d94eSDimitry Andric INTMAX_MIN 69*aed8d94eSDimitry Andric INTMAX_MAX 70*aed8d94eSDimitry Andric 71*aed8d94eSDimitry Andric UINTMAX_MAX 72*aed8d94eSDimitry Andric 73*aed8d94eSDimitry Andric PTRDIFF_MIN 74*aed8d94eSDimitry Andric PTRDIFF_MAX 75*aed8d94eSDimitry Andric 76*aed8d94eSDimitry Andric SIG_ATOMIC_MIN 77*aed8d94eSDimitry Andric SIG_ATOMIC_MAX 78*aed8d94eSDimitry Andric 79*aed8d94eSDimitry Andric SIZE_MAX 80*aed8d94eSDimitry Andric 81*aed8d94eSDimitry Andric WCHAR_MIN 82*aed8d94eSDimitry Andric WCHAR_MAX 83*aed8d94eSDimitry Andric 84*aed8d94eSDimitry Andric WINT_MIN 85*aed8d94eSDimitry Andric WINT_MAX 86*aed8d94eSDimitry Andric 87*aed8d94eSDimitry Andric INT8_C(value) 88*aed8d94eSDimitry Andric INT16_C(value) 89*aed8d94eSDimitry Andric INT32_C(value) 90*aed8d94eSDimitry Andric INT64_C(value) 91*aed8d94eSDimitry Andric 92*aed8d94eSDimitry Andric UINT8_C(value) 93*aed8d94eSDimitry Andric UINT16_C(value) 94*aed8d94eSDimitry Andric UINT32_C(value) 95*aed8d94eSDimitry Andric UINT64_C(value) 96*aed8d94eSDimitry Andric 97*aed8d94eSDimitry Andric INTMAX_C(value) 98*aed8d94eSDimitry Andric UINTMAX_C(value) 99*aed8d94eSDimitry Andric 100*aed8d94eSDimitry Andric */ 101*aed8d94eSDimitry Andric 102*aed8d94eSDimitry Andric #include <__config> 103*aed8d94eSDimitry Andric 104*aed8d94eSDimitry Andric #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 105*aed8d94eSDimitry Andric #pragma GCC system_header 106*aed8d94eSDimitry Andric #endif 107*aed8d94eSDimitry Andric 108*aed8d94eSDimitry Andric /* C99 stdlib (e.g. glibc < 2.18) does not provide macros needed 109*aed8d94eSDimitry Andric for C++11 unless __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS 110*aed8d94eSDimitry Andric are defined 111*aed8d94eSDimitry Andric */ 112*aed8d94eSDimitry Andric #if defined(__cplusplus) && !defined(__STDC_LIMIT_MACROS) 113*aed8d94eSDimitry Andric # define __STDC_LIMIT_MACROS 114*aed8d94eSDimitry Andric #endif 115*aed8d94eSDimitry Andric #if defined(__cplusplus) && !defined(__STDC_CONSTANT_MACROS) 116*aed8d94eSDimitry Andric # define __STDC_CONSTANT_MACROS 117*aed8d94eSDimitry Andric #endif 118*aed8d94eSDimitry Andric 119*aed8d94eSDimitry Andric #include_next <stdint.h> 120*aed8d94eSDimitry Andric 121*aed8d94eSDimitry Andric #endif // _LIBCPP_STDINT_H 122