blob: bcc8a11343e43d2d367b212f1df76fc4e0fb4e1f [file] [log] [blame]
Xing Xueab4bcd82019-06-20 15:36:32 +00001//===----------------------------------------------------------------------===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8
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.
13//
14// REQUIRES: aix
15// RUN: %compile -c
16// RUN: %compile -c -D_XOPEN_SOURCE=700
17
18// test <stdint.h>
19//
20// Test that limits macros are available when <stdint.h> is included with
21// or without macro _XOPEN_SOURCE=700.
22
23#include <sys/types.h>
24#include <stdint.h>
25
26#ifndef INT8_MIN
27#error INT8_MIN not defined
28#endif
29
30#ifndef INT16_MIN
31#error INT16_MIN not defined
32#endif
33
34#ifndef INT32_MIN
35#error INT32_MIN not defined
36#endif
37
38#ifndef INT64_MIN
39#error INT64_MIN not defined
40#endif
41
42#ifndef INT8_MAX
43#error INT8_MAX not defined
44#endif
45
46#ifndef INT16_MAX
47#error INT16_MAX not defined
48#endif
49
50#ifndef INT32_MAX
51#error INT32_MAX not defined
52#endif
53
54#ifndef INT64_MAX
55#error INT64_MAX not defined
56#endif
57
58#ifndef UINT8_MAX
59#error UINT8_MAX not defined
60#endif
61
62#ifndef UINT16_MAX
63#error UINT16_MAX not defined
64#endif
65
66#ifndef UINT32_MAX
67#error UINT32_MAX not defined
68#endif
69
70#ifndef UINT64_MAX
71#error UINT64_MAX not defined
72#endif
73
74#ifndef INT_LEAST8_MIN
75#error INT_LEAST8_MIN not defined
76#endif
77
78#ifndef INT_LEAST16_MIN
79#error INT_LEAST16_MIN not defined
80#endif
81
82#ifndef INT_LEAST32_MIN
83#error INT_LEAST32_MIN not defined
84#endif
85
86#ifndef INT_LEAST64_MIN
87#error INT_LEAST64_MIN not defined
88#endif
89
90#ifndef INT_LEAST8_MAX
91#error INT_LEAST8_MAX not defined
92#endif
93
94#ifndef INT_LEAST16_MAX
95#error INT_LEAST16_MAX not defined
96#endif
97
98#ifndef INT_LEAST32_MAX
99#error INT_LEAST32_MAX not defined
100#endif
101
102#ifndef INT_LEAST64_MAX
103#error INT_LEAST64_MAX not defined
104#endif
105
106#ifndef UINT_LEAST8_MAX
107#error UINT_LEAST8_MAX not defined
108#endif
109
110#ifndef UINT_LEAST16_MAX
111#error UINT_LEAST16_MAX not defined
112#endif
113
114#ifndef UINT_LEAST32_MAX
115#error UINT_LEAST32_MAX not defined
116#endif
117
118#ifndef UINT_LEAST64_MAX
119#error UINT_LEAST64_MAX not defined
120#endif
121
122#ifndef INT_FAST8_MIN
123#error INT_FAST8_MIN not defined
124#endif
125
126#ifndef INT_FAST16_MIN
127#error INT_FAST16_MIN not defined
128#endif
129
130#ifndef INT_FAST32_MIN
131#error INT_FAST32_MIN not defined
132#endif
133
134#ifndef INT_FAST64_MIN
135#error INT_FAST64_MIN not defined
136#endif
137
138#ifndef INT_FAST8_MAX
139#error INT_FAST8_MAX not defined
140#endif
141
142#ifndef INT_FAST16_MAX
143#error INT_FAST16_MAX not defined
144#endif
145
146#ifndef INT_FAST32_MAX
147#error INT_FAST32_MAX not defined
148#endif
149
150#ifndef INT_FAST64_MAX
151#error INT_FAST64_MAX not defined
152#endif
153
154#ifndef UINT_FAST8_MAX
155#error UINT_FAST8_MAX not defined
156#endif
157
158#ifndef UINT_FAST16_MAX
159#error UINT_FAST16_MAX not defined
160#endif
161
162#ifndef UINT_FAST32_MAX
163#error UINT_FAST32_MAX not defined
164#endif
165
166#ifndef UINT_FAST64_MAX
167#error UINT_FAST64_MAX not defined
168#endif
169
170#ifndef INTPTR_MIN
171#error INTPTR_MIN not defined
172#endif
173
174#ifndef INTPTR_MAX
175#error INTPTR_MAX not defined
176#endif
177
178#ifndef UINTPTR_MAX
179#error UINTPTR_MAX not defined
180#endif
181
182#ifndef INTMAX_MIN
183#error INTMAX_MIN not defined
184#endif
185
186#ifndef INTMAX_MAX
187#error INTMAX_MAX not defined
188#endif
189
190#ifndef UINTMAX_MAX
191#error UINTMAX_MAX not defined
192#endif
193
194#ifndef PTRDIFF_MIN
195#error PTRDIFF_MIN not defined
196#endif
197
198#ifndef PTRDIFF_MAX
199#error PTRDIFF_MAX not defined
200#endif
201
202#ifndef SIG_ATOMIC_MIN
203#error SIG_ATOMIC_MIN not defined
204#endif
205
206#ifndef SIG_ATOMIC_MAX
207#error SIG_ATOMIC_MAX not defined
208#endif
209
210#ifndef SIZE_MAX
211#error SIZE_MAX not defined
212#endif
213
214#ifndef WCHAR_MIN
215#error WCHAR_MIN not defined
216#endif
217
218#ifndef WCHAR_MAX
219#error WCHAR_MAX not defined
220#endif
221
222#ifndef WINT_MIN
223#error WINT_MIN not defined
224#endif
225
226#ifndef WINT_MAX
227#error WINT_MAX not defined
228#endif
229
230#ifndef INT8_C
231#error INT8_C not defined
232#endif
233
234#ifndef INT16_C
235#error INT16_C not defined
236#endif
237
238#ifndef INT32_C
239#error INT32_C not defined
240#endif
241
242#ifndef INT64_C
243#error INT64_C not defined
244#endif
245
246#ifndef UINT8_C
247#error UINT8_C not defined
248#endif
249
250#ifndef UINT16_C
251#error UINT16_C not defined
252#endif
253
254#ifndef UINT32_C
255#error UINT32_C not defined
256#endif
257
258#ifndef UINT64_C
259#error UINT64_C not defined
260#endif
261
262#ifndef INTMAX_C
263#error INTMAX_C not defined
264#endif
265
266#ifndef UINTMAX_C
267#error UINTMAX_C not defined
268#endif