Back to home page

EIC code displayed by LXR

 
 

    


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

0001 //===-- CodeGen/ObjectFilePCHContainerWriter.h ------------------*- 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_CODEGEN_OBJECTFILEPCHCONTAINEROPERATIONS_H
0010 #define LLVM_CLANG_CODEGEN_OBJECTFILEPCHCONTAINEROPERATIONS_H
0011 
0012 #include "clang/Frontend/PCHContainerOperations.h"
0013 
0014 namespace clang {
0015 
0016 /// A PCHContainerWriter implementation that uses LLVM to
0017 /// wraps Clang modules inside a COFF, ELF, or Mach-O container.
0018 class ObjectFilePCHContainerWriter : public PCHContainerWriter {
0019   StringRef getFormat() const override { return "obj"; }
0020 
0021   /// Return an ASTConsumer that can be chained with a
0022   /// PCHGenerator that produces a wrapper file format
0023   /// that also contains full debug info for the module.
0024   std::unique_ptr<ASTConsumer>
0025   CreatePCHContainerGenerator(CompilerInstance &CI,
0026                               const std::string &MainFileName,
0027                               const std::string &OutputFileName,
0028                               std::unique_ptr<llvm::raw_pwrite_stream> OS,
0029                               std::shared_ptr<PCHBuffer> Buffer) const override;
0030 };
0031 
0032 }
0033 
0034 #endif