Commit | Line | Data |
---|---|---|
ecd75fc8 | 1 | /* Copyright 2010-2014 Free Software Foundation, Inc. |
c37bf528 KS |
2 | |
3 | This program is free software; you can redistribute it and/or modify | |
4 | it under the terms of the GNU General Public License as published by | |
5 | the Free Software Foundation; either version 3 of the License, or | |
6 | (at your option) any later version. | |
7 | ||
8 | This program is distributed in the hope that it will be useful, | |
9 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | GNU General Public License for more details. | |
12 | ||
13 | You should have received a copy of the GNU General Public License | |
14 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ | |
15 | ||
16 | /* Compiled from: | |
17 | ||
18 | namespace N | |
19 | { | |
20 | class C | |
21 | { | |
22 | public: | |
23 | typedef void (*t) (C); | |
24 | C (t) {} | |
25 | }; | |
26 | typedef C::t u; | |
27 | u f; | |
28 | C c (f); | |
29 | }; | |
30 | ||
31 | int | |
32 | main () | |
33 | { | |
34 | return 0; | |
35 | } | |
36 | */ | |
37 | ||
38 | .text | |
9373cf26 JK |
39 | text_start: |
40 | _ZN1N1cE: | |
41 | /* Valid function must have non-empty PC range. */ | |
42 | .byte 0 | |
43 | text_end: | |
44 | ||
c37bf528 KS |
45 | .section .debug_info |
46 | d: | |
856d06f9 | 47 | .4byte .Ldebug_info_end - 1f /* Length of CU info */ |
c37bf528 KS |
48 | 1: |
49 | .2byte 0x2 /* DWARF version number */ | |
856d06f9 | 50 | .4byte .Ldebug_abbrev0 /* Abbrev offset */ |
c37bf528 KS |
51 | .byte 0x4 /* Pointer size */ |
52 | dieb: .uleb128 0x1 /* DW_TAG_compile_unit */ | |
856d06f9 | 53 | .4byte .LASF4 /* DW_AT_producer */ |
c37bf528 | 54 | .byte 0x4 /* DW_AT_language */ |
856d06f9 TS |
55 | .4byte .LASF5 /* DW_AT_name */ |
56 | .4byte .LASF6 /* DW_AT_comp_dir */ | |
57 | .4byte text_start /* DW_AT_low_pc */ | |
58 | .4byte text_end /* DW_AT_high_pc */ | |
59 | .4byte text_start /* DW_AT_entry_pc */ | |
c37bf528 KS |
60 | die29: .uleb128 0x2 /* DW_TAG_namespace */ |
61 | .string "N" /* DW_AT_name */ | |
62 | die32: .uleb128 0x3 /* DW_TAG_class_type */ | |
63 | .string "C" /* DW_AT_name */ | |
64 | .byte 0x1 /* DW_AT_declaration */ | |
65 | die36: .uleb128 0x4 /* DW_TAG_typedef */ | |
66 | .string "u" /* DW_AT_name */ | |
856d06f9 | 67 | .4byte die7e-d /* DW_AT_type */ |
c37bf528 KS |
68 | die3f: .uleb128 0x5 /* DW_TAG_variable */ |
69 | .string "f" /* DW_AT_name */ | |
856d06f9 TS |
70 | .4byte .LASF0 /* DW_AT_MIPS_linkage_name */ |
71 | .4byte die36-d /* DW_AT_type */ | |
c37bf528 KS |
72 | .byte 0x1 /* DW_AT_external */ |
73 | .byte 0x1 /* DW_AT_declaration */ | |
74 | die4e: .uleb128 0x5 /* DW_TAG_variable */ | |
75 | .string "c" /* DW_AT_name */ | |
856d06f9 TS |
76 | .4byte .LASF1 /* DW_AT_MIPS_linkage_name */ |
77 | .4byte die5e-d /* DW_AT_type */ | |
c37bf528 KS |
78 | .byte 0x1 /* DW_AT_external */ |
79 | .byte 0x1 /* DW_AT_declaration */ | |
80 | .byte 0x0 | |
81 | die5e: .uleb128 0x6 /* DW_TAG_class_type */ | |
856d06f9 | 82 | .4byte die32-d /* DW_AT_specification */ |
c37bf528 KS |
83 | .byte 0x1 /* DW_AT_byte_size */ |
84 | die6a: .uleb128 0x7 /* DW_TAG_subprogram */ | |
85 | .byte 0x1 /* DW_AT_external */ | |
86 | .string "C" /* DW_AT_name */ | |
87 | .byte 0x1 /* DW_AT_declaration */ | |
88 | die71: .uleb128 0x8 /* DW_TAG_formal_parameter */ | |
856d06f9 | 89 | .4byte die8f-d /* DW_AT_type */ |
c37bf528 KS |
90 | .byte 0x1 /* DW_AT_artificial */ |
91 | die77: .uleb128 0x9 /* DW_TAG_formal_parameter */ | |
856d06f9 | 92 | .4byte die7e-d /* DW_AT_type */ |
c37bf528 KS |
93 | .byte 0x0 |
94 | .byte 0x0 | |
95 | die7e: .uleb128 0xa /* DW_TAG_pointer_type */ | |
5fc3827b | 96 | .byte PTRBITS / 8 /* DW_AT_byte_size */ |
856d06f9 | 97 | .4byte die84-d /* DW_AT_type */ |
c37bf528 KS |
98 | die84: .uleb128 0xb /* DW_TAG_subroutine_type */ |
99 | die89: .uleb128 0x9 /* DW_TAG_formal_parameter */ | |
856d06f9 | 100 | .4byte die5e-d /* DW_AT_type */ |
c37bf528 KS |
101 | .byte 0x0 |
102 | die8f: .uleb128 0xa /* DW_TAG_pointer_type */ | |
5fc3827b | 103 | .byte PTRBITS / 8 /* DW_AT_byte_size */ |
856d06f9 | 104 | .4byte die5e-d /* DW_AT_type */ |
c37bf528 | 105 | die95: .uleb128 0xc /* DW_TAG_subprogram */ |
856d06f9 | 106 | .4byte die6a-d /* DW_AT_specification */ |
c37bf528 KS |
107 | .byte 0x2 /* DW_AT_inline */ |
108 | die9f: .uleb128 0xd /* DW_TAG_formal_parameter */ | |
856d06f9 TS |
109 | .4byte .LASF7 /* DW_AT_name */ |
110 | .4byte dieaf-d /* DW_AT_type */ | |
c37bf528 KS |
111 | .byte 0x1 /* DW_AT_artificial */ |
112 | diea9: .uleb128 0x9 /* DW_TAG_formal_parameter */ | |
856d06f9 | 113 | .4byte die7e-d /* DW_AT_type */ |
c37bf528 KS |
114 | .byte 0x0 |
115 | dieaf: .uleb128 0xe /* DW_TAG_const_type */ | |
856d06f9 | 116 | .4byte die8f-d /* DW_AT_type */ |
c37bf528 | 117 | dieb4: .uleb128 0xf /* DW_TAG_subprogram */ |
856d06f9 TS |
118 | .4byte die95-d /* DW_AT_abstract_origin */ |
119 | .4byte _ZN1N1cE /* DW_AT_low_pc */ | |
120 | .4byte _ZN1N1cE + 1 /* DW_AT_high_pc */ | |
c37bf528 | 121 | diec9: .uleb128 0x10 /* DW_TAG_subprogram */ |
856d06f9 | 122 | .4byte die9f-d /* DW_AT_abstract_origin */ |
c37bf528 KS |
123 | .byte 2f-1f /* DW_AT_location */ |
124 | 1: | |
125 | .byte 0x50 /* DW_OP_reg0 */ | |
126 | 2: | |
127 | died1: .uleb128 0x10 /* DW_TAG_formal_parameter */ | |
856d06f9 | 128 | .4byte diea9-d /* DW_AT_abstract_origin */ |
c37bf528 KS |
129 | .byte 2f-1f /* DW_AT_location */ |
130 | 1: | |
131 | .byte 0x51 /* DW_OP_reg1 */ | |
132 | 2: | |
133 | .byte 0x0 | |
134 | dieda: .uleb128 0x11 /* DW_TAG_subprogram */ | |
135 | .byte 0x1 /* DW_AT_external */ | |
856d06f9 TS |
136 | .4byte .LASF8 /* DW_AT_name */ |
137 | .4byte dief2-d /* DW_AT_type */ | |
138 | .4byte _ZN1N1cE /* DW_AT_low_pc */ | |
139 | .4byte _ZN1N1cE + 1 /* DW_AT_high_pc */ | |
c37bf528 KS |
140 | dief2: .uleb128 0x12 /* DW_TAG_base_type */ |
141 | .byte 0x4 /* DW_AT_byte_size */ | |
142 | .byte 0x5 /* DW_AT_encoding */ | |
143 | .string "int" /* DW_AT_name */ | |
144 | die149: .uleb128 0x16 /* DW_TAG_variable */ | |
856d06f9 | 145 | .4byte die4e-d /* DW_AT_specification */ |
c37bf528 KS |
146 | .byte 0x5 /* DW_AT_location */ |
147 | .byte 0x3 | |
856d06f9 | 148 | .4byte _ZN1N1cE |
c37bf528 KS |
149 | .byte 0x0 |
150 | .Ldebug_info_end: | |
151 | .section .debug_abbrev | |
152 | .Ldebug_abbrev0: | |
153 | .uleb128 0x1 /* abbrev code*/ | |
154 | .uleb128 0x11 /* DW_TAG_compile_unit */ | |
155 | .byte 0x1 /* DW_children_yes */ | |
156 | .uleb128 0x25 /* DW_AT_producer*/ | |
157 | .uleb128 0xe /* DW_FORM_strp */ | |
158 | .uleb128 0x13 /* DW_AT_language */ | |
159 | .uleb128 0xb /* DW_FORM_data1 */ | |
160 | .uleb128 0x3 /* DW_AT_name */ | |
161 | .uleb128 0xe /* DW_FORM_strp */ | |
162 | .uleb128 0x1b /* DW_AT_comp_dir */ | |
163 | .uleb128 0xe /* DW_FORM_strp */ | |
164 | .uleb128 0x11 /* DW_AT_low_pc */ | |
165 | .uleb128 0x1 /* DW_FORM_addr */ | |
166 | .uleb128 0x12 /* DW_AT_high_pc */ | |
167 | .uleb128 0x1 /* DW_FORM_addr */ | |
168 | .uleb128 0x52 /* DW_AT_entry_pc */ | |
169 | .uleb128 0x1 /* DW_FORM_addr */ | |
170 | .byte 0x0 | |
171 | .byte 0x0 | |
172 | .uleb128 0x2 /* abbrev code */ | |
173 | .uleb128 0x39 /* DW_TAG_namespace */ | |
174 | .byte 0x1 /* DW_children_yes */ | |
175 | .uleb128 0x3 /* DW_AT_name */ | |
176 | .uleb128 0x8 /* DW_FORM_string */ | |
177 | .byte 0x0 | |
178 | .byte 0x0 | |
179 | .uleb128 0x3 /* abbrev code */ | |
180 | .uleb128 0x2 /* DW_TAG_class_type */ | |
181 | .byte 0x0 /* DW_has_children_no */ | |
182 | .uleb128 0x3 /* DW_AT_name */ | |
183 | .uleb128 0x8 /* DW_FORM_string */ | |
184 | .uleb128 0x3c /* DW_AT_declaration */ | |
185 | .uleb128 0xc /* DW_FORM_flag */ | |
186 | .byte 0x0 | |
187 | .byte 0x0 | |
188 | .uleb128 0x4 /* abbrev code */ | |
189 | .uleb128 0x16 /* DW_TAG_typedef */ | |
190 | .byte 0x0 /* DW_has_children_no */ | |
191 | .uleb128 0x3 /* DW_AT_name */ | |
192 | .uleb128 0x8 /* DW_FORM_string */ | |
193 | .uleb128 0x49 /* DW_AT_type */ | |
194 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
195 | .byte 0x0 | |
196 | .byte 0x0 | |
197 | .uleb128 0x5 /* abbrev code */ | |
198 | .uleb128 0x34 /* DW_TAG_variable */ | |
199 | .byte 0x0 /* DW_has_children_no */ | |
200 | .uleb128 0x3 /* DW_AT_name */ | |
201 | .uleb128 0x8 /* DW_FORM_string */ | |
202 | .uleb128 0x2007 /* DW_AT_MIPS_linkage_name */ | |
203 | .uleb128 0xe /* DW_FORM_strp */ | |
204 | .uleb128 0x49 /* DW_AT_TYPE */ | |
205 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
206 | .uleb128 0x3f /* DW_AT_external */ | |
207 | .uleb128 0xc /* DW_FORM_flag */ | |
208 | .uleb128 0x3c /* DW_AT_declaration */ | |
209 | .uleb128 0xc /* DW_FORM_flag */ | |
210 | .byte 0x0 | |
211 | .byte 0x0 | |
212 | .uleb128 0x6 /* abbrev code */ | |
213 | .uleb128 0x2 /* DW_TAG_class_type */ | |
214 | .byte 0x1 /* DW_has_children_yes */ | |
215 | .uleb128 0x47 /* DW_AT_specification */ | |
216 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
217 | .uleb128 0xb /* DW_AT_byte_size */ | |
218 | .uleb128 0xb /* DW_FORM_data1 */ | |
219 | .byte 0x0 | |
220 | .byte 0x0 | |
221 | .uleb128 0x7 /* abbrev code */ | |
222 | .uleb128 0x2e /* DW_TAG_subprogra */ | |
223 | .byte 0x1 /* DW_has_children_yes */ | |
224 | .uleb128 0x3f /* DW_AT_external */ | |
225 | .uleb128 0xc /* DW_FORM_flag */ | |
226 | .uleb128 0x3 /* DW_AT_name */ | |
227 | .uleb128 0x8 /* DW_FORM_string */ | |
228 | .uleb128 0x3c /* DW_AT_declaration */ | |
229 | .uleb128 0xc /* DW_FORM_flag */ | |
230 | .byte 0x0 | |
231 | .byte 0x0 | |
232 | .uleb128 0x8 /* abbrev code */ | |
233 | .uleb128 0x5 /* DW_TAG_formal_parameter */ | |
234 | .byte 0x0 /* DW_has_children_no */ | |
235 | .uleb128 0x49 /* DW_AT_type */ | |
236 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
237 | .uleb128 0x34 /* DW_AT_artificial */ | |
238 | .uleb128 0xc /* DW_FORM_flag */ | |
239 | .byte 0x0 | |
240 | .byte 0x0 | |
241 | .uleb128 0x9 /* abbrev code */ | |
242 | .uleb128 0x5 /* DW_TAG_formal_parameter */ | |
243 | .byte 0x0 /* DW_has_children_no */ | |
244 | .uleb128 0x49 /* DW_AT_type */ | |
245 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
246 | .byte 0x0 | |
247 | .byte 0x0 | |
248 | .uleb128 0xa /* abbrev code */ | |
249 | .uleb128 0xf /* DW_TAG_pointer_type */ | |
250 | .byte 0x0 /* DW_has_children_no */ | |
251 | .uleb128 0xb /* DW_AT_byte_size */ | |
252 | .uleb128 0xb /* DW_FORM_data1 */ | |
253 | .uleb128 0x49 /* DW_AT_type */ | |
254 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
255 | .byte 0x0 | |
256 | .byte 0x0 | |
257 | .uleb128 0xb /* abbrev code */ | |
258 | .uleb128 0x15 /* DW_TAG_subroutine_type */ | |
259 | .byte 0x1 /* DW_has_children_yes */ | |
260 | .byte 0x0 | |
261 | .byte 0x0 | |
262 | .uleb128 0xc /* abbrev code */ | |
263 | .uleb128 0x2e /* DW_TAG_subprogram */ | |
264 | .byte 0x1 /* DW_has_children_yes */ | |
265 | .uleb128 0x47 /* DW_AT_specification */ | |
266 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
267 | .uleb128 0x20 /* DW_AT_inline */ | |
268 | .uleb128 0xb /* DW_FORM_data1 */ | |
269 | .byte 0x0 | |
270 | .byte 0x0 | |
271 | .uleb128 0xd /* abbrev code */ | |
272 | .uleb128 0x5 /* DW_TAG_formal_parameter */ | |
273 | .byte 0x0 /* DW_has_children_no */ | |
274 | .uleb128 0x3 /* DW_AT_name */ | |
275 | .uleb128 0xe /* DW_FORM_strp */ | |
276 | .uleb128 0x49 /* DW_AT_type */ | |
277 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
278 | .uleb128 0x34 /* DW_AT_artificial */ | |
279 | .uleb128 0xc /* DW_FORM_flag */ | |
280 | .byte 0x0 | |
281 | .byte 0x0 | |
282 | .uleb128 0xe /* abbrev code */ | |
283 | .uleb128 0x26 /* DW_TAG_const_type */ | |
284 | .byte 0x0 /* DW_has_children_no */ | |
285 | .uleb128 0x49 /* DW_AT_type */ | |
286 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
287 | .byte 0x0 | |
288 | .byte 0x0 | |
289 | .uleb128 0xf /* abbrev code */ | |
290 | .uleb128 0x2e /* DW_TAG_subprogram */ | |
291 | .byte 0x1 /* DW_has_children_yes */ | |
292 | .uleb128 0x31 /* DW_AT_abstract_origin */ | |
293 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
294 | .uleb128 0x11 /* DW_AT_low_pc */ | |
295 | .uleb128 0x1 /* DW_FORM_addr */ | |
296 | .uleb128 0x12 /* DW_AT_high_pc */ | |
297 | .uleb128 0x1 /* DW_FORM_addr */ | |
298 | .byte 0x0 | |
299 | .byte 0x0 | |
300 | .uleb128 0x10 /* abbrev code */ | |
301 | .uleb128 0x5 /* DW_TAG_formal_parameter */ | |
302 | .byte 0x0 /* DW_has_children_no */ | |
303 | .uleb128 0x31 /* DW_AT_abstract_origin */ | |
304 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
305 | .uleb128 0x2 /* DW_AT_location */ | |
306 | .uleb128 0xa /* DW_FORM_block1 */ | |
307 | .byte 0x0 | |
308 | .byte 0x0 | |
309 | .uleb128 0x11 /* abbrev code */ | |
310 | .uleb128 0x2e /* DW_TAG_subprogram */ | |
311 | .byte 0x0 /* DW_has_children_no */ | |
312 | .uleb128 0x3f /* DW_AT_external */ | |
313 | .uleb128 0xc /* DW_FORM_flag */ | |
314 | .uleb128 0x3 /* DW_AT_name */ | |
315 | .uleb128 0xe /* DW_FORM_strp */ | |
316 | .uleb128 0x49 /* DW_AT_type */ | |
317 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
318 | .uleb128 0x11 /* DW_AT_low_pc */ | |
319 | .uleb128 0x1 /* DW_FORM_addr */ | |
320 | .uleb128 0x12 /* DW_AT_high_pc */ | |
321 | .uleb128 0x1 /* DW_FORM_addr */ | |
322 | .byte 0x0 | |
323 | .byte 0x0 | |
324 | .uleb128 0x12 /* abbrev code */ | |
325 | .uleb128 0x24 /* DW_TAG_base_type */ | |
326 | .byte 0x0 /* DW_has_children_no */ | |
327 | .uleb128 0xb /* DW_AT_byte_size */ | |
328 | .uleb128 0xb /* DW_FORM_data1 */ | |
329 | .uleb128 0x3e /* DW_AT_encoding */ | |
330 | .uleb128 0xb /* DW_FORM_data1 */ | |
331 | .uleb128 0x3 /* DW_AT_name */ | |
332 | .uleb128 0x8 /* DW_FORM_string */ | |
333 | .byte 0x0 | |
334 | .byte 0x0 | |
335 | .uleb128 0x16 /* abbrev code */ | |
336 | .uleb128 0x34 /* DW_TAG_variable */ | |
337 | .byte 0x0 /* DW_has_children_no */ | |
338 | .uleb128 0x47 /* DW_AT_specification */ | |
339 | .uleb128 0x13 /* DW_FORM_ref4 */ | |
340 | .uleb128 0x2 /* DW_AT_location */ | |
341 | .uleb128 0xa /* DW_FORM_block1 */ | |
342 | .byte 0x0 | |
343 | .byte 0x0 | |
344 | .byte 0x0 | |
345 | .section .debug_str | |
346 | .LASF0: | |
347 | .string "_ZN1N1fE" | |
348 | .LASF7: | |
349 | .string "this" | |
350 | .LASF6: | |
351 | .string "" | |
352 | .LASF8: | |
353 | .string "main" | |
354 | .LASF1: | |
355 | .string "_ZN1N1cE" | |
356 | .LASF5: | |
357 | .string "pr11465.cc" | |
358 | .LASF4: | |
359 | .string "GNU C++ 4.4.2" | |
360 | .ident "GCC: (GNU) 4.4.2" |