diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2000-09-24 15:35:44 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2000-09-24 11:35:44 -0400 |
commit | bd5dab534bc87446279c5b10f1fdbf8c2be6a68c (patch) | |
tree | d5132e49b5152e9bdd4ca0abb8e4d113d615a307 /gcc | |
parent | 838f313bbdf80d22aca1751d272efc3c58c2b870 (diff) | |
download | gcc-bd5dab534bc87446279c5b10f1fdbf8c2be6a68c.zip gcc-bd5dab534bc87446279c5b10f1fdbf8c2be6a68c.tar.gz gcc-bd5dab534bc87446279c5b10f1fdbf8c2be6a68c.tar.bz2 |
expr.c (store_field): If BITSIZE is negative, use size of type.
* expr.c (store_field): If BITSIZE is negative, use size of type.
(expand_expr, case COMPONENT_EXPR): Likewise.
From-SVN: r36588
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c6ecd38..4b535509 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sun Sep 24 09:15:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * expr.c (store_field): If BITSIZE is negative, use size of type. + (expand_expr, case COMPONENT_EXPR): Likewise. + Sun 24-Sep-2000 11:40:23 BST Neil Booth <NeilB@earthling.net> * cpplex.c: Update TODO comment. @@ -4992,8 +4992,9 @@ store_field (target, bitsize, bitpos, mode, exp, value_mode, align >>= 1; emit_block_move (target, temp, - GEN_INT ((bitsize + BITS_PER_UNIT - 1) - / BITS_PER_UNIT), + bitsize == -1 ? expr_size (exp) + : GEN_INT ((bitsize + BITS_PER_UNIT - 1) + / BITS_PER_UNIT), align); return value_mode == VOIDmode ? const0_rtx : target; @@ -6927,8 +6928,9 @@ expand_expr (exp, target, tmode, modifier) target = assign_temp (type, 0, 1, 1); emit_block_move (target, op0, - GEN_INT ((bitsize + BITS_PER_UNIT - 1) - / BITS_PER_UNIT), + bitsize == -1 ? expr_size (exp) + : GEN_INT ((bitsize + BITS_PER_UNIT - 1) + / BITS_PER_UNIT), BITS_PER_UNIT); return target; |