[foreign] RFR 8222025: jextract generates reference to underfined type for va_list
Sundararajan Athijegannathan
sundararajan.athijegannathan at oracle.com
Mon Apr 8 13:17:08 UTC 2019
Thanks. Updated: https://cr.openjdk.java.net/~sundar/8222025/webrev.02/
Calling canonicalType() on argument now - should cover all cases.
-Sundar
On 08/04/19, 6:01 PM, Maurizio Cimadamore wrote:
> Looks good - what about calling canonicalType on function args/return
> type also?
>
> Maurizio
>
> On 08/04/2019 13:33, Sundararajan Athijegannathan wrote:
>> Updated: https://cr.openjdk.java.net/~sundar/8222025/webrev.01/
>>
>> * Separate tree phase for builtin types handler
>> * TypeDictionary was missing path null check and builtin header file
>> * canonicalType() call was missing in Utils.java (for element type of
>> an array)
>>
>> -Sundar
>>
>> On 08/04/19, 3:12 PM, Maurizio Cimadamore wrote:
>>>
>>> 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.
>>>
>>> Maurizio
>>>
>>>>
>>>> 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