Let the CompilerInstance create our clang ASTContext

Summary:
Now that we moved the BuiltinContext and SelectorTable to the
CompilerInstance, we can also get rid of manually creating our
own ASTContext, but just use the one from the CompilerInstance
(which will be created with the same settings).

Reviewers: vsk, aprantl, davide

Reviewed By: davide

Subscribers: lldb-commits

Differential Revision: https://reviews.llvm.org/D51253

llvm-svn: 340748
This commit is contained in:
Raphael Isemann 2018-08-27 15:18:33 +00:00
parent eca9ce14d6
commit 596709d8a8
1 changed files with 5 additions and 10 deletions

View File

@ -517,12 +517,8 @@ ClangExpressionParser::ClangExpressionParser(ExecutionContextScope *exe_scope,
builtin_context.initializeBuiltins(PP.getIdentifierTable(),
m_compiler->getLangOpts());
std::unique_ptr<clang::ASTContext> ast_context(
new ASTContext(m_compiler->getLangOpts(), m_compiler->getSourceManager(),
m_compiler->getPreprocessor().getIdentifierTable(),
PP.getSelectorTable(), builtin_context));
ast_context->InitBuiltinTypes(m_compiler->getTarget());
m_compiler->createASTContext();
clang::ASTContext &ast_context = m_compiler->getASTContext();
ClangExpressionHelper *type_system_helper =
dyn_cast<ClangExpressionHelper>(m_expr.GetTypeSystemHelper());
@ -531,14 +527,13 @@ ClangExpressionParser::ClangExpressionParser(ExecutionContextScope *exe_scope,
if (decl_map) {
llvm::IntrusiveRefCntPtr<clang::ExternalASTSource> ast_source(
decl_map->CreateProxy());
decl_map->InstallASTContext(*ast_context, m_compiler->getFileManager());
ast_context->setExternalSource(ast_source);
decl_map->InstallASTContext(ast_context, m_compiler->getFileManager());
ast_context.setExternalSource(ast_source);
}
m_ast_context.reset(
new ClangASTContext(m_compiler->getTargetOpts().Triple.c_str()));
m_ast_context->setASTContext(ast_context.get());
m_compiler->setASTContext(ast_context.release());
m_ast_context->setASTContext(&ast_context);
std::string module_name("$__lldb_module");