Aaaahhh,
Now I see. We have a parameter with the type that is a reference to VLA.
I think in this case we should rework this code to something like this:
if (ArgType->isVariablyModifiedType())
ArgType =
getContext().getCanonicalParamType(ArgType.getNonReferenceType());
Try this solution.
Best regards,
Alexey Bataev
On 10/10/2016 07:51 PM, Keane, Erich wrote:
> I did. I changed line 236 to "ArgType =
> getContext().getCanonicalParamType(ArgType);" (as I believe you were
> suggesting), and the output was identical when doing dump on ArgType:
>
> This:
>
> LValueReferenceType 0xa451620 'int (&)[*]' variably_modified
> `-VariableArrayType 0xa4515e0 'int [*]' variably_modified *
> |-BuiltinType 0xa3f4090 'int'
> `-<<<NULL>>>
> Vs:
> LValueReferenceType 0xa451690 'int (&)[*]' variably_modified
> `-VariableArrayType 0xa451650 'int [*]' variably_modified *
> |-BuiltinType 0xa3f4090 'int'
> `-<<<NULL>>>
>
> -----Original Message-----
> From: Alexey Bataev [mailto:[email protected]]
> Sent: Monday, October 10, 2016 9:47 AM
> To: [email protected]; Keane, Erich
> <[email protected]>; [email protected]; [email protected];
> [email protected]; [email protected]
> Subject: Re: [PATCH] D25373: Fix for Bug 30639: CGDebugInfo Null dereference
> with OpenMP array access
>
> Hmm,
>
> I thought it must return a pointer to the element type rather than [*] kind
> type. Did you checked it?
>
> Best regards,
> Alexey Bataev
>
> On 10/10/2016 07:09 PM, Erich Keane wrote:
>> erichkeane added a comment.
>>
>> Andrey-
>> It seems that getVariableArrayDecayedType and getCanonicalParamType return
>> the same type in this case (at least in the reproduction). I could
>> definitely change the call, though the changes to CGDebugInfo.cpp are
>> apparently also necessary even in that case.
>>
>> Is there additional logic that should happen in CGStmtOpenMP that I'm
>> missing?
>>
>>
>> Repository:
>> rL LLVM
>>
>> https://reviews.llvm.org/D25373
>>
>>
>>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits