gcc-dg.exp (dg-forbid-option): New function.
authorMark Mitchell <mark@codesourcery.com>
Fri, 12 Nov 2004 22:22:16 +0000 (22:22 +0000)
committerJoseph Myers <jsm28@gcc.gnu.org>
Fri, 12 Nov 2004 22:22:16 +0000 (22:22 +0000)
2004-11-12  Mark Mitchell <mark@codesourcery.com>

* lib/gcc-dg.exp (dg-forbid-option): New function.
* g++.dg/abi/bitfield3.C: Use dg-forbid-option -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.
* gcc.c-torture/execute/20010129-1.x: Do not use -mtune=i686 when
-m64 is specified.

From-SVN: r90549

81 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.c-torture/execute/20010129-1.x
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 10bac622f8026b22b021eb5bc40c576892b16d7d..a2d6a24a2056a8dcb3ed1c6fe6344117b5a70f79 100644 (file)
@@ -1,3 +1,87 @@
+2004-11-12  Mark Mitchell <mark@codesourcery.com>
+
+       * lib/gcc-dg.exp (dg-forbid-option): New function.
+       * g++.dg/abi/bitfield3.C: Use dg-forbid-option -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.
+       * gcc.c-torture/execute/20010129-1.x: Do not use -mtune=i686 when
+       -m64 is specified.
+
 2004-11-12  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/18389
