[Lldb-commits] [PATCH] D137983: [lldb] Disable looking at pointee types to find synthetic value for non-ObjC
Arthur Eubanks via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Nov 15 16:47:31 PST 2022
aeubanks added inline comments.
================
Comment at: lldb/source/Core/ValueObject.cpp:2676-2677
if (!m_deref_valobj) {
- if (HasSyntheticValue()) {
+ // FIXME: C++ stdlib formatters break with incomplete types (e.g.
+ // `std::vector<int> &`). Remove ObjC restriction once that's resolved.
+ if (Language::LanguageIsObjC(GetPreferredDisplayLanguage()) &&
----------------
dblaikie wrote:
> Maybe worth filing a bug and referencing it here?
>
> Is this limitation still necessary if the incomplete type has template parameter DIEs? (I guess probably yes, because it'll be missing member descriptions, etc)
>
> & does this path get hit if the type is declared in one CU but defined in another? (& does the inf recurse/crash loop still get hit in that case, without this patch?)
> Maybe worth filing a bug and referencing it here?
Filed https://github.com/llvm/llvm-project/issues/59012, added here
> Is this limitation still necessary if the incomplete type has template parameter DIEs? (I guess probably yes, because it'll be missing member descriptions, etc)
yes (I incorrectly mentioned in person that this works with `-gsimple-template-names`, it actually still infinite recurses)
> & does this path get hit if the type is declared in one CU but defined in another? (& does the inf recurse/crash loop still get hit in that case, without this patch?)
if the declaration is in a shared library and the main binary has the definition, we hit this
if we have two CUs, one with a declaration, one with a definition, but both linked into the same binary, we don't hit the issue
AFAICT lldb restricts looking up debug info to the binary/shared library, but otherwise prefers definitions over declarations?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D137983/new/
https://reviews.llvm.org/D137983
More information about the lldb-commits
mailing list