xref: /aosp_15_r20/external/llvm/test/MC/COFF/cv-inline-linetable.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple=i686-pc-win32 -filetype=obj < %s | llvm-readobj -codeview | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker	.text
3*9880d681SAndroid Build Coastguard Worker	.def	 @feat.00;
4*9880d681SAndroid Build Coastguard Worker	.scl	3;
5*9880d681SAndroid Build Coastguard Worker	.type	0;
6*9880d681SAndroid Build Coastguard Worker	.endef
7*9880d681SAndroid Build Coastguard Worker	.globl	@feat.00
8*9880d681SAndroid Build Coastguard Worker@feat.00 = 1
9*9880d681SAndroid Build Coastguard Worker	.def	 "?baz@@YAXXZ";
10*9880d681SAndroid Build Coastguard Worker	.scl	2;
11*9880d681SAndroid Build Coastguard Worker	.type	32;
12*9880d681SAndroid Build Coastguard Worker	.endef
13*9880d681SAndroid Build Coastguard Worker	.globl	"?baz@@YAXXZ"
14*9880d681SAndroid Build Coastguard Worker	.p2align	4, 0x90
15*9880d681SAndroid Build Coastguard Worker"?baz@@YAXXZ":                          # @"\01?baz@@YAXXZ"
16*9880d681SAndroid Build Coastguard WorkerLfunc_begin0:
17*9880d681SAndroid Build Coastguard Worker	.cv_file	1 "D:\\src\\llvm\\build\\t.cpp"
18*9880d681SAndroid Build Coastguard Worker	.cv_loc	0 1 13 0 is_stmt 0      # t.cpp:13:0
19*9880d681SAndroid Build Coastguard Worker# BB#0:                                 # %entry
20*9880d681SAndroid Build Coastguard Worker	pushl	%eax
21*9880d681SAndroid Build Coastguard Worker	.cv_loc	0 1 14 5                # t.cpp:14:5
22*9880d681SAndroid Build Coastguard Worker	addl	$6, "?x@@3HC"
23*9880d681SAndroid Build Coastguard Worker	.cv_loc	1 1 9 5                 # t.cpp:9:5
24*9880d681SAndroid Build Coastguard Worker	addl	$4, "?x@@3HC"
25*9880d681SAndroid Build Coastguard Worker	.cv_loc	2 1 3 7                 # t.cpp:3:7
26*9880d681SAndroid Build Coastguard Worker	movl	$1, (%esp)
27*9880d681SAndroid Build Coastguard Worker	leal	(%esp), %eax
28*9880d681SAndroid Build Coastguard Worker	.cv_loc	2 1 4 5                 # t.cpp:4:5
29*9880d681SAndroid Build Coastguard Worker	addl	%eax, "?x@@3HC"
30*9880d681SAndroid Build Coastguard Worker	.cv_loc	2 1 5 5                 # t.cpp:5:5
31*9880d681SAndroid Build Coastguard Worker	addl	$2, "?x@@3HC"
32*9880d681SAndroid Build Coastguard Worker	.cv_loc	2 1 6 5                 # t.cpp:6:5
33*9880d681SAndroid Build Coastguard Worker	addl	$3, "?x@@3HC"
34*9880d681SAndroid Build Coastguard Worker	.cv_loc	1 1 11 5                # t.cpp:11:5
35*9880d681SAndroid Build Coastguard Worker	addl	$5, "?x@@3HC"
36*9880d681SAndroid Build Coastguard Worker	.cv_loc	0 1 16 5                # t.cpp:16:5
37*9880d681SAndroid Build Coastguard Worker	addl	$7, "?x@@3HC"
38*9880d681SAndroid Build Coastguard Worker	.cv_loc	0 1 17 1                # t.cpp:17:1
39*9880d681SAndroid Build Coastguard Worker	popl	%eax
40*9880d681SAndroid Build Coastguard Worker	retl
41*9880d681SAndroid Build Coastguard WorkerLfunc_end0:
42*9880d681SAndroid Build Coastguard Worker
43*9880d681SAndroid Build Coastguard Worker	.section	.debug$T,"dr"
44*9880d681SAndroid Build Coastguard Worker	.long	4
45*9880d681SAndroid Build Coastguard Worker	.short	6
46*9880d681SAndroid Build Coastguard Worker	.short	4609
47*9880d681SAndroid Build Coastguard Worker	.long	0
48*9880d681SAndroid Build Coastguard Worker	.short	14
49*9880d681SAndroid Build Coastguard Worker	.short	4104
50*9880d681SAndroid Build Coastguard Worker	.asciz	"\003\000\000\000\000\000\000\000\000\020\000"
51*9880d681SAndroid Build Coastguard Worker	.short	14
52*9880d681SAndroid Build Coastguard Worker	.short	5633
53*9880d681SAndroid Build Coastguard Worker	.asciz	"\000\000\000\000\001\020\000"
54*9880d681SAndroid Build Coastguard Worker	.ascii	"baz"
55*9880d681SAndroid Build Coastguard Worker	.byte	0
56*9880d681SAndroid Build Coastguard Worker	.short	14
57*9880d681SAndroid Build Coastguard Worker	.short	5633
58*9880d681SAndroid Build Coastguard Worker	.asciz	"\000\000\000\000\001\020\000"
59*9880d681SAndroid Build Coastguard Worker	.ascii	"bar"
60*9880d681SAndroid Build Coastguard Worker	.byte	0
61*9880d681SAndroid Build Coastguard Worker	.short	14
62*9880d681SAndroid Build Coastguard Worker	.short	5633
63*9880d681SAndroid Build Coastguard Worker	.asciz	"\000\000\000\000\001\020\000"
64*9880d681SAndroid Build Coastguard Worker	.ascii	"foo"
65*9880d681SAndroid Build Coastguard Worker	.byte	0
66*9880d681SAndroid Build Coastguard Worker	.section	.debug$S,"dr"
67*9880d681SAndroid Build Coastguard Worker	.long	4
68*9880d681SAndroid Build Coastguard Worker	.long	241                     # Symbol subsection for baz
69*9880d681SAndroid Build Coastguard Worker	.long	Ltmp1-Ltmp0
70*9880d681SAndroid Build Coastguard WorkerLtmp0:
71*9880d681SAndroid Build Coastguard Worker	.short	Ltmp3-Ltmp2
72*9880d681SAndroid Build Coastguard WorkerLtmp2:
73*9880d681SAndroid Build Coastguard Worker	.short	4423
74*9880d681SAndroid Build Coastguard Worker	.zero	12
75*9880d681SAndroid Build Coastguard Worker	.long	Lfunc_end0-"?baz@@YAXXZ"
76*9880d681SAndroid Build Coastguard Worker	.zero	12
77*9880d681SAndroid Build Coastguard Worker	.secrel32	"?baz@@YAXXZ"
78*9880d681SAndroid Build Coastguard Worker	.secidx	"?baz@@YAXXZ"
79*9880d681SAndroid Build Coastguard Worker	.byte	0
80*9880d681SAndroid Build Coastguard Worker	.ascii	"baz"
81*9880d681SAndroid Build Coastguard Worker	.byte	0
82*9880d681SAndroid Build Coastguard WorkerLtmp3:
83*9880d681SAndroid Build Coastguard Worker	.short	Ltmp5-Ltmp4
84*9880d681SAndroid Build Coastguard WorkerLtmp4:
85*9880d681SAndroid Build Coastguard Worker	.short	4429
86*9880d681SAndroid Build Coastguard Worker	.asciz	"\000\000\000\000\000\000\000\000\003\020\000"
87*9880d681SAndroid Build Coastguard Worker	.cv_inline_linetable	1 1 9 Lfunc_begin0 Lfunc_end0 contains 2
88*9880d681SAndroid Build Coastguard Worker# CHECK:    InlineSite {
89*9880d681SAndroid Build Coastguard Worker# CHECK:      PtrParent: 0x0
90*9880d681SAndroid Build Coastguard Worker# CHECK:      PtrEnd: 0x0
91*9880d681SAndroid Build Coastguard Worker# CHECK:      Inlinee: bar (0x1003)
92*9880d681SAndroid Build Coastguard Worker# CHECK:      BinaryAnnotations [
93*9880d681SAndroid Build Coastguard Worker# CHECK:        ChangeLineOffset: -6
94*9880d681SAndroid Build Coastguard Worker# CHECK:        ChangeCodeOffset: 0xF
95*9880d681SAndroid Build Coastguard Worker# CHECK:        ChangeCodeOffsetAndLineOffset: {CodeOffset: 0xA, LineOffset: 1}
96*9880d681SAndroid Build Coastguard Worker# CHECK:        ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 1}
97*9880d681SAndroid Build Coastguard Worker# CHECK:        ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1}
98*9880d681SAndroid Build Coastguard Worker# CHECK:        ChangeLineOffset: 5
99*9880d681SAndroid Build Coastguard Worker# CHECK:        ChangeCodeOffset: 0x7
100*9880d681SAndroid Build Coastguard Worker# CHECK:        ChangeCodeLength: 0x7
101*9880d681SAndroid Build Coastguard Worker# CHECK:      ]
102*9880d681SAndroid Build Coastguard Worker# CHECK:    }
103*9880d681SAndroid Build Coastguard WorkerLtmp5:
104*9880d681SAndroid Build Coastguard Worker	.short	Ltmp7-Ltmp6
105*9880d681SAndroid Build Coastguard WorkerLtmp6:
106*9880d681SAndroid Build Coastguard Worker	.short	4429
107*9880d681SAndroid Build Coastguard Worker	.asciz	"\000\000\000\000\000\000\000\000\004\020\000"
108*9880d681SAndroid Build Coastguard Worker	.cv_inline_linetable	2 1 3 Lfunc_begin0 Lfunc_end0
109*9880d681SAndroid Build Coastguard Worker# CHECK:    InlineSite {
110*9880d681SAndroid Build Coastguard Worker# CHECK:      PtrParent: 0x0
111*9880d681SAndroid Build Coastguard Worker# CHECK:      PtrEnd: 0x0
112*9880d681SAndroid Build Coastguard Worker# CHECK:      Inlinee: foo (0x1004)
113*9880d681SAndroid Build Coastguard Worker# CHECK:      BinaryAnnotations [
114*9880d681SAndroid Build Coastguard Worker# CHECK:        ChangeLineOffset: 1
115*9880d681SAndroid Build Coastguard Worker# CHECK:        ChangeCodeOffset: 0x19
116*9880d681SAndroid Build Coastguard Worker# CHECK:        ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 1}
117*9880d681SAndroid Build Coastguard Worker# CHECK:        ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1}
118*9880d681SAndroid Build Coastguard Worker# CHECK:        ChangeCodeLength: 0x7
119*9880d681SAndroid Build Coastguard Worker# CHECK:      ]
120*9880d681SAndroid Build Coastguard Worker# CHECK:    }
121*9880d681SAndroid Build Coastguard WorkerLtmp7:
122*9880d681SAndroid Build Coastguard Worker	.short	2
123*9880d681SAndroid Build Coastguard Worker	.short	4430
124*9880d681SAndroid Build Coastguard Worker# CHECK:    InlineSiteEnd {
125*9880d681SAndroid Build Coastguard Worker# CHECK:    }
126*9880d681SAndroid Build Coastguard Worker	.short	2
127*9880d681SAndroid Build Coastguard Worker	.short	4430
128*9880d681SAndroid Build Coastguard Worker# CHECK:    InlineSiteEnd {
129*9880d681SAndroid Build Coastguard Worker# CHECK:    }
130*9880d681SAndroid Build Coastguard Worker	.short	2
131*9880d681SAndroid Build Coastguard Worker	.short	4431
132*9880d681SAndroid Build Coastguard WorkerLtmp1:
133*9880d681SAndroid Build Coastguard Worker	.p2align 2
134*9880d681SAndroid Build Coastguard Worker	.cv_linetable	0, "?baz@@YAXXZ", Lfunc_end0
135*9880d681SAndroid Build Coastguard Worker	.cv_filechecksums               # File index to string table offset subsection
136*9880d681SAndroid Build Coastguard Worker	.cv_stringtable                 # String table
137*9880d681SAndroid Build Coastguard Worker
138