2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.other / init11.C
blobf315e570db8a8c208fe2d1b91972136d559ef474
1 // { dg-do run  }
2 // Check that elements for which no explicit initializer was given are
3 // default-initialized properly.
5 extern "C" int printf (const char *, ...);
7 struct A
9   int i;
10   A(): i (42) { }
11   A(int j): i(j) { }
14 A ar[4] = { 1, 2 };
16 struct B
18   A a1, a2, a3, a4;
21 B b = { 1, 2 };
23 struct C
25   A ar[4];
28 C c = { 1, 2 };
30 int
31 main ()
33   printf ("%d %d %d %d\n%d %d %d %d\n%d %d %d %d\n",
34           ar[0].i, ar[1].i, ar[2].i, ar[3].i,
35           b.a1.i, b.a2.i, b.a3.i, b.a4.i,
36           c.ar[1-1].i, c.ar[2-1].i, c.ar[3-1].i, c.ar[4-1].i);
38   return (b.a4.i != 42 || c.ar[3].i != 42);