mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-26 07:50:27 +08:00
expr.c (store_constructor_field): Don't call store_constructor if bitsize is not a multiple of a byte.
* expr.c (store_constructor_field): Don't call store_constructor if bitsize is not a multiple of a byte. From-SVN: r81487
This commit is contained in:
parent
27c2c3ec4a
commit
6c89c39a48
@ -1,3 +1,8 @@
|
||||
2004-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||
|
||||
* expr.c (store_constructor_field): Don't call store_constructor
|
||||
if bitsize is not a multiple of a byte.
|
||||
|
||||
2004-05-04 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* reload1.c (inherit_piecemeal_p): New function.
|
||||
|
@ -4492,7 +4492,10 @@ store_constructor_field (rtx target, unsigned HOST_WIDE_INT bitsize,
|
||||
tree exp, tree type, int cleared, int alias_set)
|
||||
{
|
||||
if (TREE_CODE (exp) == CONSTRUCTOR
|
||||
/* We can only call store_constructor recursively if the size and
|
||||
bit position are on a byte boundary. */
|
||||
&& bitpos % BITS_PER_UNIT == 0
|
||||
&& (bitsize > 0 && bitsize % BITS_PER_UNIT == 0)
|
||||
/* If we have a nonzero bitpos for a register target, then we just
|
||||
let store_field do the bitfield handling. This is unlikely to
|
||||
generate unnecessary clear instructions anyways. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user