[foreign] RFR 8221471: jextract source genarator generates non-compilable classes with naming clashes
Jorn Vernee
jbvernee at xs4all.nl
Tue Apr 9 17:37:04 UTC 2019
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")));
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 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.
After those 2 fixes the tests are all green on my machine :)
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