1 // PR middle-end/37356 */
2 // { dg-do compile }
3 // { dg-options "-O" }
4 
5 bool foo ();
6 int bar ();
7 
8 bool
baz(int v)9 baz (int v)
10 {
11   return v == bar ();
12 }
13 
14 struct A
15 {
AA16   A () { baz (1) || foo (); }
17 };
18 
19 struct B
20 {
getB21   static A get () { return A (); }
BB22   B (const int &x) { }
BB23   B () : b (get ()) { }
24   A b;
25 };
26 
27 B c;
28 
29 void
test()30 test ()
31 {
32   int d;
33   c = d;
34 }
35