Commit b1e64e0d by Richard Stallman

(emit_call_1): Restore inhibit_defer_pop before popping args

so that pops really do get deferred if appropriate.

From-SVN: r3730
parent 91a60f37
...@@ -375,6 +375,10 @@ emit_call_1 (funexp, funtype, stack_size, struct_value_size, next_arg_reg, ...@@ -375,6 +375,10 @@ emit_call_1 (funexp, funtype, stack_size, struct_value_size, next_arg_reg,
if (is_const) if (is_const)
CONST_CALL_P (call_insn) = 1; CONST_CALL_P (call_insn) = 1;
/* Restore this now, so that we do defer pops for this call's args
if the context of the call as a whole permits. */
inhibit_defer_pop = old_inhibit_defer_pop;
#ifndef ACCUMULATE_OUTGOING_ARGS #ifndef ACCUMULATE_OUTGOING_ARGS
/* If returning from the subroutine does not automatically pop the args, /* If returning from the subroutine does not automatically pop the args,
we need an instruction to pop them sooner or later. we need an instruction to pop them sooner or later.
...@@ -399,8 +403,6 @@ emit_call_1 (funexp, funtype, stack_size, struct_value_size, next_arg_reg, ...@@ -399,8 +403,6 @@ emit_call_1 (funexp, funtype, stack_size, struct_value_size, next_arg_reg,
adjust_stack (stack_size_rtx); adjust_stack (stack_size_rtx);
} }
#endif #endif
inhibit_defer_pop = old_inhibit_defer_pop;
} }
/* Generate all the code for a function call /* Generate all the code for a function call
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment