summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2017-01-04 22:36:39 +0000
committerDavid Blaikie <dblaikie@gmail.com>2017-01-04 22:36:39 +0000
commit43a38450a94a569c3e33dfc1780f0a81ff085b31 (patch)
treec43db189180c5024f445f5f9183aa25ddb3b431a
parent7ad9dc11db44028b4f57343f07280560cf415f8a (diff)
downloadbcm5719-llvm-43a38450a94a569c3e33dfc1780f0a81ff085b31.tar.gz
bcm5719-llvm-43a38450a94a569c3e33dfc1780f0a81ff085b31.zip
Remove use of intrusive ref count ownership acquisition
The one use of CheckerManager (AnalysisConsumer, calling createCheckerManager) keeps a strong reference to the AnalysisOptions anyway, so this ownership wasn't necessary. (I'm not even sure AnalysisOptions needs ref counting at all - but that's more involved) llvm-svn: 291017
-rw-r--r--clang/include/clang/StaticAnalyzer/Core/CheckerManager.h8
-rw-r--r--clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp2
2 files changed, 5 insertions, 5 deletions
diff --git a/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h b/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
index 5af717d9026..0316c8fb173 100644
--- a/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
+++ b/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
@@ -102,12 +102,12 @@ enum class ObjCMessageVisitKind {
class CheckerManager {
const LangOptions LangOpts;
- AnalyzerOptionsRef AOptions;
+ AnalyzerOptions &AOptions;
CheckName CurrentCheckName;
public:
- CheckerManager(const LangOptions &langOpts, AnalyzerOptionsRef AOptions)
- : LangOpts(langOpts), AOptions(std::move(AOptions)) {}
+ CheckerManager(const LangOptions &langOpts, AnalyzerOptions &AOptions)
+ : LangOpts(langOpts), AOptions(AOptions) {}
~CheckerManager();
@@ -119,7 +119,7 @@ public:
void finishedCheckerRegistration();
const LangOptions &getLangOpts() const { return LangOpts; }
- AnalyzerOptions &getAnalyzerOptions() { return *AOptions; }
+ AnalyzerOptions &getAnalyzerOptions() { return AOptions; }
typedef CheckerBase *CheckerRef;
typedef const void *CheckerTag;
diff --git a/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp b/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp
index 31b6638e651..6792f89876c 100644
--- a/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp
+++ b/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp
@@ -116,7 +116,7 @@ ento::createCheckerManager(AnalyzerOptions &opts, const LangOptions &langOpts,
ArrayRef<std::string> plugins,
DiagnosticsEngine &diags) {
std::unique_ptr<CheckerManager> checkerMgr(
- new CheckerManager(langOpts, &opts));
+ new CheckerManager(langOpts, opts));
SmallVector<CheckerOptInfo, 8> checkerOpts = getCheckerOptList(opts);
OpenPOWER on IntegriCloud