diff options
author | Jakub Jelinek <jakub@redhat.com> | 2000-05-15 18:58:37 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2000-05-15 18:58:37 +0200 |
commit | b8d254e64d0d10553df34b4d9bf67fd003730111 (patch) | |
tree | 5f8eafb46d0b460b44944ede2b21bb3af43b2b72 /gcc | |
parent | 3cfea7796dc2ee6d33e937d3aac069704b159265 (diff) | |
download | gcc-b8d254e64d0d10553df34b4d9bf67fd003730111.zip gcc-b8d254e64d0d10553df34b4d9bf67fd003730111.tar.gz gcc-b8d254e64d0d10553df34b4d9bf67fd003730111.tar.bz2 |
calls.c (expand_call): Move expand_start_target_temps call after start_sequence().
* calls.c (expand_call): Move expand_start_target_temps call after
start_sequence().
From-SVN: r33911
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/calls.c | 15 |
2 files changed, 14 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e0aa443..ae88e9c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-05-15 Jakub Jelinek <jakub@redhat.com> + + * calls.c (expand_call): Move expand_start_target_temps call after + start_sequence(). + 2000-05-15 Neil Booth <NeilB@earthling.net> * cpphash.c (trad_stringify, warn_trad_stringify, diff --git a/gcc/calls.c b/gcc/calls.c index 5c12ccf..ee4b678 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -2341,12 +2341,6 @@ expand_call (exp, target, ignore) only one of the alternates. */ emit_queue (); - /* We know at this point that there are not currently any - pending cleanups. If, however, in the process of evaluating - the arguments we were to create some, we'll need to be - able to get rid of them. */ - expand_start_target_temps (); - /* State variables we need to save and restore between iterations. */ save_pending_stack_adjust = pending_stack_adjust; @@ -2368,6 +2362,15 @@ expand_call (exp, target, ignore) sibcall_failure instead of continuing the loop. */ start_sequence (); + if (pass == 0) + { + /* We know at this point that there are not currently any + pending cleanups. If, however, in the process of evaluating + the arguments we were to create some, we'll need to be + able to get rid of them. */ + expand_start_target_temps (); + } + /* When calling a const function, we must pop the stack args right away, so that the pop is deleted or moved with the call. */ if (flags & (ECF_CONST | ECF_PURE)) |