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 */ 98