From 57998de16537b88e65e79538f5ff35b5bbcb99fa Mon Sep 17 00:00:00 2001 From: Chaoren Lin Date: Wed, 19 Aug 2015 01:24:57 +0000 Subject: Update to r245397. `ast_transformer` could be null, in which case we should initialize `m_code_generator` with the ASTContext. llvm-svn: 245398 --- lldb/source/Expression/ClangExpressionParser.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lldb/source/Expression/ClangExpressionParser.cpp') diff --git a/lldb/source/Expression/ClangExpressionParser.cpp b/lldb/source/Expression/ClangExpressionParser.cpp index 0b59ca233d5..ad17c4fd1f4 100644 --- a/lldb/source/Expression/ClangExpressionParser.cpp +++ b/lldb/source/Expression/ClangExpressionParser.cpp @@ -410,15 +410,20 @@ ClangExpressionParser::Parse (Stream &stream) diag_buf->BeginSourceFile(m_compiler->getLangOpts(), &m_compiler->getPreprocessor()); ASTConsumer *ast_transformer = m_expr.ASTTransformer(m_code_generator.get()); - ast_transformer->Initialize(m_compiler->getASTContext()); if (ClangExpressionDeclMap *decl_map = m_expr.DeclMap()) decl_map->InstallCodeGenerator(m_code_generator.get()); - + if (ast_transformer) + { + ast_transformer->Initialize(m_compiler->getASTContext()); ParseAST(m_compiler->getPreprocessor(), ast_transformer, m_compiler->getASTContext()); + } else + { + m_code_generator->Initialize(m_compiler->getASTContext()); ParseAST(m_compiler->getPreprocessor(), m_code_generator.get(), m_compiler->getASTContext()); + } diag_buf->EndSourceFile(); -- cgit v1.2.3