aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-03-19 10:43:26 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-03-19 10:43:26 +0000
commit0c93df02c31e79cb9607dfeebc998afb4584c5ed (patch)
treec6a5d3281d45adaa8a89ad366a54ae5d7c965ad4 /include
parentbeaa0b465ece9005d46729781b248b125344d660 (diff)
downloadexternal_llvm-0c93df02c31e79cb9607dfeebc998afb4584c5ed.zip
external_llvm-0c93df02c31e79cb9607dfeebc998afb4584c5ed.tar.gz
external_llvm-0c93df02c31e79cb9607dfeebc998afb4584c5ed.tar.bz2
MC: Add TargetAsmBackend::createObjectWriter.
- MCAssembler is now object-file independent, although we will surely need more work to fully support ELF/COFF. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98955 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Target/TargetAsmBackend.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetAsmBackend.h b/include/llvm/Target/TargetAsmBackend.h
index 97b1d60..bb501cc 100644
--- a/include/llvm/Target/TargetAsmBackend.h
+++ b/include/llvm/Target/TargetAsmBackend.h
@@ -15,8 +15,10 @@
namespace llvm {
class MCAsmFixup;
class MCDataFragment;
+class MCObjectWriter;
class MCSection;
class Target;
+class raw_ostream;
/// TargetAsmBackend - Generic interface to target specific assembler backends.
class TargetAsmBackend {
@@ -37,6 +39,10 @@ public:
const Target &getTarget() const { return TheTarget; }
+ /// createObjectWriter - Create a new MCObjectWriter instance for use by the
+ /// assembler backend to emit the final object file.
+ virtual MCObjectWriter *createObjectWriter(raw_ostream &OS) const = 0;
+
/// hasAbsolutizedSet - Check whether this target "absolutizes"
/// assignments. That is, given code like:
/// a: