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> 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> 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> 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