Fortran: Fix PR 47485.
[gcc.git] / gcc / testsuite / g++.dg / torture / pr40102.C
blob49f56b5bc5a319bce974e947355a6d3704013f21
1 /* { dg-do compile } */
2 bool foo0(int) { return true; }
4 bool foo1();
6 struct A
8   A();
9   ~A();
11   template<typename T> void bar1(T f)
12   {
13     if (f(0))
14       foo1();
15   }
17   template<typename T> void bar2(T);
20 template<typename T> void A::bar2(T f)
22   A a, b[1], *p;
24   while (foo1())
25   {
26     if (p)
27       ++p;
28     if (p && foo1())
29       bar1(f);
30     if (p)
31       ++p;
32   }
34   if (foo1())
35     bar1(f);
38 void baz()
40   A().bar2(foo0);