This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[Tru64 UNIX V5.1] gcc testsuite fixes
- To: gcc-patches at gcc dot gnu dot org
- Subject: [Tru64 UNIX V5.1] gcc testsuite fixes
- From: Rainer Orth <ro at TechFak dot Uni-Bielefeld dot DE>
- Date: Wed, 28 Feb 2001 21:33:35 +0100 (MET)
With the patches in
http://gcc.gnu.org/ml/gcc-patches/2001-02/msg01448.html (still unreviewed)
http://gcc.gnu.org/ml/gcc-patches/2001-02/msg01451.html (already integrated)
I'm able to bootstrap gcc 3.0 20010221 (prerelease) on both Tru64 UNIX
V4.0F and V5.1. Comparing the test results for both O/S releases
http://gcc.gnu.org/ml/gcc-testresults/2001-02/msg00380.html (V4.0F)
http://gcc.gnu.org/ml/gcc-testresults/2001-02/msg00381.html (V5.1)
I find only a few differences (some are described in a separate message):
-FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c execution, -O0
-FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c execution, -O1
-FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c execution, -O2
-FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c execution, -O3 -fomit-frame-pointer
-FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c execution, -O3 -fomit-frame-pointer -funroll-loops
-FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
-FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c execution, -O3 -g
-FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c execution, -Os
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-1.c compilation, -O0
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-1.c compilation, -O1
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-1.c compilation, -O2
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-1.c compilation, -O3 -fomit-frame-pointer
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-1.c compilation, -O3 -fomit-frame-pointer -funroll-loops
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-1.c compilation, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-1.c compilation, -O3 -g
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-1.c compilation, -Os
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c compilation, -O0
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c compilation, -O1
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c compilation, -O2
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c compilation, -O3 -fomit-frame-pointer
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c compilation, -O3 -fomit-frame-pointer -funroll-loops
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c compilation, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c compilation, -O3 -g
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c compilation, -Os
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c compilation, -O0
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c compilation, -O1
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c compilation, -O2
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c compilation, -O3 -fomit-frame-pointer
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c compilation, -O3 -fomit-frame-pointer -funroll-loops
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c compilation, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c compilation, -O3 -g
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c compilation, -Os
In gcc.log, I find that compilation fails with a linker error:
/usr/bin/ld:
Warning: nan defined as GLOBAL DATA but is defined in a shared lib as a GLOBAL FUNC
This is fixed by the patch below, which allows me to compile all tests, yet
fp-cmp-2.x? and fp-cmp-3.x? still fail:
* fp-cmp-2.x0 fails the fnan == fnan test in line 23
* fp-cmp-3.x0 fails the dnan != x test in line 27
Rainer
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University
Email: ro@TechFak.Uni-Bielefeld.DE
Wed Feb 28 20:45:52 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* gcc.c-torture/execute/ieee/fp-cmp-1.c: Renamed nan to dnan.
* gcc.c-torture/execute/ieee/fp-cmp-3.c: Likewise.
* gcc.c-torture/execute/ieee/fp-cmp-2.c: Renamed nan to fnan.
Index: fp-cmp-1.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c,v
retrieving revision 1.3
diff -u -p -r1.3 fp-cmp-1.c
--- fp-cmp-1.c 1998/12/16 22:16:48 1.3
+++ fp-cmp-1.c 2001/02/28 19:50:11
@@ -1,6 +1,6 @@
#include <signal.h>
-double nan = 1.0/0.0 - 1.0/0.0;
+double dnan = 1.0/0.0 - 1.0/0.0;
double x = 1.0;
void leave ()
@@ -19,22 +19,22 @@ main ()
signal (SIGFPE, leave);
#endif
/* NaN is an IEEE unordered operand. All these test should be false. */
- if (nan == nan)
+ if (dnan == dnan)
abort ();
- if (nan != x)
+ if (dnan != x)
x = 1.0;
else
abort ();
- if (nan < x)
+ if (dnan < x)
abort ();
- if (nan > x)
+ if (dnan > x)
abort ();
- if (nan <= x)
+ if (dnan <= x)
abort ();
- if (nan >= x)
+ if (dnan >= x)
abort ();
- if (nan == x)
+ if (dnan == x)
abort ();
#endif
exit (0);
Index: fp-cmp-2.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-2.c,v
retrieving revision 1.2
diff -u -p -r1.2 fp-cmp-2.c
--- fp-cmp-2.c 1999/09/04 15:09:14 1.2
+++ fp-cmp-2.c 2001/02/28 19:50:11
@@ -1,6 +1,6 @@
#include <signal.h>
-float nan = 1.0f/0.0f - 1.0f/0.0f;
+float fnan = 1.0f/0.0f - 1.0f/0.0f;
float x = 1.0f;
void leave ()
@@ -19,22 +19,22 @@ main ()
signal (SIGFPE, leave);
#endif
/* NaN is an IEEE unordered operand. All these test should be false. */
- if (nan == nan)
+ if (fnan == fnan)
abort ();
- if (nan != x)
+ if (fnan != x)
x = 1.0;
else
abort ();
- if (nan < x)
+ if (fnan < x)
abort ();
- if (nan > x)
+ if (fnan > x)
abort ();
- if (nan <= x)
+ if (fnan <= x)
abort ();
- if (nan >= x)
+ if (fnan >= x)
abort ();
- if (nan == x)
+ if (fnan == x)
abort ();
#endif
exit (0);
Index: fp-cmp-3.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-3.c,v
retrieving revision 1.2
diff -u -p -r1.2 fp-cmp-3.c
--- fp-cmp-3.c 1999/09/04 15:09:14 1.2
+++ fp-cmp-3.c 2001/02/28 19:50:11
@@ -1,6 +1,6 @@
#include <signal.h>
-long double nan = 1.0l/0.0l - 1.0l/0.0l;
+long double dnan = 1.0l/0.0l - 1.0l/0.0l;
long double x = 1.0l;
void leave ()
@@ -19,22 +19,22 @@ main ()
signal (SIGFPE, leave);
#endif
/* NaN is an IEEE unordered operand. All these test should be false. */
- if (nan == nan)
+ if (dnan == dnan)
abort ();
- if (nan != x)
+ if (dnan != x)
x = 1.0;
else
abort ();
- if (nan < x)
+ if (dnan < x)
abort ();
- if (nan > x)
+ if (dnan > x)
abort ();
- if (nan <= x)
+ if (dnan <= x)
abort ();
- if (nan >= x)
+ if (dnan >= x)
abort ();
- if (nan == x)
+ if (dnan == x)
abort ();
#endif
exit (0);