Added AnalysisConsumer, a meta-level ASTConsumer class to drive various
analyses. This potentially is the primordial origins of a Clang-equivalent
"PassManager".
The new AnalysisConsumer interface allows multiple analyses to be run from a
single invocation of Clang.
Migrated the logic of "-warn-dead-stores" and "-warn-uninit-values" to use the
new AnalysisConsumer interface. The new interface results in a significant code
reduction to incorporate an analysis into the Driver.
Updated a test case to (correctly) acknowledge that it contains a dead store
(this check wasn't being performed because it was previously masked by
-warn-uninit-values).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52996 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/ASTConsumers.h b/Driver/ASTConsumers.h
index ca93e0f..5853664 100644
--- a/Driver/ASTConsumers.h
+++ b/Driver/ASTConsumers.h
@@ -30,7 +30,6 @@
class Preprocessor;
class PreprocessorFactory;
-
ASTConsumer *CreateASTPrinter(std::ostream* OS = NULL);
ASTConsumer *CreateASTDumper();
@@ -41,10 +40,6 @@
ASTConsumer *CreateLiveVarAnalyzer(const std::string& fname);
-ASTConsumer *CreateDeadStoreChecker(Diagnostic &Diags);
-
-ASTConsumer *CreateUnitValsChecker(Diagnostic &Diags);
-
ASTConsumer *CreateGRSimpleVals(Diagnostic &Diags,
Preprocessor* PP, PreprocessorFactory* PPF,
const std::string& Function,
@@ -75,4 +70,6 @@
} // end clang namespace
+#include "AnalysisConsumer.h"
+
#endif