]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / llvm / tools / clang / include / clang / StaticAnalyzer / Core / PathDiagnosticConsumers.h
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_GR_PATH_DIAGNOSTIC_CLIENTS_H
15 #define LLVM_CLANG_GR_PATH_DIAGNOSTIC_CLIENTS_H
16
17 #include <string>
18 #include <vector>
19
20 namespace clang {
21
22 class AnalyzerOptions;
23 class Preprocessor;
24
25 namespace ento {
26
27 class PathDiagnosticConsumer;
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