2011/12/15 Dave Korn <dave.korn.cyg...@gmail.com>: > On 15/12/2011 10:33, Kai Tietz wrote: > >> -// { dg-options "-mno-align-double" { target i?86-*-cygwin* i?86-*-mingw* } >> } >> +// As for mingw target the the ms-bitfield switch is activated by default, >> +// make sure for this test that it is disabled. >> +// { dg-options "-mno-align-double -mno-ms-bitfields" { target >> i?86-*-cygwin* i >> ?86-*-mingw* } } > > We don't use ms-bitfields on Cygwin, so I guess it wouldn't be expected to > do any harm anyway, but rather than setting the same options for both wouldn't > it be possible to do:
Yes, I added it to this clause as the switch -mno-ms-bitfields is present for i?86-*-cygwin target too, and shouldn't cause here any harm. But I admit that the additional option itself is superflous for cygwin, but not for mingw. > { dg-options "-mno-align-double" { target i?86-*-cygwin* i?86-*-mingw* } } > { dg-additional-options "-mno-ms-bitfields" { target i?86-*-mingw* } } > > ... so that MinGW gets both and Cygwin only the one it wants? (Actually the > first one could just as well be changed to dg-additional-options at the same > time, couldn't it?) Well, interesting. I think it should be the additional variant for cygwin/mingw, as otherwise -O2 gets clobbered for it, isn't it? So I modified patch as attached. Cheers, Kai Index: bitfield3.C =================================================================== --- bitfield3.C (revision 182092) +++ bitfield3.C (working copy) @@ -1,9 +1,12 @@ // Test for oversized bitfield alignment in structs on IA-32 // { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } // { dg-options "-O2" } -// Cygwin and mingw32 default to MASK_ALIGN_DOUBLE. Override to ensure +// Cygwin and mingw default to MASK_ALIGN_DOUBLE. Override to ensure // 4-byte alignment. -// { dg-options "-mno-align-double" { target i?86-*-cygwin* i?86-*-mingw* } } +// { dg-additional-options "-mno-align-double" { target i?86-*-cygwin* i?86-*-m ingw* } } +// As for mingw target the the ms-bitfield switch is activated by default, +// make sure for this test that it is disabled. +// { dg-additional-options "-mno-ms-bitfields" { target i?86-*-mingw* } } struct A {