diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr44539.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr44539.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr44539.c b/gcc/testsuite/gcc.dg/pr44539.c new file mode 100644 index 000000000..9cfff7a3a --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr44539.c @@ -0,0 +1,29 @@ +/* PR tree-optimization/44539 */ +/* { dg-do compile } */ +/* { dg-options "-ftracer -freorder-blocks -O2" } */ + +void bar (int file); +extern int baz (void); + +void noret1 () +{ + bar (0); + __builtin_exit (0); +} + +void noret2 () +{ + __builtin_exit (0); +} + +void bar (int i) +{ + if (baz ()) + noret1 (i); +} + +void foo (int i) +{ + if (~i) bar (i); + i ? noret1 () : noret2 (); +} |