1 /* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */
2 /* Test concatenation of char16_t* string literals. */
4 /* { dg-options "-std=gnu99 -Wall -Werror" } */
6 typedef __CHAR16_TYPE__ char16_t
;
8 extern void abort (void);
10 char16_t
*s0
= u
"a" u
"b";
12 char16_t
*s1
= u
"a" "b";
13 char16_t
*s2
= "a" u
"b";
14 char16_t
*s3
= u
"a" "\u2029";
15 char16_t
*s4
= "\u2029" u
"b";
16 char16_t
*s5
= u
"a" "\U00064321";
17 char16_t
*s6
= "\U00064321" u
"b";
27 if (sizeof ((u
"a" u
"b")[0]) != sizeof (char16_t
))
29 if (sizeof ((u
"a" "b")[0]) != sizeof (char16_t
))
31 if (sizeof (( "a" u
"b")[0]) != sizeof (char16_t
))
34 if (s0
[0] != A
|| s0
[1] != B
|| s0
[2] != 0x0000)
37 if (s1
[0] != A
|| s1
[1] != B
|| s1
[2] != 0x0000)
39 if (s2
[0] != A
|| s2
[1] != B
|| s2
[2] != 0x0000)
41 if (s3
[0] != A
|| s3
[1] != X
|| s3
[2] != 0x0000)
43 if (s4
[0] != X
|| s4
[1] != B
|| s4
[2] != 0x0000)
45 if (s5
[0] != A
|| s5
[1] != Y1
|| s5
[2] != Y2
|| s5
[3] != 0x0000)
47 if (s6
[0] != Y1
|| s6
[1] != Y2
|| s6
[2] != B
|| s6
[3] != 0x0000)