From: Eric Botcazou Date: Thu, 27 Nov 2003 10:43:01 +0000 (+0100) Subject: compat.exp (compat-obj): New xfaildata parameter. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4caddf0b18beea75c69f58804f9f7263733ac37b;p=gcc.git compat.exp (compat-obj): New xfaildata parameter. * lib/compat.exp (compat-obj): New xfaildata parameter. Use it to set compiler_conditional_xfail_data before compiling. (compat-get-options): Handle dg-xfail-if. (compat-execute): Retrieve XFAIL data and pass them to compat-obj. * gcc.dg/compat/vector-1_x.c: XFAIL on SPARC. * gcc.dg/compat/vector-1_y.c: Likewise. * gcc.dg/compat/vector-2_x.c: Likewise. * gcc.dg/compat/vector-2_y.c: Likewise. From-SVN: r73989 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1f516a1e796..cd7670f26c2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2003-11-27 Eric Botcazou + + * lib/compat.exp (compat-obj): New xfaildata parameter. + Use it to set compiler_conditional_xfail_data before compiling. + (compat-get-options): Handle dg-xfail-if. + (compat-execute): Retrieve XFAIL data and pass them to compat-obj. + * gcc.dg/compat/vector-1_x.c: XFAIL on SPARC. + * gcc.dg/compat/vector-1_y.c: Likewise. + * gcc.dg/compat/vector-2_x.c: Likewise. + * gcc.dg/compat/vector-2_y.c: Likewise. + 2003-11-27 Eric Botcazou * g++.dg/opt/reg-stack4.C: New test. diff --git a/gcc/testsuite/gcc.dg/compat/vector-1_x.c b/gcc/testsuite/gcc.dg/compat/vector-1_x.c index c7e69731400..c7503e5d787 100644 --- a/gcc/testsuite/gcc.dg/compat/vector-1_x.c +++ b/gcc/testsuite/gcc.dg/compat/vector-1_x.c @@ -1,4 +1,5 @@ /* { dg-options "-w" } */ +/* { dg-xfail-if "PR target/12916" "sparc*-*-*" "*" "" } */ #include "compat-common.h" #include "vector-defs.h" diff --git a/gcc/testsuite/gcc.dg/compat/vector-1_y.c b/gcc/testsuite/gcc.dg/compat/vector-1_y.c index 1b8b6d7a49e..8aa21e13e6c 100644 --- a/gcc/testsuite/gcc.dg/compat/vector-1_y.c +++ b/gcc/testsuite/gcc.dg/compat/vector-1_y.c @@ -1,4 +1,5 @@ /* { dg-options "-w" } */ +/* { dg-xfail-if "PR target/12916" "sparc*-*-*" "*" "" } */ #include "compat-common.h" #include "vector-defs.h" diff --git a/gcc/testsuite/gcc.dg/compat/vector-2_x.c b/gcc/testsuite/gcc.dg/compat/vector-2_x.c index 492878aa750..9aa49c0622f 100644 --- a/gcc/testsuite/gcc.dg/compat/vector-2_x.c +++ b/gcc/testsuite/gcc.dg/compat/vector-2_x.c @@ -1,4 +1,5 @@ /* { dg-options "-w" } */ +/* { dg-xfail-if "PR target/12916" "sparc*-*-*" "*" "" } */ #include "compat-common.h" #include "vector-defs.h" diff --git a/gcc/testsuite/gcc.dg/compat/vector-2_y.c b/gcc/testsuite/gcc.dg/compat/vector-2_y.c index e100560a507..283b149a207 100644 --- a/gcc/testsuite/gcc.dg/compat/vector-2_y.c +++ b/gcc/testsuite/gcc.dg/compat/vector-2_y.c @@ -1,4 +1,5 @@ /* { dg-options "-w" } */ +/* { dg-xfail-if "PR target/12916" "sparc*-*-*" "*" "" } */ #include "compat-common.h" #include "vector-defs.h" diff --git a/gcc/testsuite/lib/compat.exp b/gcc/testsuite/lib/compat.exp index 2926d0be680..bf40c6eee39 100644 --- a/gcc/testsuite/lib/compat.exp +++ b/gcc/testsuite/lib/compat.exp @@ -50,6 +50,7 @@ if ![info exists COMPAT_OPTIONS] { set option_list $COMPAT_OPTIONS load_lib dg.exp +load_lib gcc-dg.exp # # compat-obj -- compile to an object file @@ -59,15 +60,18 @@ load_lib dg.exp # OPTALL is the list of compiler options to use with all tests # OPTFILE is the list of compiler options to use with this file # OPTSTR is the options to print with test messages +# XFAILDATA is the xfail data to be passed to the compiler # -proc compat-obj { source dest optall optfile optstr } { +proc compat-obj { source dest optall optfile optstr xfaildata } { global testcase global tool + global compiler_conditional_xfail_data # Set up the options for compiling this file. set options "" lappend options "additional_flags=$optfile $optall" + set compiler_conditional_xfail_data $xfaildata set comp_output [${tool}_target_compile "$source" "$dest" object $options] ${tool}_check_compile "$testcase $dest compile" $optstr $dest $comp_output } @@ -120,7 +124,7 @@ proc compat-run { testname objlist dest optall optfile optstr } { } # -# compat-flags -- get special tool flags to use for a source file +# compat-get-options -- get special tool flags to use for a source file # # SRC is the full patchname of the source file. # The result is a list of options to use. @@ -138,10 +142,15 @@ proc compat-get-options { src } { # dg-options sets a variable called dg-extra-tool-flags. set dg-extra-tool-flags "" + + # dg-xfail-if sets compiler_conditional_xfail_data. + global compiler_conditional_xfail_data + set compiler_conditional_xfail_data "" + set tmp [dg-get-options $src] foreach op $tmp { set cmd [lindex $op 0] - if ![string compare "dg-options" $cmd] { + if { ![string compare "dg-options" $cmd] || ![string compare "dg-xfail-if" $cmd] } { set status [catch "$op" errmsg] if { $status != 0 } { perror "src: $errmsg for \"$op\"\n" @@ -176,6 +185,7 @@ proc compat-execute { src1 sid use_alt } { global verbose global testcase global gluefile + global compiler_conditional_xfail_data # Set up the names of the other source files. regsub "_main.*" $src1 "" base @@ -188,7 +198,9 @@ proc compat-execute { src1 sid use_alt } { # extra flags in *_main.* are also used for linking. set extra_flags_1 [compat-get-options $src1] set extra_flags_2 [compat-get-options $src2] + set compile_xfail_2 $compiler_conditional_xfail_data set extra_flags_3 [compat-get-options $src3] + set compile_xfail_3 $compiler_conditional_xfail_data # Define the names of the object files. regsub "sid" "sid_main_tst.o" $sid obj1 @@ -243,15 +255,15 @@ proc compat-execute { src1 sid use_alt } { # later. Skip this if we don't have an alternate compiler. if { $use_alt != 0 } then { compat-use-alt-compiler - compat-obj "$src2" "$obj2_alt" $alt_option $extra_flags_2 $optstr - compat-obj "$src3" "$obj3_alt" $alt_option $extra_flags_3 $optstr + compat-obj "$src2" "$obj2_alt" $alt_option $extra_flags_2 $optstr $compile_xfail_2 + compat-obj "$src3" "$obj3_alt" $alt_option $extra_flags_3 $optstr $compile_xfail_3 } # Compile pieces with the compiler under test. compat-use-tst-compiler - compat-obj "$src1" "$obj1" $tst_option $extra_flags_1 $optstr - compat-obj "$src2" "$obj2_tst" $tst_option $extra_flags_2 $optstr - compat-obj "$src3" "$obj3_tst" $tst_option $extra_flags_3 $optstr + compat-obj "$src1" "$obj1" $tst_option $extra_flags_1 $optstr "" + compat-obj "$src2" "$obj2_tst" $tst_option $extra_flags_2 $optstr $compile_xfail_2 + compat-obj "$src3" "$obj3_tst" $tst_option $extra_flags_3 $optstr $compile_xfail_3 # Link (using the compiler under test), run, and clean up tests. compat-run "${obj2_tst}-${obj3_tst}" \