diff --git a/lib/MC/MCStreamer.cpp b/lib/MC/MCStreamer.cpp index 1402033d41d..19aeaafc722 100644 --- a/lib/MC/MCStreamer.cpp +++ b/lib/MC/MCStreamer.cpp @@ -21,7 +21,8 @@ using namespace llvm; MCStreamer::MCStreamer(MCContext &Ctx) : Context(Ctx), EmitEHFrame(true), - EmitDebugFrame(false) { + EmitDebugFrame(false), + CurrentW64UnwindInfo(0) { const MCSection *section = NULL; SectionStack.push_back(std::make_pair(section, section)); } diff --git a/test/MC/AsmParser/directive_seh.s b/test/MC/AsmParser/directive_seh.s new file mode 100644 index 00000000000..5fd2efad39a --- /dev/null +++ b/test/MC/AsmParser/directive_seh.s @@ -0,0 +1,18 @@ +# RUN: llvm-mc -triple x86_64-pc-win32 %s | FileCheck %s + +# CHECK: .seh_proc func +# CHECK: .seh_stackalloc 8 +# CHECK: .seh_endprologue +# CHECK: .seh_endproc + + .text + .globl func + .def func; .scl 2; .type 32; .endef + .seh_proc func +func: + subq $8, %rsp + .seh_stackalloc 8 + .seh_endprologue + addq $8, %rsp + ret + .seh_endproc