1 // PR c++/48911 2 // { dg-do compile } 3 // { dg-options "-std=c++0x" } 4 5 #define SA(X) static_assert((X),#X) 6 7 struct A 8 { AA9 constexpr A () : a (6) {} 10 int a; 11 }; 12 13 int main()14main () 15 { 16 constexpr int a[2] = { 42 }; 17 constexpr int i = a[1]; 18 SA(i==0); 19 constexpr int b[1] = { }; 20 constexpr int j = b[0]; 21 SA(j==0); 22 constexpr char c[2] = "a"; 23 constexpr char k = c[1]; 24 SA(k==0); 25 constexpr char d[2] = ""; 26 constexpr char l = d[1]; 27 SA(l==0); 28 constexpr wchar_t e[2] = L"a"; 29 constexpr wchar_t m = e[1]; 30 SA(m==0); 31 constexpr wchar_t f[2] = L""; 32 constexpr wchar_t n = f[1]; 33 SA(n==0); 34 constexpr A g[2] = { A () }; 35 constexpr A o = g[0]; 36 SA(o.a == 6); 37 constexpr A p = g[1]; 38 SA(p.a == 6); 39 } 40