diff options
Diffstat (limited to 'lib/CodeGen/AsmPrinter/Win64Exception.cpp')
-rw-r--r-- | lib/CodeGen/AsmPrinter/Win64Exception.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/CodeGen/AsmPrinter/Win64Exception.cpp b/lib/CodeGen/AsmPrinter/Win64Exception.cpp index a23c05ece2..8ef4587836 100644 --- a/lib/CodeGen/AsmPrinter/Win64Exception.cpp +++ b/lib/CodeGen/AsmPrinter/Win64Exception.cpp @@ -76,6 +76,13 @@ void Win64Exception::BeginFunction(const MachineFunction *MF) { return; Asm->OutStreamer.EmitWin64EHStartProc(Asm->CurrentFnSym); + + if (!shouldEmitPersonality) + return; + + MCSymbol *GCCHandlerSym = + Asm->GetExternalSymbolSymbol("_GCC_specific_handler"); + Asm->OutStreamer.EmitWin64EHHandler(GCCHandlerSym, true, true); } /// EndFunction - Gather and emit post-function exception information. |