aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2004-07-05 23:37:40 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2004-07-05 23:37:40 +0200
commit7682ef833a7aadac91f2fd21d2c61b74f4d4c957 (patch)
tree4f531dccb304dcf5e79a0af65d35fba1caaf1761 /gcc/expr.c
parent7b61653a60e028d88529c935633d8592aa74607d (diff)
downloadgcc-7682ef833a7aadac91f2fd21d2c61b74f4d4c957.zip
gcc-7682ef833a7aadac91f2fd21d2c61b74f4d4c957.tar.gz
gcc-7682ef833a7aadac91f2fd21d2c61b74f4d4c957.tar.bz2
expr.c (expand_assignment): Disable the bitfield += optimizations.
* expr.c (expand_assignment): Disable the bitfield += optimizations. * gcc.c-torture/execute/20040629-1.c (FIELDS1, FIELDS2): Define to nothing if not yet defined. Use it in b, c and d type definitions. * gcc.c-torture/execute/20040705-1.c: New test. * gcc.c-torture/execute/20040705-2.c: New test. From-SVN: r84133
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 3c15a7b..b5feed7 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -3802,7 +3802,9 @@ expand_assignment (tree to, tree from, int want_value)
MEM_KEEP_ALIAS_SET_P (to_rtx) = 1;
}
- while (mode1 == VOIDmode && !want_value
+ /* Disabled temporarily. GET_MODE (to_rtx) is often not the right
+ mode. */
+ while (0 && mode1 == VOIDmode && !want_value
&& bitpos + bitsize <= BITS_PER_WORD
&& bitsize < BITS_PER_WORD
&& GET_MODE_BITSIZE (GET_MODE (to_rtx)) <= BITS_PER_WORD