| /* { dg-do run } */ | |
| /* { dg-options "-O2 -fomit-frame-pointer" } */ | |
| extern void abort (void); | |
| extern void exit (int); | |
| void die (long) __attribute__ ((noreturn)); | |
| void die (long e) | |
| { | |
| abort (); | |
| for (;;); | |
| } | |
| long foo (double i) | |
| { | |
| if (i != 2.0) | |
| abort (); | |
| return 26; | |
| } | |
| long bar (long i, double x) | |
| { | |
| if (x < 0) die (1); | |
| return foo (x); | |
| } | |
| main() | |
| { | |
| if (bar (0, 2.0) != 26) | |
| abort (); | |
| exit (0); | |
| } |