diff mbox

[testsuite,g++] : Fixes for mingw-targets

Message ID CAEwic4ZfHzRy3LUY4uDqHwGADpxqYWn+nr8dF767pvm1QvmWag@mail.gmail.com
State New
Headers show

Commit Message

Kai Tietz Nov. 28, 2014, 11:05 a.m. UTC
Hi,

this patch fixes for mingw-targets some LP assumptions, adjusts for
some testcases that ms-extensions is turned off for diagnostics, and
turns on pedantic for some testcase to match expected diagnostics.

Ok for apply?

Kai

ChangeLog

2014-11-28  Kai Tietz  <ktietz@redhat.com>

    * g++.dg/abi/mangle13.C: Disable
    ms-extensions for mingw-targets.
    * g++.dg/abi/mangle15.C: Likewise.
    * g++.dg/cpp0x/access02.C: Likewise.
    * g++.dg/cpp0x/auto20.C: Likewise.
    * g++.dg/cpp0x/decltype31.C: Likewise.
    * g++.dg/cpp0x/decltype50.C: Likewise.
    * g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise.
    * g++.dg/cpp0x/lambda/lambda-this11.C: Likewise.
    * g++.dg/cpp0x/ref-qual10.C: Likewise.
    * g++.dg/cpp0x/sfinae50.C: Likewise.
    * g++.dg/cpp0x/static_assert9.C: Likewise.
    * g++.dg/cpp0x/variadic159.C: Likewise.
    * g++.dg/cpp0x/vt-55542.C: Likewise.
    * g++.dg/dfp/mangle-1.C: Likewise.
    * g++.dg/dfp/mangle-2.C: Likewise.
    * g++.dg/expr/bound-mem-fun.C: Likewise.
    * g++.dg/expr/pmf-1.C: Likewise.
    * g++.dg/expr/ptrmem5.C: Likewise.
    * g++.dg/ext/uow-3.C: Likewise.
    * g++.dg/ext/uow-4.C: Likewise.
    * g++.dg/init/ptrmem3.C: Likewise.
    * g++.dg/lookup/anon7.C: Likewise.
    * g++.dg/lookup/name-clash7.C: Likewise.
    * g++.dg/lookup/redecl1.C: Likewise.
    * g++.dg/opt/pmf1.C: Likewise.
    * g++.dg/other/error24.C: Likewise.
    * g++.dg/other/error34.C: Likewise.
    * g++.dg/other/i386-1.C: Likewise.
    * g++.dg/other/pr34435.C: Likewise.
    * g++.dg/other/ptrmem8.C: Likewise.
    * g++.dg/overload/pmf2.C: Likewise.
    * g++.dg/parse/error43.C: Likewise.
    * g++.dg/parse/error45.C: Likewise.
    * g++.dg/parse/template5.C: Likewise.
    * g++.dg/pr54442.C: Likewise.
    * g++.dg/rtti/typeid8.C: Likewise.
    * g++.dg/template/access28.C: Likewise.
    * g++.dg/template/anonunion1.C: Likewise.
    * g++.dg/template/conv1.C: Likewise.
    * g++.dg/template/crash106.C: Likewise.
    * g++.dg/template/crash112.C: Likewise.
    * g++.dg/template/crash37.C: Likewise.
    * g++.dg/template/crash51.C: Likewise.
    * g++.dg/template/crash72.C: Likewise.
    * g++.dg/template/dependent-args1.C: Likewise.
    * g++.dg/template/dependent-expr5.C: Likewise.
    * g++.dg/template/dtor6.C: Likewise.
    * g++.dg/template/non-dependent11.C: Likewise.
    * g++.dg/template/non-dependent9.C: Likewise.
    * g++.dg/template/overload10.C: Likewise.
    * g++.dg/template/overload5.C: Likewise.
    * g++.dg/template/overload6.C: Likewise.
    * g++.dg/template/ptrmem20.C: Likewise.
    * g++.dg/template/ptrmem3.C: Likewise.
    * g++.dg/template/ptrmem5.C: Likewise.
    * g++.dg/template/ptrmem8.C: Likewise.
    * g++.dg/template/sfinae26.C: Likewise.
    * g++.dg/template/template-id-4.C: Likewise.
    * g++.dg/torture/pr58252.C: Likewise.
    * g++.dg/torture/pr58555.C: Likewise.
    * g++.dg/warn/changes-meaning.C: Likewise.
    * g++.dg/warn/multiple-overflow-warn-1.C: Likewise.
    * g++.dg/warn/multiple-overflow-warn-3.C: Likewise.
    * g++.dg/warn/overflow-warn-1.C: Likewise.
    * g++.dg/warn/overflow-warn-3.C: Likewise.
    * g++.dg/warn/pmf1.C: Likewise.
    * g++.dg/warn/skip-1.C: Likewise.
    * g++.dg/warn/skip-2.C: Likewise.
    * g++.old-deja/g++.brendan/operators4.C: Likewise.
    * g++.old-deja/g++.brendan/prepost1.C: Likewise.
    * g++.old-deja/g++.brendan/ptrmem4.C: Likewise.
    * g++.old-deja/g++.bugs/900213_03.C: Likewise.
    * g++.old-deja/g++.bugs/900220_01.C: Likewise.
    * g++.old-deja/g++.jason/member.C: Likewise.
    * g++.old-deja/g++.jason/pmf2.C: Likewise.
    * g++.old-deja/g++.jason/pmf5.C: Likewise.
    * g++.old-deja/g++.jason/pmf6.C: Likewise.
    * g++.old-deja/g++.jason/scoping8.C: Likewise.
    * g++.old-deja/g++.jason/synth7.C: Likewise.
    * g++.old-deja/g++.jason/typeid1.C: Likewise.
    * g++.old-deja/g++.law/arm16.C: Likewise.
    * g++.old-deja/g++.law/operators9.C: Likewise.
    * g++.old-deja/g++.mike/net31.C: Likewise.
    * g++.old-deja/g++.mike/net36.C: Likewise.
    * g++.old-deja/g++.mike/p11110.C: Likewise.
    * g++.old-deja/g++.mike/p646.C: Likewise.
    * g++.old-deja/g++.mike/pmf3.C: Likewise.
    * g++.old-deja/g++.oliva/overload1.C: Likewise.
    * g++.old-deja/g++.other/decl6.C: Likewise.
    * g++.old-deja/g++.other/lookup4.C: Likewise.
    * g++.old-deja/g++.other/overload1.C: Likewise.
    * g++.old-deja/g++.other/overload8.C: Likewise.
    * g++.old-deja/g++.other/pmf2.C: Likewise.
    * g++.old-deja/g++.other/pmf3.C: Likewise.
    * g++.old-deja/g++.other/pmf7.C: Likewise.
    * g++.old-deja/g++.other/ptrmem7.C: Likewise.
    * g++.old-deja/g++.pt/crash18.C: Likewise.
    * g++.old-deja/g++.pt/crash57.C: Likewise.
    * g++.old-deja/g++.pt/memtemp94.C: Likewise.
    * g++.old-deja/g++.pt/overload10.C: Likewise.
    * g++.old-deja/g++.pt/ptrmem1.C: Likewise.
    * g++.old-deja/g++.pt/ptrmem10.C: Likewise.
    * g++.old-deja/g++.pt/ptrmem4.C: Likewise.
    * g++.old-deja/g++.robertl/eb131.C: Likewise.
    * g++.old-deja/g++.robertl/eb8.C: Likewise.
    * g++.old-deja/g++.robertl/ice990323-5.C: Likewise.
    * g++.dg/cpp0x/auto27.C: Disable
    ms-extensions and enable pedantic for
    mingw-targets.
    * g++.dg/diagnostic/bitfld2.C: Likewise.
    * g++.dg/ext/offsetof1.C: Likewise.
    * g++.dg/ext/vla1.C: Likewise.
    * g++.dg/warn/Wconversion-pr34389.C: Likewise.
    * g++.dg/warn/overflow-warn-4.C: Likewise.
    * g++.old-deja/g++.benjamin/13908.C: Likewise.
    * g++.old-deja/g++.brendan/arm3.C: Likewise.
    * g++.old-deja/g++.brendan/prepost2.C: Likewise.
    * g++.old-deja/g++.law/nest1.C: Likewise.
    * g++.dg/cpp0x/constexpr-invisiref1.C: Fix
    LP64 assumption.
    * g++.dg/cpp0x/pr57101.C: Likewise.
    * g++.dg/opt/pr55717.C: Likewise.
    * g++.dg/init/self1.C: Disable long long warning
    for LLP64 targets.

Ok for apply?

Kai

Comments

Rainer Orth Nov. 28, 2014, 11:17 a.m. UTC | #1
Hi Kai,

> 2014-11-28  Kai Tietz  <ktietz@redhat.com>
>
>     * g++.dg/abi/mangle13.C: Disable
>     ms-extensions for mingw-targets.

just a nit: why break this line way before 72/80 charackters?  Several
more of those useless linebreaks below.  And no dash in mingw targets;
better yet use *-*-mingw* instead of paraphrasing the affected targets.

	Rainer
Kai Tietz Nov. 28, 2014, 12:44 p.m. UTC | #2
2014-11-28 12:17 GMT+01:00 Rainer Orth <ro@cebitec.uni-bielefeld.de>:
> Hi Kai,
>
>> 2014-11-28  Kai Tietz  <ktietz@redhat.com>
>>
>>     * g++.dg/abi/mangle13.C: Disable
>>     ms-extensions for mingw-targets.
>
> just a nit: why break this line way before 72/80 charackters?  Several
> more of those useless linebreaks below.  And no dash in mingw targets;
> better yet use *-*-mingw* instead of paraphrasing the affected targets.
>
>         Rainer

None specific.  I just wanted to avoid to have just mingw-targets in
one line, but I can reformat ChangeLog, if patch itself is ok.

Kai
diff mbox

Patch

