2 /* { dg-skip-if "doubles are floats" { "avr-*-*" } } */
3 /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -fdump-tree-optimized -lm" } */
4 /* { dg-final { scan-tree-dump "cdce2.c:16: \[^\n\r]* function call is shrink-wrapped into error conditions\." "cdce" } } */
5 /* { dg-final { scan-tree-dump "log \\(\[^\n\r]*\\); \\\[tail call\\\]" "optimized" } } */
10 int total_err_count
= 0;
11 double foo_opt (double y
) __attribute__((noinline
));
12 double foo_opt (double y
)
20 double foo (double y
) __attribute__((noinline
));
29 int test (double (*fp
) (double y
))
32 for (i
= -100; i
< 100; i
++)
39 return total_err_count
;