ldionne added inline comments.
================
Comment at: lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp:637
if (location_sp->GetName() == g_size_name)
- location_sp = short_sp->GetChildAtIndex(3, true);
+ location_sp = short_sp->GetChildAtIndex(2, true);
if (using_bitmasks)
----------------
mib wrote:
> mib wrote:
> > aprantl wrote:
> > > Let me know if I',m misunderstanding what the code is doing, but this
> > > looks like it is replacing the previous implementation? Ideally we would
> > > detect the layout and then parse it correctly depending on which version
> > > we're dealing with. Otherwise we risk breaking the matrix bot that checks
> > > that LLDB can debug C++ produced by older versions of LLVM (and by
> > > extension libcxx).
> > I've look at D12828 and D123580, and I don't see any way of versioning
> > these changes ... may be @ldionne have an idea on how we could do this
> > properly ?
> >
> > Also, in D124113, @labath mentions that this data formatter uses mostly
> > indices to parse and access the various fields of the type data structure
> > (because it uses some anonymous structs). This makes it very fragile on our
> > end because our data formatter break every time they make a change in the
> > layout ...
> >
> > @aprantl, I'll update the line your pointed at to the the field identifier
> > instead of using changing the index while waiting for a better way to
> > version this.
> @aprantl, I'll update the line you pointed at to *use* the field identifier
> instead of using changing the index, while waiting for a better way to
> version this.
I don't see a way to version this. You don't have access to the value of macros
that were defined when the executable was compiled, right? If you did, you
could check `_LIBCPP_VERSION` (1400 = old implementation, 1500 = current
implementation). I'm very naive when it comes to debuggers but I assume that's
not possible.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D128694/new/
https://reviews.llvm.org/D128694
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits