diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20020227-1.x')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20020227-1.x | 38 |
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 |