inttypes.in.h 26 KB

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