diff options
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp index 6727f5edd26..a57988a4913 100644 --- a/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp +++ b/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp @@ -20,6 +20,7 @@ public: : MCWinCOFFStreamer(C, AB, *CE, OS) { } void EmitWinEHHandlerData() override; + void EmitWindowsUnwindTables() override; void FinishImpl() override; }; @@ -31,6 +32,12 @@ void X86WinCOFFStreamer::EmitWinEHHandlerData() { MCWin64EHUnwindEmitter::EmitUnwindInfo(*this, getCurrentWinFrameInfo()); } +void X86WinCOFFStreamer::EmitWindowsUnwindTables() { + if (!getNumWinFrameInfos()) + return; + MCWin64EHUnwindEmitter::Emit(*this); +} + void X86WinCOFFStreamer::FinishImpl() { EmitFrames(nullptr); EmitWindowsUnwindTables(); |