1 /* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */
2 /* Test the support for char16_t* string literals. */
3 /* { dg-do run { target c++11 } } */
4 /* { dg-options "-Wall -Werror" } */
5 
6 extern "C" void abort (void);
7 
8 const static char16_t	*s0 = u"ab";
9 const static char16_t	*s1 = u"a\u0024";
10 const static char16_t	*s2 = u"a\u2029";
11 const static char16_t	*s3 = u"a\U00064321";
12 
13 #define A	0x0061
14 #define B	0x0062
15 #define D	0x0024
16 #define X	0x2029
17 #define Y1	0xD950
18 #define Y2	0xDF21
19 
main()20 int main ()
21 {
22     if (s0[0] != A || s0[1] != B || s0[2] != 0x0000)
23 	abort ();
24     if (s1[0] != A || s1[1] != D || s0[2] != 0x0000)
25 	abort ();
26     if (s2[0] != A || s2[1] != X || s0[2] != 0x0000)
27 	abort ();
28     if (s3[0] != A || s3[1] != Y1 || s3[2] != Y2 || s3[3] != 0x0000)
29 	abort ();
30 }
31