From 596709d8a89a2892b4d3ff3da1d6fe97a8a7d8ac Mon Sep 17 00:00:00 2001 From: Raphael Isemann Date: Mon, 27 Aug 2018 15:18:33 +0000 Subject: 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 --- .../ExpressionParser/Clang/ClangExpressionParser.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp') diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp index 676363062e54..61e49bdd47de 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp @@ -517,12 +517,8 @@ ClangExpressionParser::ClangExpressionParser(ExecutionContextScope *exe_scope, builtin_context.initializeBuiltins(PP.getIdentifierTable(), m_compiler->getLangOpts()); - std::unique_ptr 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(m_expr.GetTypeSystemHelper()); @@ -531,14 +527,13 @@ ClangExpressionParser::ClangExpressionParser(ExecutionContextScope *exe_scope, if (decl_map) { llvm::IntrusiveRefCntPtr 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"); -- cgit v1.2.3