diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2015-06-23 13:15:32 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2015-06-23 13:15:32 +0000 |
commit | 8d3a7a56a944f6b8452cb8e21ba68a293c7f5202 (patch) | |
tree | e7f2906cae208f6db629b25f46559dddb46ff5a1 /clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp | |
parent | 91d35a5e225c592a885ca993ce5628228ff26a49 (diff) | |
download | bcm5719-llvm-8d3a7a56a944f6b8452cb8e21ba68a293c7f5202.tar.gz bcm5719-llvm-8d3a7a56a944f6b8452cb8e21ba68a293c7f5202.zip |
Clarify pointer ownership semantics by hoisting the std::unique_ptr creation to the caller instead of hiding it in emitReport. NFC.
llvm-svn: 240400
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp')
-rw-r--r-- | clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp b/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp index 3fd55760bc5..f763284aa2c 100644 --- a/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp @@ -207,10 +207,10 @@ void NilArgChecker::generateBugReport(ExplodedNode *N, if (!BT) BT.reset(new APIMisuse(this, "nil argument")); - BugReport *R = new BugReport(*BT, Msg, N); + auto R = llvm::make_unique<BugReport>(*BT, Msg, N); R->addRange(Range); bugreporter::trackNullOrUndefValue(N, E, *R); - C.emitReport(R); + C.emitReport(std::move(R)); } void NilArgChecker::checkPreObjCMessage(const ObjCMethodCall &msg, @@ -516,9 +516,9 @@ void CFNumberCreateChecker::checkPreStmt(const CallExpr *CE, if (!BT) BT.reset(new APIMisuse(this, "Bad use of CFNumberCreate")); - BugReport *report = new BugReport(*BT, os.str(), N); + auto report = llvm::make_unique<BugReport>(*BT, os.str(), N); report->addRange(CE->getArg(2)->getSourceRange()); - C.emitReport(report); + C.emitReport(std::move(report)); } } @@ -605,10 +605,10 @@ void CFRetainReleaseChecker::checkPreStmt(const CallExpr *CE, else llvm_unreachable("impossible case"); - BugReport *report = new BugReport(*BT, description, N); + auto report = llvm::make_unique<BugReport>(*BT, description, N); report->addRange(Arg->getSourceRange()); bugreporter::trackNullOrUndefValue(N, Arg, *report); - C.emitReport(report); + C.emitReport(std::move(report)); return; } @@ -666,9 +666,9 @@ void ClassReleaseChecker::checkPreObjCMessage(const ObjCMethodCall &msg, "of class '" << Class->getName() << "' and not the class directly"; - BugReport *report = new BugReport(*BT, os.str(), N); + auto report = llvm::make_unique<BugReport>(*BT, os.str(), N); report->addRange(msg.getSourceRange()); - C.emitReport(report); + C.emitReport(std::move(report)); } } @@ -819,9 +819,9 @@ void VariadicMethodTypeChecker::checkPreObjCMessage(const ObjCMethodCall &msg, ArgTy.print(os, C.getLangOpts()); os << "'"; - BugReport *R = new BugReport(*BT, os.str(), errorNode.getValue()); + auto R = llvm::make_unique<BugReport>(*BT, os.str(), errorNode.getValue()); R->addRange(msg.getArgSourceRange(I)); - C.emitReport(R); + C.emitReport(std::move(R)); } } |