This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Disable pr36728-1/2 testcases on s390(x)
On Thu, Jan 13, 2011 at 02:48:02PM +0100, Andreas Krebbel wrote:
> > Does xfailing the tests for arg1 and arg2 for s390(x) work with the guality
> > framework? If so I'd prefer that. Otherwise the patch is ok.
>
> Yes, this seems to work. I've applied the following.
Hmm. With that patch I seem to have traded:
FAIL: gcc.dg/guality/pr36728-1.c -O1 line 12 arg1 == 1
FAIL: gcc.dg/guality/pr36728-1.c -O1 line 12 arg2 == 2
FAIL: gcc.dg/guality/pr36728-1.c -O1 line 14 arg1 == 1
FAIL: gcc.dg/guality/pr36728-1.c -O1 line 14 arg2 == 2
FAIL: gcc.dg/guality/pr36728-1.c -O2 line 12 arg1 == 1
FAIL: gcc.dg/guality/pr36728-1.c -O2 line 14 arg1 == 1
FAIL: gcc.dg/guality/pr36728-1.c -O3 -fomit-frame-pointer line 12 arg1 == 1
FAIL: gcc.dg/guality/pr36728-1.c -O3 -fomit-frame-pointer line 14 arg1 == 1
FAIL: gcc.dg/guality/pr36728-1.c -O3 -g line 12 arg1 == 1
FAIL: gcc.dg/guality/pr36728-1.c -O3 -g line 14 arg1 == 1
FAIL: gcc.dg/guality/pr36728-1.c -Os line 12 arg1 == 1
FAIL: gcc.dg/guality/pr36728-1.c -Os line 12 arg2 == 2
FAIL: gcc.dg/guality/pr36728-1.c -Os line 14 arg1 == 1
FAIL: gcc.dg/guality/pr36728-1.c -Os line 14 arg2 == 2
FAIL: gcc.dg/guality/pr36728-1.c -O2 -flto -flto-partition=none line 12 arg1 == 1
FAIL: gcc.dg/guality/pr36728-1.c -O2 -flto -flto-partition=none line 14 arg1 == 1
FAIL: gcc.dg/guality/pr36728-1.c -O2 -flto line 12 arg1 == 1
FAIL: gcc.dg/guality/pr36728-1.c -O2 -flto line 14 arg1 == 1
against:
XPASS: gcc.dg/guality/pr36728-1.c -O0 line 12 arg1 == 1
XPASS: gcc.dg/guality/pr36728-1.c -O0 line 12 arg2 == 2
XPASS: gcc.dg/guality/pr36728-1.c -O0 line 14 arg1 == 1
XPASS: gcc.dg/guality/pr36728-1.c -O0 line 14 arg2 == 2
XPASS: gcc.dg/guality/pr36728-1.c -O2 line 12 arg2 == 2
XPASS: gcc.dg/guality/pr36728-1.c -O2 line 14 arg2 == 2
XPASS: gcc.dg/guality/pr36728-1.c -O3 -fomit-frame-pointer line 12 arg2 == 2
XPASS: gcc.dg/guality/pr36728-1.c -O3 -fomit-frame-pointer line 14 arg2 == 2
XPASS: gcc.dg/guality/pr36728-1.c -O3 -g line 12 arg2 == 2
XPASS: gcc.dg/guality/pr36728-1.c -O3 -g line 14 arg2 == 2
XPASS: gcc.dg/guality/pr36728-1.c -O2 -flto -flto-partition=none line 12 arg2 == 2
XPASS: gcc.dg/guality/pr36728-1.c -O2 -flto -flto-partition=none line 14 arg2 == 2
XPASS: gcc.dg/guality/pr36728-1.c -O2 -flto line 12 arg2 == 2
XPASS: gcc.dg/guality/pr36728-1.c -O2 -flto line 14 arg2 == 2
Since the single tests happen to succeed from time to time it is
probably better to disable the particular gdb-test directives
completely for s390(x).
I've applied the attached patch.
Bye,
-Andreas-
2011-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.dg/guality/pr36728-1.c: Replace XFAIL for s390(x) with a
target check.
* gcc.dg/guality/pr36728-2.c: Likewise.
Index: gcc/testsuite/gcc.dg/guality/pr36728-1.c
===================================================================
*** gcc/testsuite/gcc.dg/guality/pr36728-1.c.orig
--- gcc/testsuite/gcc.dg/guality/pr36728-1.c
*************** foo (int arg1, int arg2, int arg3, int a
*** 15,30 ****
return y;
}
! /* { dg-final { gdb-test 12 "arg1" "1" { xfail s390*-*-* } } } */
! /* { dg-final { gdb-test 12 "arg2" "2" { xfail s390*-*-* } } } */
/* { dg-final { gdb-test 12 "arg3" "3" } } */
/* { dg-final { gdb-test 12 "arg4" "4" } } */
/* { dg-final { gdb-test 12 "arg5" "5" } } */
/* { dg-final { gdb-test 12 "arg6" "6" } } */
/* { dg-final { gdb-test 12 "arg7" "30" } } */
/* { dg-final { gdb-test 12 "y" "2" } } */
! /* { dg-final { gdb-test 14 "arg1" "1" { xfail s390*-*-* } } } */
! /* { dg-final { gdb-test 14 "arg2" "2" { xfail s390*-*-* } } } */
/* { dg-final { gdb-test 14 "arg3" "3" } } */
/* { dg-final { gdb-test 14 "arg4" "4" } } */
/* { dg-final { gdb-test 14 "arg5" "5" } } */
--- 15,36 ----
return y;
}
! /* On s390(x) r2 and r3 are (depending on the optimization level) used
! when adjusting the addresses in order to meet the alignment
! requirements above. They usually hold the function arguments arg1
! and arg2. So it is expected that these values are unavailable in
! some of these tests. */
!
! /* { dg-final { gdb-test 12 "arg1" "1" { target { ! "s390*-*-*" } } } }*/
! /* { dg-final { gdb-test 12 "arg2" "2" { target { ! "s390*-*-*" } } } }*/
/* { dg-final { gdb-test 12 "arg3" "3" } } */
/* { dg-final { gdb-test 12 "arg4" "4" } } */
/* { dg-final { gdb-test 12 "arg5" "5" } } */
/* { dg-final { gdb-test 12 "arg6" "6" } } */
/* { dg-final { gdb-test 12 "arg7" "30" } } */
/* { dg-final { gdb-test 12 "y" "2" } } */
! /* { dg-final { gdb-test 14 "arg1" "1" { target { ! "s390*-*-*" } } } }*/
! /* { dg-final { gdb-test 14 "arg2" "2" { target { ! "s390*-*-*" } } } }*/
/* { dg-final { gdb-test 14 "arg3" "3" } } */
/* { dg-final { gdb-test 14 "arg4" "4" } } */
/* { dg-final { gdb-test 14 "arg5" "5" } } */
Index: gcc/testsuite/gcc.dg/guality/pr36728-2.c
===================================================================
*** gcc/testsuite/gcc.dg/guality/pr36728-2.c.orig
--- gcc/testsuite/gcc.dg/guality/pr36728-2.c
*************** foo (int arg1, int arg2, int arg3, int a
*** 15,30 ****
return y;
}
! /* { dg-final { gdb-test 12 "arg1" "1" { xfail s390*-*-* } } } */
! /* { dg-final { gdb-test 12 "arg2" "2" { xfail s390*-*-* } } } */
/* { dg-final { gdb-test 12 "arg3" "3" } } */
/* { dg-final { gdb-test 12 "arg4" "4" } } */
/* { dg-final { gdb-test 12 "arg5" "5" } } */
/* { dg-final { gdb-test 12 "arg6" "6" } } */
/* { dg-final { gdb-test 12 "arg7" "30" } } */
/* { dg-final { gdb-test 12 "y" "2" } } */
! /* { dg-final { gdb-test 14 "arg1" "1" { xfail s390*-*-* } } } */
! /* { dg-final { gdb-test 14 "arg2" "2" { xfail s390*-*-* } } } */
/* { dg-final { gdb-test 14 "arg3" "3" } } */
/* { dg-final { gdb-test 14 "arg4" "4" } } */
/* { dg-final { gdb-test 14 "arg5" "5" } } */
--- 15,36 ----
return y;
}
! /* On s390(x) r2 and r3 are (depending on the optimization level) used
! when adjusting the addresses in order to meet the alignment
! requirements above. They usually hold the function arguments arg1
! and arg2. So it is expected that these values are unavailable in
! some of these tests. */
!
! /* { dg-final { gdb-test 12 "arg1" "1" { target { ! "s390*-*-*" } } } } */
! /* { dg-final { gdb-test 12 "arg2" "2" { target { ! "s390*-*-*" } } } } */
/* { dg-final { gdb-test 12 "arg3" "3" } } */
/* { dg-final { gdb-test 12 "arg4" "4" } } */
/* { dg-final { gdb-test 12 "arg5" "5" } } */
/* { dg-final { gdb-test 12 "arg6" "6" } } */
/* { dg-final { gdb-test 12 "arg7" "30" } } */
/* { dg-final { gdb-test 12 "y" "2" } } */
! /* { dg-final { gdb-test 14 "arg1" "1" { target { ! "s390*-*-*" } } } } */
! /* { dg-final { gdb-test 14 "arg2" "2" { target { ! "s390*-*-*" } } } } */
/* { dg-final { gdb-test 14 "arg3" "3" } } */
/* { dg-final { gdb-test 14 "arg4" "4" } } */
/* { dg-final { gdb-test 14 "arg5" "5" } } */