diff mbox

[testsuite,g++.dg] : Reflect ABI change for windows native targets about bitfield layout in structures

Message ID CAEwic4YZadO8CecMUYO7+GQhripJPt6pJrQFo2vVTzdMpN+NMQ@mail.gmail.com
State New
Headers show

Commit Message

Kai Tietz Dec. 16, 2011, 9:01 a.m. UTC
2011/12/15 Dave Korn <dave.korn.cygwin@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


 {

Comments

Dave Korn Dec. 16, 2011, 5:56 p.m. UTC | #1
On 16/12/2011 09:01, Kai Tietz wrote:
> 2011/12/15 Dave Korn:

>> { 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?

  Yes, that's what I was concerned with.

> So I modified patch as attached.

  Thanks for that.  I recommend this patch for approval.

    cheers,
      DaveK
Kai Tietz Dec. 28, 2011, 6:56 a.m. UTC | #2
Ping

2011/12/16 Dave Korn <dave.korn.cygwin@gmail.com>:
> On 16/12/2011 09:01, Kai Tietz wrote:
>> 2011/12/15 Dave Korn:
>
>>> { 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?
>
>  Yes, that's what I was concerned with.
>
>> So I modified patch as attached.
>
>  Thanks for that.  I recommend this patch for approval.
>
>    cheers,
>      DaveK
>
Mike Stump Dec. 28, 2011, 7:20 p.m. UTC | #3
On Dec 16, 2011, at 9:56 AM, Dave Korn <dave.korn.cygwin@gmail.com> wrote:

> On 16/12/2011 09:01, Kai Tietz wrote:
>> 2011/12/15 Dave Korn:
> 
>>> { 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?
> 
>  Yes, that's what I was concerned with.
> 
>> So I modified patch as attached.
> 
>  Thanks for that.  I recommend this patch for approval.

Ok.
diff mbox

Patch

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