2008-07-02 04:03:09 +04:00
|
|
|
//===--- AnalysisConsumer.cpp - ASTConsumer for running Analyses ----------===//
|
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//
|
|
|
|
// "Meta" ASTConsumer for running different source analyses.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
#ifndef DRIVER_ANALYSISCONSUMER_H
|
|
|
|
#define DRIVER_ANALYSISCONSUMER_H
|
|
|
|
|
|
|
|
namespace clang {
|
|
|
|
|
|
|
|
enum Analyses {
|
2008-07-15 04:46:02 +04:00
|
|
|
#define ANALYSIS(NAME, CMDFLAG, DESC, SCOPE) NAME,
|
2008-07-15 03:41:13 +04:00
|
|
|
#include "Analyses.def"
|
|
|
|
NumAnalyses
|
2008-07-02 04:03:09 +04:00
|
|
|
};
|
2008-10-24 05:04:59 +04:00
|
|
|
|
|
|
|
enum AnalysisStores {
|
|
|
|
#define ANALYSIS_STORE(NAME, CMDFLAG, DESC) NAME##Model,
|
|
|
|
#include "Analyses.def"
|
|
|
|
NumStores
|
|
|
|
};
|
2008-11-04 02:18:07 +03:00
|
|
|
|
|
|
|
enum AnalysisDiagClients {
|
|
|
|
#define ANALYSIS_DIAGNOSTICS(NAME, CMDFLAG, DESC, CREATFN) PD_##NAME,
|
|
|
|
#include "Analyses.def"
|
|
|
|
NUM_ANALYSIS_DIAG_CLIENTS
|
|
|
|
};
|
2008-07-15 03:41:13 +04:00
|
|
|
|
2008-07-02 04:03:09 +04:00
|
|
|
ASTConsumer* CreateAnalysisConsumer(Analyses* Beg, Analyses* End,
|
2008-11-04 02:18:07 +03:00
|
|
|
AnalysisStores SM, AnalysisDiagClients DC,
|
2008-07-02 04:03:09 +04:00
|
|
|
Diagnostic &diags, Preprocessor* pp,
|
|
|
|
PreprocessorFactory* ppf,
|
|
|
|
const LangOptions& lopts,
|
|
|
|
const std::string& fname,
|
|
|
|
const std::string& htmldir,
|
2008-08-28 02:31:43 +04:00
|
|
|
bool VisualizeGraphViz,
|
|
|
|
bool VisualizeUbi,
|
2008-10-24 05:04:59 +04:00
|
|
|
bool VizTrimGraph,
|
2008-08-28 02:31:43 +04:00
|
|
|
bool AnalyzeAll);
|
2008-07-02 04:03:09 +04:00
|
|
|
} // end clang namespace
|
|
|
|
|
|
|
|
#endif
|