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:a.bat...@hotmail.com]
> Sent: Monday, October 10, 2016 9:47 AM
> To: reviews+d25373+public+d8ec2a4bb41b1...@reviews.llvm.org; Keane, Erich 
> <erich.ke...@intel.com>; cfe-commits@lists.llvm.org; dblai...@gmail.com; 
> david.majne...@gmail.com; guy.ben...@intel.com
> 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
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to