Index: g++.dg/abi/mangle13.C
===================================================================
--- g++.dg/abi/mangle13.C    (Revision 218142)
+++ g++.dg/abi/mangle13.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-options "-fabi-version=0" }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct A {
   template <typename T> int f ();
Index: g++.dg/abi/mangle15.C
===================================================================
--- g++.dg/abi/mangle15.C    (Revision 218142)
+++ g++.dg/abi/mangle15.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // { dg-do compile }
 // { dg-options "-fabi-version=0" }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct A {
   template <typename T> int f ();

Index: g++.dg/cpp0x/access02.C
===================================================================
--- g++.dg/cpp0x/access02.C    (Revision 218142)
+++ g++.dg/cpp0x/access02.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/58954
 // { dg-require-effective-target c++11 }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 template<class T>
 T&& declval();
Index: g++.dg/cpp0x/auto20.C
===================================================================
--- g++.dg/cpp0x/auto20.C    (Revision 218142)
+++ g++.dg/cpp0x/auto20.C    (Arbeitskopie)
@@ -1,6 +1,7 @@ 
 // Test for proper non-deduced context handling of the initializer
 // for an auto declaration/new.
 // { dg-do compile { target c++11 } }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct with_apply
 {
Index: g++.dg/cpp0x/auto27.C
===================================================================
--- g++.dg/cpp0x/auto27.C    (Revision 218142)
+++ g++.dg/cpp0x/auto27.C    (Arbeitskopie)
@@ -1,6 +1,7 @@ 
 // PR c++/51186
+// { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } }

 auto main()->int           // { dg-error "std=" "std" { target { ! c++11 } } }
-                   // { dg-error "auto" "auto" { target { ! c++11 } } 3 }
-                   // { dg-error "no type" "no type" { target { ! c++11 } } 3 }
+                   // { dg-error "auto" "auto" { target { ! c++11 } } 4 }
+                   // { dg-error "no type" "no type" { target { ! c++11 } } 4 }
 { }
Index: g++.dg/cpp0x/constexpr-invisiref1.C
===================================================================
--- g++.dg/cpp0x/constexpr-invisiref1.C    (Revision 218142)
+++ g++.dg/cpp0x/constexpr-invisiref1.C    (Arbeitskopie)
@@ -4,11 +4,11 @@ 
 class CAddress
 {
 public:
-  constexpr CAddress(unsigned long begin) : m_Begin(begin) {}
+  constexpr CAddress(unsigned __INTPTR_TYPE__ begin) : m_Begin(begin) {}
   constexpr CAddress(const CAddress &other) : m_Begin(other.m_Begin) {}

 private:
-  unsigned long m_Begin;
+  unsigned __INTPTR_TYPE__ m_Begin;
 };

 extern "C" char _lnkDDRRAM;
@@ -15,7 +15,7 @@  extern "C" char _lnkDDRRAM;
 /* internal compiler error on gcc 4.6.3 */
 const CAddress s_Memmap[2]
 {
-  {(unsigned long)&_lnkDDRRAM}, /* segmentation fault */
+  {(unsigned __INTPTR_TYPE__)&_lnkDDRRAM}, /* segmentation fault */
   {0x40000000},
 };

Index: g++.dg/cpp0x/decltype31.C
===================================================================
--- g++.dg/cpp0x/decltype31.C    (Revision 218142)
+++ g++.dg/cpp0x/decltype31.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/49921
 // { dg-do compile { target c++11 } }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct Local
 {
Index: g++.dg/cpp0x/decltype50.C
===================================================================
--- g++.dg/cpp0x/decltype50.C    (Revision 218142)
+++ g++.dg/cpp0x/decltype50.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/52597
 // { dg-require-effective-target c++11 }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct A {
    int zip();
Index: g++.dg/cpp0x/lambda/lambda-eh2.C
===================================================================
--- g++.dg/cpp0x/lambda/lambda-eh2.C    (Revision 218142)
+++ g++.dg/cpp0x/lambda/lambda-eh2.C    (Arbeitskopie)
@@ -2,6 +2,7 @@ 
 // PR c++/49260
 // { dg-options "-fno-asynchronous-unwind-tables -fno-dwarf2-cfi-asm" }
 // { dg-do run { target c++11 } }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 #include <exception>

Index: g++.dg/cpp0x/lambda/lambda-this11.C
===================================================================
--- g++.dg/cpp0x/lambda/lambda-this11.C    (Revision 218142)
+++ g++.dg/cpp0x/lambda/lambda-this11.C    (Arbeitskopie)
@@ -2,6 +2,7 @@ 
 // Uses of static members and creating pointers to members aren't odr-uses
 // of 'this'.
 // { dg-do compile { target c++11 } }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct A
 {
Index: g++.dg/cpp0x/pr57101.C
===================================================================
--- g++.dg/cpp0x/pr57101.C    (Revision 218142)
+++ g++.dg/cpp0x/pr57101.C    (Arbeitskopie)
@@ -1,7 +1,7 @@ 
 // { dg-do compile { target c++11 } }
 // { dg-options "-fcompare-debug" }

-typedef long unsigned size_t;
+__extension__ typedef __SIZE_TYPE__ size_t;
 namespace
 {
   template < typename _Tp, _Tp __v > struct integral_constant
Index: g++.dg/cpp0x/ref-qual10.C
===================================================================
--- g++.dg/cpp0x/ref-qual10.C    (Revision 218142)
+++ g++.dg/cpp0x/ref-qual10.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/57252
 // { dg-require-effective-target c++11 }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct foo {
   void bar() & {}
Index: g++.dg/cpp0x/sfinae50.C
===================================================================
--- g++.dg/cpp0x/sfinae50.C    (Revision 218142)
+++ g++.dg/cpp0x/sfinae50.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/61083
 // { dg-do compile { target c++11 } }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 template<typename T> T declval();

Index: g++.dg/cpp0x/static_assert9.C
===================================================================
--- g++.dg/cpp0x/static_assert9.C    (Revision 218142)
+++ g++.dg/cpp0x/static_assert9.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/58837
 // { dg-require-effective-target c++11 }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 void f();
 static_assert(f, "");
Index: g++.dg/cpp0x/variadic159.C
===================================================================
--- g++.dg/cpp0x/variadic159.C    (Revision 218142)
+++ g++.dg/cpp0x/variadic159.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/61507
 // { dg-do compile { target c++11 } }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct A {
   void foo(const int &);
Index: g++.dg/cpp0x/vt-55542.C
===================================================================
--- g++.dg/cpp0x/vt-55542.C    (Revision 218142)
+++ g++.dg/cpp0x/vt-55542.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/55542
 // { dg-do compile { target c++11 } }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 template <typename ... P>
 struct B
Index: g++.dg/dfp/mangle-1.C
===================================================================
--- g++.dg/dfp/mangle-1.C    (Revision 218142)
+++ g++.dg/dfp/mangle-1.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 // Mangling of classes from std::decimal are special-cased.
 // Derived from g++.dg/abi/mangle13.C.
Index: g++.dg/dfp/mangle-2.C
===================================================================
--- g++.dg/dfp/mangle-2.C    (Revision 218142)
+++ g++.dg/dfp/mangle-2.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 // Mangling of classes from std::decimal are special-cased.
 // Derived from g++.dg/abi/mangle15.C.
Index: g++.dg/diagnostic/bitfld2.C
===================================================================
--- g++.dg/diagnostic/bitfld2.C    (Revision 218142)
+++ g++.dg/diagnostic/bitfld2.C    (Arbeitskopie)
@@ -1,9 +1,10 @@ 
 // PR c++/33840
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } }

 template<int> struct A
 {
   struct {} : 2;   // { dg-error "expected ';' after struct" "expected" }
 };
-// { dg-error "ISO C.. forbids declaration" "declaration" { target *-*-* } 6 }
-// { dg-error "ISO C.. prohibits anonymous" "anonymous" { target *-*-* } 6 }
+// { dg-error "ISO C.. forbids declaration" "declaration" { target *-*-* } 7 }
+// { dg-error "ISO C.. prohibits anonymous" "anonymous" { target *-*-* } 7 }
Index: g++.dg/expr/bound-mem-fun.C
===================================================================
--- g++.dg/expr/bound-mem-fun.C    (Revision 218142)
+++ g++.dg/expr/bound-mem-fun.C    (Arbeitskopie)
@@ -1,6 +1,7 @@ 
 // Contributed by Dodji Seketeli <dodji@redhat.com>
 // Origin PR c++/38228
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct A
 {
Index: g++.dg/expr/pmf-1.C
===================================================================
--- g++.dg/expr/pmf-1.C    (Revision 218142)
+++ g++.dg/expr/pmf-1.C    (Arbeitskopie)
@@ -3,6 +3,7 @@ 
 // Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>

 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct A
 {
Index: g++.dg/expr/ptrmem5.C
===================================================================
--- g++.dg/expr/ptrmem5.C    (Revision 218142)
+++ g++.dg/expr/ptrmem5.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/15696
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct A {};

Index: g++.dg/ext/offsetof1.C
===================================================================
--- g++.dg/ext/offsetof1.C    (Revision 218142)
+++ g++.dg/ext/offsetof1.C    (Arbeitskopie)
@@ -1,6 +1,7 @@ 
 // PR c++/27601
 // Origin: Patrik Hägglund  <patrik.hagglund@bredband.net>
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } }

 struct bar {
   static int foo;
Index: g++.dg/ext/uow-3.C
===================================================================
--- g++.dg/ext/uow-3.C    (Revision 218142)
+++ g++.dg/ext/uow-3.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-options "-Wall" } */
+/* { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }  */

 typedef int UOW;  /* { dg-error "" } */
 struct ABC {
Index: g++.dg/ext/uow-4.C
===================================================================
--- g++.dg/ext/uow-4.C    (Revision 218142)
+++ g++.dg/ext/uow-4.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-options "-Wall -pedantic" } */
+/* { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } } */

 extern "C" {

Index: g++.dg/ext/vla1.C
===================================================================
--- g++.dg/ext/vla1.C    (Revision 218142)
+++ g++.dg/ext/vla1.C    (Arbeitskopie)
@@ -1,5 +1,5 @@ 
 // { dg-do compile }
-
+/* { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } }  */
 // Crash tests from PR middle-end/6994.  See also gcc.dg/vla-2.c.
 // A::A is acceptable extended C++ (VLA types brought over from C99);
 // B::B is not, but is closely related to acceptable extended C, though
Index: g++.dg/init/ptrmem3.C
===================================================================
--- g++.dg/init/ptrmem3.C    (Revision 218142)
+++ g++.dg/init/ptrmem3.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/28148
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct foo {
 public:
Index: g++.dg/init/self1.C
===================================================================
--- g++.dg/init/self1.C    (Revision 218142)
+++ g++.dg/init/self1.C    (Arbeitskopie)
@@ -1,9 +1,10 @@ 
 // PR c++/29106
 // { dg-do run }

+__extension__ typedef __SIZE_TYPE__ size_t;
 int i;

-void f(__SIZE_TYPE__) {
+void f(size_t) {
   i = 3;
 }

Index: g++.dg/lookup/anon7.C
===================================================================
--- g++.dg/lookup/anon7.C    (Revision 218142)
+++ g++.dg/lookup/anon7.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/39560
 // { dg-options -Wunused }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct X { };

Index: g++.dg/lookup/name-clash7.C
===================================================================
--- g++.dg/lookup/name-clash7.C    (Revision 218142)
+++ g++.dg/lookup/name-clash7.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/28513
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 class foo {            // { dg-error "changes meaning" }
 public:
Index: g++.dg/lookup/redecl1.C
===================================================================
--- g++.dg/lookup/redecl1.C    (Revision 218142)
+++ g++.dg/lookup/redecl1.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/14668
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 class A {}; // { dg-error "" }
 class B {
Index: g++.dg/opt/pmf1.C
===================================================================
--- g++.dg/opt/pmf1.C    (Revision 218142)
+++ g++.dg/opt/pmf1.C    (Arbeitskopie)
@@ -1,6 +1,7 @@ 
 // PR c++/37016
 // { dg-do run }
 // { dg-options "-O2 -Wall" }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 /*
   Basic design concept is that WorldObject implements remote method call
Index: g++.dg/opt/pr55717.C
===================================================================
--- g++.dg/opt/pr55717.C    (Revision 218142)
+++ g++.dg/opt/pr55717.C    (Arbeitskopie)
@@ -2,6 +2,8 @@ 
 // { dg-do compile }
 // { dg-options "-O -g" }

+__extension__ typedef __SIZE_TYPE__ size_t;
+
 struct DebugOnly {};
 template <class T>
 struct StripConst { typedef T result; };
@@ -93,7 +95,7 @@  struct AllocationSiteKey
   unsigned offset : 24;
   int kind;
   typedef AllocationSiteKey Lookup;
-  static unsigned hash (AllocationSiteKey key) { return (long
(key.script->code + key.offset)) ^ key.kind; }
+  static unsigned hash (AllocationSiteKey key) { return (size_t
(key.script->code + key.offset)) ^ key.kind; }
 };
 void
 TypeCompartment::sweep (FreeOp *)
Index: g++.dg/other/error24.C
===================================================================
--- g++.dg/other/error24.C    (Revision 218142)
+++ g++.dg/other/error24.C    (Arbeitskopie)
@@ -1,6 +1,7 @@ 
 // PR c++/34965
 // { dg-do compile }
 // { dg-options "-O" }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 int foo (int);

Index: g++.dg/other/error34.C
===================================================================
--- g++.dg/other/error34.C    (Revision 218142)
+++ g++.dg/other/error34.C    (Arbeitskopie)
@@ -1,7 +1,8 @@ 
 // PR c++/46538
 // { dg-do compile }
 // { dg-options "" }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 S () : str(__PRETTY_FUNCTION__) {}    // { dg-error "forbids
declaration" "decl" }
-// { dg-error "only constructors" "constructor" { target *-*-* } 5 }
+// { dg-error "only constructors" "constructor" { target *-*-* } 6 }
 // { dg-prune-output "__PRETTY_FUNCTION__" }
Index: g++.dg/other/i386-1.C
===================================================================
--- g++.dg/other/i386-1.C    (Revision 218142)
+++ g++.dg/other/i386-1.C    (Arbeitskopie)
@@ -1,6 +1,7 @@ 
 /* { dg-do run { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-msse2" } */
 /* { dg-require-effective-target sse2_runtime } */
+/* { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } } */

 #include <xmmintrin.h>

Index: g++.dg/other/pr34435.C
===================================================================
--- g++.dg/other/pr34435.C    (Revision 218142)
+++ g++.dg/other/pr34435.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-msse2 -Wno-abi" } */
+/* { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } } */

 #include <emmintrin.h>

Index: g++.dg/other/ptrmem8.C
===================================================================
--- g++.dg/other/ptrmem8.C    (Revision 218142)
+++ g++.dg/other/ptrmem8.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/33844
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct A {};

Index: g++.dg/overload/pmf2.C
===================================================================
--- g++.dg/overload/pmf2.C    (Revision 218142)
+++ g++.dg/overload/pmf2.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/561
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 class A { };

Index: g++.dg/parse/error43.C
===================================================================
--- g++.dg/parse/error43.C    (Revision 218142)
+++ g++.dg/parse/error43.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/31423
 // { dg-options "" }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 class C { public: C* f(); int get(); };
 int f(C* p) { return p->f->get(); }  // { dg-error "forget the
'\\(\\)'|base operand" }
Index: g++.dg/parse/error45.C
===================================================================
--- g++.dg/parse/error45.C    (Revision 218142)
+++ g++.dg/parse/error45.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/51429
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct A
 {
Index: g++.dg/parse/template5.C
===================================================================
--- g++.dg/parse/template5.C    (Revision 218142)
+++ g++.dg/parse/template5.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 // Copyright (C) 2003 Free Software Foundation, Inc.
 // Contributed by Nathan Sidwell 28 Jan 2003 <nathan@codesourcery.com>
Index: g++.dg/pr54442.C
===================================================================
--- g++.dg/pr54442.C    (Revision 218142)
+++ g++.dg/pr54442.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 /* { dg-do compile } */
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct S
 {
Index: g++.dg/rtti/typeid8.C
===================================================================
--- g++.dg/rtti/typeid8.C    (Revision 218142)
+++ g++.dg/rtti/typeid8.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/36405
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 #include <typeinfo>

Index: g++.dg/template/access28.C
===================================================================
--- g++.dg/template/access28.C    (Revision 218142)
+++ g++.dg/template/access28.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/49663
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct Nosm
 {
Index: g++.dg/template/anonunion1.C
===================================================================
--- g++.dg/template/anonunion1.C    (Revision 218142)
+++ g++.dg/template/anonunion1.C    (Arbeitskopie)
@@ -1,7 +1,7 @@ 
 // PR c++/47303
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

-
 struct Z
 {
   void foo (int);
Index: g++.dg/template/conv1.C
===================================================================
--- g++.dg/template/conv1.C    (Revision 218142)
+++ g++.dg/template/conv1.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 // Copyright (C) 2001 Free Software Foundation, Inc.
 // Contributed by Nathan Sidwell 29 Dec 2001 <nathan@codesourcery.com>
Index: g++.dg/template/crash106.C
===================================================================
--- g++.dg/template/crash106.C    (Revision 218142)
+++ g++.dg/template/crash106.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/47974
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 typedef double T;

Index: g++.dg/template/crash112.C
===================================================================
--- g++.dg/template/crash112.C    (Revision 218142)
+++ g++.dg/template/crash112.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/51370
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct A
 {
Index: g++.dg/template/crash37.C
===================================================================
--- g++.dg/template/crash37.C    (Revision 218142)
+++ g++.dg/template/crash37.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/21352
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct coperator_stack
 {
Index: g++.dg/template/crash51.C
===================================================================
--- g++.dg/template/crash51.C    (Revision 218142)
+++ g++.dg/template/crash51.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/26496
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 template< typename _Generator> int generate_n(_Generator __gen);
 struct Distribution { };
Index: g++.dg/template/crash72.C
===================================================================
--- g++.dg/template/crash72.C    (Revision 218142)
+++ g++.dg/template/crash72.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/29225
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 template <typename L, typename R> bool operator< (L x, R y);
 struct T { int t (); };
Index: g++.dg/template/dependent-args1.C
===================================================================
--- g++.dg/template/dependent-args1.C    (Revision 218142)
+++ g++.dg/template/dependent-args1.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // PR c++/27582
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct A
 {
Index: g++.dg/template/dependent-expr5.C
===================================================================
--- g++.dg/template/dependent-expr5.C    (Revision 218142)
+++ g++.dg/template/dependent-expr5.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 // Copyright 2005 Free Software Foundation
 // contributed by Alexandre Oliva <aoliva@redhat.com>
@@ -40,12 +41,12 @@  struct foo {
       bind (&bar::baikt);

       bind (&barf); // { dg-error "no matching function" }
-      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 42 }
+      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 43 }
       bind (&foo::barf); // { dg-error "no matching function" }
-      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 44 }
+      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 45 }

       bindm (&barf); // { dg-error "no matching function" }
-      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 47 }
+      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 48 }
       bindm (&foo::barf);

       bindn (&barf);
@@ -56,12 +57,12 @@  struct foo {


       bind (&bark); // { dg-error "no matching function" }
-      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 58 }
+      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 59 }
       bind (&bar::bark); // { dg-error "no matching function" }
-      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 60 }
+      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 61 }

       bindm (&bark); // { dg-error "no matching function" }
-      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 63 }
+      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 64 }
       bindm (&bar::bark);

       bindn (&bark);
@@ -92,12 +93,12 @@  struct foo {
       bind (&barT::baikt);

       bind (&barf); // { dg-error "no matching function" }
-      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 94 }
+      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 95 }
       bind (&foo::barf); // { dg-error "no matching function" }
-      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 96 }
+      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 97 }

       bindm (&barf); // { dg-error "no matching function" }
-      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 99 }
+      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 100 }
       bindm (&foo::barf);

       bindn (&barf);
