F->setParent(CurSection);
}
for (MCSymbol *Sym : PendingLabels) {
- MCSymbol *SD = &Sym->getData();
- SD->setFragment(F);
+ Sym->setFragment(F);
Sym->setOffset(FOffset);
}
PendingLabels.clear();
// Must have symbol data.
if (!Assembler->hasSymbolData(*Hi) || !Assembler->hasSymbolData(*Lo))
return false;
- auto &HiD = Hi->getData();
- auto &LoD = Lo->getData();
// Must both be assigned to the same (valid) fragment.
- if (!HiD.getFragment() || HiD.getFragment() != LoD.getFragment())
+ if (!Hi->getFragment() || Hi->getFragment() != Lo->getFragment())
return false;
// Must be a data fragment.
- if (!isa<MCDataFragment>(HiD.getFragment()))
+ if (!isa<MCDataFragment>(Hi->getFragment()))
return false;
assert(Hi->getOffset() >= Lo->getOffset() &&
MCStreamer::EmitLabel(Symbol);
getAssembler().registerSymbol(*Symbol);
- MCSymbol &SD = Symbol->getData();
- assert(!SD.getFragment() && "Unexpected fragment on symbol data!");
+ assert(!Symbol->getFragment() && "Unexpected fragment on symbol data!");
// If there is a current fragment, mark the symbol as pointing into it.
// Otherwise queue the label and set its fragment pointer when we emit the
auto *F = dyn_cast_or_null<MCDataFragment>(getCurrentFragment());
if (F && !(getAssembler().isBundlingEnabled() &&
getAssembler().getRelaxAll())) {
- SD.setFragment(F);
+ Symbol->setFragment(F);
Symbol->setOffset(F->getContents().size());
} else {
PendingLabels.push_back(Symbol);