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