[foreign] RFR 8217784: Ignore anonymous bitfields so they are handled as padding

Jorn Vernee jbvernee at xs4all.nl
Fri Jan 25 19:18:19 UTC 2019


Good catch. I kinda glossed over unions since I thought there would be 
no point in having anonymous bitfields in a union, since there is no 
need for padding - but on second thought, these could be used to 
manually widen the type. Any ways, the compiler seems to allow anonymous 
bitfields in unions, so it's good to support that as well.

Updated webrev: 
http://cr.openjdk.java.net/~jvernee/panama/webrevs/8217784/webrev.01/

Jorn

Maurizio Cimadamore schreef op 2019-01-25 19:25:
> Looks good - but what happens with unions? I'm worried we'd get a
> similar failure there...
> 
> Maurizio
> 
> On 25/01/2019 13:52, Jorn Vernee wrote:
>> Hi,
>> 
>> From the bug description:
>> 
>> Jextract fails on the following example:
>> 
>> ```
>> struct Foo {
>>     unsigned int x: 1;
>>     int :7;
>>     unsigned int y: 8;
>>     int :16;
>>     int z;
>> };
>> ```
>> 
>> The current code tries to look up the second field, but because it has 
>> no name this throws an illegal field name error.
>> 
>> ---
>> 
>> I've fixed this by ignoring anonymous bitfields, since the 
>> StructLayoutComputer inserts padding automatically before the next 
>> field.
>> 
>> Please review the following.
>> 
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8217784
>> Webrev: 
>> http://cr.openjdk.java.net/~jvernee/panama/webrevs/8217784/webrev.00/
>> 
>> Thanks,
>> Jorn


More information about the panama-dev mailing list