[Lldb-commits] [PATCH] D75715: Switch TypeSystemClang over to CreateDeserialized() (NFC)
Shafik Yaghmour via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Mar 10 15:22:04 PDT 2020
shafik added a comment.
A bunch of small comments but a few more serious ones as well.
================
Comment at: lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:1394
+ func_tmpl_decl->setDeclName(func_decl->getDeclName());
+ func_tmpl_decl->init(func_decl, template_param_list);
SetOwningModule(func_tmpl_decl, owning_module);
----------------
It does not look like `func_decl->getLocation()` get used at all.
================
Comment at: lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:1526
+ ast, 0);
+ class_template_specialization_decl->setTagKind((TagDecl::TagKind)kind);
+ class_template_specialization_decl->setDeclContext(decl_ctx);
----------------
`static_cast<TagDecl::TagKind>(kind)`
================
Comment at: lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:1836
+ var_decl->setDeclName(&getASTContext().Idents.getOwn(name));
+ var_decl->setType(type);
SetOwningModule(var_decl, owning_module);
----------------
I guess `clang::SC_None` is the default?
================
Comment at: lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:7268
+ cxx_ctor_decl = clang::CXXConstructorDecl::CreateDeserialized(
+ getASTContext(), 0, is_explicit ? 1 << 1 : 0);
+ cxx_ctor_decl->setDeclContext(cxx_record_decl);
----------------
Where does `1 << 1` come from? What does it mean?
================
Comment at: lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:7999
+ enumerator_decl->setDeclContext(enutype->getDecl());
+ if (name)
+ enumerator_decl->setDeclName(&getASTContext().Idents.get(name));
----------------
Everywhere else we do:
```
if (name && name[0])
```
Why not for this case?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75715/new/
https://reviews.llvm.org/D75715
More information about the lldb-commits
mailing list