1/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ 2/* Expected errors for char16_t/char32_t in c++98. */ 3/* Ensure u and U prefixes are parsed as separate tokens in c++98. */ 4/* { dg-do compile } */ 5/* { dg-options "-std=c++98" } */ 6 7const static char16_t c0 = 'a'; /* { dg-error "not name a type" } */ 8const static char32_t c1 = 'a'; /* { dg-error "not name a type" } */ 9 10const unsigned short c2 = u'a'; /* { dg-error "not declared" } */ 11const unsigned long c3 = U'a'; /* { dg-error "not declared" } */ 12 13#define u 1 + 14#define U 2 + 15 16const unsigned short c5 = u'a'; 17const unsigned long c6 = U'a'; 18 19#undef u 20#undef U 21#define u "a" 22#define U "b" 23 24const void *s0 = u"a"; 25const void *s1 = U"a"; 26 27int main () {} 28