From 3a45e034423ca8811846065ad27fc87e5859cf2f Mon Sep 17 00:00:00 2001 From: Jim Ingham Date: Thu, 7 Jul 2016 19:06:37 +0000 Subject: [PATCH] Check whether Sema::CreateBuiltinUnaryOp returns an empty result. If it does, calling AddInitializerToDecl will crash, so we should abort the result synthesis in this case. llvm-svn: 274787 --- .../Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp index 44bbfcbca3cd..f1231572e263 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp @@ -373,6 +373,8 @@ ASTResultSynthesizer::SynthesizeBodyResult (CompoundStmt *Body, ExprResult address_of_expr = m_sema->CreateBuiltinUnaryOp(SourceLocation(), UO_AddrOf, last_expr); if (address_of_expr.get()) m_sema->AddInitializerToDecl(result_decl, address_of_expr.get(), true, false); + else + return false; } else {