FSF GCC merge 02/23/03
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.other / init11.C
blob79d7d6caa71e1dabc721a086ba2a8562bda5d93a
1 // Check that elements for which no explicit initializer was given are
2 // default-initialized properly.
4 extern "C" int printf (const char *, ...);
6 struct A
8   int i;
9   A(): i (42) { }
10   A(int j): i(j) { }
13 A ar[4] = { 1, 2 };
15 struct B
17   A a1, a2, a3, a4;
20 B b = { 1, 2 };
22 struct C
24   A ar[4];
27 C c = { 1, 2 };
29 int
30 main ()
32   printf ("%d %d %d %d\n%d %d %d %d\n%d %d %d %d\n",
33           ar[0].i, ar[1].i, ar[2].i, ar[3].i,
34           b.a1.i, b.a2.i, b.a3.i, b.a4.i,
35           c.ar[1-1].i, c.ar[2-1].i, c.ar[3-1].i, c.ar[4-1].i);
37   return (b.a4.i != 42 || c.ar[3].i != 42);