codeview-linetables.test revision 36b56886974eae4f9c5ebc96befd3e7bfe5de338
1RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifunction-linetables.obj.coff-2012-i368 \
2RUN:   | FileCheck %s -check-prefix MFUN32
3RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifunction-linetables.obj.coff-2012-x86_64 \
4RUN:   | FileCheck %s -check-prefix MFUN64
5RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2012-i368 \
6RUN:   | FileCheck %s -check-prefix MFILE32
7RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2012-x86_64 \
8RUN:   | FileCheck %s -check-prefix MFILE64
9
10MFUN32:      CodeViewLineTables [
11MFUN32-NEXT:   Magic: 0x4
12MFUN32-NEXT:   Subsection [
13MFUN32-NEXT:     Type: 0xF1
14MFUN32-NEXT:     PayloadSize: 0x52
15MFUN32:        ]
16MFUN32-NEXT:   Subsection [
17MFUN32-NEXT:     Type: 0xF5
18MFUN32-NEXT:     PayloadSize: 0x24
19MFUN32:        ]
20MFUN32-NEXT:   Subsection [
21MFUN32-NEXT:     Type: 0xF1
22MFUN32-NEXT:     PayloadSize: 0x4B
23MFUN32:        ]
24MFUN32-NEXT:   Subsection [
25MFUN32-NEXT:     Type: 0xF2
26MFUN32-NEXT:     PayloadSize: 0x30
27MFUN32:          FunctionName: _x
28MFUN32-NEXT:   ]
29MFUN32-NEXT:   Subsection [
30MFUN32-NEXT:     Type: 0xF5
31MFUN32-NEXT:     PayloadSize: 0x24
32MFUN32:        ]
33MFUN32-NEXT:   Subsection [
34MFUN32-NEXT:     Type: 0xF1
35MFUN32-NEXT:     PayloadSize: 0x4B
36MFUN32:        ]
37MFUN32-NEXT:   Subsection [
38MFUN32-NEXT:     Type: 0xF2
39MFUN32-NEXT:     PayloadSize: 0x30
40MFUN32:          FunctionName: _y
41MFUN32-NEXT:   ]
42MFUN32-NEXT:   Subsection [
43MFUN32-NEXT:     Type: 0xF5
44MFUN32-NEXT:     PayloadSize: 0x24
45MFUN32:        ]
46MFUN32-NEXT:   Subsection [
47MFUN32-NEXT:     Type: 0xF1
48MFUN32-NEXT:     PayloadSize: 0x4B
49MFUN32:        ]
50MFUN32-NEXT:   Subsection [
51MFUN32-NEXT:     Type: 0xF2
52MFUN32-NEXT:     PayloadSize: 0x40
53MFUN32:          FunctionName: _f
54MFUN32-NEXT:   ]
55MFUN32-NEXT:   Subsection [
56MFUN32-NEXT:     Type: 0xF4
57MFUN32-NEXT:     PayloadSize: 0x18
58MFUN32:        ]
59MFUN32-NEXT:   Subsection [
60MFUN32-NEXT:     Type: 0xF3
61MFUN32-NEXT:     PayloadSize: 0x46
62MFUN32:        ]
63MFUN32-NEXT:   Subsection [
64MFUN32-NEXT:     Type: 0xF1
65MFUN32-NEXT:     PayloadSize: 0x8
66MFUN32:        ]
67MFUN32-NEXT:   FunctionLineTable [
68MFUN32-NEXT:     FunctionName: _x
69MFUN32-NEXT:     CodeSize: 0xA
70MFUN32-NEXT:     FilenameSegment [
71MFUN32-NEXT:       Filename: d:\source.c
72MFUN32-NEXT:       +0x0: 3
73MFUN32-NEXT:       +0x3: 4
74MFUN32-NEXT:       +0x8: 5
75MFUN32-NEXT:     ]
76MFUN32-NEXT:   ]
77MFUN32-NEXT:   FunctionLineTable [
78MFUN32-NEXT:     FunctionName: _y
79MFUN32-NEXT:     CodeSize: 0xA
80MFUN32-NEXT:     FilenameSegment [
81MFUN32-NEXT:       Filename: d:\source.c
82MFUN32-NEXT:       +0x0: 7
83MFUN32-NEXT:       +0x3: 8
84MFUN32-NEXT:       +0x8: 9
85MFUN32-NEXT:     ]
86MFUN32-NEXT:   ]
87MFUN32-NEXT:   FunctionLineTable [
88MFUN32-NEXT:     FunctionName: _f
89MFUN32-NEXT:     CodeSize: 0x14
90MFUN32-NEXT:     FilenameSegment [
91MFUN32-NEXT:       Filename: d:\source.c
92MFUN32-NEXT:       +0x0: 11
93MFUN32-NEXT:       +0x3: 12
94MFUN32-NEXT:       +0x8: 13
95MFUN32-NEXT:       +0xD: 14
96MFUN32-NEXT:       +0x12: 15
97MFUN32-NEXT:     ]
98MFUN32-NEXT:   ]
99MFUN32-NEXT: ]
100
101MFUN64:      CodeViewLineTables [
102MFUN64-NEXT:   Magic: 0x4
103MFUN64-NEXT:   Subsection [
104MFUN64-NEXT:     Type: 0xF1
105MFUN64-NEXT:     PayloadSize: 0x52
106MFUN64:        ]
107MFUN64-NEXT:   Subsection [
108MFUN64-NEXT:     Type: 0xF1
109MFUN64-NEXT:     PayloadSize: 0x4B
110MFUN64:        ]
111MFUN64-NEXT:   Subsection [
112MFUN64-NEXT:     Type: 0xF2
113MFUN64-NEXT:     PayloadSize: 0x30
114MFUN64:          FunctionName: x
115MFUN64-NEXT:   ]
116MFUN64-NEXT:   Subsection [
117MFUN64-NEXT:     Type: 0xF1
118MFUN64-NEXT:     PayloadSize: 0x4B
119MFUN64:        ]
120MFUN64-NEXT:   Subsection [
121MFUN64-NEXT:     Type: 0xF2
122MFUN64-NEXT:     PayloadSize: 0x30
123MFUN64:          FunctionName: y
124MFUN64-NEXT:   ]
125MFUN64-NEXT:   Subsection [
126MFUN64-NEXT:     Type: 0xF1
127MFUN64-NEXT:     PayloadSize: 0x4B
128MFUN64:        ]
129MFUN64-NEXT:   Subsection [
130MFUN64-NEXT:     Type: 0xF2
131MFUN64-NEXT:     PayloadSize: 0x40
132MFUN64:          FunctionName: f
133MFUN64-NEXT:   ]
134MFUN64-NEXT:   Subsection [
135MFUN64-NEXT:     Type: 0xF4
136MFUN64-NEXT:     PayloadSize: 0x18
137MFUN64:        ]
138MFUN64-NEXT:   Subsection [
139MFUN64-NEXT:     Type: 0xF3
140MFUN64-NEXT:     PayloadSize: 0xD
141MFUN64:        ]
142MFUN64-NEXT:   Subsection [
143MFUN64-NEXT:     Type: 0xF1
144MFUN64-NEXT:     PayloadSize: 0x8
145MFUN64:        ]
146MFUN64-NEXT:   FunctionLineTable [
147MFUN64-NEXT:     FunctionName: x
148MFUN64-NEXT:     CodeSize: 0xE
149MFUN64-NEXT:     FilenameSegment [
150MFUN64-NEXT:       Filename: d:\source.c
151MFUN64-NEXT:       +0x0: 3
152MFUN64-NEXT:       +0x4: 4
153MFUN64-NEXT:       +0x9: 5
154MFUN64-NEXT:     ]
155MFUN64-NEXT:   ]
156MFUN64-NEXT:   FunctionLineTable [
157MFUN64-NEXT:     FunctionName: y
158MFUN64-NEXT:     CodeSize: 0xE
159MFUN64-NEXT:     FilenameSegment [
160MFUN64-NEXT:       Filename: d:\source.c
161MFUN64-NEXT:       +0x0: 7
162MFUN64-NEXT:       +0x4: 8
163MFUN64-NEXT:       +0x9: 9
164MFUN64-NEXT:     ]
165MFUN64-NEXT:   ]
166MFUN64-NEXT:   FunctionLineTable [
167MFUN64-NEXT:     FunctionName: f
168MFUN64-NEXT:     CodeSize: 0x18
169MFUN64-NEXT:     FilenameSegment [
170MFUN64-NEXT:       Filename: d:\source.c
171MFUN64-NEXT:       +0x0: 11
172MFUN64-NEXT:       +0x4: 12
173MFUN64-NEXT:       +0x9: 13
174MFUN64-NEXT:       +0xE: 14
175MFUN64-NEXT:       +0x13: 15
176MFUN64-NEXT:     ]
177MFUN64-NEXT:   ]
178MFUN64-NEXT: ]
179
180MFILE32:      CodeViewLineTables [
181MFILE32-NEXT:   Magic: 0x4
182MFILE32-NEXT:   Subsection [
183MFILE32-NEXT:     Type: 0xF1
184MFILE32-NEXT:     PayloadSize: 0x51
185MFILE32:        ]
186MFILE32-NEXT:   Subsection [
187MFILE32-NEXT:     Type: 0xF5
188MFILE32-NEXT:     PayloadSize: 0x24
189MFILE32:        ]
190MFILE32-NEXT:   Subsection [
191MFILE32-NEXT:     Type: 0xF1
192MFILE32-NEXT:     PayloadSize: 0x4B
193MFILE32:        ]
194MFILE32-NEXT:   Subsection [
195MFILE32-NEXT:     Type: 0xF2
196MFILE32-NEXT:     PayloadSize: 0x64
197MFILE32:          FunctionName: _f
198MFILE32-NEXT:   ]
199MFILE32-NEXT:   Subsection [
200MFILE32-NEXT:     Type: 0xF4
201MFILE32-NEXT:     PayloadSize: 0x28
202MFILE32:        ]
203MFILE32-NEXT:   Subsection [
204MFILE32-NEXT:     Type: 0xF3
205MFILE32-NEXT:     PayloadSize: 0x57
206MFILE32:        ]
207MFILE32-NEXT:   Subsection [
208MFILE32-NEXT:     Type: 0xF1
209MFILE32-NEXT:     PayloadSize: 0x8
210MFILE32:        ]
211MFILE32-NEXT:   FunctionLineTable [
212MFILE32-NEXT:     FunctionName: _f
213MFILE32-NEXT:     CodeSize: 0x14
214MFILE32-NEXT:     FilenameSegment [
215MFILE32-NEXT:       Filename: d:\input.c
216MFILE32-NEXT:       +0x0: 3
217MFILE32-NEXT:     ]
218MFILE32-NEXT:     FilenameSegment [
219MFILE32-NEXT:       Filename: d:\one.c
220MFILE32-NEXT:       +0x3: 1
221MFILE32-NEXT:     ]
222MFILE32-NEXT:     FilenameSegment [
223MFILE32-NEXT:       Filename: d:\two.c
224MFILE32-NEXT:       +0x8: 2
225MFILE32-NEXT:     ]
226MFILE32-NEXT:     FilenameSegment [
227MFILE32-NEXT:       Filename: d:\one.c
228MFILE32-NEXT:       +0xD: 7
229MFILE32-NEXT:       +0x12: 8
230MFILE32-NEXT:     ]
231MFILE32-NEXT:   ]
232MFILE32-NEXT: ]
233
234MFILE64:      CodeViewLineTables [
235MFILE64-NEXT:   Magic: 0x4
236MFILE64-NEXT:   Subsection [
237MFILE64-NEXT:     Type: 0xF1
238MFILE64-NEXT:     PayloadSize: 0x51
239MFILE64:        ]
240MFILE64-NEXT:   Subsection [
241MFILE64-NEXT:     Type: 0xF1
242MFILE64-NEXT:     PayloadSize: 0x4B
243MFILE64:        ]
244MFILE64-NEXT:   Subsection [
245MFILE64-NEXT:     Type: 0xF2
246MFILE64-NEXT:     PayloadSize: 0x64
247MFILE64:          FunctionName: f
248MFILE64-NEXT:   ]
249MFILE64-NEXT:   Subsection [
250MFILE64-NEXT:     Type: 0xF4
251MFILE64-NEXT:     PayloadSize: 0x28
252MFILE64:        ]
253MFILE64-NEXT:   Subsection [
254MFILE64-NEXT:     Type: 0xF3
255MFILE64-NEXT:     PayloadSize: 0x1E
256MFILE64:        ]
257MFILE64-NEXT:   Subsection [
258MFILE64-NEXT:     Type: 0xF1
259MFILE64-NEXT:     PayloadSize: 0x8
260MFILE64:        ]
261MFILE64-NEXT:   FunctionLineTable [
262MFILE64-NEXT:     FunctionName: f
263MFILE64-NEXT:     CodeSize: 0x18
264MFILE64-NEXT:     FilenameSegment [
265MFILE64-NEXT:       Filename: d:\input.c
266MFILE64-NEXT:       +0x0: 3
267MFILE64-NEXT:     ]
268MFILE64-NEXT:     FilenameSegment [
269MFILE64-NEXT:       Filename: d:\one.c
270MFILE64-NEXT:       +0x4: 1
271MFILE64-NEXT:     ]
272MFILE64-NEXT:     FilenameSegment [
273MFILE64-NEXT:       Filename: d:\two.c
274MFILE64-NEXT:       +0x9: 2
275MFILE64-NEXT:     ]
276MFILE64-NEXT:     FilenameSegment [
277MFILE64-NEXT:       Filename: d:\one.c
278MFILE64-NEXT:       +0xE: 7
279MFILE64-NEXT:       +0x13: 8
280MFILE64-NEXT:     ]
281MFILE64-NEXT:   ]
282MFILE64-NEXT: ]
283