[foreign] RFR 8221471: jextract source genarator generates non-compilable classes with naming clashes
Jorn Vernee
jbvernee at xs4all.nl
Wed Apr 10 12:48:52 UTC 2019
All good!
Jorn
Sundararajan Athijegannathan schreef op 2019-04-10 14:11:
> Updated again for the Linux test failure (private email):
> https://cr.openjdk.java.net/~sundar/8221471/webrev.04/
>
> Only incremental change is in
>
> https://cr.openjdk.java.net/~sundar/8221471/webrev.04/test/jdk/com/sun/tools/jextract/test8221838/StructTypedefsTest.java.sdiff.html
>
> Library name changed to "Structtypedefs"
>
> Please review.
>
> -Sundar
>
> On 10/04/19, 3:00 PM, Maurizio Cimadamore wrote:
>> Looks good
>>
>> Maurizio
>>
>> On 10/04/2019 04:01, Sundararajan Athijegannathan wrote:
>>> Thanks for catching these...
>>>
>>> Updated webrev:
>>> https://cr.openjdk.java.net/~sundar/8221471/webrev.03/index.html
>>>
>>> Responses to your review comments/test observations below..
>>>
>>>
>>> On 09/04/19, 11:07 PM, Jorn Vernee wrote:
>>>> Windows has some failures, seemingly from to va_list patch.
>>>>
>>>> 1.) small typo in IncompleArrayTest (for the Windows-only case):
>>>>
>>>> -
>>>> assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3i.h")));
>>>> +
>>>> assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3.h")));
>>>
>>>
>>> The va_list patch does not seem to have touched this file.
>>>
>>> https://mail.openjdk.java.net/pipermail/panama-dev/2019-April/005125.html
>>> Damage has been done by even earlier patch!
>>>
>>> https://mail.openjdk.java.net/pipermail/panama-dev/2019-March/005076.html
>>> My mistake! I should have all "all platforms" tests. Thanks for
>>> catching this.
>>>
>>>>
>>>> 2.) ValistUseTest itself fails. It looks like the builtin$.h header
>>>> is missing from src/jdk.jextract/share/conf for some reason [1], I
>>>> guess it got dropped from the push by accident? But, after I added
>>>> that the test still failed.
>>>
>>> I missed pushing builtin$.h as part of the va_list patch :( Added it
>>> in the updated webrev above.
>>>
>>>>
>>>> I manually ran jextract on the test header, which works. The
>>>> generated method uses Pointer<Byte> for the va_list, so it looks
>>>> like the backing impl is different on Windows, and there's no need
>>>> for jextract to generate the __va_list_tag struct in
>>>> clang_support.builtin$_h that the test is checking for, so the test
>>>> fails.
>>>>
>>>> Could go with adding `@requires os.family != "windows"` to
>>>> ValistUseTest for that.
>>>
>>> As suggested, I made this test platform specific - va_list handling
>>> is indeed platform specific.
>>>
>>>>
>>>> After those 2 fixes the tests are all green on my machine :)
>>>>
>>> Thanks for testing on Windows! [and welcome back! :) ]
>>>
>>> My mach5 "all platforms testing" with updated patch is successful as
>>> well.
>>>
>>> Thanks,
>>> -Sundar
>>>
>>>> Cheers,
>>>> Jorn
>>>>
>>>> [1] :
>>>> http://hg.openjdk.java.net/panama/dev/file/d6f2bf38b95b/src/jdk.jextract/share
>>>>
>>>> Maurizio Cimadamore schreef op 2019-04-09 18:20:
>>>>> Looks good!
>>>>>
>>>>> A multi-platform test run is probably better here :-)
>>>>>
>>>>> Maurizio
>>>>>
>>>>> On 09/04/2019 16:55, Sundararajan Athijegannathan wrote:
>>>>>> Please review.
>>>>>>
>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8221471
>>>>>> Webrev:
>>>>>> https://cr.openjdk.java.net/~sundar/8221471/webrev.02/index.html
>>>>>>
>>>>>> Current naming scheme: Header interfaces are named as "foo".
>>>>>> Static forwarder class is named as "foo_h"
>>>>>> New naming scheme: Header interfaces are named as "foo_h". Static
>>>>>> forwarder class is named as "foo_lib"
>>>>>>
>>>>>> Thanks,
>>>>>> -Sundar
More information about the panama-dev
mailing list