diff mbox

[testsuite] Skip gcc.target/mips/interrupt_handler-[23].c on IRIX (PR target/50580)

Message ID ydd7gzcdy25.fsf@manam.CeBiTec.Uni-Bielefeld.DE
State New
Headers show

Commit Message

Rainer Orth Feb. 24, 2012, 3:57 p.m. UTC
Looking closer into the gcc.target/mips/interrupt_handler-[23].c
failures

FAIL: gcc.target/mips/interrupt_handler-2.c scan-assembler \\t\\\\.cfi_restore 64\\n
FAIL: gcc.target/mips/interrupt_handler-2.c scan-assembler \\t\\\\.cfi_restore 65\\n

and many more for interrupt_handler-3.c, I now understand what's going
on: .cfi* directives are only emitted if dwarf2cfi.c
(dwarf2out_do_cfi_asm) returns true, but if MIPS_DEBUGGING_INFO is
defined (as is the case in iris6.h), it returns false.  Thus, the tests
are meaningless since even the scan-assembler-not tests only succeed
because no .cfi* directives whatsoever are present in the assembler
output.  XFAILing them with dg-xfail-if doesn't work:

XPASS: gcc.target/mips/interrupt_handler-2.c (test for excess errors)
FAIL: gcc.target/mips/interrupt_handler-2.c scan-assembler \t\\.cfi_restore 64\n
FAIL: gcc.target/mips/interrupt_handler-2.c scan-assembler \t\\.cfi_restore 65\n

and adding xfail's to each and every dg-final seems pointless,
especially given that the scan-assembler-not tests only pass by
accident.  I therefore just skip the tests on IRIX.

Tested with the appropriate runtest invocation on mips-sgi-irix6.5,
installed on mainline.

	Rainer


2012-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR target/50580
	* gcc.target/mips/interrupt_handler-2.c: Skip on mips-sgi-irix6*.
	* gcc.target/mips/interrupt_handler-3.c: Likewise.
diff mbox

Patch

# HG changeset patch
# Parent 5002952adc32431a8c1084a301aa929640d70870
[testsuite] Skip gcc.target/mips/interrupt_handler-[23].c on IRIX (PR target/50580)

diff --git a/gcc/testsuite/gcc.target/mips/interrupt_handler-2.c b/gcc/testsuite/gcc.target/mips/interrupt_handler-2.c
--- a/gcc/testsuite/gcc.target/mips/interrupt_handler-2.c
+++ b/gcc/testsuite/gcc.target/mips/interrupt_handler-2.c
@@ -4,6 +4,7 @@ 
 /* { dg-final { scan-assembler "\t\\\.cfi_restore 65\n" } } */
 /* { dg-final { scan-assembler-not "\\\.cfi_def_cfa( |\t)" } } */
 /* { dg-final { scan-assembler-not "\\\.cfi_def_cfa_register( |\t)" } } */
+/* { dg-skip-if "PR target/50580" { mips-sgi-irix6* } } */
 
 extern void f (void);
 
diff --git a/gcc/testsuite/gcc.target/mips/interrupt_handler-3.c b/gcc/testsuite/gcc.target/mips/interrupt_handler-3.c
--- a/gcc/testsuite/gcc.target/mips/interrupt_handler-3.c
+++ b/gcc/testsuite/gcc.target/mips/interrupt_handler-3.c
@@ -23,6 +23,7 @@ 
 /* { dg-final { scan-assembler "\t\\\.cfi_def_cfa_offset 0\n" } } */
 /* { dg-final { scan-assembler-not "\\\.cfi_def_cfa( |\t)" } } */
 /* { dg-final { scan-assembler-not "\\\.cfi_def_cfa_register( |\t)" } } */
+/* { dg-skip-if "PR target/50580" { mips-sgi-irix6* } } */
 
 extern void f (void);