[foreign-jextract] [Rev 01] RFR: 8238316: jextract emits a C_BOOL when source says char

Athijegannathan Sundararajan sundar at openjdk.java.net
Fri Feb 21 17:02:43 UTC 2020


On Fri, 21 Feb 2020 15:43:43 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:

>> The pull request has been updated with 1 additional commit.
> 
> test/jdk/tools/jextract/testStruct/LibStructTest.java line 90:
> 
>> 89:          }
>> 90:          assertEquals(fieldCount, 10);
>> 91:     }
> 
> You could shorten this a bit using `MemoryLayout::select`:
> 
> private static void checkFieldABIType(GroupLayout group, String fieldName, SystemABI.Type expected) {
>     assertEquals(group.select(groupElement(fieldName)).abiType().orElseThrow(), expected);
> }
> 
> @Test
> public void testFieldTypes() {
>     GroupLayout g = (GroupLayout)AllTypes$LAYOUT;
>     checkFieldABIType(g, "sc",  Type.SIGNED_CHAR);
>     checkFieldABIType(g, "uc",  Type.UNSIGNED_CHAR);
>     checkFieldABIType(g, "s",   Type.SHORT);
>     checkFieldABIType(g, "us",  Type.UNSIGNED_SHORT);
>     checkFieldABIType(g, "i",   Type.INT);
>     checkFieldABIType(g, "ui",  Type.UNSIGNED_INT);
>     checkFieldABIType(g, "l",   Type.LONG);
>     checkFieldABIType(g, "ul",  Type.UNSIGNED_LONG);
>     checkFieldABIType(g, "ll",  Type.LONG_LONG);
>     checkFieldABIType(g, "ull", Type.UNSIGNED_LONG_LONG);
> }

Thanks. Will incorporate this (along with additional field test for "long double")

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/25


More information about the panama-dev mailing list