diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-02 16:40:35 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-02 16:40:35 +0000 |
commit | 5b90bb083a996b4f266c0ee0d7a46d8e064c9604 (patch) | |
tree | 569042c7ab402bdfaac2b3453d6582e65a3bedb1 /gcc/expr.c | |
parent | 19a4efe71ed22ede45376172f18deda683aab5e6 (diff) | |
download | gcc-5b90bb083a996b4f266c0ee0d7a46d8e064c9604.tar.gz |
* expr.c (store_constructor_field): Update ALIGN before calling
store_constructor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38629 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index 25379e7a735..114f74f40a3 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -4339,8 +4339,13 @@ store_constructor_field (target, bitsize, bitpos, plus_constant (XEXP (target, 0), bitpos / BITS_PER_UNIT)); + + /* Show the alignment may no longer be what it was and update the alias + set, if required. */ + align = MIN (align, bitpos & - bitpos); if (GET_CODE (target) == MEM) MEM_ALIAS_SET (target) = alias_set; + store_constructor (exp, target, align, cleared, bitsize / BITS_PER_UNIT); } else |