blob: daec6f3441ba773df07f63706fb52ff06a099a54 [file] [log] [blame]
Ted Kremenekf4381fd2008-07-02 00:03:09 +00001//===--- AnalysisConsumer.cpp - ASTConsumer for running Analyses ----------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// "Meta" ASTConsumer for running different source analyses.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef DRIVER_ANALYSISCONSUMER_H
15#define DRIVER_ANALYSISCONSUMER_H
16
17namespace clang {
18
19enum Analyses {
Ted Kremenekf7f3c202008-07-15 00:46:02 +000020#define ANALYSIS(NAME, CMDFLAG, DESC, SCOPE) NAME,
Ted Kremenekfb9a48c2008-07-14 23:41:13 +000021#include "Analyses.def"
22NumAnalyses
Ted Kremenekf4381fd2008-07-02 00:03:09 +000023};
Ted Kremenekfb9a48c2008-07-14 23:41:13 +000024
Ted Kremenekf4381fd2008-07-02 00:03:09 +000025ASTConsumer* CreateAnalysisConsumer(Analyses* Beg, Analyses* End,
26 Diagnostic &diags, Preprocessor* pp,
27 PreprocessorFactory* ppf,
28 const LangOptions& lopts,
29 const std::string& fname,
30 const std::string& htmldir,
Ted Kremenekf8ce6992008-08-27 22:31:43 +000031 bool VisualizeGraphViz,
32 bool VisualizeUbi,
33 bool VizTrimGraph,
34 bool AnalyzeAll);
Ted Kremenekf4381fd2008-07-02 00:03:09 +000035} // end clang namespace
36
37#endif