aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/MC/MCAssembler.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/MC/MCAssembler.h')
-rw-r--r--include/llvm/MC/MCAssembler.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/include/llvm/MC/MCAssembler.h b/include/llvm/MC/MCAssembler.h
index b7b2d66..ace09a4 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;
@@ -39,6 +43,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
@@ -52,7 +57,10 @@ public:
FT_Org,
FT_Dwarf,
FT_DwarfFrame,
- FT_LEB
+ FT_LEB,
+ FT_Region,
+ FT_Reloc,
+ FT_Target
};
private:
@@ -692,7 +700,7 @@ private:
MCCodeEmitter &Emitter;
- MCObjectWriter &Writer;
+ MCObjectWriter *Writer;
raw_ostream &OS;
@@ -821,7 +829,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),