From bae930d4c69a624881e66f1628ee615e149362f7 Mon Sep 17 00:00:00 2001 From: Anna Zaks Date: Tue, 13 Nov 2012 00:13:44 +0000 Subject: [PATCH] [analyzer] Address Jordan's feedback for r167780. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167790 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp b/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp index 2e47a9a61c..3ead0817f7 100644 --- a/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp +++ b/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp @@ -191,12 +191,13 @@ void ExprEngine::removeDeadOnEndOfFunction(NodeBuilderContext& BC, currBldrCtx = 0; } -static bool isDifferentDeclUsedAtRuntime(CallEventRef<> Call, +static bool wasDifferentDeclUsedForInlining(CallEventRef<> Call, const StackFrameContext *calleeCtx) { const Decl *RuntimeCallee = calleeCtx->getDecl(); const Decl *StaticDecl = Call->getDecl(); - if (!RuntimeCallee || !StaticDecl) - return false; + assert(RuntimeCallee); + if (!StaticDecl) + return true; return RuntimeCallee->getCanonicalDecl() != StaticDecl->getCanonicalDecl(); } @@ -240,7 +241,7 @@ void ExprEngine::processCallExit(ExplodedNode *CEBNode) { SVal V = state->getSVal(RS, LCtx); // Ensure that the return type matches the type of the returned Expr. - if (isDifferentDeclUsedAtRuntime(Call, calleeCtx)) { + if (wasDifferentDeclUsedForInlining(Call, calleeCtx)) { QualType ReturnedTy = CallEvent::getDeclaredResultType(calleeCtx->getDecl()); if (!ReturnedTy.isNull()) { -- 2.50.1