aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2005-01-18 14:13:09 +0000
committerJoel Sherrill <joel@gcc.gnu.org>2005-01-18 14:13:09 +0000
commitde004e6db52c426658b4b936500dd524332f7e50 (patch)
treead7f99af5973d738e68e7dc41e2a99678fcf96f6 /gcc
parentd6e84d0cdd377c625d69105d7f856528f5d5eb6a (diff)
downloadgcc-de004e6db52c426658b4b936500dd524332f7e50.zip
gcc-de004e6db52c426658b4b936500dd524332f7e50.tar.gz
gcc-de004e6db52c426658b4b936500dd524332f7e50.tar.bz2
re PR target/19379 (ICE during build of newlib's e_atan2.c when soft-float)
2005-01-18 Joel Sherrill <joel.sherrill@oarcorp.com> PR target/19379 * config/i386/i386.c (override_options): If the 80387 is disabled, then do not return FP values using FP registers. From-SVN: r93833
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a9d4312..2986541 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-01-18 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ PR target/19379
+ * config/i386/i386.c (override_options): If the 80387 is disabled,
+ then do not return FP values using FP registers.
+
2005-01-18 Kazu Hirata <kazu@cs.umass.edu>
* basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index b6cfde3..cc3cf4b 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -1557,6 +1557,10 @@ override_options (void)
error ("bad value (%s) for -mfpmath= switch", ix86_fpmath_string);
}
+ /* If the i387 is disabled, then do not return values in it. */
+ if (!TARGET_80387)
+ target_flags &= ~MASK_FLOAT_RETURNS;
+
if ((x86_accumulate_outgoing_args & TUNEMASK)
&& !(target_flags_explicit & MASK_ACCUMULATE_OUTGOING_ARGS)
&& !optimize_size)