OSDN Git Service

* lib/gcc-dg.exp (dg-skip-if): New function.
authorjanis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Nov 2004 17:21:46 +0000 (17:21 +0000)
committerjanis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Nov 2004 17:21:46 +0000 (17:21 +0000)
(dg-forbid-option): Remove.
* g++.dg/abi/bitfield3.C: Use dg-skip-if i?86 -m64.
* g++.dg/abi/bitfield8.C: Likewise.
* g++.dg/abi/dtor1.C: Likewise.
* g++.dg/abi/empty10.C: Likewise.
* g++.dg/abi/empty7.C: Likewise.
* g++.dg/abi/empty9.C: Likewise.
* g++.dg/abi/layout3.C: Likewise.
* g++.dg/abi/layout4.C: Likewise.
* g++.dg/abi/thunk1.C: Likewise.
* g++.dg/abi/thunk2.C: Likewise.
* g++.dg/abi/vbase11.C: Likewise.
* g++.dg/abi/vthunk2.C: Likewise.
* g++.dg/abi/vthunk3.C: Likewise.
* g++.dg/ext/attrib8.C: Likewise.
* g++.dg/opt/longbranch2.C: Likewise.
* g++.dg/opt/reg-stack4.C: Likewise.
* g++.old-deja/g++.ext/attrib1.C: Likewise.
* g++.old-deja/g++.ext/attrib2.C: Likewise.
* g++.old-deja/g++.ext/attrib3.C: Likewise.
* g++.old-deja/g++.other/store-expr1.C: Likewise.
* g++.old-deja/g++.other/store-expr2.C: Likewise.
* gcc.dg/20000609-1.c: Likewise.
* gcc.dg/20000720-1.c: Likewise.
* gcc.dg/20011107-1.c: Likewise.
* gcc.dg/20011119-1.c: Likewise.
* gcc.dg/20020108-1.c: Likewise.
* gcc.dg/20020122-2.c: Likewise.
* gcc.dg/20020122-3.c: Likewise.
* gcc.dg/20020201-3.c: Likewise.
* gcc.dg/20020206-1.c: Likewise.
* gcc.dg/20020218-1.c: Likewise.
* gcc.dg/20020310-1.c: Likewise.
* gcc.dg/20020411-1.c: Likewise.
* gcc.dg/20020418-2.c: Likewise.
* gcc.dg/20020426-1.c: Likewise.
* gcc.dg/20020426-2.c: Likewise.
* gcc.dg/20020517-1.c: Likewise.
* gcc.dg/20020523-1.c: Likewise.
* gcc.dg/20020523-2.c: Likewise.
* gcc.dg/20020729-1.c: Likewise.
* gcc.dg/20030204-1.c: Likewise.
* gcc.dg/20030826-2.c: Likewise.
* gcc.dg/20030926-1.c: Likewise.
* gcc.dg/20031202-1.c: Likewise.
* gcc.dg/980312-1.c: Likewise.
* gcc.dg/980313-1.c: Likewise.
* gcc.dg/990117-1.c: Likewise.
* gcc.dg/990424-1.c: Likewise.
* gcc.dg/990524-1.c: Likewise.
* gcc.dg/991230-1.c: Likewise.
* gcc.dg/i386-387-1.c: Likewise.
* gcc.dg/i386-387-2.c: Likewise.
* gcc.dg/i386-387-3.c: Likewise.
* gcc.dg/i386-387-4.c: Likewise.
* gcc.dg/i386-387-5.c: Likewise.
* gcc.dg/i386-387-6.c: Likewise.
* gcc.dg/i386-asm-1.c: Likewise.
* gcc.dg/i386-bitfield1.c: Likewise.
* gcc.dg/i386-bitfield2.c: Likewise.
* gcc.dg/i386-loop-1.c: Likewise.
* gcc.dg/i386-loop-2.c: Likewise.
* gcc.dg/i386-loop-3.c: Likewise.
* gcc.dg/i386-pentium4-not-mull.c: Likewise.
* gcc.dg/i386-pic-1.c: Likewise.
* gcc.dg/i386-regparm.c: Likewise.
* gcc.dg/i386-signbit-1.c: Likewise.
* gcc.dg/i386-signbit-2.c: Likewise.
* gcc.dg/i386-signbit-3.c: Likewise.
* gcc.dg/i386-sse-5.c: Likewise.
* gcc.dg/i386-sse-8.c: Likewise.
* gcc.dg/i386-unroll-1.c: Likewise.
* gcc.dg/tls/opt-1.c: Likewise.
* gcc.dg/tls/opt-2.c: Likewise.
* gcc.dg/unroll-1.c: Likewise.
* gcc.misc-tests/i386-pf-3dnow-1.c: Likewise.
* gcc.misc-tests/i386-pf-athlon-1.c: Likewise.
* gcc.misc-tests/i386-pf-none-1.c: Likewise.
* gcc.misc-tests/i386-pf-sse-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90810 138bc75d-0d04-0410-961f-82ee72b054a4

