diff options
author | Chaoren Lin <chaorenl@google.com> | 2015-08-19 01:24:57 +0000 |
---|---|---|
committer | Chaoren Lin <chaorenl@google.com> | 2015-08-19 01:24:57 +0000 |
commit | 57998de16537b88e65e79538f5ff35b5bbcb99fa (patch) | |
tree | 4be6033c8387ba204980850ba255723bed7b45e0 | |
parent | 453930d7c3d4fd822f4d89938a3d9e2a66f29b2a (diff) | |
download | bcm5719-llvm-57998de16537b88e65e79538f5ff35b5bbcb99fa.tar.gz bcm5719-llvm-57998de16537b88e65e79538f5ff35b5bbcb99fa.zip |
Update to r245397.
`ast_transformer` could be null, in which case we should initialize
`m_code_generator` with the ASTContext.
llvm-svn: 245398
-rw-r--r-- | lldb/source/Expression/ClangExpressionParser.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
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(); |