[foreign] RFR 8222025: jextract generates reference to underfined type for va_list

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Mon Apr 8 09:42:19 UTC 2019

On 06/04/2019 04:12, Sundararajan Athijegannathan wrote:
> You're right. This fix addresses only typedefs that too that only 
> builtin struct/union types only (for now).  This seems to cover issues 
> faced with compilation of generated sources. We could walk through 
> every type usage in all Trees. Should we/I do that?

Maybe as a followup change. The fix is good as is, but let's also try to 
fix the more general problem of a jextract run referring to symbols that 
aren't there.


> Thanks,
> -Sundar
> On 06/04/19, 1:49 AM, Maurizio Cimadamore wrote:
>> Looks a very nice fix! This is also related to the issue that Jorn 
>> was trying to fix while ago re. incomplete array types, so maybe 
>> after this is pushed, we can revisit that topic.
>> One question: this patch attempts to fix missing builtins only in 
>> case they appear in typedefs, right? That is ok for the va_list case, 
>> but I guess it doesn't address the more general problem where 
>> builtins are used directly (I assume not all of them will be 
>> typedef'ed) ? What would be the plan there?
>> Maurizio
>> On 05/04/2019 11:49, Sundararajan Athijegannathan wrote:
>>> Please review.
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222025
>>> Webrev: https://cr.openjdk.java.net/~sundar/8222025/webrev.00/
>>> "builtin" type is detected by source file location having "null" 
>>> path. For each builtin record type, we generate fake Trees and add 
>>> to the list of declarations. A builtin header file ("builtin$.h") is 
>>> used as a target header for such declarations. This ensures that we 
>>> only generate one copy of builitin mappings & all builtin type 
>>> references resolve to those.
>>> Thanks,
>>> -Sundar

More information about the panama-dev mailing list