1 /* Test of <inttypes.h> substitute. 2 Copyright (C) 2006-2007, 2009-2012 Free Software Foundation, Inc. 3 4 This program is free software: you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 3 of the License, or 7 (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 16 17 /* Written by Bruno Haible <bruno@clisp.org>, 2007. */ 18 19 #include <config.h> 20 21 #include <inttypes.h> 22 23 #include <stddef.h> 24 25 /* Tests for macros supposed to be defined in inttypes.h. */ 26 27 const char *k = /* implicit string concatenation */ 28 #ifdef INT8_MAX 29 PRId8 PRIi8 30 #endif 31 #ifdef UINT8_MAX 32 PRIo8 PRIu8 PRIx8 PRIX8 33 #endif 34 #ifdef INT16_MAX 35 PRId16 PRIi16 36 #endif 37 #ifdef UINT16_MAX 38 PRIo16 PRIu16 PRIx16 PRIX16 39 #endif 40 #ifdef INT32_MAX 41 PRId32 PRIi32 42 #endif 43 #ifdef UINT32_MAX 44 PRIo32 PRIu32 PRIx32 PRIX32 45 #endif 46 #ifdef INT64_MAX 47 PRId64 PRIi64 48 #endif 49 #ifdef UINT64_MAX 50 PRIo64 PRIu64 PRIx64 PRIX64 51 #endif 52 PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8 53 PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16 54 PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32 55 PRIdLEAST64 PRIiLEAST64 56 PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64 57 PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8 58 PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16 59 PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32 60 PRIdFAST64 PRIiFAST64 61 PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64 62 PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX 63 #ifdef INTPTR_MAX 64 PRIdPTR PRIiPTR 65 #endif 66 #ifdef UINTPTR_MAX 67 PRIoPTR PRIuPTR PRIxPTR PRIXPTR 68 #endif 69 ; 70 const char *l = /* implicit string concatenation */ 71 #ifdef INT8_MAX 72 SCNd8 SCNi8 73 #endif 74 #ifdef UINT8_MAX 75 SCNo8 SCNu8 SCNx8 76 #endif 77 #ifdef INT16_MAX 78 SCNd16 SCNi16 79 #endif 80 #ifdef UINT16_MAX 81 SCNo16 SCNu16 SCNx16 82 #endif 83 #ifdef INT32_MAX 84 SCNd32 SCNi32 85 #endif 86 #ifdef UINT32_MAX 87 SCNo32 SCNu32 SCNx32 88 #endif 89 #ifdef INT64_MAX 90 SCNd64 SCNi64 91 #endif 92 #ifdef UINT64_MAX 93 SCNo64 SCNu64 SCNx64 94 #endif 95 SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8 96 SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16 97 SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32 98 SCNdLEAST64 SCNiLEAST64 99 SCNoLEAST64 SCNuLEAST64 SCNxLEAST64 100 SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8 101 SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16 102 SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32 103 SCNdFAST64 SCNiFAST64 104 SCNoFAST64 SCNuFAST64 SCNxFAST64 105 SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX 106 #ifdef INTPTR_MAX 107 SCNdPTR SCNiPTR 108 #endif 109 #ifdef UINTPTR_MAX 110 SCNoPTR SCNuPTR SCNxPTR 111 #endif 112 ; 113 114 int main(void)115main (void) 116 { 117 return 0; 118 } 119