From 6ab06cbb5b0861f9c65f009eba3d6cddbce7910b Mon Sep 17 00:00:00 2001 From: Jim Wilson 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 ba346a1950e..231007ba907 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Apr 1 12:04:05 1999 Jim Wilson + + * expr.c (store_field): When check direct_store, assume all complex + modes can be directly stored. + 1999-04-01 Bruce Korb * fixinc/genfixes: new shell script that runs autogen diff --git a/gcc/expr.c b/gcc/expr.c index ab533141bf5..3c18b730038 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, -- 2.30.2