aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2000-09-24 15:35:44 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2000-09-24 11:35:44 -0400
commitbd5dab534bc87446279c5b10f1fdbf8c2be6a68c (patch)
treed5132e49b5152e9bdd4ca0abb8e4d113d615a307 /gcc
parent838f313bbdf80d22aca1751d272efc3c58c2b870 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/expr.c10
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.
diff --git a/gcc/expr.c b/gcc/expr.c
index 6013c3e..0185922 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -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;