diff options
Diffstat (limited to 'lib/MC/MCAssembler.cpp')
-rw-r--r-- | lib/MC/MCAssembler.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/MC/MCAssembler.cpp b/lib/MC/MCAssembler.cpp index f0ac26b..21dcdd7 100644 --- a/lib/MC/MCAssembler.cpp +++ b/lib/MC/MCAssembler.cpp @@ -586,10 +586,10 @@ static void writeFragment(const MCAssembler &Asm, const MCAsmLayout &Layout, case MCFragment::FT_Align: { ++stats::EmittedAlignFragments; const MCAlignFragment &AF = cast<MCAlignFragment>(F); - uint64_t Count = FragmentSize / AF.getValueSize(); - assert(AF.getValueSize() && "Invalid virtual align in concrete fragment!"); + uint64_t Count = FragmentSize / AF.getValueSize(); + // FIXME: This error shouldn't actually occur (the front end should emit // multiple .align directives to enforce the semantics it wants), but is // severe enough that we want to report it. How to handle this? @@ -714,12 +714,13 @@ void MCAssembler::writeSectionData(const MCSectionData *SD, case MCFragment::FT_Align: // Check that we aren't trying to write a non-zero value into a virtual // section. - assert((!cast<MCAlignFragment>(it)->getValueSize() || - !cast<MCAlignFragment>(it)->getValue()) && + assert((cast<MCAlignFragment>(it)->getValueSize() == 0 || + cast<MCAlignFragment>(it)->getValue() == 0) && "Invalid align in virtual section!"); break; case MCFragment::FT_Fill: - assert(!cast<MCFillFragment>(it)->getValueSize() && + assert((cast<MCFillFragment>(it)->getValueSize() == 0 || + cast<MCFillFragment>(it)->getValue() == 0) && "Invalid fill in virtual section!"); break; } |