Index: clang/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h =================================================================== --- clang/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h +++ clang/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h @@ -16,7 +16,7 @@ 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; } Index: clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp =================================================================== --- clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp +++ clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp @@ -757,15 +757,15 @@ 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( Index: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h =================================================================== --- clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h +++ clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h @@ -251,10 +251,10 @@ check::RegionChanges, eval::Assume, eval::Call > { - mutable std::unique_ptr useAfterRelease, releaseNotOwned; - mutable std::unique_ptr deallocNotOwned; - mutable std::unique_ptr overAutorelease, returnNotOwnedForOwned; - mutable std::unique_ptr leakWithinFunction, leakAtReturn; + mutable std::unique_ptr useAfterRelease, releaseNotOwned; + mutable std::unique_ptr deallocNotOwned; + mutable std::unique_ptr overAutorelease, returnNotOwnedForOwned; + mutable std::unique_ptr leakWithinFunction, leakAtReturn; mutable std::unique_ptr Summaries; public: @@ -268,10 +268,9 @@ 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. Index: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp =================================================================== --- clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp +++ clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp @@ -39,19 +39,19 @@ return State->remove(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 @@ } }; -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 @@ } }; -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 @@ 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")); @@ -862,7 +862,7 @@ if (!N) return; - CFRefBug *BT; + RefCountBug *BT; switch (ErrorKind) { default: llvm_unreachable("Unhandled error."); @@ -884,7 +884,7 @@ } assert(BT); - auto report = llvm::make_unique( + auto report = llvm::make_unique( *BT, C.getASTContext().getLangOpts(), N, Sym); report->addRange(ErrorRange); C.emitReport(std::move(report)); @@ -1088,7 +1088,7 @@ ExplodedNode *N = C.addTransition(state, Pred, &ReturnOwnLeakTag); if (N) { const LangOptions &LOpts = C.getASTContext().getLangOpts(); - auto R = llvm::make_unique( + auto R = llvm::make_unique( *getLeakAtReturnBug(LOpts), LOpts, N, Sym, C); C.emitReport(std::move(R)); } @@ -1116,7 +1116,7 @@ if (!returnNotOwnedForOwned) returnNotOwnedForOwned.reset(new ReturnedNotOwnedForOwned(this)); - auto R = llvm::make_unique( + auto R = llvm::make_unique( *returnNotOwnedForOwned, C.getASTContext().getLangOpts(), N, Sym); C.emitReport(std::move(R)); } @@ -1320,7 +1320,7 @@ overAutorelease.reset(new OverAutorelease(this)); const LangOptions &LOpts = Ctx.getASTContext().getLangOpts(); - auto R = llvm::make_unique(*overAutorelease, LOpts, N, Sym, + auto R = llvm::make_unique(*overAutorelease, LOpts, N, Sym, os.str()); Ctx.emitReport(std::move(R)); } @@ -1369,12 +1369,12 @@ 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(*BT, LOpts, N, *I, Ctx)); + llvm::make_unique(*BT, LOpts, N, *I, Ctx)); } } Index: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h =================================================================== --- clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h +++ clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h @@ -24,41 +24,39 @@ 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 getRanges() override { - const CFRefBug& BugTy = static_cast(getBugType()); + const RefCountBug& BugTy = static_cast(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 @@ 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()); Index: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp =================================================================== --- clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp +++ clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp @@ -226,12 +226,12 @@ 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; @@ -248,9 +248,9 @@ 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 getEndPath(BugReporterContext &BRC, const ExplodedNode *N, @@ -340,7 +340,7 @@ } std::shared_ptr -CFRefReportVisitor::VisitNode(const ExplodedNode *N, +RefCountReportVisitor::VisitNode(const ExplodedNode *N, BugReporterContext &BRC, BugReport &BR) { const SourceManager &SM = BRC.getSourceManager(); @@ -585,14 +585,14 @@ } std::shared_ptr -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 -CFRefLeakReportVisitor::getEndPath(BugReporterContext &BRC, +RefLeakReportVisitor::getEndPath(BugReporterContext &BRC, const ExplodedNode *EndN, BugReport &BR) { // Tell the BugReporterContext to report cases when the tracked symbol is @@ -674,21 +674,23 @@ return std::make_shared(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(sym)); + addVisitor(llvm::make_unique(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(sym)); + addVisitor(llvm::make_unique(sym)); } -void CFRefLeakReport::deriveParamLocation(CheckerContext &Ctx, SymbolRef sym) { +void RefLeakReport::deriveParamLocation(CheckerContext &Ctx, SymbolRef sym) { const SourceManager& SMgr = Ctx.getSourceManager(); if (!sym->getOriginRegion()) @@ -707,7 +709,7 @@ } } -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 @@ -750,7 +752,7 @@ 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); @@ -766,10 +768,10 @@ } } -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) @@ -777,5 +779,5 @@ createDescription(Ctx); - addVisitor(llvm::make_unique(sym)); + addVisitor(llvm::make_unique(sym)); } Index: clang/lib/StaticAnalyzer/Core/CommonBugCategories.cpp =================================================================== --- clang/lib/StaticAnalyzer/Core/CommonBugCategories.cpp +++ clang/lib/StaticAnalyzer/Core/CommonBugCategories.cpp @@ -14,8 +14,8 @@ 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"; }}} Index: clang/test/Analysis/Inputs/expected-plists/edges-new.mm.plist =================================================================== --- clang/test/Analysis/Inputs/expected-plists/edges-new.mm.plist +++ clang/test/Analysis/Inputs/expected-plists/edges-new.mm.plist @@ -2118,7 +2118,7 @@ descriptionPotential leak of an object stored into 'value' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -11217,7 +11217,7 @@ descriptionPotential leak of an object stored into 'foo' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -21063,7 +21063,7 @@ descriptionPotential leak of an object stored into 'foo' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount Index: clang/test/Analysis/Inputs/expected-plists/objc-arc.m.plist =================================================================== --- clang/test/Analysis/Inputs/expected-plists/objc-arc.m.plist +++ clang/test/Analysis/Inputs/expected-plists/objc-arc.m.plist @@ -311,7 +311,7 @@ descriptionPotential leak of an object stored into 'date' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -842,7 +842,7 @@ descriptionPotential leak of an object stored into 'obj5' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -988,7 +988,7 @@ descriptionPotential leak of an object stored into 'obj6' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -1422,7 +1422,7 @@ descriptionPotential leak of an object stored into 'date' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -1733,7 +1733,7 @@ descriptionPotential leak of an object of type 'CFStringRef' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -1927,7 +1927,7 @@ descriptionPotential leak of an object stored into 'o' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount Index: clang/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist =================================================================== --- clang/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist +++ clang/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist @@ -1266,7 +1266,7 @@ descriptionPotential leak of an object of type 'NSNumber *' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -1306,4 +1306,4 @@ /Volumes/Transcend/code/monorepo/llvm-project/clang/test/Analysis/objc-radar17039661.m - \ No newline at end of file + Index: clang/test/Analysis/Inputs/expected-plists/plist-output-alternate.m.plist =================================================================== --- clang/test/Analysis/Inputs/expected-plists/plist-output-alternate.m.plist +++ clang/test/Analysis/Inputs/expected-plists/plist-output-alternate.m.plist @@ -1484,7 +1484,7 @@ descriptionPotential leak of an object stored into 'value' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount Index: clang/test/Analysis/Inputs/expected-plists/plist-output.m.plist =================================================================== --- clang/test/Analysis/Inputs/expected-plists/plist-output.m.plist +++ clang/test/Analysis/Inputs/expected-plists/plist-output.m.plist @@ -2371,7 +2371,7 @@ descriptionPotential leak of an object stored into 'foo' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount Index: clang/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist =================================================================== --- clang/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist +++ clang/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist @@ -103,7 +103,7 @@ descriptionPotential leak of an object stored into 'leaked' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -224,7 +224,7 @@ descriptionPotential leak of an object stored into 'leaked' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -570,7 +570,7 @@ descriptionPotential leak of an object stored into 'leaked' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -769,7 +769,7 @@ descriptionPotential leak of an object stored into 'leaked' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -966,7 +966,7 @@ descriptionPotential leak of an object stored into 'leaked' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -1163,7 +1163,7 @@ descriptionReference-counted object is used after it is released - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeUse-after-release check_nameosx.cocoa.RetainCount @@ -1360,7 +1360,7 @@ descriptionReference-counted object is used after it is released - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeUse-after-release check_nameosx.cocoa.RetainCount @@ -1632,7 +1632,7 @@ descriptionObject autoreleased too many times - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeObject autoreleased too many times check_nameosx.cocoa.RetainCount @@ -1830,7 +1830,7 @@ descriptionObject autoreleased too many times - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeObject autoreleased too many times check_nameosx.cocoa.RetainCount @@ -1952,7 +1952,7 @@ descriptionPotential leak of an object stored into 'leaked' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -2075,7 +2075,7 @@ descriptionObject with a +0 retain count returned to caller where a +1 (owning) retain count is expected - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeMethod should return an owned object check_nameosx.cocoa.RetainCount @@ -2196,7 +2196,7 @@ descriptionPotential leak of an object stored into 'object' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak of returned object check_nameosx.cocoa.RetainCount @@ -2317,7 +2317,7 @@ descriptionObject with a +0 retain count returned to caller where a +1 (owning) retain count is expected - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeMethod should return an owned object check_nameosx.cocoa.RetainCount @@ -2438,7 +2438,7 @@ descriptionObject with a +0 retain count returned to caller where a +1 (owning) retain count is expected - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeMethod should return an owned object check_nameosx.cocoa.RetainCount @@ -2559,7 +2559,7 @@ descriptionObject with a +0 retain count returned to caller where a +1 (owning) retain count is expected - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeMethod should return an owned object check_nameosx.cocoa.RetainCount @@ -2680,7 +2680,7 @@ descriptionPotential leak of an object stored into 'result' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak of returned object check_nameosx.cocoa.RetainCount @@ -2876,7 +2876,7 @@ descriptionObject with a +0 retain count returned to caller where a +1 (owning) retain count is expected - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeMethod should return an owned object check_nameosx.cocoa.RetainCount @@ -2998,7 +2998,7 @@ descriptionIncorrect decrement of the reference count of an object that is not owned at this point by the caller - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeBad release check_nameosx.cocoa.RetainCount @@ -3119,7 +3119,7 @@ descriptionIncorrect decrement of the reference count of an object that is not owned at this point by the caller - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeBad release check_nameosx.cocoa.RetainCount @@ -3240,7 +3240,7 @@ descriptionIncorrect decrement of the reference count of an object that is not owned at this point by the caller - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeBad release check_nameosx.cocoa.RetainCount @@ -3361,7 +3361,7 @@ descriptionIncorrect decrement of the reference count of an object that is not owned at this point by the caller - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeBad release check_nameosx.cocoa.RetainCount @@ -3482,7 +3482,7 @@ descriptionIncorrect decrement of the reference count of an object that is not owned at this point by the caller - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeBad release check_nameosx.cocoa.RetainCount @@ -3840,7 +3840,7 @@ descriptionPotential leak of an object of type 'MyObj *' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -4239,7 +4239,7 @@ descriptionPotential leak of an object stored into 'y' - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeLeak check_nameosx.cocoa.RetainCount @@ -4517,7 +4517,7 @@ descriptionObject autoreleased too many times - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeObject autoreleased too many times check_nameosx.cocoa.RetainCount @@ -4715,7 +4715,7 @@ descriptionObject autoreleased too many times - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeObject autoreleased too many times check_nameosx.cocoa.RetainCount @@ -4987,7 +4987,7 @@ descriptionObject autoreleased too many times - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeObject autoreleased too many times check_nameosx.cocoa.RetainCount Index: clang/test/Analysis/inlining/Inputs/expected-plists/path-notes.m.plist =================================================================== --- clang/test/Analysis/inlining/Inputs/expected-plists/path-notes.m.plist +++ clang/test/Analysis/inlining/Inputs/expected-plists/path-notes.m.plist @@ -1964,7 +1964,7 @@ descriptionObject autoreleased too many times - categoryMemory (Core Foundation/Objective-C) + categoryMemory (Core Foundation/Objective-C/OSObject) typeObject autoreleased too many times check_nameosx.cocoa.RetainCount