Clean up some minor white space issues in trans-decl.c and trans-expr.c
[official-gcc.git] / gcc / testsuite / g++.dg / torture / pr56817.C
blob35fc6f74ff21eaa632bffc59af69351e10b3870a
1 // { dg-do compile }
2 // { dg-options "--param max-unroll-times=32" }
4 struct A {};
5 A **q;
6 struct B
8   A **j;
9   B () { j = q; }
10   A *& operator[] (unsigned long x) { return j[x]; }
12 struct C
14   C (int r) : v (), s (r) {}
15   A *& operator () (int i, int j) { return v[i * s + j]; }
16   B v;
17   int s;
19 struct D
21   D ()
22     {
23       unsigned h = 2;
24       for (int i = 0; i < 1; ++i, h *= 2)
25         {
26           C w (h);
27           for (unsigned j = 0; j < h; ++j)
28             for (unsigned k = 0; k < h; ++k)
29               w (j, k) = new A;
30         }
31     }
33 void
34 foo ()
36   for (int i = 0; i < 3; i++)
37     A (), A (), D ();