]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/libcxx/include/stdint.h
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / contrib / llvm-project / libcxx / include / stdint.h
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
21 Macros:
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