10ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s 20ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg 30ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborgvoid f() { 40ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char a1[] = "a"; // No error. 50ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char a2[] = u8"a"; // No error. 60ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char a3[] = u"a"; // expected-error{{initializing char array with wide string literal}} 70ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char a4[] = U"a"; // expected-error{{initializing char array with wide string literal}} 80ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char a5[] = L"a"; // expected-error{{initializing char array with wide string literal}} 90ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg 100ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg wchar_t b1[] = "a"; // expected-error{{initializing wide char array with non-wide string literal}} 110ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg wchar_t b2[] = u8"a"; // expected-error{{initializing wide char array with non-wide string literal}} 120ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg wchar_t b3[] = u"a"; // expected-error{{initializing wide char array with incompatible wide string literal}} 130ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg wchar_t b4[] = U"a"; // expected-error{{initializing wide char array with incompatible wide string literal}} 140ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg wchar_t b5[] = L"a"; // No error. 150ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg 160ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char16_t c1[] = "a"; // expected-error{{initializing wide char array with non-wide string literal}} 170ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char16_t c2[] = u8"a"; // expected-error{{initializing wide char array with non-wide string literal}} 180ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char16_t c3[] = u"a"; // No error. 190ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char16_t c4[] = U"a"; // expected-error{{initializing wide char array with incompatible wide string literal}} 200ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char16_t c5[] = L"a"; // expected-error{{initializing wide char array with incompatible wide string literal}} 210ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg 220ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char32_t d1[] = "a"; // expected-error{{initializing wide char array with non-wide string literal}} 230ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char32_t d2[] = u8"a"; // expected-error{{initializing wide char array with non-wide string literal}} 240ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char32_t d3[] = u"a"; // expected-error{{initializing wide char array with incompatible wide string literal}} 250ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char32_t d4[] = U"a"; // No error. 260ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char32_t d5[] = L"a"; // expected-error{{initializing wide char array with incompatible wide string literal}} 270ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg 280ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg int e1[] = "a"; // expected-error{{array initializer must be an initializer list}} 290ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg int e2[] = u8"a"; // expected-error{{array initializer must be an initializer list}} 300ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg int e3[] = u"a"; // expected-error{{array initializer must be an initializer list}} 310ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg int e4[] = U"a"; // expected-error{{array initializer must be an initializer list}} 320ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg int e5[] = L"a"; // expected-error{{array initializer must be an initializer list}} 330ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg} 340ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg 350ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborgvoid g() { 360ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char a[] = 1; // expected-error{{array initializer must be an initializer list or string literal}} 370ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg wchar_t b[] = 1; // expected-error{{array initializer must be an initializer list or wide string literal}} 380ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char16_t c[] = 1; // expected-error{{array initializer must be an initializer list or wide string literal}} 390ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char32_t d[] = 1; // expected-error{{array initializer must be an initializer list or wide string literal}} 400ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg} 41