PathDiagnosticConsumers.h revision 5fba5a789a238c29ef811a39a39be722443ec1b1
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
20namespace clang {
21
22class AnalyzerOptions;
23class Preprocessor;
24
25namespace ento {
26
27class PathDiagnosticConsumer;
28typedef std::vector<PathDiagnosticConsumer*> PathDiagnosticConsumers;
29
30#define ANALYSIS_DIAGNOSTICS(NAME, CMDFLAG, DESC, CREATEFN)\
31void 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
41