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