Commit 4caddf0b by Eric Botcazou Committed by Eric Botcazou

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
parent 4eec34e5
2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr> 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
* 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 <ebotcazou@libertysurf.fr>
* g++.dg/opt/reg-stack4.C: New test. * g++.dg/opt/reg-stack4.C: New test.
2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr> 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
......
/* { dg-options "-w" } */ /* { dg-options "-w" } */
/* { dg-xfail-if "PR target/12916" "sparc*-*-*" "*" "" } */
#include "compat-common.h" #include "compat-common.h"
#include "vector-defs.h" #include "vector-defs.h"
......
/* { dg-options "-w" } */ /* { dg-options "-w" } */
/* { dg-xfail-if "PR target/12916" "sparc*-*-*" "*" "" } */
#include "compat-common.h" #include "compat-common.h"
#include "vector-defs.h" #include "vector-defs.h"
......
/* { dg-options "-w" } */ /* { dg-options "-w" } */
/* { dg-xfail-if "PR target/12916" "sparc*-*-*" "*" "" } */
#include "compat-common.h" #include "compat-common.h"
#include "vector-defs.h" #include "vector-defs.h"
......
/* { dg-options "-w" } */ /* { dg-options "-w" } */
/* { dg-xfail-if "PR target/12916" "sparc*-*-*" "*" "" } */
#include "compat-common.h" #include "compat-common.h"
#include "vector-defs.h" #include "vector-defs.h"
......
...@@ -50,6 +50,7 @@ if ![info exists COMPAT_OPTIONS] { ...@@ -50,6 +50,7 @@ if ![info exists COMPAT_OPTIONS] {
set option_list $COMPAT_OPTIONS set option_list $COMPAT_OPTIONS
load_lib dg.exp load_lib dg.exp
load_lib gcc-dg.exp
# #
# compat-obj -- compile to an object file # compat-obj -- compile to an object file
...@@ -59,15 +60,18 @@ load_lib dg.exp ...@@ -59,15 +60,18 @@ load_lib dg.exp
# OPTALL is the list of compiler options to use with all tests # OPTALL is the list of compiler options to use with all tests
# OPTFILE is the list of compiler options to use with this file # OPTFILE is the list of compiler options to use with this file
# OPTSTR is the options to print with test messages # 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 testcase
global tool global tool
global compiler_conditional_xfail_data
# Set up the options for compiling this file. # Set up the options for compiling this file.
set options "" set options ""
lappend options "additional_flags=$optfile $optall" lappend options "additional_flags=$optfile $optall"
set compiler_conditional_xfail_data $xfaildata
set comp_output [${tool}_target_compile "$source" "$dest" object $options] set comp_output [${tool}_target_compile "$source" "$dest" object $options]
${tool}_check_compile "$testcase $dest compile" $optstr $dest $comp_output ${tool}_check_compile "$testcase $dest compile" $optstr $dest $comp_output
} }
...@@ -120,7 +124,7 @@ proc compat-run { testname objlist dest optall optfile optstr } { ...@@ -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. # SRC is the full patchname of the source file.
# The result is a list of options to use. # The result is a list of options to use.
...@@ -138,10 +142,15 @@ proc compat-get-options { src } { ...@@ -138,10 +142,15 @@ proc compat-get-options { src } {
# dg-options sets a variable called dg-extra-tool-flags. # dg-options sets a variable called dg-extra-tool-flags.
set 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] set tmp [dg-get-options $src]
foreach op $tmp { foreach op $tmp {
set cmd [lindex $op 0] 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] set status [catch "$op" errmsg]
if { $status != 0 } { if { $status != 0 } {
perror "src: $errmsg for \"$op\"\n" perror "src: $errmsg for \"$op\"\n"
...@@ -176,6 +185,7 @@ proc compat-execute { src1 sid use_alt } { ...@@ -176,6 +185,7 @@ proc compat-execute { src1 sid use_alt } {
global verbose global verbose
global testcase global testcase
global gluefile global gluefile
global compiler_conditional_xfail_data
# Set up the names of the other source files. # Set up the names of the other source files.
regsub "_main.*" $src1 "" base regsub "_main.*" $src1 "" base
...@@ -188,7 +198,9 @@ proc compat-execute { src1 sid use_alt } { ...@@ -188,7 +198,9 @@ proc compat-execute { src1 sid use_alt } {
# extra flags in *_main.* are also used for linking. # extra flags in *_main.* are also used for linking.
set extra_flags_1 [compat-get-options $src1] set extra_flags_1 [compat-get-options $src1]
set extra_flags_2 [compat-get-options $src2] 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 extra_flags_3 [compat-get-options $src3]
set compile_xfail_3 $compiler_conditional_xfail_data
# Define the names of the object files. # Define the names of the object files.
regsub "sid" "sid_main_tst.o" $sid obj1 regsub "sid" "sid_main_tst.o" $sid obj1
...@@ -243,15 +255,15 @@ proc compat-execute { src1 sid use_alt } { ...@@ -243,15 +255,15 @@ proc compat-execute { src1 sid use_alt } {
# later. Skip this if we don't have an alternate compiler. # later. Skip this if we don't have an alternate compiler.
if { $use_alt != 0 } then { if { $use_alt != 0 } then {
compat-use-alt-compiler compat-use-alt-compiler
compat-obj "$src2" "$obj2_alt" $alt_option $extra_flags_2 $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 compat-obj "$src3" "$obj3_alt" $alt_option $extra_flags_3 $optstr $compile_xfail_3
} }
# Compile pieces with the compiler under test. # Compile pieces with the compiler under test.
compat-use-tst-compiler compat-use-tst-compiler
compat-obj "$src1" "$obj1" $tst_option $extra_flags_1 $optstr compat-obj "$src1" "$obj1" $tst_option $extra_flags_1 $optstr ""
compat-obj "$src2" "$obj2_tst" $tst_option $extra_flags_2 $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 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. # Link (using the compiler under test), run, and clean up tests.
compat-run "${obj2_tst}-${obj3_tst}" \ compat-run "${obj2_tst}-${obj3_tst}" \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment