diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-06-16 20:04:25 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-06-16 20:04:25 +0000 |
commit | b2347fe50414eadb9f0386a8655579cdb22d42d3 (patch) | |
tree | 4c0fbbb2775bb1a0dd1c85dca02f5f68250ab87d /llvm/lib/MC/MCObjectStreamer.cpp | |
parent | 8a3c9d9bc43c5efaac8e44341b8d2c58c78875d2 (diff) | |
download | bcm5719-llvm-b2347fe50414eadb9f0386a8655579cdb22d42d3.tar.gz bcm5719-llvm-b2347fe50414eadb9f0386a8655579cdb22d42d3.zip |
MC: Lift SwitchSection() and Finish() into MCObjectStreamer.
llvm-svn: 106141
Diffstat (limited to 'llvm/lib/MC/MCObjectStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCObjectStreamer.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp index 1b872e23950..d3f7f7783ff 100644 --- a/llvm/lib/MC/MCObjectStreamer.cpp +++ b/llvm/lib/MC/MCObjectStreamer.cpp @@ -14,11 +14,26 @@ using namespace llvm; MCObjectStreamer::MCObjectStreamer(MCContext &Context, TargetAsmBackend &TAB, raw_ostream &_OS, MCCodeEmitter *_Emitter) - : MCStreamer(Context), - Assembler(new MCAssembler(Context, TAB, *_Emitter, _OS)) + : MCStreamer(Context), Assembler(new MCAssembler(Context, TAB, + *_Emitter, _OS)), + CurSectionData(0) { } MCObjectStreamer::~MCObjectStreamer() { delete Assembler; } + +void MCObjectStreamer::SwitchSection(const MCSection *Section) { + assert(Section && "Cannot switch to a null section!"); + + // If already in this section, then this is a noop. + if (Section == CurSection) return; + + CurSection = Section; + CurSectionData = &getAssembler().getOrCreateSectionData(*Section); +} + +void MCObjectStreamer::Finish() { + getAssembler().Finish(); +} |