diff options
Diffstat (limited to 'llvm/lib/MC/MCObjectStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCObjectStreamer.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp index 2357203..99ac7f4 100644 --- a/llvm/lib/MC/MCObjectStreamer.cpp +++ b/llvm/lib/MC/MCObjectStreamer.cpp @@ -143,7 +143,8 @@ void MCObjectStreamer::emitFrames(MCAsmBackend *MAB) { } MCFragment *MCObjectStreamer::getCurrentFragment() const { - return getCurrentSectionOnly()->curFragList()->Tail; + assert(CurFrag->getParent() == getCurrentSection().first); + return CurFrag; } static bool canReuseDataFragment(const MCDataFragment &F, @@ -307,6 +308,7 @@ bool MCObjectStreamer::changeSectionImpl(MCSection *Section, {Subsection, MCSection::FragList{F, F}}); } Section->CurFragList = &Subsections[I].second; + CurFrag = Section->CurFragList->Tail; return getAssembler().registerSection(*Section); } |