clang  20.0.0git
inttypes.h
Go to the documentation of this file.
1 /*===---- inttypes.h - Standard header for integer printf macros ----------===*\
2  *
3  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4  * See https://llvm.org/LICENSE.txt for license information.
5  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6  *
7 \*===----------------------------------------------------------------------===*/
8 
9 #ifndef __CLANG_INTTYPES_H
10 // AIX system headers need inttypes.h to be re-enterable while _STD_TYPES_T
11 // is defined until an inclusion of it without _STD_TYPES_T occurs, in which
12 // case the header guard macro is defined.
13 #if !defined(_AIX) || !defined(_STD_TYPES_T)
14 #define __CLANG_INTTYPES_H
15 #endif
16 #if defined(__MVS__) && __has_include_next(<inttypes.h>)
17 #include_next <inttypes.h>
18 #else
19 
20 #if defined(_MSC_VER) && _MSC_VER < 1800
21 #error MSVC does not have inttypes.h prior to Visual Studio 2013
22 #endif
23 
24 #include_next <inttypes.h>
25 
26 #if defined(_MSC_VER) && _MSC_VER < 1900
27 /* MSVC headers define int32_t as int, but PRIx32 as "lx" instead of "x".
28  * This triggers format warnings, so fix it up here. */
29 #undef PRId32
30 #undef PRIdLEAST32
31 #undef PRIdFAST32
32 #undef PRIi32
33 #undef PRIiLEAST32
34 #undef PRIiFAST32
35 #undef PRIo32
36 #undef PRIoLEAST32
37 #undef PRIoFAST32
38 #undef PRIu32
39 #undef PRIuLEAST32
40 #undef PRIuFAST32
41 #undef PRIx32
42 #undef PRIxLEAST32
43 #undef PRIxFAST32
44 #undef PRIX32
45 #undef PRIXLEAST32
46 #undef PRIXFAST32
47 
48 #undef SCNd32
49 #undef SCNdLEAST32
50 #undef SCNdFAST32
51 #undef SCNi32
52 #undef SCNiLEAST32
53 #undef SCNiFAST32
54 #undef SCNo32
55 #undef SCNoLEAST32
56 #undef SCNoFAST32
57 #undef SCNu32
58 #undef SCNuLEAST32
59 #undef SCNuFAST32
60 #undef SCNx32
61 #undef SCNxLEAST32
62 #undef SCNxFAST32
63 
64 #define PRId32 "d"
65 #define PRIdLEAST32 "d"
66 #define PRIdFAST32 "d"
67 #define PRIi32 "i"
68 #define PRIiLEAST32 "i"
69 #define PRIiFAST32 "i"
70 #define PRIo32 "o"
71 #define PRIoLEAST32 "o"
72 #define PRIoFAST32 "o"
73 #define PRIu32 "u"
74 #define PRIuLEAST32 "u"
75 #define PRIuFAST32 "u"
76 #define PRIx32 "x"
77 #define PRIxLEAST32 "x"
78 #define PRIxFAST32 "x"
79 #define PRIX32 "X"
80 #define PRIXLEAST32 "X"
81 #define PRIXFAST32 "X"
82 
83 #define SCNd32 "d"
84 #define SCNdLEAST32 "d"
85 #define SCNdFAST32 "d"
86 #define SCNi32 "i"
87 #define SCNiLEAST32 "i"
88 #define SCNiFAST32 "i"
89 #define SCNo32 "o"
90 #define SCNoLEAST32 "o"
91 #define SCNoFAST32 "o"
92 #define SCNu32 "u"
93 #define SCNuLEAST32 "u"
94 #define SCNuFAST32 "u"
95 #define SCNx32 "x"
96 #define SCNxLEAST32 "x"
97 #define SCNxFAST32 "x"
98 #endif
99 
100 #endif /* __MVS__ */
101 #endif /* __CLANG_INTTYPES_H */