Taints the non-acquire RMW's store address with the load part
[oota-llvm.git] / test / tools / llvm-readobj / codeview-linetables.test
1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ; 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 ;   }
20 ; using 32-/64-bit versions of CL v17.00.61030 and v18.00.21005.1 respectively.
21 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2012-i368 \
22 RUN:   | FileCheck %s -check-prefix MFUN32
23 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2013-i368 \
24 RUN:   | FileCheck %s -check-prefix MFUN32
25 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2012-x86_64 \
26 RUN:   | FileCheck %s -check-prefix MFUN64
27 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2013-x86_64 \
28 RUN:   | FileCheck %s -check-prefix MFUN64
29
30 MFUN32:      CodeViewDebugInfo [
31 MFUN32-NEXT:   Magic: 0x4
32 MFUN32-NEXT:   Subsection [
33 MFUN32-NEXT:     Type: 0xF1
34 MFUN32-NEXT:     PayloadSize: 0x52
35 MFUN32:        ]
36 MFUN32-NEXT:   Subsection [
37 MFUN32-NEXT:     Type: 0xF5
38 MFUN32-NEXT:     PayloadSize: 0x24
39 MFUN32:        ]
40 MFUN32-NEXT:   Subsection [
41 MFUN32-NEXT:     Type: 0xF1
42 MFUN32-NEXT:     PayloadSize: 0x4B
43 MFUN32:          ProcStart {
44 MFUN32-NEXT:       DisplayName: x
45 MFUN32-NEXT:       Section: _x
46 MFUN32-NEXT:       CodeSize: 0xA
47 MFUN32-NEXT:     }
48 MFUN32-NEXT:     ProcEnd
49 MFUN32:        ]
50 MFUN32-NEXT:   Subsection [
51 MFUN32-NEXT:     Type: 0xF2
52 MFUN32-NEXT:     PayloadSize: 0x30
53 MFUN32:          LinkageName: _x
54 MFUN32-NEXT:   ]
55 MFUN32-NEXT:   Subsection [
56 MFUN32-NEXT:     Type: 0xF5
57 MFUN32-NEXT:     PayloadSize: 0x24
58 MFUN32:        ]
59 MFUN32-NEXT:   Subsection [
60 MFUN32-NEXT:     Type: 0xF1
61 MFUN32-NEXT:     PayloadSize: 0x4B
62 MFUN32:          ProcStart {
63 MFUN32-NEXT:       DisplayName: y
64 MFUN32-NEXT:       Section: _y
65 MFUN32-NEXT:       CodeSize: 0xA
66 MFUN32-NEXT:     }
67 MFUN32-NEXT:     ProcEnd
68 MFUN32:        ]
69 MFUN32-NEXT:   Subsection [
70 MFUN32-NEXT:     Type: 0xF2
71 MFUN32-NEXT:     PayloadSize: 0x30
72 MFUN32:          LinkageName: _y
73 MFUN32-NEXT:   ]
74 MFUN32-NEXT:   Subsection [
75 MFUN32-NEXT:     Type: 0xF5
76 MFUN32-NEXT:     PayloadSize: 0x24
77 MFUN32:        ]
78 MFUN32-NEXT:   Subsection [
79 MFUN32-NEXT:     Type: 0xF1
80 MFUN32-NEXT:     PayloadSize: 0x4B
81 MFUN32:          ProcStart {
82 MFUN32-NEXT:       DisplayName: f
83 MFUN32-NEXT:       Section: _f
84 MFUN32-NEXT:       CodeSize: 0x14
85 MFUN32-NEXT:     }
86 MFUN32-NEXT:     ProcEnd
87 MFUN32:        ]
88 MFUN32-NEXT:   Subsection [
89 MFUN32-NEXT:     Type: 0xF2
90 MFUN32-NEXT:     PayloadSize: 0x40
91 MFUN32:          LinkageName: _f
92 MFUN32-NEXT:   ]
93 MFUN32-NEXT:   Subsection [
94 MFUN32-NEXT:     Type: 0xF4
95 MFUN32-NEXT:     PayloadSize: 0x18
96 MFUN32:        ]
97 MFUN32-NEXT:   Subsection [
98 MFUN32-NEXT:     Type: 0xF3
99 MFUN32-NEXT:     PayloadSize: 0x46
100 MFUN32:        ]
101 MFUN32-NEXT:   Subsection [
102 MFUN32-NEXT:     Type: 0xF1
103 MFUN32-NEXT:     PayloadSize: 0x8
104 MFUN32:        ]
105 MFUN32-NEXT:   FunctionLineTable [
106 MFUN32-NEXT      LinkageName: _x
107 MFUN32-NEXT      Flags: 0x0
108 MFUN32-NEXT      CodeSize: 0xA
109 MFUN32-NEXT      FilenameSegment [
110 MFUN32-NEXT        Filename: d:\source.c
111 MFUN32-NEXT        +0x0 [
112 MFUN32-NEXT          LineNumberStart: 3
113 MFUN32-NEXT          LineNumberEndDelta: 0
114 MFUN32-NEXT          IsStatement: Yes
115 MFUN32-NEXT        ]
116 MFUN32-NEXT        +0x3 [
117 MFUN32-NEXT          LineNumberStart: 4
118 MFUN32-NEXT          LineNumberEndDelta: 0
119 MFUN32-NEXT          IsStatement: Yes
120 MFUN32-NEXT        ]
121 MFUN32-NEXT        +0x8 [
122 MFUN32-NEXT          LineNumberStart: 5
123 MFUN32-NEXT          LineNumberEndDelta: 0
124 MFUN32-NEXT          IsStatement: Yes
125 MFUN32-NEXT        ]
126 MFUN32-NEXT      ]
127 MFUN32-NEXT    ]
128 MFUN32-NEXT    FunctionLineTable [
129 MFUN32-NEXT      LinkageName: _y
130 MFUN32-NEXT      Flags: 0x0
131 MFUN32-NEXT      CodeSize: 0xA
132 MFUN32-NEXT      FilenameSegment [
133 MFUN32-NEXT        Filename: d:\source.c
134 MFUN32-NEXT        +0x0 [
135 MFUN32-NEXT          LineNumberStart: 7
136 MFUN32-NEXT          LineNumberEndDelta: 0
137 MFUN32-NEXT          IsStatement: Yes
138 MFUN32-NEXT        ]
139 MFUN32-NEXT        +0x3 [
140 MFUN32-NEXT          LineNumberStart: 8
141 MFUN32-NEXT          LineNumberEndDelta: 0
142 MFUN32-NEXT          IsStatement: Yes
143 MFUN32-NEXT        ]
144 MFUN32-NEXT        +0x8 [
145 MFUN32-NEXT          LineNumberStart: 9
146 MFUN32-NEXT          LineNumberEndDelta: 0
147 MFUN32-NEXT          IsStatement: Yes
148 MFUN32-NEXT        ]
149 MFUN32-NEXT      ]
150 MFUN32-NEXT    ]
151 MFUN32-NEXT    FunctionLineTable [
152 MFUN32-NEXT      LinkageName: _f
153 MFUN32-NEXT      Flags: 0x0
154 MFUN32-NEXT      CodeSize: 0x14
155 MFUN32-NEXT      FilenameSegment [
156 MFUN32-NEXT        Filename: d:\source.c
157 MFUN32-NEXT        +0x0 [
158 MFUN32-NEXT          LineNumberStart: 11
159 MFUN32-NEXT          LineNumberEndDelta: 0
160 MFUN32-NEXT          IsStatement: Yes
161 MFUN32-NEXT        ]
162 MFUN32-NEXT        +0x3 [
163 MFUN32-NEXT          LineNumberStart: 12
164 MFUN32-NEXT          LineNumberEndDelta: 0
165 MFUN32-NEXT          IsStatement: Yes
166 MFUN32-NEXT        ]
167 MFUN32-NEXT        +0x8 [
168 MFUN32-NEXT          LineNumberStart: 13
169 MFUN32-NEXT          LineNumberEndDelta: 0
170 MFUN32-NEXT          IsStatement: Yes
171 MFUN32-NEXT        ]
172 MFUN32-NEXT        +0xD [
173 MFUN32-NEXT          LineNumberStart: 14
174 MFUN32-NEXT          LineNumberEndDelta: 0
175 MFUN32-NEXT          IsStatement: Yes
176 MFUN32-NEXT        ]
177 MFUN32-NEXT        +0x12 [
178 MFUN32-NEXT          LineNumberStart: 15
179 MFUN32-NEXT          LineNumberEndDelta: 0
180 MFUN32-NEXT          IsStatement: Yes
181 MFUN32-NEXT        ]
182 MFUN32-NEXT      ]
183 MFUN32-NEXT    ]
184 MFUN32-NEXT  ]
185
186 MFUN64:      CodeViewDebugInfo [
187 MFUN64-NEXT:   Magic: 0x4
188 MFUN64-NEXT:   Subsection [
189 MFUN64-NEXT:     Type: 0xF1
190 MFUN64-NEXT:     PayloadSize: 0x52
191 MFUN64:        ]
192 MFUN64-NEXT:   Subsection [
193 MFUN64-NEXT:     Type: 0xF1
194 MFUN64-NEXT:     PayloadSize: 0x4B
195 MFUN64:          ProcStart {
196 MFUN64-NEXT:       DisplayName: x
197 MFUN64-NEXT:       Section: x
198 MFUN64-NEXT:       CodeSize: 0xE
199 MFUN64-NEXT:     }
200 MFUN64-NEXT:     ProcEnd
201 MFUN64:        ]
202 MFUN64-NEXT:   Subsection [
203 MFUN64-NEXT:     Type: 0xF2
204 MFUN64-NEXT:     PayloadSize: 0x30
205 MFUN64:          LinkageName: x
206 MFUN64-NEXT:   ]
207 MFUN64-NEXT:   Subsection [
208 MFUN64-NEXT:     Type: 0xF1
209 MFUN64-NEXT:     PayloadSize: 0x4B
210 MFUN64:          ProcStart {
211 MFUN64-NEXT:       DisplayName: y
212 MFUN64-NEXT:       Section: y
213 MFUN64-NEXT:       CodeSize: 0xE
214 MFUN64-NEXT:     }
215 MFUN64-NEXT:     ProcEnd
216 MFUN64:        ]
217 MFUN64-NEXT:   Subsection [
218 MFUN64-NEXT:     Type: 0xF2
219 MFUN64-NEXT:     PayloadSize: 0x30
220 MFUN64:          LinkageName: y
221 MFUN64-NEXT:   ]
222 MFUN64-NEXT:   Subsection [
223 MFUN64-NEXT:     Type: 0xF1
224 MFUN64-NEXT:     PayloadSize: 0x4B
225 MFUN64:          ProcStart {
226 MFUN64-NEXT:       DisplayName: f
227 MFUN64-NEXT:       Section: f
228 MFUN64-NEXT:       CodeSize: 0x18
229 MFUN64-NEXT:     }
230 MFUN64-NEXT:     ProcEnd
231 MFUN64:        ]
232 MFUN64-NEXT:   Subsection [
233 MFUN64-NEXT:     Type: 0xF2
234 MFUN64-NEXT:     PayloadSize: 0x40
235 MFUN64:          LinkageName: f
236 MFUN64-NEXT:   ]
237 MFUN64-NEXT:   Subsection [
238 MFUN64-NEXT:     Type: 0xF4
239 MFUN64-NEXT:     PayloadSize: 0x18
240 MFUN64:        ]
241 MFUN64-NEXT:   Subsection [
242 MFUN64-NEXT:     Type: 0xF3
243 MFUN64-NEXT:     PayloadSize: 0xD
244 MFUN64:        ]
245 MFUN64-NEXT:   Subsection [
246 MFUN64-NEXT:     Type: 0xF1
247 MFUN64-NEXT:     PayloadSize: 0x8
248 MFUN64:        ]
249 MFUN64-NEXT:   FunctionLineTable [
250 MFUN64-NEXT:     LinkageName: x
251 MFUN64-NEXT:     Flags: 0x0
252 MFUN64-NEXT:     CodeSize: 0xE
253 MFUN64-NEXT:     FilenameSegment [
254 MFUN64-NEXT:       Filename: d:\source.c
255 MFUN64-NEXT:       +0x0 [
256 MFUN64-NEXT:         LineNumberStart: 3
257 MFUN64-NEXT:         LineNumberEndDelta: 0
258 MFUN64-NEXT:         IsStatement: Yes
259 MFUN64-NEXT:       ]
260 MFUN64-NEXT:       +0x4 [
261 MFUN64-NEXT:         LineNumberStart: 4
262 MFUN64-NEXT:         LineNumberEndDelta: 0
263 MFUN64-NEXT:         IsStatement: Yes
264 MFUN64-NEXT:       ]
265 MFUN64-NEXT:       +0x9 [
266 MFUN64-NEXT:         LineNumberStart: 5
267 MFUN64-NEXT:         LineNumberEndDelta: 0
268 MFUN64-NEXT:         IsStatement: Yes
269 MFUN64-NEXT:       ]
270 MFUN64-NEXT:     ]
271 MFUN64-NEXT:   ]
272 MFUN64-NEXT:   FunctionLineTable [
273 MFUN64-NEXT:     LinkageName: y
274 MFUN64-NEXT:     Flags: 0x0
275 MFUN64-NEXT:     CodeSize: 0xE
276 MFUN64-NEXT:     FilenameSegment [
277 MFUN64-NEXT:       Filename: d:\source.c
278 MFUN64-NEXT:       +0x0 [
279 MFUN64-NEXT:         LineNumberStart: 7
280 MFUN64-NEXT:         LineNumberEndDelta: 0
281 MFUN64-NEXT:         IsStatement: Yes
282 MFUN64-NEXT:       ]
283 MFUN64-NEXT:       +0x4 [
284 MFUN64-NEXT:         LineNumberStart: 8
285 MFUN64-NEXT:         LineNumberEndDelta: 0
286 MFUN64-NEXT:         IsStatement: Yes
287 MFUN64-NEXT:       ]
288 MFUN64-NEXT:       +0x9 [
289 MFUN64-NEXT:         LineNumberStart: 9
290 MFUN64-NEXT:         LineNumberEndDelta: 0
291 MFUN64-NEXT:         IsStatement: Yes
292 MFUN64-NEXT:       ]
293 MFUN64-NEXT:     ]
294 MFUN64-NEXT:   ]
295 MFUN64-NEXT:   FunctionLineTable [
296 MFUN64-NEXT:     LinkageName: f
297 MFUN64-NEXT:     Flags: 0x0
298 MFUN64-NEXT:     CodeSize: 0x18
299 MFUN64-NEXT:     FilenameSegment [
300 MFUN64-NEXT:       Filename: d:\source.c
301 MFUN64-NEXT:       +0x0 [
302 MFUN64-NEXT:         LineNumberStart: 11
303 MFUN64-NEXT:         LineNumberEndDelta: 0
304 MFUN64-NEXT:         IsStatement: Yes
305 MFUN64-NEXT:       ]
306 MFUN64-NEXT:       +0x4 [
307 MFUN64-NEXT:         LineNumberStart: 12
308 MFUN64-NEXT:         LineNumberEndDelta: 0
309 MFUN64-NEXT:         IsStatement: Yes
310 MFUN64-NEXT:       ]
311 MFUN64-NEXT:       +0x9 [
312 MFUN64-NEXT:         LineNumberStart: 13
313 MFUN64-NEXT:         LineNumberEndDelta: 0
314 MFUN64-NEXT:         IsStatement: Yes
315 MFUN64-NEXT:       ]
316 MFUN64-NEXT:       +0xE [
317 MFUN64-NEXT:         LineNumberStart: 14
318 MFUN64-NEXT:         LineNumberEndDelta: 0
319 MFUN64-NEXT:         IsStatement: Yes
320 MFUN64-NEXT:       ]
321 MFUN64-NEXT:       +0x13 [
322 MFUN64-NEXT:         LineNumberStart: 15
323 MFUN64-NEXT:         LineNumberEndDelta: 0
324 MFUN64-NEXT:         IsStatement: Yes
325 MFUN64-NEXT:       ]
326 MFUN64-NEXT:     ]
327 MFUN64-NEXT:   ]
328 MFUN64-NEXT: ]
329
330 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
331 ; The following two object files were generated using the following command:
332 ;   D:\> cl /Z7 /c input.c
333 ; with the following contents of D:\input.c:
334 ;   void g(void);
335 ;
336 ;   void f(void) {
337 ;   #line 1 "one.c"
338 ;     g();
339 ;   #line 2 "two.c"
340 ;     g();
341 ;   #line 7 "one.c"
342 ;     g();
343 ;   }
344 ; using 32-/64-bit versions of CL v17.00.61030 and v18.00.21005.1 respectively.
345 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2012-i368 \
346 RUN:   | FileCheck %s -check-prefix MFILE32
347 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2013-i368 \
348 RUN:   | FileCheck %s -check-prefix MFILE32
349 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2012-x86_64 \
350 RUN:   | FileCheck %s -check-prefix MFILE64
351 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2013-x86_64 \
352 RUN:   | FileCheck %s -check-prefix MFILE64
353
354 MFILE32:      CodeViewDebugInfo [
355 MFILE32-NEXT:   Magic: 0x4
356 MFILE32-NEXT:   Subsection [
357 MFILE32-NEXT:     Type: 0xF1
358 MFILE32-NEXT:     PayloadSize: 0x51
359 MFILE32:        ]
360 MFILE32-NEXT:   Subsection [
361 MFILE32-NEXT:     Type: 0xF5
362 MFILE32-NEXT:     PayloadSize: 0x24
363 MFILE32:        ]
364 MFILE32-NEXT:   Subsection [
365 MFILE32-NEXT:     Type: 0xF1
366 MFILE32-NEXT:     PayloadSize: 0x4B
367 MFILE32:          ProcStart {
368 MFILE32-NEXT:       DisplayName: f
369 MFILE32-NEXT:       Section: _f
370 MFILE32-NEXT:       CodeSize: 0x14
371 MFILE32-NEXT:     }
372 MFILE32-NEXT:     ProcEnd
373 MFILE32:        ]
374 MFILE32-NEXT:   Subsection [
375 MFILE32-NEXT:     Type: 0xF2
376 MFILE32-NEXT:     PayloadSize: 0x64
377 MFILE32:          LinkageName: _f
378 MFILE32-NEXT:   ]
379 MFILE32-NEXT:   Subsection [
380 MFILE32-NEXT:     Type: 0xF4
381 MFILE32-NEXT:     PayloadSize: 0x28
382 MFILE32:        ]
383 MFILE32-NEXT:   Subsection [
384 MFILE32-NEXT:     Type: 0xF3
385 MFILE32-NEXT:     PayloadSize: 0x57
386 MFILE32:        ]
387 MFILE32-NEXT:   Subsection [
388 MFILE32-NEXT:     Type: 0xF1
389 MFILE32-NEXT:     PayloadSize: 0x8
390 MFILE32:        ]
391 MFILE32-NEXT:   FunctionLineTable [
392 MFILE32-NEXT:     LinkageName: _f
393 MFILE32-NEXT:     Flags: 0x0
394 MFILE32-NEXT:     CodeSize: 0x14
395 MFILE32-NEXT:     FilenameSegment [
396 MFILE32-NEXT:       Filename: d:\input.c
397 MFILE32-NEXT:       +0x0 [
398 MFILE32-NEXT:         LineNumberStart: 3
399 MFILE32-NEXT:         LineNumberEndDelta: 0
400 MFILE32-NEXT:         IsStatement: Yes
401 MFILE32-NEXT:       ]
402 MFILE32-NEXT:     ]
403 MFILE32-NEXT:     FilenameSegment [
404 MFILE32-NEXT:       Filename: d:\one.c
405 MFILE32-NEXT:       +0x3 [
406 MFILE32-NEXT:         LineNumberStart: 1
407 MFILE32-NEXT:         LineNumberEndDelta: 0
408 MFILE32-NEXT:         IsStatement: Yes
409 MFILE32-NEXT:       ]
410 MFILE32-NEXT:     ]
411 MFILE32-NEXT:     FilenameSegment [
412 MFILE32-NEXT:       Filename: d:\two.c
413 MFILE32-NEXT:       +0x8 [
414 MFILE32-NEXT:         LineNumberStart: 2
415 MFILE32-NEXT:         LineNumberEndDelta: 0
416 MFILE32-NEXT:         IsStatement: Yes
417 MFILE32-NEXT:       ]
418 MFILE32-NEXT:     ]
419 MFILE32-NEXT:     FilenameSegment [
420 MFILE32-NEXT:       Filename: d:\one.c
421 MFILE32-NEXT:       +0xD [
422 MFILE32-NEXT:         LineNumberStart: 7
423 MFILE32-NEXT:         LineNumberEndDelta: 0
424 MFILE32-NEXT:         IsStatement: Yes
425 MFILE32-NEXT:       ]
426 MFILE32-NEXT:       +0x12 [
427 MFILE32-NEXT:         LineNumberStart: 8
428 MFILE32-NEXT:         LineNumberEndDelta: 0
429 MFILE32-NEXT:         IsStatement: Yes
430 MFILE32-NEXT:       ]
431 MFILE32-NEXT:     ]
432 MFILE32-NEXT:   ]
433 MFILE32-NEXT: ]
434
435 MFILE64:      CodeViewDebugInfo [
436 MFILE64-NEXT:   Magic: 0x4
437 MFILE64-NEXT:   Subsection [
438 MFILE64-NEXT:     Type: 0xF1
439 MFILE64-NEXT:     PayloadSize: 0x51
440 MFILE64:        ]
441 MFILE64-NEXT:   Subsection [
442 MFILE64-NEXT:     Type: 0xF1
443 MFILE64-NEXT:     PayloadSize: 0x4B
444 MFILE64:          ProcStart {
445 MFILE64-NEXT:       DisplayName: f
446 MFILE64-NEXT:       Section: f
447 MFILE64-NEXT:       CodeSize: 0x18
448 MFILE64-NEXT:     }
449 MFILE64-NEXT:     ProcEnd
450 MFILE64:        ]
451 MFILE64-NEXT:   Subsection [
452 MFILE64-NEXT:     Type: 0xF2
453 MFILE64-NEXT:     PayloadSize: 0x64
454 MFILE64:          LinkageName: f
455 MFILE64-NEXT:   ]
456 MFILE64-NEXT:   Subsection [
457 MFILE64-NEXT:     Type: 0xF4
458 MFILE64-NEXT:     PayloadSize: 0x28
459 MFILE64:        ]
460 MFILE64-NEXT:   Subsection [
461 MFILE64-NEXT:     Type: 0xF3
462 MFILE64-NEXT:     PayloadSize: 0x1E
463 MFILE64:        ]
464 MFILE64-NEXT:   Subsection [
465 MFILE64-NEXT:     Type: 0xF1
466 MFILE64-NEXT:     PayloadSize: 0x8
467 MFILE64:        ]
468 MFILE64-NEXT:  FunctionLineTable [
469 MFILE64-NEXT:    LinkageName: f
470 MFILE64-NEXT:    Flags: 0x0
471 MFILE64-NEXT:    CodeSize: 0x18
472 MFILE64-NEXT:    FilenameSegment [
473 MFILE64-NEXT:      Filename: d:\input.c
474 MFILE64-NEXT:      +0x0 [
475 MFILE64-NEXT:        LineNumberStart: 3
476 MFILE64-NEXT:        LineNumberEndDelta: 0
477 MFILE64-NEXT:        IsStatement: Yes
478 MFILE64-NEXT:      ]
479 MFILE64-NEXT:    ]
480 MFILE64-NEXT:    FilenameSegment [
481 MFILE64-NEXT:      Filename: d:\one.c
482 MFILE64-NEXT:      +0x4 [
483 MFILE64-NEXT:        LineNumberStart: 1
484 MFILE64-NEXT:        LineNumberEndDelta: 0
485 MFILE64-NEXT:        IsStatement: Yes
486 MFILE64-NEXT:      ]
487 MFILE64-NEXT:    ]
488 MFILE64-NEXT:    FilenameSegment [
489 MFILE64-NEXT:      Filename: d:\two.c
490 MFILE64-NEXT:      +0x9 [
491 MFILE64-NEXT:        LineNumberStart: 2
492 MFILE64-NEXT:        LineNumberEndDelta: 0
493 MFILE64-NEXT:        IsStatement: Yes
494 MFILE64-NEXT:      ]
495 MFILE64-NEXT:    ]
496 MFILE64-NEXT:    FilenameSegment [
497 MFILE64-NEXT:      Filename: d:\one.c
498 MFILE64-NEXT:      +0xE [
499 MFILE64-NEXT:        LineNumberStart: 7
500 MFILE64-NEXT:        LineNumberEndDelta: 0
501 MFILE64-NEXT:        IsStatement: Yes
502 MFILE64-NEXT:      ]
503 MFILE64-NEXT:      +0x13 [
504 MFILE64-NEXT:        LineNumberStart: 8
505 MFILE64-NEXT:        LineNumberEndDelta: 0
506 MFILE64-NEXT:        IsStatement: Yes
507 MFILE64-NEXT:      ]
508 MFILE64-NEXT:    ]
509 MFILE64-NEXT: ]
510
511 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
512 ; The following object files were generated using the following command:
513 ;   C:\src> cl /Z7 /Gy /c test.cc
514 ; with the following contents of C:\src\test.cc:
515 ;   int f()
516 ;   {
517 ;     return 0;
518 ;   }
519 ;
520 ;   int g()
521 ;   {
522 ;     return 0;
523 ;   }
524 ; using 32-version of CL v17.00.61030 and v18.00.21005.1 respectively.
525 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/comdat-function-linetables.obj.coff-2012-i386 \
526 RUN:   | FileCheck %s -check-prefix MCOMDAT
527 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/comdat-function-linetables.obj.coff-2013-i386 \
528 RUN:   | FileCheck %s -check-prefix MCOMDAT
529
530 MCOMDAT:      ProcStart {
531 MCOMDAT-NEXT:   DisplayName: f
532 MCOMDAT-NEXT:   Section: ?f@@YAHXZ
533 MCOMDAT-NEXT:   CodeSize: 0x7
534 MCOMDAT-NEXT: }
535 MCOMDAT:      FunctionLineTable [
536 MCOMDAT-NEXT:   LinkageName: ?f@@YAHXZ
537 MCOMDAT-NEXT:   Flags: 0x0
538 MCOMDAT-NEXT:   CodeSize: 0x7
539 MCOMDAT-NEXT:   FilenameSegment [
540 MCOMDAT-NEXT:     Filename: c:\src\test.cc
541 MCOMDAT-NEXT:     +0x0 [
542 MCOMDAT-NEXT:       LineNumberStart: 2
543 MCOMDAT-NEXT:       LineNumberEndDelta: 0
544 MCOMDAT-NEXT:       IsStatement: Yes
545 MCOMDAT-NEXT:     ]
546 MCOMDAT-NEXT:     +0x3 [
547 MCOMDAT-NEXT:       LineNumberStart: 3
548 MCOMDAT-NEXT:       LineNumberEndDelta: 0
549 MCOMDAT-NEXT:       IsStatement: Yes
550 MCOMDAT-NEXT:     ]
551 MCOMDAT-NEXT:     +0x5 [
552 MCOMDAT-NEXT:       LineNumberStart: 4
553 MCOMDAT-NEXT:       LineNumberEndDelta: 0
554 MCOMDAT-NEXT:       IsStatement: Yes
555 MCOMDAT-NEXT:     ]
556 MCOMDAT-NEXT:   ]
557 MCOMDAT-NEXT: ]
558 MCOMDAT:      ProcStart {
559 MCOMDAT-NEXT:   DisplayName: g
560 MCOMDAT-NEXT:   Section: ?g@@YAHXZ
561 MCOMDAT-NEXT:   CodeSize: 0x7
562 MCOMDAT-NEXT: }
563 MCOMDAT:      FunctionLineTable [
564 MCOMDAT-NEXT:   LinkageName: ?g@@YAHXZ
565 MCOMDAT-NEXT:   Flags: 0x0
566 MCOMDAT-NEXT:   CodeSize: 0x7
567 MCOMDAT-NEXT:   FilenameSegment [
568 MCOMDAT-NEXT:     Filename: c:\src\test.cc
569 MCOMDAT-NEXT:     +0x0 [
570 MCOMDAT-NEXT:       LineNumberStart: 7
571 MCOMDAT-NEXT:       LineNumberEndDelta: 0
572 MCOMDAT-NEXT:       IsStatement: Yes
573 MCOMDAT-NEXT:     ]
574 MCOMDAT-NEXT:     +0x3 [
575 MCOMDAT-NEXT:       LineNumberStart: 8
576 MCOMDAT-NEXT:       LineNumberEndDelta: 0
577 MCOMDAT-NEXT:       IsStatement: Yes
578 MCOMDAT-NEXT:     ]
579 MCOMDAT-NEXT:     +0x5 [
580 MCOMDAT-NEXT:       LineNumberStart: 9
581 MCOMDAT-NEXT:       LineNumberEndDelta: 0
582 MCOMDAT-NEXT:       IsStatement: Yes
583 MCOMDAT-NEXT:     ]
584 MCOMDAT-NEXT:   ]
585 MCOMDAT-NEXT: ]