blob: 880b6d52f095873eb51627a0e7a75285365d3ff1 [file] [log] [blame]
Timur Iskhodzhanov11603332014-10-06 16:59:44 +00001;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Timur Iskhodzhanovd1711532014-09-23 13:49:51 +00002; The following two object files were generated using the following command:
3; D:\> cl /Z7 /c source.c
4; with the following contents of D:\source.c:
5; void z(void);
6;
7; void x(void) {
8; z();
9; }
10;
11; void y(void) {
12; z();
13; }
14;
15; void f(void) {
16; x();
17; y();
18; z();
19; }
Timur Iskhodzhanov1ee5ac82014-10-13 17:03:13 +000020; using 32-/64-bit versions of CL v17.00.61030 and v18.00.21005.1 respectively.
Zachary Turner99f02152015-02-18 19:32:05 +000021RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2012-i368 \
Timur Iskhodzhanov1ee5ac82014-10-13 17:03:13 +000022RUN: | FileCheck %s -check-prefix MFUN32
Zachary Turner99f02152015-02-18 19:32:05 +000023RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2013-i368 \
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +000024RUN: | FileCheck %s -check-prefix MFUN32
Zachary Turner99f02152015-02-18 19:32:05 +000025RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2012-x86_64 \
Timur Iskhodzhanov1ee5ac82014-10-13 17:03:13 +000026RUN: | FileCheck %s -check-prefix MFUN64
Zachary Turner99f02152015-02-18 19:32:05 +000027RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2013-x86_64 \
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +000028RUN: | FileCheck %s -check-prefix MFUN64
Timur Iskhodzhanovd1711532014-09-23 13:49:51 +000029
Zachary Turner99f02152015-02-18 19:32:05 +000030MFUN32: CodeViewDebugInfo [
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +000031MFUN32-NEXT: Magic: 0x4
32MFUN32-NEXT: Subsection [
33MFUN32-NEXT: Type: 0xF1
34MFUN32-NEXT: PayloadSize: 0x52
35MFUN32: ]
36MFUN32-NEXT: Subsection [
37MFUN32-NEXT: Type: 0xF5
38MFUN32-NEXT: PayloadSize: 0x24
39MFUN32: ]
40MFUN32-NEXT: Subsection [
41MFUN32-NEXT: Type: 0xF1
42MFUN32-NEXT: PayloadSize: 0x4B
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +000043MFUN32: ProcStart {
Timur Iskhodzhanova11b32b2014-11-12 20:10:09 +000044MFUN32-NEXT: DisplayName: x
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +000045MFUN32-NEXT: Section: _x
46MFUN32-NEXT: CodeSize: 0xA
47MFUN32-NEXT: }
48MFUN32-NEXT: ProcEnd
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +000049MFUN32: ]
50MFUN32-NEXT: Subsection [
51MFUN32-NEXT: Type: 0xF2
52MFUN32-NEXT: PayloadSize: 0x30
Reid Kleckner7c0c0c02015-12-15 01:23:55 +000053MFUN32: LinkageName: _x
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +000054MFUN32-NEXT: ]
55MFUN32-NEXT: Subsection [
56MFUN32-NEXT: Type: 0xF5
57MFUN32-NEXT: PayloadSize: 0x24
58MFUN32: ]
59MFUN32-NEXT: Subsection [
60MFUN32-NEXT: Type: 0xF1
61MFUN32-NEXT: PayloadSize: 0x4B
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +000062MFUN32: ProcStart {
Timur Iskhodzhanova11b32b2014-11-12 20:10:09 +000063MFUN32-NEXT: DisplayName: y
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +000064MFUN32-NEXT: Section: _y
65MFUN32-NEXT: CodeSize: 0xA
66MFUN32-NEXT: }
67MFUN32-NEXT: ProcEnd
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +000068MFUN32: ]
69MFUN32-NEXT: Subsection [
70MFUN32-NEXT: Type: 0xF2
71MFUN32-NEXT: PayloadSize: 0x30
Reid Kleckner7c0c0c02015-12-15 01:23:55 +000072MFUN32: LinkageName: _y
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +000073MFUN32-NEXT: ]
74MFUN32-NEXT: Subsection [
75MFUN32-NEXT: Type: 0xF5
76MFUN32-NEXT: PayloadSize: 0x24
77MFUN32: ]
78MFUN32-NEXT: Subsection [
79MFUN32-NEXT: Type: 0xF1
80MFUN32-NEXT: PayloadSize: 0x4B
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +000081MFUN32: ProcStart {
Timur Iskhodzhanova11b32b2014-11-12 20:10:09 +000082MFUN32-NEXT: DisplayName: f
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +000083MFUN32-NEXT: Section: _f
84MFUN32-NEXT: CodeSize: 0x14
85MFUN32-NEXT: }
86MFUN32-NEXT: ProcEnd
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +000087MFUN32: ]
88MFUN32-NEXT: Subsection [
89MFUN32-NEXT: Type: 0xF2
90MFUN32-NEXT: PayloadSize: 0x40
Reid Kleckner7c0c0c02015-12-15 01:23:55 +000091MFUN32: LinkageName: _f
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +000092MFUN32-NEXT: ]
93MFUN32-NEXT: Subsection [
94MFUN32-NEXT: Type: 0xF4
95MFUN32-NEXT: PayloadSize: 0x18
96MFUN32: ]
97MFUN32-NEXT: Subsection [
98MFUN32-NEXT: Type: 0xF3
99MFUN32-NEXT: PayloadSize: 0x46
100MFUN32: ]
101MFUN32-NEXT: Subsection [
102MFUN32-NEXT: Type: 0xF1
103MFUN32-NEXT: PayloadSize: 0x8
104MFUN32: ]
105MFUN32-NEXT: FunctionLineTable [
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000106MFUN32-NEXT: LinkageName: _x
David Majnemer3f49e662015-07-09 00:19:51 +0000107MFUN32-NEXT: Flags: 0x0
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000108MFUN32-NEXT: CodeSize: 0xA
109MFUN32-NEXT: FilenameSegment [
110MFUN32-NEXT: Filename: d:\source.c
111MFUN32-NEXT: +0x0: 3
112MFUN32-NEXT: +0x3: 4
113MFUN32-NEXT: +0x8: 5
114MFUN32-NEXT: ]
115MFUN32-NEXT: ]
116MFUN32-NEXT: FunctionLineTable [
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000117MFUN32-NEXT: LinkageName: _y
David Majnemer3f49e662015-07-09 00:19:51 +0000118MFUN32-NEXT: Flags: 0x0
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000119MFUN32-NEXT: CodeSize: 0xA
120MFUN32-NEXT: FilenameSegment [
121MFUN32-NEXT: Filename: d:\source.c
122MFUN32-NEXT: +0x0: 7
123MFUN32-NEXT: +0x3: 8
124MFUN32-NEXT: +0x8: 9
125MFUN32-NEXT: ]
126MFUN32-NEXT: ]
127MFUN32-NEXT: FunctionLineTable [
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000128MFUN32-NEXT: LinkageName: _f
David Majnemer3f49e662015-07-09 00:19:51 +0000129MFUN32-NEXT: Flags: 0x0
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000130MFUN32-NEXT: CodeSize: 0x14
131MFUN32-NEXT: FilenameSegment [
132MFUN32-NEXT: Filename: d:\source.c
133MFUN32-NEXT: +0x0: 11
134MFUN32-NEXT: +0x3: 12
135MFUN32-NEXT: +0x8: 13
136MFUN32-NEXT: +0xD: 14
137MFUN32-NEXT: +0x12: 15
138MFUN32-NEXT: ]
139MFUN32-NEXT: ]
140MFUN32-NEXT: ]
141
Zachary Turner99f02152015-02-18 19:32:05 +0000142MFUN64: CodeViewDebugInfo [
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000143MFUN64-NEXT: Magic: 0x4
144MFUN64-NEXT: Subsection [
145MFUN64-NEXT: Type: 0xF1
146MFUN64-NEXT: PayloadSize: 0x52
147MFUN64: ]
148MFUN64-NEXT: Subsection [
149MFUN64-NEXT: Type: 0xF1
150MFUN64-NEXT: PayloadSize: 0x4B
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000151MFUN64: ProcStart {
Timur Iskhodzhanova11b32b2014-11-12 20:10:09 +0000152MFUN64-NEXT: DisplayName: x
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000153MFUN64-NEXT: Section: x
154MFUN64-NEXT: CodeSize: 0xE
155MFUN64-NEXT: }
156MFUN64-NEXT: ProcEnd
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000157MFUN64: ]
158MFUN64-NEXT: Subsection [
159MFUN64-NEXT: Type: 0xF2
160MFUN64-NEXT: PayloadSize: 0x30
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000161MFUN64: LinkageName: x
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000162MFUN64-NEXT: ]
163MFUN64-NEXT: Subsection [
164MFUN64-NEXT: Type: 0xF1
165MFUN64-NEXT: PayloadSize: 0x4B
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000166MFUN64: ProcStart {
Timur Iskhodzhanova11b32b2014-11-12 20:10:09 +0000167MFUN64-NEXT: DisplayName: y
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000168MFUN64-NEXT: Section: y
169MFUN64-NEXT: CodeSize: 0xE
170MFUN64-NEXT: }
171MFUN64-NEXT: ProcEnd
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000172MFUN64: ]
173MFUN64-NEXT: Subsection [
174MFUN64-NEXT: Type: 0xF2
175MFUN64-NEXT: PayloadSize: 0x30
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000176MFUN64: LinkageName: y
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000177MFUN64-NEXT: ]
178MFUN64-NEXT: Subsection [
179MFUN64-NEXT: Type: 0xF1
180MFUN64-NEXT: PayloadSize: 0x4B
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000181MFUN64: ProcStart {
Timur Iskhodzhanova11b32b2014-11-12 20:10:09 +0000182MFUN64-NEXT: DisplayName: f
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000183MFUN64-NEXT: Section: f
184MFUN64-NEXT: CodeSize: 0x18
185MFUN64-NEXT: }
186MFUN64-NEXT: ProcEnd
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000187MFUN64: ]
188MFUN64-NEXT: Subsection [
189MFUN64-NEXT: Type: 0xF2
190MFUN64-NEXT: PayloadSize: 0x40
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000191MFUN64: LinkageName: f
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000192MFUN64-NEXT: ]
193MFUN64-NEXT: Subsection [
194MFUN64-NEXT: Type: 0xF4
195MFUN64-NEXT: PayloadSize: 0x18
196MFUN64: ]
197MFUN64-NEXT: Subsection [
198MFUN64-NEXT: Type: 0xF3
199MFUN64-NEXT: PayloadSize: 0xD
200MFUN64: ]
201MFUN64-NEXT: Subsection [
202MFUN64-NEXT: Type: 0xF1
203MFUN64-NEXT: PayloadSize: 0x8
204MFUN64: ]
205MFUN64-NEXT: FunctionLineTable [
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000206MFUN64-NEXT: LinkageName: x
David Majnemer3f49e662015-07-09 00:19:51 +0000207MFUN64-NEXT: Flags: 0x0
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000208MFUN64-NEXT: CodeSize: 0xE
209MFUN64-NEXT: FilenameSegment [
210MFUN64-NEXT: Filename: d:\source.c
211MFUN64-NEXT: +0x0: 3
212MFUN64-NEXT: +0x4: 4
213MFUN64-NEXT: +0x9: 5
214MFUN64-NEXT: ]
215MFUN64-NEXT: ]
216MFUN64-NEXT: FunctionLineTable [
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000217MFUN64-NEXT: LinkageName: y
David Majnemer3f49e662015-07-09 00:19:51 +0000218MFUN64-NEXT: Flags: 0x0
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000219MFUN64-NEXT: CodeSize: 0xE
220MFUN64-NEXT: FilenameSegment [
221MFUN64-NEXT: Filename: d:\source.c
222MFUN64-NEXT: +0x0: 7
223MFUN64-NEXT: +0x4: 8
224MFUN64-NEXT: +0x9: 9
225MFUN64-NEXT: ]
226MFUN64-NEXT: ]
227MFUN64-NEXT: FunctionLineTable [
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000228MFUN64-NEXT: LinkageName: f
David Majnemer3f49e662015-07-09 00:19:51 +0000229MFUN64-NEXT: Flags: 0x0
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000230MFUN64-NEXT: CodeSize: 0x18
231MFUN64-NEXT: FilenameSegment [
232MFUN64-NEXT: Filename: d:\source.c
233MFUN64-NEXT: +0x0: 11
234MFUN64-NEXT: +0x4: 12
235MFUN64-NEXT: +0x9: 13
236MFUN64-NEXT: +0xE: 14
237MFUN64-NEXT: +0x13: 15
238MFUN64-NEXT: ]
239MFUN64-NEXT: ]
240MFUN64-NEXT: ]
241
Timur Iskhodzhanov11603332014-10-06 16:59:44 +0000242;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
243; The following two object files were generated using the following command:
244; D:\> cl /Z7 /c input.c
245; with the following contents of D:\input.c:
246; void g(void);
247;
248; void f(void) {
249; #line 1 "one.c"
250; g();
251; #line 2 "two.c"
252; g();
253; #line 7 "one.c"
254; g();
255; }
Timur Iskhodzhanov1ee5ac82014-10-13 17:03:13 +0000256; using 32-/64-bit versions of CL v17.00.61030 and v18.00.21005.1 respectively.
Zachary Turner99f02152015-02-18 19:32:05 +0000257RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2012-i368 \
Timur Iskhodzhanov1ee5ac82014-10-13 17:03:13 +0000258RUN: | FileCheck %s -check-prefix MFILE32
Zachary Turner99f02152015-02-18 19:32:05 +0000259RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2013-i368 \
Timur Iskhodzhanov11603332014-10-06 16:59:44 +0000260RUN: | FileCheck %s -check-prefix MFILE32
Zachary Turner99f02152015-02-18 19:32:05 +0000261RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2012-x86_64 \
Timur Iskhodzhanov1ee5ac82014-10-13 17:03:13 +0000262RUN: | FileCheck %s -check-prefix MFILE64
Zachary Turner99f02152015-02-18 19:32:05 +0000263RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2013-x86_64 \
Timur Iskhodzhanov11603332014-10-06 16:59:44 +0000264RUN: | FileCheck %s -check-prefix MFILE64
265
Zachary Turner99f02152015-02-18 19:32:05 +0000266MFILE32: CodeViewDebugInfo [
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000267MFILE32-NEXT: Magic: 0x4
268MFILE32-NEXT: Subsection [
269MFILE32-NEXT: Type: 0xF1
270MFILE32-NEXT: PayloadSize: 0x51
271MFILE32: ]
272MFILE32-NEXT: Subsection [
273MFILE32-NEXT: Type: 0xF5
274MFILE32-NEXT: PayloadSize: 0x24
275MFILE32: ]
276MFILE32-NEXT: Subsection [
277MFILE32-NEXT: Type: 0xF1
278MFILE32-NEXT: PayloadSize: 0x4B
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000279MFILE32: ProcStart {
Timur Iskhodzhanova11b32b2014-11-12 20:10:09 +0000280MFILE32-NEXT: DisplayName: f
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000281MFILE32-NEXT: Section: _f
282MFILE32-NEXT: CodeSize: 0x14
283MFILE32-NEXT: }
284MFILE32-NEXT: ProcEnd
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000285MFILE32: ]
286MFILE32-NEXT: Subsection [
287MFILE32-NEXT: Type: 0xF2
288MFILE32-NEXT: PayloadSize: 0x64
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000289MFILE32: LinkageName: _f
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000290MFILE32-NEXT: ]
291MFILE32-NEXT: Subsection [
292MFILE32-NEXT: Type: 0xF4
293MFILE32-NEXT: PayloadSize: 0x28
294MFILE32: ]
295MFILE32-NEXT: Subsection [
296MFILE32-NEXT: Type: 0xF3
297MFILE32-NEXT: PayloadSize: 0x57
298MFILE32: ]
299MFILE32-NEXT: Subsection [
300MFILE32-NEXT: Type: 0xF1
301MFILE32-NEXT: PayloadSize: 0x8
302MFILE32: ]
303MFILE32-NEXT: FunctionLineTable [
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000304MFILE32-NEXT: LinkageName: _f
David Majnemer3f49e662015-07-09 00:19:51 +0000305MFILE32-NEXT: Flags: 0x0
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000306MFILE32-NEXT: CodeSize: 0x14
307MFILE32-NEXT: FilenameSegment [
308MFILE32-NEXT: Filename: d:\input.c
309MFILE32-NEXT: +0x0: 3
310MFILE32-NEXT: ]
311MFILE32-NEXT: FilenameSegment [
312MFILE32-NEXT: Filename: d:\one.c
313MFILE32-NEXT: +0x3: 1
314MFILE32-NEXT: ]
315MFILE32-NEXT: FilenameSegment [
316MFILE32-NEXT: Filename: d:\two.c
317MFILE32-NEXT: +0x8: 2
318MFILE32-NEXT: ]
319MFILE32-NEXT: FilenameSegment [
320MFILE32-NEXT: Filename: d:\one.c
321MFILE32-NEXT: +0xD: 7
322MFILE32-NEXT: +0x12: 8
323MFILE32-NEXT: ]
324MFILE32-NEXT: ]
325MFILE32-NEXT: ]
326
Zachary Turner99f02152015-02-18 19:32:05 +0000327MFILE64: CodeViewDebugInfo [
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000328MFILE64-NEXT: Magic: 0x4
329MFILE64-NEXT: Subsection [
330MFILE64-NEXT: Type: 0xF1
331MFILE64-NEXT: PayloadSize: 0x51
332MFILE64: ]
333MFILE64-NEXT: Subsection [
334MFILE64-NEXT: Type: 0xF1
335MFILE64-NEXT: PayloadSize: 0x4B
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000336MFILE64: ProcStart {
Timur Iskhodzhanova11b32b2014-11-12 20:10:09 +0000337MFILE64-NEXT: DisplayName: f
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000338MFILE64-NEXT: Section: f
339MFILE64-NEXT: CodeSize: 0x18
340MFILE64-NEXT: }
341MFILE64-NEXT: ProcEnd
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000342MFILE64: ]
343MFILE64-NEXT: Subsection [
344MFILE64-NEXT: Type: 0xF2
345MFILE64-NEXT: PayloadSize: 0x64
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000346MFILE64: LinkageName: f
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000347MFILE64-NEXT: ]
348MFILE64-NEXT: Subsection [
349MFILE64-NEXT: Type: 0xF4
350MFILE64-NEXT: PayloadSize: 0x28
351MFILE64: ]
352MFILE64-NEXT: Subsection [
353MFILE64-NEXT: Type: 0xF3
354MFILE64-NEXT: PayloadSize: 0x1E
355MFILE64: ]
356MFILE64-NEXT: Subsection [
357MFILE64-NEXT: Type: 0xF1
358MFILE64-NEXT: PayloadSize: 0x8
359MFILE64: ]
360MFILE64-NEXT: FunctionLineTable [
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000361MFILE64-NEXT: LinkageName: f
David Majnemer3f49e662015-07-09 00:19:51 +0000362MFILE64-NEXT: Flags: 0x0
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +0000363MFILE64-NEXT: CodeSize: 0x18
364MFILE64-NEXT: FilenameSegment [
365MFILE64-NEXT: Filename: d:\input.c
366MFILE64-NEXT: +0x0: 3
367MFILE64-NEXT: ]
368MFILE64-NEXT: FilenameSegment [
369MFILE64-NEXT: Filename: d:\one.c
370MFILE64-NEXT: +0x4: 1
371MFILE64-NEXT: ]
372MFILE64-NEXT: FilenameSegment [
373MFILE64-NEXT: Filename: d:\two.c
374MFILE64-NEXT: +0x9: 2
375MFILE64-NEXT: ]
376MFILE64-NEXT: FilenameSegment [
377MFILE64-NEXT: Filename: d:\one.c
378MFILE64-NEXT: +0xE: 7
379MFILE64-NEXT: +0x13: 8
380MFILE64-NEXT: ]
381MFILE64-NEXT: ]
382MFILE64-NEXT: ]
Timur Iskhodzhanov11603332014-10-06 16:59:44 +0000383
384;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Timur Iskhodzhanov1ee5ac82014-10-13 17:03:13 +0000385; The following object files were generated using the following command:
Timur Iskhodzhanov11603332014-10-06 16:59:44 +0000386; C:\src> cl /Z7 /Gy /c test.cc
387; with the following contents of C:\src\test.cc:
388; int f()
389; {
390; return 0;
391; }
392;
393; int g()
394; {
395; return 0;
396; }
Timur Iskhodzhanov1ee5ac82014-10-13 17:03:13 +0000397; using 32-version of CL v17.00.61030 and v18.00.21005.1 respectively.
Zachary Turner99f02152015-02-18 19:32:05 +0000398RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/comdat-function-linetables.obj.coff-2012-i386 \
Timur Iskhodzhanov1ee5ac82014-10-13 17:03:13 +0000399RUN: | FileCheck %s -check-prefix MCOMDAT
Zachary Turner99f02152015-02-18 19:32:05 +0000400RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/comdat-function-linetables.obj.coff-2013-i386 \
Timur Iskhodzhanov11603332014-10-06 16:59:44 +0000401RUN: | FileCheck %s -check-prefix MCOMDAT
402
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000403MCOMDAT: ProcStart {
Timur Iskhodzhanova11b32b2014-11-12 20:10:09 +0000404MCOMDAT-NEXT: DisplayName: f
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000405MCOMDAT-NEXT: Section: ?f@@YAHXZ
406MCOMDAT-NEXT: CodeSize: 0x7
407MCOMDAT-NEXT: }
Timur Iskhodzhanov11603332014-10-06 16:59:44 +0000408MCOMDAT: FunctionLineTable [
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000409MCOMDAT-NEXT: LinkageName: ?f@@YAHXZ
David Majnemer3f49e662015-07-09 00:19:51 +0000410MCOMDAT-NEXT: Flags: 0x0
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000411MCOMDAT-NEXT: CodeSize: 0x7
412MCOMDAT-NEXT: FilenameSegment [
413MCOMDAT-NEXT: Filename: c:\src\test.cc
414MCOMDAT-NEXT: +0x0: 2
415MCOMDAT-NEXT: +0x3: 3
416MCOMDAT-NEXT: +0x5: 4
417MCOMDAT-NEXT: ]
418MCOMDAT-NEXT: ]
419MCOMDAT: ProcStart {
Timur Iskhodzhanova11b32b2014-11-12 20:10:09 +0000420MCOMDAT-NEXT: DisplayName: g
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000421MCOMDAT-NEXT: Section: ?g@@YAHXZ
422MCOMDAT-NEXT: CodeSize: 0x7
423MCOMDAT-NEXT: }
Timur Iskhodzhanov11603332014-10-06 16:59:44 +0000424MCOMDAT: FunctionLineTable [
Reid Kleckner7c0c0c02015-12-15 01:23:55 +0000425MCOMDAT-NEXT: LinkageName: ?g@@YAHXZ
David Majnemer3f49e662015-07-09 00:19:51 +0000426MCOMDAT-NEXT: Flags: 0x0
Timur Iskhodzhanov56af52f2014-10-23 22:25:31 +0000427MCOMDAT-NEXT: CodeSize: 0x7
428MCOMDAT-NEXT: FilenameSegment [
429MCOMDAT-NEXT: Filename: c:\src\test.cc
430MCOMDAT-NEXT: +0x0: 7
431MCOMDAT-NEXT: +0x3: 8
432MCOMDAT-NEXT: +0x5: 9
433MCOMDAT-NEXT: ]
434MCOMDAT-NEXT: ]