From 6ab06cbb5b0861f9c65f009eba3d6cddbce7910b Mon Sep 17 00:00:00 2001 From: Jim Wilson <wilson@cygnus.com> Date: Thu, 1 Apr 1999 12:05:24 +0000 Subject: [PATCH] Fix irix6 libstdc++ v3 build failure with complex types. * expr.c (store_field): When check direct_store, assume all complex modes can be directly stored. From-SVN: r26104 --- gcc/ChangeLog | 5 +++++ gcc/expr.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ba346a1950e4..231007ba9071 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 diff --git a/gcc/expr.c b/gcc/expr.c index ab533141bf58..3c18b7300384 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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, -- GitLab