From fdaea7e2865fc020c80fcd8093175b5a20ed0507 Mon Sep 17 00:00:00 2001 From: Janis Johnson Date: Thu, 1 Nov 2007 16:22:36 +0000 Subject: [PATCH] re PR testsuite/25352 (xfail within dg-do command has no effect) gcc/ PR testsuite/25352 * doc/sourcebuild.texi (Test Directives): Document that xfail has no effect for dg-do except when dg-do-what is "run". libstdc++-v3/ PR testsuite/25352 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: Remove xfail from dg-do and add dg-skip-if. gcc/testsuite/ PR testsuite/25352 * gcc.c-torture/compile/20000804-1.c: Remove xfail from dg-do and add dg-skip-if. * gcc.c-torture/compile/20001205-1.c: Ditto. * gcc.c-torture/compile/20001226-1.c: Ditto. * gcc.c-torture/compile/20020312-1.c: Ditto. * gcc.c-torture/compile/20020604-1.c: Ditto. * gcc.c-torture/compile/920501-12.c: Ditto. * gcc.c-torture/compile/920501-4.c: Ditto. * gcc.c-torture/compile/920520-1.c: Ditto. * gcc.c-torture/compile/980506-1.c: Ditto. * gcc.c-torture/compile/990617-1.c: Ditto. * gcc.dg/compare6.c: Ditto. * g++.old-deja/g++.brendan/crash43.C: Ditto. * g++.old-deja/g++.brendan/synth1.C: Ditto. * g++.old-deja/g++.oliva/dwarf2.C: Ditto. * g++.old-deja/g++.oliva/dwarf3.C: Ditto. * g++.old-deja/g++.pt/static6.C: Ditto. * g++.old-deja/g++.pt/crash16.C: Ditto. * g++.old-deja/g++.mike/p10416.C: Ditto. * g++.old-deja/g++.mike/ns15.C: Ditto. * g++.old-deja/g++.mike/eh46.C: Ditto. From-SVN: r129823 --- gcc/ChangeLog | 6 +++++ gcc/doc/sourcebuild.texi | 9 ++++--- gcc/testsuite/ChangeLog | 25 +++++++++++++++++++ .../g++.old-deja/g++.brendan/crash43.C | 3 ++- .../g++.old-deja/g++.brendan/synth1.C | 3 ++- gcc/testsuite/g++.old-deja/g++.mike/eh46.C | 3 ++- gcc/testsuite/g++.old-deja/g++.mike/ns15.C | 3 ++- gcc/testsuite/g++.old-deja/g++.mike/p10416.C | 3 ++- gcc/testsuite/g++.old-deja/g++.oliva/dwarf2.C | 3 ++- gcc/testsuite/g++.old-deja/g++.oliva/dwarf3.C | 3 ++- gcc/testsuite/g++.old-deja/g++.pt/crash16.C | 3 ++- gcc/testsuite/g++.old-deja/g++.pt/static6.C | 3 ++- .../gcc.c-torture/compile/20000804-1.c | 3 ++- .../gcc.c-torture/compile/20001205-1.c | 3 ++- .../gcc.c-torture/compile/20001226-1.c | 5 ++-- .../gcc.c-torture/compile/20020312-1.c | 3 ++- .../gcc.c-torture/compile/20020604-1.c | 4 +-- .../gcc.c-torture/compile/920501-12.c | 3 ++- .../gcc.c-torture/compile/920501-4.c | 3 ++- .../gcc.c-torture/compile/920520-1.c | 3 ++- .../gcc.c-torture/compile/980506-1.c | 5 ++-- .../gcc.c-torture/compile/990617-1.c | 3 ++- gcc/testsuite/gcc.dg/compare6.c | 3 ++- libstdc++-v3/ChangeLog | 6 +++++ .../cmath/c99_classification_macros_c.cc | 3 ++- 25 files changed, 86 insertions(+), 28 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7363e529936..d1569fafdc7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-11-01 Janis Johnson + + PR testsuite/25352 + * doc/sourcebuild.texi (Test Directives): Document that xfail + has no effect for dg-do except when dg-do-what is "run". + 2007-11-01 Tom Tromey * c-decl.c (grokdeclarator): Set decl source locations. diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index b4d8b342b61..0a4224ba8b4 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -963,10 +963,11 @@ If the directive includes the optional @samp{@{ target @var{selector} @}} then the test is skipped unless the target system is included in the list of target triplets or matches the effective-target keyword. -If the directive includes the optional @samp{@{ xfail @var{selector} @}} -and the selector is met then the test is expected to fail. For -@code{dg-do run}, execution is expected to fail but compilation -is expected to pass. +If @samp{do-what-keyword} is @code{run} and the directive includes +the optional @samp{@{ xfail @var{selector} @}} and the selector is met +then the test is expected to fail. The @code{xfail} clause is ignored +for other values of @samp{do-what-keyword}; those tests can use +directive @code{dg-xfail-if}. @item @{ dg-options @var{options} [@{ target @var{selector} @}] @} This DejaGnu directive provides a list of compiler options, to be used diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e42f1ef4468..8c564151917 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,28 @@ +2007-11-01 Janis Johnson + + PR testsuite/25352 + * gcc.c-torture/compile/20000804-1.c: Remove xfail from dg-do and + add dg-skip-if. + * gcc.c-torture/compile/20001205-1.c: Ditto. + * gcc.c-torture/compile/20001226-1.c: Ditto. + * gcc.c-torture/compile/20020312-1.c: Ditto. + * gcc.c-torture/compile/20020604-1.c: Ditto. + * gcc.c-torture/compile/920501-12.c: Ditto. + * gcc.c-torture/compile/920501-4.c: Ditto. + * gcc.c-torture/compile/920520-1.c: Ditto. + * gcc.c-torture/compile/980506-1.c: Ditto. + * gcc.c-torture/compile/990617-1.c: Ditto. + * gcc.dg/compare6.c: Ditto. + * g++.old-deja/g++.brendan/crash43.C: Ditto. + * g++.old-deja/g++.brendan/synth1.C: Ditto. + * g++.old-deja/g++.oliva/dwarf2.C: Ditto. + * g++.old-deja/g++.oliva/dwarf3.C: Ditto. + * g++.old-deja/g++.pt/static6.C: Ditto. + * g++.old-deja/g++.pt/crash16.C: Ditto. + * g++.old-deja/g++.mike/p10416.C: Ditto. + * g++.old-deja/g++.mike/ns15.C: Ditto. + * g++.old-deja/g++.mike/eh46.C: Ditto. + 2007-11-01 Tom Tromey * gcc.dg/redecl-1.c: Update. diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash43.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash43.C index 08be90bc27b..8c73d70d0bf 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/crash43.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash43.C @@ -1,4 +1,5 @@ -// { dg-do assemble { xfail sparc64-*-elf } } +// { dg-do assemble } +// { dg-xfail-if "" { sparc64-*-elf } { "*" } { "" } } // { dg-options "-g" } // GROUPS passed old-abort extern "C" { typedef int jmp_buf[12]; } diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/synth1.C b/gcc/testsuite/g++.old-deja/g++.brendan/synth1.C index eed7f9ffb00..3a27e63cf04 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/synth1.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/synth1.C @@ -1,4 +1,5 @@ -// { dg-do assemble { xfail sparc64-*-elf } } +// { dg-do assemble } +// { dg-xfail-if "" { sparc64-*-elf } { "*" } { "" } } // { dg-options "-pedantic-errors -g -Wall" } // GROUPS passed synthetics // Check to make sure that g++ doesn't get freaked out about the use diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh46.C b/gcc/testsuite/g++.old-deja/g++.mike/eh46.C index 51c35a7175e..9785e6ad189 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/eh46.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/eh46.C @@ -1,4 +1,5 @@ -// { dg-do assemble { xfail arm-*-pe } } +// { dg-do assemble } +// { dg-xfail-if "" { arm-*-pe } { "*" } { "" } } // { dg-options "-fexceptions" } int atoi(const char *); diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns15.C b/gcc/testsuite/g++.old-deja/g++.mike/ns15.C index 567db4cf60b..4e767b83630 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/ns15.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/ns15.C @@ -1,4 +1,5 @@ -// { dg-do assemble { xfail xstormy16-*-* } } +// { dg-do assemble } +// { dg-xfail-if "" { xstormy16-*-* } { "*" } { "" } } #include #include diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p10416.C b/gcc/testsuite/g++.old-deja/g++.mike/p10416.C index af82bd4af8b..2d21d19dda3 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p10416.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p10416.C @@ -1,4 +1,5 @@ -// { dg-do assemble { xfail sparc64-*-elf arm-*-pe } } +// { dg-do assemble } +// { dg-xfail-if "" { sparc64-*-elf arm-*-pe } { "*" } { "" } } // { dg-options "-fexceptions" } // prms-id: 10416 diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/dwarf2.C b/gcc/testsuite/g++.old-deja/g++.oliva/dwarf2.C index 7b8d44c273d..4c1db253bbc 100644 --- a/gcc/testsuite/g++.old-deja/g++.oliva/dwarf2.C +++ b/gcc/testsuite/g++.old-deja/g++.oliva/dwarf2.C @@ -1,4 +1,5 @@ -// { dg-do assemble { xfail i386-pc-solaris* } } +// { dg-do assemble } +// { dg-xfail-if "" { i386-pc-solaris* } { "*" } { "" } } // Copyright (C) 1999 Free Software Foundation diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/dwarf3.C b/gcc/testsuite/g++.old-deja/g++.oliva/dwarf3.C index 945d2ec2ea8..3c01238a38e 100644 --- a/gcc/testsuite/g++.old-deja/g++.oliva/dwarf3.C +++ b/gcc/testsuite/g++.old-deja/g++.oliva/dwarf3.C @@ -1,4 +1,5 @@ -// { dg-do assemble { xfail i386-pc-solaris* } } +// { dg-do assemble } +// { dg-xfail-if "" { i386-pc-solaris* } { "*" } { "" } } // Copyright (C) 1999 Free Software Foundation diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash16.C b/gcc/testsuite/g++.old-deja/g++.pt/crash16.C index e03f22fd692..aa25c22b862 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/crash16.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/crash16.C @@ -1,4 +1,5 @@ -// { dg-do assemble { xfail xstormy16-*-* } } +// { dg-do assemble } +// { dg-xfail-if "" { xstormy16-*-* } { "*" } { "" } } // { dg-options "" } extern "C" void qsort(void *base, __SIZE_TYPE__ nmemb, __SIZE_TYPE__ size, diff --git a/gcc/testsuite/g++.old-deja/g++.pt/static6.C b/gcc/testsuite/g++.old-deja/g++.pt/static6.C index 0866e2e16d7..a0d255c5f5e 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/static6.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/static6.C @@ -1,4 +1,5 @@ -// { dg-do link { xfail *-*-aout *-*-coff *-*-hpux* *-*-hms } } +// { dg-do link } +// { dg-xfail-if "" { *-*-aout *-*-coff *-*-hpux* *-*-hms } { "*" } { "" } } // Simplified from testcase by Erez Louidor Lior diff --git a/gcc/testsuite/gcc.c-torture/compile/20000804-1.c b/gcc/testsuite/gcc.c-torture/compile/20000804-1.c index 842a532658e..68db6d36aed 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20000804-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20000804-1.c @@ -1,9 +1,10 @@ /* This does not work on m68hc11 or h8300 due to the use of an asm statement to force a 'long long' (64-bits) to go in a register. */ -/* { dg-do assemble { xfail m6811-*-* m6812-*-* h8300-*-* } } */ +/* { dg-do assemble } */ /* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && ilp32 } { "-fpic" "-fPIC" } { "" } } */ /* { dg-skip-if "PIC default" { i?86-*-darwin* } { "*" } { "" } } */ /* { dg-skip-if "No 64-bit registers" { m32c-*-* } { "*" } { "" } } */ +/* { dg-xfail-if "" { m6811-*-* m6812-*-* h8300-*-* } { "*" } { "" } } */ /* Copyright (C) 2000, 2003 Free Software Foundation */ __complex__ long long f () diff --git a/gcc/testsuite/gcc.c-torture/compile/20001205-1.c b/gcc/testsuite/gcc.c-torture/compile/20001205-1.c index 4a917a2e2d7..bab7b69ca2b 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20001205-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20001205-1.c @@ -1,6 +1,7 @@ /* This does not work on m68hc11 due to the asm statement which forces two 'long' (32-bits) variables to go in registers. */ -/* { dg-do assemble { xfail m6811-*-* m6812-*-* } } */ +/* { dg-do assemble } */ +/* { dg-xfail-if "" { m6811-*-* m6812-*-* } { "*" } { "" } } */ static inline unsigned long rdfpcr(void) { diff --git a/gcc/testsuite/gcc.c-torture/compile/20001226-1.c b/gcc/testsuite/gcc.c-torture/compile/20001226-1.c index 9f1645af099..ddea0aa0bdf 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20001226-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20001226-1.c @@ -1,7 +1,8 @@ /* This does not assemble on m68hc11 because the function is larger than 64K. */ -/* { dg-do assemble { xfail m6811-*-* m6812-*-* } } */ -/* { dg-xfail-if "jump beyond 128K not supported" "xtensa-*-*" "-O0" "" } */ +/* { dg-do assemble } */ +/* { dg-xfail-if "function larger than 64K" { m6811-*-* } { "*" } { "" } } */ +/* { dg-xfail-if "jump beyond 128K not supported" { xtensa-*-* } { "-O0" } { "" } } */ /* { dg-skip-if "" { m32c-*-* } { "*" } { "" } } */ /* This testcase exposed two branch shortening bugs on powerpc. */ diff --git a/gcc/testsuite/gcc.c-torture/compile/20020312-1.c b/gcc/testsuite/gcc.c-torture/compile/20020312-1.c index c50e4919a2b..182b7b01c79 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20020312-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20020312-1.c @@ -1,6 +1,7 @@ /* This does not compile on HC11/HC12 due to the asm which requires two 32-bit registers. */ -/* { dg-do assemble { xfail m6811-*-* m6812-*-* } } */ +/* { dg-do assemble } */ +/* { dg-xfail-if "" { m6811-*-* m6812-*-* } { "*" } { "" } } */ /* PR optimization/5892 */ typedef struct { unsigned long a; unsigned int b, c; } A; diff --git a/gcc/testsuite/gcc.c-torture/compile/20020604-1.c b/gcc/testsuite/gcc.c-torture/compile/20020604-1.c index 61632f725f4..539b9f5b27f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20020604-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20020604-1.c @@ -1,6 +1,6 @@ -/* The array is too big. */ +/* { dg-do assemble } */ +/* { dg-xfail-if "The array is too big" { "m6811-*-* m6812-*-*" } { "*" } { "" } } */ /* { dg-xfail-if "The array too big" { "h8300-*-*" } { "-mno-h" "-mn" } { "" } } */ -/* { dg-do assemble { xfail m6811-*-* m6812-*-* } } */ /* { dg-skip-if "" { m32c-*-* } { } { } } */ /* PR c/6957 diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-12.c b/gcc/testsuite/gcc.c-torture/compile/920501-12.c index 61ff947270f..7eac9724677 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920501-12.c +++ b/gcc/testsuite/gcc.c-torture/compile/920501-12.c @@ -1,6 +1,7 @@ /* This test fails on HC11/HC12 when it is compiled without -mshort because the stack arrays are too large. Force to use 16-bit ints for it. */ -/* { dg-do assemble { xfail m6811-*-* m6812-*-* } } */ +/* { dg-do assemble } */ +/* { dg-xfail-if "" { m6811-*-* m6812-*-* } { "*" } { "-mshort" } } */ x(x){ return 3 + x;} a(x){int y[994]; return 3 + x;} diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-4.c b/gcc/testsuite/gcc.c-torture/compile/920501-4.c index f6ddb19b57d..3481deefedb 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920501-4.c +++ b/gcc/testsuite/gcc.c-torture/compile/920501-4.c @@ -1,6 +1,7 @@ /* This test fails on HC11/HC12 when it is compiled without -mshort because the 'r0' array is too large. Force to use 16-bit ints for it. */ -/* { dg-do assemble { xfail m6811-*-* m6812-*-* } } */ +/* { dg-do assemble } */ +/* { dg-xfail-if "" { m6811-*-* m6812-*-* } { "*" } { "-mshort" } } */ foo () { diff --git a/gcc/testsuite/gcc.c-torture/compile/920520-1.c b/gcc/testsuite/gcc.c-torture/compile/920520-1.c index 6837524fdb4..af1dc962405 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920520-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/920520-1.c @@ -1,3 +1,4 @@ -/* { dg-do compile { xfail m6811-*-* m6812-*-* } } */ +/* { dg-do compile } */ +/* { dg-xfail-if "" { m6811-*-* m6812-*-* } { "*" } { "" } } */ f(){asm("%0"::"r"(1.5F));}g(){asm("%0"::"r"(1.5));} diff --git a/gcc/testsuite/gcc.c-torture/compile/980506-1.c b/gcc/testsuite/gcc.c-torture/compile/980506-1.c index 6cccb1eae81..619e18d05e4 100644 --- a/gcc/testsuite/gcc.c-torture/compile/980506-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/980506-1.c @@ -1,7 +1,8 @@ /* The arrays are too large for the xstormy16 - won't fit in 16 bits. */ -/* { dg-xfail-if "The array too big" { "h8300-*-*" } { "-mno-h" "-mn" } { "" } } */ -/* { dg-do assemble { xfail xstormy16-*-* m6811-*-* m6812-*-* } } */ +/* { dg-do assemble } */ /* { dg-require-effective-target size32plus } */ +/* { dg-xfail-if "The array too big" { m6811-*-* m6812-*-* } { "*" } { "" } } /* +/* { dg-xfail-if "The array too big" { h8300-*-* } { "-mno-h" "-mn" } { "" } } */ unsigned char TIFFFax2DMode[20][256]; unsigned char TIFFFax2DNextState[20][256]; diff --git a/gcc/testsuite/gcc.c-torture/compile/990617-1.c b/gcc/testsuite/gcc.c-torture/compile/990617-1.c index 78a3ec132f5..e9d3cf336fc 100644 --- a/gcc/testsuite/gcc.c-torture/compile/990617-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/990617-1.c @@ -1,6 +1,7 @@ /* 0x70000000 is too large a constant to become a pointer on xstormy16. */ -/* { dg-do assemble { xfail xstormy16-*-* } } */ +/* { dg-do assemble } */ +/* { dg-xfail-if "" { xstormy16-*-* } { "*" } { "" } } */ int main() { diff --git a/gcc/testsuite/gcc.dg/compare6.c b/gcc/testsuite/gcc.dg/compare6.c index 72f50207b03..b6aee8f062c 100644 --- a/gcc/testsuite/gcc.dg/compare6.c +++ b/gcc/testsuite/gcc.dg/compare6.c @@ -1,6 +1,7 @@ /* PR c/2098 */ /* Test for a warning on comparison on out-of-range data. */ -/* { dg-do compile { xfail c4x-*-* } } */ +/* { dg-do compile } */ +/* { dg-xfail-if "" { c4x-*-* } { "*" } { "" } } */ /* { dg-options "-Wtype-limits" } */ signed char sc; diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f2ea755669a..19a17ce77f3 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2007-11-01 Janis Johnson + + PR testsuite/25352 + * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: + Remove xfail from dg-do and add dg-skip-if. + 2007-10-31 Paolo Carlini * include/bits/stl_queue.h (queue<>::push(value_type&&)): Replace diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc index f7b714fbcfa..dca23e73f6a 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc @@ -27,7 +27,8 @@ // invalidate any other reasons why the executable file might be covered by // the GNU General Public License. -// { dg-do compile { xfail { { *-*-linux* *-*-darwin* } || { uclibc || newlib } } } } +// { dg-do compile } +// { dg-xfail-if "" { { *-*-linux* *-*-darwin* } || { uclibc || newlib } } { "*" } { "" } } // { dg-excess-errors "" { target { { *-*-linux* *-*-darwin* } || { uclibc || newlib } } } } #include -- 2.30.2