10b57cec5SDimitry Andric// -*- C++ -*- 2349cc55cSDimitry Andric//===----------------------------------------------------------------------===// 30b57cec5SDimitry Andric// 40b57cec5SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 50b57cec5SDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 60b57cec5SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 70b57cec5SDimitry Andric// 80b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 90b57cec5SDimitry Andric 100b57cec5SDimitry Andric#ifndef _LIBCPP_CSTDINT 110b57cec5SDimitry Andric#define _LIBCPP_CSTDINT 120b57cec5SDimitry Andric 130b57cec5SDimitry Andric/* 140b57cec5SDimitry Andric cstdint synopsis 150b57cec5SDimitry Andric 160b57cec5SDimitry AndricMacros: 170b57cec5SDimitry Andric 180b57cec5SDimitry Andric INT8_MIN 190b57cec5SDimitry Andric INT16_MIN 200b57cec5SDimitry Andric INT32_MIN 210b57cec5SDimitry Andric INT64_MIN 220b57cec5SDimitry Andric 230b57cec5SDimitry Andric INT8_MAX 240b57cec5SDimitry Andric INT16_MAX 250b57cec5SDimitry Andric INT32_MAX 260b57cec5SDimitry Andric INT64_MAX 270b57cec5SDimitry Andric 280b57cec5SDimitry Andric UINT8_MAX 290b57cec5SDimitry Andric UINT16_MAX 300b57cec5SDimitry Andric UINT32_MAX 310b57cec5SDimitry Andric UINT64_MAX 320b57cec5SDimitry Andric 330b57cec5SDimitry Andric INT_LEAST8_MIN 340b57cec5SDimitry Andric INT_LEAST16_MIN 350b57cec5SDimitry Andric INT_LEAST32_MIN 360b57cec5SDimitry Andric INT_LEAST64_MIN 370b57cec5SDimitry Andric 380b57cec5SDimitry Andric INT_LEAST8_MAX 390b57cec5SDimitry Andric INT_LEAST16_MAX 400b57cec5SDimitry Andric INT_LEAST32_MAX 410b57cec5SDimitry Andric INT_LEAST64_MAX 420b57cec5SDimitry Andric 430b57cec5SDimitry Andric UINT_LEAST8_MAX 440b57cec5SDimitry Andric UINT_LEAST16_MAX 450b57cec5SDimitry Andric UINT_LEAST32_MAX 460b57cec5SDimitry Andric UINT_LEAST64_MAX 470b57cec5SDimitry Andric 480b57cec5SDimitry Andric INT_FAST8_MIN 490b57cec5SDimitry Andric INT_FAST16_MIN 500b57cec5SDimitry Andric INT_FAST32_MIN 510b57cec5SDimitry Andric INT_FAST64_MIN 520b57cec5SDimitry Andric 530b57cec5SDimitry Andric INT_FAST8_MAX 540b57cec5SDimitry Andric INT_FAST16_MAX 550b57cec5SDimitry Andric INT_FAST32_MAX 560b57cec5SDimitry Andric INT_FAST64_MAX 570b57cec5SDimitry Andric 580b57cec5SDimitry Andric UINT_FAST8_MAX 590b57cec5SDimitry Andric UINT_FAST16_MAX 600b57cec5SDimitry Andric UINT_FAST32_MAX 610b57cec5SDimitry Andric UINT_FAST64_MAX 620b57cec5SDimitry Andric 630b57cec5SDimitry Andric INTPTR_MIN 640b57cec5SDimitry Andric INTPTR_MAX 650b57cec5SDimitry Andric UINTPTR_MAX 660b57cec5SDimitry Andric 670b57cec5SDimitry Andric INTMAX_MIN 680b57cec5SDimitry Andric INTMAX_MAX 690b57cec5SDimitry Andric 700b57cec5SDimitry Andric UINTMAX_MAX 710b57cec5SDimitry Andric 720b57cec5SDimitry Andric PTRDIFF_MIN 730b57cec5SDimitry Andric PTRDIFF_MAX 740b57cec5SDimitry Andric 750b57cec5SDimitry Andric SIG_ATOMIC_MIN 760b57cec5SDimitry Andric SIG_ATOMIC_MAX 770b57cec5SDimitry Andric 780b57cec5SDimitry Andric SIZE_MAX 790b57cec5SDimitry Andric 800b57cec5SDimitry Andric WCHAR_MIN 810b57cec5SDimitry Andric WCHAR_MAX 820b57cec5SDimitry Andric 830b57cec5SDimitry Andric WINT_MIN 840b57cec5SDimitry Andric WINT_MAX 850b57cec5SDimitry Andric 860b57cec5SDimitry Andric INT8_C(value) 870b57cec5SDimitry Andric INT16_C(value) 880b57cec5SDimitry Andric INT32_C(value) 890b57cec5SDimitry Andric INT64_C(value) 900b57cec5SDimitry Andric 910b57cec5SDimitry Andric UINT8_C(value) 920b57cec5SDimitry Andric UINT16_C(value) 930b57cec5SDimitry Andric UINT32_C(value) 940b57cec5SDimitry Andric UINT64_C(value) 950b57cec5SDimitry Andric 960b57cec5SDimitry Andric INTMAX_C(value) 970b57cec5SDimitry Andric UINTMAX_C(value) 980b57cec5SDimitry Andric 990b57cec5SDimitry Andricnamespace std 1000b57cec5SDimitry Andric{ 1010b57cec5SDimitry Andric 1020b57cec5SDimitry AndricTypes: 1030b57cec5SDimitry Andric 1040b57cec5SDimitry Andric int8_t 1050b57cec5SDimitry Andric int16_t 1060b57cec5SDimitry Andric int32_t 1070b57cec5SDimitry Andric int64_t 1080b57cec5SDimitry Andric 1090b57cec5SDimitry Andric uint8_t 1100b57cec5SDimitry Andric uint16_t 1110b57cec5SDimitry Andric uint32_t 1120b57cec5SDimitry Andric uint64_t 1130b57cec5SDimitry Andric 1140b57cec5SDimitry Andric int_least8_t 1150b57cec5SDimitry Andric int_least16_t 1160b57cec5SDimitry Andric int_least32_t 1170b57cec5SDimitry Andric int_least64_t 1180b57cec5SDimitry Andric 1190b57cec5SDimitry Andric uint_least8_t 1200b57cec5SDimitry Andric uint_least16_t 1210b57cec5SDimitry Andric uint_least32_t 1220b57cec5SDimitry Andric uint_least64_t 1230b57cec5SDimitry Andric 1240b57cec5SDimitry Andric int_fast8_t 1250b57cec5SDimitry Andric int_fast16_t 1260b57cec5SDimitry Andric int_fast32_t 1270b57cec5SDimitry Andric int_fast64_t 1280b57cec5SDimitry Andric 1290b57cec5SDimitry Andric uint_fast8_t 1300b57cec5SDimitry Andric uint_fast16_t 1310b57cec5SDimitry Andric uint_fast32_t 1320b57cec5SDimitry Andric uint_fast64_t 1330b57cec5SDimitry Andric 1340b57cec5SDimitry Andric intptr_t 1350b57cec5SDimitry Andric uintptr_t 1360b57cec5SDimitry Andric 1370b57cec5SDimitry Andric intmax_t 1380b57cec5SDimitry Andric uintmax_t 1390b57cec5SDimitry Andric 1400b57cec5SDimitry Andric} // std 1410b57cec5SDimitry Andric*/ 1420b57cec5SDimitry Andric 1430b57cec5SDimitry Andric#include <__config> 144*bdd1243dSDimitry Andric 1450b57cec5SDimitry Andric#include <stdint.h> 1460b57cec5SDimitry Andric 147*bdd1243dSDimitry Andric#ifndef _LIBCPP_STDINT_H 148*bdd1243dSDimitry Andric# error <cstdint> tried including <stdint.h> but didn't find libc++'s <stdint.h> header. \ 149*bdd1243dSDimitry Andric This usually means that your header search paths are not configured properly. \ 150*bdd1243dSDimitry Andric The header search paths should contain the C++ Standard Library headers before \ 151*bdd1243dSDimitry Andric any C Standard Library, and you are probably using compiler flags that make that \ 152*bdd1243dSDimitry Andric not be the case. 153*bdd1243dSDimitry Andric#endif 154*bdd1243dSDimitry Andric 1550b57cec5SDimitry Andric#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 1560b57cec5SDimitry Andric# pragma GCC system_header 1570b57cec5SDimitry Andric#endif 1580b57cec5SDimitry Andric 1590b57cec5SDimitry Andric_LIBCPP_BEGIN_NAMESPACE_STD 1600b57cec5SDimitry Andric 161fe6060f1SDimitry Andricusing ::int8_t _LIBCPP_USING_IF_EXISTS; 162fe6060f1SDimitry Andricusing ::int16_t _LIBCPP_USING_IF_EXISTS; 163fe6060f1SDimitry Andricusing ::int32_t _LIBCPP_USING_IF_EXISTS; 164fe6060f1SDimitry Andricusing ::int64_t _LIBCPP_USING_IF_EXISTS; 1650b57cec5SDimitry Andric 166fe6060f1SDimitry Andricusing ::uint8_t _LIBCPP_USING_IF_EXISTS; 167fe6060f1SDimitry Andricusing ::uint16_t _LIBCPP_USING_IF_EXISTS; 168fe6060f1SDimitry Andricusing ::uint32_t _LIBCPP_USING_IF_EXISTS; 169fe6060f1SDimitry Andricusing ::uint64_t _LIBCPP_USING_IF_EXISTS; 1700b57cec5SDimitry Andric 171fe6060f1SDimitry Andricusing ::int_least8_t _LIBCPP_USING_IF_EXISTS; 172fe6060f1SDimitry Andricusing ::int_least16_t _LIBCPP_USING_IF_EXISTS; 173fe6060f1SDimitry Andricusing ::int_least32_t _LIBCPP_USING_IF_EXISTS; 174fe6060f1SDimitry Andricusing ::int_least64_t _LIBCPP_USING_IF_EXISTS; 1750b57cec5SDimitry Andric 176fe6060f1SDimitry Andricusing ::uint_least8_t _LIBCPP_USING_IF_EXISTS; 177fe6060f1SDimitry Andricusing ::uint_least16_t _LIBCPP_USING_IF_EXISTS; 178fe6060f1SDimitry Andricusing ::uint_least32_t _LIBCPP_USING_IF_EXISTS; 179fe6060f1SDimitry Andricusing ::uint_least64_t _LIBCPP_USING_IF_EXISTS; 1800b57cec5SDimitry Andric 181fe6060f1SDimitry Andricusing ::int_fast8_t _LIBCPP_USING_IF_EXISTS; 182fe6060f1SDimitry Andricusing ::int_fast16_t _LIBCPP_USING_IF_EXISTS; 183fe6060f1SDimitry Andricusing ::int_fast32_t _LIBCPP_USING_IF_EXISTS; 184fe6060f1SDimitry Andricusing ::int_fast64_t _LIBCPP_USING_IF_EXISTS; 1850b57cec5SDimitry Andric 186fe6060f1SDimitry Andricusing ::uint_fast8_t _LIBCPP_USING_IF_EXISTS; 187fe6060f1SDimitry Andricusing ::uint_fast16_t _LIBCPP_USING_IF_EXISTS; 188fe6060f1SDimitry Andricusing ::uint_fast32_t _LIBCPP_USING_IF_EXISTS; 189fe6060f1SDimitry Andricusing ::uint_fast64_t _LIBCPP_USING_IF_EXISTS; 1900b57cec5SDimitry Andric 191fe6060f1SDimitry Andricusing ::intptr_t _LIBCPP_USING_IF_EXISTS; 192fe6060f1SDimitry Andricusing ::uintptr_t _LIBCPP_USING_IF_EXISTS; 1930b57cec5SDimitry Andric 194fe6060f1SDimitry Andricusing ::intmax_t _LIBCPP_USING_IF_EXISTS; 195fe6060f1SDimitry Andricusing ::uintmax_t _LIBCPP_USING_IF_EXISTS; 1960b57cec5SDimitry Andric 1970b57cec5SDimitry Andric_LIBCPP_END_NAMESPACE_STD 1980b57cec5SDimitry Andric 1990b57cec5SDimitry Andric#endif // _LIBCPP_CSTDINT 200