]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
expr.c (expand_expr, [...]): Call mark_addressable again for the slot after we give...
authorJason Merrill <jason@yorick.cygnus.com>
Tue, 16 Sep 1997 07:53:56 +0000 (07:53 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 16 Sep 1997 07:53:56 +0000 (03:53 -0400)
* expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
  again for the slot after we give it RTL.

From-SVN: r15482

gcc/ChangeLog
gcc/expr.c

index c2c079bc7269f5f793dcd4bc6d330617124d9cfa..9cfaca9ec2f6cbe9c7038017427eff46710bbd54 100644 (file)
@@ -1064,6 +1064,11 @@ Fri Aug 15 13:43:39 1997  Michael Meissner  <meissner@cygnus.com>
        print out the names of the notes.  Print out the name of the insn
        that is not a note, and not an {,CALL_,JUMP_}INSN.
 
+Wed Aug 13 17:32:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
+       again for the slot after we give it RTL.
+
 Wed Aug 13 01:03:37 1997  Doug Evans  <dje@canuck.cygnus.com>
 
        * configure.in (haifa configury): Fix typo.
index 640bc8fd30e64a985a7119ce5cd81a607cd144b9..96033da1baaa02308ceca310c74e173eeb61eb65 100644 (file)
@@ -6919,6 +6919,11 @@ expand_expr (exp, target, tmode, modifier)
                /* All temp slots at this level must not conflict.  */
                preserve_temp_slots (target);
                DECL_RTL (slot) = target;
+               if (TREE_ADDRESSABLE (slot))
+                 {
+                   TREE_ADDRESSABLE (slot) = 0;
+                   mark_addressable (slot);
+                 }
 
                /* Since SLOT is not known to the called function
                   to belong to its stack frame, we must build an explicit