LWG 3035. std::allocator's constructors should be constexpr
[official-gcc.git] / gcc / testsuite / gcc.dg / pr44012.c
blobbd255ba08fb528fc9053e99625f31a3130fc693d
1 /* { dg-do compile } */
2 /* { dg-options "-O -fgcse" } */
4 extern void fe ();
6 extern int i;
8 static inline void
9 FX (void (*f) ())
11 fe ();
12 (*f) ();
15 static inline void
16 f4 ()
18 for (;;)
19 switch (i)
21 case 306:
22 FX (&fe);
23 break;
24 default:
25 return;
29 static inline void
30 f3 ()
32 f4 ();
33 for (;;)
34 switch (i)
36 case 267:
37 FX (&f4);
38 break;
39 default:
40 return;
44 static inline void
45 f2 ()
47 f3 ();
48 while (i)
49 FX (&f3);
52 void
53 f1 ()
55 f2 ();
56 while (1)
57 FX (&f2);