//===- llvm/MC/MCObjectWriter.h - Object File Writer Interface --*- 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 // //===----------------------------------------------------------------------===// #ifndef LLVM_MC_MCOBJECTWRITER_H #define LLVM_MC_MCOBJECTWRITER_H #include "llvm/MC/MCSymbol.h" #include "llvm/TargetParser/Triple.h" #include <cstdint> namespace llvm { class MCAssembler; class MCFixup; class MCFragment; class MCSymbol; class MCSymbolRefExpr; class MCValue; /// Defines the object file and target independent interfaces used by the /// assembler backend to write native file format object files. /// /// The object writer contains a few callbacks used by the assembler to allow /// the object writer to modify the assembler data structures at appropriate /// points. Once assembly is complete, the object writer is given the /// MCAssembler instance, which contains all the symbol and section data which /// should be emitted as part of writeObject(). class MCObjectWriter { … }; /// Base class for classes that define behaviour that is specific to both the /// target and the object format. class MCObjectTargetWriter { … }; } // end namespace llvm #endif // LLVM_MC_MCOBJECTWRITER_H