1 /*===---- inttypes.h - Standard header for integer printf macros ----------===*\ 2 * 3 * Permission is hereby granted, free of charge, to any person obtaining a copy 4 * of this software and associated documentation files (the "Software"), to deal 5 * in the Software without restriction, including without limitation the rights 6 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 * copies of the Software, and to permit persons to whom the Software is 8 * furnished to do so, subject to the following conditions: 9 * 10 * The above copyright notice and this permission notice shall be included in 11 * all copies or substantial portions of the Software. 12 * 13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 * THE SOFTWARE. 20 * 21 \*===----------------------------------------------------------------------===*/ 22 23 #ifndef __CLANG_INTTYPES_H 24 #define __CLANG_INTTYPES_H 25 26 #if defined(_MSC_VER) && _MSC_VER < 1800 27 #error MSVC does not have inttypes.h prior to Visual Studio 2013 28 #endif 29 30 #include_next <inttypes.h> 31 32 #if defined(_MSC_VER) && _MSC_VER < 1900 33 /* MSVC headers define int32_t as int, but PRIx32 as "lx" instead of "x". 34 * This triggers format warnings, so fix it up here. */ 35 #undef PRId32 36 #undef PRIdLEAST32 37 #undef PRIdFAST32 38 #undef PRIi32 39 #undef PRIiLEAST32 40 #undef PRIiFAST32 41 #undef PRIo32 42 #undef PRIoLEAST32 43 #undef PRIoFAST32 44 #undef PRIu32 45 #undef PRIuLEAST32 46 #undef PRIuFAST32 47 #undef PRIx32 48 #undef PRIxLEAST32 49 #undef PRIxFAST32 50 #undef PRIX32 51 #undef PRIXLEAST32 52 #undef PRIXFAST32 53 54 #undef SCNd32 55 #undef SCNdLEAST32 56 #undef SCNdFAST32 57 #undef SCNi32 58 #undef SCNiLEAST32 59 #undef SCNiFAST32 60 #undef SCNo32 61 #undef SCNoLEAST32 62 #undef SCNoFAST32 63 #undef SCNu32 64 #undef SCNuLEAST32 65 #undef SCNuFAST32 66 #undef SCNx32 67 #undef SCNxLEAST32 68 #undef SCNxFAST32 69 70 #define PRId32 "d" 71 #define PRIdLEAST32 "d" 72 #define PRIdFAST32 "d" 73 #define PRIi32 "i" 74 #define PRIiLEAST32 "i" 75 #define PRIiFAST32 "i" 76 #define PRIo32 "o" 77 #define PRIoLEAST32 "o" 78 #define PRIoFAST32 "o" 79 #define PRIu32 "u" 80 #define PRIuLEAST32 "u" 81 #define PRIuFAST32 "u" 82 #define PRIx32 "x" 83 #define PRIxLEAST32 "x" 84 #define PRIxFAST32 "x" 85 #define PRIX32 "X" 86 #define PRIXLEAST32 "X" 87 #define PRIXFAST32 "X" 88 89 #define SCNd32 "d" 90 #define SCNdLEAST32 "d" 91 #define SCNdFAST32 "d" 92 #define SCNi32 "i" 93 #define SCNiLEAST32 "i" 94 #define SCNiFAST32 "i" 95 #define SCNo32 "o" 96 #define SCNoLEAST32 "o" 97 #define SCNoFAST32 "o" 98 #define SCNu32 "u" 99 #define SCNuLEAST32 "u" 100 #define SCNuFAST32 "u" 101 #define SCNx32 "x" 102 #define SCNxLEAST32 "x" 103 #define SCNxFAST32 "x" 104 #endif 105 106 #endif /* __CLANG_INTTYPES_H */ 107