[Lldb-commits] [PATCH] D79168: [lldb] Also set owning module for template specializations
Raphael Isemann via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Apr 30 11:48:20 PDT 2020
This revision was automatically updated to reflect the committed changes.
Closed by commit rG8e9fb845fcc4: [lldb] Also set owning module for template specializations (authored by teemperor).
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79168/new/
https://reviews.llvm.org/D79168
Files:
lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
lldb/test/Shell/SymbolFile/DWARF/module-ownership.mm
Index: lldb/test/Shell/SymbolFile/DWARF/module-ownership.mm
===================================================================
--- lldb/test/Shell/SymbolFile/DWARF/module-ownership.mm
+++ lldb/test/Shell/SymbolFile/DWARF/module-ownership.mm
@@ -52,10 +52,10 @@
// Template specializations are not yet supported, so they lack the ownership info:
Template<int> t2;
-// CHECK-DAG: ClassTemplateSpecializationDecl {{.*}} struct Template
+// CHECK-DAG: ClassTemplateSpecializationDecl {{.*}} imported in A struct Template
Namespace::InNamespace<int> t3;
-// CHECK-DAG: ClassTemplateSpecializationDecl {{.*}} struct InNamespace
+// CHECK-DAG: ClassTemplateSpecializationDecl {{.*}} imported in A struct InNamespace
Namespace::AlsoInNamespace<int> t4;
-// CHECK-DAG: ClassTemplateSpecializationDecl {{.*}} struct AlsoInNamespace
+// CHECK-DAG: ClassTemplateSpecializationDecl {{.*}} imported in A.B struct AlsoInNamespace
Index: lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
===================================================================
--- lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
+++ lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
@@ -1563,15 +1563,7 @@
ast.getTypeDeclType(class_template_specialization_decl, nullptr);
class_template_specialization_decl->setDeclName(
class_template_decl->getDeclName());
- // FIXME: Turning this on breaks the libcxx data formatter tests.
- // SetOwningModule marks the Decl as external, which prevents a
- // LookupPtr from being built. Template instantiations can also not
- // be found by ExternalASTSource::FindExternalVisibleDeclsByName(),
- // nor can we lazily build a LookupPtr later, because template
- // specializations are supposed to be hidden so
- // makeDeclVisibleInContextWithFlags() is a noop, as well.
- //
- // SetOwningModule(class_template_specialization_decl, owning_module);
+ SetOwningModule(class_template_specialization_decl, owning_module);
decl_ctx->addDecl(class_template_specialization_decl);
class_template_specialization_decl->setSpecializationKind(
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79168.261307.patch
Type: text/x-patch
Size: 2098 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200430/d9d7d7c7/attachment.bin>
More information about the lldb-commits
mailing list