Thanks1 fixed here: https://reviews.llvm.org/D103532

> On 2 Jun 2021, at 18:06, Andy Yankovsky <we...@google.com> wrote:
> 
> I think the problem is specific to references, at least that's the case I ran 
> into in lldb-eval -- 
> https://github.com/google/lldb-eval/blob/master/docs/lldb-bugs.md#dereferencing-a-value-canonizes-the-type
>  
> <https://github.com/google/lldb-eval/blob/master/docs/lldb-bugs.md#dereferencing-a-value-canonizes-the-type>
> On Wed, 2 Jun 2021 at 17:26, Raphael “Teemperor” Isemann <teempe...@gmail.com 
> <mailto:teempe...@gmail.com>> wrote:
> I assume your bug is for dereferencing references? In your test taking the 
> ref variable and then dereferencing it via the SB API reproduces that I think 
> you're running into:
> 
> >>> lldb.frame.FindVariable("p_ref").GetType().GetName()
> 'TPair &'
> >>> lldb.frame.FindVariable("p_ref").Dereference().GetType().GetName()
> 'TTuple'
> 
> (I made `p_ref` a local to avoid the expression evaluation machinery)
> 
> Cheers,
> - Raphael
> 
> > On 2 Jun 2021, at 15:27, Lasse Folger <lassefol...@google.com 
> > <mailto:lassefol...@google.com>> wrote:
> > 
> > Hi Raphael,
> > 
> > I have a very similar test for a tool that integrates with lldb which 
> > failed without the patch.
> > I thought the test in the patch would behave the same which is apparently 
> > not the case.
> > Thanks for pointing that out. I will need to take another look and will get 
> > back to you once I figure out what's wrong.
> > Sorry for the inconvenience.
> > 
> > kind regards,
> > Lasse
> > 
> > 
> > On Wed, Jun 2, 2021 at 1:15 PM Raphael “Teemperor” Isemann 
> > <teempe...@gmail.com <mailto:teempe...@gmail.com>> wrote:
> > Hi Lasse,
> > 
> > the test from the patch passes for me even without your non-test changes. 
> > Not sure if you attached the wrong diff or it needs to be applied on a 
> > specific commit that is not ToT? Can you maybe try pushing your code to 
> > some git repo?
> > 
> > Your change to TypeSystemClang (which I assume removes the canonicalization 
> > of parent_qual_type) is from what I can see not actually changing the 
> > result value of `GetChildCompilerTypeAtIndex`. It looks like the return 
> > value for pointer types is computed independently from `parent_qual_type` 
> > without any canonicalization.
> > 
> > Cheers,
> > - Raphael
> > 
> >> On 2 Jun 2021, at 11:39, Lasse Folger via lldb-commits 
> >> <lldb-commits@lists.llvm.org <mailto:lldb-commits@lists.llvm.org>> wrote:
> >> 
> >> <0001-lldb-prevent-canonization-of-type-when-dereferencing.patch>
> > 
> 

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to