diff options
author | dj <dj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-11-26 22:29:46 +0000 |
---|---|---|
committer | dj <dj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-11-26 22:29:46 +0000 |
commit | 297d4daf45ed24f6eabef2cf3691d06c3589b255 (patch) | |
tree | 35b519249ad421be9582c4f3d3c1341d27c73cc4 | |
parent | 292a1b7e74bf08282ab66a0fe6140699ed9e358f (diff) | |
download | gcc-297d4daf45ed24f6eabef2cf3691d06c3589b255.tar.gz |
* expr.c (store_constructor): Actually use the value computed
if WORD_REGISTER_OPERATIONS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47359 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 35e514806d7..bb664b16439 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-11-26 DJ Delorie <dj@redhat.com> + + * expr.c (store_constructor): Actually use the value computed + if WORD_REGISTER_OPERATIONS. + 2001-11-26 Richard Henderson <rth@redhat.com> * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY diff --git a/gcc/expr.c b/gcc/expr.c index 9ea2345ffa2..32e6d2db991 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -4546,9 +4546,7 @@ store_constructor (exp, target, cleared, size) for (elt = CONSTRUCTOR_ELTS (exp); elt; elt = TREE_CHAIN (elt)) { tree field = TREE_PURPOSE (elt); -#ifdef WORD_REGISTER_OPERATIONS tree value = TREE_VALUE (elt); -#endif enum machine_mode mode; HOST_WIDE_INT bitsize; HOST_WIDE_INT bitpos = 0; @@ -4562,7 +4560,7 @@ store_constructor (exp, target, cleared, size) if (field == 0) continue; - if (cleared && is_zeros_p (TREE_VALUE (elt))) + if (cleared && is_zeros_p (value)) continue; if (host_integerp (DECL_SIZE (field), 1)) @@ -4655,7 +4653,7 @@ store_constructor (exp, target, cleared, size) } store_constructor_field (to_rtx, bitsize, bitpos, mode, - TREE_VALUE (elt), type, cleared, + value, type, cleared, get_alias_set (TREE_TYPE (field))); } } |