Merged revisions 208012,208018-208019,208021,208023-208030,208033,208037,208040-20804...
[official-gcc.git] / main / gcc / testsuite / g++.dg / ext / utf16-2.C
blob4951e0344309527027baeb8c3c3ef48ea7f606f7
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" } */
6 extern "C" void abort (void);
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";
13 #define A       0x0061
14 #define B       0x0062
15 #define D       0x0024
16 #define X       0x2029
17 #define Y1      0xD950
18 #define Y2      0xDF21
20 int main ()
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 ();