1bf7d9970SAaron Ballman // RUN: %clang_cc1 -ffreestanding -fsyntax-only -verify -std=c17 %s 2bf7d9970SAaron Ballman // RUN: %clang_cc1 -ffreestanding -fsyntax-only -verify -std=c2x %s 3bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=aarch64-none-none 4bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=arm-none-none 5bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=i386-none-none 6bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=mips-none-none 7bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=mips64-none-none 8bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=msp430-none-none 9bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=powerpc64-none-none 10bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=powerpc64-none-netbsd 11bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=powerpc-none-none 12bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=s390x-none-none 13bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=sparc-none-none 14bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=tce-none-none 15bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=x86_64-none-none 16bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=x86_64-pc-linux-gnu 17bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=i386-mingw32 18bf7d9970SAaron Ballman // RUN: %clang_cc1 %s -ffreestanding -std=c2x -fsyntax-only -triple=xcore-none-none 19bf7d9970SAaron Ballman // expected-no-diagnostics 20bf7d9970SAaron Ballman 21bf7d9970SAaron Ballman #include <stdint.h> 22bf7d9970SAaron Ballman 23*13629b14SAaron Ballman #if __STDC_VERSION__ >= 202311L 24bf7d9970SAaron Ballman /* Validate the standard requirements. */ 25bf7d9970SAaron Ballman _Static_assert(SIG_ATOMIC_WIDTH >= 8); 26bf7d9970SAaron Ballman _Static_assert(SIZE_WIDTH >= 16); 27bf7d9970SAaron Ballman _Static_assert(SIZE_WIDTH / __CHAR_BIT__ == sizeof(sizeof(0))); 28bf7d9970SAaron Ballman _Static_assert(WCHAR_WIDTH >= 8); 29bf7d9970SAaron Ballman _Static_assert(WCHAR_WIDTH / __CHAR_BIT__ == sizeof(L't')); 30bf7d9970SAaron Ballman _Static_assert(WINT_WIDTH >= 16); 31bf7d9970SAaron Ballman _Static_assert(UINTPTR_WIDTH >= 16); 32bf7d9970SAaron Ballman _Static_assert(UINTPTR_WIDTH / __CHAR_BIT__ == sizeof(uintptr_t)); 33bf7d9970SAaron Ballman _Static_assert(INTPTR_WIDTH == UINTPTR_WIDTH); 34bf7d9970SAaron Ballman _Static_assert(INTPTR_WIDTH / __CHAR_BIT__ == sizeof(intptr_t)); 35bf7d9970SAaron Ballman 36bf7d9970SAaron Ballman /* FIXME: the TCE target is not a conforming C target because it defines these 37bf7d9970SAaron Ballman values to be less than 64. */ 38bf7d9970SAaron Ballman #if !defined(__TCE__) 39bf7d9970SAaron Ballman _Static_assert(UINTMAX_WIDTH >= 64); 40bf7d9970SAaron Ballman _Static_assert(UINTMAX_WIDTH / __CHAR_BIT__ == sizeof(uintmax_t)); 41bf7d9970SAaron Ballman _Static_assert(INTMAX_WIDTH == UINTMAX_WIDTH); 42bf7d9970SAaron Ballman _Static_assert(INTMAX_WIDTH / __CHAR_BIT__ == sizeof(intmax_t)); 43bf7d9970SAaron Ballman #endif 44bf7d9970SAaron Ballman 45bf7d9970SAaron Ballman /* NB: WG14 N2412 set this to 17, but WG14 N2808 set it back to 16. */ 46bf7d9970SAaron Ballman _Static_assert(PTRDIFF_WIDTH >= 16); 47bf7d9970SAaron Ballman #else 48bf7d9970SAaron Ballman /* None of these are defined. */ 49bf7d9970SAaron Ballman int PTRDIFF_WIDTH, SIG_ATOMIC_WIDTH, SIZE_WIDTH, WCHAR_WIDTH, WINT_WIDTH, 50bf7d9970SAaron Ballman INTPTR_WIDTH, UINTPTR_WIDTH, INTMAX_WIDTH, UINTMAX_WIDTH; 51bf7d9970SAaron Ballman #endif 52bf7d9970SAaron Ballman 53*13629b14SAaron Ballman #if defined(INT8_MAX) && __STDC_VERSION__ >= 202311L 54bf7d9970SAaron Ballman _Static_assert(INT8_WIDTH == 8, ""); 55bf7d9970SAaron Ballman _Static_assert(UINT8_WIDTH == INT8_WIDTH, ""); 56bf7d9970SAaron Ballman _Static_assert(INT8_WIDTH / __CHAR_BIT__ == sizeof(int8_t), ""); 57bf7d9970SAaron Ballman _Static_assert(UINT8_WIDTH / __CHAR_BIT__ == sizeof(uint8_t), ""); 58bf7d9970SAaron Ballman #else 59bf7d9970SAaron Ballman int INT8_WIDTH, UINT8_WIDTH; /* None of these are defined. */ 60bf7d9970SAaron Ballman #endif 61*13629b14SAaron Ballman #if defined(INT_LEAST8_MAX) && __STDC_VERSION__ >= 202311L 62bf7d9970SAaron Ballman _Static_assert(INT_LEAST8_WIDTH >= 8, ""); 63bf7d9970SAaron Ballman _Static_assert(INT_LEAST8_WIDTH / __CHAR_BIT__ == sizeof(int_least8_t), ""); 64bf7d9970SAaron Ballman _Static_assert(UINT_LEAST8_WIDTH == INT_LEAST8_WIDTH, ""); 65bf7d9970SAaron Ballman _Static_assert(UINT_LEAST8_WIDTH / __CHAR_BIT__ == sizeof(uint_least8_t), ""); 66bf7d9970SAaron Ballman #else 67bf7d9970SAaron Ballman int INT_LEAST8_WIDTH, UINT_LEAST8_WIDTH; /* None of these are defined. */ 68bf7d9970SAaron Ballman #endif 69*13629b14SAaron Ballman #if defined(INT_FAST8_MAX) && __STDC_VERSION__ >= 202311L 70bf7d9970SAaron Ballman _Static_assert(INT_FAST8_WIDTH >= 8, ""); 71bf7d9970SAaron Ballman _Static_assert(INT_FAST8_WIDTH / __CHAR_BIT__ == sizeof(int_fast8_t), ""); 72bf7d9970SAaron Ballman _Static_assert(UINT_FAST8_WIDTH == INT_FAST8_WIDTH, ""); 73bf7d9970SAaron Ballman _Static_assert(UINT_FAST8_WIDTH / __CHAR_BIT__ == sizeof(uint_fast8_t), ""); 74bf7d9970SAaron Ballman #else 75bf7d9970SAaron Ballman int INT_FAST8_WIDTH, UINT_FAST8_WIDTH; /* None of these are defined. */ 76bf7d9970SAaron Ballman #endif 77bf7d9970SAaron Ballman 78*13629b14SAaron Ballman #if defined(INT16_MAX) && __STDC_VERSION__ >= 202311L 79bf7d9970SAaron Ballman _Static_assert(INT16_WIDTH == 16, ""); 80bf7d9970SAaron Ballman _Static_assert(UINT16_WIDTH == INT16_WIDTH, ""); 81bf7d9970SAaron Ballman _Static_assert(INT16_WIDTH / __CHAR_BIT__ == sizeof(int16_t), ""); 82bf7d9970SAaron Ballman _Static_assert(UINT16_WIDTH / __CHAR_BIT__ == sizeof(uint16_t), ""); 83bf7d9970SAaron Ballman #else 84bf7d9970SAaron Ballman int INT16_WIDTH, UINT16_WIDTH; /* None of these are defined. */ 85bf7d9970SAaron Ballman #endif 86*13629b14SAaron Ballman #if defined(INT_LEAST16_MAX) && __STDC_VERSION__ >= 202311L 87bf7d9970SAaron Ballman _Static_assert(INT_LEAST16_WIDTH >= 16, ""); 88bf7d9970SAaron Ballman _Static_assert(INT_LEAST16_WIDTH / __CHAR_BIT__ == sizeof(int_least16_t), ""); 89bf7d9970SAaron Ballman _Static_assert(UINT_LEAST16_WIDTH == INT_LEAST16_WIDTH, ""); 90bf7d9970SAaron Ballman _Static_assert(UINT_LEAST16_WIDTH / __CHAR_BIT__ == sizeof(uint_least16_t), ""); 91bf7d9970SAaron Ballman #else 92bf7d9970SAaron Ballman int INT_LEAST16_WIDTH, UINT_LEAST16_WIDTH; /* None of these are defined. */ 93bf7d9970SAaron Ballman #endif 94*13629b14SAaron Ballman #if defined(INT_FAST16_MAX) && __STDC_VERSION__ >= 202311L 95bf7d9970SAaron Ballman _Static_assert(INT_FAST16_WIDTH >= 16, ""); 96bf7d9970SAaron Ballman _Static_assert(INT_FAST16_WIDTH / __CHAR_BIT__ == sizeof(int_fast16_t), ""); 97bf7d9970SAaron Ballman _Static_assert(UINT_FAST16_WIDTH == INT_FAST16_WIDTH, ""); 98bf7d9970SAaron Ballman _Static_assert(UINT_FAST16_WIDTH / __CHAR_BIT__ == sizeof(int_fast16_t), ""); 99bf7d9970SAaron Ballman #else 100bf7d9970SAaron Ballman int INT_FAST16_WIDTH, UINT_FAST16_WIDTH; /* None of these are defined. */ 101bf7d9970SAaron Ballman #endif 102bf7d9970SAaron Ballman 103*13629b14SAaron Ballman #if defined(INT24_MAX) && __STDC_VERSION__ >= 202311L 104bf7d9970SAaron Ballman _Static_assert(INT24_WIDTH == 24, ""); 105bf7d9970SAaron Ballman _Static_assert(UINT24_WIDTH == INT24_WIDTH, ""); 106bf7d9970SAaron Ballman _Static_assert(INT24_WIDTH / __CHAR_BIT__ == sizeof(int24_t), ""); 107bf7d9970SAaron Ballman _Static_assert(UINT24_WIDTH / __CHAR_BIT__ == sizeof(uint24_t), ""); 108bf7d9970SAaron Ballman #else 109bf7d9970SAaron Ballman int INT24_WIDTH, UINT24_WIDTH; /* None of these are defined. */ 110bf7d9970SAaron Ballman #endif 111*13629b14SAaron Ballman #if defined(INT_LEAST24_MAX) && __STDC_VERSION__ >= 202311L 112bf7d9970SAaron Ballman _Static_assert(INT_LEAST24_WIDTH >= 24, ""); 113bf7d9970SAaron Ballman _Static_assert(INT_LEAST24_WIDTH / __CHAR_BIT__ == sizeof(int_least24_t), ""); 114bf7d9970SAaron Ballman _Static_assert(UINT_LEAST24_WIDTH == INT_LEAST24_WIDTH, ""); 115bf7d9970SAaron Ballman _Static_assert(UINT_LEAST24_WIDTH / __CHAR_BIT__ == sizeof(uint_least24_t), ""); 116bf7d9970SAaron Ballman #else 117bf7d9970SAaron Ballman int INT_LEAST24_WIDTH, UINT_LEAST24_WIDTH; /* None of these are defined. */ 118bf7d9970SAaron Ballman #endif 119*13629b14SAaron Ballman #if defined(INT_FAST24_MAX) && __STDC_VERSION__ >= 202311L 120bf7d9970SAaron Ballman _Static_assert(INT_FAST24_WIDTH >= 24, ""); 121bf7d9970SAaron Ballman _Static_assert(INT_FAST24_WIDTH / __CHAR_BIT__ == sizeof(int_fast24_t), ""); 122bf7d9970SAaron Ballman _Static_assert(UINT_FAST24_WIDTH == INT_FAST24_WIDTH, ""); 123bf7d9970SAaron Ballman _Static_assert(UINT_FAST24_WIDTH / __CHAR_BIT__ == sizeof(uint_fast24_t), ""); 124bf7d9970SAaron Ballman #else 125bf7d9970SAaron Ballman int INT_FAST24_WIDTH, UINT_FAST24_WIDTH; /* None of these are defined. */ 126bf7d9970SAaron Ballman #endif 127bf7d9970SAaron Ballman 128*13629b14SAaron Ballman #if defined(INT32_MAX) && __STDC_VERSION__ >= 202311L 129bf7d9970SAaron Ballman _Static_assert(INT32_WIDTH == 32, ""); 130bf7d9970SAaron Ballman _Static_assert(UINT32_WIDTH == INT32_WIDTH, ""); 131bf7d9970SAaron Ballman _Static_assert(INT32_WIDTH / __CHAR_BIT__ == sizeof(int32_t), ""); 132bf7d9970SAaron Ballman _Static_assert(UINT32_WIDTH / __CHAR_BIT__ == sizeof(uint32_t), ""); 133bf7d9970SAaron Ballman #else 134bf7d9970SAaron Ballman int INT32_WIDTH, UINT32_WIDTH; /* None of these are defined. */ 135bf7d9970SAaron Ballman #endif 136*13629b14SAaron Ballman #if defined(INT_LEAST32_MAX) && __STDC_VERSION__ >= 202311L 137bf7d9970SAaron Ballman _Static_assert(INT_LEAST32_WIDTH >= 32, ""); 138bf7d9970SAaron Ballman _Static_assert(INT_LEAST32_WIDTH / __CHAR_BIT__ == sizeof(int_least32_t), ""); 139bf7d9970SAaron Ballman _Static_assert(UINT_LEAST32_WIDTH == INT_LEAST32_WIDTH, ""); 140bf7d9970SAaron Ballman _Static_assert(UINT_LEAST32_WIDTH / __CHAR_BIT__ == sizeof(uint_least32_t), ""); 141bf7d9970SAaron Ballman #else 142bf7d9970SAaron Ballman int INT_LEAST32_WIDTH, UINT_LEAST32_WIDTH; /* None of these are defined. */ 143bf7d9970SAaron Ballman #endif 144*13629b14SAaron Ballman #if defined(INT_FAST32_MAX) && __STDC_VERSION__ >= 202311L 145bf7d9970SAaron Ballman _Static_assert(INT_FAST32_WIDTH >= 32, ""); 146bf7d9970SAaron Ballman _Static_assert(INT_FAST32_WIDTH / __CHAR_BIT__ == sizeof(int_fast32_t), ""); 147bf7d9970SAaron Ballman _Static_assert(UINT_FAST32_WIDTH == INT_FAST32_WIDTH, ""); 148bf7d9970SAaron Ballman _Static_assert(UINT_FAST32_WIDTH / __CHAR_BIT__ == sizeof(uint_fast32_t), ""); 149bf7d9970SAaron Ballman #else 150bf7d9970SAaron Ballman int INT_FAST32_WIDTH, UINT_FAST32_WIDTH; /* None of these are defined. */ 151bf7d9970SAaron Ballman #endif 152bf7d9970SAaron Ballman 153*13629b14SAaron Ballman #if defined(INT40_MAX) && __STDC_VERSION__ >= 202311L 154bf7d9970SAaron Ballman _Static_assert(INT40_WIDTH == 40, ""); 155bf7d9970SAaron Ballman _Static_assert(UINT40_WIDTH == INT40_WIDTH, ""); 156bf7d9970SAaron Ballman _Static_assert(INT40_WIDTH / __CHAR_BIT__ == sizeof(int40_t), ""); 157bf7d9970SAaron Ballman _Static_assert(UINT40_WIDTH / __CHAR_BIT__ == sizeof(uint40_t), ""); 158bf7d9970SAaron Ballman #else 159bf7d9970SAaron Ballman int INT40_WIDTH, UINT40_WIDTH; /* None of these are defined. */ 160bf7d9970SAaron Ballman #endif 161*13629b14SAaron Ballman #if defined(INT_LEAST40_MAX) && __STDC_VERSION__ >= 202311L 162bf7d9970SAaron Ballman _Static_assert(INT_LEAST40_WIDTH >= 40, ""); 163bf7d9970SAaron Ballman _Static_assert(INT_LEAST40_WIDTH / __CHAR_BIT__ == sizeof(int_least40_t), ""); 164bf7d9970SAaron Ballman _Static_assert(UINT_LEAST40_WIDTH == INT_LEAST40_WIDTH, ""); 165bf7d9970SAaron Ballman _Static_assert(UINT_LEAST40_WIDTH / __CHAR_BIT__ == sizeof(int_least40_t), ""); 166bf7d9970SAaron Ballman #else 167bf7d9970SAaron Ballman int INT_LEAST40_WIDTH, UINT_LEAST40_WIDTH; /* None of these are defined. */ 168bf7d9970SAaron Ballman #endif 169*13629b14SAaron Ballman #if defined(INT_FAST40_MAX) && __STDC_VERSION__ >= 202311L 170bf7d9970SAaron Ballman _Static_assert(INT_FAST40_WIDTH >= 40, ""); 171bf7d9970SAaron Ballman _Static_assert(INT_FAST40_WIDTH / __CHAR_BIT__ == sizeof(int_fast40_t), ""); 172bf7d9970SAaron Ballman _Static_assert(UINT_FAST40_WIDTH == INT_FAST40_WIDTH, ""); 173bf7d9970SAaron Ballman _Static_assert(UINT_FAST40_WIDTH / __CHAR_BIT__ == sizeof(uint_fast40_t), ""); 174bf7d9970SAaron Ballman #else 175bf7d9970SAaron Ballman int INT_FAST40_WIDTH, UINT_FAST40_WIDTH; /* None of these are defined. */ 176bf7d9970SAaron Ballman #endif 177bf7d9970SAaron Ballman 178*13629b14SAaron Ballman #if defined(INT48_MAX) && __STDC_VERSION__ >= 202311L 179bf7d9970SAaron Ballman _Static_assert(INT48_WIDTH == 48, ""); 180bf7d9970SAaron Ballman _Static_assert(UINT48_WIDTH == INT48_WIDTH, ""); 181bf7d9970SAaron Ballman _Static_assert(INT48_WIDTH / __CHAR_BIT__ == sizeof(int48_t), ""); 182bf7d9970SAaron Ballman _Static_assert(UINT48_WIDTH / __CHAR_BIT__ == sizeof(uint48_t), ""); 183bf7d9970SAaron Ballman #else 184bf7d9970SAaron Ballman int INT48_WIDTH, UINT48_WIDTH; /* None of these are defined. */ 185bf7d9970SAaron Ballman #endif 186*13629b14SAaron Ballman #if defined(INT_LEAST48_MAX) && __STDC_VERSION__ >= 202311L 187bf7d9970SAaron Ballman _Static_assert(INT_LEAST48_WIDTH >= 48, ""); 188bf7d9970SAaron Ballman _Static_assert(INT_LEAST48_WIDTH / __CHAR_BIT__ == sizeof(int_least48_t), ""); 189bf7d9970SAaron Ballman _Static_assert(UINT_LEAST48_WIDTH == INT_LEAST48_WIDTH, ""); 190bf7d9970SAaron Ballman _Static_assert(UINT_LEAST48_WIDTH / __CHAR_BIT__ == sizeof(int_least48_t), ""); 191bf7d9970SAaron Ballman #else 192bf7d9970SAaron Ballman int INT_LEAST48_WIDTH, UINT_LEAST48_WIDTH; /* None of these are defined. */ 193bf7d9970SAaron Ballman #endif 194*13629b14SAaron Ballman #if defined(INT_FAST48_MAX) && __STDC_VERSION__ >= 202311L 195bf7d9970SAaron Ballman _Static_assert(INT_FAST48_WIDTH >= 48, ""); 196bf7d9970SAaron Ballman _Static_assert(INT_FAST48_WIDTH / __CHAR_BIT__ == sizeof(int_fast48_t), ""); 197bf7d9970SAaron Ballman _Static_assert(UINT_FAST48_WIDTH == INT_FAST48_WIDTH, ""); 198bf7d9970SAaron Ballman _Static_assert(UINT_FAST48_WIDTH / __CHAR_BIT__ == sizeof(int_fast48_t), ""); 199bf7d9970SAaron Ballman #else 200bf7d9970SAaron Ballman int INT_FAST48_WIDTH, UINT_FAST48_WIDTH; /* None of these are defined. */ 201bf7d9970SAaron Ballman #endif 202bf7d9970SAaron Ballman 203*13629b14SAaron Ballman #if defined(INT56_MAX) && __STDC_VERSION__ >= 202311L 204bf7d9970SAaron Ballman _Static_assert(INT56_WIDTH == 56, ""); 205bf7d9970SAaron Ballman _Static_assert(UINT56_WIDTH == INT56_WIDTH, ""); 206bf7d9970SAaron Ballman _Static_assert(INT56_WIDTH / __CHAR_BIT__ == sizeof(int56_t), ""); 207bf7d9970SAaron Ballman _Static_assert(UINT56_WIDTH / __CHAR_BIT__ == sizeof(uint56_t), ""); 208bf7d9970SAaron Ballman #else 209bf7d9970SAaron Ballman int INT56_WIDTH, UINT56_WIDTH; /* None of these are defined. */ 210bf7d9970SAaron Ballman #endif 211*13629b14SAaron Ballman #if defined(INT_LEAST56_MAX) && __STDC_VERSION__ >= 202311L 212bf7d9970SAaron Ballman _Static_assert(INT_LEAST56_WIDTH >= 56, ""); 213bf7d9970SAaron Ballman _Static_assert(INT_LEAST56_WIDTH / __CHAR_BIT__ == sizeof(int_least56_t), ""); 214bf7d9970SAaron Ballman _Static_assert(UINT_LEAST56_WIDTH == INT_LEAST56_WIDTH, ""); 215bf7d9970SAaron Ballman _Static_assert(UINT_LEAST56_WIDTH / __CHAR_BIT__ == sizeof(int_least56_t), ""); 216bf7d9970SAaron Ballman #else 217bf7d9970SAaron Ballman int INT_LEAST56_WIDTH, UINT_LEAST56_WIDTH; /* None of these are defined. */ 218bf7d9970SAaron Ballman #endif 219*13629b14SAaron Ballman #if defined(INT_FAST56_MAX) && __STDC_VERSION__ >= 202311L 220bf7d9970SAaron Ballman _Static_assert(INT_FAST56_WIDTH >= 56, ""); 221bf7d9970SAaron Ballman _Static_assert(INT_FAST56_WIDTH / __CHAR_BIT__ == sizeof(int_fast56_t), ""); 222bf7d9970SAaron Ballman _Static_assert(UINT_FAST56_WIDTH == INT_FAST56_WIDTH, ""); 223bf7d9970SAaron Ballman _Static_assert(UINT_FAST56_WIDTH / __CHAR_BIT__ == sizeof(int_fast56_t), ""); 224bf7d9970SAaron Ballman #else 225bf7d9970SAaron Ballman int INT_FAST56_WIDTH, UINT_FAST56_WIDTH; /* None of these are defined. */ 226bf7d9970SAaron Ballman #endif 227bf7d9970SAaron Ballman 228*13629b14SAaron Ballman #if defined(INT64_MAX) && __STDC_VERSION__ >= 202311L 229bf7d9970SAaron Ballman _Static_assert(INT64_WIDTH == 64, ""); 230bf7d9970SAaron Ballman _Static_assert(UINT64_WIDTH == INT64_WIDTH, ""); 231bf7d9970SAaron Ballman _Static_assert(INT64_WIDTH / __CHAR_BIT__ == sizeof(int64_t), ""); 232bf7d9970SAaron Ballman _Static_assert(UINT64_WIDTH / __CHAR_BIT__ == sizeof(uint64_t), ""); 233bf7d9970SAaron Ballman #else 234bf7d9970SAaron Ballman int INT64_WIDTH, UINT64_WIDTH; /* None of these are defined. */ 235bf7d9970SAaron Ballman #endif 236*13629b14SAaron Ballman #if defined(INT_LEAST64_MAX) && __STDC_VERSION__ >= 202311L 237bf7d9970SAaron Ballman _Static_assert(INT_LEAST64_WIDTH >= 64, ""); 238bf7d9970SAaron Ballman _Static_assert(INT_LEAST64_WIDTH / __CHAR_BIT__ == sizeof(int_least64_t), ""); 239bf7d9970SAaron Ballman _Static_assert(UINT_LEAST64_WIDTH == INT_LEAST64_WIDTH, ""); 240bf7d9970SAaron Ballman _Static_assert(UINT_LEAST64_WIDTH / __CHAR_BIT__ == sizeof(int_least64_t), ""); 241bf7d9970SAaron Ballman #else 242bf7d9970SAaron Ballman int INT_LEAST64_WIDTH, UINT_LEAST64_WIDTH; /* None of these are defined. */ 243bf7d9970SAaron Ballman #endif 244*13629b14SAaron Ballman #if defined(INT_FAST64_MAX) && __STDC_VERSION__ >= 202311L 245bf7d9970SAaron Ballman _Static_assert(INT_FAST64_WIDTH >= 64, ""); 246bf7d9970SAaron Ballman _Static_assert(INT_FAST64_WIDTH / __CHAR_BIT__ == sizeof(int_fast64_t), ""); 247bf7d9970SAaron Ballman _Static_assert(UINT_FAST64_WIDTH == INT_FAST64_WIDTH, ""); 248bf7d9970SAaron Ballman _Static_assert(UINT_FAST64_WIDTH / __CHAR_BIT__ == sizeof(int_fast64_t), ""); 249bf7d9970SAaron Ballman #else 250bf7d9970SAaron Ballman int INT_FAST64_WIDTH, UINT_FAST64_WIDTH; /* None of these are defined. */ 251bf7d9970SAaron Ballman #endif 252