aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorljrittle <ljrittle@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-04 23:13:54 +0000
committerljrittle <ljrittle@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-04 23:13:54 +0000
commite43966feb82d9cca4f40ace0c34ddabaff44a02b (patch)
tree6568c333f4e5fce0be46e8fd99bbc7cae8e746c8
parentdbb86c9ce69e8f77d75835d550fb3e3aa35685c6 (diff)
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48548 138bc75d-0d04-0410-961f-82ee72b054a4
-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 e5b5bfa39b6..a29db1f79ec 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 68cc8f0cef1..ce13d7e9eed 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 ee879ae4c95..c230c306d29 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