1 // { dg-do compile }
2
3 // Crash tests from PR middle-end/6994. See also gcc.dg/vla-2.c.
4 // A::A is acceptable extended C++ (VLA types brought over from C99);
5 // B::B is not, but is closely related to acceptable extended C, though
6 // not to acceptable C99.
7
8 class A { A (int); };
9
A(int i)10 A::A (int i)
11 {
12 int ar[1][i]; // { dg-error "variable-size array" }
13
14 ar[0][0] = 0;
15 }
16
17 class B { B (int); };
18
B(int i)19 B::B (int i)
20 {
21 struct S {
22 int ar[1][i]; // { dg-error "variable-size|variably modified" }
23 } s;
24
25 s.ar[0][0] = 0; // { dg-error "no member" }
26 }
27