Branch data Line data Source code
1 : : /* Test of <inttypes.h> substitute.
2 : : Copyright (C) 2006-2007, 2009-2012 Free Software Foundation, Inc.
3 : :
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 : :
9 : : This program is distributed in the hope that it will be useful,
10 : : but WITHOUT ANY WARRANTY; without even the implied warranty of
11 : : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 : : GNU General Public License for more details.
13 : :
14 : : You should have received a copy of the GNU General Public License
15 : : along with this program. If not, see <http://www.gnu.org/licenses/>. */
16 : :
17 : : /* Written by Bruno Haible <bruno@clisp.org>, 2007. */
18 : :
19 : : #include <config.h>
20 : :
21 : : #include <inttypes.h>
22 : :
23 : : #include <stddef.h>
24 : :
25 : : /* Tests for macros supposed to be defined in inttypes.h. */
26 : :
27 : : const char *k = /* implicit string concatenation */
28 : : #ifdef INT8_MAX
29 : : PRId8 PRIi8
30 : : #endif
31 : : #ifdef UINT8_MAX
32 : : PRIo8 PRIu8 PRIx8 PRIX8
33 : : #endif
34 : : #ifdef INT16_MAX
35 : : PRId16 PRIi16
36 : : #endif
37 : : #ifdef UINT16_MAX
38 : : PRIo16 PRIu16 PRIx16 PRIX16
39 : : #endif
40 : : #ifdef INT32_MAX
41 : : PRId32 PRIi32
42 : : #endif
43 : : #ifdef UINT32_MAX
44 : : PRIo32 PRIu32 PRIx32 PRIX32
45 : : #endif
46 : : #ifdef INT64_MAX
47 : : PRId64 PRIi64
48 : : #endif
49 : : #ifdef UINT64_MAX
50 : : PRIo64 PRIu64 PRIx64 PRIX64
51 : : #endif
52 : : PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8
53 : : PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16
54 : : PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32
55 : : PRIdLEAST64 PRIiLEAST64
56 : : PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64
57 : : PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8
58 : : PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16
59 : : PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32
60 : : PRIdFAST64 PRIiFAST64
61 : : PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64
62 : : PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX
63 : : #ifdef INTPTR_MAX
64 : : PRIdPTR PRIiPTR
65 : : #endif
66 : : #ifdef UINTPTR_MAX
67 : : PRIoPTR PRIuPTR PRIxPTR PRIXPTR
68 : : #endif
69 : : ;
70 : : const char *l = /* implicit string concatenation */
71 : : #ifdef INT8_MAX
72 : : SCNd8 SCNi8
73 : : #endif
74 : : #ifdef UINT8_MAX
75 : : SCNo8 SCNu8 SCNx8
76 : : #endif
77 : : #ifdef INT16_MAX
78 : : SCNd16 SCNi16
79 : : #endif
80 : : #ifdef UINT16_MAX
81 : : SCNo16 SCNu16 SCNx16
82 : : #endif
83 : : #ifdef INT32_MAX
84 : : SCNd32 SCNi32
85 : : #endif
86 : : #ifdef UINT32_MAX
87 : : SCNo32 SCNu32 SCNx32
88 : : #endif
89 : : #ifdef INT64_MAX
90 : : SCNd64 SCNi64
91 : : #endif
92 : : #ifdef UINT64_MAX
93 : : SCNo64 SCNu64 SCNx64
94 : : #endif
95 : : SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8
96 : : SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16
97 : : SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32
98 : : SCNdLEAST64 SCNiLEAST64
99 : : SCNoLEAST64 SCNuLEAST64 SCNxLEAST64
100 : : SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8
101 : : SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16
102 : : SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32
103 : : SCNdFAST64 SCNiFAST64
104 : : SCNoFAST64 SCNuFAST64 SCNxFAST64
105 : : SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX
106 : : #ifdef INTPTR_MAX
107 : : SCNdPTR SCNiPTR
108 : : #endif
109 : : #ifdef UINTPTR_MAX
110 : : SCNoPTR SCNuPTR SCNxPTR
111 : : #endif
112 : : ;
113 : :
114 : : int
115 : 1 : main (void)
116 : : {
117 : 1 : return 0;
118 : : }
|