111
|
1 /* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */
|
|
2 /* Expected errors for char16_t/char32_t in c++98. */
|
145
|
3 /* Ensure u8, u and U prefixes are parsed as separate tokens in c++98. */
|
111
|
4 /* { dg-do compile } */
|
|
5 /* { dg-options "-std=c++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
|
145
|
10 const unsigned short c2 = u'a'; /* { dg-error "not declared" } */
|
|
11 const unsigned long c3 = U'a'; /* { dg-error "not declared" } */
|
|
12 const unsigned char c4 = u8'a'; /* { dg-error "not declared" } */
|
111
|
13
|
|
14 #define u 1 +
|
|
15 #define U 2 +
|
145
|
16 #define u8 3 +
|
111
|
17
|
|
18 const unsigned short c5 = u'a';
|
|
19 const unsigned long c6 = U'a';
|
145
|
20 const unsigned char c7 = u8'a';
|
111
|
21
|
|
22 #undef u
|
|
23 #undef U
|
145
|
24 #undef u8
|
111
|
25 #define u "a"
|
|
26 #define U "b"
|
145
|
27 #define u8 "c"
|
111
|
28
|
|
29 const void *s0 = u"a";
|
|
30 const void *s1 = U"a";
|
145
|
31 const void *s2 = u8"a";
|
111
|
32
|
|
33 int main () {}
|