clang  6.0.0svn
PathDiagnosticConsumers.h
Go to the documentation of this file.
1 //===--- PathDiagnosticClients.h - Path Diagnostic Clients ------*- C++ -*-===//
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 // This file defines the interface to create different path diagostic clients.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHDIAGNOSTICCONSUMERS_H
15 #define LLVM_CLANG_STATICANALYZER_CORE_PATHDIAGNOSTICCONSUMERS_H
16 
17 #include <string>
18 #include <vector>
19 
20 namespace clang {
21 
22 class AnalyzerOptions;
23 class Preprocessor;
24 
25 namespace ento {
26 
28 typedef std::vector<PathDiagnosticConsumer*> PathDiagnosticConsumers;
29 
30 #define ANALYSIS_DIAGNOSTICS(NAME, CMDFLAG, DESC, CREATEFN)\
31 void CREATEFN(AnalyzerOptions &AnalyzerOpts,\
32  PathDiagnosticConsumers &C,\
33  const std::string &Prefix,\
34  const Preprocessor &PP);
35 #include "clang/StaticAnalyzer/Core/Analyses.def"
36 
37 } // end 'ento' namespace
38 } // end 'clang' namespace
39 
40 #endif
std::vector< PathDiagnosticConsumer * > PathDiagnosticConsumers
Dataflow Directional Tag Classes.