summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/COFF/cv-inline-linetable.s
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/MC/COFF/cv-inline-linetable.s')
-rw-r--r--llvm/test/MC/COFF/cv-inline-linetable.s124
1 files changed, 124 insertions, 0 deletions
diff --git a/llvm/test/MC/COFF/cv-inline-linetable.s b/llvm/test/MC/COFF/cv-inline-linetable.s
new file mode 100644
index 00000000000..db83de97ac8
--- /dev/null
+++ b/llvm/test/MC/COFF/cv-inline-linetable.s
@@ -0,0 +1,124 @@
+# RUN: llvm-mc -triple=i686-pc-win32 -filetype=obj < %s | llvm-readobj -codeview | FileCheck %s
+ .text
+ .def @feat.00;
+ .scl 3;
+ .type 0;
+ .endef
+ .globl @feat.00
+@feat.00 = 1
+ .def "?baz@@YAXXZ";
+ .scl 2;
+ .type 32;
+ .endef
+ .globl "?baz@@YAXXZ"
+ .p2align 4, 0x90
+"?baz@@YAXXZ": # @"\01?baz@@YAXXZ"
+Lfunc_begin0:
+ .cv_file 1 "D:\\src\\llvm\\build\\t.cpp"
+ .cv_loc 0 1 13 0 is_stmt 0 # t.cpp:13:0
+# BB#0: # %entry
+ pushl %eax
+ .cv_loc 0 1 14 5 # t.cpp:14:5
+ addl $6, "?x@@3HC"
+ .cv_loc 1 1 9 5 # t.cpp:9:5
+ addl $4, "?x@@3HC"
+ .cv_loc 2 1 3 7 # t.cpp:3:7
+ movl $1, (%esp)
+ leal (%esp), %eax
+ .cv_loc 2 1 4 5 # t.cpp:4:5
+ addl %eax, "?x@@3HC"
+ .cv_loc 2 1 5 5 # t.cpp:5:5
+ addl $2, "?x@@3HC"
+ .cv_loc 2 1 6 5 # t.cpp:6:5
+ addl $3, "?x@@3HC"
+ .cv_loc 1 1 11 5 # t.cpp:11:5
+ addl $5, "?x@@3HC"
+ .cv_loc 0 1 16 5 # t.cpp:16:5
+ addl $7, "?x@@3HC"
+ .cv_loc 0 1 17 1 # t.cpp:17:1
+ popl %eax
+ retl
+Lfunc_end0:
+
+ .section .debug$T,"dr"
+ .long 4
+ .short 6
+ .short 4609
+ .long 0
+ .short 14
+ .short 4104
+ .asciz "\003\000\000\000\000\000\000\000\000\020\000"
+ .short 14
+ .short 5633
+ .asciz "\000\000\000\000\001\020\000"
+ .ascii "baz"
+ .byte 0
+ .short 14
+ .short 5633
+ .asciz "\000\000\000\000\001\020\000"
+ .ascii "bar"
+ .byte 0
+ .short 14
+ .short 5633
+ .asciz "\000\000\000\000\001\020\000"
+ .ascii "foo"
+ .byte 0
+ .section .debug$S,"dr"
+ .long 4
+ .long 241 # Symbol subsection for baz
+ .long Ltmp1-Ltmp0
+Ltmp0:
+ .short Ltmp3-Ltmp2
+Ltmp2:
+ .short 4423
+ .zero 12
+ .long Lfunc_end0-"?baz@@YAXXZ"
+ .zero 12
+ .secrel32 "?baz@@YAXXZ"
+ .secidx "?baz@@YAXXZ"
+ .byte 0
+ .ascii "baz"
+ .byte 0
+Ltmp3:
+ .short Ltmp5-Ltmp4
+Ltmp4:
+ .short 4429
+ .asciz "\000\000\000\000\000\000\000\000\003\020\000"
+ .cv_inline_linetable 1 1 9 contains 2
+# CHECK: InlineSite {
+# CHECK: PtrParent: 0x0
+# CHECK: PtrEnd: 0x0
+# CHECK: Inlinee: bar (0x1003)
+# CHECK: BinaryAnnotations [
+# CHECK: ChangeLineOffset: 2
+# CHECK: ]
+# CHECK: }
+Ltmp5:
+ .short Ltmp7-Ltmp6
+Ltmp6:
+ .short 4429
+ .asciz "\000\000\000\000\000\000\000\000\004\020\000"
+ .cv_inline_linetable 2 1 3
+# CHECK: InlineSite {
+# CHECK: PtrParent: 0x0
+# CHECK: PtrEnd: 0x0
+# CHECK: Inlinee: foo (0x1004)
+# CHECK: BinaryAnnotations [
+# CHECK: ChangeLineOffset: 1
+# CHECK: ChangeLineOffset: 1
+# CHECK: ChangeLineOffset: 1
+# CHECK: ]
+# CHECK: }
+Ltmp7:
+ .short 2
+ .short 4430
+ .short 2
+ .short 4430
+ .short 2
+ .short 4431
+Ltmp1:
+ .zero 1
+ .cv_linetable 0, "?baz@@YAXXZ", Lfunc_end0
+ .cv_filechecksums # File index to string table offset subsection
+ .cv_stringtable # String table
+
OpenPOWER on IntegriCloud