From: Hans-Peter Nilsson Date: Thu, 19 Mar 2009 03:52:58 +0000 (+0000) Subject: re PR middle-end/38609 (gcc.c-torture/execute/built-in-setjmp.c execute -O2 and above) X-Git-Tag: releases/gcc-4.4.0~224 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8ef20026dc352e6a1fccae8052bf7bdc009742bc;p=thirdparty%2Fgcc.git re PR middle-end/38609 (gcc.c-torture/execute/built-in-setjmp.c execute -O2 and above) PR middle-end/38609 * config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all functions with dynamic stack-pointer adjustments. From-SVN: r144951 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 14acc11328ae..9892f8f63169 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-03-19 Hans-Peter Nilsson + + PR middle-end/38609 + * config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all + functions with dynamic stack-pointer adjustments. + 2009-03-19 Ben Elliston * doc/invoke.texi (RS/6000 and PowerPC Options): Fix -msdata-data diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h index eae8b484904c..49822598f45d 100644 --- a/gcc/config/cris/cris.h +++ b/gcc/config/cris/cris.h @@ -851,8 +851,9 @@ enum reg_class /* Node: Elimination */ /* Really only needed if the stack frame has variable length (alloca - or variable sized local arguments (GNU C extension). */ -#define FRAME_POINTER_REQUIRED 0 + or variable sized local arguments (GNU C extension). See PR39499 and + PR38609 for the reason this isn't just 0. */ +#define FRAME_POINTER_REQUIRED (!current_function_sp_is_unchanging) #define ELIMINABLE_REGS \ {{ARG_POINTER_REGNUM, STACK_POINTER_REGNUM}, \