Commit | Line | Data |
---|---|---|
ba318903 | 1 | /* Copyright (C) 2006-2014 Free Software Foundation, Inc. |
a8a2bb29 PE |
2 | Written by Paul Eggert, Bruno Haible, Derek Price. |
3 | This file is part of gnulib. | |
4 | ||
5 | This program is free software: you can redistribute it and/or modify | |
6 | it under the terms of the GNU General Public License as published by | |
7 | the Free Software Foundation; either version 3 of the License, or | |
8 | (at your option) any later version. | |
9 | ||
10 | This program is distributed in the hope that it will be useful, | |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | GNU General Public License for more details. | |
14 | ||
15 | You should have received a copy of the GNU General Public License | |
16 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ | |
17 | ||
18 | /* | |
19 | * ISO C 99 <inttypes.h> for platforms that lack it. | |
20 | * <http://www.opengroup.org/susv3xbd/inttypes.h.html> | |
21 | */ | |
22 | ||
23 | #if __GNUC__ >= 3 | |
24 | @PRAGMA_SYSTEM_HEADER@ | |
25 | #endif | |
26 | @PRAGMA_COLUMNS@ | |
27 | ||
28 | /* Include the original <inttypes.h> if it exists, and if this file | |
29 | has not been included yet or if this file includes gnulib stdint.h | |
30 | which in turn includes this file. | |
31 | The include_next requires a split double-inclusion guard. */ | |
32 | #if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H | |
33 | # if @HAVE_INTTYPES_H@ | |
caf8a9b2 PE |
34 | |
35 | /* Some pre-C++11 <stdint.h> implementations need this. */ | |
36 | # if defined __cplusplus && ! defined __STDC_FORMAT_MACROS | |
37 | # define __STDC_FORMAT_MACROS 1 | |
38 | # endif | |
39 | ||
a8a2bb29 PE |
40 | # @INCLUDE_NEXT@ @NEXT_INTTYPES_H@ |
41 | # endif | |
42 | #endif | |
43 | ||
44 | #if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H | |
45 | #define INTTYPES_H | |
46 | ||
47 | /* Include <stdint.h> or the gnulib replacement. | |
48 | But avoid namespace pollution on glibc systems. */ | |
49 | #ifndef __GLIBC__ | |
50 | # include <stdint.h> | |
51 | #endif | |
52 | /* Get CHAR_BIT. */ | |
53 | #include <limits.h> | |
54 | ||
55 | #if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX) | |
56 | # error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>." | |
57 | #endif | |
58 | ||
caf8a9b2 PE |
59 | /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ |
60 | ||
a8a2bb29 PE |
61 | /* The definition of _GL_ARG_NONNULL is copied here. */ |
62 | ||
63 | /* The definition of _GL_WARN_ON_USE is copied here. */ | |
64 | ||
65 | /* 7.8.1 Macros for format specifiers */ | |
66 | ||
caf8a9b2 | 67 | #if defined _TNS_R_TARGET |
a8a2bb29 PE |
68 | /* Tandem NonStop R series and compatible platforms released before |
69 | July 2005 support %Ld but not %lld. */ | |
caf8a9b2 PE |
70 | # define _LONG_LONG_FORMAT_PREFIX "L" |
71 | #else | |
72 | # define _LONG_LONG_FORMAT_PREFIX "ll" | |
73 | #endif | |
a8a2bb29 | 74 | |
caf8a9b2 PE |
75 | #if !defined PRId8 || @PRI_MACROS_BROKEN@ |
76 | # undef PRId8 | |
77 | # ifdef INT8_MAX | |
78 | # define PRId8 "d" | |
a8a2bb29 | 79 | # endif |
caf8a9b2 PE |
80 | #endif |
81 | #if !defined PRIi8 || @PRI_MACROS_BROKEN@ | |
82 | # undef PRIi8 | |
83 | # ifdef INT8_MAX | |
84 | # define PRIi8 "i" | |
a8a2bb29 | 85 | # endif |
caf8a9b2 PE |
86 | #endif |
87 | #if !defined PRIo8 || @PRI_MACROS_BROKEN@ | |
88 | # undef PRIo8 | |
89 | # ifdef UINT8_MAX | |
90 | # define PRIo8 "o" | |
a8a2bb29 | 91 | # endif |
caf8a9b2 PE |
92 | #endif |
93 | #if !defined PRIu8 || @PRI_MACROS_BROKEN@ | |
94 | # undef PRIu8 | |
95 | # ifdef UINT8_MAX | |
96 | # define PRIu8 "u" | |
a8a2bb29 | 97 | # endif |
caf8a9b2 PE |
98 | #endif |
99 | #if !defined PRIx8 || @PRI_MACROS_BROKEN@ | |
100 | # undef PRIx8 | |
101 | # ifdef UINT8_MAX | |
102 | # define PRIx8 "x" | |
a8a2bb29 | 103 | # endif |
caf8a9b2 PE |
104 | #endif |
105 | #if !defined PRIX8 || @PRI_MACROS_BROKEN@ | |
106 | # undef PRIX8 | |
107 | # ifdef UINT8_MAX | |
108 | # define PRIX8 "X" | |
a8a2bb29 | 109 | # endif |
caf8a9b2 PE |
110 | #endif |
111 | #if !defined PRId16 || @PRI_MACROS_BROKEN@ | |
112 | # undef PRId16 | |
113 | # ifdef INT16_MAX | |
114 | # define PRId16 "d" | |
a8a2bb29 | 115 | # endif |
caf8a9b2 PE |
116 | #endif |
117 | #if !defined PRIi16 || @PRI_MACROS_BROKEN@ | |
118 | # undef PRIi16 | |
119 | # ifdef INT16_MAX | |
120 | # define PRIi16 "i" | |
a8a2bb29 | 121 | # endif |
caf8a9b2 PE |
122 | #endif |
123 | #if !defined PRIo16 || @PRI_MACROS_BROKEN@ | |
124 | # undef PRIo16 | |
125 | # ifdef UINT16_MAX | |
126 | # define PRIo16 "o" | |
a8a2bb29 | 127 | # endif |
caf8a9b2 PE |
128 | #endif |
129 | #if !defined PRIu16 || @PRI_MACROS_BROKEN@ | |
130 | # undef PRIu16 | |
131 | # ifdef UINT16_MAX | |
132 | # define PRIu16 "u" | |
a8a2bb29 | 133 | # endif |
caf8a9b2 PE |
134 | #endif |
135 | #if !defined PRIx16 || @PRI_MACROS_BROKEN@ | |
136 | # undef PRIx16 | |
137 | # ifdef UINT16_MAX | |
138 | # define PRIx16 "x" | |
a8a2bb29 | 139 | # endif |
caf8a9b2 PE |
140 | #endif |
141 | #if !defined PRIX16 || @PRI_MACROS_BROKEN@ | |
142 | # undef PRIX16 | |
143 | # ifdef UINT16_MAX | |
144 | # define PRIX16 "X" | |
a8a2bb29 | 145 | # endif |
caf8a9b2 PE |
146 | #endif |
147 | #if !defined PRId32 || @PRI_MACROS_BROKEN@ | |
148 | # undef PRId32 | |
149 | # ifdef INT32_MAX | |
150 | # define PRId32 "d" | |
a8a2bb29 | 151 | # endif |
caf8a9b2 PE |
152 | #endif |
153 | #if !defined PRIi32 || @PRI_MACROS_BROKEN@ | |
154 | # undef PRIi32 | |
155 | # ifdef INT32_MAX | |
156 | # define PRIi32 "i" | |
a8a2bb29 | 157 | # endif |
caf8a9b2 PE |
158 | #endif |
159 | #if !defined PRIo32 || @PRI_MACROS_BROKEN@ | |
160 | # undef PRIo32 | |
161 | # ifdef UINT32_MAX | |
162 | # define PRIo32 "o" | |
a8a2bb29 | 163 | # endif |
caf8a9b2 PE |
164 | #endif |
165 | #if !defined PRIu32 || @PRI_MACROS_BROKEN@ | |
166 | # undef PRIu32 | |
167 | # ifdef UINT32_MAX | |
168 | # define PRIu32 "u" | |
a8a2bb29 | 169 | # endif |
caf8a9b2 PE |
170 | #endif |
171 | #if !defined PRIx32 || @PRI_MACROS_BROKEN@ | |
172 | # undef PRIx32 | |
173 | # ifdef UINT32_MAX | |
174 | # define PRIx32 "x" | |
a8a2bb29 | 175 | # endif |
caf8a9b2 PE |
176 | #endif |
177 | #if !defined PRIX32 || @PRI_MACROS_BROKEN@ | |
178 | # undef PRIX32 | |
179 | # ifdef UINT32_MAX | |
180 | # define PRIX32 "X" | |
a8a2bb29 | 181 | # endif |
caf8a9b2 PE |
182 | #endif |
183 | #ifdef INT64_MAX | |
184 | # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) | |
185 | # define _PRI64_PREFIX "l" | |
186 | # elif defined _MSC_VER || defined __MINGW32__ | |
187 | # define _PRI64_PREFIX "I64" | |
188 | # elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 | |
189 | # define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX | |
190 | # endif | |
191 | # if !defined PRId64 || @PRI_MACROS_BROKEN@ | |
192 | # undef PRId64 | |
193 | # define PRId64 _PRI64_PREFIX "d" | |
194 | # endif | |
195 | # if !defined PRIi64 || @PRI_MACROS_BROKEN@ | |
196 | # undef PRIi64 | |
197 | # define PRIi64 _PRI64_PREFIX "i" | |
a8a2bb29 | 198 | # endif |
caf8a9b2 PE |
199 | #endif |
200 | #ifdef UINT64_MAX | |
201 | # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) | |
202 | # define _PRIu64_PREFIX "l" | |
203 | # elif defined _MSC_VER || defined __MINGW32__ | |
204 | # define _PRIu64_PREFIX "I64" | |
205 | # elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 | |
206 | # define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX | |
207 | # endif | |
208 | # if !defined PRIo64 || @PRI_MACROS_BROKEN@ | |
209 | # undef PRIo64 | |
210 | # define PRIo64 _PRIu64_PREFIX "o" | |
211 | # endif | |
212 | # if !defined PRIu64 || @PRI_MACROS_BROKEN@ | |
213 | # undef PRIu64 | |
214 | # define PRIu64 _PRIu64_PREFIX "u" | |
215 | # endif | |
216 | # if !defined PRIx64 || @PRI_MACROS_BROKEN@ | |
217 | # undef PRIx64 | |
218 | # define PRIx64 _PRIu64_PREFIX "x" | |
219 | # endif | |
220 | # if !defined PRIX64 || @PRI_MACROS_BROKEN@ | |
221 | # undef PRIX64 | |
222 | # define PRIX64 _PRIu64_PREFIX "X" | |
a8a2bb29 | 223 | # endif |
caf8a9b2 | 224 | #endif |
a8a2bb29 | 225 | |
caf8a9b2 PE |
226 | #if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@ |
227 | # undef PRIdLEAST8 | |
228 | # define PRIdLEAST8 "d" | |
229 | #endif | |
230 | #if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@ | |
231 | # undef PRIiLEAST8 | |
232 | # define PRIiLEAST8 "i" | |
233 | #endif | |
234 | #if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@ | |
235 | # undef PRIoLEAST8 | |
236 | # define PRIoLEAST8 "o" | |
237 | #endif | |
238 | #if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@ | |
239 | # undef PRIuLEAST8 | |
240 | # define PRIuLEAST8 "u" | |
241 | #endif | |
242 | #if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@ | |
243 | # undef PRIxLEAST8 | |
244 | # define PRIxLEAST8 "x" | |
245 | #endif | |
246 | #if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@ | |
247 | # undef PRIXLEAST8 | |
248 | # define PRIXLEAST8 "X" | |
249 | #endif | |
250 | #if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@ | |
251 | # undef PRIdLEAST16 | |
252 | # define PRIdLEAST16 "d" | |
253 | #endif | |
254 | #if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@ | |
255 | # undef PRIiLEAST16 | |
256 | # define PRIiLEAST16 "i" | |
257 | #endif | |
258 | #if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@ | |
259 | # undef PRIoLEAST16 | |
260 | # define PRIoLEAST16 "o" | |
261 | #endif | |
262 | #if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@ | |
263 | # undef PRIuLEAST16 | |
264 | # define PRIuLEAST16 "u" | |
265 | #endif | |
266 | #if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@ | |
267 | # undef PRIxLEAST16 | |
268 | # define PRIxLEAST16 "x" | |
269 | #endif | |
270 | #if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@ | |
271 | # undef PRIXLEAST16 | |
272 | # define PRIXLEAST16 "X" | |
273 | #endif | |
274 | #if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@ | |
275 | # undef PRIdLEAST32 | |
276 | # define PRIdLEAST32 "d" | |
277 | #endif | |
278 | #if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@ | |
279 | # undef PRIiLEAST32 | |
280 | # define PRIiLEAST32 "i" | |
281 | #endif | |
282 | #if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@ | |
283 | # undef PRIoLEAST32 | |
284 | # define PRIoLEAST32 "o" | |
285 | #endif | |
286 | #if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@ | |
287 | # undef PRIuLEAST32 | |
288 | # define PRIuLEAST32 "u" | |
289 | #endif | |
290 | #if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@ | |
291 | # undef PRIxLEAST32 | |
292 | # define PRIxLEAST32 "x" | |
293 | #endif | |
294 | #if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@ | |
295 | # undef PRIXLEAST32 | |
296 | # define PRIXLEAST32 "X" | |
297 | #endif | |
298 | #ifdef INT64_MAX | |
299 | # if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@ | |
300 | # undef PRIdLEAST64 | |
301 | # define PRIdLEAST64 PRId64 | |
a8a2bb29 | 302 | # endif |
caf8a9b2 PE |
303 | # if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@ |
304 | # undef PRIiLEAST64 | |
305 | # define PRIiLEAST64 PRIi64 | |
306 | # endif | |
307 | #endif | |
308 | #ifdef UINT64_MAX | |
309 | # if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@ | |
310 | # undef PRIoLEAST64 | |
311 | # define PRIoLEAST64 PRIo64 | |
312 | # endif | |
313 | # if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@ | |
314 | # undef PRIuLEAST64 | |
315 | # define PRIuLEAST64 PRIu64 | |
316 | # endif | |
317 | # if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@ | |
318 | # undef PRIxLEAST64 | |
319 | # define PRIxLEAST64 PRIx64 | |
a8a2bb29 | 320 | # endif |
caf8a9b2 PE |
321 | # if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@ |
322 | # undef PRIXLEAST64 | |
323 | # define PRIXLEAST64 PRIX64 | |
324 | # endif | |
325 | #endif | |
a8a2bb29 | 326 | |
caf8a9b2 PE |
327 | #if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@ |
328 | # undef PRIdFAST8 | |
329 | # if INT_FAST8_MAX > INT32_MAX | |
330 | # define PRIdFAST8 PRId64 | |
331 | # else | |
332 | # define PRIdFAST8 "d" | |
a8a2bb29 | 333 | # endif |
caf8a9b2 PE |
334 | #endif |
335 | #if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@ | |
336 | # undef PRIiFAST8 | |
337 | # if INT_FAST8_MAX > INT32_MAX | |
338 | # define PRIiFAST8 PRIi64 | |
339 | # else | |
340 | # define PRIiFAST8 "i" | |
a8a2bb29 | 341 | # endif |
caf8a9b2 PE |
342 | #endif |
343 | #if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@ | |
344 | # undef PRIoFAST8 | |
345 | # if UINT_FAST8_MAX > UINT32_MAX | |
346 | # define PRIoFAST8 PRIo64 | |
347 | # else | |
348 | # define PRIoFAST8 "o" | |
a8a2bb29 | 349 | # endif |
caf8a9b2 PE |
350 | #endif |
351 | #if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@ | |
352 | # undef PRIuFAST8 | |
353 | # if UINT_FAST8_MAX > UINT32_MAX | |
354 | # define PRIuFAST8 PRIu64 | |
355 | # else | |
356 | # define PRIuFAST8 "u" | |
a8a2bb29 | 357 | # endif |
caf8a9b2 PE |
358 | #endif |
359 | #if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@ | |
360 | # undef PRIxFAST8 | |
361 | # if UINT_FAST8_MAX > UINT32_MAX | |
362 | # define PRIxFAST8 PRIx64 | |
363 | # else | |
364 | # define PRIxFAST8 "x" | |
a8a2bb29 | 365 | # endif |
caf8a9b2 PE |
366 | #endif |
367 | #if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@ | |
368 | # undef PRIXFAST8 | |
369 | # if UINT_FAST8_MAX > UINT32_MAX | |
370 | # define PRIXFAST8 PRIX64 | |
371 | # else | |
372 | # define PRIXFAST8 "X" | |
a8a2bb29 | 373 | # endif |
caf8a9b2 PE |
374 | #endif |
375 | #if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@ | |
376 | # undef PRIdFAST16 | |
377 | # if INT_FAST16_MAX > INT32_MAX | |
378 | # define PRIdFAST16 PRId64 | |
379 | # else | |
380 | # define PRIdFAST16 "d" | |
a8a2bb29 | 381 | # endif |
caf8a9b2 PE |
382 | #endif |
383 | #if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@ | |
384 | # undef PRIiFAST16 | |
385 | # if INT_FAST16_MAX > INT32_MAX | |
386 | # define PRIiFAST16 PRIi64 | |
387 | # else | |
388 | # define PRIiFAST16 "i" | |
a8a2bb29 | 389 | # endif |
caf8a9b2 PE |
390 | #endif |
391 | #if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@ | |
392 | # undef PRIoFAST16 | |
393 | # if UINT_FAST16_MAX > UINT32_MAX | |
394 | # define PRIoFAST16 PRIo64 | |
395 | # else | |
396 | # define PRIoFAST16 "o" | |
a8a2bb29 | 397 | # endif |
caf8a9b2 PE |
398 | #endif |
399 | #if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@ | |
400 | # undef PRIuFAST16 | |
401 | # if UINT_FAST16_MAX > UINT32_MAX | |
402 | # define PRIuFAST16 PRIu64 | |
403 | # else | |
404 | # define PRIuFAST16 "u" | |
a8a2bb29 | 405 | # endif |
caf8a9b2 PE |
406 | #endif |
407 | #if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@ | |
408 | # undef PRIxFAST16 | |
409 | # if UINT_FAST16_MAX > UINT32_MAX | |
410 | # define PRIxFAST16 PRIx64 | |
411 | # else | |
412 | # define PRIxFAST16 "x" | |
a8a2bb29 | 413 | # endif |
caf8a9b2 PE |
414 | #endif |
415 | #if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@ | |
416 | # undef PRIXFAST16 | |
417 | # if UINT_FAST16_MAX > UINT32_MAX | |
418 | # define PRIXFAST16 PRIX64 | |
419 | # else | |
420 | # define PRIXFAST16 "X" | |
a8a2bb29 | 421 | # endif |
caf8a9b2 PE |
422 | #endif |
423 | #if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@ | |
424 | # undef PRIdFAST32 | |
425 | # if INT_FAST32_MAX > INT32_MAX | |
426 | # define PRIdFAST32 PRId64 | |
427 | # else | |
428 | # define PRIdFAST32 "d" | |
a8a2bb29 | 429 | # endif |
caf8a9b2 PE |
430 | #endif |
431 | #if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@ | |
432 | # undef PRIiFAST32 | |
433 | # if INT_FAST32_MAX > INT32_MAX | |
434 | # define PRIiFAST32 PRIi64 | |
435 | # else | |
436 | # define PRIiFAST32 "i" | |
a8a2bb29 | 437 | # endif |
caf8a9b2 PE |
438 | #endif |
439 | #if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@ | |
440 | # undef PRIoFAST32 | |
441 | # if UINT_FAST32_MAX > UINT32_MAX | |
442 | # define PRIoFAST32 PRIo64 | |
443 | # else | |
444 | # define PRIoFAST32 "o" | |
a8a2bb29 | 445 | # endif |
caf8a9b2 PE |
446 | #endif |
447 | #if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@ | |
448 | # undef PRIuFAST32 | |
449 | # if UINT_FAST32_MAX > UINT32_MAX | |
450 | # define PRIuFAST32 PRIu64 | |
451 | # else | |
452 | # define PRIuFAST32 "u" | |
a8a2bb29 | 453 | # endif |
caf8a9b2 PE |
454 | #endif |
455 | #if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@ | |
456 | # undef PRIxFAST32 | |
457 | # if UINT_FAST32_MAX > UINT32_MAX | |
458 | # define PRIxFAST32 PRIx64 | |
459 | # else | |
460 | # define PRIxFAST32 "x" | |
a8a2bb29 | 461 | # endif |
caf8a9b2 PE |
462 | #endif |
463 | #if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@ | |
464 | # undef PRIXFAST32 | |
465 | # if UINT_FAST32_MAX > UINT32_MAX | |
466 | # define PRIXFAST32 PRIX64 | |
467 | # else | |
468 | # define PRIXFAST32 "X" | |
a8a2bb29 | 469 | # endif |
caf8a9b2 PE |
470 | #endif |
471 | #ifdef INT64_MAX | |
472 | # if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@ | |
473 | # undef PRIdFAST64 | |
474 | # define PRIdFAST64 PRId64 | |
a8a2bb29 | 475 | # endif |
caf8a9b2 PE |
476 | # if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@ |
477 | # undef PRIiFAST64 | |
478 | # define PRIiFAST64 PRIi64 | |
479 | # endif | |
480 | #endif | |
481 | #ifdef UINT64_MAX | |
482 | # if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@ | |
483 | # undef PRIoFAST64 | |
484 | # define PRIoFAST64 PRIo64 | |
485 | # endif | |
486 | # if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@ | |
487 | # undef PRIuFAST64 | |
488 | # define PRIuFAST64 PRIu64 | |
489 | # endif | |
490 | # if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@ | |
491 | # undef PRIxFAST64 | |
492 | # define PRIxFAST64 PRIx64 | |
a8a2bb29 | 493 | # endif |
caf8a9b2 PE |
494 | # if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@ |
495 | # undef PRIXFAST64 | |
496 | # define PRIXFAST64 PRIX64 | |
497 | # endif | |
498 | #endif | |
a8a2bb29 | 499 | |
caf8a9b2 PE |
500 | #if !defined PRIdMAX || @PRI_MACROS_BROKEN@ |
501 | # undef PRIdMAX | |
502 | # if @INT32_MAX_LT_INTMAX_MAX@ | |
503 | # define PRIdMAX PRId64 | |
504 | # else | |
505 | # define PRIdMAX "ld" | |
a8a2bb29 | 506 | # endif |
caf8a9b2 PE |
507 | #endif |
508 | #if !defined PRIiMAX || @PRI_MACROS_BROKEN@ | |
509 | # undef PRIiMAX | |
510 | # if @INT32_MAX_LT_INTMAX_MAX@ | |
511 | # define PRIiMAX PRIi64 | |
512 | # else | |
513 | # define PRIiMAX "li" | |
a8a2bb29 | 514 | # endif |
caf8a9b2 PE |
515 | #endif |
516 | #if !defined PRIoMAX || @PRI_MACROS_BROKEN@ | |
517 | # undef PRIoMAX | |
518 | # if @UINT32_MAX_LT_UINTMAX_MAX@ | |
519 | # define PRIoMAX PRIo64 | |
520 | # else | |
521 | # define PRIoMAX "lo" | |
a8a2bb29 | 522 | # endif |
caf8a9b2 PE |
523 | #endif |
524 | #if !defined PRIuMAX || @PRI_MACROS_BROKEN@ | |
525 | # undef PRIuMAX | |
526 | # if @UINT32_MAX_LT_UINTMAX_MAX@ | |
527 | # define PRIuMAX PRIu64 | |
528 | # else | |
529 | # define PRIuMAX "lu" | |
a8a2bb29 | 530 | # endif |
caf8a9b2 PE |
531 | #endif |
532 | #if !defined PRIxMAX || @PRI_MACROS_BROKEN@ | |
533 | # undef PRIxMAX | |
534 | # if @UINT32_MAX_LT_UINTMAX_MAX@ | |
535 | # define PRIxMAX PRIx64 | |
536 | # else | |
537 | # define PRIxMAX "lx" | |
a8a2bb29 | 538 | # endif |
caf8a9b2 PE |
539 | #endif |
540 | #if !defined PRIXMAX || @PRI_MACROS_BROKEN@ | |
541 | # undef PRIXMAX | |
542 | # if @UINT32_MAX_LT_UINTMAX_MAX@ | |
543 | # define PRIXMAX PRIX64 | |
544 | # else | |
545 | # define PRIXMAX "lX" | |
a8a2bb29 | 546 | # endif |
caf8a9b2 | 547 | #endif |
a8a2bb29 | 548 | |
caf8a9b2 PE |
549 | #if !defined PRIdPTR || @PRI_MACROS_BROKEN@ |
550 | # undef PRIdPTR | |
551 | # ifdef INTPTR_MAX | |
552 | # define PRIdPTR @PRIPTR_PREFIX@ "d" | |
a8a2bb29 | 553 | # endif |
caf8a9b2 PE |
554 | #endif |
555 | #if !defined PRIiPTR || @PRI_MACROS_BROKEN@ | |
556 | # undef PRIiPTR | |
557 | # ifdef INTPTR_MAX | |
558 | # define PRIiPTR @PRIPTR_PREFIX@ "i" | |
a8a2bb29 | 559 | # endif |
caf8a9b2 PE |
560 | #endif |
561 | #if !defined PRIoPTR || @PRI_MACROS_BROKEN@ | |
562 | # undef PRIoPTR | |
563 | # ifdef UINTPTR_MAX | |
564 | # define PRIoPTR @PRIPTR_PREFIX@ "o" | |
a8a2bb29 | 565 | # endif |
caf8a9b2 PE |
566 | #endif |
567 | #if !defined PRIuPTR || @PRI_MACROS_BROKEN@ | |
568 | # undef PRIuPTR | |
569 | # ifdef UINTPTR_MAX | |
570 | # define PRIuPTR @PRIPTR_PREFIX@ "u" | |
a8a2bb29 | 571 | # endif |
caf8a9b2 PE |
572 | #endif |
573 | #if !defined PRIxPTR || @PRI_MACROS_BROKEN@ | |
574 | # undef PRIxPTR | |
575 | # ifdef UINTPTR_MAX | |
576 | # define PRIxPTR @PRIPTR_PREFIX@ "x" | |
a8a2bb29 | 577 | # endif |
caf8a9b2 PE |
578 | #endif |
579 | #if !defined PRIXPTR || @PRI_MACROS_BROKEN@ | |
580 | # undef PRIXPTR | |
581 | # ifdef UINTPTR_MAX | |
582 | # define PRIXPTR @PRIPTR_PREFIX@ "X" | |
a8a2bb29 | 583 | # endif |
caf8a9b2 | 584 | #endif |
a8a2bb29 | 585 | |
caf8a9b2 PE |
586 | #if !defined SCNd8 || @PRI_MACROS_BROKEN@ |
587 | # undef SCNd8 | |
588 | # ifdef INT8_MAX | |
589 | # define SCNd8 "hhd" | |
a8a2bb29 | 590 | # endif |
caf8a9b2 PE |
591 | #endif |
592 | #if !defined SCNi8 || @PRI_MACROS_BROKEN@ | |
593 | # undef SCNi8 | |
594 | # ifdef INT8_MAX | |
595 | # define SCNi8 "hhi" | |
a8a2bb29 | 596 | # endif |
caf8a9b2 PE |
597 | #endif |
598 | #if !defined SCNo8 || @PRI_MACROS_BROKEN@ | |
599 | # undef SCNo8 | |
600 | # ifdef UINT8_MAX | |
601 | # define SCNo8 "hho" | |
a8a2bb29 | 602 | # endif |
caf8a9b2 PE |
603 | #endif |
604 | #if !defined SCNu8 || @PRI_MACROS_BROKEN@ | |
605 | # undef SCNu8 | |
606 | # ifdef UINT8_MAX | |
607 | # define SCNu8 "hhu" | |
a8a2bb29 | 608 | # endif |
caf8a9b2 PE |
609 | #endif |
610 | #if !defined SCNx8 || @PRI_MACROS_BROKEN@ | |
611 | # undef SCNx8 | |
612 | # ifdef UINT8_MAX | |
613 | # define SCNx8 "hhx" | |
a8a2bb29 | 614 | # endif |
caf8a9b2 PE |
615 | #endif |
616 | #if !defined SCNd16 || @PRI_MACROS_BROKEN@ | |
617 | # undef SCNd16 | |
618 | # ifdef INT16_MAX | |
619 | # define SCNd16 "hd" | |
a8a2bb29 | 620 | # endif |
caf8a9b2 PE |
621 | #endif |
622 | #if !defined SCNi16 || @PRI_MACROS_BROKEN@ | |
623 | # undef SCNi16 | |
624 | # ifdef INT16_MAX | |
625 | # define SCNi16 "hi" | |
a8a2bb29 | 626 | # endif |
caf8a9b2 PE |
627 | #endif |
628 | #if !defined SCNo16 || @PRI_MACROS_BROKEN@ | |
629 | # undef SCNo16 | |
630 | # ifdef UINT16_MAX | |
631 | # define SCNo16 "ho" | |
a8a2bb29 | 632 | # endif |
caf8a9b2 PE |
633 | #endif |
634 | #if !defined SCNu16 || @PRI_MACROS_BROKEN@ | |
635 | # undef SCNu16 | |
636 | # ifdef UINT16_MAX | |
637 | # define SCNu16 "hu" | |
a8a2bb29 | 638 | # endif |
caf8a9b2 PE |
639 | #endif |
640 | #if !defined SCNx16 || @PRI_MACROS_BROKEN@ | |
641 | # undef SCNx16 | |
642 | # ifdef UINT16_MAX | |
643 | # define SCNx16 "hx" | |
a8a2bb29 | 644 | # endif |
caf8a9b2 PE |
645 | #endif |
646 | #if !defined SCNd32 || @PRI_MACROS_BROKEN@ | |
647 | # undef SCNd32 | |
648 | # ifdef INT32_MAX | |
649 | # define SCNd32 "d" | |
a8a2bb29 | 650 | # endif |
caf8a9b2 PE |
651 | #endif |
652 | #if !defined SCNi32 || @PRI_MACROS_BROKEN@ | |
653 | # undef SCNi32 | |
654 | # ifdef INT32_MAX | |
655 | # define SCNi32 "i" | |
a8a2bb29 | 656 | # endif |
caf8a9b2 PE |
657 | #endif |
658 | #if !defined SCNo32 || @PRI_MACROS_BROKEN@ | |
659 | # undef SCNo32 | |
660 | # ifdef UINT32_MAX | |
661 | # define SCNo32 "o" | |
a8a2bb29 | 662 | # endif |
caf8a9b2 PE |
663 | #endif |
664 | #if !defined SCNu32 || @PRI_MACROS_BROKEN@ | |
665 | # undef SCNu32 | |
666 | # ifdef UINT32_MAX | |
667 | # define SCNu32 "u" | |
a8a2bb29 | 668 | # endif |
caf8a9b2 PE |
669 | #endif |
670 | #if !defined SCNx32 || @PRI_MACROS_BROKEN@ | |
671 | # undef SCNx32 | |
672 | # ifdef UINT32_MAX | |
673 | # define SCNx32 "x" | |
a8a2bb29 | 674 | # endif |
caf8a9b2 PE |
675 | #endif |
676 | #ifdef INT64_MAX | |
677 | # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) | |
678 | # define _SCN64_PREFIX "l" | |
679 | # elif defined _MSC_VER || defined __MINGW32__ | |
680 | # define _SCN64_PREFIX "I64" | |
681 | # elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 | |
682 | # define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX | |
683 | # endif | |
684 | # if !defined SCNd64 || @PRI_MACROS_BROKEN@ | |
685 | # undef SCNd64 | |
686 | # define SCNd64 _SCN64_PREFIX "d" | |
687 | # endif | |
688 | # if !defined SCNi64 || @PRI_MACROS_BROKEN@ | |
689 | # undef SCNi64 | |
690 | # define SCNi64 _SCN64_PREFIX "i" | |
a8a2bb29 | 691 | # endif |
caf8a9b2 PE |
692 | #endif |
693 | #ifdef UINT64_MAX | |
694 | # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) | |
695 | # define _SCNu64_PREFIX "l" | |
696 | # elif defined _MSC_VER || defined __MINGW32__ | |
697 | # define _SCNu64_PREFIX "I64" | |
698 | # elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 | |
699 | # define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX | |
700 | # endif | |
701 | # if !defined SCNo64 || @PRI_MACROS_BROKEN@ | |
702 | # undef SCNo64 | |
703 | # define SCNo64 _SCNu64_PREFIX "o" | |
704 | # endif | |
705 | # if !defined SCNu64 || @PRI_MACROS_BROKEN@ | |
706 | # undef SCNu64 | |
707 | # define SCNu64 _SCNu64_PREFIX "u" | |
708 | # endif | |
709 | # if !defined SCNx64 || @PRI_MACROS_BROKEN@ | |
710 | # undef SCNx64 | |
711 | # define SCNx64 _SCNu64_PREFIX "x" | |
a8a2bb29 | 712 | # endif |
caf8a9b2 | 713 | #endif |
a8a2bb29 | 714 | |
caf8a9b2 PE |
715 | #if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@ |
716 | # undef SCNdLEAST8 | |
717 | # define SCNdLEAST8 "hhd" | |
718 | #endif | |
719 | #if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@ | |
720 | # undef SCNiLEAST8 | |
721 | # define SCNiLEAST8 "hhi" | |
722 | #endif | |
723 | #if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@ | |
724 | # undef SCNoLEAST8 | |
725 | # define SCNoLEAST8 "hho" | |
726 | #endif | |
727 | #if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@ | |
728 | # undef SCNuLEAST8 | |
729 | # define SCNuLEAST8 "hhu" | |
730 | #endif | |
731 | #if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@ | |
732 | # undef SCNxLEAST8 | |
733 | # define SCNxLEAST8 "hhx" | |
734 | #endif | |
735 | #if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@ | |
736 | # undef SCNdLEAST16 | |
737 | # define SCNdLEAST16 "hd" | |
738 | #endif | |
739 | #if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@ | |
740 | # undef SCNiLEAST16 | |
741 | # define SCNiLEAST16 "hi" | |
742 | #endif | |
743 | #if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@ | |
744 | # undef SCNoLEAST16 | |
745 | # define SCNoLEAST16 "ho" | |
746 | #endif | |
747 | #if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@ | |
748 | # undef SCNuLEAST16 | |
749 | # define SCNuLEAST16 "hu" | |
750 | #endif | |
751 | #if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@ | |
752 | # undef SCNxLEAST16 | |
753 | # define SCNxLEAST16 "hx" | |
754 | #endif | |
755 | #if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@ | |
756 | # undef SCNdLEAST32 | |
757 | # define SCNdLEAST32 "d" | |
758 | #endif | |
759 | #if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@ | |
760 | # undef SCNiLEAST32 | |
761 | # define SCNiLEAST32 "i" | |
762 | #endif | |
763 | #if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@ | |
764 | # undef SCNoLEAST32 | |
765 | # define SCNoLEAST32 "o" | |
766 | #endif | |
767 | #if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@ | |
768 | # undef SCNuLEAST32 | |
769 | # define SCNuLEAST32 "u" | |
770 | #endif | |
771 | #if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@ | |
772 | # undef SCNxLEAST32 | |
773 | # define SCNxLEAST32 "x" | |
774 | #endif | |
775 | #ifdef INT64_MAX | |
776 | # if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@ | |
777 | # undef SCNdLEAST64 | |
778 | # define SCNdLEAST64 SCNd64 | |
a8a2bb29 | 779 | # endif |
caf8a9b2 PE |
780 | # if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@ |
781 | # undef SCNiLEAST64 | |
782 | # define SCNiLEAST64 SCNi64 | |
783 | # endif | |
784 | #endif | |
785 | #ifdef UINT64_MAX | |
786 | # if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@ | |
787 | # undef SCNoLEAST64 | |
788 | # define SCNoLEAST64 SCNo64 | |
789 | # endif | |
790 | # if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@ | |
791 | # undef SCNuLEAST64 | |
792 | # define SCNuLEAST64 SCNu64 | |
793 | # endif | |
794 | # if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@ | |
795 | # undef SCNxLEAST64 | |
796 | # define SCNxLEAST64 SCNx64 | |
a8a2bb29 | 797 | # endif |
caf8a9b2 | 798 | #endif |
a8a2bb29 | 799 | |
caf8a9b2 PE |
800 | #if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@ |
801 | # undef SCNdFAST8 | |
802 | # if INT_FAST8_MAX > INT32_MAX | |
803 | # define SCNdFAST8 SCNd64 | |
804 | # elif INT_FAST8_MAX == 0x7fff | |
805 | # define SCNdFAST8 "hd" | |
806 | # elif INT_FAST8_MAX == 0x7f | |
807 | # define SCNdFAST8 "hhd" | |
808 | # else | |
809 | # define SCNdFAST8 "d" | |
a8a2bb29 | 810 | # endif |
caf8a9b2 PE |
811 | #endif |
812 | #if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@ | |
813 | # undef SCNiFAST8 | |
814 | # if INT_FAST8_MAX > INT32_MAX | |
815 | # define SCNiFAST8 SCNi64 | |
816 | # elif INT_FAST8_MAX == 0x7fff | |
817 | # define SCNiFAST8 "hi" | |
818 | # elif INT_FAST8_MAX == 0x7f | |
819 | # define SCNiFAST8 "hhi" | |
820 | # else | |
821 | # define SCNiFAST8 "i" | |
a8a2bb29 | 822 | # endif |
caf8a9b2 PE |
823 | #endif |
824 | #if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@ | |
825 | # undef SCNoFAST8 | |
826 | # if UINT_FAST8_MAX > UINT32_MAX | |
827 | # define SCNoFAST8 SCNo64 | |
828 | # elif UINT_FAST8_MAX == 0xffff | |
829 | # define SCNoFAST8 "ho" | |
830 | # elif UINT_FAST8_MAX == 0xff | |
831 | # define SCNoFAST8 "hho" | |
832 | # else | |
833 | # define SCNoFAST8 "o" | |
a8a2bb29 | 834 | # endif |
caf8a9b2 PE |
835 | #endif |
836 | #if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@ | |
837 | # undef SCNuFAST8 | |
838 | # if UINT_FAST8_MAX > UINT32_MAX | |
839 | # define SCNuFAST8 SCNu64 | |
840 | # elif UINT_FAST8_MAX == 0xffff | |
841 | # define SCNuFAST8 "hu" | |
842 | # elif UINT_FAST8_MAX == 0xff | |
843 | # define SCNuFAST8 "hhu" | |
844 | # else | |
845 | # define SCNuFAST8 "u" | |
a8a2bb29 | 846 | # endif |
caf8a9b2 PE |
847 | #endif |
848 | #if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@ | |
849 | # undef SCNxFAST8 | |
850 | # if UINT_FAST8_MAX > UINT32_MAX | |
851 | # define SCNxFAST8 SCNx64 | |
852 | # elif UINT_FAST8_MAX == 0xffff | |
853 | # define SCNxFAST8 "hx" | |
854 | # elif UINT_FAST8_MAX == 0xff | |
855 | # define SCNxFAST8 "hhx" | |
856 | # else | |
857 | # define SCNxFAST8 "x" | |
a8a2bb29 | 858 | # endif |
caf8a9b2 PE |
859 | #endif |
860 | #if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@ | |
861 | # undef SCNdFAST16 | |
862 | # if INT_FAST16_MAX > INT32_MAX | |
863 | # define SCNdFAST16 SCNd64 | |
864 | # elif INT_FAST16_MAX == 0x7fff | |
865 | # define SCNdFAST16 "hd" | |
866 | # else | |
867 | # define SCNdFAST16 "d" | |
a8a2bb29 | 868 | # endif |
caf8a9b2 PE |
869 | #endif |
870 | #if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@ | |
871 | # undef SCNiFAST16 | |
872 | # if INT_FAST16_MAX > INT32_MAX | |
873 | # define SCNiFAST16 SCNi64 | |
874 | # elif INT_FAST16_MAX == 0x7fff | |
875 | # define SCNiFAST16 "hi" | |
876 | # else | |
877 | # define SCNiFAST16 "i" | |
a8a2bb29 | 878 | # endif |
caf8a9b2 PE |
879 | #endif |
880 | #if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@ | |
881 | # undef SCNoFAST16 | |
882 | # if UINT_FAST16_MAX > UINT32_MAX | |
883 | # define SCNoFAST16 SCNo64 | |
884 | # elif UINT_FAST16_MAX == 0xffff | |
885 | # define SCNoFAST16 "ho" | |
886 | # else | |
887 | # define SCNoFAST16 "o" | |
a8a2bb29 | 888 | # endif |
caf8a9b2 PE |
889 | #endif |
890 | #if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@ | |
891 | # undef SCNuFAST16 | |
892 | # if UINT_FAST16_MAX > UINT32_MAX | |
893 | # define SCNuFAST16 SCNu64 | |
894 | # elif UINT_FAST16_MAX == 0xffff | |
895 | # define SCNuFAST16 "hu" | |
896 | # else | |
897 | # define SCNuFAST16 "u" | |
a8a2bb29 | 898 | # endif |
caf8a9b2 PE |
899 | #endif |
900 | #if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@ | |
901 | # undef SCNxFAST16 | |
902 | # if UINT_FAST16_MAX > UINT32_MAX | |
903 | # define SCNxFAST16 SCNx64 | |
904 | # elif UINT_FAST16_MAX == 0xffff | |
905 | # define SCNxFAST16 "hx" | |
906 | # else | |
907 | # define SCNxFAST16 "x" | |
a8a2bb29 | 908 | # endif |
caf8a9b2 PE |
909 | #endif |
910 | #if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@ | |
911 | # undef SCNdFAST32 | |
912 | # if INT_FAST32_MAX > INT32_MAX | |
913 | # define SCNdFAST32 SCNd64 | |
914 | # else | |
915 | # define SCNdFAST32 "d" | |
a8a2bb29 | 916 | # endif |
caf8a9b2 PE |
917 | #endif |
918 | #if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@ | |
919 | # undef SCNiFAST32 | |
920 | # if INT_FAST32_MAX > INT32_MAX | |
921 | # define SCNiFAST32 SCNi64 | |
922 | # else | |
923 | # define SCNiFAST32 "i" | |
a8a2bb29 | 924 | # endif |
caf8a9b2 PE |
925 | #endif |
926 | #if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@ | |
927 | # undef SCNoFAST32 | |
928 | # if UINT_FAST32_MAX > UINT32_MAX | |
929 | # define SCNoFAST32 SCNo64 | |
930 | # else | |
931 | # define SCNoFAST32 "o" | |
a8a2bb29 | 932 | # endif |
caf8a9b2 PE |
933 | #endif |
934 | #if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@ | |
935 | # undef SCNuFAST32 | |
936 | # if UINT_FAST32_MAX > UINT32_MAX | |
937 | # define SCNuFAST32 SCNu64 | |
938 | # else | |
939 | # define SCNuFAST32 "u" | |
a8a2bb29 | 940 | # endif |
caf8a9b2 PE |
941 | #endif |
942 | #if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@ | |
943 | # undef SCNxFAST32 | |
944 | # if UINT_FAST32_MAX > UINT32_MAX | |
945 | # define SCNxFAST32 SCNx64 | |
946 | # else | |
947 | # define SCNxFAST32 "x" | |
a8a2bb29 | 948 | # endif |
caf8a9b2 PE |
949 | #endif |
950 | #ifdef INT64_MAX | |
951 | # if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@ | |
952 | # undef SCNdFAST64 | |
953 | # define SCNdFAST64 SCNd64 | |
a8a2bb29 | 954 | # endif |
caf8a9b2 PE |
955 | # if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@ |
956 | # undef SCNiFAST64 | |
957 | # define SCNiFAST64 SCNi64 | |
958 | # endif | |
959 | #endif | |
960 | #ifdef UINT64_MAX | |
961 | # if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@ | |
962 | # undef SCNoFAST64 | |
963 | # define SCNoFAST64 SCNo64 | |
a8a2bb29 | 964 | # endif |
caf8a9b2 PE |
965 | # if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@ |
966 | # undef SCNuFAST64 | |
967 | # define SCNuFAST64 SCNu64 | |
968 | # endif | |
969 | # if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@ | |
970 | # undef SCNxFAST64 | |
971 | # define SCNxFAST64 SCNx64 | |
972 | # endif | |
973 | #endif | |
a8a2bb29 | 974 | |
caf8a9b2 PE |
975 | #if !defined SCNdMAX || @PRI_MACROS_BROKEN@ |
976 | # undef SCNdMAX | |
977 | # if @INT32_MAX_LT_INTMAX_MAX@ | |
978 | # define SCNdMAX SCNd64 | |
979 | # else | |
980 | # define SCNdMAX "ld" | |
a8a2bb29 | 981 | # endif |
caf8a9b2 PE |
982 | #endif |
983 | #if !defined SCNiMAX || @PRI_MACROS_BROKEN@ | |
984 | # undef SCNiMAX | |
985 | # if @INT32_MAX_LT_INTMAX_MAX@ | |
986 | # define SCNiMAX SCNi64 | |
987 | # else | |
988 | # define SCNiMAX "li" | |
a8a2bb29 | 989 | # endif |
caf8a9b2 PE |
990 | #endif |
991 | #if !defined SCNoMAX || @PRI_MACROS_BROKEN@ | |
992 | # undef SCNoMAX | |
993 | # if @UINT32_MAX_LT_UINTMAX_MAX@ | |
994 | # define SCNoMAX SCNo64 | |
995 | # else | |
996 | # define SCNoMAX "lo" | |
a8a2bb29 | 997 | # endif |
caf8a9b2 PE |
998 | #endif |
999 | #if !defined SCNuMAX || @PRI_MACROS_BROKEN@ | |
1000 | # undef SCNuMAX | |
1001 | # if @UINT32_MAX_LT_UINTMAX_MAX@ | |
1002 | # define SCNuMAX SCNu64 | |
1003 | # else | |
1004 | # define SCNuMAX "lu" | |
a8a2bb29 | 1005 | # endif |
caf8a9b2 PE |
1006 | #endif |
1007 | #if !defined SCNxMAX || @PRI_MACROS_BROKEN@ | |
1008 | # undef SCNxMAX | |
1009 | # if @UINT32_MAX_LT_UINTMAX_MAX@ | |
1010 | # define SCNxMAX SCNx64 | |
1011 | # else | |
1012 | # define SCNxMAX "lx" | |
a8a2bb29 | 1013 | # endif |
caf8a9b2 | 1014 | #endif |
a8a2bb29 | 1015 | |
caf8a9b2 PE |
1016 | #if !defined SCNdPTR || @PRI_MACROS_BROKEN@ |
1017 | # undef SCNdPTR | |
1018 | # ifdef INTPTR_MAX | |
1019 | # define SCNdPTR @PRIPTR_PREFIX@ "d" | |
a8a2bb29 | 1020 | # endif |
caf8a9b2 PE |
1021 | #endif |
1022 | #if !defined SCNiPTR || @PRI_MACROS_BROKEN@ | |
1023 | # undef SCNiPTR | |
1024 | # ifdef INTPTR_MAX | |
1025 | # define SCNiPTR @PRIPTR_PREFIX@ "i" | |
a8a2bb29 | 1026 | # endif |
caf8a9b2 PE |
1027 | #endif |
1028 | #if !defined SCNoPTR || @PRI_MACROS_BROKEN@ | |
1029 | # undef SCNoPTR | |
1030 | # ifdef UINTPTR_MAX | |
1031 | # define SCNoPTR @PRIPTR_PREFIX@ "o" | |
a8a2bb29 | 1032 | # endif |
caf8a9b2 PE |
1033 | #endif |
1034 | #if !defined SCNuPTR || @PRI_MACROS_BROKEN@ | |
1035 | # undef SCNuPTR | |
1036 | # ifdef UINTPTR_MAX | |
1037 | # define SCNuPTR @PRIPTR_PREFIX@ "u" | |
a8a2bb29 | 1038 | # endif |
caf8a9b2 PE |
1039 | #endif |
1040 | #if !defined SCNxPTR || @PRI_MACROS_BROKEN@ | |
1041 | # undef SCNxPTR | |
1042 | # ifdef UINTPTR_MAX | |
1043 | # define SCNxPTR @PRIPTR_PREFIX@ "x" | |
a8a2bb29 | 1044 | # endif |
a8a2bb29 PE |
1045 | #endif |
1046 | ||
1047 | /* 7.8.2 Functions for greatest-width integer types */ | |
1048 | ||
1049 | #ifdef __cplusplus | |
1050 | extern "C" { | |
1051 | #endif | |
1052 | ||
1053 | #if @GNULIB_IMAXABS@ | |
1054 | # if !@HAVE_DECL_IMAXABS@ | |
1055 | extern intmax_t imaxabs (intmax_t); | |
1056 | # endif | |
1057 | #elif defined GNULIB_POSIXCHECK | |
1058 | # undef imaxabs | |
1059 | # if HAVE_RAW_DECL_IMAXABS | |
1060 | _GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - " | |
1061 | "use gnulib module imaxabs for portability"); | |
1062 | # endif | |
1063 | #endif | |
1064 | ||
1065 | #if @GNULIB_IMAXDIV@ | |
1066 | # if !@HAVE_DECL_IMAXDIV@ | |
1067 | # if !GNULIB_defined_imaxdiv_t | |
1068 | typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; | |
1069 | # define GNULIB_defined_imaxdiv_t 1 | |
1070 | # endif | |
1071 | extern imaxdiv_t imaxdiv (intmax_t, intmax_t); | |
1072 | # endif | |
1073 | #elif defined GNULIB_POSIXCHECK | |
1074 | # undef imaxdiv | |
1075 | # if HAVE_RAW_DECL_IMAXDIV | |
1076 | _GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - " | |
1077 | "use gnulib module imaxdiv for portability"); | |
1078 | # endif | |
1079 | #endif | |
1080 | ||
1081 | #if @GNULIB_STRTOIMAX@ | |
caf8a9b2 PE |
1082 | # if @REPLACE_STRTOIMAX@ |
1083 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
1084 | # undef strtoimax | |
1085 | # define strtoimax rpl_strtoimax | |
1086 | # endif | |
1087 | _GL_FUNCDECL_RPL (strtoimax, intmax_t, | |
1088 | (const char *, char **, int) _GL_ARG_NONNULL ((1))); | |
1089 | _GL_CXXALIAS_RPL (strtoimax, intmax_t, (const char *, char **, int)); | |
1090 | # else | |
1091 | # if !@HAVE_DECL_STRTOIMAX@ | |
1092 | # undef strtoimax | |
1093 | _GL_FUNCDECL_SYS (strtoimax, intmax_t, | |
1094 | (const char *, char **, int) _GL_ARG_NONNULL ((1))); | |
1095 | # endif | |
1096 | _GL_CXXALIAS_SYS (strtoimax, intmax_t, (const char *, char **, int)); | |
a8a2bb29 | 1097 | # endif |
caf8a9b2 | 1098 | _GL_CXXALIASWARN (strtoimax); |
a8a2bb29 PE |
1099 | #elif defined GNULIB_POSIXCHECK |
1100 | # undef strtoimax | |
1101 | # if HAVE_RAW_DECL_STRTOIMAX | |
1102 | _GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - " | |
1103 | "use gnulib module strtoimax for portability"); | |
1104 | # endif | |
1105 | #endif | |
1106 | ||
1107 | #if @GNULIB_STRTOUMAX@ | |
46e5e833 PE |
1108 | # if @REPLACE_STRTOUMAX@ |
1109 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
1110 | # undef strtoumax | |
1111 | # define strtoumax rpl_strtoumax | |
1112 | # endif | |
1113 | _GL_FUNCDECL_RPL (strtoumax, uintmax_t, | |
1114 | (const char *, char **, int) _GL_ARG_NONNULL ((1))); | |
1115 | _GL_CXXALIAS_RPL (strtoumax, uintmax_t, (const char *, char **, int)); | |
1116 | # else | |
1117 | # if !@HAVE_DECL_STRTOUMAX@ | |
1118 | # undef strtoumax | |
caf8a9b2 PE |
1119 | _GL_FUNCDECL_SYS (strtoumax, uintmax_t, |
1120 | (const char *, char **, int) _GL_ARG_NONNULL ((1))); | |
46e5e833 | 1121 | # endif |
caf8a9b2 | 1122 | _GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int)); |
46e5e833 | 1123 | # endif |
caf8a9b2 | 1124 | _GL_CXXALIASWARN (strtoumax); |
a8a2bb29 PE |
1125 | #elif defined GNULIB_POSIXCHECK |
1126 | # undef strtoumax | |
1127 | # if HAVE_RAW_DECL_STRTOUMAX | |
1128 | _GL_WARN_ON_USE (strtoumax, "strtoumax is unportable - " | |
1129 | "use gnulib module strtoumax for portability"); | |
1130 | # endif | |
1131 | #endif | |
1132 | ||
1133 | /* Don't bother defining or declaring wcstoimax and wcstoumax, since | |
1134 | wide-character functions like this are hardly ever useful. */ | |
1135 | ||
1136 | #ifdef __cplusplus | |
1137 | } | |
1138 | #endif | |
1139 | ||
1140 | #endif /* !defined INTTYPES_H && !defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H */ |