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:
Richard Kenner 2000-08-22 06:24:13 +00:00 committed by Richard Kenner
parent 5b0e9d296c
commit c4a6c0f353
2 changed files with 13 additions and 4 deletions

View File

@ -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

View File

@ -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