@@ -108,12 +109,12 @@  struct foo {


       bind (&bark); // { dg-error "no matching function" }
-      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 110 }
+      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 111 }
       bind (&barT::bark); // { dg-error "no matching function" }
-      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 112 }
+      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 113 }

       bindm (&bark); // { dg-error "no matching function" }
-      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 115 }
+      // { dg-message "(candidate|deduce template parameter)"
"candidate note" { target *-*-* } 116 }
       bindm (&barT::bark);

       bindn (&bark);
Index: g++.dg/template/dtor6.C
===================================================================
--- g++.dg/template/dtor6.C    (Revision 218142)
+++ g++.dg/template/dtor6.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/40139
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 template<int> struct A
 {
Index: g++.dg/template/non-dependent11.C
===================================================================
--- g++.dg/template/non-dependent11.C    (Revision 218142)
+++ g++.dg/template/non-dependent11.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 // Origin: Jakub Jelinek <jakub@gcc.gnu.org>
 //       Wolfgang Bangerth <bangerth@ticam.utexas.edu>
Index: g++.dg/template/non-dependent9.C
===================================================================
--- g++.dg/template/non-dependent9.C    (Revision 218142)
+++ g++.dg/template/non-dependent9.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 // Origin: Giovanni Bajo <giovannibajo@libero.it>

Index: g++.dg/template/overload10.C
===================================================================
--- g++.dg/template/overload10.C    (Revision 218142)
+++ g++.dg/template/overload10.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++40342
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 template <typename T1, typename T2> int f(T1 *, const T2 *); // {
dg-message "" }
 template <typename T1, typename T2> int f(const T1 *, T2 *); // {
