1 // RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
4 char a1
[] = "a"; // No error.
5 char a2
[] = u8
"a"; // No error.
6 char a3
[] = u
"a"; // expected-error{{initializing char array with wide string literal}}
7 char a4
[] = U
"a"; // expected-error{{initializing char array with wide string literal}}
8 char a5
[] = L
"a"; // expected-error{{initializing char array with wide string literal}}
10 wchar_t b1
[] = "a"; // expected-error{{initializing wide char array with non-wide string literal}}
11 wchar_t b2
[] = u8
"a"; // expected-error{{initializing wide char array with non-wide string literal}}
12 wchar_t b3
[] = u
"a"; // expected-error{{initializing wide char array with incompatible wide string literal}}
13 wchar_t b4
[] = U
"a"; // expected-error{{initializing wide char array with incompatible wide string literal}}
14 wchar_t b5
[] = L
"a"; // No error.
16 char16_t c1
[] = "a"; // expected-error{{initializing wide char array with non-wide string literal}}
17 char16_t c2
[] = u8
"a"; // expected-error{{initializing wide char array with non-wide string literal}}
18 char16_t c3
[] = u
"a"; // No error.
19 char16_t c4
[] = U
"a"; // expected-error{{initializing wide char array with incompatible wide string literal}}
20 char16_t c5
[] = L
"a"; // expected-error{{initializing wide char array with incompatible wide string literal}}
22 char32_t d1
[] = "a"; // expected-error{{initializing wide char array with non-wide string literal}}
23 char32_t d2
[] = u8
"a"; // expected-error{{initializing wide char array with non-wide string literal}}
24 char32_t d3
[] = u
"a"; // expected-error{{initializing wide char array with incompatible wide string literal}}
25 char32_t d4
[] = U
"a"; // No error.
26 char32_t d5
[] = L
"a"; // expected-error{{initializing wide char array with incompatible wide string literal}}
28 int e1
[] = "a"; // expected-error{{array initializer must be an initializer list}}
29 int e2
[] = u8
"a"; // expected-error{{array initializer must be an initializer list}}
30 int e3
[] = u
"a"; // expected-error{{array initializer must be an initializer list}}
31 int e4
[] = U
"a"; // expected-error{{array initializer must be an initializer list}}
32 int e5
[] = L
"a"; // expected-error{{array initializer must be an initializer list}}
36 char a
[] = 1; // expected-error{{array initializer must be an initializer list or string literal}}
37 wchar_t b
[] = 1; // expected-error{{array initializer must be an initializer list or wide string literal}}
38 char16_t c
[] = 1; // expected-error{{array initializer must be an initializer list or wide string literal}}
39 char32_t d
[] = 1; // expected-error{{array initializer must be an initializer list or wide string literal}}