removing XPASSes

Geoff Keating geoffk@cygnus.com
Sun Aug 13 20:28:00 GMT 2000


> Date: Sun, 13 Aug 2000 21:56:32 +0200
> From: Toon Moene <toon@moene.indiv.nluug.nl>
> Organization: Moene Computational Physics, Maartensdijk, The Netherlands
> 
> Geoff Keating wrote:
> 
> > These remove some XFAILs which now pass.  The g77 testcase appears to
> > pass everywhere, according to the gcc-testsuite list, 
> 
> > +       * g77.f-torture/compile/20000629-1.x: Remove, this test apparently
> > +       passes everywhere.
> 
>       IMPLICIT SMILEY (A-Z)
> 
> Hmmm, that just means you need new glasses (or contact lenses).  I,
> however, still read without them:
> 
> $ /usr/snp/bin/g77 -v -O2 -funroll-loops 20000629-1.f
> g77 version 2.96 20000813 (experimental) (Fortran Frontend version
> 0.5.26 20000813 (experimental))
> Driving: /usr/snp/bin/g77 -v -O2 -funroll-loops 20000629-1.f -lg2c -lm
> Reading specs from /usr/snp/lib/gcc-lib/i686-pc-linux/2.96/specs
...

Aah, I see.  I needed Intel-coloured glasses...  "All the world's
an x86, and all the people users."  :-)

Let's try this.  I had to port some machinery over from c-torture.
You will need a current dejagnu (from CVS on sourceware), otherwise
the FAIL you see represents a dejagnu bug.

Tested on i686-linux.

-- 
- Geoffrey Keating <geoffk@cygnus.com>

===File ~/patches/cygnus/test-g77xfail.patch================
? gcc.c-torture/execute/memcheck/memcheck.exp.new
Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/egcs/gcc/testsuite/ChangeLog,v
retrieving revision 1.650
diff -u -p -r1.650 ChangeLog
--- ChangeLog	2000/08/13 21:31:09	1.650
+++ ChangeLog	2000/08/14 03:10:02
@@ -1,5 +1,13 @@
 2000-08-13  Geoff Keating  <geoffk@cygnus.com>
 
+	* lib/c-torture.exp (c-torture): Make
+	compiler_conditional_xfail_data global.
+	* lib/f-torture.exp (f-torture): Add in torture_eval_before_compile,
+	compiler_conditional_xfail_data machinery.
+	(f-torture-execute): Likewise.
+	* g77.c-torture/compile/20000629-1.x: The test only fails on x86,
+	and only when unrolling loops.
+
 	* gcc.dg/c99-array-lval-1.c: The test on line 14 now passes.
 
 2000-08-11  Nathan Sidwell  <nathan@codesourcery.com>
Index: g77.f-torture/compile/20000629-1.x
===================================================================
RCS file: /cvs/gcc/egcs/gcc/testsuite/g77.f-torture/compile/20000629-1.x,v
retrieving revision 1.4
diff -u -p -r1.4 20000629-1.x
--- 20000629-1.x	2000/08/02 01:19:30	1.4
+++ 20000629-1.x	2000/08/14 03:10:02
@@ -1,3 +1,10 @@
-set torture_compile_xfail "*-*-*"
+set torture_eval_before_compile {
+    set compiler_conditional_xfail_data {
+        "bug with -funroll-loops" \
+        "i?86-*-*" \
+        { "-funroll-loops" "-funroll-all-loops" } \
+        { "" }
+    }
+}
 
 return 0
Index: lib/c-torture.exp
===================================================================
RCS file: /cvs/gcc/egcs/gcc/testsuite/lib/c-torture.exp,v
retrieving revision 1.14
diff -u -p -r1.14 c-torture.exp
--- c-torture.exp	2000/07/08 23:55:09	1.14
+++ c-torture.exp	2000/08/14 03:10:03
@@ -255,7 +255,7 @@ proc search_for { file pattern } {
 # to more than 14 chars.
 #
 proc c-torture { args } {
-    global srcdir subdir
+    global srcdir subdir compiler_conditional_xfail_data
 
     set src [lindex $args 0];
     if { [llength $args] > 1 } {
Index: lib/f-torture.exp
===================================================================
RCS file: /cvs/gcc/egcs/gcc/testsuite/lib/f-torture.exp,v
retrieving revision 1.8
diff -u -p -r1.8 f-torture.exp
--- f-torture.exp	2000/05/21 00:18:24	1.8
+++ f-torture.exp	2000/08/14 03:10:03
@@ -1,4 +1,4 @@
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -131,7 +131,7 @@ proc f-torture-compile { src option } {
 # to more than 14 chars.
 #
 proc f-torture-execute { src } {
-    global tmpdir tool srcdir output 
+    global tmpdir tool srcdir output compiler_conditional_xfail_data
 
     # Check for alternate driver.
     if [file exists [file rootname $src].x] {
@@ -169,6 +169,13 @@ proc f-torture-execute { src } {
 	if [info exists torture_compile_xfail] {
 	    setup_xfail $torture_compile_xfail
 	}
+
+	# torture_execute_before_{compile,execute} can be set by the .x script
+	# (if present)
+	if [info exists torture_eval_before_compile] {
+            set ignore_me [eval $torture_eval_before_compile]
+	}
+
 	remote_file build delete $executable
 	verbose "Testing $testcase, $option" 1
 
@@ -234,7 +241,11 @@ proc f-torture-execute { src } {
 	if [info exists torture_execute_xfail] {
 	    setup_xfail $torture_execute_xfail
 	}
-	
+
+	if [info exists torture_eval_before_execute] {
+            set ignore_me [eval $torture_eval_before_execute]
+	}
+
 	set result [g77_load "$executable" "" ""]
 	set status [lindex $result 0];
 	set output [lindex $result 1];
@@ -273,7 +284,7 @@ proc search_for { file pattern } {
 # to more than 14 chars.
 #
 proc f-torture { args } {
-    global srcdir subdir
+    global srcdir subdir compiler_conditional_xfail_data
 
     set src [lindex $args 0];
     if { [llength $args] > 1 } {
@@ -311,6 +322,11 @@ proc f-torture { args } {
 	# torture_compile_xfail is set by the .x script (if present)
 	if [info exists torture_compile_xfail] {
 	    setup_xfail $torture_compile_xfail
+	}
+
+	# torture_execute_before_compile is set by the .x script (if present)
+	if [info exists torture_eval_before_compile] {
+            set ignore_me [eval $torture_eval_before_compile]
 	}
 
 	f-torture-compile $src "$option $options"
============================================================


More information about the Gcc-patches mailing list