void Relocation::apply(Relocator& pRelocator) { Relocator::Result result = pRelocator.applyRelocation(*this); switch (result) { case Relocator::OK: { // do nothing return; } case Relocator::Overflow: { error(diag::result_overflow) << pRelocator.getName(type()) << symInfo()->name(); return; } case Relocator::BadReloc: { error(diag::result_badreloc) << pRelocator.getName(type()) << symInfo()->name(); return; } case Relocator::Unsupported: { fatal(diag::unsupported_relocation) << type() << "*****@*****.**"; return; } case Relocator::Unknown: { fatal(diag::unknown_relocation) << type() << symInfo()->name(); return; } } // end of switch }
local void saveAndEmptyPhaseSymbolData(Symbol sym) { if (symInfo(sym) && symCoInfo(sym) && symCoInfo(sym)->phaseVal.generic){ PhaseSymbolData psd = (PhaseSymbolData) stoAlloc(OB_Other, sizeof(*psd)); psd->sym = sym; psd->data = symCoInfo(sym)->phaseVal.generic; psdl = listCons(PhaseSymbolData)(psd, psdl); symCoInfo(sym)->phaseVal.generic = 0; } }