]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/38609 (gcc.c-torture/execute/built-in-setjmp.c execute -O2 and above)
authorHans-Peter Nilsson <hp@axis.com>
Thu, 19 Mar 2009 03:52:58 +0000 (03:52 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Thu, 19 Mar 2009 03:52:58 +0000 (03:52 +0000)
PR middle-end/38609
* config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all
functions with dynamic stack-pointer adjustments.

From-SVN: r144951

gcc/ChangeLog
gcc/config/cris/cris.h

index 14acc11328ae2ca47b2adcf570ef2aca9adc4de4..9892f8f6316908ea989d5c905490a5994b2be001 100644 (file)
@@ -1,3 +1,9 @@
+2009-03-19  Hans-Peter Nilsson  <hp@axis.com>
+
+       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  <bje@au.ibm.com>
 
        * doc/invoke.texi (RS/6000 and PowerPC Options): Fix -msdata-data
index eae8b484904ccf77ff935686820fd0455f044a6d..49822598f45dd0113f8e709dd3aa5306204019ca 100644 (file)
@@ -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},  \