Message ID | CAEwic4Y11R1_4+BmEBbEQbRLLrssQKAQyXhOQESwuz5nf=ubnw@mail.gmail.com |
---|---|
State | New |
Headers | show |
Hi Kai, > this patch skips some test, which are trying to test non-existing > weak-variant for mingw-targets. why is this necessary when most (all?) of those tests already have dg-require-weak? If there's some property of weak variables that PE-COFF lacks, I'd rather have a new effective-target keyword that tests for this. Rainer
2014-11-28 12:21 GMT+01:00 Rainer Orth <ro@cebitec.uni-bielefeld.de>: > Hi Kai, > >> this patch skips some test, which are trying to test non-existing >> weak-variant for mingw-targets. > > why is this necessary when most (all?) of those tests already have > dg-require-weak? If there's some property of weak variables that > PE-COFF lacks, I'd rather have a new effective-target keyword that tests > for this. > > Rainer As pe-coff indeed has some weak support in linker, but not that expected by those tests. So in general it would be wrong to disable weak completely, nevertheless are those tests not working for pe-coff mingw targets. Kai
Hi Kai, > 2014-11-28 12:21 GMT+01:00 Rainer Orth <ro@cebitec.uni-bielefeld.de>: >> Hi Kai, >> >>> this patch skips some test, which are trying to test non-existing >>> weak-variant for mingw-targets. >> >> why is this necessary when most (all?) of those tests already have >> dg-require-weak? If there's some property of weak variables that >> PE-COFF lacks, I'd rather have a new effective-target keyword that tests >> for this. >> >> Rainer > > As pe-coff indeed has some weak support in linker, but not that > expected by those tests. So in general it would be wrong to disable > weak completely, nevertheless are those tests not working for pe-coff > mingw targets. that's not at all what I'm saying: I'm asking for a *new, different* effective-target keyword capturing what those tests require, but PE-COFF/mingw is missing. Rainer
Index: g++.dg/abi/anon2.C =================================================================== --- g++.dg/abi/anon2.C (Revision 218142) +++ g++.dg/abi/anon2.C (Arbeitskopie) @@ -1,5 +1,6 @@ // PR c++/55877 // { dg-require-weak "" } +// { dg-skip-if "requires unsupported weak in pe-coff" { *-*-mingw* } } namespace N1 { typedef struct { Index: g++.dg/abi/rtti1.C =================================================================== --- g++.dg/abi/rtti1.C (Revision 218142) +++ g++.dg/abi/rtti1.C (Arbeitskopie) @@ -1,3 +1,4 @@ +// { dg-skip-if "unsupported for pe-coff" { *-*-mingw* } } // Test that we don't emit the type_info for a polymorphic class other than // with the vtable. Index: g++.dg/abi/thunk5.C =================================================================== --- g++.dg/abi/thunk5.C (Revision 218142) +++ g++.dg/abi/thunk5.C (Arbeitskopie) @@ -1,6 +1,7 @@ // PR c++/35067 // The thunks should be weak even on targets without one-only support. // { dg-require-weak "" } +// { dg-skip-if "requires unsupported weak in pe-coff" { *-*-mingw* } } // { dg-final { scan-assembler "weak.*ZTv" } } struct A Index: g++.dg/abi/anon3.C =================================================================== --- g++.dg/abi/anon3.C (Revision 218142) +++ g++.dg/abi/anon3.C (Arbeitskopie) @@ -1,4 +1,5 @@ // { dg-require-weak "" } +// { dg-skip-if "requires unsupported weak in pe-coff" { *-*-mingw* } } typedef struct { // { dg-final { scan-assembler ".weak\(_definition\)?\[