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