[libcxx-commits] [libcxx] [libc++] Replace `__compressed_pair` with `[[no_unique_address]]` (PR #76756)
Michael Buch via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Sep 30 10:57:57 PDT 2024
Michael137 wrote:
> Now we found a number of other problems related to debuggability of the code under LLDB. Specifically, `std::vector<>` and `std::string` contents can't be inspected. @labath and @slackito have been looking at the LLDB side of this and have some hypotheses. They have more context and can explain the issue better (and likely provide a reproducer), but overall it looks like a non-trivial problem with no obvious solution yet. Current ideas revolve around debug information quality and its consumption by LLDB.
>
> I wonder if debuggability of code using libc++ is considered an important trait of libc++, and this issue may be viewed as a reason for a revert (or to guard this with a feature macro)? For us it's definitely the case, but I see how priorities may be different for libc++ maintainers. Unfortunately, local revert of this commit proved to be problematic due to a number of later libc++ changes in the same files.
LLDB was pinged about this a few months ago when this effort began. And we did the work to make sure the affected libc++ types are debuggable with this change. The LLDB test-suite runs cleanly (including all the libc++ specific tests). I'd say we did as much as we could to reduce fallout for debuggability. More insight what exactly is breaking for you would be great. Is this `-flimit-debug-info` related? Without reproducers or CI it's going to be hard to assist you here
https://github.com/llvm/llvm-project/pull/76756
More information about the libcxx-commits
mailing list