1 /* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */
2 /* Test concatenation of char32_t* string literals. */
4 /* { dg-options "-std=gnu99 -Wall -Werror" } */
6 typedef __CHAR32_TYPE__ char32_t
;
8 extern void abort (void);
10 char32_t
*s0
= U
"a" U
"b";
12 char32_t
*s1
= U
"a" "b";
13 char32_t
*s2
= "a" U
"b";
14 char32_t
*s3
= U
"a" "\u2029";
15 char32_t
*s4
= "\u2029" U
"b";
16 char32_t
*s5
= U
"a" "\U00064321";
17 char32_t
*s6
= "\U00064321" U
"b";
26 if (sizeof ((U
"a" U
"b")[0]) != sizeof (char32_t
))
28 if (sizeof ((U
"a" "b")[0]) != sizeof (char32_t
))
30 if (sizeof (( "a" U
"b")[0]) != sizeof (char32_t
))
33 if (s0
[0] != A
|| s0
[1] != B
|| s0
[2] != 0x00000000)
36 if (s1
[0] != A
|| s1
[1] != B
|| s1
[2] != 0x00000000)
38 if (s2
[0] != A
|| s2
[1] != B
|| s2
[2] != 0x00000000)
40 if (s3
[0] != A
|| s3
[1] != X
|| s3
[2] != 0x00000000)
42 if (s4
[0] != X
|| s4
[1] != B
|| s4
[2] != 0x00000000)
44 if (s5
[0] != A
|| s5
[1] != Y
|| s5
[2] != 0x00000000)
46 if (s6
[0] != Y
|| s6
[1] != B
|| s6
[2] != 0x00000000)