80 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/abi/bitfield3.C
gcc/testsuite/g++.dg/abi/bitfield8.C
gcc/testsuite/g++.dg/abi/dtor1.C
gcc/testsuite/g++.dg/abi/empty10.C
gcc/testsuite/g++.dg/abi/empty7.C
gcc/testsuite/g++.dg/abi/empty9.C
gcc/testsuite/g++.dg/abi/layout3.C
gcc/testsuite/g++.dg/abi/layout4.C
gcc/testsuite/g++.dg/abi/thunk1.C
gcc/testsuite/g++.dg/abi/thunk2.C
gcc/testsuite/g++.dg/abi/vbase11.C
gcc/testsuite/g++.dg/abi/vthunk2.C
gcc/testsuite/g++.dg/abi/vthunk3.C
gcc/testsuite/g++.dg/ext/attrib8.C
gcc/testsuite/g++.dg/opt/longbranch2.C
gcc/testsuite/g++.dg/opt/reg-stack4.C
gcc/testsuite/g++.old-deja/g++.ext/attrib1.C
gcc/testsuite/g++.old-deja/g++.ext/attrib2.C
gcc/testsuite/g++.old-deja/g++.ext/attrib3.C
gcc/testsuite/g++.old-deja/g++.other/store-expr1.C
gcc/testsuite/g++.old-deja/g++.other/store-expr2.C
gcc/testsuite/gcc.dg/20000609-1.c
gcc/testsuite/gcc.dg/20000720-1.c
gcc/testsuite/gcc.dg/20011107-1.c
gcc/testsuite/gcc.dg/20011119-1.c
gcc/testsuite/gcc.dg/20020108-1.c
gcc/testsuite/gcc.dg/20020122-2.c
gcc/testsuite/gcc.dg/20020122-3.c
gcc/testsuite/gcc.dg/20020201-3.c
gcc/testsuite/gcc.dg/20020206-1.c
gcc/testsuite/gcc.dg/20020218-1.c
gcc/testsuite/gcc.dg/20020310-1.c
gcc/testsuite/gcc.dg/20020411-1.c
gcc/testsuite/gcc.dg/20020418-2.c
gcc/testsuite/gcc.dg/20020426-1.c
gcc/testsuite/gcc.dg/20020426-2.c
gcc/testsuite/gcc.dg/20020517-1.c
gcc/testsuite/gcc.dg/20020523-1.c
gcc/testsuite/gcc.dg/20020523-2.c
gcc/testsuite/gcc.dg/20020729-1.c
gcc/testsuite/gcc.dg/20030204-1.c
gcc/testsuite/gcc.dg/20030826-2.c
gcc/testsuite/gcc.dg/20030926-1.c
gcc/testsuite/gcc.dg/20031202-1.c
gcc/testsuite/gcc.dg/980312-1.c
gcc/testsuite/gcc.dg/980313-1.c
gcc/testsuite/gcc.dg/990117-1.c
gcc/testsuite/gcc.dg/990424-1.c
gcc/testsuite/gcc.dg/990524-1.c
gcc/testsuite/gcc.dg/991230-1.c
gcc/testsuite/gcc.dg/i386-387-1.c
gcc/testsuite/gcc.dg/i386-387-2.c
gcc/testsuite/gcc.dg/i386-387-3.c
gcc/testsuite/gcc.dg/i386-387-4.c
gcc/testsuite/gcc.dg/i386-387-5.c
gcc/testsuite/gcc.dg/i386-387-6.c
gcc/testsuite/gcc.dg/i386-asm-1.c
gcc/testsuite/gcc.dg/i386-bitfield1.c
gcc/testsuite/gcc.dg/i386-bitfield2.c
gcc/testsuite/gcc.dg/i386-loop-1.c
gcc/testsuite/gcc.dg/i386-loop-2.c
gcc/testsuite/gcc.dg/i386-loop-3.c
gcc/testsuite/gcc.dg/i386-pentium4-not-mull.c
gcc/testsuite/gcc.dg/i386-pic-1.c
gcc/testsuite/gcc.dg/i386-regparm.c
gcc/testsuite/gcc.dg/i386-signbit-1.c
gcc/testsuite/gcc.dg/i386-signbit-2.c
gcc/testsuite/gcc.dg/i386-signbit-3.c
gcc/testsuite/gcc.dg/i386-sse-5.c
gcc/testsuite/gcc.dg/i386-sse-8.c
gcc/testsuite/gcc.dg/i386-unroll-1.c
gcc/testsuite/gcc.dg/tls/opt-1.c
gcc/testsuite/gcc.dg/tls/opt-2.c
gcc/testsuite/gcc.dg/unroll-1.c
gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c
gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c
gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c
gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c
gcc/testsuite/lib/gcc-dg.exp

