]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* function.c (assign_parms): When calling put_var_into_stack, make
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 13 Nov 2000 07:00:55 +0000 (07:00 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 13 Nov 2000 07:00:55 +0000 (07:00 +0000)
sure that there are no hidden pending sequences.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37417 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/function.c

index e27245a8c44f018d30e4b53880b8dc6f3cd26a08..9ecbca70a3543a07536de1c8ee099e36357116dd 100644 (file)
@@ -1,3 +1,8 @@
+2000-11-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * function.c (assign_parms): When calling put_var_into_stack, make
+       sure that there are no hidden pending sequences.
+
 2000-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
index ece43d3dc9dfe0d944f36da804ca79bba5285229..bf71b5ac9a8b9ceab4e5f921e2d73f1e844b8abb 100644 (file)
@@ -4863,7 +4863,19 @@ assign_parms (fndecl)
 
          /* If something wants our address, try to use ADDRESSOF.  */
          if (TREE_ADDRESSABLE (parm))
-           put_var_into_stack (parm);
+           {
+             /* If we end up putting something into the stack,
+                fixup_var_refs_insns will need to make a pass over
+                all the instructions.  It looks throughs the pending
+                sequences -- but it can't see the ones in the
+                CONVERSION_INSNS, if they're not on the sequence
+                stack.  So, we go back to that sequence, just so that
+                the fixups will happen.  */
+             push_to_sequence (conversion_insns);
+             put_var_into_stack (parm);
+             conversion_insns = get_insns ();
+             end_sequence ();
+           }
        }
       else
        {