From 4a2b237967010f18d60e22e81b79a0a915b994a8 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Tue, 3 Aug 2010 00:09:51 +0000 Subject: Add -cc1 option '-unoptimized-cfg' to toggle using a CFG (for static analysis) that doesn't prune CFG edges. llvm-svn: 110087 --- clang/lib/Analysis/AnalysisContext.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'clang/lib/Analysis/AnalysisContext.cpp') diff --git a/clang/lib/Analysis/AnalysisContext.cpp b/clang/lib/Analysis/AnalysisContext.cpp index ef0a50f98ee..ced4f1dd2ee 100644 --- a/clang/lib/Analysis/AnalysisContext.cpp +++ b/clang/lib/Analysis/AnalysisContext.cpp @@ -54,6 +54,9 @@ const ImplicitParamDecl *AnalysisContext::getSelfDecl() const { } CFG *AnalysisContext::getCFG() { + if (UseUnoptimizedCFG) + return getUnoptimizedCFG(); + if (!builtCFG) { cfg = CFG::buildCFG(D, getBody(), &D->getASTContext(), true, AddEHEdges); // Even when the cfg is not successfully built, we don't @@ -98,7 +101,7 @@ AnalysisContext *AnalysisContextManager::getContext(const Decl *D, idx::TranslationUnit *TU) { AnalysisContext *&AC = Contexts[D]; if (!AC) - AC = new AnalysisContext(D, TU); + AC = new AnalysisContext(D, TU, UseUnoptimizedCFG); return AC; } -- cgit v1.2.3