diff options
Diffstat (limited to 'llvm/test/MC')
| -rw-r--r-- | llvm/test/MC/COFF/cv-inline-linetable.s | 124 |
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 + |

