summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChaoren Lin <chaorenl@google.com>2015-08-19 01:24:57 +0000
committerChaoren Lin <chaorenl@google.com>2015-08-19 01:24:57 +0000
commit57998de16537b88e65e79538f5ff35b5bbcb99fa (patch)
tree4be6033c8387ba204980850ba255723bed7b45e0
parent453930d7c3d4fd822f4d89938a3d9e2a66f29b2a (diff)
downloadbcm5719-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.cpp9
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();
OpenPOWER on IntegriCloud