1 ; The following two object files were generated using the following command:
2 ; D:\> cl /Z7 /c source.c
3 ; with the following contents of D:\source.c:
19 ; using CL v18.00.21005.1 32-/64-bit versions respectively.
20 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifunction-linetables.obj.coff-2013-i368 \
21 RUN: | FileCheck %s -check-prefix MFUN32
22 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifunction-linetables.obj.coff-2013-x86_64 \
23 RUN: | FileCheck %s -check-prefix MFUN64
25 ; The following two object files were generated using the following command:
26 ; D:\> cl /Z7 /c input.c
27 ; with the following contents of D:\input.c:
38 ; using CL v18.00.21005.1 32-/64-bit versions respectively.
39 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2013-i368 \
40 RUN: | FileCheck %s -check-prefix MFILE32
41 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2013-x86_64 \
42 RUN: | FileCheck %s -check-prefix MFILE64
44 MFUN32: CodeViewLineTables [
45 MFUN32-NEXT: Magic: 0x4
46 MFUN32-NEXT: Subsection [
47 MFUN32-NEXT: Type: 0xF1
48 MFUN32-NEXT: PayloadSize: 0x52
50 MFUN32-NEXT: Subsection [
51 MFUN32-NEXT: Type: 0xF5
52 MFUN32-NEXT: PayloadSize: 0x24
54 MFUN32-NEXT: Subsection [
55 MFUN32-NEXT: Type: 0xF1
56 MFUN32-NEXT: PayloadSize: 0x4B
58 MFUN32-NEXT: Subsection [
59 MFUN32-NEXT: Type: 0xF2
60 MFUN32-NEXT: PayloadSize: 0x30
61 MFUN32: FunctionName: _x
63 MFUN32-NEXT: Subsection [
64 MFUN32-NEXT: Type: 0xF5
65 MFUN32-NEXT: PayloadSize: 0x24
67 MFUN32-NEXT: Subsection [
68 MFUN32-NEXT: Type: 0xF1
69 MFUN32-NEXT: PayloadSize: 0x4B
71 MFUN32-NEXT: Subsection [
72 MFUN32-NEXT: Type: 0xF2
73 MFUN32-NEXT: PayloadSize: 0x30
74 MFUN32: FunctionName: _y
76 MFUN32-NEXT: Subsection [
77 MFUN32-NEXT: Type: 0xF5
78 MFUN32-NEXT: PayloadSize: 0x24
80 MFUN32-NEXT: Subsection [
81 MFUN32-NEXT: Type: 0xF1
82 MFUN32-NEXT: PayloadSize: 0x4B
84 MFUN32-NEXT: Subsection [
85 MFUN32-NEXT: Type: 0xF2
86 MFUN32-NEXT: PayloadSize: 0x40
87 MFUN32: FunctionName: _f
89 MFUN32-NEXT: Subsection [
90 MFUN32-NEXT: Type: 0xF4
91 MFUN32-NEXT: PayloadSize: 0x18
93 MFUN32-NEXT: Subsection [
94 MFUN32-NEXT: Type: 0xF3
95 MFUN32-NEXT: PayloadSize: 0x46
97 MFUN32-NEXT: Subsection [
98 MFUN32-NEXT: Type: 0xF1
99 MFUN32-NEXT: PayloadSize: 0x8
101 MFUN32-NEXT: FunctionLineTable [
102 MFUN32-NEXT: FunctionName: _x
103 MFUN32-NEXT: CodeSize: 0xA
104 MFUN32-NEXT: FilenameSegment [
105 MFUN32-NEXT: Filename: d:\source.c
111 MFUN32-NEXT: FunctionLineTable [
112 MFUN32-NEXT: FunctionName: _y
113 MFUN32-NEXT: CodeSize: 0xA
114 MFUN32-NEXT: FilenameSegment [
115 MFUN32-NEXT: Filename: d:\source.c
121 MFUN32-NEXT: FunctionLineTable [
122 MFUN32-NEXT: FunctionName: _f
123 MFUN32-NEXT: CodeSize: 0x14
124 MFUN32-NEXT: FilenameSegment [
125 MFUN32-NEXT: Filename: d:\source.c
126 MFUN32-NEXT: +0x0: 11
127 MFUN32-NEXT: +0x3: 12
128 MFUN32-NEXT: +0x8: 13
129 MFUN32-NEXT: +0xD: 14
130 MFUN32-NEXT: +0x12: 15
135 MFUN64: CodeViewLineTables [
136 MFUN64-NEXT: Magic: 0x4
137 MFUN64-NEXT: Subsection [
138 MFUN64-NEXT: Type: 0xF1
139 MFUN64-NEXT: PayloadSize: 0x52
141 MFUN64-NEXT: Subsection [
142 MFUN64-NEXT: Type: 0xF1
143 MFUN64-NEXT: PayloadSize: 0x4B
145 MFUN64-NEXT: Subsection [
146 MFUN64-NEXT: Type: 0xF2
147 MFUN64-NEXT: PayloadSize: 0x30
148 MFUN64: FunctionName: x
150 MFUN64-NEXT: Subsection [
151 MFUN64-NEXT: Type: 0xF1
152 MFUN64-NEXT: PayloadSize: 0x4B
154 MFUN64-NEXT: Subsection [
155 MFUN64-NEXT: Type: 0xF2
156 MFUN64-NEXT: PayloadSize: 0x30
157 MFUN64: FunctionName: y
159 MFUN64-NEXT: Subsection [
160 MFUN64-NEXT: Type: 0xF1
161 MFUN64-NEXT: PayloadSize: 0x4B
163 MFUN64-NEXT: Subsection [
164 MFUN64-NEXT: Type: 0xF2
165 MFUN64-NEXT: PayloadSize: 0x40
166 MFUN64: FunctionName: f
168 MFUN64-NEXT: Subsection [
169 MFUN64-NEXT: Type: 0xF4
170 MFUN64-NEXT: PayloadSize: 0x18
172 MFUN64-NEXT: Subsection [
173 MFUN64-NEXT: Type: 0xF3
174 MFUN64-NEXT: PayloadSize: 0xD
176 MFUN64-NEXT: Subsection [
177 MFUN64-NEXT: Type: 0xF1
178 MFUN64-NEXT: PayloadSize: 0x8
180 MFUN64-NEXT: FunctionLineTable [
181 MFUN64-NEXT: FunctionName: x
182 MFUN64-NEXT: CodeSize: 0xE
183 MFUN64-NEXT: FilenameSegment [
184 MFUN64-NEXT: Filename: d:\source.c
190 MFUN64-NEXT: FunctionLineTable [
191 MFUN64-NEXT: FunctionName: y
192 MFUN64-NEXT: CodeSize: 0xE
193 MFUN64-NEXT: FilenameSegment [
194 MFUN64-NEXT: Filename: d:\source.c
200 MFUN64-NEXT: FunctionLineTable [
201 MFUN64-NEXT: FunctionName: f
202 MFUN64-NEXT: CodeSize: 0x18
203 MFUN64-NEXT: FilenameSegment [
204 MFUN64-NEXT: Filename: d:\source.c
205 MFUN64-NEXT: +0x0: 11
206 MFUN64-NEXT: +0x4: 12
207 MFUN64-NEXT: +0x9: 13
208 MFUN64-NEXT: +0xE: 14
209 MFUN64-NEXT: +0x13: 15
214 MFILE32: CodeViewLineTables [
215 MFILE32-NEXT: Magic: 0x4
216 MFILE32-NEXT: Subsection [
217 MFILE32-NEXT: Type: 0xF1
218 MFILE32-NEXT: PayloadSize: 0x51
220 MFILE32-NEXT: Subsection [
221 MFILE32-NEXT: Type: 0xF5
222 MFILE32-NEXT: PayloadSize: 0x24
224 MFILE32-NEXT: Subsection [
225 MFILE32-NEXT: Type: 0xF1
226 MFILE32-NEXT: PayloadSize: 0x4B
228 MFILE32-NEXT: Subsection [
229 MFILE32-NEXT: Type: 0xF2
230 MFILE32-NEXT: PayloadSize: 0x64
231 MFILE32: FunctionName: _f
233 MFILE32-NEXT: Subsection [
234 MFILE32-NEXT: Type: 0xF4
235 MFILE32-NEXT: PayloadSize: 0x28
237 MFILE32-NEXT: Subsection [
238 MFILE32-NEXT: Type: 0xF3
239 MFILE32-NEXT: PayloadSize: 0x57
241 MFILE32-NEXT: Subsection [
242 MFILE32-NEXT: Type: 0xF1
243 MFILE32-NEXT: PayloadSize: 0x8
245 MFILE32-NEXT: FunctionLineTable [
246 MFILE32-NEXT: FunctionName: _f
247 MFILE32-NEXT: CodeSize: 0x14
248 MFILE32-NEXT: FilenameSegment [
249 MFILE32-NEXT: Filename: d:\input.c
250 MFILE32-NEXT: +0x0: 3
252 MFILE32-NEXT: FilenameSegment [
253 MFILE32-NEXT: Filename: d:\one.c
254 MFILE32-NEXT: +0x3: 1
256 MFILE32-NEXT: FilenameSegment [
257 MFILE32-NEXT: Filename: d:\two.c
258 MFILE32-NEXT: +0x8: 2
260 MFILE32-NEXT: FilenameSegment [
261 MFILE32-NEXT: Filename: d:\one.c
262 MFILE32-NEXT: +0xD: 7
263 MFILE32-NEXT: +0x12: 8
268 MFILE64: CodeViewLineTables [
269 MFILE64-NEXT: Magic: 0x4
270 MFILE64-NEXT: Subsection [
271 MFILE64-NEXT: Type: 0xF1
272 MFILE64-NEXT: PayloadSize: 0x51
274 MFILE64-NEXT: Subsection [
275 MFILE64-NEXT: Type: 0xF1
276 MFILE64-NEXT: PayloadSize: 0x4B
278 MFILE64-NEXT: Subsection [
279 MFILE64-NEXT: Type: 0xF2
280 MFILE64-NEXT: PayloadSize: 0x64
281 MFILE64: FunctionName: f
283 MFILE64-NEXT: Subsection [
284 MFILE64-NEXT: Type: 0xF4
285 MFILE64-NEXT: PayloadSize: 0x28
287 MFILE64-NEXT: Subsection [
288 MFILE64-NEXT: Type: 0xF3
289 MFILE64-NEXT: PayloadSize: 0x1E
291 MFILE64-NEXT: Subsection [
292 MFILE64-NEXT: Type: 0xF1
293 MFILE64-NEXT: PayloadSize: 0x8
295 MFILE64-NEXT: FunctionLineTable [
296 MFILE64-NEXT: FunctionName: f
297 MFILE64-NEXT: CodeSize: 0x18
298 MFILE64-NEXT: FilenameSegment [
299 MFILE64-NEXT: Filename: d:\input.c
300 MFILE64-NEXT: +0x0: 3
302 MFILE64-NEXT: FilenameSegment [
303 MFILE64-NEXT: Filename: d:\one.c
304 MFILE64-NEXT: +0x4: 1
306 MFILE64-NEXT: FilenameSegment [
307 MFILE64-NEXT: Filename: d:\two.c
308 MFILE64-NEXT: +0x9: 2
310 MFILE64-NEXT: FilenameSegment [
311 MFILE64-NEXT: Filename: d:\one.c
312 MFILE64-NEXT: +0xE: 7
313 MFILE64-NEXT: +0x13: 8