r350869 - [analyzer] Update the category name for RetainCountChecker reports
George Karpenkov via cfe-commits
cfe-commits at lists.llvm.org
Thu Jan 10 10:16:25 PST 2019
Author: george.karpenkov
Date: Thu Jan 10 10:16:25 2019
New Revision: 350869
URL: http://llvm.org/viewvc/llvm-project?rev=350869&view=rev
Log:
[analyzer] Update the category name for RetainCountChecker reports
..now that it includes OSObjects
rdar://46509986
Differential Revision: https://reviews.llvm.org/D56404
Modified:
cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h
cfe/trunk/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h
cfe/trunk/lib/StaticAnalyzer/Core/CommonBugCategories.cpp
cfe/trunk/test/Analysis/Inputs/expected-plists/edges-new.mm.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/objc-arc.m.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output-alternate.m.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output.m.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist
cfe/trunk/test/Analysis/inlining/Inputs/expected-plists/path-notes.m.plist
Modified: cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h (original)
+++ cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h Thu Jan 10 10:16:25 2019
@@ -16,7 +16,7 @@ namespace clang {
namespace categories {
extern const char * const CoreFoundationObjectiveC;
extern const char * const LogicError;
- extern const char * const MemoryCoreFoundationObjectiveC;
+ extern const char * const MemoryRefCount;
extern const char * const MemoryError;
extern const char * const UnixAPI;
}
Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp Thu Jan 10 10:16:25 2019
@@ -757,15 +757,15 @@ ObjCDeallocChecker::ObjCDeallocChecker()
MissingReleaseBugType.reset(
new BugType(this, "Missing ivar release (leak)",
- categories::MemoryCoreFoundationObjectiveC));
+ categories::MemoryRefCount));
ExtraReleaseBugType.reset(
new BugType(this, "Extra ivar release",
- categories::MemoryCoreFoundationObjectiveC));
+ categories::MemoryRefCount));
MistakenDeallocBugType.reset(
new BugType(this, "Mistaken dealloc",
- categories::MemoryCoreFoundationObjectiveC));
+ categories::MemoryRefCount));
}
void ObjCDeallocChecker::initIdentifierInfoAndSelectors(
Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp Thu Jan 10 10:16:25 2019
@@ -39,19 +39,19 @@ ProgramStateRef removeRefBinding(Program
return State->remove<RefBindings>(Sym);
}
-class UseAfterRelease : public CFRefBug {
+class UseAfterRelease : public RefCountBug {
public:
UseAfterRelease(const CheckerBase *checker)
- : CFRefBug(checker, "Use-after-release") {}
+ : RefCountBug(checker, "Use-after-release") {}
const char *getDescription() const override {
return "Reference-counted object is used after it is released";
}
};
-class BadRelease : public CFRefBug {
+class BadRelease : public RefCountBug {
public:
- BadRelease(const CheckerBase *checker) : CFRefBug(checker, "Bad release") {}
+ BadRelease(const CheckerBase *checker) : RefCountBug(checker, "Bad release") {}
const char *getDescription() const override {
return "Incorrect decrement of the reference count of an object that is "
@@ -59,30 +59,30 @@ public:
}
};
-class DeallocNotOwned : public CFRefBug {
+class DeallocNotOwned : public RefCountBug {
public:
DeallocNotOwned(const CheckerBase *checker)
- : CFRefBug(checker, "-dealloc sent to non-exclusively owned object") {}
+ : RefCountBug(checker, "-dealloc sent to non-exclusively owned object") {}
const char *getDescription() const override {
return "-dealloc sent to object that may be referenced elsewhere";
}
};
-class OverAutorelease : public CFRefBug {
+class OverAutorelease : public RefCountBug {
public:
OverAutorelease(const CheckerBase *checker)
- : CFRefBug(checker, "Object autoreleased too many times") {}
+ : RefCountBug(checker, "Object autoreleased too many times") {}
const char *getDescription() const override {
return "Object autoreleased too many times";
}
};
-class ReturnedNotOwnedForOwned : public CFRefBug {
+class ReturnedNotOwnedForOwned : public RefCountBug {
public:
ReturnedNotOwnedForOwned(const CheckerBase *checker)
- : CFRefBug(checker, "Method should return an owned object") {}
+ : RefCountBug(checker, "Method should return an owned object") {}
const char *getDescription() const override {
return "Object with a +0 retain count returned to caller where a +1 "
@@ -90,9 +90,9 @@ public:
}
};
-class Leak : public CFRefBug {
+class Leak : public RefCountBug {
public:
- Leak(const CheckerBase *checker, StringRef name) : CFRefBug(checker, name) {
+ Leak(const CheckerBase *checker, StringRef name) : RefCountBug(checker, name) {
// Leaks should not be reported if they are post-dominated by a sink.
setSuppressOnSink(true);
}
@@ -414,14 +414,14 @@ void RetainCountChecker::checkPostCall(c
checkSummary(*Summ, Call, C);
}
-CFRefBug *
+RefCountBug *
RetainCountChecker::getLeakWithinFunctionBug(const LangOptions &LOpts) const {
if (!leakWithinFunction)
leakWithinFunction.reset(new Leak(this, "Leak"));
return leakWithinFunction.get();
}
-CFRefBug *
+RefCountBug *
RetainCountChecker::getLeakAtReturnBug(const LangOptions &LOpts) const {
if (!leakAtReturn)
leakAtReturn.reset(new Leak(this, "Leak of returned object"));
@@ -816,7 +816,7 @@ void RetainCountChecker::processNonLeakE
if (!N)
return;
- CFRefBug *BT;
+ RefCountBug *BT;
switch (ErrorKind) {
default:
llvm_unreachable("Unhandled error.");
@@ -838,7 +838,7 @@ void RetainCountChecker::processNonLeakE
}
assert(BT);
- auto report = llvm::make_unique<CFRefReport>(
+ auto report = llvm::make_unique<RefCountReport>(
*BT, C.getASTContext().getLangOpts(), N, Sym);
report->addRange(ErrorRange);
C.emitReport(std::move(report));
@@ -1042,7 +1042,7 @@ ExplodedNode * RetainCountChecker::check
ExplodedNode *N = C.addTransition(state, Pred, &ReturnOwnLeakTag);
if (N) {
const LangOptions &LOpts = C.getASTContext().getLangOpts();
- auto R = llvm::make_unique<CFRefLeakReport>(
+ auto R = llvm::make_unique<RefLeakReport>(
*getLeakAtReturnBug(LOpts), LOpts, N, Sym, C);
C.emitReport(std::move(R));
}
@@ -1070,7 +1070,7 @@ ExplodedNode * RetainCountChecker::check
if (!returnNotOwnedForOwned)
returnNotOwnedForOwned.reset(new ReturnedNotOwnedForOwned(this));
- auto R = llvm::make_unique<CFRefReport>(
+ auto R = llvm::make_unique<RefCountReport>(
*returnNotOwnedForOwned, C.getASTContext().getLangOpts(), N, Sym);
C.emitReport(std::move(R));
}
@@ -1274,7 +1274,7 @@ RetainCountChecker::handleAutoreleaseCou
overAutorelease.reset(new OverAutorelease(this));
const LangOptions &LOpts = Ctx.getASTContext().getLangOpts();
- auto R = llvm::make_unique<CFRefReport>(*overAutorelease, LOpts, N, Sym,
+ auto R = llvm::make_unique<RefCountReport>(*overAutorelease, LOpts, N, Sym,
os.str());
Ctx.emitReport(std::move(R));
}
@@ -1323,12 +1323,12 @@ RetainCountChecker::processLeaks(Program
I = Leaked.begin(), E = Leaked.end(); I != E; ++I) {
const LangOptions &LOpts = Ctx.getASTContext().getLangOpts();
- CFRefBug *BT = Pred ? getLeakWithinFunctionBug(LOpts)
+ RefCountBug *BT = Pred ? getLeakWithinFunctionBug(LOpts)
: getLeakAtReturnBug(LOpts);
assert(BT && "BugType not initialized.");
Ctx.emitReport(
- llvm::make_unique<CFRefLeakReport>(*BT, LOpts, N, *I, Ctx));
+ llvm::make_unique<RefLeakReport>(*BT, LOpts, N, *I, Ctx));
}
}
Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h (original)
+++ cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h Thu Jan 10 10:16:25 2019
@@ -251,10 +251,10 @@ class RetainCountChecker
check::RegionChanges,
eval::Assume,
eval::Call > {
- mutable std::unique_ptr<CFRefBug> useAfterRelease, releaseNotOwned;
- mutable std::unique_ptr<CFRefBug> deallocNotOwned;
- mutable std::unique_ptr<CFRefBug> overAutorelease, returnNotOwnedForOwned;
- mutable std::unique_ptr<CFRefBug> leakWithinFunction, leakAtReturn;
+ mutable std::unique_ptr<RefCountBug> useAfterRelease, releaseNotOwned;
+ mutable std::unique_ptr<RefCountBug> deallocNotOwned;
+ mutable std::unique_ptr<RefCountBug> overAutorelease, returnNotOwnedForOwned;
+ mutable std::unique_ptr<RefCountBug> leakWithinFunction, leakAtReturn;
mutable std::unique_ptr<RetainSummaryManager> Summaries;
public:
@@ -268,10 +268,9 @@ public:
RetainCountChecker() {}
+ RefCountBug *getLeakWithinFunctionBug(const LangOptions &LOpts) const;
- CFRefBug *getLeakWithinFunctionBug(const LangOptions &LOpts) const;
-
- CFRefBug *getLeakAtReturnBug(const LangOptions &LOpts) const;
+ RefCountBug *getLeakAtReturnBug(const LangOptions &LOpts) const;
RetainSummaryManager &getSummaryManager(ASTContext &Ctx) const {
// FIXME: We don't support ARC being turned on and off during one analysis.
Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp Thu Jan 10 10:16:25 2019
@@ -189,12 +189,12 @@ namespace clang {
namespace ento {
namespace retaincountchecker {
-class CFRefReportVisitor : public BugReporterVisitor {
+class RefCountReportVisitor : public BugReporterVisitor {
protected:
SymbolRef Sym;
public:
- CFRefReportVisitor(SymbolRef sym) : Sym(sym) {}
+ RefCountReportVisitor(SymbolRef sym) : Sym(sym) {}
void Profile(llvm::FoldingSetNodeID &ID) const override {
static int x = 0;
@@ -211,9 +211,9 @@ public:
BugReport &BR) override;
};
-class CFRefLeakReportVisitor : public CFRefReportVisitor {
+class RefLeakReportVisitor : public RefCountReportVisitor {
public:
- CFRefLeakReportVisitor(SymbolRef sym) : CFRefReportVisitor(sym) {}
+ RefLeakReportVisitor(SymbolRef sym) : RefCountReportVisitor(sym) {}
std::shared_ptr<PathDiagnosticPiece> getEndPath(BugReporterContext &BRC,
const ExplodedNode *N,
@@ -303,7 +303,7 @@ annotateConsumedSummaryMismatch(const Ex
}
std::shared_ptr<PathDiagnosticPiece>
-CFRefReportVisitor::VisitNode(const ExplodedNode *N,
+RefCountReportVisitor::VisitNode(const ExplodedNode *N,
BugReporterContext &BRC, BugReport &BR) {
const SourceManager &SM = BRC.getSourceManager();
@@ -548,14 +548,14 @@ static AllocationInfo GetAllocationSite(
}
std::shared_ptr<PathDiagnosticPiece>
-CFRefReportVisitor::getEndPath(BugReporterContext &BRC,
+RefCountReportVisitor::getEndPath(BugReporterContext &BRC,
const ExplodedNode *EndN, BugReport &BR) {
BR.markInteresting(Sym);
return BugReporterVisitor::getDefaultEndPath(BRC, EndN, BR);
}
std::shared_ptr<PathDiagnosticPiece>
-CFRefLeakReportVisitor::getEndPath(BugReporterContext &BRC,
+RefLeakReportVisitor::getEndPath(BugReporterContext &BRC,
const ExplodedNode *EndN, BugReport &BR) {
// Tell the BugReporterContext to report cases when the tracked symbol is
@@ -637,21 +637,23 @@ CFRefLeakReportVisitor::getEndPath(BugRe
return std::make_shared<PathDiagnosticEventPiece>(L, os.str());
}
-CFRefReport::CFRefReport(CFRefBug &D, const LangOptions &LOpts, ExplodedNode *n,
- SymbolRef sym, bool registerVisitor)
+RefCountReport::RefCountReport(RefCountBug &D, const LangOptions &LOpts,
+ ExplodedNode *n, SymbolRef sym,
+ bool registerVisitor)
: BugReport(D, D.getDescription(), n), Sym(sym) {
if (registerVisitor)
- addVisitor(llvm::make_unique<CFRefReportVisitor>(sym));
+ addVisitor(llvm::make_unique<RefCountReportVisitor>(sym));
}
-CFRefReport::CFRefReport(CFRefBug &D, const LangOptions &LOpts, ExplodedNode *n,
- SymbolRef sym, StringRef endText)
+RefCountReport::RefCountReport(RefCountBug &D, const LangOptions &LOpts,
+ ExplodedNode *n, SymbolRef sym,
+ StringRef endText)
: BugReport(D, D.getDescription(), endText, n) {
- addVisitor(llvm::make_unique<CFRefReportVisitor>(sym));
+ addVisitor(llvm::make_unique<RefCountReportVisitor>(sym));
}
-void CFRefLeakReport::deriveParamLocation(CheckerContext &Ctx, SymbolRef sym) {
+void RefLeakReport::deriveParamLocation(CheckerContext &Ctx, SymbolRef sym) {
const SourceManager& SMgr = Ctx.getSourceManager();
if (!sym->getOriginRegion())
@@ -670,7 +672,7 @@ void CFRefLeakReport::deriveParamLocatio
}
}
-void CFRefLeakReport::deriveAllocLocation(CheckerContext &Ctx,
+void RefLeakReport::deriveAllocLocation(CheckerContext &Ctx,
SymbolRef sym) {
// Most bug reports are cached at the location where they occurred.
// With leaks, we want to unique them by the location where they were
@@ -713,7 +715,7 @@ void CFRefLeakReport::deriveAllocLocatio
UniqueingDecl = AllocNode->getLocationContext()->getDecl();
}
-void CFRefLeakReport::createDescription(CheckerContext &Ctx) {
+void RefLeakReport::createDescription(CheckerContext &Ctx) {
assert(Location.isValid() && UniqueingDecl && UniqueingLocation.isValid());
Description.clear();
llvm::raw_string_ostream os(Description);
@@ -729,10 +731,10 @@ void CFRefLeakReport::createDescription(
}
}
-CFRefLeakReport::CFRefLeakReport(CFRefBug &D, const LangOptions &LOpts,
- ExplodedNode *n, SymbolRef sym,
- CheckerContext &Ctx)
- : CFRefReport(D, LOpts, n, sym, false) {
+RefLeakReport::RefLeakReport(RefCountBug &D, const LangOptions &LOpts,
+ ExplodedNode *n, SymbolRef sym,
+ CheckerContext &Ctx)
+ : RefCountReport(D, LOpts, n, sym, false) {
deriveAllocLocation(Ctx, sym);
if (!AllocBinding)
@@ -740,5 +742,5 @@ CFRefLeakReport::CFRefLeakReport(CFRefBu
createDescription(Ctx);
- addVisitor(llvm::make_unique<CFRefLeakReportVisitor>(sym));
+ addVisitor(llvm::make_unique<RefLeakReportVisitor>(sym));
}
Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h (original)
+++ cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h Thu Jan 10 10:16:25 2019
@@ -24,41 +24,39 @@ namespace clang {
namespace ento {
namespace retaincountchecker {
-class CFRefBug : public BugType {
+class RefCountBug : public BugType {
protected:
- CFRefBug(const CheckerBase *checker, StringRef name)
- : BugType(checker, name, categories::MemoryCoreFoundationObjectiveC) {}
+ RefCountBug(const CheckerBase *checker, StringRef name)
+ : BugType(checker, name, categories::MemoryRefCount) {}
public:
-
- // FIXME: Eventually remove.
virtual const char *getDescription() const = 0;
virtual bool isLeak() const { return false; }
};
-class CFRefReport : public BugReport {
+class RefCountReport : public BugReport {
protected:
SymbolRef Sym;
public:
- CFRefReport(CFRefBug &D, const LangOptions &LOpts,
+ RefCountReport(RefCountBug &D, const LangOptions &LOpts,
ExplodedNode *n, SymbolRef sym,
bool registerVisitor = true);
- CFRefReport(CFRefBug &D, const LangOptions &LOpts,
+ RefCountReport(RefCountBug &D, const LangOptions &LOpts,
ExplodedNode *n, SymbolRef sym,
StringRef endText);
llvm::iterator_range<ranges_iterator> getRanges() override {
- const CFRefBug& BugTy = static_cast<CFRefBug&>(getBugType());
+ const RefCountBug& BugTy = static_cast<RefCountBug&>(getBugType());
if (!BugTy.isLeak())
return BugReport::getRanges();
return llvm::make_range(ranges_iterator(), ranges_iterator());
}
};
-class CFRefLeakReport : public CFRefReport {
+class RefLeakReport : public RefCountReport {
const MemRegion* AllocBinding;
const Stmt *AllocStmt;
@@ -71,9 +69,8 @@ class CFRefLeakReport : public CFRefRepo
void createDescription(CheckerContext &Ctx);
public:
- CFRefLeakReport(CFRefBug &D, const LangOptions &LOpts,
- ExplodedNode *n, SymbolRef sym,
- CheckerContext &Ctx);
+ RefLeakReport(RefCountBug &D, const LangOptions &LOpts, ExplodedNode *n,
+ SymbolRef sym, CheckerContext &Ctx);
PathDiagnosticLocation getLocation(const SourceManager &SM) const override {
assert(Location.isValid());
Modified: cfe/trunk/lib/StaticAnalyzer/Core/CommonBugCategories.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/CommonBugCategories.cpp?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Core/CommonBugCategories.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Core/CommonBugCategories.cpp Thu Jan 10 10:16:25 2019
@@ -14,8 +14,8 @@ namespace clang { namespace ento { names
const char * const CoreFoundationObjectiveC = "Core Foundation/Objective-C";
const char * const LogicError = "Logic error";
-const char * const MemoryCoreFoundationObjectiveC =
- "Memory (Core Foundation/Objective-C)";
+const char * const MemoryRefCount =
+ "Memory (Core Foundation/Objective-C/OSObject)";
const char * const MemoryError = "Memory error";
const char * const UnixAPI = "Unix API";
}}}
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/edges-new.mm.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/edges-new.mm.plist?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/edges-new.mm.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/edges-new.mm.plist Thu Jan 10 10:16:25 2019
@@ -2118,7 +2118,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'value'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -11217,7 +11217,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'foo'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -21063,7 +21063,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'foo'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/objc-arc.m.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/objc-arc.m.plist?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/objc-arc.m.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/objc-arc.m.plist Thu Jan 10 10:16:25 2019
@@ -311,7 +311,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'date'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -842,7 +842,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'obj5'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -988,7 +988,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'obj6'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -1422,7 +1422,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'date'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -1733,7 +1733,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object of type 'CFStringRef'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -1927,7 +1927,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'o'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist Thu Jan 10 10:16:25 2019
@@ -1266,7 +1266,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object of type 'NSNumber *'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -1306,4 +1306,4 @@
<string>/Volumes/Transcend/code/monorepo/llvm-project/clang/test/Analysis/objc-radar17039661.m</string>
</array>
</dict>
-</plist>
\ No newline at end of file
+</plist>
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output-alternate.m.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output-alternate.m.plist?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output-alternate.m.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output-alternate.m.plist Thu Jan 10 10:16:25 2019
@@ -1484,7 +1484,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'value'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output.m.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output.m.plist?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output.m.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output.m.plist Thu Jan 10 10:16:25 2019
@@ -2371,7 +2371,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'foo'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist Thu Jan 10 10:16:25 2019
@@ -103,7 +103,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'leaked'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -224,7 +224,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'leaked'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -570,7 +570,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'leaked'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -769,7 +769,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'leaked'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -966,7 +966,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'leaked'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -1163,7 +1163,7 @@
</dict>
</array>
<key>description</key><string>Reference-counted object is used after it is released</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Use-after-release</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -1360,7 +1360,7 @@
</dict>
</array>
<key>description</key><string>Reference-counted object is used after it is released</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Use-after-release</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -1632,7 +1632,7 @@
</dict>
</array>
<key>description</key><string>Object autoreleased too many times</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Object autoreleased too many times</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -1830,7 +1830,7 @@
</dict>
</array>
<key>description</key><string>Object autoreleased too many times</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Object autoreleased too many times</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -1952,7 +1952,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'leaked'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -2075,7 +2075,7 @@
</dict>
</array>
<key>description</key><string>Object with a +0 retain count returned to caller where a +1 (owning) retain count is expected</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Method should return an owned object</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -2196,7 +2196,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'object'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak of returned object</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -2317,7 +2317,7 @@
</dict>
</array>
<key>description</key><string>Object with a +0 retain count returned to caller where a +1 (owning) retain count is expected</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Method should return an owned object</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -2438,7 +2438,7 @@
</dict>
</array>
<key>description</key><string>Object with a +0 retain count returned to caller where a +1 (owning) retain count is expected</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Method should return an owned object</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -2559,7 +2559,7 @@
</dict>
</array>
<key>description</key><string>Object with a +0 retain count returned to caller where a +1 (owning) retain count is expected</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Method should return an owned object</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -2680,7 +2680,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'result'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak of returned object</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -2876,7 +2876,7 @@
</dict>
</array>
<key>description</key><string>Object with a +0 retain count returned to caller where a +1 (owning) retain count is expected</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Method should return an owned object</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -2998,7 +2998,7 @@
</dict>
</array>
<key>description</key><string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Bad release</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -3119,7 +3119,7 @@
</dict>
</array>
<key>description</key><string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Bad release</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -3240,7 +3240,7 @@
</dict>
</array>
<key>description</key><string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Bad release</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -3361,7 +3361,7 @@
</dict>
</array>
<key>description</key><string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Bad release</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -3482,7 +3482,7 @@
</dict>
</array>
<key>description</key><string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Bad release</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -3840,7 +3840,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object of type 'MyObj *'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -4239,7 +4239,7 @@
</dict>
</array>
<key>description</key><string>Potential leak of an object stored into 'y'</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Leak</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -4517,7 +4517,7 @@
</dict>
</array>
<key>description</key><string>Object autoreleased too many times</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Object autoreleased too many times</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -4715,7 +4715,7 @@
</dict>
</array>
<key>description</key><string>Object autoreleased too many times</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Object autoreleased too many times</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
@@ -4987,7 +4987,7 @@
</dict>
</array>
<key>description</key><string>Object autoreleased too many times</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Object autoreleased too many times</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
Modified: cfe/trunk/test/Analysis/inlining/Inputs/expected-plists/path-notes.m.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/inlining/Inputs/expected-plists/path-notes.m.plist?rev=350869&r1=350868&r2=350869&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/inlining/Inputs/expected-plists/path-notes.m.plist (original)
+++ cfe/trunk/test/Analysis/inlining/Inputs/expected-plists/path-notes.m.plist Thu Jan 10 10:16:25 2019
@@ -1964,7 +1964,7 @@
</dict>
</array>
<key>description</key><string>Object autoreleased too many times</string>
- <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
+ <key>category</key><string>Memory (Core Foundation/Objective-C/OSObject)</string>
<key>type</key><string>Object autoreleased too many times</string>
<key>check_name</key><string>osx.cocoa.RetainCount</string>
<!-- This hash is experimental and going to change! -->
More information about the cfe-commits
mailing list