diff options
Diffstat (limited to 'lib/StaticAnalyzer/Core/CFRefCount.cpp')
-rw-r--r-- | lib/StaticAnalyzer/Core/CFRefCount.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/StaticAnalyzer/Core/CFRefCount.cpp b/lib/StaticAnalyzer/Core/CFRefCount.cpp index 73b1ac270a..93f7aae94d 100644 --- a/lib/StaticAnalyzer/Core/CFRefCount.cpp +++ b/lib/StaticAnalyzer/Core/CFRefCount.cpp @@ -1643,6 +1643,13 @@ public: BugType *leakWithinFunction, *leakAtReturn; BugType *overAutorelease; BugType *returnNotOwnedForOwned; + BugReporter *BR; + + const ProgramState *Update(const ProgramState * state, + SymbolRef sym, + RefVal V, + ArgEffect E, + RefVal::Kind& hasErr); public: CFRefCount(ASTContext &Ctx, bool gcenabled, const LangOptions& lopts) @@ -1650,7 +1657,7 @@ public: LOpts(lopts), useAfterRelease(0), releaseNotOwned(0), deallocGC(0), deallocNotOwned(0), leakWithinFunction(0), leakAtReturn(0), overAutorelease(0), - returnNotOwnedForOwned(0) {} + returnNotOwnedForOwned(0), BR(0) {} void RegisterChecks(ExprEngine &Eng); @@ -3748,6 +3755,9 @@ void CFRefCount::RegisterChecks(ExprEngine& Eng) { leakWithinFunction->setSuppressOnSink(true); BR.Register(leakWithinFunction); + // Save the reference to the BugReporter. + this->BR = &BR; + // Register the RetainReleaseChecker with the ExprEngine object. // Functionality in CFRefCount will be migrated to RetainReleaseChecker // over time. |