[foreign-jextract] No code generated for structs inside union
sundararajan.athijegannathan at oracle.com
sundararajan.athijegannathan at oracle.com
Thu Aug 6 14:41:57 UTC 2020
Filed: https://bugs.openjdk.java.net/browse/JDK-8251256
-Sundar
On 06/08/20 7:57 pm, Maurizio Cimadamore wrote:
>
> On 06/08/2020 14:25, Filip Krakowski wrote:
>> Hi,
>>
>> it seems that jextract does not generate code for structs declared
>> within unions. Tested with "ibv_send_wr" shown on the following man
>> page.
>>
>> https://linux.die.net/man/3/ibv_post_send
>>
>> Although it is possible to get a MemorySegment for "wr", it's rather
>> difficult to work with it without having its corresponding
>> MemoryLayout. In this case it is relatively important to access the
>> fields of the structs in the union, as these describe how an
>> operation is to be executed.
>
> Yeah - this seems a bug.
>
> It's not just unions - even nested structs are not handled correctly:
>
> struct Foo {
> struct {
> int x;
> int y;
> } field;
> };
>
> Here there's just a getter/setter for "field". Seems like jextract
> does not recurse on nested structs/unions.
>
> Ideally we should have bulk getter/setters (e.g. "field"), as well as
> dedicated field getter setters (e.g. "field.x"), either in same Foo
> interface, or in separate interfaces.
>
> Maurizio
>
>>
>> Best regards,
>> Filip
More information about the panama-dev
mailing list