[Lldb-commits] [PATCH] D63622: [Target] Hoist LanguageRuntime::GetDeclVendor
Jim Ingham via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Fri Jun 21 10:35:14 PDT 2019
jingham added inline comments.
================
Comment at: source/API/SBTarget.cpp:1854-1859
+ if (vendor->FindDecls(const_typename, /*append*/ true,
+ /*max_matches*/ 1, decls) > 0) {
+ if (CompilerType type =
+ ClangASTContext::GetTypeForDecl(decls.front()))
return LLDB_RECORD_RESULT(SBType(type));
}
----------------
xiaobai wrote:
> jingham wrote:
> > As soon as you start iterating over all language runtimes, I don't think you can use ClangASTContext::GetTypeForDecl, can you? Not all language runtimes will be backed by a Clang AST.
> In principle, this is wrong. But FindDecl's deals with clang NamedDecl's, so this still makes sense right now. In the future we will need to make DeclVendor more TypeSystem/compiler agnostic.
If that's true, then you should signal the restriction by limiting the iteration over language runtimes to C-family ones. Like:
// DeclVendor only works for C Family languages at present.
if (!Language::LanguageIsCFamily(runtime->GetLanguageType())
continue;
Or maybe we need another "LanguageIsBackedByClangAST" check? That would be more accurate...
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D63622/new/
https://reviews.llvm.org/D63622
More information about the lldb-commits
mailing list