diff options
| author | Charles Davis <cdavis@mines.edu> | 2011-05-24 21:22:53 +0000 |
|---|---|---|
| committer | Charles Davis <cdavis@mines.edu> | 2011-05-24 21:22:53 +0000 |
| commit | f4ce8fde1882c2dc00f1df754ef71091e16db2ac (patch) | |
| tree | fe12ab4bfb0c804e7e39001a4504efaec43f6aa8 | |
| parent | 2db176c4c1ceb860c41dec40db24a734d563db8a (diff) | |
| download | llvm-f4ce8fde1882c2dc00f1df754ef71091e16db2ac.zip llvm-f4ce8fde1882c2dc00f1df754ef71091e16db2ac.tar.gz llvm-f4ce8fde1882c2dc00f1df754ef71091e16db2ac.tar.bz2 | |
Test basic SEH directive-parsing functionality. Fix a latent bug exposed by
this test.
llvm-svn: 132004
| -rw-r--r-- | llvm/lib/MC/MCStreamer.cpp | 3 | ||||
| -rw-r--r-- | llvm/test/MC/AsmParser/directive_seh.s | 18 |
2 files changed, 20 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCStreamer.cpp b/llvm/lib/MC/MCStreamer.cpp index 1402033d..19aeaaf 100644 --- a/llvm/lib/MC/MCStreamer.cpp +++ b/llvm/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/llvm/test/MC/AsmParser/directive_seh.s b/llvm/test/MC/AsmParser/directive_seh.s new file mode 100644 index 0000000..5fd2efa --- /dev/null +++ b/llvm/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 |
