1 /* Test of <inttypes.h> substitute.
2 Copyright (C) 2006-2007, 2009-2023 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 <https://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 /* Tests for macros supposed to be defined in inttypes.h. */
24
25 const char *k = /* implicit string concatenation */
26 #ifdef INT8_MAX
27 PRId8 PRIi8
28 #endif
29 #ifdef UINT8_MAX
30 PRIo8 PRIu8 PRIx8 PRIX8
31 #endif
32 #ifdef INT16_MAX
33 PRId16 PRIi16
34 #endif
35 #ifdef UINT16_MAX
36 PRIo16 PRIu16 PRIx16 PRIX16
37 #endif
38 #ifdef INT32_MAX
39 PRId32 PRIi32
40 #endif
41 #ifdef UINT32_MAX
42 PRIo32 PRIu32 PRIx32 PRIX32
43 #endif
44 #ifdef INT64_MAX
45 PRId64 PRIi64
46 #endif
47 #ifdef UINT64_MAX
48 PRIo64 PRIu64 PRIx64 PRIX64
49 #endif
50 PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8
51 PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16
52 PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32
53 PRIdLEAST64 PRIiLEAST64
54 PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64
55 PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8
56 PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16
57 PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32
58 PRIdFAST64 PRIiFAST64
59 PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64
60 PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX
61 #ifdef INTPTR_MAX
62 PRIdPTR PRIiPTR
63 #endif
64 #ifdef UINTPTR_MAX
65 PRIoPTR PRIuPTR PRIxPTR PRIXPTR
66 #endif
67 ;
68 const char *l = /* implicit string concatenation */
69 #ifdef INT8_MAX
70 SCNd8 SCNi8
71 #endif
72 #ifdef UINT8_MAX
73 SCNo8 SCNu8 SCNx8
74 #endif
75 #ifdef INT16_MAX
76 SCNd16 SCNi16
77 #endif
78 #ifdef UINT16_MAX
79 SCNo16 SCNu16 SCNx16
80 #endif
81 #ifdef INT32_MAX
82 SCNd32 SCNi32
83 #endif
84 #ifdef UINT32_MAX
85 SCNo32 SCNu32 SCNx32
86 #endif
87 #ifdef INT64_MAX
88 SCNd64 SCNi64
89 #endif
90 #ifdef UINT64_MAX
91 SCNo64 SCNu64 SCNx64
92 #endif
93 SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8
94 SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16
95 SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32
96 SCNdLEAST64 SCNiLEAST64
97 SCNoLEAST64 SCNuLEAST64 SCNxLEAST64
98 SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8
99 SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16
100 SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32
101 SCNdFAST64 SCNiFAST64
102 SCNoFAST64 SCNuFAST64 SCNxFAST64
103 SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX
104 #ifdef INTPTR_MAX
105 SCNdPTR SCNiPTR
106 #endif
107 #ifdef UINTPTR_MAX
108 SCNoPTR SCNuPTR SCNxPTR
109 #endif
110 ;
111
112 int
113 main (void)
114 {
115 return 0;
116 }