This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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" } } */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]