[Lldb-commits] [PATCH] D137983: [lldb] Disable looking at pointee types to find synthetic value for non-ObjC

David Blaikie via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Nov 15 08:39:11 PST 2022


dblaikie 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()) &&
----------------
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?)


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