index 5eefe97bb7b0998f982cc491d6a1dedbc1aebf0d..5ff310bc7380d03c973df57c2f38adfbaa0b6129 100644 (file)
@@ -4,6 +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" }
 
 struct A
 {
index 8195fda631d02a181e378547fe20ad1d2c06f4eb..64ec0f735cbfba135d2a208265dbfe7131b99941 100644 (file)
@@ -1,5 +1,6 @@
 // { dg-do run { target i?86-*-* } }
 // { dg-options "-fabi-version=0" }
+// { dg-forbid-option "-m64" }
 
 struct A { 
   virtual void f() {}
index 48b0a5571277ffe771c7a78d273cf47ac4d4ff87..429b39e098d83d4a0f37c17b6c534b4002087508 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do compile { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 // { dg-options "-fabi-version=0" }
 
 struct A {
index 970afbaf5127916a4570d05c080c941069a62698..af2ba9c7e82a8c330bb06f563a361d03a58b94c6 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 // { dg-options "-fabi-version=0 -w" }
 
 struct E {};
index 4b1ac3b2c2cfb8d2276d42c435b67a37f0fa83f8..7cc6510046e8f3a54da7968e307485bf95bdeda1 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 // { dg-options "-fabi-version=0" }
 
 struct S1 {};
index 757bf6c8690e39e4b9975702d067fa65c49e6e10..10ebedfdc3bfc9bf58855a54c8e1cd5450e32629 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 // { dg-options "-w -fabi-version=0" }
 
 struct E1 {};
index 6ab6d6b4dc3c3dcdb0fe1c871622995f902e9fc6..a2e94f693a55cdaec1b551a35cadf94323e9231e 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 // { dg-options "-fabi-version=0 -w" }
 
 struct S {
index a1d27ee7f430fd4990999a2583710fd26e8600e4..105c74b95c7fe21bee9ea3627ad62c4fc3aabc3c 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 // { dg-options "-fabi-version=1" }
 
 struct C4
index c9ad5b478f9c170ae22e181fb2598bbd495536ba..0ba7ce761020490460a97b4f313c8b719af84d13 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do compile { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 
 struct A {
   virtual void f ();
index b1c9788e6d0bc0d56040fd1cb9613d5f95f4ce1f..e6774194e95444bb1c4df759ddbc9132da08cfde 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do compile { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 // { dg-options -w }
 
 struct A {
index 375577365a37bf6182f3a1cf56021c83e0869bcd..974f56216a8b74dba2a1febab4d2361392f0eb0b 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 // { dg-options "-fabi-version=0" }
 
 struct A { virtual void f(); char c1; };
index 2499749d64c1f19c7319a8d4bfea0bfdb6994310..314f5980f7a6b1ea42cf6084bfebae7131aa7d82 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do compile { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 
 struct c0 {
   virtual void f ();
index 3bd2fd40a18a1f34bcd40fc74e4006a14a3d6fd1..bc677df1c3d6844d6f1060c30c85045de44f253b 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do compile { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 // { dg-options "-fabi-version=0" }
 
 struct A {
index 26021c56ca4b0e976af18ddf3b16703e07f489cc..0b162e32e93c26cb72789547cb9a0e4589c41685 100644 (file)
@@ -1,5 +1,6 @@
 // PR 8656
 // { dg-do compile { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 
 extern int * (__attribute__((stdcall)) *fooPtr)( void);
 int * __attribute__((stdcall)) myFn01( void) { return 0; }
index b74ceddf085c02d73c902fc89b5236f2ef39fd22..2ada1980cf960e1cd01a53a4432fb975350e723f 100644 (file)
@@ -3,6 +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-*-* } }
 
 // This used to fail to assemble because of an out-of-range 'loop' instructions.
 
index 7b461d8a6f311465fbdfa7a0a1d67e071959615f..5db14159bd1ff53ea3c6add6035bd48857976356 100644 (file)
@@ -6,6 +6,7 @@
 
 // { dg-do compile }
 // { dg-options "-mtune=i586 -O2" { target i?86-*-* } }
+// { dg-forbid-option "-m64" { target i?86-*-* } }
 
 struct array {
   double data;
index 3947e904f5f88dbca2b16f8fbfb0399eed4cd0b9..0d66d72ebc6a897cab13fa95e7cf444cdc4115fd 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do assemble { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 // Test for using prefix attributes in a parameter decl.
 // Contributed by Jason Merrill <jason@cygnus.com>
 
index 0979e168abb590a4781196c27db467d473c1a3d0..abac1b322cff22567bb320367ebd3caf2ae3b8e4 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 // Test that stdcall doesn't prevent us from using op delete.
 // Contributed by Jason Merrill <jason@cygnus.com>
 
index aff745e527cf06b80e95641bc68e1cf418685b81..f47ab074e453ffe5f7b3a323428c3d84f301aaa1 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 // Test for proper handling of attributes in template instantiation.
 // Contributed by Jason Merrill <jason@cygnus.com>
 
index f3a682d77f6c95e1d2596b597fcdbb85a2896256..153c88107032a2ab842cb40faff7dc5d74479f36 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run { target i?86-*-* } }
+// { dg-forbid-option "-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 430a2c6c1f64a1f21cd3eed909eb5d507e8490b5..651f81d8d802659de993f8f44b8fc2e08bcad30a 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run { target i?86-*-* } }
+// { dg-forbid-option "-m64" }
 // { dg-options "-mtune=i686 -O2" }
 class G {};
 
index d35a7a62c53db6cf67f21f36466d90b616f47ada..7e474c45348f730d6ccabcd2074334865415df12 100644 (file)
@@ -1,4 +1,13 @@
+# Use "-mtune=i686" on i?86-*-* unless "-m64" is specified.
 if { [istarget "i?86-*-*"] } {
-  set additional_flags "-mtune=i686"
+  set target_name [target_info name]
+  if {[board_info $target_name exists multilib_flags]} {
+    set multilib_flags [board_info $target_name multilib_flags]
+    if { ![regexp -- "-m64" $multilib_flags] } {
+      set additional_flags "-mtune=i686"
+    }
+  } else {
+    set additional_flags "-mtune=i686"
+  }
 }
 return 0
index 568ca5c15960e892ee936922f07375314e659900..2f0f783cfabea85972f85726acffbf32f50a1413 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run { target i?86-*-* } } */
 /* { dg-options "-O1 -ffast-math -march=i686" } */
+/* { dg-forbid-option "-m64" } */
 
 /* Sanity check for fp_jcc_* with TARGET_CMOVE.  */
 
index 92b52fb1d3b7dc1e3c4b383f5f7fe424756167d8..dc3fb25b9d8cec1075ee70b0cee00e85754a8db2 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-mpreferred-stack-boundary=2 -march=i586 -O2 -fomit-frame-pointer" } */
 
 extern void *foo(void *a, const void *b, unsigned c);
index 395de3dae340b5d6bb0f0d1d49506720c361c671..b61de6cb514f07d7012a831434bd51af896d4d85 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O2 -mtune=k6" } */
 
 void
index 0df09a3f778a0c32ec41d054d299a4ddea651b97..67525b9aaa70d3890cd5acd46b9e88ac56f8885c 100644 (file)
@@ -1,5 +1,6 @@
 /* Test for reload failing to eliminate from argp to sp.  */
 /* { dg-do run { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O2 -fomit-frame-pointer" } */
 
 static int ustrsize (const char *s);
index 08baa076ec138803c9dae895848b4ce89d382e19..6cabb5027834c9f261fd64d135fec2f5e1d13704 100644 (file)
@@ -6,6 +6,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -mtune=i686" { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" { target i?86-*-* } } */
 
 void
 foo (unsigned short *cp)
index 2115a22ad6a8b788442a8a64648324e594ce2392..d6062b58b34a5b17c32660c974cc8bbbe67a3a9e 100644 (file)
@@ -4,6 +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-*-* } } */
 
 extern int access( char* );
 extern int a();
index 3b2a371282e1b70fd46a9fbf29b4aabb2b6edb04..77b70353f11be8449b3b74dfc831adaf5c504f63 100644 (file)
@@ -5,6 +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-*-* } } */
 
 int foo (int *p, int n)
 {
index 67e9a8a76e40bee12af10cf5b2f002dda899dac8..1d93475b0a2c0e2841c07fabb5510542947261b1 100644 (file)
@@ -1,6 +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-options "-O2 -march=i686 -mmmx -fno-strict-aliasing" } */
 
 struct A { unsigned int a, b; };
index 724c03ab24bbafc9188855133edcb9ab0ab51bde..643c4394d6516ca3f0d3d95f6b8a1634e894ec5f 100644 (file)
@@ -5,6 +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-*-* } } */
 
 struct reload
 {
index 2887328d5fb743ffd2779bc68b0c18732e2cbee0..eff60de18d98786237b224bc2cccb28fccc1ed83 100644 (file)
@@ -1,5 +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-options "-O2 -msse" } */
 /* { dg-final { scan-assembler-not "xmm8" } } */
 
index 39fbdb0c96bd792e0382fe20217a507afcc5e528..fd3c24ddf285b3efc97dedb473e3285773abea86 100644 (file)
@@ -3,6 +3,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -mtune=i586" { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" { target i?86-*-* } } */
 
 struct A
 {
index a1834b8a1a5cb5d88c8df50b96647faeaa0e9cdd..d78608d111d860e0c8de16c85920b86f5309b12e 100644 (file)
@@ -4,6 +4,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -march=i686" { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" { target i?86-*-* } } */
 
 #if __INT_MAX__ > 32767
 
index fbc38da03da9bfa887fa58157c34e6bb02bdce10..e3066c95b4721e44e55581a30c6da2b868b124db 100644 (file)
@@ -2,6 +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-*-* } } */
 
 void bar (float);
 
index 94523e7298a789aa93be8c3ed0ab9137483648ef..225b3199bcad14d6d6b6e53dd213ea35e896bd5c 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile { target i?86-*-* } } */
 /* { dg-options "-msoft-float -mfp-ret-in-387" } */
