diff options
Diffstat (limited to 'include/llvm/MC/MCAssembler.h')
| -rw-r--r-- | include/llvm/MC/MCAssembler.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/include/llvm/MC/MCAssembler.h b/include/llvm/MC/MCAssembler.h index 2566241..915645f 100644 --- a/include/llvm/MC/MCAssembler.h +++ b/include/llvm/MC/MCAssembler.h @@ -21,6 +21,10 @@ #include "llvm/Support/DataTypes.h" #include <vector> // FIXME: Shouldn't be needed. +namespace mcld { +class Layout; +} + namespace llvm { class raw_ostream; class MCAsmLayout; @@ -40,6 +44,7 @@ class MCAsmBackend; class MCFragment : public ilist_node<MCFragment> { friend class MCAsmLayout; + friend class mcld::Layout; MCFragment(const MCFragment&); // DO NOT IMPLEMENT void operator=(const MCFragment&); // DO NOT IMPLEMENT @@ -53,7 +58,10 @@ public: FT_Org, FT_Dwarf, FT_DwarfFrame, - FT_LEB + FT_LEB, + FT_Region, + FT_Reloc, + FT_Target }; private: @@ -679,7 +687,7 @@ private: MCCodeEmitter &Emitter; - MCObjectWriter &Writer; + MCObjectWriter *Writer; raw_ostream &OS; @@ -807,7 +815,9 @@ public: MCCodeEmitter &getEmitter() const { return Emitter; } - MCObjectWriter &getWriter() const { return Writer; } + MCObjectWriter &getWriter() const { return *Writer; } + + void setWriter(MCObjectWriter &ObjectWriter); /// Finish - Do final processing and write the object to the output stream. /// \arg Writer is used for custom object writer (as the MCJIT does), |
