aboutsummaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2000-11-30 12:15:13 -0800
committerRichard Henderson <rth@gcc.gnu.org>2000-11-30 12:15:13 -0800
commit41c395330242369ea5d33c544ad41f8833df782c (patch)
tree191f5cedc2e47a3154e5b0e3ba3f60c57506f60b /gcc/calls.c
parent31b1b95769d40692822b6516545827e781b28a7b (diff)
downloadgcc-41c395330242369ea5d33c544ad41f8833df782c.zip
gcc-41c395330242369ea5d33c544ad41f8833df782c.tar.gz
gcc-41c395330242369ea5d33c544ad41f8833df782c.tar.bz2
calls.c (expand_call): Emit queued insns before creating the tail recursion sequence.
* calls.c (expand_call): Emit queued insns before creating the tail recursion sequence. * gcc.c-torture/execute/20001130-1.c: New test. From-SVN: r37898
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index 45210c2..9513c30 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -2552,6 +2552,10 @@ expand_call (exp, target, ignore)
int save_pending_stack_adjust = pending_stack_adjust;
int save_stack_pointer_delta = stack_pointer_delta;
+ /* Emit any queued insns now; otherwise they would end up in
+ only one of the alternates. */
+ emit_queue ();
+
/* Use a new sequence to hold any RTL we generate. We do not even
know if we will use this RTL yet. The final decision can not be
made until after RTL generation for the entire function is