diff options
Diffstat (limited to 'lib/Analysis/GRExprEngineInternalChecks.cpp')
-rw-r--r-- | lib/Analysis/GRExprEngineInternalChecks.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/Analysis/GRExprEngineInternalChecks.cpp b/lib/Analysis/GRExprEngineInternalChecks.cpp index f4efdb1250..1b03149204 100644 --- a/lib/Analysis/GRExprEngineInternalChecks.cpp +++ b/lib/Analysis/GRExprEngineInternalChecks.cpp @@ -432,11 +432,11 @@ public: const GRState* state = N->getState(); SVal X = VMgr.GetSVal(state, CE->getCallee()); - - if (!isa<loc::FuncVal>(X)) + + const FunctionDecl* FD = X.getAsFunctionDecl(); + if (!FD) return false; - - FunctionDecl* FD = dyn_cast<FunctionDecl>(cast<loc::FuncVal>(X).getDecl()); + const NonNullAttr* Att = FD->getAttr<NonNullAttr>(); if (!Att) |