index 8093d75..56231e4 100644 (file)
@@ -1,3 +1,86 @@
+2004-11-17  Janis Johnson  <janis187@us.ibm.com>
+
+       * lib/gcc-dg.exp (dg-skip-if): New function.
+       (dg-forbid-option): Remove.
+       * g++.dg/abi/bitfield3.C: Use dg-skip-if i?86 -m64.
+       * g++.dg/abi/bitfield8.C: Likewise.
+       * g++.dg/abi/dtor1.C: Likewise.
+       * g++.dg/abi/empty10.C: Likewise.
+       * g++.dg/abi/empty7.C: Likewise.
+       * g++.dg/abi/empty9.C: Likewise.
+       * g++.dg/abi/layout3.C: Likewise.
+       * g++.dg/abi/layout4.C: Likewise.
+       * g++.dg/abi/thunk1.C: Likewise.
+       * g++.dg/abi/thunk2.C: Likewise.
+       * g++.dg/abi/vbase11.C: Likewise.
+       * g++.dg/abi/vthunk2.C: Likewise.
+       * g++.dg/abi/vthunk3.C: Likewise.
+       * g++.dg/ext/attrib8.C: Likewise.
+       * g++.dg/opt/longbranch2.C: Likewise.
+       * g++.dg/opt/reg-stack4.C: Likewise.
+       * g++.old-deja/g++.ext/attrib1.C: Likewise.
+       * g++.old-deja/g++.ext/attrib2.C: Likewise.
+       * g++.old-deja/g++.ext/attrib3.C: Likewise.
+       * g++.old-deja/g++.other/store-expr1.C: Likewise.
+       * g++.old-deja/g++.other/store-expr2.C: Likewise.
+       * gcc.dg/20000609-1.c: Likewise.
+       * gcc.dg/20000720-1.c: Likewise.
+       * gcc.dg/20011107-1.c: Likewise.
+       * gcc.dg/20011119-1.c: Likewise.
+       * gcc.dg/20020108-1.c: Likewise.
+       * gcc.dg/20020122-2.c: Likewise.
+       * gcc.dg/20020122-3.c: Likewise.
+       * gcc.dg/20020201-3.c: Likewise.
+       * gcc.dg/20020206-1.c: Likewise.
+       * gcc.dg/20020218-1.c: Likewise.
+       * gcc.dg/20020310-1.c: Likewise.
+       * gcc.dg/20020411-1.c: Likewise.
+       * gcc.dg/20020418-2.c: Likewise.
+       * gcc.dg/20020426-1.c: Likewise.
+       * gcc.dg/20020426-2.c: Likewise.
+       * gcc.dg/20020517-1.c: Likewise.
+       * gcc.dg/20020523-1.c: Likewise.
+       * gcc.dg/20020523-2.c: Likewise.
+       * gcc.dg/20020729-1.c: Likewise.
+       * gcc.dg/20030204-1.c: Likewise.
+       * gcc.dg/20030826-2.c: Likewise.
+       * gcc.dg/20030926-1.c: Likewise.
+       * gcc.dg/20031202-1.c: Likewise.
+       * gcc.dg/980312-1.c: Likewise.
+       * gcc.dg/980313-1.c: Likewise.
+       * gcc.dg/990117-1.c: Likewise.
+       * gcc.dg/990424-1.c: Likewise.
+       * gcc.dg/990524-1.c: Likewise.
+       * gcc.dg/991230-1.c: Likewise.
+       * gcc.dg/i386-387-1.c: Likewise.
+       * gcc.dg/i386-387-2.c: Likewise.
+       * gcc.dg/i386-387-3.c: Likewise.
+       * gcc.dg/i386-387-4.c: Likewise.
+       * gcc.dg/i386-387-5.c: Likewise.
+       * gcc.dg/i386-387-6.c: Likewise.
+       * gcc.dg/i386-asm-1.c: Likewise.
+       * gcc.dg/i386-bitfield1.c: Likewise.
+       * gcc.dg/i386-bitfield2.c: Likewise.
+       * gcc.dg/i386-loop-1.c: Likewise.
+       * gcc.dg/i386-loop-2.c: Likewise.
+       * gcc.dg/i386-loop-3.c: Likewise.
+       * gcc.dg/i386-pentium4-not-mull.c: Likewise.
+       * gcc.dg/i386-pic-1.c: Likewise.
+       * gcc.dg/i386-regparm.c: Likewise.
+       * gcc.dg/i386-signbit-1.c: Likewise.
+       * gcc.dg/i386-signbit-2.c: Likewise.
+       * gcc.dg/i386-signbit-3.c: Likewise.
+       * gcc.dg/i386-sse-5.c: Likewise.
+       * gcc.dg/i386-sse-8.c: Likewise.
+       * gcc.dg/i386-unroll-1.c: Likewise.
+       * gcc.dg/tls/opt-1.c: Likewise.
+       * gcc.dg/tls/opt-2.c: Likewise.
+       * gcc.dg/unroll-1.c: Likewise.
+       * gcc.misc-tests/i386-pf-3dnow-1.c: Likewise.
+       * gcc.misc-tests/i386-pf-athlon-1.c: Likewise.
+       * gcc.misc-tests/i386-pf-none-1.c: Likewise.
+       * gcc.misc-tests/i386-pf-sse-1.c: Likewise.
+
 2004-11-16  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
 
        * g++.dg/template/incomplete1.C: New test.
index 5ff310b..864abc3 100644 (file)
@@ -4,7 +4,7 @@
 // Cygwin and mingw32 default to MASK_ALIGN_DOUBLE. Override to ensure
 // 4-byte alignment.
 // { dg-options "-mno-align-double" { target i?86-*-cygwin* i?86-*-mingw* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 
 struct A
 {
index 64ec0f7..6130ae4 100644 (file)
@@ -1,6 +1,6 @@
 // { dg-do run { target i?86-*-* } }
 // { dg-options "-fabi-version=0" }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 
 struct A { 
   virtual void f() {}
index 429b39e..9ec44ae 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // { dg-options "-fabi-version=0" }
 
 struct A {
index af2ba9c..9147e96 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // { dg-options "-fabi-version=0 -w" }
 
 struct E {};
index 7cc6510..5ff75e6 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // { dg-options "-fabi-version=0" }
 
 struct S1 {};
index 10ebedf..3c4b71f 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // { dg-options "-w -fabi-version=0" }
 
 struct E1 {};
index a2e94f6..1213108 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // { dg-options "-fabi-version=0 -w" }
 
 struct S {
index 105c74b..13d3648 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // { dg-options "-fabi-version=1" }
 
 struct C4
index 0ba7ce7..5508882 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 
 struct A {
   virtual void f ();
index e677419..c1f8868 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // { dg-options -w }
 
 struct A {
index 974f562..1dcc756 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // { dg-options "-fabi-version=0" }
 
 struct A { virtual void f(); char c1; };
index 314f598..698c691 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 
 struct c0 {
   virtual void f ();
index bc677df..969cd2d 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // { dg-options "-fabi-version=0" }
 
 struct A {
index 0b162e3..df2d48f 100644 (file)
@@ -1,6 +1,6 @@
 // PR 8656
 // { dg-do compile { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 
 extern int * (__attribute__((stdcall)) *fooPtr)( void);
 int * __attribute__((stdcall)) myFn01( void) { return 0; }
index 2ada198..88594b0 100644 (file)
@@ -3,7 +3,7 @@
 
 // { dg-do compile }
 // { dg-options "-O3 -funroll-loops -mtune=k6 -fomit-frame-pointer" { target i?86-*-*  } }
-// { dg-forbid-option "-m64" { target i?86-*-* } }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 
 // This used to fail to assemble because of an out-of-range 'loop' instructions.
 
index 5db1415..9ea77c2 100644 (file)
@@ -6,7 +6,7 @@
 
 // { dg-do compile }
 // { dg-options "-mtune=i586 -O2" { target i?86-*-* } }
-// { dg-forbid-option "-m64" { target i?86-*-* } }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 
 struct array {
   double data;
index 0d66d72..bdc3ade 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do assemble { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // Test for using prefix attributes in a parameter decl.
 // Contributed by Jason Merrill <jason@cygnus.com>
 
index abac1b3..c60ff82 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // Test that stdcall doesn't prevent us from using op delete.
 // Contributed by Jason Merrill <jason@cygnus.com>
 
index f47ab07..492cd9d 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // Test for proper handling of attributes in template instantiation.
 // Contributed by Jason Merrill <jason@cygnus.com>
 
index 153c881..4945624 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // { dg-options "-mtune=i686 -O2 -fpic" }
 // { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 }
 class G {};
index 651f81d..d35e3b7 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run { target i?86-*-* } }
-// { dg-forbid-option "-m64" }
+// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
 // { dg-options "-mtune=i686 -O2" }
 class G {};
 
index 2f0f783..dfa6498 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do run { target i?86-*-* } } */
 /* { dg-options "-O1 -ffast-math -march=i686" } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 /* Sanity check for fp_jcc_* with TARGET_CMOVE.  */
 
index dc3fb25..89b570d 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-mpreferred-stack-boundary=2 -march=i586 -O2 -fomit-frame-pointer" } */
 
 extern void *foo(void *a, const void *b, unsigned c);
index b61de6c..a53f4f1 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O2 -mtune=k6" } */
 
 void
index 67525b9..83a9b1c 100644 (file)
@@ -1,6 +1,6 @@
 /* Test for reload failing to eliminate from argp to sp.  */
 /* { dg-do run { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O2 -fomit-frame-pointer" } */
 
 static int ustrsize (const char *s);
index 6cabb50..03b97d1 100644 (file)
@@ -6,7 +6,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -mtune=i686" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 void
 foo (unsigned short *cp)
index d6062b5..de92bd8 100644 (file)
@@ -4,7 +4,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -fprefetch-loop-arrays -w" } */
 /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 extern int access( char* );
 extern int a();
index 77b7035..4aafc47 100644 (file)
@@ -5,7 +5,7 @@
 /* { dg-do compile } */
 /* { dg-options "-Os -fprefetch-loop-arrays -w" } */
 /* { dg-options "-Os -fprefetch-loop-arrays -mtune=pentium3 -w" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 int foo (int *p, int n)
 {
index 1d93475..66a4802 100644 (file)
@@ -1,7 +1,7 @@
 /* This testcase ICEd because a SFmode variable was given a MMX register
    for which there is no movsf exists.  */
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O2 -march=i686 -mmmx -fno-strict-aliasing" } */
 
 struct A { unsigned int a, b; };
index 643c439..1bdb25d 100644 (file)
@@ -5,7 +5,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -fprefetch-loop-arrays -w" } */
 /* { dg-options "-O2 -fprefetch-loop-arrays -mtune=pentium3 -w" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 struct reload
 {
index eff60de..240c3d7 100644 (file)
@@ -1,6 +1,6 @@
 /* Verify that X86-64 only SSE registers aren't restored on IA-32.  */
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O2 -msse" } */
 /* { dg-final { scan-assembler-not "xmm8" } } */
 
index fd3c24d..6067e19 100644 (file)
@@ -3,7 +3,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -mtune=i586" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 struct A
 {
index d78608d..0413ed9 100644 (file)
@@ -4,7 +4,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -march=i686" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 #if __INT_MAX__ > 32767
 
index e3066c9..8a15b26 100644 (file)
@@ -2,7 +2,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -funroll-all-loops" } */
 /* { dg-options "-O2 -funroll-all-loops -march=pentium3" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 void bar (float);
 
index 225b319..67b09b3 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile { target i?86-*-* } } */
 /* { dg-options "-msoft-float -mfp-ret-in-387" } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 void f() {
   __builtin_apply(0, 0, 0);
index 85f04f8..19bf991 100644 (file)
@@ -3,7 +3,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -frename-registers -fomit-frame-pointer -fPIC -mtune=i686" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */
 
 extern void exit (int);
index bc6cb83..72b2529 100644 (file)
@@ -3,7 +3,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -mtune=i686" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 #include <limits.h>
 
index de0555f..d29f20a 100644 (file)
@@ -2,7 +2,7 @@
    This testcase was miscompiled because sse_mov?fcc_const0*
    patterns were missing earlyclobber.  */
 /* { dg-do run { target i386-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-march=pentium3 -msse -ffast-math -O2" } */
 
 extern void abort (void);
index dc9a126..086f1d4 100644 (file)
@@ -2,7 +2,7 @@
    This testcase was miscompiled because sse_mov?fcc_const0*
    patterns were missing earlyclobber.  */
 /* { dg-do run { target i386-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-march=pentium3 -msse -ffast-math -O2" } */
 
 #include "i386-cpuid.h"
index 0284645..929b5c3 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O2 -march=k6" } */
 
 static inline void *
index ac7c3ad..33a9eb2 100644 (file)
@@ -2,7 +2,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O -ffast-math -funroll-loops" } */
 /* { dg-options "-march=pentium3 -O -ffast-math -funroll-loops" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 float foo (float *a, int i)
 {
index f38e323..e69c534 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -fomit-frame-pointer" } */
 /* { dg-options "-O2 -fomit-frame-pointer -march=i386" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 extern void abort (void);
 extern void exit (int);
index 8af98aa..09931b3 100644 (file)
@@ -2,7 +2,7 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O2 -minline-all-stringops" } */
 /* { dg-options "-O2 -minline-all-stringops -march=pentium4" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 extern void *memcpy (void *, const void *, __SIZE_TYPE__);
 extern __SIZE_TYPE__ strlen (const char *);
index 7947770..ac443a2 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -mtune=i686" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 extern void abort (void);
 extern void exit (int);
index 69553ef..83f1488 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do link { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O2 -march=pentiumpro" } */
 
 extern __inline  double
index 1e23fee..7556622 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do link { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O2 -march=pentiumpro" } */
 
 extern __inline  double
index df7636b..6d71787 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O2 -march=pentiumpro" } */
 
 extern __inline  double
index 9a3b630..d479754 100644 (file)
@@ -2,7 +2,7 @@
    with stdcall functions.  */
 
 /* { dg-do run { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options -mpreferred-stack-boundary=4 } */
 
 void __attribute__((stdcall)) foo(int a, int b, int c);
index bded9f4..203c1dd 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O2 -march=pentiumpro" } */
 
 typedef struct t_anim_info {
index 3bc1b06..1cb66f5 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do run { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O -ffast-math -mtune=i486" } */
 
 /* Test that floating point greater-than tests are compiled correctly with
index 0586188..7be1ba3 100644 (file)
@@ -1,6 +1,6 @@
 /* Verify that -mno-fancy-math-387 works.  */
 /* { dg-do compile { target "i?86-*-*" } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O -ffast-math -mfpmath=387 -mno-fancy-math-387 -march=i386" } */
 /* { dg-final { scan-assembler "call\t_?sin" } } */
 /* { dg-final { scan-assembler "call\t_?cos" } } */
index 9642b22..ebbe619 100644 (file)
@@ -1,6 +1,6 @@
 /* Verify that -march overrides -mno-fancy-math-387.  */
 /* { dg-do compile { target "i?86-*-*" } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O -ffast-math -mfpmath=387 -march=i686 -mno-fancy-math-387" } */
 /* { dg-final { scan-assembler "fsin" } } */
 /* { dg-final { scan-assembler "fcos" } } */
index 92f95d6..b68928a 100644 (file)
@@ -1,6 +1,6 @@
 /* Verify that 387 mathematical constants are recognized.  */
 /* { dg-do compile { target "i?86-*-*" } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O2 -march=i686" } */
 /* { dg-final { scan-assembler "fldpi" } } */
 
index 65834b0..dbe340c 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target "i?86-*-*" } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O2 -march=i686" } */
 /* { dg-final { scan-assembler "fldpi" } } */
 
index d5f29b3..d438b25 100644 (file)
@@ -1,6 +1,6 @@
 /* Verify that -mno-fancy-math-387 works.  */
 /* { dg-do compile { target "i?86-*-*" } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O -ffast-math -mfpmath=387 -mno-fancy-math-387 -march=i386" } */
 /* { dg-final { scan-assembler "call\t_?atan" } } */
 /* { dg-final { scan-assembler "call\t_?log1p" } } */
index 85d2fa4..ab6412b 100644 (file)
@@ -1,6 +1,6 @@
 /* Verify that -march overrides -mno-fancy-math-387.  */
 /* { dg-do compile { target "i?86-*-*" } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O -ffast-math -mfpmath=387 -march=i686 -mno-fancy-math-387" } */
 /* { dg-final { scan-assembler "fpatan" } } */
 /* { dg-final { scan-assembler "fyl2xp1" } } */
index 5938699..a23e0a0 100644 (file)
@@ -1,6 +1,6 @@
 /* PR inline-asm/11676 */
 /* { dg-do run { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O2" } */
 
 extern void abort (void);
index 1db7cb5..5b53acf 100644 (file)
@@ -1,6 +1,6 @@
 // Test for bitfield alignment in structs on IA-32
 // { dg-do run { target i?86-*-* } }
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 // { dg-options "-O2" }
 // { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-interix* i?86-*-cygwin* i?86-*-mingw*} }
 
index 60e1697..f77a4ab 100644 (file)
@@ -1,6 +1,6 @@
 // Test for bitfield alignment in structs on IA-32
 // { dg-do run { target i?86-*-* } }
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 // { dg-options "-O2" }
 // { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-interix* i?86-*-cygwin* i?86-*-mingw* } }
 
index b9e0fe2..9aa23ef 100644 (file)
@@ -1,6 +1,6 @@
 /* PR optimization/9888 */
 /* { dg-do run { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-xfail-if "" { *-*-* } { "-m64" } { "" } } */
 /* { dg-options "-mtune=k6 -O3" } */
 
 /* Verify that GCC doesn't emit out of range 'loop' instructions.  */
index 3da2b09..548819a 100644 (file)
@@ -1,7 +1,7 @@
 /* PR optimization/9888 */
 /* Originator: Jim Bray <jb@as220.org> */
 /* { dg-do run { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-mtune=k6 -Os" } */
 
 enum reload_type
index d574f2f..394b4e9 100644 (file)
@@ -2,7 +2,7 @@
 /* Originator: Tim McGrath <misty-@charter.net> */
 /* Testcase contributed by Eric Botcazou <ebotcazou@libertysurf.fr> */
 /* { dg-do run { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-mtune=k6 -O3 -ffast-math -funroll-loops" } */
 
 extern void *memset (void *, int, __SIZE_TYPE__);
index 24516fd..2df0782 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O2 -march=pentium4" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O2 -march=pentium4 -m32" { target x86_64-*-* } } */
 /* { dg-final { scan-assembler-not "imull" } } */
 
index 72c46e9..8fa2caf 100644 (file)
@@ -1,6 +1,6 @@
 /* PR target/8340 */
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-fPIC" } */
 
 int foo ()
index 8406874..601688f 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-W -Wall" } */
 
 /* Verify that GCC correctly detects non-matching regparm attributes.  */
index 2c0fe5c..57c1f5f 100644 (file)
@@ -1,6 +1,6 @@
 /* PR optimization/8746 */
 /* { dg-do run { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O1 -mtune=i586" } */
 
 extern void abort (void);
index dbda6c4..3e35249 100644 (file)
@@ -1,6 +1,6 @@
 /* PR optimization/8746 */
 /* { dg-do run { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O1 -mtune=i586" } */
 
 extern void abort (void);
index 476e873..882e642 100644 (file)
@@ -1,6 +1,6 @@
 /* PR optimization/8746 */
 /* { dg-do run { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-O1 -mtune=i586" } */
 
 extern void abort (void);
index ab2d499..a35e5d6 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-Winline -O2 -march=i386" } */
 typedef double v2df __attribute__ ((vector_size (16)));
 v2df p;
index 3197e99..7ae52fd 100644 (file)
@@ -5,7 +5,7 @@
 /* { dg-do compile { xfail xstormy16-*-* } } */
 /* { dg-options "" } */
 /* { dg-options "-march=pentium3" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 int main() 
 { 
index 2dff912..8ffd2eb 100644 (file)
@@ -1,6 +1,6 @@
 /* PR optimization/8599 */
 /* { dg-do run { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 /* { dg-options "-mtune=k6 -O2 -funroll-loops" } */
 
 extern void exit (int);
index a35b72b..f817c04 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -fPIC" } */
 /* { dg-options "-O2 -fPIC -mtune=i686" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 extern __thread int thr;
 
index a4064f0..6dc2b0e 100644 (file)
@@ -5,7 +5,7 @@
 /* { dg-do link } */
 /* { dg-options "-O2 -ftls-model=initial-exec" } */
 /* { dg-options "-O2 -ftls-model=initial-exec -march=i686" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 __thread int thr;
 
index 7a75d6b..2ea694f 100644 (file)
@@ -2,7 +2,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -funroll-loops" } */
 /* { dg-options "-mtune=k6 -O2 -funroll-loops" { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 extern void abort (void);
 
index a21e9cc..e4961cf 100644 (file)
@@ -2,7 +2,7 @@
    variants that use 3DNow! prefetch instructions.  */
 
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 extern void exit (int);
 
index 33acfbb..08d046b 100644 (file)
@@ -3,7 +3,7 @@
    locality hints.  */
 
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 extern void exit (int);
 
index 02d0efe..155e0f4 100644 (file)
@@ -2,7 +2,7 @@
    that do not support those instructions.  */
 
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 extern void exit (int);
 
index e5fc091..7d1ed99 100644 (file)
@@ -2,7 +2,7 @@
    variants that use SSE prefetch instructions.  */
 
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-forbid-option "-m64" } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 extern void exit (int);
 
index feb1461..1244462 100644 (file)
@@ -446,34 +446,18 @@ proc dg-require-effective-target { args } {
     }
 }
 
-# ARGS is a list.  The 0th element is the line number at which the
-# dg-forbid-option directive appeared in the source file.  The 1st
-# element is a regular expression.  If the regular expression matches
-# the command-line options implied by the current multilib, then the
-# test will be treated as unsupported.  The 2nd element of the list,
-# if present, is a target selector conditionalizing this directive;
-# if the target selector does not match the current target, this
-# dg-forbid-option directive is ignored.
-
-proc dg-forbid-option { args } {
-    set target_name [target_info name]
-    set pattern [lindex $args 1]
-
-    if {[llength $args] > 2} {
-       set selector [lindex $args 2]
-       if { [dg-process-target $selector] == "N" } {
-           return
-       }
-    }
-       
-    # Check to see if the option occurs in the multilib options
-    # for this target.
-    if {[board_info $target_name exists multilib_flags]} {
-       set multilib_flags [board_info $target_name multilib_flags]
-       if { [regexp -- ${pattern} $multilib_flags] } {
-           upvar dg-do-what dg-do-what
-           set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
-       }
+# Skip the test (report it as UNSUPPORTED) if the target list and
+# included flags are matched and the excluded flags are not matched.
+#
+# The first argument is the line number of the dg-skip-if directive
+# within the test file.   Remaining arguments are as for xfail lists:
+# message { targets } { include } { exclude }
+
+proc dg-skip-if { args } {
+    set args [lreplace $args 0 0]
+    if [check_conditional_xfail $args] {
+       upvar dg-do-what dg-do-what
+       skip_test_and_clear_xfail
     }
 }