+/* { dg-forbid-option "-m64" } */
 
 void f() {
   __builtin_apply(0, 0, 0);
index dd7fa7ff577cca599a2abd1bfae8f8e71c4bdda5..85f04f871f3241f9eb55a218666cfd4278001dd4 100644 (file)
@@ -3,6 +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-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 40de8663d80f831c2ad9a4f100b2023c309641cc..bc6cb8305e0347d94cf4b1359884861301818751 100644 (file)
@@ -3,6 +3,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -mtune=i686" { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" { target i?86-*-* } } */
 
 #include <limits.h>
 
index 5ae3da5473a633ae3c95c6600a18cfdba5da3ca9..de0555f37d2947481e9098eab80780a2eefa15dd 100644 (file)
@@ -2,6 +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-options "-march=pentium3 -msse -ffast-math -O2" } */
 
 extern void abort (void);
index 1bb5a1a6567adb49f49219ff9c5f7f16df97aac8..dc9a12657e6af718ab8db2edbe5d662350dd8e38 100644 (file)
@@ -2,6 +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-options "-march=pentium3 -msse -ffast-math -O2" } */
 
 #include "i386-cpuid.h"
index da1ed1b7153094b623fe3ec7056fbd52cb44e4fd..028464541dfa5f8628fa2427eb6e3aa0a942e313 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O2 -march=k6" } */
 
 static inline void *
