}
namespace {
- class FrameEmitterImpl {
- int CFAOffset;
- int InitialCFAOffset;
- bool IsEH;
- const MCSymbol *SectionStart;
- public:
- FrameEmitterImpl(bool isEH)
- : CFAOffset(0), InitialCFAOffset(0), IsEH(isEH), SectionStart(nullptr) {
- }
-
- void setSectionStart(const MCSymbol *Label) { SectionStart = Label; }
-
- /// Emit the unwind information in a compact way.
- void EmitCompactUnwind(MCObjectStreamer &streamer,
- const MCDwarfFrameInfo &frame);
-
- const MCSymbol &EmitCIE(MCObjectStreamer &streamer,
- const MCSymbol *personality,
- unsigned personalityEncoding,
- const MCSymbol *lsda,
- bool IsSignalFrame,
- unsigned lsdaEncoding,
- bool IsSimple);
- MCSymbol *EmitFDE(MCObjectStreamer &streamer,
- const MCSymbol &cieStart,
- const MCDwarfFrameInfo &frame);
- void EmitCFIInstructions(MCObjectStreamer &streamer,
- ArrayRef<MCCFIInstruction> Instrs,
- MCSymbol *BaseLabel);
- void EmitCFIInstruction(MCObjectStreamer &Streamer,
- const MCCFIInstruction &Instr);
- };
+class FrameEmitterImpl {
+ int CFAOffset;
+ int InitialCFAOffset;
+ bool IsEH;
+ const MCSymbol *SectionStart;
+
+public:
+ FrameEmitterImpl(bool isEH)
+ : CFAOffset(0), InitialCFAOffset(0), IsEH(isEH), SectionStart(nullptr) {}
+
+ void setSectionStart(const MCSymbol *Label) { SectionStart = Label; }
+
+ /// Emit the unwind information in a compact way.
+ void EmitCompactUnwind(MCObjectStreamer &streamer,
+ const MCDwarfFrameInfo &frame);
+
+ const MCSymbol &EmitCIE(MCObjectStreamer &streamer,
+ const MCSymbol *personality,
+ unsigned personalityEncoding, const MCSymbol *lsda,
+ bool IsSignalFrame, unsigned lsdaEncoding,
+ bool IsSimple);
+ MCSymbol *EmitFDE(MCObjectStreamer &streamer, const MCSymbol &cieStart,
+ const MCDwarfFrameInfo &frame);
+ void EmitCFIInstructions(MCObjectStreamer &streamer,
+ ArrayRef<MCCFIInstruction> Instrs,
+ MCSymbol *BaseLabel);
+ void EmitCFIInstruction(MCObjectStreamer &Streamer,
+ const MCCFIInstruction &Instr);
+};
} // end anonymous namespace