1 /* PR ipa/96482 */ 2 /* { dg-do run } */ 3 /* { dg-options "-O2 -flto" } */ 4 /* { dg-require-effective-target lto } */ 5 6 int 7 __attribute__((noinline)) foo(int arg)8foo(int arg) 9 { 10 if (arg == 3) 11 return 1; 12 if (arg == 4) 13 return 123; 14 15 __builtin_unreachable (); 16 } 17 18 int 19 __attribute__((noinline)) baz(int x)20baz(int x) 21 { 22 if (x != 0) 23 return foo(3); /* called */ 24 25 return 1; 26 } 27 28 int 29 __attribute__((noinline)) bar(int x)30bar(int x) 31 { 32 if (x == 0) 33 return foo(5); /* not executed */ 34 35 return 1; 36 } 37 main(int argc,char ** argv)38int main(int argc, char **argv) 39 { 40 if (bar(argc) != baz(argc)) 41 __builtin_abort (); 42 43 return 0; 44 } 45