1 //===----------------------------------------------------------------------===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // AIX system headers need stdint.h to be re-enterable when macro _STD_TYPES_T
10 // is defined. This test case tests that after including sys/types.h which
11 // defines macro _STD_TYPES_T, includes stdint.h, and then undefines
12 // _STD_TYPES_T, stdint.h can be entered to get to macros like UINT32_MAX.
16 // RUN: %compile -c -D_XOPEN_SOURCE=700
20 // Test that limits macros are available when <stdint.h> is included with
21 // or without macro _XOPEN_SOURCE=700.
23 #include <sys/types.h>
27 #error INT8_MIN not defined
31 #error INT16_MIN not defined
35 #error INT32_MIN not defined
39 #error INT64_MIN not defined
43 #error INT8_MAX not defined
47 #error INT16_MAX not defined
51 #error INT32_MAX not defined
55 #error INT64_MAX not defined
59 #error UINT8_MAX not defined
63 #error UINT16_MAX not defined
67 #error UINT32_MAX not defined
71 #error UINT64_MAX not defined
74 #ifndef INT_LEAST8_MIN
75 #error INT_LEAST8_MIN not defined
78 #ifndef INT_LEAST16_MIN
79 #error INT_LEAST16_MIN not defined
82 #ifndef INT_LEAST32_MIN
83 #error INT_LEAST32_MIN not defined
86 #ifndef INT_LEAST64_MIN
87 #error INT_LEAST64_MIN not defined
90 #ifndef INT_LEAST8_MAX
91 #error INT_LEAST8_MAX not defined
94 #ifndef INT_LEAST16_MAX
95 #error INT_LEAST16_MAX not defined
98 #ifndef INT_LEAST32_MAX
99 #error INT_LEAST32_MAX not defined
102 #ifndef INT_LEAST64_MAX
103 #error INT_LEAST64_MAX not defined
106 #ifndef UINT_LEAST8_MAX
107 #error UINT_LEAST8_MAX not defined
110 #ifndef UINT_LEAST16_MAX
111 #error UINT_LEAST16_MAX not defined
114 #ifndef UINT_LEAST32_MAX
115 #error UINT_LEAST32_MAX not defined
118 #ifndef UINT_LEAST64_MAX
119 #error UINT_LEAST64_MAX not defined
122 #ifndef INT_FAST8_MIN
123 #error INT_FAST8_MIN not defined
126 #ifndef INT_FAST16_MIN
127 #error INT_FAST16_MIN not defined
130 #ifndef INT_FAST32_MIN
131 #error INT_FAST32_MIN not defined
134 #ifndef INT_FAST64_MIN
135 #error INT_FAST64_MIN not defined
138 #ifndef INT_FAST8_MAX
139 #error INT_FAST8_MAX not defined
142 #ifndef INT_FAST16_MAX
143 #error INT_FAST16_MAX not defined
146 #ifndef INT_FAST32_MAX
147 #error INT_FAST32_MAX not defined
150 #ifndef INT_FAST64_MAX
151 #error INT_FAST64_MAX not defined
154 #ifndef UINT_FAST8_MAX
155 #error UINT_FAST8_MAX not defined
158 #ifndef UINT_FAST16_MAX
159 #error UINT_FAST16_MAX not defined
162 #ifndef UINT_FAST32_MAX
163 #error UINT_FAST32_MAX not defined
166 #ifndef UINT_FAST64_MAX
167 #error UINT_FAST64_MAX not defined
171 #error INTPTR_MIN not defined
175 #error INTPTR_MAX not defined
179 #error UINTPTR_MAX not defined
183 #error INTMAX_MIN not defined
187 #error INTMAX_MAX not defined
191 #error UINTMAX_MAX not defined
195 #error PTRDIFF_MIN not defined
199 #error PTRDIFF_MAX not defined
202 #ifndef SIG_ATOMIC_MIN
203 #error SIG_ATOMIC_MIN not defined
206 #ifndef SIG_ATOMIC_MAX
207 #error SIG_ATOMIC_MAX not defined
211 #error SIZE_MAX not defined
215 #error WCHAR_MIN not defined
219 #error WCHAR_MAX not defined
223 #error WINT_MIN not defined
227 #error WINT_MAX not defined
231 #error INT8_C not defined
235 #error INT16_C not defined
239 #error INT32_C not defined
243 #error INT64_C not defined
247 #error UINT8_C not defined
251 #error UINT16_C not defined
255 #error UINT32_C not defined
259 #error UINT64_C not defined
263 #error INTMAX_C not defined
267 #error UINTMAX_C not defined