summaryrefslogtreecommitdiffstats
path: root/llvm/test
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
commitea5dc3a67b90b26e73d6a67b08d3927b9dd5d14f (patch)
treef3bc71837d6f1b3ba5a69cfc71045190140eac75 /llvm/test
parent2daba3380d3804357382810e4e9e9065fab80420 (diff)
downloadbcm5719-llvm-ea5dc3a67b90b26e73d6a67b08d3927b9dd5d14f.tar.gz
bcm5719-llvm-ea5dc3a67b90b26e73d6a67b08d3927b9dd5d14f.zip
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. llvm-svn: 132188
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/MC/COFF/seh.s17
1 files changed, 13 insertions, 4 deletions
diff --git a/llvm/test/MC/COFF/seh.s b/llvm/test/MC/COFF/seh.s
index 236b13ff1c2..8cafcb3ab15 100644
--- a/llvm/test/MC/COFF/seh.s
+++ b/llvm/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
OpenPOWER on IntegriCloud