dg-message "" }
Index: g++.dg/template/overload5.C
===================================================================
--- g++.dg/template/overload5.C    (Revision 218142)
+++ g++.dg/template/overload5.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/22621
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct foo {
     typedef int (*fun)(int);
Index: g++.dg/template/overload6.C
===================================================================
--- g++.dg/template/overload6.C    (Revision 218142)
+++ g++.dg/template/overload6.C    (Arbeitskopie)
@@ -1,3 +1,4 @@ 
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // Copyright (C) 2005 Free Software Foundation, Inc.
 // Contributed by Nathan Sidwell 12 Oct 2005 <nathan@codesourcery.com>

Index: g++.dg/template/ptrmem20.C
===================================================================
--- g++.dg/template/ptrmem20.C    (Revision 218142)
+++ g++.dg/template/ptrmem20.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/43079
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct A {};

Index: g++.dg/template/ptrmem3.C
===================================================================
--- g++.dg/template/ptrmem3.C    (Revision 218142)
+++ g++.dg/template/ptrmem3.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // Origin: Theo Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 template <typename T,double (T::*fun)() const>
 struct I {
Index: g++.dg/template/ptrmem5.C
===================================================================
--- g++.dg/template/ptrmem5.C    (Revision 218142)
+++ g++.dg/template/ptrmem5.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 // Copyright (C) 2003 Free Software Foundation, Inc.
 // Contributed by Nathan Sidwell 24 Mar 2003 <nathan@codesourcery.com>
Index: g++.dg/template/ptrmem8.C
===================================================================
--- g++.dg/template/ptrmem8.C    (Revision 218142)
+++ g++.dg/template/ptrmem8.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // Origin: <marco dot franzen at bigfoot dot com>
 // PR c++/10126: Handle ptmf default conversions while matching a template
 //  argument
@@ -16,9 +17,9 @@  template <int (D::*fun)() const> int Get(); // { d
 int main ()
 {
   Get<&B::I>();   // { dg-error "not a valid template argument" "not valid" }
-  // { dg-error "no match" "no match" { target *-*-* } 18 }
-  // { dg-message "note" "note" { target *-*-* } 18 }
+  // { dg-error "no match" "no match" { target *-*-* } 19 }
+  // { dg-message "note" "note" { target *-*-* } 19 }
   Get<&D::I>();   // { dg-error "not a valid template argument" "not valid" }
-  // { dg-error "no match" "no match" { target *-*-* } 21 }
-  // { dg-message "note" "note" { target *-*-* } 21 }
+  // { dg-error "no match" "no match" { target *-*-* } 22 }
+  // { dg-message "note" "note" { target *-*-* } 22 }
 }
Index: g++.dg/template/sfinae26.C
===================================================================
--- g++.dg/template/sfinae26.C    (Revision 218142)
+++ g++.dg/template/sfinae26.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // Origin: PR c++/46170
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 namespace util {
   struct option_value {
Index: g++.dg/template/template-id-4.C
===================================================================
--- g++.dg/template/template-id-4.C    (Revision 218142)
+++ g++.dg/template/template-id-4.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // PR c++/48157
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 struct AType
 {
Index: g++.dg/torture/pr58252.C
===================================================================
--- g++.dg/torture/pr58252.C    (Revision 218142)
+++ g++.dg/torture/pr58252.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // { dg-do compile }
 // { dg-options "-fpermissive" }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 typedef long unsigned int size_t;
        typedef bool _CORBA_Boolean;
          typedef unsigned int _CORBA_ULong;
Index: g++.dg/torture/pr58555.C
===================================================================
--- g++.dg/torture/pr58555.C    (Revision 218142)
+++ g++.dg/torture/pr58555.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 /* { dg-do compile } */
+/* { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } } */
 template <typename _Tp> _Tp *__addressof(_Tp &) {}
 template <typename _Tp> class A {
 public:
Index: g++.dg/warn/Wconversion-pr34389.C
===================================================================
--- g++.dg/warn/Wconversion-pr34389.C    (Revision 218142)
+++ g++.dg/warn/Wconversion-pr34389.C    (Arbeitskopie)
@@ -2,6 +2,7 @@ 
 /* { dg-do compile } */
 /* { dg-options "-Wconversion -Wsign-conversion" } */
 /* { dg-require-effective-target int32plus } */
+/* { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } } */
 short  mask1(short x)
 {
   short y = 0x7fff;
Index: g++.dg/warn/changes-meaning.C
===================================================================
--- g++.dg/warn/changes-meaning.C    (Revision 218142)
+++ g++.dg/warn/changes-meaning.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-options "-fpermissive" } */
+/* { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } } */

 template <class _Tp> class auto_ptr {};  /* { dg-warning "changes meaning" } */
 template <class _Tp>
Index: g++.dg/warn/multiple-overflow-warn-1.C
===================================================================
--- g++.dg/warn/multiple-overflow-warn-1.C    (Revision 218142)
+++ g++.dg/warn/multiple-overflow-warn-1.C    (Arbeitskopie)
@@ -1,6 +1,7 @@ 
 /* PR c/19978 : Test for duplicated warnings (unary operators).  */
 /* { dg-do compile } */
 /* { dg-options "-Woverflow -ftrack-macro-expansion=0" } */
+/* { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } } */

 #include <limits.h>

@@ -8,6 +9,6 @@  int
 g (void)
 {
   return - - - - -INT_MIN; /* { dg-bogus "integer overflow in
expression.*integer overflow in expression" } */
-  /* { dg-warning "integer overflow in expression" "" { target *-*-* } 10 } */
+  /* { dg-warning "integer overflow in expression" "" { target *-*-* } 11 } */
 }

Index: g++.dg/warn/multiple-overflow-warn-3.C
===================================================================
--- g++.dg/warn/multiple-overflow-warn-3.C    (Revision 218142)
+++ g++.dg/warn/multiple-overflow-warn-3.C    (Arbeitskopie)
@@ -1,12 +1,13 @@ 
 /* PR 30465 : Test for duplicated warnings in a conversion.  */
 /* { dg-do compile } */
 /* { dg-options "-Woverflow" } */
+/* { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } } */

 short int
 g (void)
 {
   short int wc = ((short int)1 << 31) - 1; /* { dg-bogus "overflow .*
overflow" } */
-  /* { dg-warning "overflow" "" { target *-*-* } 8 } */
+  /* { dg-warning "overflow" "" { target *-*-* } 9 } */
   return wc;
 }

Index: g++.dg/warn/overflow-warn-1.C
===================================================================
--- g++.dg/warn/overflow-warn-1.C    (Revision 218142)
+++ g++.dg/warn/overflow-warn-1.C    (Arbeitskopie)
@@ -2,7 +2,7 @@ 
 /* Origin: Joseph Myers <joseph@codesourcery.com> */
 /* { dg-do compile } */
 /* { dg-options "-fpermissive" } */
-
+/* { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } } */
 #include <limits.h>

 enum e {
Index: g++.dg/warn/overflow-warn-3.C
===================================================================
--- g++.dg/warn/overflow-warn-3.C    (Revision 218142)
+++ g++.dg/warn/overflow-warn-3.C    (Arbeitskopie)
@@ -2,7 +2,7 @@ 
 /* Origin: Joseph Myers <joseph@codesourcery.com> */
 /* { dg-do compile } */
 /* { dg-options "-fpermissive -pedantic" } */
-
+/* { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } } */
 #include <limits.h>

 enum e {
Index: g++.dg/warn/overflow-warn-4.C
===================================================================
--- g++.dg/warn/overflow-warn-4.C    (Revision 218142)
+++ g++.dg/warn/overflow-warn-4.C    (Arbeitskopie)
@@ -2,7 +2,7 @@ 
 /* Origin: Joseph Myers <joseph@codesourcery.com> */
 /* { dg-do compile } */
 /* { dg-options "-pedantic-errors" } */
-
+/* { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } } */
 #include <limits.h>

 enum e {
Index: g++.dg/warn/pmf1.C
===================================================================
--- g++.dg/warn/pmf1.C    (Revision 218142)
+++ g++.dg/warn/pmf1.C    (Arbeitskopie)
@@ -1,5 +1,5 @@ 
 // { dg-do compile }
-
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // Origin: benko@sztaki.hu

 // PR c++/10496: Incorrect pointer to member function diagnostics
Index: g++.dg/warn/skip-1.C
===================================================================
--- g++.dg/warn/skip-1.C    (Revision 218142)
+++ g++.dg/warn/skip-1.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // { dg-do compile }
 // { dg-options "-Wall" }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 // Check that we don't warn about code that will not be executed.
 extern int f2(int);
Index: g++.dg/warn/skip-2.C
===================================================================
--- g++.dg/warn/skip-2.C    (Revision 218142)
+++ g++.dg/warn/skip-2.C    (Arbeitskopie)
@@ -1,6 +1,6 @@ 
 // { dg-do compile }
 // { dg-options "-Wall" }
-
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 extern int f2(int);
 extern void f3();
 void
Index: g++.old-deja/g++.benjamin/13908.C
===================================================================
--- g++.old-deja/g++.benjamin/13908.C    (Revision 218142)
+++ g++.old-deja/g++.benjamin/13908.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } }
 // 981203 bkoz
 // g++/13908

Index: g++.old-deja/g++.brendan/arm3.C
===================================================================
--- g++.old-deja/g++.brendan/arm3.C    (Revision 218142)
+++ g++.old-deja/g++.brendan/arm3.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } }
 // GROUPS passed initialization
 // ARM $11.4: A function first declared in a friend decl is equivalent
 // to an extern decl, so the below is illegal.
Index: g++.old-deja/g++.brendan/operators4.C
===================================================================
--- g++.old-deja/g++.brendan/operators4.C    (Revision 218142)
+++ g++.old-deja/g++.brendan/operators4.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // { dg-do assemble  }
 // { dg-options "" }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 // GROUPS passed operators
 // Check that the & operator, when applied to a global function
Index: g++.old-deja/g++.brendan/prepost1.C
===================================================================
--- g++.old-deja/g++.brendan/prepost1.C    (Revision 218142)
+++ g++.old-deja/g++.brendan/prepost1.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } }
 // GROUPS passed prefix-postfix
 class foo {
 public:
Index: g++.old-deja/g++.brendan/prepost2.C
===================================================================
--- g++.old-deja/g++.brendan/prepost2.C    (Revision 218142)
+++ g++.old-deja/g++.brendan/prepost2.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } }
 // GROUPS passed initialization
 class foo {
 public:
Index: g++.old-deja/g++.brendan/ptrmem4.C
===================================================================
--- g++.old-deja/g++.brendan/ptrmem4.C    (Revision 218142)
+++ g++.old-deja/g++.brendan/ptrmem4.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // GROUPS passed pointers-to-members
 class X   {
  private:
Index: g++.old-deja/g++.bugs/900213_03.C
===================================================================
--- g++.old-deja/g++.bugs/900213_03.C    (Revision 218142)
+++ g++.old-deja/g++.bugs/900213_03.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // g++ 1.36.1 bug 900213_03

 // g++ fails to detect an error when the address of a "bound" function is
Index: g++.old-deja/g++.bugs/900220_01.C
===================================================================
--- g++.old-deja/g++.bugs/900220_01.C    (Revision 218142)
+++ g++.old-deja/g++.bugs/900220_01.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do run  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // g++ 1.36.1 bug 900220_01

 // Ref: 12.8
Index: g++.old-deja/g++.jason/member.C
===================================================================
--- g++.old-deja/g++.jason/member.C    (Revision 218142)
+++ g++.old-deja/g++.jason/member.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // GROUPS passed member-pointers error-reporting
 struct Y
 {
Index: g++.old-deja/g++.jason/pmf2.C
===================================================================
--- g++.old-deja/g++.jason/pmf2.C    (Revision 218142)
+++ g++.old-deja/g++.jason/pmf2.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // PRMS Id: 4484 (bug 3)
 // Bug: g++ does implicitly take the address of methods passed to fns.

Index: g++.old-deja/g++.jason/pmf5.C
===================================================================
--- g++.old-deja/g++.jason/pmf5.C    (Revision 218142)
+++ g++.old-deja/g++.jason/pmf5.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // { dg-do assemble  }
 // { dg-options "" }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // PRMS Id: 4985

 struct Thing {
@@ -16,4 +17,4 @@  static ThingEntry KeyWordTable[] = {
         &Thing::FunctionA,
         Thing::OverloadFn,
 };                // { dg-error "assuming" "assuming" } implicit &
-// { dg-message "note" "note" { target *-*-* } 18 }
+// { dg-message "note" "note" { target *-*-* } 19 }
Index: g++.old-deja/g++.jason/pmf6.C
===================================================================
--- g++.old-deja/g++.jason/pmf6.C    (Revision 218142)
+++ g++.old-deja/g++.jason/pmf6.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // PRMS Id: 5656
 // Bug: g++ tries (which is a bug) and fails (which is a bug) to initialize
 // var at runtime.
Index: g++.old-deja/g++.jason/scoping8.C
===================================================================
--- g++.old-deja/g++.jason/scoping8.C    (Revision 218142)
+++ g++.old-deja/g++.jason/scoping8.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // Bug: g++ allows two different meanings of a name in the same scope.

 typedef int foo;        // { dg-error "" }
Index: g++.old-deja/g++.jason/synth7.C
===================================================================
--- g++.old-deja/g++.jason/synth7.C    (Revision 218142)
+++ g++.old-deja/g++.jason/synth7.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do run  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // Testcase to make sure that synthesized methods are found when needed.

 struct B { ~B() { } };
Index: g++.old-deja/g++.jason/typeid1.C
===================================================================
--- g++.old-deja/g++.jason/typeid1.C    (Revision 218142)
+++ g++.old-deja/g++.jason/typeid1.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do compile }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 #include <typeinfo>
 #include <iostream>

Index: g++.old-deja/g++.law/arm16.C
===================================================================
--- g++.old-deja/g++.law/arm16.C    (Revision 218142)
+++ g++.old-deja/g++.law/arm16.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // { dg-do assemble  }
 // { dg-options "-ansi -Wall -pedantic" }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // GROUPS passed ARM-compliance
 // arm file
 // From: Olaf.Weber@cwi.nl
Index: g++.old-deja/g++.law/nest1.C
===================================================================
--- g++.old-deja/g++.law/nest1.C    (Revision 218142)
+++ g++.old-deja/g++.law/nest1.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } }
 // GROUPS passed nest
 // nest file
 // From: gs4t@virginia.edu (Gnanasekaran  Swaminathan)
Index: g++.old-deja/g++.law/operators9.C
===================================================================
--- g++.old-deja/g++.law/operators9.C    (Revision 218142)
+++ g++.old-deja/g++.law/operators9.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // GROUPS passed operators
 // opr-eq file
 // Message-Id: <9301141514.AA05925@mi.el.utwente.nl>
@@ -10,7 +11,7 @@  class B
 {
 public:
       operator=(B &); // { dg-error "no type" }
-      // { dg-message "B::operator=|no known conversion" "note" {
target *-*-* } 12 }
+      // { dg-message "B::operator=|no known conversion" "note" {
target *-*-* } 13 }
 };

 void
