run copyright.sh for 2011.
[external/binutils.git] / gdb / testsuite / gdb.dwarf2 / pr11465.S
1 /* Copyright 2010, 2011 Free Software Foundation, Inc.
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
39 _ZN1N1cE:       
40         .section        .debug_info
41 d:
42         .long   .Ldebug_info_end - 1f /* Length of CU info */
43 1:
44         .2byte  0x2             /* DWARF version number */
45         .long   .Ldebug_abbrev0 /* Abbrev offset */
46         .byte   0x4             /* Pointer size */
47 dieb:   .uleb128 0x1            /* DW_TAG_compile_unit */
48         .long   .LASF4          /* DW_AT_producer */
49         .byte   0x4             /* DW_AT_language */
50         .long   .LASF5          /* DW_AT_name */
51         .long   .LASF6          /* DW_AT_comp_dir */
52         .long   0x0             /* DW_AT_low_pc */
53         .long   0x0             /* DW_AT_high_pc */
54         .long   0x0             /* DW_AT_entry_pc */
55 die29:  .uleb128 0x2            /* DW_TAG_namespace */
56         .string "N"             /* DW_AT_name */
57 die32:  .uleb128 0x3            /* DW_TAG_class_type */
58         .string "C"             /* DW_AT_name */
59         .byte   0x1             /* DW_AT_declaration */
60 die36:  .uleb128 0x4            /* DW_TAG_typedef */
61         .string "u"             /* DW_AT_name */
62         .long   die7e-d         /* DW_AT_type */
63 die3f:  .uleb128 0x5            /* DW_TAG_variable */
64         .string "f"             /* DW_AT_name */
65         .long   .LASF0          /* DW_AT_MIPS_linkage_name */
66         .long   die36-d         /* DW_AT_type */
67         .byte   0x1             /* DW_AT_external */
68         .byte   0x1             /* DW_AT_declaration */
69 die4e:  .uleb128 0x5            /* DW_TAG_variable */
70         .string "c"             /* DW_AT_name */
71         .long   .LASF1          /* DW_AT_MIPS_linkage_name */
72         .long   die5e-d         /* DW_AT_type */
73         .byte   0x1             /* DW_AT_external */
74         .byte   0x1             /* DW_AT_declaration */
75         .byte   0x0
76 die5e:  .uleb128 0x6            /* DW_TAG_class_type */
77         .long   die32-d         /* DW_AT_specification */
78         .byte   0x1             /* DW_AT_byte_size */
79 die6a:  .uleb128 0x7            /* DW_TAG_subprogram */
80         .byte   0x1             /* DW_AT_external */
81         .string "C"             /* DW_AT_name */
82         .byte   0x1             /* DW_AT_declaration */
83 die71:  .uleb128 0x8            /* DW_TAG_formal_parameter */
84         .long   die8f-d         /* DW_AT_type */
85         .byte   0x1             /* DW_AT_artificial */
86 die77:  .uleb128 0x9            /* DW_TAG_formal_parameter */
87         .long   die7e-d         /* DW_AT_type */
88         .byte   0x0
89         .byte   0x0
90 die7e:  .uleb128 0xa            /* DW_TAG_pointer_type */
91         .byte   PTRBITS / 8     /* DW_AT_byte_size */
92         .long   die84-d         /* DW_AT_type */
93 die84:  .uleb128 0xb            /* DW_TAG_subroutine_type */
94 die89:  .uleb128 0x9            /* DW_TAG_formal_parameter */
95         .long   die5e-d         /* DW_AT_type */
96         .byte   0x0
97 die8f:  .uleb128 0xa            /* DW_TAG_pointer_type */
98         .byte   PTRBITS / 8     /* DW_AT_byte_size */
99         .long   die5e-d         /* DW_AT_type */
100 die95:  .uleb128 0xc            /* DW_TAG_subprogram */
101         .long   die6a-d         /* DW_AT_specification */
102         .byte   0x2             /* DW_AT_inline */
103 die9f:  .uleb128 0xd            /* DW_TAG_formal_parameter */
104         .long   .LASF7          /* DW_AT_name */
105         .long   dieaf-d         /* DW_AT_type */
106         .byte   0x1             /* DW_AT_artificial */
107 diea9:  .uleb128 0x9            /* DW_TAG_formal_parameter */
108         .long   die7e-d         /* DW_AT_type */
109         .byte   0x0
110 dieaf:  .uleb128 0xe            /* DW_TAG_const_type */
111         .long   die8f-d         /* DW_AT_type */
112 dieb4:  .uleb128 0xf            /* DW_TAG_subprogram */
113         .long   die95-d         /* DW_AT_abstract_origin */
114         .long   _ZN1N1cE        /* DW_AT_low_pc */
115         .long   _ZN1N1cE        /* DW_AT_high_pc */
116 diec9:  .uleb128 0x10           /* DW_TAG_subprogram */
117         .long   die9f-d         /* DW_AT_abstract_origin */
118         .byte   2f-1f           /* DW_AT_location */
119 1:
120         .byte   0x50            /* DW_OP_reg0 */
121 2:
122 died1:  .uleb128 0x10           /* DW_TAG_formal_parameter */
123         .long   diea9-d         /* DW_AT_abstract_origin */
124         .byte   2f-1f           /* DW_AT_location */
125 1:
126         .byte   0x51            /* DW_OP_reg1 */
127 2:
128         .byte   0x0
129 dieda:  .uleb128 0x11           /* DW_TAG_subprogram */
130         .byte   0x1             /* DW_AT_external */
131         .long   .LASF8          /* DW_AT_name */
132         .long   dief2-d         /* DW_AT_type */
133         .long   _ZN1N1cE        /* DW_AT_low_pc */
134         .long   _ZN1N1cE        /* DW_AT_high_pc */
135 dief2:  .uleb128 0x12           /* DW_TAG_base_type */
136         .byte   0x4             /* DW_AT_byte_size */
137         .byte   0x5             /* DW_AT_encoding */
138         .string "int"           /* DW_AT_name */
139 die149: .uleb128 0x16           /* DW_TAG_variable */
140         .long   die4e-d         /* DW_AT_specification */
141         .byte   0x5             /* DW_AT_location */
142         .byte   0x3
143         .long   _ZN1N1cE
144         .byte   0x0
145 .Ldebug_info_end:
146         .section        .debug_abbrev
147 .Ldebug_abbrev0:
148         .uleb128 0x1            /* abbrev code*/
149         .uleb128 0x11           /* DW_TAG_compile_unit */
150         .byte   0x1             /* DW_children_yes */
151         .uleb128 0x25           /* DW_AT_producer*/
152         .uleb128 0xe            /* DW_FORM_strp */
153         .uleb128 0x13           /* DW_AT_language */
154         .uleb128 0xb            /* DW_FORM_data1 */
155         .uleb128 0x3            /* DW_AT_name */
156         .uleb128 0xe            /* DW_FORM_strp */
157         .uleb128 0x1b           /* DW_AT_comp_dir */
158         .uleb128 0xe            /* DW_FORM_strp */
159         .uleb128 0x11           /* DW_AT_low_pc */
160         .uleb128 0x1            /* DW_FORM_addr */
161         .uleb128 0x12           /* DW_AT_high_pc */
162         .uleb128 0x1            /* DW_FORM_addr */
163         .uleb128 0x52           /* DW_AT_entry_pc */
164         .uleb128 0x1            /* DW_FORM_addr */
165         .byte   0x0
166         .byte   0x0
167         .uleb128 0x2            /* abbrev code */
168         .uleb128 0x39           /* DW_TAG_namespace */
169         .byte   0x1             /* DW_children_yes */
170         .uleb128 0x3            /* DW_AT_name */
171         .uleb128 0x8            /* DW_FORM_string */
172         .byte   0x0
173         .byte   0x0
174         .uleb128 0x3            /* abbrev code */
175         .uleb128 0x2            /* DW_TAG_class_type */
176         .byte   0x0             /* DW_has_children_no */
177         .uleb128 0x3            /* DW_AT_name */
178         .uleb128 0x8            /* DW_FORM_string */
179         .uleb128 0x3c           /* DW_AT_declaration */
180         .uleb128 0xc            /* DW_FORM_flag */
181         .byte   0x0
182         .byte   0x0
183         .uleb128 0x4            /* abbrev code */
184         .uleb128 0x16           /* DW_TAG_typedef */
185         .byte   0x0             /* DW_has_children_no */
186         .uleb128 0x3            /* DW_AT_name */
187         .uleb128 0x8            /* DW_FORM_string */
188         .uleb128 0x49           /* DW_AT_type */
189         .uleb128 0x13           /* DW_FORM_ref4 */
190         .byte   0x0
191         .byte   0x0
192         .uleb128 0x5            /* abbrev code */
193         .uleb128 0x34           /* DW_TAG_variable */
194         .byte   0x0             /* DW_has_children_no */
195         .uleb128 0x3            /* DW_AT_name */
196         .uleb128 0x8            /* DW_FORM_string */
197         .uleb128 0x2007         /* DW_AT_MIPS_linkage_name */
198         .uleb128 0xe            /* DW_FORM_strp */
199         .uleb128 0x49           /* DW_AT_TYPE */
200         .uleb128 0x13           /* DW_FORM_ref4 */
201         .uleb128 0x3f           /* DW_AT_external */
202         .uleb128 0xc            /* DW_FORM_flag */
203         .uleb128 0x3c           /* DW_AT_declaration */
204         .uleb128 0xc            /* DW_FORM_flag */
205         .byte   0x0
206         .byte   0x0
207         .uleb128 0x6            /* abbrev code */
208         .uleb128 0x2            /* DW_TAG_class_type */
209         .byte   0x1             /* DW_has_children_yes */
210         .uleb128 0x47           /* DW_AT_specification */
211         .uleb128 0x13           /* DW_FORM_ref4 */
212         .uleb128 0xb            /* DW_AT_byte_size */
213         .uleb128 0xb            /* DW_FORM_data1 */
214         .byte   0x0
215         .byte   0x0
216         .uleb128 0x7            /* abbrev code */
217         .uleb128 0x2e           /* DW_TAG_subprogra */
218         .byte   0x1             /* DW_has_children_yes */
219         .uleb128 0x3f           /* DW_AT_external */
220         .uleb128 0xc            /* DW_FORM_flag */
221         .uleb128 0x3            /* DW_AT_name */
222         .uleb128 0x8            /* DW_FORM_string */
223         .uleb128 0x3c           /* DW_AT_declaration */
224         .uleb128 0xc            /* DW_FORM_flag */
225         .byte   0x0
226         .byte   0x0
227         .uleb128 0x8            /* abbrev code */
228         .uleb128 0x5            /* DW_TAG_formal_parameter */
229         .byte   0x0             /* DW_has_children_no */
230         .uleb128 0x49           /* DW_AT_type */
231         .uleb128 0x13           /* DW_FORM_ref4 */
232         .uleb128 0x34           /* DW_AT_artificial */
233         .uleb128 0xc            /* DW_FORM_flag */
234         .byte   0x0
235         .byte   0x0
236         .uleb128 0x9            /* abbrev code */
237         .uleb128 0x5            /* DW_TAG_formal_parameter */
238         .byte   0x0             /* DW_has_children_no */
239         .uleb128 0x49           /* DW_AT_type */
240         .uleb128 0x13           /* DW_FORM_ref4 */
241         .byte   0x0
242         .byte   0x0
243         .uleb128 0xa            /* abbrev code */
244         .uleb128 0xf            /* DW_TAG_pointer_type */
245         .byte   0x0             /* DW_has_children_no */
246         .uleb128 0xb            /* DW_AT_byte_size */
247         .uleb128 0xb            /* DW_FORM_data1 */
248         .uleb128 0x49           /* DW_AT_type */
249         .uleb128 0x13           /* DW_FORM_ref4 */
250         .byte   0x0
251         .byte   0x0
252         .uleb128 0xb            /* abbrev code */
253         .uleb128 0x15           /* DW_TAG_subroutine_type */
254         .byte   0x1             /* DW_has_children_yes */
255         .byte   0x0
256         .byte   0x0
257         .uleb128 0xc            /* abbrev code */
258         .uleb128 0x2e           /* DW_TAG_subprogram */
259         .byte   0x1             /* DW_has_children_yes */
260         .uleb128 0x47           /* DW_AT_specification */
261         .uleb128 0x13           /* DW_FORM_ref4 */
262         .uleb128 0x20           /* DW_AT_inline */
263         .uleb128 0xb            /* DW_FORM_data1 */
264         .byte   0x0
265         .byte   0x0
266         .uleb128 0xd            /* abbrev code */
267         .uleb128 0x5            /* DW_TAG_formal_parameter */
268         .byte   0x0             /* DW_has_children_no */
269         .uleb128 0x3            /* DW_AT_name */
270         .uleb128 0xe            /* DW_FORM_strp */
271         .uleb128 0x49           /* DW_AT_type */
272         .uleb128 0x13           /* DW_FORM_ref4 */
273         .uleb128 0x34           /* DW_AT_artificial */
274         .uleb128 0xc            /* DW_FORM_flag */
275         .byte   0x0
276         .byte   0x0
277         .uleb128 0xe            /* abbrev code */
278         .uleb128 0x26           /* DW_TAG_const_type */
279         .byte   0x0             /* DW_has_children_no */
280         .uleb128 0x49           /* DW_AT_type */
281         .uleb128 0x13           /* DW_FORM_ref4 */
282         .byte   0x0
283         .byte   0x0
284         .uleb128 0xf            /* abbrev code */
285         .uleb128 0x2e           /* DW_TAG_subprogram */
286         .byte   0x1             /* DW_has_children_yes */
287         .uleb128 0x31           /* DW_AT_abstract_origin */
288         .uleb128 0x13           /* DW_FORM_ref4 */
289         .uleb128 0x11           /* DW_AT_low_pc */
290         .uleb128 0x1            /* DW_FORM_addr */
291         .uleb128 0x12           /* DW_AT_high_pc */
292         .uleb128 0x1            /* DW_FORM_addr */
293         .byte   0x0
294         .byte   0x0
295         .uleb128 0x10           /* abbrev code */
296         .uleb128 0x5            /* DW_TAG_formal_parameter */
297         .byte   0x0             /* DW_has_children_no */
298         .uleb128 0x31           /* DW_AT_abstract_origin */
299         .uleb128 0x13           /* DW_FORM_ref4 */
300         .uleb128 0x2            /* DW_AT_location */
301         .uleb128 0xa            /* DW_FORM_block1 */
302         .byte   0x0
303         .byte   0x0
304         .uleb128 0x11           /* abbrev code */
305         .uleb128 0x2e           /* DW_TAG_subprogram */
306         .byte   0x0             /* DW_has_children_no */
307         .uleb128 0x3f           /* DW_AT_external */
308         .uleb128 0xc            /* DW_FORM_flag */
309         .uleb128 0x3            /* DW_AT_name */
310         .uleb128 0xe            /* DW_FORM_strp */
311         .uleb128 0x49           /* DW_AT_type */
312         .uleb128 0x13           /* DW_FORM_ref4 */
313         .uleb128 0x11           /* DW_AT_low_pc */
314         .uleb128 0x1            /* DW_FORM_addr */
315         .uleb128 0x12           /* DW_AT_high_pc */
316         .uleb128 0x1            /* DW_FORM_addr */
317         .byte   0x0
318         .byte   0x0
319         .uleb128 0x12           /* abbrev code */
320         .uleb128 0x24           /* DW_TAG_base_type */
321         .byte   0x0             /* DW_has_children_no */
322         .uleb128 0xb            /* DW_AT_byte_size */
323         .uleb128 0xb            /* DW_FORM_data1 */
324         .uleb128 0x3e           /* DW_AT_encoding */
325         .uleb128 0xb            /* DW_FORM_data1 */
326         .uleb128 0x3            /* DW_AT_name */
327         .uleb128 0x8            /* DW_FORM_string */
328         .byte   0x0
329         .byte   0x0
330         .uleb128 0x16           /* abbrev code */
331         .uleb128 0x34           /* DW_TAG_variable */
332         .byte   0x0             /* DW_has_children_no */
333         .uleb128 0x47           /* DW_AT_specification */
334         .uleb128 0x13           /* DW_FORM_ref4 */
335         .uleb128 0x2            /* DW_AT_location */
336         .uleb128 0xa            /* DW_FORM_block1 */
337         .byte   0x0
338         .byte   0x0
339         .byte   0x0
340         .section        .debug_str
341 .LASF0:
342         .string "_ZN1N1fE"
343 .LASF7:
344         .string "this"
345 .LASF6:
346         .string ""
347 .LASF8:
348         .string "main"
349 .LASF1:
350         .string "_ZN1N1cE"
351 .LASF5:
352         .string "pr11465.cc"
353 .LASF4:
354         .string "GNU C++ 4.4.2"
355         .ident  "GCC: (GNU) 4.4.2"