[Lldb-commits] [Diffusion] rL234178: We have an issue where if you use a C function right now that has no prototype…

Greg Clayton clayborg at gmail.com
Thu Apr 9 16:12:40 PDT 2015


After speaking with our local C++ experts, they highly recommend against this. complete constructors are quite different that base class object constructors.

> On Apr 9, 2015, at 12:48 PM, Tamas Berghammer <tberghammer at google.com> wrote:
> 
> I suggest to do it only when we have only one of them in the object file. It is definitely not a perfect solution but I think we can't do anything better without having access to the source of the object file.
> 
> Tamas
> 
> On Apr 9, 2015 8:42 PM, "Greg Clayton" <clayborg at gmail.com> wrote:
> Even thought this might make the test work, but there is a difference between the "complete object constructor" and the "base object constructor". I don't think we should just interpose the two without knowing more.
> 
> Greg
> 
> > On Apr 9, 2015, at 11:52 AM, Tamas Berghammer <tberghammer at google.com> wrote:
> >
> > I would suggest to fix the issue in LLDB with doing a symbol search for the full unmangled name if we can't find the symbol based on the mangled one as that one is also present in the symbol list. I  am not sure if it fixes all of the problem but it should fix this issue (also for the destructors),
> >
> > Tamas
> >
> > On Apr 9, 2015 7:34 PM, "Siva Chandra" <sivachandra at google.com> wrote:
> > I am still doing my "homework" around this patch. Once I am clear as
> > what exactly is happening, I will send it out to the clang list if it
> > is still relevant.
> >
> > On Thu, Apr 9, 2015 at 11:28 AM, Greg Clayton <clayborg at gmail.com> wrote:
> > > Siva: You will need to forward this to the clang lists to see if this is a correct fix.
> > >
> > >> On Apr 9, 2015, at 11:16 AM, Siva Chandra <sivachandra at google.com> wrote:
> > >>
> > >> Hi all,
> > >>
> > >> I do not have anything concrete. However, the attached patch for clang
> > >> fixes both the failing tests. I do not know if my fix is correct. Even
> > >> if it is, we should find a way to "workaround" in LLDB so that older
> > >> versions of clang are OK. I have some ideas for this, will share when
> > >> I am able to put them into concrete words.
> > >>
> > >> Thanks,
> > >> Siva Chandra
> > >>
> > >> On Thu, Apr 9, 2015 at 11:09 AM, Tamas Berghammer
> > >> <tberghammer at google.com> wrote:
> > >>> +sivachandra
> > >>>
> > >>> Siva is looking into this issue. The problem is that lldb looks for a
> > >>> mangled name _ZN3fooC1Ei while the object file (compiled by clang) contains
> > >>> it with _ZN3fooC2Ei. The difference is that the first one belongs to the
> > >>> complete constructor and the second one belongs to the base constructor.
> 





More information about the lldb-commits mailing list