re PR target/48723 (ICE on function returning structure with -fstack-check on corei7-avx)

PR target/48723
	* config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
	for -fstack-check if the size to allocate is negative.

From-SVN: r173288
This commit is contained in:
Eric Botcazou 2011-05-03 07:20:01 +00:00
parent 5a17346ae5
commit b15eacc7da
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2011-05-03 Eric Botcazou <ebotcazou@adacore.com>
PR target/48723
* config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
for -fstack-check if the size to allocate is negative.
2011-05-02 Lawrence Crowl <crowl@google.com>
* timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
@ -941,7 +947,7 @@
* system.h (ENUM_BITFIELD): Remove.
2011-04-25 Maxim Kuvyrkov <maxim@codesourcery.com>
Eric Botcazou <ebotcazou@adacore.com>
Eric Botcazou <ebotcazou@adacore.com>
* combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals
for STORE_FLAG_VALUE==-1 case.

View File

@ -10619,8 +10619,8 @@ ix86_expand_prologue (void)
}
/* The stack has already been decremented by the instruction calling us
so we need to probe unconditionally to preserve the protection area. */
if (flag_stack_check == STATIC_BUILTIN_STACK_CHECK)
so probe if the size is non-negative to preserve the protection area. */
if (allocate >= 0 && flag_stack_check == STATIC_BUILTIN_STACK_CHECK)
{
/* We expect the registers to be saved when probes are used. */
gcc_assert (int_registers_saved);