PR middle-end/77357 - strlen of constant strings not folded
[official-gcc.git] / gcc / testsuite / gcc.dg / ipa / ipa-icf-31.c
blob6a5ec2efe86f435cf4ffdb11fb906bf7caa320d6
1 /* { dg-do run } */
2 /* { dg-options "-O2 -fipa-icf" } */
4 __attribute__ ((noinline, noclone))
5 int f1 (int x, int (*p1) (void), int (*p2) (void))
7 if (x)
8 return p1 ();
9 else
10 return p2 ();
13 __attribute__ ((noinline, noclone))
14 int f2 (int x, int (*p1) (void), int (*p2) (void))
16 if (x)
17 return p2 ();
18 else
19 return p1 ();
22 __attribute__ ((noinline, noclone))
23 int f3 (void)
25 return 1;
28 __attribute__ ((noinline, noclone))
29 int f4 (void)
31 return 2;
34 int
35 main ()
37 if (f1 (0, f3, f4) != 2 || f1 (1, f3, f4) != 1 || f2 (0, f3, f4) != 1
38 || f2 (1, f3, f4) != 2)
39 __builtin_abort ();
40 return 0;