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 | llvm-b2347fe50414eadb9f0386a8655579cdb22d42d3.zip llvm-b2347fe50414eadb9f0386a8655579cdb22d42d3.tar.gz llvm-b2347fe50414eadb9f0386a8655579cdb22d42d3.tar.bz2 | |
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 1b872e2..d3f7f778 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(); +} |
