OSDN Git Service

* calls.c (ECF_SP_DEPRESSED): New macro.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Aug 2000 01:23:46 +0000 (01:23 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Aug 2000 01:23:46 +0000 (01:23 +0000)
commit2973ed282011ce93f8e30ab9e0b99ebedd9a7786
treeb694b469192e5051776e7faa76af40a89d02b002
parentd490e2f2f1bcc2c534aa63496a502c829beaad03
* calls.c (ECF_SP_DEPRESSED): New macro.
(calls_function_1): Treat calling sp-depressed function as alloca.
(emit_call_1): Don't adjust SP if calling sp-depressed function.
(expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
If sp-depressed, ensure block saves and restores SP.
* fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
for INTEGER_TYPE.
* function.c (keep_stack_depressed): New function.
(thread_prologue_and_epilogue_insns): Call it.
* print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
to print DECL_OFFSET_ALIGN.
Print no-force-blk and transparent-union flags properly.
* stmt.c (expand_goto_internal): Don't restore stack if last block
and function returns with sp depressed.
(fixup_gotos): Likewise.
(save_stack_pointer): New function, from code in expand_decl.
(expand_decl): Call new function.
* tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
(TYPE_RETURNS_STACK_DEPRESSED): New macro.
(save_stack_pointer): New declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35735 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/print-tree.c