Line data Source code
1 : /* Test of <inttypes.h> substitute.
2 : Copyright (C) 2006-2007, 2009-2020 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 : #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 : }
|