diff options
Diffstat (limited to 'lib/Analysis/CFRefCount.cpp')
-rw-r--r-- | lib/Analysis/CFRefCount.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/Analysis/CFRefCount.cpp b/lib/Analysis/CFRefCount.cpp index df479884ed..ff8b3e5e69 100644 --- a/lib/Analysis/CFRefCount.cpp +++ b/lib/Analysis/CFRefCount.cpp @@ -657,17 +657,15 @@ void CFRefCount::EvalCall(ExplodedNodeSet<ValueState>& Dst, ValueStateManager& StateMgr = Eng.getStateManager(); - // FIXME: Support calls to things other than lval::FuncVal. At the very - // least we should stop tracking ref-state for ref-counted objects passed - // to these functions. - - assert (isa<lval::FuncVal>(L) && "Not yet implemented."); + CFRefSummary* Summ = NULL; // Get the summary. - lval::FuncVal FV = cast<lval::FuncVal>(L); - FunctionDecl* FD = FV.getDecl(); - CFRefSummary* Summ = Summaries.getSummary(FD, Eng.getContext()); + if (isa<lval::FuncVal>(L)) { + lval::FuncVal FV = cast<lval::FuncVal>(L); + FunctionDecl* FD = FV.getDecl(); + Summ = Summaries.getSummary(FD, Eng.getContext()); + } // Get the state. |