aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/20020227-1.x
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20020227-1.x')
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20020227-1.x38
1 files changed, 25 insertions, 13 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020227-1.x b/gcc/testsuite/gcc.c-torture/execute/20020227-1.x
index 3c3c4bb9cb5..67afb822088 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020227-1.x
+++ b/gcc/testsuite/gcc.c-torture/execute/20020227-1.x
@@ -2,20 +2,32 @@
# been observed to fail on at least mips-irix6, alpha, ia64, hppa64,
# sparc64/sparcv9 and mmix during April 2002.
-if { [istarget "*64*-*-*"] || [istarget "alpha*-*-*"] || [istarget "mmix-*-*"]
- || [istarget "sparcv9-*-*"] || [istarget "mips*-*-irix6*"] } {
- set torture_execute_xfail [istarget]
-}
-
-# Regular sparc- also fails with -m64.
-set torture_eval_before_execute {
- global compiler_conditional_xfail_data
- set compiler_conditional_xfail_data {
- "This test fails on 64-bit targets, see PR6221." \
- { "sparc-*-*" } \
- { "-m64" } \
- { "" }
+if { [istarget "sparc64-*-*"] || [istarget "sparcv9-*-*"] } {
+ # On sparc64/sparcv9 it doesn't fail at -O0/-O1, or at all with -m32.
+ set torture_eval_before_execute {
+ global compiler_conditional_xfail_data
+ set compiler_conditional_xfail_data {
+ "This test fails on 64-bit targets, see PR6221." \
+ { "*-*-*" } \
+ { "-O2" "-O3" "-Os" } \
+ { "-m32" }
+ }
}
+} elseif { [istarget "sparc-*-*"] } {
+ # Regular sparc fails with -m64, but not with -O0/-O1.
+ set torture_eval_before_execute {
+ global compiler_conditional_xfail_data
+ set compiler_conditional_xfail_data {
+ "This test fails on 64-bit targets, see PR6221." \
+ { "*-*-*" } \
+ { "-m64" } \
+ { "-O0" "-O1" }
+ }
+ }
+} elseif { [istarget "*64*-*-*"] || [istarget "alpha*-*-*"]
+ || [istarget "mmix-*-*"] || [istarget "mips*-*-irix6*"] } {
+ # Other 64-bit targets fail at all optimization levels.
+ set torture_execute_xfail [istarget]
}
return 0