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