diff options
Diffstat (limited to 'examples/wpa')
-rw-r--r-- | examples/wpa/CMakeLists.txt | 1 | ||||
-rw-r--r-- | examples/wpa/Makefile | 4 | ||||
-rw-r--r-- | examples/wpa/clang-wpa.cpp | 13 |
3 files changed, 12 insertions, 6 deletions
diff --git a/examples/wpa/CMakeLists.txt b/examples/wpa/CMakeLists.txt index c2b2ce6..13e4298 100644 --- a/examples/wpa/CMakeLists.txt +++ b/examples/wpa/CMakeLists.txt @@ -6,6 +6,7 @@ set(LLVM_USED_LIBS clangDriver clangSema clangAnalysis + clangSerialization clangChecker clangRewrite clangAST diff --git a/examples/wpa/Makefile b/examples/wpa/Makefile index bd6ebfd..0a70ea6 100644 --- a/examples/wpa/Makefile +++ b/examples/wpa/Makefile @@ -17,7 +17,7 @@ TOOL_NO_EXPORTS = 1 LINK_COMPONENTS := asmparser bitreader mc core USEDLIBS = clangChecker.a clangIndex.a clangFrontend.a clangDriver.a \ - clangSema.a clangAnalysis.a clangAST.a clangParse.a clangLex.a \ - clangBasic.a + clangSema.a clangAnalysis.a clangSerialization.a \ + clangAST.a clangParse.a clangLex.a clangBasic.a include $(CLANG_LEVEL)/Makefile diff --git a/examples/wpa/clang-wpa.cpp b/examples/wpa/clang-wpa.cpp index 74ec368..41dca0d 100644 --- a/examples/wpa/clang-wpa.cpp +++ b/examples/wpa/clang-wpa.cpp @@ -62,6 +62,10 @@ public: return AST->getPreprocessor(); } + virtual Diagnostic &getDiagnostic() { + return AST->getDiagnostics(); + } + virtual DeclReferenceMap &getDeclReferenceMap() { return DeclRefMap; } @@ -87,7 +91,7 @@ int main(int argc, char **argv) { = CompilerInstance::createDiagnostics(DiagOpts, argc, argv); for (unsigned i = 0, e = InputFilenames.size(); i != e; ++i) { const std::string &InFile = InputFilenames[i]; - llvm::OwningPtr<ASTUnit> AST(ASTUnit::LoadFromPCHFile(InFile, Diags)); + llvm::OwningPtr<ASTUnit> AST(ASTUnit::LoadFromASTFile(InFile, Diags)); if (!AST) return 1; @@ -129,17 +133,18 @@ int main(int argc, char **argv) { AnalysisManager AMgr(TU->getASTContext(), PP.getDiagnostics(), PP.getLangOptions(), /* PathDiagnostic */ 0, CreateRegionStoreManager, - CreateRangeConstraintManager, + CreateRangeConstraintManager, &Idxer, /* MaxNodes */ 300000, /* MaxLoop */ 3, /* VisualizeEG */ false, /* VisualizeEGUbi */ false, /* PurgeDead */ true, /* EagerlyAssume */ false, - /* TrimGraph */ false, /* InlineCall */ true); + /* TrimGraph */ false, /* InlineCall */ true, + /* UseUnoptimizedCFG */ false); GRTransferFuncs* TF = MakeCFRefCountTF(AMgr.getASTContext(), /*GC*/false, AMgr.getLangOptions()); GRExprEngine Eng(AMgr, TF); - Eng.ExecuteWorkList(AMgr.getStackFrame(FD), AMgr.getMaxNodes()); + Eng.ExecuteWorkList(AMgr.getStackFrame(FD, TU), AMgr.getMaxNodes()); return 0; } |