tizen 2.4 release
[external/binutils.git] / gdb / testsuite / gdb.dwarf2 / dw2-modula2-self-type.S
1 /* Copyright 2010-2014 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    MODULE m;
18    TYPE t = PROCEDURE (t);
19    VAR v: t;
20    BEGIN
21    END m.
22    But "v" has been removed afterwards.  */
23
24         .data
25 v:      .long   0
26
27         .section        .debug_info
28 d:
29         .4byte  .Ldebug_info_end - 1f   /* Length of Compilation Unit Info */
30 1:
31         .2byte  0x3     /* DWARF version number */
32         .4byte  .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
33         .byte   0x4     /* Pointer Size (in bytes) */
34 dieb:
35         .uleb128 0x1    /* (DIE (0xb) DW_TAG_compile_unit) */
36         .4byte  .LASF0  /* DW_AT_producer */
37         .byte   0xa     /* DW_AT_language = DW_LANG_Modula2 */
38         .4byte  .LASF1  /* DW_AT_name: "2.mod" */
39         .4byte  .LASF2  /* DW_AT_comp_dir: "" */
40
41 die210:
42         .uleb128 0x5    /* (DIE (0x210) DW_TAG_subroutine_type) */
43 die215:
44         .uleb128 0x6    /* (DIE (0x215) DW_TAG_formal_parameter) */
45         .4byte  die21b-d        /* DW_AT_type */
46         .byte   0x0     /* end of children of DIE 0x210 */
47 die21b:
48         .uleb128 0x7    /* (DIE (0x21b) DW_TAG_pointer_type) */
49         .byte   0x4     /* DW_AT_byte_size */
50         .4byte  die210-d        /* DW_AT_type */
51 die221:
52         .uleb128 0x8    /* (DIE (0x221) DW_TAG_variable) */
53         .ascii "v\0"    /* DW_AT_name */
54         .4byte  die21b-d        /* DW_AT_type */
55         .byte   2f-1f   /* DW_AT_location */
56 1:      .byte   0x3     /* DW_OP_addr */
57         .4byte  v
58 2:
59
60         .byte   0x0     /* end of children of DIE 0xb */
61 .Ldebug_info_end:
62         .section        .debug_abbrev
63 .Ldebug_abbrev0:
64
65         .uleb128 0x1    /* (abbrev code) */
66         .uleb128 0x11   /* (TAG: DW_TAG_compile_unit) */
67         .byte   0x1     /* DW_children_yes */
68         .uleb128 0x25   /* (DW_AT_producer) */
69         .uleb128 0xe    /* (DW_FORM_strp) */
70         .uleb128 0x13   /* (DW_AT_language) */
71         .uleb128 0xb    /* (DW_FORM_data1) */
72         .uleb128 0x3    /* (DW_AT_name) */
73         .uleb128 0xe    /* (DW_FORM_strp) */
74         .uleb128 0x1b   /* (DW_AT_comp_dir) */
75         .uleb128 0xe    /* (DW_FORM_strp) */
76         .byte   0x0
77         .byte   0x0
78
79         .uleb128 0x5    /* (abbrev code) */
80         .uleb128 0x15   /* (TAG: DW_TAG_subroutine_type) */
81         .byte   0x1     /* DW_children_yes */
82         .byte   0x0
83         .byte   0x0
84
85         .uleb128 0x6    /* (abbrev code) */
86         .uleb128 0x5    /* (TAG: DW_TAG_formal_parameter) */
87         .byte   0x0     /* DW_children_no */
88         .uleb128 0x49   /* (DW_AT_type) */
89         .uleb128 0x13   /* (DW_FORM_ref4) */
90         .byte   0x0
91         .byte   0x0
92
93         .uleb128 0x7    /* (abbrev code) */
94         .uleb128 0xf    /* (TAG: DW_TAG_pointer_type) */
95         .byte   0x0     /* DW_children_no */
96         .uleb128 0xb    /* (DW_AT_byte_size) */
97         .uleb128 0xb    /* (DW_FORM_data1) */
98         .uleb128 0x49   /* (DW_AT_type) */
99         .uleb128 0x13   /* (DW_FORM_ref4) */
100         .byte   0x0
101         .byte   0x0
102
103         .uleb128 0x8    /* (abbrev code) */
104         .uleb128 0x34   /* (TAG: DW_TAG_variable) */
105         .byte   0x0     /* DW_children_no */
106         .uleb128 0x3    /* (DW_AT_name) */
107         .uleb128 0x8    /* (DW_FORM_string) */
108         .uleb128 0x49   /* (DW_AT_type) */
109         .uleb128 0x13   /* (DW_FORM_ref4) */
110         .uleb128 0x2    /* (DW_AT_location) */
111         .uleb128 0xa    /* (DW_FORM_block1) */
112         .byte   0x0
113         .byte   0x0
114
115         .byte   0x0
116
117         .section        .debug_str
118 .LASF1:
119         .string "2.mod"
120 .LASF0:
121         .string "GNU Modula-2 0.78 (20100402) grafted onto GCC 4.1.2"
122 .LASF2:
123         .string ""