From 40de0e013a456971697491b428fb903570e8766e Mon Sep 17 00:00:00 2001 From: Charles Davis Date: Tue, 24 May 2011 21:22:53 +0000 Subject: [PATCH] Test basic SEH directive-parsing functionality. Fix a latent bug exposed by this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132004 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/MC/MCStreamer.cpp | 3 ++- test/MC/AsmParser/directive_seh.s | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 test/MC/AsmParser/directive_seh.s 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