1 // RUN: %clang_cc1 -verify -std=c23 -Wall -pedantic %s 2 // RUN: %clang_cc1 -verify -std=c2y -Wall -pedantic %s 3 4 /* WG14 N3274: Yes 5 * Remove imaginary types 6 */ 7 8 // Clang has never supported _Imaginary. 9 #ifdef __STDC_IEC_559_COMPLEX__ 10 #error "When did this happen?" 11 #endif 12 13 _Imaginary float i; // expected-error {{imaginary types are not supported}} 14 15 // _Imaginary is a keyword in older language modes, but doesn't need to be one 16 // in C2y or later. However, to improve diagnostic behavior, we retain it as a 17 // keyword in all language modes -- it is not available as an identifier. 18 static_assert(!__is_identifier(_Imaginary)); 19