diff options
author | Jason Merrill <jason@yorick.cygnus.com> | 1997-09-16 07:53:56 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1997-09-16 03:53:56 -0400 |
commit | 610ce97e654a9f2ed5e103bddd936988c5768538 (patch) | |
tree | 5308f511fbbdc895f6dd16ce48b320c7b5084c38 | |
parent | f633220ce22c6f9b84355e5f5d7b8e13a92e982d (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 5 |
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. @@ -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 |