This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

stack alignement fix


Hi,

this is actually a resend, cause I noticed that I did the last patch 
against the 2_95-branch and didn't apply to the mainline. A testcase that 
fails on powerpc-linux-gnu is included this time.

Franz.

	* function.c (locate_and_pad_parm): Don't align stack unconditionally

Index: function.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/function.c,v
retrieving revision 1.138
diff -u -p -r1.138 function.c
--- function.c  1999/11/18 17:50:56     1.138
+++ function.c  1999/11/19 13:20:40
@@ -5022,7 +5022,12 @@ locate_and_pad_parm (passed_mode, type,
                                 - offset_ptr->constant);
      }
  #else /* !ARGS_GROW_DOWNWARD */
-  pad_to_arg_alignment (initial_offset_ptr, boundary, alignment_pad);
+  if (!in_regs
+#ifdef REG_PARM_STACK_SPACE
+      || REG_PARM_STACK_SPACE (fndecl) > 0
+#endif
+      )
+    pad_to_arg_alignment (initial_offset_ptr, boundary, alignment_pad);
    *offset_ptr = *initial_offset_ptr;

  #ifdef PUSH_ROUNDING

function-m.patch

arg-bug.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]