summaryrefslogtreecommitdiff
path: root/test/MC/COFF/seh.s
diff options
context:
space:
mode:
authorCharles Davis <cdavis@mines.edu>2011-05-27 15:10:25 +0000
committerCharles Davis <cdavis@mines.edu>2011-05-27 15:10:25 +0000
commit07cbe231738d64d830b77303d664b531130722f7 (patch)
tree15a979739e379b6131da6168f4b1f278fd2752cb /test/MC/COFF/seh.s
parent81e193cc1fad7ef13bb2d2043de011cac591894c (diff)
downloadllvm-07cbe231738d64d830b77303d664b531130722f7.tar.gz
llvm-07cbe231738d64d830b77303d664b531130722f7.tar.bz2
llvm-07cbe231738d64d830b77303d664b531130722f7.tar.xz
Assorted fixes for Win64 EH unwind info emission:
- Flip order of bitfields. This gets our output matching GAS. - Handle case where the end of the prolog wasn't specified. - If the resulting unwind info struct is less than 8 bytes, pad to 8 bytes. Add a test for the latter two. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132188 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/COFF/seh.s')
-rw-r--r--test/MC/COFF/seh.s17
1 files changed, 13 insertions, 4 deletions
diff --git a/test/MC/COFF/seh.s b/test/MC/COFF/seh.s
index 236b13ff1c..8cafcb3ab1 100644
--- a/test/MC/COFF/seh.s
+++ b/test/MC/COFF/seh.s
@@ -4,7 +4,7 @@
// CHECK: Name = .xdata
// CHECK-NEXT: VirtualSize
// CHECK-NEXT: VirtualAddress
-// CHECK-NEXT: SizeOfRawData = 44
+// CHECK-NEXT: SizeOfRawData = 52
// CHECK-NEXT: PointerToRawData
// CHECK-NEXT: PointerToRelocations
// CHECK-NEXT: PointerToLineNumbers
@@ -16,9 +16,10 @@
// CHECK-NEXT: IMAGE_SCN_MEM_READ
// CHECK-NEXT: IMAGE_SCN_MEM_WRITE
// CHECK-NEXT: SectionData
-// CHECK-NEXT: 21 12 08 30 00 30 0F 03 - 0E 88 00 00 09 46 02 00
-// CHECK-NEXT: 04 22 00 A1 00 00 00 00 - 00 00 00 00 24 00 00 00
-// CHECK-NEXT: 00 00 00 00 1B 00 00 00 - 00 00 00 00
+// CHECK-NEXT: 09 12 08 03 00 03 0F 30 - 0E 88 00 00 09 64 02 00
+// CHECK-NEXT: 04 22 00 1A 00 00 00 00 - 00 00 00 00 21 00 00 00
+// CHECK-NEXT: 00 00 00 00 1B 00 00 00 - 00 00 00 00 01 00 00 00
+// CHECK-NEXT: 00 00 00 00
.text
.globl func
@@ -49,3 +50,11 @@ func:
addq $24, %rsp
ret
.seh_endproc
+
+// Test emission of small functions.
+ .globl smallFunc
+ .def smallFunc; .scl 2; .type 32; .endef
+ .seh_proc smallFunc
+smallFunc:
+ ret
+ .seh_endproc