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