index e236e3a3a39c0c9bbcfe9580516cd758e4fa72d8..ac7c3add32090cab07442e80d9288d827d4d8306 100644 (file)
@@ -2,6 +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-*-* } } */
 
 float foo (float *a, int i)
 {
index f25887d47d284cd40ffd70dbf4d4aa01d82ebbac..f38e32372c000a3a13dda7fe49907ae3e20329f4 100644 (file)
@@ -1,6 +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-*-* } } */
 
 extern void abort (void);
 extern void exit (int);
index 806dea7616564f84cbe01f04807a2e90121ccb83..8af98aa56ef5e9f477d8882c2975ec9044416668 100644 (file)
@@ -2,6 +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-*-* } } */
 
 extern void *memcpy (void *, const void *, __SIZE_TYPE__);
 extern __SIZE_TYPE__ strlen (const char *);
index 424e01b5dd4206e3c632a638e084005411e76718..7947770dfd57d70cb9dba9c3dc20d5b43e0a213c 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2" } */
 /* { dg-options "-O2 -mtune=i686" { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" { target i?86-*-* } } */
 
 extern void abort (void);
 extern void exit (int);
index 8f72c31d341f7859aed266ddb94a0d7179a70771..69553ef4199cbcdd1f91a2b36657f03d2e377a5f 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do link { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O2 -march=pentiumpro" } */
 
 extern __inline  double
index 1036339b076c90899ecfe381d9fb29032344749b..1e23fee16ed1aa80bcbe432325399332a08856e1 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do link { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O2 -march=pentiumpro" } */
 
 extern __inline  double
index 606ba440ca8245b435f8ff543c8d248e6c745fda..df7636b8a8c07c2cc7d1b7280536eab8ee879983 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O2 -march=pentiumpro" } */
 
 extern __inline  double
index 00b476427f3e4814d646f808586429d5e280d431..9a3b630554e6367c07bc05602cc16b820591e762 100644 (file)
@@ -2,6 +2,7 @@
    with stdcall functions.  */
 
 /* { dg-do run { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options -mpreferred-stack-boundary=4 } */
 
 void __attribute__((stdcall)) foo(int a, int b, int c);
index 8b1017245033d7d9fa149c1356dcc2f98c687dc7..bded9f412a95a7a488963ba86387544aac9dcc4d 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O2 -march=pentiumpro" } */
 
 typedef struct t_anim_info {
index 76b1b8e98842c4f06957f60c78b7ba4bc5d65520..3bc1b0693ead6af875da91c0c7959062a3fcfe10 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O -ffast-math -mtune=i486" } */
 
 /* Test that floating point greater-than tests are compiled correctly with
index 92b671bf99c53fbfd39ee6214424c809e3184b40..058618853159501f521d7635ff05f7519edaa836 100644 (file)
@@ -1,5 +1,6 @@
 /* Verify that -mno-fancy-math-387 works.  */
 /* { dg-do compile { target "i?86-*-*" } } */
+/* { dg-forbid-option "-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 11eb0cc9aa592c2d1a2bceae2d06dd1ee63ac251..9642b225e3ebfc5d7812e6dc9e847e4aa9aec09b 100644 (file)
@@ -1,5 +1,6 @@
 /* Verify that -march overrides -mno-fancy-math-387.  */
 /* { dg-do compile { target "i?86-*-*" } } */
+/* { dg-forbid-option "-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 f61cd6100e2bb926475830ed2e17835edebd2e9d..92f95d6fd63cd4e01f0c61ec46e5ba01d2c68156 100644 (file)
@@ -1,5 +1,6 @@
 /* Verify that 387 mathematical constants are recognized.  */
 /* { dg-do compile { target "i?86-*-*" } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O2 -march=i686" } */
 /* { dg-final { scan-assembler "fldpi" } } */
 
index 809ab823660a16fd761aac97d8dbbcbd8faec2cc..65834b0e73d797736017021d88c406742e5ae905 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target "i?86-*-*" } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O2 -march=i686" } */
 /* { dg-final { scan-assembler "fldpi" } } */
 
index 7c51297742006a3a315ac551a46971a63ff92029..d5f29b33d1523ebdb52c1e2daca7f66e8141b5f9 100644 (file)
@@ -1,5 +1,6 @@
 /* Verify that -mno-fancy-math-387 works.  */
 /* { dg-do compile { target "i?86-*-*" } } */
+/* { dg-forbid-option "-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 c8e5311c091325b687541f61f0f8b503bc8582c2..85d2fa4121d6aeaddba5d5dffed88dcb6b4d7f2e 100644 (file)
@@ -1,5 +1,6 @@
 /* Verify that -march overrides -mno-fancy-math-387.  */
 /* { dg-do compile { target "i?86-*-*" } } */
+/* { dg-forbid-option "-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 826f5b6dbe39d00f4a5e48eb3c84b4aa97856b81..593869909ef8296d79793f4f8c31b86242be49a1 100644 (file)
@@ -1,5 +1,6 @@
 /* PR inline-asm/11676 */
 /* { dg-do run { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O2" } */
 
 extern void abort (void);
index 21916c1cc7e69ed242751c8149b8b7bf9c9e7497..1db7cb562bfd861a5da9d264c4b847305816547c 100644 (file)
@@ -1,5 +1,6 @@
 // Test for bitfield alignment in structs on IA-32
 // { dg-do run { target i?86-*-* } }
+/* { dg-forbid-option "-m64" } */
 // { dg-options "-O2" }
 // { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-interix* i?86-*-cygwin* i?86-*-mingw*} }
 
index 9e5da39787793a762d65b83aae1abe52da168494..60e1697c055651fb6098c96167d8f095b3dc1a70 100644 (file)
@@ -1,5 +1,6 @@
 // Test for bitfield alignment in structs on IA-32
 // { dg-do run { target i?86-*-* } }
+/* { dg-forbid-option "-m64" } */
 // { dg-options "-O2" }
 // { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-interix* i?86-*-cygwin* i?86-*-mingw* } }
 
index 635f012a4777a3d82f01e040277772a10e473378..b9e0fe20697c1ee8f5884217bf3e724c6c3ba10f 100644 (file)
@@ -1,5 +1,6 @@
 /* PR optimization/9888 */
 /* { dg-do run { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-mtune=k6 -O3" } */
 
 /* Verify that GCC doesn't emit out of range 'loop' instructions.  */
index 3a3e69e98b4f64a3f195eefca8d6785da4baf9a3..3da2b09e966f0c408cb7eba756df16f14fa8a83b 100644 (file)
@@ -1,6 +1,7 @@
 /* PR optimization/9888 */
 /* Originator: Jim Bray <jb@as220.org> */
 /* { dg-do run { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-mtune=k6 -Os" } */
 
 enum reload_type
index 59ed5bf589f73a3f3c75d77855290a87662493e6..d574f2f2d2e73ee8bca6f42bd53887bb3e57b1a9 100644 (file)
@@ -2,6 +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-options "-mtune=k6 -O3 -ffast-math -funroll-loops" } */
 
 extern void *memset (void *, int, __SIZE_TYPE__);
index 8d4a083e5d8f1ac905f6e350bdaff25c669ff82c..24516fdd605f7fc49edb4d1a53ab1042f4a185de 100644 (file)
@@ -1,5 +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-options "-O2 -march=pentium4 -m32" { target x86_64-*-* } } */
 /* { dg-final { scan-assembler-not "imull" } } */
 
