1 /* { dg-do run } */
2 /* { dg-options "-O2 -fomit-frame-pointer" } */
3
4 extern void abort (void);
5 extern void exit (int);
6
7 void die (long) __attribute__ ((noreturn));
8
9 void die (long e)
10 {
11 abort ();
12 for (;;);
13 }
14
15 long foo (double i)
16 {
17 if (i != 2.0)
18 abort ();
19 return 26;
20 }
21
22 long bar (long i, double x)
23 {
24 if (x < 0) die (1);
25 return foo (x);
26 }
27
28 int
29 main()
30 {
31 if (bar (0, 2.0) != 26)
32 abort ();
33 exit (0);
34 }