bitfields support in jextract
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Tue Jul 3 09:59:44 UTC 2018
On 03/07/18 04:09, Samuel Audet wrote:
> On 07/02/2018 06:25 PM, Maurizio Cimadamore wrote:
>> I've checked the compatibility link last week - and also found
>> nothing relevant.
>>
>> I know that bitfield layout is impl specific (the C language spec, I
>> checked say nothing about that - just that there's some storage unit
>> of some kind).
>>
>> That said, I'm using the offsets returned by the clang API to add
>> bitfields support. As long as clang in Windows does the sensible
>> thing - e.g. be compatible with MSC - and I have not seen any proof
>> pointing at the opposite direction, we should be ok, I think.
>
> You're right, it looks like since GCC 4.7 it (and by extension Clang)
> uses by default the same packing algorithm as MSVC when targeting
> Windows:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52991
>
> So we can probably handle the differences between platforms when it
> comes to bit fields in the same way as for other types (mainly "long"
> being 32-bit on Windows vs 64-bit on pretty much any other OS).
> Although, this still doesn't work for C++ in general...
>
>> As for your claim on scope, this is (i) not the right mailing list
>> where to raise such concerns (you should use the panama-spec-experts
>> alias),
>
> I've tried twice now to subscribe, but confirmation returns an error.
> Says the cause should be in the log on your side somewhere.
I will investigate
Maurizio
>
>> and (ii) you seem to keep forgetting that our current incarnation of
>> jextract is deliberately that of a tool that is built on whatever
>> support clang has to offer. The start of the show is not jextract,
>> it's the binder - nothing prevents us (or the community) to have a
>> different jextract on windows that is based on MSVC (the work carried
>> out around project Roselyn few years ago might help in that direction?).
>
> Yes, that is also what I'm guessing Panama is all about from our
> previous exchanges, but that's not clear from what's written at say
> http://cr.openjdk.java.net/~mcimadamore/panama/panama-binder-v3.html
> People I talk to also do not get the impression that jextract is
> supposed to be just a "demo", and that Panama is somehow already
> supporting all of C++ for all platforms and all compilers in some
> secret project inside Oracle... :)
>
>> If your broader point is that we should verify what's the
>> compatibility status w.r.t. MSVC with any of the features we have
>> added to jextract (not just bitfields) - yes, that's something that
>> has occurred to us.
>
> Yes, that's a good idea, but I see that you've already been thinking
> about that. Thanks for clarifying!
>
> Samuel
More information about the panama-dev
mailing list