blob: 22aa48f8bc80e91b20d6b4a24db279e1f946295e [file] [log] [blame]
David Majnemer6fcbd7e2016-01-29 19:24:12 +00001# RUN: llvm-mc -triple=i686-pc-win32 -filetype=obj < %s | llvm-readobj -codeview | FileCheck %s
2 .text
3 .def @feat.00;
4 .scl 3;
5 .type 0;
6 .endef
7 .globl @feat.00
8@feat.00 = 1
9 .def "?baz@@YAXXZ";
10 .scl 2;
11 .type 32;
12 .endef
13 .globl "?baz@@YAXXZ"
14 .p2align 4, 0x90
15"?baz@@YAXXZ": # @"\01?baz@@YAXXZ"
16Lfunc_begin0:
17 .cv_file 1 "D:\\src\\llvm\\build\\t.cpp"
18 .cv_loc 0 1 13 0 is_stmt 0 # t.cpp:13:0
19# BB#0: # %entry
20 pushl %eax
21 .cv_loc 0 1 14 5 # t.cpp:14:5
22 addl $6, "?x@@3HC"
23 .cv_loc 1 1 9 5 # t.cpp:9:5
24 addl $4, "?x@@3HC"
25 .cv_loc 2 1 3 7 # t.cpp:3:7
26 movl $1, (%esp)
27 leal (%esp), %eax
28 .cv_loc 2 1 4 5 # t.cpp:4:5
29 addl %eax, "?x@@3HC"
30 .cv_loc 2 1 5 5 # t.cpp:5:5
31 addl $2, "?x@@3HC"
32 .cv_loc 2 1 6 5 # t.cpp:6:5
33 addl $3, "?x@@3HC"
34 .cv_loc 1 1 11 5 # t.cpp:11:5
35 addl $5, "?x@@3HC"
36 .cv_loc 0 1 16 5 # t.cpp:16:5
37 addl $7, "?x@@3HC"
38 .cv_loc 0 1 17 1 # t.cpp:17:1
39 popl %eax
40 retl
41Lfunc_end0:
42
43 .section .debug$T,"dr"
44 .long 4
45 .short 6
46 .short 4609
47 .long 0
48 .short 14
49 .short 4104
50 .asciz "\003\000\000\000\000\000\000\000\000\020\000"
51 .short 14
52 .short 5633
53 .asciz "\000\000\000\000\001\020\000"
54 .ascii "baz"
55 .byte 0
56 .short 14
57 .short 5633
58 .asciz "\000\000\000\000\001\020\000"
59 .ascii "bar"
60 .byte 0
61 .short 14
62 .short 5633
63 .asciz "\000\000\000\000\001\020\000"
64 .ascii "foo"
65 .byte 0
66 .section .debug$S,"dr"
67 .long 4
68 .long 241 # Symbol subsection for baz
69 .long Ltmp1-Ltmp0
70Ltmp0:
71 .short Ltmp3-Ltmp2
72Ltmp2:
73 .short 4423
74 .zero 12
75 .long Lfunc_end0-"?baz@@YAXXZ"
76 .zero 12
77 .secrel32 "?baz@@YAXXZ"
78 .secidx "?baz@@YAXXZ"
79 .byte 0
80 .ascii "baz"
81 .byte 0
82Ltmp3:
83 .short Ltmp5-Ltmp4
84Ltmp4:
85 .short 4429
86 .asciz "\000\000\000\000\000\000\000\000\003\020\000"
David Majnemerc9911f22016-02-02 19:22:34 +000087 .cv_inline_linetable 1 1 9 Lfunc_begin0 Lfunc_end0 contains 2
David Majnemer6fcbd7e2016-01-29 19:24:12 +000088# CHECK: InlineSite {
89# CHECK: PtrParent: 0x0
90# CHECK: PtrEnd: 0x0
91# CHECK: Inlinee: bar (0x1003)
92# CHECK: BinaryAnnotations [
Reid Kleckner1fcd6102016-02-02 17:41:18 +000093# CHECK: ChangeLineOffset: -6
94# CHECK: ChangeCodeOffset: 0xF
95# CHECK: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0xA, LineOffset: 1}
96# CHECK: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 1}
97# CHECK: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1}
98# CHECK: ChangeLineOffset: 5
99# CHECK: ChangeCodeOffset: 0x7
100# CHECK: ChangeCodeLength: 0x7
David Majnemer6fcbd7e2016-01-29 19:24:12 +0000101# CHECK: ]
102# CHECK: }
103Ltmp5:
104 .short Ltmp7-Ltmp6
105Ltmp6:
106 .short 4429
107 .asciz "\000\000\000\000\000\000\000\000\004\020\000"
David Majnemerc9911f22016-02-02 19:22:34 +0000108 .cv_inline_linetable 2 1 3 Lfunc_begin0 Lfunc_end0
David Majnemer6fcbd7e2016-01-29 19:24:12 +0000109# CHECK: InlineSite {
110# CHECK: PtrParent: 0x0
111# CHECK: PtrEnd: 0x0
112# CHECK: Inlinee: foo (0x1004)
113# CHECK: BinaryAnnotations [
114# CHECK: ChangeLineOffset: 1
Reid Kleckner1fcd6102016-02-02 17:41:18 +0000115# CHECK: ChangeCodeOffset: 0x19
116# CHECK: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 1}
117# CHECK: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1}
118# CHECK: ChangeCodeLength: 0x7
David Majnemer6fcbd7e2016-01-29 19:24:12 +0000119# CHECK: ]
120# CHECK: }
121Ltmp7:
122 .short 2
123 .short 4430
Reid Kleckner1fcd6102016-02-02 17:41:18 +0000124# CHECK: InlineSiteEnd {
125# CHECK: }
David Majnemer6fcbd7e2016-01-29 19:24:12 +0000126 .short 2
127 .short 4430
Reid Kleckner1fcd6102016-02-02 17:41:18 +0000128# CHECK: InlineSiteEnd {
129# CHECK: }
David Majnemer6fcbd7e2016-01-29 19:24:12 +0000130 .short 2
131 .short 4431
132Ltmp1:
Reid Kleckner1fcd6102016-02-02 17:41:18 +0000133 .p2align 2
David Majnemer6fcbd7e2016-01-29 19:24:12 +0000134 .cv_linetable 0, "?baz@@YAXXZ", Lfunc_end0
135 .cv_filechecksums # File index to string table offset subsection
136 .cv_stringtable # String table
137