15d866256333fb6115a8a86ac4f89b2ca36e20c70Ted Kremenek//===--- PathDiagnosticClients.h - Path Diagnostic Clients ------*- C++ -*-===// 288f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek// 388f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek// The LLVM Compiler Infrastructure 488f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek// 588f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek// This file is distributed under the University of Illinois Open Source 688f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek// License. See LICENSE.TXT for details. 788f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek// 888f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek//===----------------------------------------------------------------------===// 988f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek// 105d866256333fb6115a8a86ac4f89b2ca36e20c70Ted Kremenek// This file defines the interface to create different path diagostic clients. 1188f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek// 1288f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek//===----------------------------------------------------------------------===// 1388f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek 145a4f98ff943e6a501b0fe47ade007c9bbf96cb88Argyrios Kyrtzidis#ifndef LLVM_CLANG_GR_PATH_DIAGNOSTIC_CLIENTS_H 15b5ef3ca808b16aa2ba010251773e820f57190d1aSebastian Redl#define LLVM_CLANG_GR_PATH_DIAGNOSTIC_CLIENTS_H 1688f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek 1788f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek#include <string> 18c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek#include <vector> 1988f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek 2088f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremeneknamespace clang { 21339b9c27759d7b6a53e2370f83f66e78b3254595Ted Kremenek 22339b9c27759d7b6a53e2370f83f66e78b3254595Ted Kremenekclass Preprocessor; 231eb4433ac451dc16f4133a88af2d002ac26c58efMike Stump 249ef6537a894c33003359b1f9b9676e9178e028b7Ted Kremeneknamespace ento { 255a4f98ff943e6a501b0fe47ade007c9bbf96cb88Argyrios Kyrtzidis 26ef3643fbbbf66247c5e205497fae0f46e240c143David Blaikieclass PathDiagnosticConsumer; 27c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenektypedef std::vector<PathDiagnosticConsumer*> PathDiagnosticConsumers; 285a4f98ff943e6a501b0fe47ade007c9bbf96cb88Argyrios Kyrtzidis 29c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenekvoid createHTMLDiagnosticConsumer(PathDiagnosticConsumers &C, 30c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek const std::string& prefix, 31c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek const Preprocessor &PP); 321eb4433ac451dc16f4133a88af2d002ac26c58efMike Stump 33c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenekvoid createPlistDiagnosticConsumer(PathDiagnosticConsumers &C, 34c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek const std::string& prefix, 35c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek const Preprocessor &PP); 3688f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek 37c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenekvoid createPlistMultiFileDiagnosticConsumer(PathDiagnosticConsumers &C, 38c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek const std::string& prefix, 39c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek const Preprocessor &PP); 4029af3c7425b791daf5c9ec0a820d6b5baab2ddccTed Kremenek 41c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenekvoid createTextPathDiagnosticConsumer(PathDiagnosticConsumers &C, 42c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek const std::string& prefix, 43c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek const Preprocessor &PP); 44ebd4f52093b93fed57dcab6fa3a9033e3850ca4bArgyrios Kyrtzidis 45c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek} // end 'ento' namespace 46c4bac8e376b98d633bb00ee5f510d5e58449753cTed Kremenek} // end 'clang' namespace 475a4f98ff943e6a501b0fe47ade007c9bbf96cb88Argyrios Kyrtzidis 4888f5cde90dbb5f28cc269071d5ab11436767a1e1Ted Kremenek#endif 49