[foreign] RFR 8222025: jextract generates reference to underfined type for va_list
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
> 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?
>> 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.
More information about the panama-dev