clang 19.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
17#if defined(_MSC_VER) && _MSC_VER < 1800
18#error MSVC does not have inttypes.h prior to Visual Studio 2013
19#endif
20
21#include_next <inttypes.h>
22
23#if defined(_MSC_VER) && _MSC_VER < 1900
24/* MSVC headers define int32_t as int, but PRIx32 as "lx" instead of "x".
25 * This triggers format warnings, so fix it up here. */
26#undef PRId32
27#undef PRIdLEAST32
28#undef PRIdFAST32
29#undef PRIi32
30#undef PRIiLEAST32
31#undef PRIiFAST32
32#undef PRIo32
33#undef PRIoLEAST32
34#undef PRIoFAST32
35#undef PRIu32
36#undef PRIuLEAST32
37#undef PRIuFAST32
38#undef PRIx32
39#undef PRIxLEAST32
40#undef PRIxFAST32
41#undef PRIX32
42#undef PRIXLEAST32
43#undef PRIXFAST32
44
45#undef SCNd32
46#undef SCNdLEAST32
47#undef SCNdFAST32
48#undef SCNi32
49#undef SCNiLEAST32
50#undef SCNiFAST32
51#undef SCNo32
52#undef SCNoLEAST32
53#undef SCNoFAST32
54#undef SCNu32
55#undef SCNuLEAST32
56#undef SCNuFAST32
57#undef SCNx32
58#undef SCNxLEAST32
59#undef SCNxFAST32
60
61#define PRId32 "d"
62#define PRIdLEAST32 "d"
63#define PRIdFAST32 "d"
64#define PRIi32 "i"
65#define PRIiLEAST32 "i"
66#define PRIiFAST32 "i"
67#define PRIo32 "o"
68#define PRIoLEAST32 "o"
69#define PRIoFAST32 "o"
70#define PRIu32 "u"
71#define PRIuLEAST32 "u"
72#define PRIuFAST32 "u"
73#define PRIx32 "x"
74#define PRIxLEAST32 "x"
75#define PRIxFAST32 "x"
76#define PRIX32 "X"
77#define PRIXLEAST32 "X"
78#define PRIXFAST32 "X"
79
80#define SCNd32 "d"
81#define SCNdLEAST32 "d"
82#define SCNdFAST32 "d"
83#define SCNi32 "i"
84#define SCNiLEAST32 "i"
85#define SCNiFAST32 "i"
86#define SCNo32 "o"
87#define SCNoLEAST32 "o"
88#define SCNoFAST32 "o"
89#define SCNu32 "u"
90#define SCNuLEAST32 "u"
91#define SCNuFAST32 "u"
92#define SCNx32 "x"
93#define SCNxLEAST32 "x"
94#define SCNxFAST32 "x"
95#endif
96
97#endif /* __CLANG_INTTYPES_H */