Index: g++.old-deja/g++.mike/net31.C
===================================================================
--- g++.old-deja/g++.mike/net31.C    (Revision 218142)
+++ g++.old-deja/g++.mike/net31.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 class foo_a {
   protected:
Index: g++.old-deja/g++.mike/net36.C
===================================================================
--- g++.old-deja/g++.mike/net36.C    (Revision 218142)
+++ g++.old-deja/g++.mike/net36.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 class X;

Index: g++.old-deja/g++.mike/p11110.C
===================================================================
--- g++.old-deja/g++.mike/p11110.C    (Revision 218142)
+++ g++.old-deja/g++.mike/p11110.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // prms-id: 11110

 class data;
Index: g++.old-deja/g++.mike/p646.C
===================================================================
--- g++.old-deja/g++.mike/p646.C    (Revision 218142)
+++ g++.old-deja/g++.mike/p646.C    (Arbeitskopie)
@@ -1,5 +1,6 @@ 
 // { dg-do assemble  }
 // { dg-options "-Wno-deprecated -Wreturn-type" }
+// { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } }
 // GROUPS passed i960
 /*
   Bug Id: bnr
Index: g++.old-deja/g++.mike/pmf3.C
===================================================================
--- g++.old-deja/g++.mike/pmf3.C    (Revision 218142)
+++ g++.old-deja/g++.mike/pmf3.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 struct Fooey {
   void f(char* pX);
   void f(int in);
Index: g++.old-deja/g++.oliva/overload1.C
===================================================================
--- g++.old-deja/g++.oliva/overload1.C    (Revision 218142)
+++ g++.old-deja/g++.oliva/overload1.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 // Copyright (C) 1999 Free Software Foundation

@@ -14,7 +15,7 @@  struct foo {
    -pedantic, even in bad1.  */
 int (*ok1)() = foo::bar;
 void (foo::*bad1)(int) = foo::bar; // { dg-error "assuming pointer" }
-// { dg-message "note" "note" { target *-*-* } 16 }
+// { dg-message "note" "note" { target *-*-* } 17 }

 int (*ok2)() = &foo::bar; // ok
 void (*bad2)(int) = foo::bar; // { dg-error "no matches" }
Index: g++.old-deja/g++.other/decl6.C
===================================================================
--- g++.old-deja/g++.other/decl6.C    (Revision 218142)
+++ g++.old-deja/g++.other/decl6.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 //
 // Copyright (C) 1999 Free Software Foundation, Inc.
 // Contributed by Nathan Sidwell 27 Sep 1999 <nathan@acm.org>
Index: g++.old-deja/g++.other/lookup4.C
===================================================================
--- g++.old-deja/g++.other/lookup4.C    (Revision 218142)
+++ g++.old-deja/g++.other/lookup4.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do run  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // Test for proper handling of references to overloaded member functions.

 struct A {
Index: g++.old-deja/g++.other/overload1.C
===================================================================
--- g++.old-deja/g++.other/overload1.C    (Revision 218142)
+++ g++.old-deja/g++.other/overload1.C    (Arbeitskopie)
@@ -1,4 +1,6 @@ 
 // { dg-do run  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
+
 struct A {
   A operator+ (int) const { return *this; }
 };
Index: g++.old-deja/g++.other/overload8.C
===================================================================
--- g++.old-deja/g++.other/overload8.C    (Revision 218142)
+++ g++.old-deja/g++.other/overload8.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do run  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 class a {
 public:
   int f()        { return 0; }
Index: g++.old-deja/g++.other/pmf2.C
===================================================================
--- g++.old-deja/g++.other/pmf2.C    (Revision 218142)
+++ g++.old-deja/g++.other/pmf2.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 // submitted by David C Binderman <dcb@pncl.co.uk>

Index: g++.old-deja/g++.other/pmf3.C
===================================================================
--- g++.old-deja/g++.other/pmf3.C    (Revision 218142)
+++ g++.old-deja/g++.other/pmf3.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // Submitted by Nathan Sidwell <nathan@acm.org>
 // Bug: g++ was crashing after giving errors.

Index: g++.old-deja/g++.other/pmf7.C
===================================================================
--- g++.old-deja/g++.other/pmf7.C    (Revision 218142)
+++ g++.old-deja/g++.other/pmf7.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // Test for proper diagnostics on trying to take the address of a non-static
 // member function.

Index: g++.old-deja/g++.other/ptrmem7.C
===================================================================
--- g++.old-deja/g++.other/ptrmem7.C    (Revision 218142)
+++ g++.old-deja/g++.other/ptrmem7.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 //
 // Copyright (C) 2000 Free Software Foundation, Inc.
 // Contributed by Nathan Sidwell 14 Aug 2000 <nathan@codesourcery.com>
@@ -21,7 +22,7 @@  void A::foo ()
 {
   int (A::*ptr1) (int) = &A::ns;
   int (A::*ptr2) (int) = A::ns;           // { dg-error "pointer to
member" "err" }
-  // { dg-message "pointer to member" "note" { target *-*-* } 23 }
+  // { dg-message "pointer to member" "note" { target *-*-* } 24 }
   int (A::*ptr3) (int) = &ns;             // { dg-error "pointer to
member" "err" }
   int (A::*ptr4) (int) = ns;              // { dg-error "pointer to
member" "err" }

Index: g++.old-deja/g++.pt/crash18.C
===================================================================
--- g++.old-deja/g++.pt/crash18.C    (Revision 218142)
+++ g++.old-deja/g++.pt/crash18.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do link  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 template<class T>
 class foo {
Index: g++.old-deja/g++.pt/crash57.C
===================================================================
--- g++.old-deja/g++.pt/crash57.C    (Revision 218142)
+++ g++.old-deja/g++.pt/crash57.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 //
 // Copyright (C) 2000 Free Software Foundation, Inc.
 // Contributed by Nathan Sidwell 11 Aug 2000 <nathan@codesourcery.com>
Index: g++.old-deja/g++.pt/memtemp94.C
===================================================================
--- g++.old-deja/g++.pt/memtemp94.C    (Revision 218142)
+++ g++.old-deja/g++.pt/memtemp94.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // Origin: Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>

 struct H {
Index: g++.old-deja/g++.pt/overload10.C
===================================================================
--- g++.old-deja/g++.pt/overload10.C    (Revision 218142)
+++ g++.old-deja/g++.pt/overload10.C    (Arbeitskopie)
@@ -1,4 +1,6 @@ 
 // { dg-do run  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
+
 struct B {
   int f(int) { return 1; }
 };
Index: g++.old-deja/g++.pt/ptrmem1.C
===================================================================
--- g++.old-deja/g++.pt/ptrmem1.C    (Revision 218142)
+++ g++.old-deja/g++.pt/ptrmem1.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do run  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 class foo
 {
 public:
Index: g++.old-deja/g++.pt/ptrmem10.C
===================================================================
--- g++.old-deja/g++.pt/ptrmem10.C    (Revision 218142)
+++ g++.old-deja/g++.pt/ptrmem10.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 //
 // Copyright (C) 2000 Free Software Foundation, Inc.
 // Contributed by Nathan Sidwell 14 Aug 2000 <nathan@codesourcery.com>
Index: g++.old-deja/g++.pt/ptrmem4.C
===================================================================
--- g++.old-deja/g++.pt/ptrmem4.C    (Revision 218142)
+++ g++.old-deja/g++.pt/ptrmem4.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do link  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 template<class T,class T1>
 int connect_to_method(T* receiver,
Index: g++.old-deja/g++.robertl/eb131.C
===================================================================
--- g++.old-deja/g++.robertl/eb131.C    (Revision 218142)
+++ g++.old-deja/g++.robertl/eb131.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions -pedantic" { target
*-*-mingw* } }
 // From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
 // Reported against EGCS snaps 98/06/18.

Index: g++.old-deja/g++.robertl/eb8.C
===================================================================
--- g++.old-deja/g++.robertl/eb8.C    (Revision 218142)
+++ g++.old-deja/g++.robertl/eb8.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }

 class foo {
 public:
Index: g++.old-deja/g++.robertl/ice990323-5.C
===================================================================
--- g++.old-deja/g++.robertl/ice990323-5.C    (Revision 218142)
+++ g++.old-deja/g++.robertl/ice990323-5.C    (Arbeitskopie)
@@ -1,4 +1,5 @@ 
 // { dg-do assemble  }
+// { dg-additional-options "-fno-ms-extensions" { target *-*-mingw* } }
 // check attempting to throw an overloaded function

 struct A {