diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-03-23 22:33:35 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-03-23 15:33:35 -0700 |
commit | 9a7b9f4f060532cc69ad4902e0298ee942a2846f (patch) | |
tree | 78bad6de7c6f96607b2fba945303cffa7aacfe3d /gcc | |
parent | 8ebf19db4678c51326b8b6642b07eeb5ce2ef036 (diff) | |
download | gcc-9a7b9f4f060532cc69ad4902e0298ee942a2846f.zip gcc-9a7b9f4f060532cc69ad4902e0298ee942a2846f.tar.gz gcc-9a7b9f4f060532cc69ad4902e0298ee942a2846f.tar.bz2 |
expr.c (expand_assignment): Do not try to optimize a aggregate address which has VOIDmode.
* expr.c (expand_assignment): Do not try to optimize a aggregate
address which has VOIDmode.
From-SVN: r25934
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 897e1c1..9573ce7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue Mar 23 23:32:14 1999 Jeffrey A Law (law@cygnus.com) + + * expr.c (expand_assignment): Do not try to optimize a aggregate + address which has VOIDmode. + Tue Mar 23 22:51:48 1999 Mumit Khan <khan@xraylith.wisc.edu> Donn Terry <donn@interix.com> @@ -3276,8 +3276,11 @@ expand_assignment (to, from, want_value, suggest_reg) #endif } + /* A constant address in TO_RTX can have VOIDmode, we must not try + to call force_reg for that case. Avoid that case. */ if (GET_CODE (to_rtx) == MEM && GET_MODE (to_rtx) == BLKmode + && GET_MODE (XEXP (to_rtx, 0)) != VOIDmode && bitsize && (bitpos % bitsize) == 0 && (bitsize % GET_MODE_ALIGNMENT (mode1)) == 0 |