diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/MC/MCStreamer.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/MC/MCStreamer.cpp b/lib/MC/MCStreamer.cpp index ab7c798198..1ec7688a5e 100644 --- a/lib/MC/MCStreamer.cpp +++ b/lib/MC/MCStreamer.cpp @@ -362,10 +362,12 @@ void MCStreamer::EmitWin64EHHandler(const MCSymbol *Sym, bool Unwind, EnsureValidW64UnwindInfo(); MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo; CurFrame->ExceptionHandler = Sym; - if (Unwind) - CurFrame->UnwindOnly = true; - else if (!Except) + if (!Except && !Unwind) report_fatal_error("Don't know what kind of handler this is!"); + if (Unwind) + CurFrame->HandlesUnwind = true; + if (Except) + CurFrame->HandlesExceptions = true; } void MCStreamer::EmitWin64EHHandlerData() { |