Index: gcc/config/sparc/sparc.c --- gcc/config/sparc/sparc.c.orig +++ gcc/config/sparc/sparc.c @@ -48,6 +48,7 @@ along with GCC; see the file COPYING3. If not see #include "varasm.h" #include "output.h" #include "insn-attr.h" +#include "flags.h" #include "explow.h" #include "expr.h" #include "debug.h" @@ -6084,8 +6085,8 @@ sparc_expand_prologue (void) at the end of the function prologue, and moving instructions that access the stack via the frame pointer between the instructions that decrement the stack pointer could result in accessing the - register window save area, which is volatile. */ - emit_insn (gen_frame_blockage ()); + register window save area, which is volatile. */ + emit_insn (gen_frame_blockage ()); } else { @@ -6111,6 +6112,9 @@ sparc_expand_prologue (void) sparc_frame_base_offset - sparc_apparent_frame_size, SORR_SAVE); + + if (warn_stack_larger_than && size > stack_larger_than_size) + warning (OPT_Wstack_larger_than_, "stack usage is %lld bytes", size); /* Advertise that the data calculated just above are now valid. */ sparc_prologue_data_valid_p = true;