//===- llvm/IR/DiagnosticPrinter.h - Diagnostic Printer ---------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file declares the main interface for printer backend diagnostic. // // Clients of the backend diagnostics should overload this interface based // on their needs. //===----------------------------------------------------------------------===// #ifndef LLVM_IR_DIAGNOSTICPRINTER_H #define LLVM_IR_DIAGNOSTICPRINTER_H #include <string> namespace llvm { // Forward declarations. class Module; class raw_ostream; class SMDiagnostic; class StringRef; class Twine; class Value; /// Interface for custom diagnostic printing. class DiagnosticPrinter { … }; /// Basic diagnostic printer that uses an underlying raw_ostream. class DiagnosticPrinterRawOStream : public DiagnosticPrinter { … }; } // end namespace llvm #endif // LLVM_IR_DIAGNOSTICPRINTER_H