- const MCSymbol *Sym;
- switch (PerEncoding & 0x70) {
- default:
- report_fatal_error("We do not support this DWARF encoding yet!");
- case dwarf::DW_EH_PE_absptr: {
- Sym = Asm->Mang->getSymbol(Per);
- break;
- }
- case dwarf::DW_EH_PE_pcrel: {
- Sym = Asm->GetTempSymbol("personality",
- MMI->getPersonalityIndex());
- break;
- }
- }
- Asm->OutStreamer.EmitCFIPersonality(Sym, PerEncoding);
-}
-
-/// EndFunction - Gather and emit post-function exception information.
-///
-void DwarfCFIException::EndFunction() {
- if (!shouldEmitMoves && !shouldEmitTable) return;
+ const MCSymbol *Sym =
+ TLOF.getCFIPersonalitySymbol(Per, *Asm->Mang, Asm->TM, MMI);
+ Asm->OutStreamer->EmitCFIPersonality(Sym, PerEncoding);