Remove Sema includes from Analysis code to fix layering
This moves a header-only class from Sema to Analysis and puts the option
check in Sema.
Patch by Chris Wailes!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188230 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/AnalysisBasedWarnings.cpp b/lib/Sema/AnalysisBasedWarnings.cpp
index 19fc29b..54b791e 100644
--- a/lib/Sema/AnalysisBasedWarnings.cpp
+++ b/lib/Sema/AnalysisBasedWarnings.cpp
@@ -1557,8 +1557,10 @@
DefaultPolicy.enableThreadSafetyAnalysis = (unsigned)
(D.getDiagnosticLevel(diag::warn_double_lock, SourceLocation()) !=
DiagnosticsEngine::Ignored);
- DefaultPolicy.enableConsumedAnalysis = consumed::checkEnabled(D);
-
+ DefaultPolicy.enableConsumedAnalysis =
+ (unsigned)(D.getDiagnosticLevel(diag::warn_use_while_consumed,
+ SourceLocation()) !=
+ DiagnosticsEngine::Ignored);
}
static void flushDiagnostics(Sema &S, sema::FunctionScopeInfo *fscope) {
@@ -1727,7 +1729,7 @@
// Check for violations of consumed properties.
if (P.enableConsumedAnalysis) {
consumed::ConsumedWarningsHandler WarningHandler(S);
- consumed::ConsumedAnalyzer Analyzer(S, WarningHandler);
+ consumed::ConsumedAnalyzer Analyzer(WarningHandler);
Analyzer.run(AC);
}