xref: /llvm-project/clang/test/Headers/stdint.c (revision 13629b140801870feff855ca168edf6b34dbef8d)
1bf7d9970SAaron Ballman // RUN: %clang_cc1 -ffreestanding -fsyntax-only -verify -std=c17 %s
2bf7d9970SAaron Ballman // RUN: %clang_cc1 -ffreestanding -fsyntax-only -verify -std=c2x %s
3bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=aarch64-none-none
4bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=arm-none-none
5bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=i386-none-none
6bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=mips-none-none
7bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=mips64-none-none
8bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=msp430-none-none
9bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=powerpc64-none-none
10bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=powerpc64-none-netbsd
11bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=powerpc-none-none
12bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=s390x-none-none
13bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=sparc-none-none
14bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=tce-none-none
15bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=x86_64-none-none
16bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=x86_64-pc-linux-gnu
17bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=i386-mingw32
18bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=xcore-none-none
19bf7d9970SAaron Ballman // expected-no-diagnostics
20bf7d9970SAaron Ballman 
21bf7d9970SAaron Ballman #include <stdint.h>
22bf7d9970SAaron Ballman 
23*13629b14SAaron Ballman #if __STDC_VERSION__ >= 202311L
24bf7d9970SAaron Ballman /* Validate the standard requirements. */
25bf7d9970SAaron Ballman _Static_assert(SIG_ATOMIC_WIDTH >= 8);
26bf7d9970SAaron Ballman _Static_assert(SIZE_WIDTH >= 16);
27bf7d9970SAaron Ballman _Static_assert(SIZE_WIDTH / __CHAR_BIT__ == sizeof(sizeof(0)));
28bf7d9970SAaron Ballman _Static_assert(WCHAR_WIDTH >= 8);
29bf7d9970SAaron Ballman _Static_assert(WCHAR_WIDTH / __CHAR_BIT__ == sizeof(L't'));
30bf7d9970SAaron Ballman _Static_assert(WINT_WIDTH >= 16);
31bf7d9970SAaron Ballman _Static_assert(UINTPTR_WIDTH >= 16);
32bf7d9970SAaron Ballman _Static_assert(UINTPTR_WIDTH / __CHAR_BIT__ == sizeof(uintptr_t));
33bf7d9970SAaron Ballman _Static_assert(INTPTR_WIDTH == UINTPTR_WIDTH);
34bf7d9970SAaron Ballman _Static_assert(INTPTR_WIDTH / __CHAR_BIT__ == sizeof(intptr_t));
35bf7d9970SAaron Ballman 
36bf7d9970SAaron Ballman /* FIXME: the TCE target is not a conforming C target because it defines these
37bf7d9970SAaron Ballman    values to be less than 64. */
38bf7d9970SAaron Ballman #if !defined(__TCE__)
39bf7d9970SAaron Ballman _Static_assert(UINTMAX_WIDTH >= 64);
40bf7d9970SAaron Ballman _Static_assert(UINTMAX_WIDTH / __CHAR_BIT__ == sizeof(uintmax_t));
41bf7d9970SAaron Ballman _Static_assert(INTMAX_WIDTH == UINTMAX_WIDTH);
42bf7d9970SAaron Ballman _Static_assert(INTMAX_WIDTH / __CHAR_BIT__ == sizeof(intmax_t));
43bf7d9970SAaron Ballman #endif
44bf7d9970SAaron Ballman 
45bf7d9970SAaron Ballman /* NB: WG14 N2412 set this to 17, but WG14 N2808 set it back to 16. */
46bf7d9970SAaron Ballman _Static_assert(PTRDIFF_WIDTH >= 16);
47bf7d9970SAaron Ballman #else
48bf7d9970SAaron Ballman /* None of these are defined. */
49bf7d9970SAaron Ballman int PTRDIFF_WIDTH, SIG_ATOMIC_WIDTH, SIZE_WIDTH, WCHAR_WIDTH, WINT_WIDTH,
50bf7d9970SAaron Ballman     INTPTR_WIDTH, UINTPTR_WIDTH, INTMAX_WIDTH, UINTMAX_WIDTH;
51bf7d9970SAaron Ballman #endif
52bf7d9970SAaron Ballman 
53*13629b14SAaron Ballman #if defined(INT8_MAX) && __STDC_VERSION__ >= 202311L
54bf7d9970SAaron Ballman _Static_assert(INT8_WIDTH == 8, "");
55bf7d9970SAaron Ballman _Static_assert(UINT8_WIDTH == INT8_WIDTH, "");
56bf7d9970SAaron Ballman _Static_assert(INT8_WIDTH / __CHAR_BIT__ == sizeof(int8_t), "");
57bf7d9970SAaron Ballman _Static_assert(UINT8_WIDTH / __CHAR_BIT__ == sizeof(uint8_t), "");
58bf7d9970SAaron Ballman #else
59bf7d9970SAaron Ballman int INT8_WIDTH, UINT8_WIDTH; /* None of these are defined. */
60bf7d9970SAaron Ballman #endif
61*13629b14SAaron Ballman #if defined(INT_LEAST8_MAX) && __STDC_VERSION__ >= 202311L
62bf7d9970SAaron Ballman _Static_assert(INT_LEAST8_WIDTH >= 8, "");
63bf7d9970SAaron Ballman _Static_assert(INT_LEAST8_WIDTH / __CHAR_BIT__ == sizeof(int_least8_t), "");
64bf7d9970SAaron Ballman _Static_assert(UINT_LEAST8_WIDTH == INT_LEAST8_WIDTH, "");
65bf7d9970SAaron Ballman _Static_assert(UINT_LEAST8_WIDTH / __CHAR_BIT__ == sizeof(uint_least8_t), "");
66bf7d9970SAaron Ballman #else
67bf7d9970SAaron Ballman int INT_LEAST8_WIDTH, UINT_LEAST8_WIDTH; /* None of these are defined. */
68bf7d9970SAaron Ballman #endif
69*13629b14SAaron Ballman #if defined(INT_FAST8_MAX) && __STDC_VERSION__ >= 202311L
70bf7d9970SAaron Ballman _Static_assert(INT_FAST8_WIDTH >= 8, "");
71bf7d9970SAaron Ballman _Static_assert(INT_FAST8_WIDTH / __CHAR_BIT__ == sizeof(int_fast8_t), "");
72bf7d9970SAaron Ballman _Static_assert(UINT_FAST8_WIDTH == INT_FAST8_WIDTH, "");
73bf7d9970SAaron Ballman _Static_assert(UINT_FAST8_WIDTH / __CHAR_BIT__ == sizeof(uint_fast8_t), "");
74bf7d9970SAaron Ballman #else
75bf7d9970SAaron Ballman int INT_FAST8_WIDTH, UINT_FAST8_WIDTH; /* None of these are defined. */
76bf7d9970SAaron Ballman #endif
77bf7d9970SAaron Ballman 
78*13629b14SAaron Ballman #if defined(INT16_MAX) && __STDC_VERSION__ >= 202311L
79bf7d9970SAaron Ballman _Static_assert(INT16_WIDTH == 16, "");
80bf7d9970SAaron Ballman _Static_assert(UINT16_WIDTH == INT16_WIDTH, "");
81bf7d9970SAaron Ballman _Static_assert(INT16_WIDTH / __CHAR_BIT__ == sizeof(int16_t), "");
82bf7d9970SAaron Ballman _Static_assert(UINT16_WIDTH / __CHAR_BIT__ == sizeof(uint16_t), "");
83bf7d9970SAaron Ballman #else
84bf7d9970SAaron Ballman int INT16_WIDTH, UINT16_WIDTH; /* None of these are defined. */
85bf7d9970SAaron Ballman #endif
86*13629b14SAaron Ballman #if defined(INT_LEAST16_MAX) && __STDC_VERSION__ >= 202311L
87bf7d9970SAaron Ballman _Static_assert(INT_LEAST16_WIDTH >= 16, "");
88bf7d9970SAaron Ballman _Static_assert(INT_LEAST16_WIDTH / __CHAR_BIT__ == sizeof(int_least16_t), "");
89bf7d9970SAaron Ballman _Static_assert(UINT_LEAST16_WIDTH == INT_LEAST16_WIDTH, "");
90bf7d9970SAaron Ballman _Static_assert(UINT_LEAST16_WIDTH / __CHAR_BIT__ == sizeof(uint_least16_t), "");
91bf7d9970SAaron Ballman #else
92bf7d9970SAaron Ballman int INT_LEAST16_WIDTH, UINT_LEAST16_WIDTH; /* None of these are defined. */
93bf7d9970SAaron Ballman #endif
94*13629b14SAaron Ballman #if defined(INT_FAST16_MAX) && __STDC_VERSION__ >= 202311L
95bf7d9970SAaron Ballman _Static_assert(INT_FAST16_WIDTH >= 16, "");
96bf7d9970SAaron Ballman _Static_assert(INT_FAST16_WIDTH / __CHAR_BIT__ == sizeof(int_fast16_t), "");
97bf7d9970SAaron Ballman _Static_assert(UINT_FAST16_WIDTH == INT_FAST16_WIDTH, "");
98bf7d9970SAaron Ballman _Static_assert(UINT_FAST16_WIDTH / __CHAR_BIT__ == sizeof(int_fast16_t), "");
99bf7d9970SAaron Ballman #else
100bf7d9970SAaron Ballman int INT_FAST16_WIDTH, UINT_FAST16_WIDTH; /* None of these are defined. */
101bf7d9970SAaron Ballman #endif
102bf7d9970SAaron Ballman 
103*13629b14SAaron Ballman #if defined(INT24_MAX) && __STDC_VERSION__ >= 202311L
104bf7d9970SAaron Ballman _Static_assert(INT24_WIDTH == 24, "");
105bf7d9970SAaron Ballman _Static_assert(UINT24_WIDTH == INT24_WIDTH, "");
106bf7d9970SAaron Ballman _Static_assert(INT24_WIDTH / __CHAR_BIT__ == sizeof(int24_t), "");
107bf7d9970SAaron Ballman _Static_assert(UINT24_WIDTH / __CHAR_BIT__ == sizeof(uint24_t), "");
108bf7d9970SAaron Ballman #else
109bf7d9970SAaron Ballman int INT24_WIDTH, UINT24_WIDTH; /* None of these are defined. */
110bf7d9970SAaron Ballman #endif
111*13629b14SAaron Ballman #if defined(INT_LEAST24_MAX) && __STDC_VERSION__ >= 202311L
112bf7d9970SAaron Ballman _Static_assert(INT_LEAST24_WIDTH >= 24, "");
113bf7d9970SAaron Ballman _Static_assert(INT_LEAST24_WIDTH / __CHAR_BIT__ == sizeof(int_least24_t), "");
114bf7d9970SAaron Ballman _Static_assert(UINT_LEAST24_WIDTH == INT_LEAST24_WIDTH, "");
115bf7d9970SAaron Ballman _Static_assert(UINT_LEAST24_WIDTH / __CHAR_BIT__ == sizeof(uint_least24_t), "");
116bf7d9970SAaron Ballman #else
117bf7d9970SAaron Ballman int INT_LEAST24_WIDTH, UINT_LEAST24_WIDTH; /* None of these are defined. */
118bf7d9970SAaron Ballman #endif
119*13629b14SAaron Ballman #if defined(INT_FAST24_MAX) && __STDC_VERSION__ >= 202311L
120bf7d9970SAaron Ballman _Static_assert(INT_FAST24_WIDTH >= 24, "");
121bf7d9970SAaron Ballman _Static_assert(INT_FAST24_WIDTH / __CHAR_BIT__ == sizeof(int_fast24_t), "");
122bf7d9970SAaron Ballman _Static_assert(UINT_FAST24_WIDTH == INT_FAST24_WIDTH, "");
123bf7d9970SAaron Ballman _Static_assert(UINT_FAST24_WIDTH / __CHAR_BIT__ == sizeof(uint_fast24_t), "");
124bf7d9970SAaron Ballman #else
125bf7d9970SAaron Ballman int INT_FAST24_WIDTH, UINT_FAST24_WIDTH; /* None of these are defined. */
126bf7d9970SAaron Ballman #endif
127bf7d9970SAaron Ballman 
128*13629b14SAaron Ballman #if defined(INT32_MAX) && __STDC_VERSION__ >= 202311L
129bf7d9970SAaron Ballman _Static_assert(INT32_WIDTH == 32, "");
130bf7d9970SAaron Ballman _Static_assert(UINT32_WIDTH == INT32_WIDTH, "");
131bf7d9970SAaron Ballman _Static_assert(INT32_WIDTH / __CHAR_BIT__ == sizeof(int32_t), "");
132bf7d9970SAaron Ballman _Static_assert(UINT32_WIDTH / __CHAR_BIT__ == sizeof(uint32_t), "");
133bf7d9970SAaron Ballman #else
134bf7d9970SAaron Ballman int INT32_WIDTH, UINT32_WIDTH; /* None of these are defined. */
135bf7d9970SAaron Ballman #endif
136*13629b14SAaron Ballman #if defined(INT_LEAST32_MAX) && __STDC_VERSION__ >= 202311L
137bf7d9970SAaron Ballman _Static_assert(INT_LEAST32_WIDTH >= 32, "");
138bf7d9970SAaron Ballman _Static_assert(INT_LEAST32_WIDTH / __CHAR_BIT__ == sizeof(int_least32_t), "");
139bf7d9970SAaron Ballman _Static_assert(UINT_LEAST32_WIDTH == INT_LEAST32_WIDTH, "");
140bf7d9970SAaron Ballman _Static_assert(UINT_LEAST32_WIDTH / __CHAR_BIT__ == sizeof(uint_least32_t), "");
141bf7d9970SAaron Ballman #else
142bf7d9970SAaron Ballman int INT_LEAST32_WIDTH, UINT_LEAST32_WIDTH; /* None of these are defined. */
143bf7d9970SAaron Ballman #endif
144*13629b14SAaron Ballman #if defined(INT_FAST32_MAX) && __STDC_VERSION__ >= 202311L
145bf7d9970SAaron Ballman _Static_assert(INT_FAST32_WIDTH >= 32, "");
146bf7d9970SAaron Ballman _Static_assert(INT_FAST32_WIDTH / __CHAR_BIT__ == sizeof(int_fast32_t), "");
147bf7d9970SAaron Ballman _Static_assert(UINT_FAST32_WIDTH == INT_FAST32_WIDTH, "");
148bf7d9970SAaron Ballman _Static_assert(UINT_FAST32_WIDTH / __CHAR_BIT__ == sizeof(uint_fast32_t), "");
149bf7d9970SAaron Ballman #else
150bf7d9970SAaron Ballman int INT_FAST32_WIDTH, UINT_FAST32_WIDTH; /* None of these are defined. */
151bf7d9970SAaron Ballman #endif
152bf7d9970SAaron Ballman 
153*13629b14SAaron Ballman #if defined(INT40_MAX) && __STDC_VERSION__ >= 202311L
154bf7d9970SAaron Ballman _Static_assert(INT40_WIDTH == 40, "");
155bf7d9970SAaron Ballman _Static_assert(UINT40_WIDTH == INT40_WIDTH, "");
156bf7d9970SAaron Ballman _Static_assert(INT40_WIDTH / __CHAR_BIT__ == sizeof(int40_t), "");
157bf7d9970SAaron Ballman _Static_assert(UINT40_WIDTH / __CHAR_BIT__ == sizeof(uint40_t), "");
158bf7d9970SAaron Ballman #else
159bf7d9970SAaron Ballman int INT40_WIDTH, UINT40_WIDTH; /* None of these are defined. */
160bf7d9970SAaron Ballman #endif
161*13629b14SAaron Ballman #if defined(INT_LEAST40_MAX) && __STDC_VERSION__ >= 202311L
162bf7d9970SAaron Ballman _Static_assert(INT_LEAST40_WIDTH >= 40, "");
163bf7d9970SAaron Ballman _Static_assert(INT_LEAST40_WIDTH / __CHAR_BIT__ == sizeof(int_least40_t), "");
164bf7d9970SAaron Ballman _Static_assert(UINT_LEAST40_WIDTH == INT_LEAST40_WIDTH, "");
165bf7d9970SAaron Ballman _Static_assert(UINT_LEAST40_WIDTH / __CHAR_BIT__ == sizeof(int_least40_t), "");
166bf7d9970SAaron Ballman #else
167bf7d9970SAaron Ballman int INT_LEAST40_WIDTH, UINT_LEAST40_WIDTH; /* None of these are defined. */
168bf7d9970SAaron Ballman #endif
169*13629b14SAaron Ballman #if defined(INT_FAST40_MAX) && __STDC_VERSION__ >= 202311L
170bf7d9970SAaron Ballman _Static_assert(INT_FAST40_WIDTH >= 40, "");
171bf7d9970SAaron Ballman _Static_assert(INT_FAST40_WIDTH / __CHAR_BIT__ == sizeof(int_fast40_t), "");
172bf7d9970SAaron Ballman _Static_assert(UINT_FAST40_WIDTH == INT_FAST40_WIDTH, "");
173bf7d9970SAaron Ballman _Static_assert(UINT_FAST40_WIDTH / __CHAR_BIT__ == sizeof(uint_fast40_t), "");
174bf7d9970SAaron Ballman #else
175bf7d9970SAaron Ballman int INT_FAST40_WIDTH, UINT_FAST40_WIDTH; /* None of these are defined. */
176bf7d9970SAaron Ballman #endif
177bf7d9970SAaron Ballman 
178*13629b14SAaron Ballman #if defined(INT48_MAX) && __STDC_VERSION__ >= 202311L
179bf7d9970SAaron Ballman _Static_assert(INT48_WIDTH == 48, "");
180bf7d9970SAaron Ballman _Static_assert(UINT48_WIDTH == INT48_WIDTH, "");
181bf7d9970SAaron Ballman _Static_assert(INT48_WIDTH / __CHAR_BIT__ == sizeof(int48_t), "");
182bf7d9970SAaron Ballman _Static_assert(UINT48_WIDTH / __CHAR_BIT__ == sizeof(uint48_t), "");
183bf7d9970SAaron Ballman #else
184bf7d9970SAaron Ballman int INT48_WIDTH, UINT48_WIDTH; /* None of these are defined. */
185bf7d9970SAaron Ballman #endif
186*13629b14SAaron Ballman #if defined(INT_LEAST48_MAX) && __STDC_VERSION__ >= 202311L
187bf7d9970SAaron Ballman _Static_assert(INT_LEAST48_WIDTH >= 48, "");
188bf7d9970SAaron Ballman _Static_assert(INT_LEAST48_WIDTH / __CHAR_BIT__ == sizeof(int_least48_t), "");
189bf7d9970SAaron Ballman _Static_assert(UINT_LEAST48_WIDTH == INT_LEAST48_WIDTH, "");
190bf7d9970SAaron Ballman _Static_assert(UINT_LEAST48_WIDTH / __CHAR_BIT__ == sizeof(int_least48_t), "");
191bf7d9970SAaron Ballman #else
192bf7d9970SAaron Ballman int INT_LEAST48_WIDTH, UINT_LEAST48_WIDTH; /* None of these are defined. */
193bf7d9970SAaron Ballman #endif
194*13629b14SAaron Ballman #if defined(INT_FAST48_MAX) && __STDC_VERSION__ >= 202311L
195bf7d9970SAaron Ballman _Static_assert(INT_FAST48_WIDTH >= 48, "");
196bf7d9970SAaron Ballman _Static_assert(INT_FAST48_WIDTH / __CHAR_BIT__ == sizeof(int_fast48_t), "");
197bf7d9970SAaron Ballman _Static_assert(UINT_FAST48_WIDTH == INT_FAST48_WIDTH, "");
198bf7d9970SAaron Ballman _Static_assert(UINT_FAST48_WIDTH / __CHAR_BIT__ == sizeof(int_fast48_t), "");
199bf7d9970SAaron Ballman #else
200bf7d9970SAaron Ballman int INT_FAST48_WIDTH, UINT_FAST48_WIDTH; /* None of these are defined. */
201bf7d9970SAaron Ballman #endif
202bf7d9970SAaron Ballman 
203*13629b14SAaron Ballman #if defined(INT56_MAX) && __STDC_VERSION__ >= 202311L
204bf7d9970SAaron Ballman _Static_assert(INT56_WIDTH == 56, "");
205bf7d9970SAaron Ballman _Static_assert(UINT56_WIDTH == INT56_WIDTH, "");
206bf7d9970SAaron Ballman _Static_assert(INT56_WIDTH / __CHAR_BIT__ == sizeof(int56_t), "");
207bf7d9970SAaron Ballman _Static_assert(UINT56_WIDTH / __CHAR_BIT__ == sizeof(uint56_t), "");
208bf7d9970SAaron Ballman #else
209bf7d9970SAaron Ballman int INT56_WIDTH, UINT56_WIDTH; /* None of these are defined. */
210bf7d9970SAaron Ballman #endif
211*13629b14SAaron Ballman #if defined(INT_LEAST56_MAX) && __STDC_VERSION__ >= 202311L
212bf7d9970SAaron Ballman _Static_assert(INT_LEAST56_WIDTH >= 56, "");
213bf7d9970SAaron Ballman _Static_assert(INT_LEAST56_WIDTH / __CHAR_BIT__ == sizeof(int_least56_t), "");
214bf7d9970SAaron Ballman _Static_assert(UINT_LEAST56_WIDTH == INT_LEAST56_WIDTH, "");
215bf7d9970SAaron Ballman _Static_assert(UINT_LEAST56_WIDTH / __CHAR_BIT__ == sizeof(int_least56_t), "");
216bf7d9970SAaron Ballman #else
217bf7d9970SAaron Ballman int INT_LEAST56_WIDTH, UINT_LEAST56_WIDTH; /* None of these are defined. */
218bf7d9970SAaron Ballman #endif
219*13629b14SAaron Ballman #if defined(INT_FAST56_MAX) && __STDC_VERSION__ >= 202311L
220bf7d9970SAaron Ballman _Static_assert(INT_FAST56_WIDTH >= 56, "");
221bf7d9970SAaron Ballman _Static_assert(INT_FAST56_WIDTH / __CHAR_BIT__ == sizeof(int_fast56_t), "");
222bf7d9970SAaron Ballman _Static_assert(UINT_FAST56_WIDTH == INT_FAST56_WIDTH, "");
223bf7d9970SAaron Ballman _Static_assert(UINT_FAST56_WIDTH / __CHAR_BIT__ == sizeof(int_fast56_t), "");
224bf7d9970SAaron Ballman #else
225bf7d9970SAaron Ballman int INT_FAST56_WIDTH, UINT_FAST56_WIDTH; /* None of these are defined. */
226bf7d9970SAaron Ballman #endif
227bf7d9970SAaron Ballman 
228*13629b14SAaron Ballman #if defined(INT64_MAX) && __STDC_VERSION__ >= 202311L
229bf7d9970SAaron Ballman _Static_assert(INT64_WIDTH == 64, "");
230bf7d9970SAaron Ballman _Static_assert(UINT64_WIDTH == INT64_WIDTH, "");
231bf7d9970SAaron Ballman _Static_assert(INT64_WIDTH / __CHAR_BIT__ == sizeof(int64_t), "");
232bf7d9970SAaron Ballman _Static_assert(UINT64_WIDTH / __CHAR_BIT__ == sizeof(uint64_t), "");
233bf7d9970SAaron Ballman #else
234bf7d9970SAaron Ballman int INT64_WIDTH, UINT64_WIDTH; /* None of these are defined. */
235bf7d9970SAaron Ballman #endif
236*13629b14SAaron Ballman #if defined(INT_LEAST64_MAX) && __STDC_VERSION__ >= 202311L
237bf7d9970SAaron Ballman _Static_assert(INT_LEAST64_WIDTH >= 64, "");
238bf7d9970SAaron Ballman _Static_assert(INT_LEAST64_WIDTH / __CHAR_BIT__ == sizeof(int_least64_t), "");
239bf7d9970SAaron Ballman _Static_assert(UINT_LEAST64_WIDTH == INT_LEAST64_WIDTH, "");
240bf7d9970SAaron Ballman _Static_assert(UINT_LEAST64_WIDTH / __CHAR_BIT__ == sizeof(int_least64_t), "");
241bf7d9970SAaron Ballman #else
242bf7d9970SAaron Ballman int INT_LEAST64_WIDTH, UINT_LEAST64_WIDTH; /* None of these are defined. */
243bf7d9970SAaron Ballman #endif
244*13629b14SAaron Ballman #if defined(INT_FAST64_MAX) && __STDC_VERSION__ >= 202311L
245bf7d9970SAaron Ballman _Static_assert(INT_FAST64_WIDTH >= 64, "");
246bf7d9970SAaron Ballman _Static_assert(INT_FAST64_WIDTH / __CHAR_BIT__ == sizeof(int_fast64_t), "");
247bf7d9970SAaron Ballman _Static_assert(UINT_FAST64_WIDTH == INT_FAST64_WIDTH, "");
248bf7d9970SAaron Ballman _Static_assert(UINT_FAST64_WIDTH / __CHAR_BIT__ == sizeof(int_fast64_t), "");
249bf7d9970SAaron Ballman #else
250bf7d9970SAaron Ballman int INT_FAST64_WIDTH, UINT_FAST64_WIDTH; /* None of these are defined. */
251bf7d9970SAaron Ballman #endif
252