diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/20020926-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20020926-1.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/20020926-1.c b/gcc/testsuite/gcc.c-torture/compile/20020926-1.c new file mode 100644 index 000000000..260e84454 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20020926-1.c @@ -0,0 +1,21 @@ +/* PR c/7160 */ +/* Verify that the register-to-stack converter properly handles + branches without return value containing function calls. */ + +extern int gi; + +extern int foo1(int, int); +extern void foo2(int, int); +extern float foo3(int); + +float bar(int i1, int i2) +{ + int i3; + + if (i2) { + i3 = foo1(i1, gi); + foo2(i1, i3); + } + else + return foo3(i2); +} |