------- Comment #17 from rguenth at gcc dot gnu dot org  2010-09-19 11:10 
-------
Ah.  The following fixes it for me on a cross.  Can you bootstrap & regtest and
install it?  It's pre-approved if it works for you.

Thanks.

Index: gcc/function.c
===================================================================
--- gcc/function.c      (revision 164396)
+++ gcc/function.c      (working copy)
@@ -3578,7 +3578,7 @@ gimplify_parameters (void)
                       && compare_tree_int (DECL_SIZE_UNIT (parm),
                                            STACK_CHECK_MAX_VAR_SIZE) > 0))
                {
-                 local = create_tmp_var (type, get_name (parm));
+                 local = create_tmp_reg (type, get_name (parm));
                  DECL_IGNORED_P (local) = 0;
                  /* If PARM was addressable, move that flag over
                     to the local copy, as its address will be taken,
@@ -3592,7 +3592,7 @@ gimplify_parameters (void)
                  tree ptr_type, addr;

                  ptr_type = build_pointer_type (type);
-                 addr = create_tmp_var (ptr_type, get_name (parm));
+                 addr = create_tmp_reg (ptr_type, get_name (parm));
                  DECL_IGNORED_P (addr) = 0;
                  local = build_fold_indirect_ref (addr);



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43959

Reply via email to