mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-30 23:35:00 +08:00
stmt.c (expand_goto_internal, [...]): Only check TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
* stmt.c (expand_goto_internal, fixup_gotos): Only check TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE. From-SVN: r35865
This commit is contained in:
parent
5b0e9d296c
commit
c4a6c0f353
@ -1,3 +1,8 @@
|
||||
Tue Aug 22 02:31:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||
|
||||
* stmt.c (expand_goto_internal, fixup_gotos): Only check
|
||||
TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
|
||||
|
||||
2000-08-21 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* flow.c (calculate_global_regs_live): Mark frame pointer live
|
||||
|
12
gcc/stmt.c
12
gcc/stmt.c
@ -907,8 +907,10 @@ expand_goto_internal (body, label, last_insn)
|
||||
/* Don't do this adjust if it's to the end label and this function
|
||||
is to return with a depressed stack pointer. */
|
||||
if (label == return_label
|
||||
&& (TYPE_RETURNS_STACK_DEPRESSED
|
||||
(TREE_TYPE (current_function_decl))))
|
||||
&& (((TREE_CODE (TREE_TYPE (current_function_decl))
|
||||
== FUNCTION_TYPE)
|
||||
&& (TYPE_RETURNS_STACK_DEPRESSED
|
||||
(TREE_TYPE (current_function_decl))))))
|
||||
;
|
||||
else
|
||||
emit_stack_restore (SAVE_BLOCK, stack_level, NULL_RTX);
|
||||
@ -1192,8 +1194,10 @@ fixup_gotos (thisblock, stack_level, cleanup_list, first_insn, dont_jump_in)
|
||||
jump jumps out of. */
|
||||
if (f->stack_level
|
||||
&& ! (f->target_rtl == return_label
|
||||
&& (TYPE_RETURNS_STACK_DEPRESSED
|
||||
(TREE_TYPE (current_function_decl)))))
|
||||
&& ((TREE_CODE (TREE_TYPE (current_function_decl))
|
||||
== FUNCTION_TYPE)
|
||||
&& (TYPE_RETURNS_STACK_DEPRESSED
|
||||
(TREE_TYPE (current_function_decl))))))
|
||||
emit_stack_restore (SAVE_BLOCK, f->stack_level, f->before_jump);
|
||||
|
||||
/* Finish up the sequence containing the insns which implement the
|
||||
|
Loading…
Reference in New Issue
Block a user