diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ba346a1..231007b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Apr 1 12:04:05 1999 Jim Wilson <wilson@cygnus.com> + + * expr.c (store_field): When check direct_store, assume all complex + modes can be directly stored. + 1999-04-01 Bruce Korb <ddsinc09@ix.netcom.com> * fixinc/genfixes: new shell script that runs autogen @@ -4608,7 +4608,9 @@ store_field (target, bitsize, bitpos, mode, exp, value_mode, Use bit-field techniques or SUBREG to store in it. */ if (mode == VOIDmode - || (mode != BLKmode && ! direct_store[(int) mode]) + || (mode != BLKmode && ! direct_store[(int) mode] + && GET_MODE_CLASS (mode) != MODE_COMPLEX_INT + && GET_MODE_CLASS (mode) != MODE_COMPLEX_FLOAT) || GET_CODE (target) == REG || GET_CODE (target) == SUBREG /* If the field isn't aligned enough to store as an ordinary memref, |