// { dg-do compile } // Crash tests from PR middle-end/6994. See also gcc.dg/vla-2.c. // A::A is acceptable extended C++ (VLA types brought over from C99); // B::B is not, but is closely related to acceptable extended C, though // not to acceptable C99. class A { A (int); }; A::A (int i) { int ar[1][i]; // { dg-error "variable length array" } ar[0][0] = 0; } class B { B (int); }; B::B (int i) { struct S { int ar[1][i]; // { dg-error "array" } } s; s.ar[0][0] = 0; // { dg-error "no member" } }