[Lldb-commits] [PATCH] D128694: [lldb/Dataformatters] Adapt C++ std::string dataformatter for D128285
Med Ismail Bennani via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Jun 27 18:02:23 PDT 2022
mib added subscribers: ldionne, labath.
mib 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)
----------------
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.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D128694/new/
https://reviews.llvm.org/D128694
More information about the lldb-commits
mailing list