aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1997-09-16 07:53:56 +0000
committerJason Merrill <jason@gcc.gnu.org>1997-09-16 03:53:56 -0400
commit610ce97e654a9f2ed5e103bddd936988c5768538 (patch)
tree5308f511fbbdc895f6dd16ce48b320c7b5084c38
parentf633220ce22c6f9b84355e5f5d7b8e13a92e982d (diff)
downloadgcc-610ce97e654a9f2ed5e103bddd936988c5768538.zip
gcc-610ce97e654a9f2ed5e103bddd936988c5768538.tar.gz
gcc-610ce97e654a9f2ed5e103bddd936988c5768538.tar.bz2
expr.c (expand_expr, [...]): Call mark_addressable again for the slot after we give it RTL.
* expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable again for the slot after we give it RTL. From-SVN: r15482
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/expr.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c2c079b..9cfaca9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/expr.c b/gcc/expr.c
index 640bc8f..96033da 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -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