index 4c548bf1cd60bb420ca741cf3ecc90cbb1ed803c..72c46e92735a44e233753814f5b13a95a61b8270 100644 (file)
@@ -1,5 +1,6 @@
 /* PR target/8340 */
 /* { dg-do compile { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-fPIC" } */
 
 int foo ()
index 18206ea7fc341afebb4e11863377e71938b2f731..8406874dd1883979a346a97275ea049cc9ba8dfe 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-W -Wall" } */
 
 /* Verify that GCC correctly detects non-matching regparm attributes.  */
index 8b8866e92aa228ff1154ebe3fca01e24668cbf32..2c0fe5c78b5c489064f035ff3ba9a45d2cf04f54 100644 (file)
@@ -1,5 +1,6 @@
 /* PR optimization/8746 */
 /* { dg-do run { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O1 -mtune=i586" } */
 
 extern void abort (void);
index 5687d857a0776abacc0b13a9fb0aa4d6ff2ded19..dbda6c4c95e3ba4e73d17a1dc4f5f497e83a03fd 100644 (file)
@@ -1,5 +1,6 @@
 /* PR optimization/8746 */
 /* { dg-do run { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O1 -mtune=i586" } */
 
 extern void abort (void);
index ae97f215603210ad5460ffdeb959f31d15847893..476e873d57e552b7af5f8b40f9c8b3d3eaaeb51f 100644 (file)
@@ -1,5 +1,6 @@
 /* PR optimization/8746 */
 /* { dg-do run { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-O1 -mtune=i586" } */
 
 extern void abort (void);
