1 /* { dg-do compile } */
2 /* { dg-require-effective-target wchar } */
3 /* { dg-options "-std=gnu99" } */
7 typedef __CHAR16_TYPE__ char16_t
;
8 typedef __CHAR32_TYPE__ char32_t
;
10 const char s0
[] = u8
"ab";
11 const char16_t s1
[] = u8
"ab"; /* { dg-error "from non-wide" } */
12 const char32_t s2
[] = u8
"ab"; /* { dg-error "from non-wide" } */
13 const wchar_t s3
[] = u8
"ab"; /* { dg-error "from non-wide" } */
15 const char t0
[0] = u8
"ab"; /* { dg-warning "chars is too long" } */
16 const char t1
[1] = u8
"ab"; /* { dg-warning "chars is too long" } */
17 const char t2
[2] = u8
"ab";
18 const char t3
[3] = u8
"ab";
19 const char t4
[4] = u8
"ab";
21 const char u0
[0] = u8
"\u2160."; /* { dg-warning "chars is too long" } */
22 const char u1
[1] = u8
"\u2160."; /* { dg-warning "chars is too long" } */
23 const char u2
[2] = u8
"\u2160."; /* { dg-warning "chars is too long" } */
24 const char u3
[3] = u8
"\u2160."; /* { dg-warning "chars is too long" } */
25 const char u4
[4] = u8
"\u2160.";
26 const char u5
[5] = u8
"\u2160.";
27 const char u6
[6] = u8
"\u2160.";