void MCAsmLayout::ensureValid(const MCFragment *F) const { MCSection *Sec = F->getParent(); MCSection::iterator I; if (MCFragment *Cur = LastValidFragment[Sec]) I = ++MCSection::iterator(Cur); else I = Sec->begin(); // Advance the layout position until the fragment is valid. while (!isFragmentValid(F)) { assert(I != Sec->end() && "Layout bookkeeping error"); const_cast<MCAsmLayout *>(this)->layoutFragment(&*I); ++I; } }