forked from OSchip/llvm-project
[analyzer] Address Jordan's feedback for r167780.
llvm-svn: 167790
This commit is contained in:
parent
e6ee671e16
commit
abdc72d970
|
@ -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()) {
|
||||
|
|
Loading…
Reference in New Issue