index 81184fcb67e9f80d45aa3464af5788379fb1534d..ab2d499c5e70b1081519cb8a42d166c7eab7fcc6 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-Winline -O2 -march=i386" } */
 typedef double v2df __attribute__ ((vector_size (16)));
 v2df p;
index 8ec5e7034a58c3bcacc238d72ea6a4f31d334907..e74f0c0f6792c7c4f9789a9fe46190e5e23a34f4 100644 (file)
@@ -4,6 +4,7 @@
 /* { dg-do compile } */
 /* { dg-options "" } */
 /* { dg-options "-march=pentium3" { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" { target i?86-*-* } } */
 
 int main() 
 { 
index a424b95eba24764488a09d3ad0d72253248ce0d6..2dff9127721de3cc41d33bda4cdd5df4c75eb887 100644 (file)
@@ -1,5 +1,6 @@
 /* PR optimization/8599 */
 /* { dg-do run { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 /* { dg-options "-mtune=k6 -O2 -funroll-loops" } */
 
 extern void exit (int);
index 8523c762a2edb0cd5368521eb45e2dbe89c82cb2..a35b72b09278ecf6adc7bde8e6aaefd53f309903 100644 (file)
@@ -1,6 +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-*-* } } */
 
 extern __thread int thr;
 
index 713fb7f360c2944ddcac3851bc3d7671881dd848..a4064f0b8d8767b5ae37472d3b748de11b677f18 100644 (file)
@@ -5,6 +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-*-* } } */
 
 __thread int thr;
 
index 1e2dd09ebeccfc54d7531cb74e22d23785a5b0b8..7a75d6b281275ae0ce9b5976a81335221f1301ea 100644 (file)
@@ -2,6 +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-*-* } } */
 
 extern void abort (void);
 
index a44c6076481cc2ec25ffc6f58425a8e363641318..a21e9ccf112b4c971daae6c45af2ef2ba53e2a6e 100644 (file)
@@ -2,6 +2,7 @@
    variants that use 3DNow! prefetch instructions.  */
 
 /* { dg-do compile { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 
 extern void exit (int);
 
index 09a67d8342601d8e35e8f83c205d3ce40964004f..33acfbb9bd8ab0c15f7eaf4b70060f69c0124f13 100644 (file)
@@ -3,6 +3,7 @@
    locality hints.  */
 
 /* { dg-do compile { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 
 extern void exit (int);
 
index 0ad3220e856cd48aef8fef8a024c0dfa5945538b..02d0efe726ff1cd1a23e6b76e1e8159c21d16706 100644 (file)
@@ -2,6 +2,7 @@
    that do not support those instructions.  */
 
 /* { dg-do compile { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 
 extern void exit (int);
 
index 15275775caa29eb4e50637958ba1b39a18c46164..e5fc0910c24cc4405501d5cc71397755970a576c 100644 (file)
@@ -2,6 +2,7 @@
    variants that use SSE prefetch instructions.  */
 
 /* { dg-do compile { target i?86-*-* } } */
+/* { dg-forbid-option "-m64" } */
 
 extern void exit (int);
 
index 848526b32b9e06c934287123408478a5fe029911..83c0a5b8b3aaa147b39562d9f7486def0631f096 100644 (file)
@@ -446,6 +446,37 @@ 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"]
+       }
+    }
+}
+
 # Prune any messages matching ARGS[1] (a regexp) from test output.
 proc dg-prune-output { args } {
     global additional_prunes