Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/utf16-3.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ | |
2 /* Test concatenation of char16_t* string literals. */ | |
3 /* { dg-do run } */ | |
4 /* { dg-options "-std=gnu99 -Wall -Werror" } */ | |
5 | |
6 typedef __CHAR16_TYPE__ char16_t; | |
7 | |
8 extern void abort (void); | |
9 | |
10 char16_t *s0 = u"a" u"b"; | |
11 | |
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"; | |
18 | |
19 #define A 0x0061 | |
20 #define B 0x0062 | |
21 #define X 0x2029 | |
22 #define Y1 0xD950 | |
23 #define Y2 0xDF21 | |
24 | |
25 int main () | |
26 { | |
27 if (sizeof ((u"a" u"b")[0]) != sizeof (char16_t)) | |
28 abort (); | |
29 if (sizeof ((u"a" "b")[0]) != sizeof (char16_t)) | |
30 abort (); | |
31 if (sizeof (( "a" u"b")[0]) != sizeof (char16_t)) | |
32 abort (); | |
33 | |
34 if (s0[0] != A || s0[1] != B || s0[2] != 0x0000) | |
35 abort (); | |
36 | |
37 if (s1[0] != A || s1[1] != B || s1[2] != 0x0000) | |
38 abort (); | |
39 if (s2[0] != A || s2[1] != B || s2[2] != 0x0000) | |
40 abort (); | |
41 if (s3[0] != A || s3[1] != X || s3[2] != 0x0000) | |
42 abort (); | |
43 if (s4[0] != X || s4[1] != B || s4[2] != 0x0000) | |
44 abort (); | |
45 if (s5[0] != A || s5[1] != Y1 || s5[2] != Y2 || s5[3] != 0x0000) | |
46 abort (); | |
47 if (s6[0] != Y1 || s6[1] != Y2 || s6[2] != B || s6[3] != 0x0000) | |
48 abort (); | |
49 } |