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