2014-04-15 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / 20001117-1.c
bloba9de496e276571df54cc1c875148475886f12b25
1 /* { dg-do run } */
2 /* { dg-options "-O2 -finstrument-functions" } */
4 extern void abort (void);
5 extern void exit (int);
7 double
8 foo (double a, double b)
10 double c;
11 if (0.0 < a)
12 c = a;
13 else if (b > 0.0)
14 c = 0.0;
15 else
16 return 0;
17 return 2.0 * (b - c);
20 int main ()
22 if (foo (1.0, 4.0) != 6.0)
23 abort ();
24 exit (0);
27 /* Abort on non-NULL CALL_SITE to ensure that __builtin_return_address
28 was expanded properly. */
29 void __attribute__((no_instrument_function))
30 __cyg_profile_func_enter(void *this_fn, void *call_site)
32 if (call_site == (void *)0)
33 abort ();
36 void __attribute__((no_instrument_function))
37 __cyg_profile_func_exit(void *this_fn, void *call_site)
39 if (call_site == (void *)0)
40 abort ();