aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorLoren J. Rittle <ljrittle@acm.org>2002-01-04 23:13:54 +0000
committerLoren J. Rittle <ljrittle@gcc.gnu.org>2002-01-04 23:13:54 +0000
commit284343370e58109b83b5218278b33054a6ece706 (patch)
tree6568c333f4e5fce0be46e8fd99bbc7cae8e746c8 /gcc
parent3693730eedde509215749415727cd3a7d68b1743 (diff)
downloadgcc-284343370e58109b83b5218278b33054a6ece706.zip
gcc-284343370e58109b83b5218278b33054a6ece706.tar.gz
gcc-284343370e58109b83b5218278b33054a6ece706.tar.bz2
rbug.c: Force FP to extended-precision on FreeBSD/i386.
* gcc.c-torture/execute/ieee/rbug.c: Force FP to extended-precision on FreeBSD/i386. * gcc.c-torture/execute/ieee/rbug.x: Remove all XFAIL markers for FreeBSD. From-SVN: r48548
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/rbug.x6
3 files changed, 15 insertions, 6 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index e5b5bfa..a29db1f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -4,6 +4,11 @@
* g++.old-deja/g++.abi/align.C: Likewise.
* g++.old-deja/g++.abi/bitfields.C: Likewise.
+ * gcc.c-torture/execute/ieee/rbug.c: Force FP to extended-precision
+ on FreeBSD/i386.
+ * gcc.c-torture/execute/ieee/rbug.x: Remove all XFAIL markers for
+ FreeBSD.
+
2002-01-04 Jakub Jelinek <jakub@redhat.com>
* gcc.dg/20020104-1.c: New test.
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c b/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c
index 68cc8f0..ce13d7e 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c
@@ -1,3 +1,7 @@
+#if defined(__i386__) && defined(__FreeBSD__)
+#include <ieeefp.h>
+#endif
+
double d (unsigned long long k)
{
double x;
@@ -19,6 +23,12 @@ main ()
unsigned long long int k;
double x;
+#if defined(__i386__) && defined(__FreeBSD__)
+ /* This test case assumes extended-precision, but FreeBSD defaults to
+ double-precision. Make it so. */
+ fpsetprec (FP_PE);
+#endif
+
if (sizeof (double) >= 8)
{
k = 0x8693ba6d7d220401ULL;
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.x b/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.x
index ee879ae..c230c30 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.x
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.x
@@ -3,10 +3,4 @@
if { [istarget "d10v-*-*"] && ! [string-match "*-mdouble64*" $CFLAGS] } {
set torture_execute_xfail "d10v-*-*"
}
-
-# freebsd sets up the fpu with a different precision control which causes
-# this test to "fail".
-if { [istarget "i?86-*-freebsd*\[12345\]\.*"] } {
- set torture_execute_xfail "i?86-*-freebsd*"
-}
return 0