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
This commit is contained in:
Charles Davis 2011-05-24 21:22:53 +00:00
parent ce98deb9f5
commit 40de0e013a
2 changed files with 20 additions and 1 deletions

View File

@ -21,7 +21,8 @@
using namespace llvm; using namespace llvm;
MCStreamer::MCStreamer(MCContext &Ctx) : Context(Ctx), EmitEHFrame(true), MCStreamer::MCStreamer(MCContext &Ctx) : Context(Ctx), EmitEHFrame(true),
EmitDebugFrame(false) { EmitDebugFrame(false),
CurrentW64UnwindInfo(0) {
const MCSection *section = NULL; const MCSection *section = NULL;
SectionStack.push_back(std::make_pair(section, section)); SectionStack.push_back(std::make_pair(section, section));
} }

View File

@ -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