When clang-wpa was restored in r112014, it wasn't added back to the
examples/ Makefile or CMakeLists.txt, so it was never actually built,
and has been busted by API changes since August 2011.
From d8fde24f4450cdbb168aa7b73aa5a7ed2e77d689 Mon Sep 17 00:00:00 2001
From: nobled <[email protected]>
Date: Mon, 20 Feb 2012 17:19:22 +0000
Subject: [PATCH 1/2] examples/clang-wpa: adapt to API changes
When clang-wpa was restored in r112014, it wasn't added back to the
examples/ Makefile or CMakeLists.txt, so it was never actually built,
and has been busted by API changes since August 2011:
- Replacement of registerCheckers() with createCheckerManager() in r137758
- Removal of TransferFuncs from ExprEngine's constructor in r138998
- Removal of the TransferFuncs.h header entirely in r139003
- Rename of Diagnostic -> DiagnosticsEngine in r140478
- Replacement of AnalyzerOpts bool 'PurgeDead' with enum 'AnalysisPurgeOpt'
in r140838
- Removal of AnalysisManager::getStackFrame() in r142739
---
examples/wpa/clang-wpa.cpp | 22 +++++++++++-----------
1 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/examples/wpa/clang-wpa.cpp b/examples/wpa/clang-wpa.cpp
index b1119e1..c6176cf 100644
--- a/examples/wpa/clang-wpa.cpp
+++ b/examples/wpa/clang-wpa.cpp
@@ -17,7 +17,6 @@
#include "clang/StaticAnalyzer/Frontend/CheckerRegistration.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
-#include "clang/StaticAnalyzer/Core/PathSensitive/TransferFuncs.h"
#include "clang/StaticAnalyzer/Core/CheckerManager.h"
#include "clang/StaticAnalyzer/Checkers/LocalCheckers.h"
#include "clang/Frontend/ASTUnit.h"
@@ -65,7 +64,7 @@ public:
return AST->getPreprocessor();
}
- virtual Diagnostic &getDiagnostic() {
+ virtual DiagnosticsEngine &getDiagnostic() {
return AST->getDiagnostics();
}
@@ -90,7 +89,7 @@ int main(int argc, char **argv) {
return 0;
DiagnosticOptions DiagOpts;
- IntrusiveRefCntPtr<Diagnostic> Diags
+ IntrusiveRefCntPtr<DiagnosticsEngine> Diags
= CompilerInstance::createDiagnostics(DiagOpts, argc, argv);
for (unsigned i = 0, e = InputFilenames.size(); i != e; ++i) {
const std::string &InFile = InputFilenames[i];
@@ -155,8 +154,9 @@ int main(int argc, char **argv) {
Opts.CheckersControlList.push_back(std::make_pair("cocoa", true));
OwningPtr<ento::CheckerManager> checkerMgr;
- checkerMgr.reset(ento::registerCheckers(Opts, PP.getLangOptions(),
- PP.getDiagnostics()));
+ ArrayRef<std::string> Plugins; // Empty.
+ checkerMgr.reset(ento::createCheckerManager(Opts, PP.getLangOptions(),
+ Plugins, PP.getDiagnostics()));
using namespace clang::ento;
AnalysisManager AMgr(TU->getASTContext(), PP.getDiagnostics(),
@@ -165,17 +165,17 @@ int main(int argc, char **argv) {
CreateRangeConstraintManager, checkerMgr.get(), &Idxer,
Opts.MaxNodes, Opts.MaxLoop,
Opts.VisualizeEGDot, Opts.VisualizeEGUbi,
- Opts.PurgeDead, Opts.EagerlyAssume,
+ Opts.AnalysisPurgeOpt, Opts.EagerlyAssume,
Opts.TrimGraph, Opts.InlineCall,
Opts.UnoptimizedCFG, Opts.CFGAddImplicitDtors,
Opts.CFGAddInitializers,
Opts.EagerlyTrimEGraph);
- TransferFuncs* TF = MakeCFRefCountTF(AMgr.getASTContext(), /*GC*/false,
- AMgr.getLangOptions());
- ExprEngine Eng(AMgr, TF);
+ ExprEngine Eng(AMgr, /*GC*/false);
+
+ AnalysisDeclContextManager &ADCM = AMgr.getAnalysisDeclContextManager();
+
+ Eng.ExecuteWorkList(ADCM.getStackFrame(FD, TU), AMgr.getMaxNodes());
- Eng.ExecuteWorkList(AMgr.getStackFrame(FD, TU), AMgr.getMaxNodes());
-
return 0;
}
--
1.7.4.1
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits