Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:36:55

0001 //===--- SerializedDiagnosticPrinter.h - Diagnostics serializer -*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef LLVM_CLANG_FRONTEND_SERIALIZEDDIAGNOSTICPRINTER_H
0010 #define LLVM_CLANG_FRONTEND_SERIALIZEDDIAGNOSTICPRINTER_H
0011 
0012 #include "clang/Basic/LLVM.h"
0013 #include "clang/Frontend/SerializedDiagnostics.h"
0014 #include "llvm/Bitstream/BitstreamWriter.h"
0015 
0016 namespace llvm {
0017 class raw_ostream;
0018 }
0019 
0020 namespace clang {
0021 class DiagnosticConsumer;
0022 class DiagnosticOptions;
0023 
0024 namespace serialized_diags {
0025 
0026 /// Returns a DiagnosticConsumer that serializes diagnostics to
0027 ///  a bitcode file.
0028 ///
0029 /// The created DiagnosticConsumer is designed for quick and lightweight
0030 /// transfer of diagnostics to the enclosing build system (e.g., an IDE).
0031 /// This allows wrapper tools for Clang to get diagnostics from Clang
0032 /// (via libclang) without needing to parse Clang's command line output.
0033 ///
0034 std::unique_ptr<DiagnosticConsumer> create(StringRef OutputFile,
0035                                            DiagnosticOptions *Diags,
0036                                            bool MergeChildRecords = false);
0037 
0038 } // end serialized_diags namespace
0039 } // end clang namespace
0040 
0041 #endif