OSDN Git Service

* function.c (assign_parms): Force
authorzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Apr 2004 06:06:08 +0000 (06:06 +0000)
committerzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Apr 2004 06:06:08 +0000 (06:06 +0000)
MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm.

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

gcc/ChangeLog
gcc/function.c

index e57ce57..68cec2a 100644 (file)
@@ -1,5 +1,10 @@
 2004-04-20  Josef Zlomek  <zlomekj@suse.cz>
 
+       * function.c (assign_parms): Force
+       MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm.
+
+2004-04-20  Josef Zlomek  <zlomekj@suse.cz>
+
        * var-tracking.c (variable_part_different_p): Variable parts differ
        when the most recent locations differ.
 
index e030864..56a3814 100644 (file)
@@ -5267,6 +5267,12 @@ assign_parms (tree fndecl)
            {
              SET_DECL_RTL (parm, DECL_RTL (fnargs));
              set_decl_incoming_rtl (parm, DECL_INCOMING_RTL (fnargs));
+
+             /* Set MEM_EXPR to the original decl, i.e. to PARM,
+                instead of the copy of decl, i.e. FNARGS.  */
+             if (DECL_INCOMING_RTL (parm)
+                 && GET_CODE (DECL_INCOMING_RTL (parm)) == MEM)
+               set_mem_expr (DECL_INCOMING_RTL (parm), parm);
            }
          fnargs = TREE_CHAIN (fnargs);
        }