From 51a017d8bc4aa54f56d0f245dacf5e847c947b9f Mon Sep 17 00:00:00 2001 From: Geoff Keating Date: Mon, 14 Aug 2000 04:15:07 +0000 Subject: [PATCH] c-torture.exp (c-torture): Make compiler_conditional_xfail_data global. * 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. From-SVN: r35669 --- gcc/testsuite/ChangeLog | 8 +++++++ .../g77.f-torture/compile/20000629-1.x | 9 ++++++- gcc/testsuite/lib/c-torture.exp | 2 +- gcc/testsuite/lib/f-torture.exp | 24 +++++++++++++++---- 4 files changed, 37 insertions(+), 6 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 907875a5d78..ebfb0a4607c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,13 @@ 2000-08-13 Geoff Keating + * 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 diff --git a/gcc/testsuite/g77.f-torture/compile/20000629-1.x b/gcc/testsuite/g77.f-torture/compile/20000629-1.x index c09b84270eb..f1c5c19d655 100644 --- a/gcc/testsuite/g77.f-torture/compile/20000629-1.x +++ b/gcc/testsuite/g77.f-torture/compile/20000629-1.x @@ -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 diff --git a/gcc/testsuite/lib/c-torture.exp b/gcc/testsuite/lib/c-torture.exp index 509cc5676db..1d9498f5db6 100644 --- a/gcc/testsuite/lib/c-torture.exp +++ b/gcc/testsuite/lib/c-torture.exp @@ -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 } { diff --git a/gcc/testsuite/lib/f-torture.exp b/gcc/testsuite/lib/f-torture.exp index 48f8da29422..2fe99c0c453 100644 --- a/gcc/testsuite/lib/f-torture.exp +++ b/gcc/testsuite/lib/f-torture.exp @@ -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 } { @@ -313,6 +324,11 @@ proc f-torture { args } { 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" } }