|
1 /* |
|
2 Copyright (C) 2000,2004,2005 Silicon Graphics, Inc. All Rights Reserved. |
|
3 |
|
4 This program is free software; you can redistribute it and/or modify it |
|
5 under the terms of version 2.1 of the GNU Lesser General Public License |
|
6 as published by the Free Software Foundation. |
|
7 |
|
8 This program is distributed in the hope that it would be useful, but |
|
9 WITHOUT ANY WARRANTY; without even the implied warranty of |
|
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
11 |
|
12 Further, this software is distributed without any warranty that it is |
|
13 free of the rightful claim of any third person regarding infringement |
|
14 or the like. Any license provided herein, whether implied or |
|
15 otherwise, applies only to this software file. Patent licenses, if |
|
16 any, provided herein do not apply to combinations of this program with |
|
17 other software, or any other product whatsoever. |
|
18 |
|
19 You should have received a copy of the GNU Lesser General Public |
|
20 License along with this program; if not, write the Free Software |
|
21 Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, |
|
22 USA. |
|
23 |
|
24 Contact information: Silicon Graphics, Inc., 1500 Crittenden Lane, |
|
25 Mountain View, CA 94043, or: |
|
26 |
|
27 http://www.sgi.com |
|
28 |
|
29 For further information regarding this notice, see: |
|
30 |
|
31 http://oss.sgi.com/projects/GenInfo/NoticeExplan |
|
32 |
|
33 |
|
34 $Header: /plroot/cmplrs.src/v7.4.5m/.RCS/PL/dwarfdump/RCS/tag_tree.list,v 1.6 2005/12/01 17:34:59 davea Exp $ |
|
35 */ |
|
36 #include <dwarf.h> |
|
37 |
|
38 /* |
|
39 list for semantic check of tag-tree. |
|
40 |
|
41 0xffffffff is a "punctuation." The final line of this file |
|
42 must be 0xffffffff. The next line after each 0xffffffff |
|
43 (except the final line) stands for "parent-tag." The lines |
|
44 after this line before the next 0xffffffff are the tags that |
|
45 can be children of the "parent-tag." |
|
46 |
|
47 For example, |
|
48 |
|
49 0xffffffff |
|
50 DW_TAG_array_type |
|
51 DW_TAG_subrange_type |
|
52 DW_TAG_enumeration_type |
|
53 0xffffffff |
|
54 |
|
55 means "only DW_TAG_subrange_type and DW_TAG_enumeration_type can |
|
56 be children of DW_TAG_array_type. |
|
57 |
|
58 This file is applied to the preprocessor, thus any C comment and |
|
59 preprocessor control line is available. |
|
60 */ |
|
61 |
|
62 0xffffffff |
|
63 DW_TAG_access_declaration |
|
64 0xffffffff |
|
65 DW_TAG_array_type |
|
66 DW_TAG_subrange_type |
|
67 DW_TAG_enumeration_type |
|
68 0xffffffff |
|
69 DW_TAG_base_type |
|
70 0xffffffff |
|
71 DW_TAG_catch_block |
|
72 DW_TAG_formal_parameter |
|
73 DW_TAG_unspecified_parameters |
|
74 DW_TAG_array_type |
|
75 DW_TAG_class_type |
|
76 DW_TAG_enumeration_type |
|
77 DW_TAG_pointer_type |
|
78 DW_TAG_reference_type |
|
79 DW_TAG_string_type |
|
80 DW_TAG_structure_type |
|
81 DW_TAG_subroutine_type |
|
82 DW_TAG_typedef |
|
83 DW_TAG_union_type |
|
84 DW_TAG_ptr_to_member_type |
|
85 DW_TAG_set_type |
|
86 DW_TAG_subrange_type |
|
87 DW_TAG_base_type |
|
88 DW_TAG_const_type |
|
89 DW_TAG_constant |
|
90 DW_TAG_file_type |
|
91 DW_TAG_packed_type |
|
92 DW_TAG_subprogram |
|
93 DW_TAG_variable |
|
94 DW_TAG_volatile_type |
|
95 0xffffffff |
|
96 DW_TAG_class_type |
|
97 DW_TAG_member |
|
98 DW_TAG_inheritance |
|
99 DW_TAG_access_declaration |
|
100 DW_TAG_friend |
|
101 DW_TAG_ptr_to_member_type |
|
102 DW_TAG_subprogram |
|
103 DW_TAG_template_type_parameter /* template instantiations */ |
|
104 DW_TAG_template_value_parameter /* template instantiations */ |
|
105 DW_TAG_typedef |
|
106 DW_TAG_base_type |
|
107 DW_TAG_pointer_type |
|
108 DW_TAG_union_type |
|
109 DW_TAG_const_type |
|
110 0xffffffff |
|
111 DW_TAG_common_block |
|
112 DW_TAG_variable |
|
113 0xffffffff |
|
114 DW_TAG_common_inclusion |
|
115 0xffffffff |
|
116 DW_TAG_compile_unit |
|
117 DW_TAG_array_type |
|
118 DW_TAG_class_type |
|
119 DW_TAG_enumeration_type |
|
120 DW_TAG_imported_declaration |
|
121 DW_TAG_pointer_type |
|
122 DW_TAG_reference_type |
|
123 DW_TAG_string_type |
|
124 DW_TAG_structure_type |
|
125 DW_TAG_subroutine_type |
|
126 DW_TAG_typedef |
|
127 DW_TAG_union_type |
|
128 DW_TAG_common_block |
|
129 DW_TAG_inlined_subroutine |
|
130 DW_TAG_module |
|
131 DW_TAG_ptr_to_member_type |
|
132 DW_TAG_set_type |
|
133 DW_TAG_subrange_type |
|
134 DW_TAG_base_type |
|
135 DW_TAG_const_type |
|
136 DW_TAG_constant |
|
137 DW_TAG_file_type |
|
138 DW_TAG_namelist |
|
139 DW_TAG_namespace |
|
140 DW_TAG_packed_type |
|
141 DW_TAG_subprogram |
|
142 DW_TAG_variable |
|
143 DW_TAG_volatile_type |
|
144 0xffffffff |
|
145 DW_TAG_condition /* COBOL */ |
|
146 DW_TAG_constant |
|
147 DW_TAG_subrange_type |
|
148 0xffffffff |
|
149 DW_TAG_const_type |
|
150 0xffffffff |
|
151 DW_TAG_constant |
|
152 0xffffffff |
|
153 DW_TAG_dwarf_procedure |
|
154 0xffffffff |
|
155 DW_TAG_entry_point |
|
156 DW_TAG_formal_parameter |
|
157 DW_TAG_unspecified_parameters |
|
158 DW_TAG_common_inclusion |
|
159 0xffffffff |
|
160 DW_TAG_enumeration_type |
|
161 DW_TAG_enumerator |
|
162 0xffffffff |
|
163 DW_TAG_enumerator |
|
164 0xffffffff |
|
165 DW_TAG_file_type |
|
166 0xffffffff |
|
167 DW_TAG_formal_parameter |
|
168 0xffffffff |
|
169 DW_TAG_friend |
|
170 0xffffffff |
|
171 DW_TAG_imported_declaration |
|
172 0xffffffff |
|
173 DW_TAG_imported_module |
|
174 0xffffffff |
|
175 DW_TAG_imported_unit |
|
176 0xffffffff |
|
177 DW_TAG_inheritance |
|
178 0xffffffff |
|
179 DW_TAG_inlined_subroutine |
|
180 DW_TAG_formal_parameter |
|
181 DW_TAG_unspecified_parameters |
|
182 DW_TAG_array_type |
|
183 DW_TAG_class_type |
|
184 DW_TAG_enumeration_type |
|
185 DW_TAG_pointer_type |
|
186 DW_TAG_reference_type |
|
187 DW_TAG_string_type |
|
188 DW_TAG_structure_type |
|
189 DW_TAG_subroutine_type |
|
190 DW_TAG_lexical_block |
|
191 DW_TAG_typedef |
|
192 DW_TAG_union_type |
|
193 DW_TAG_inlined_subroutine |
|
194 DW_TAG_ptr_to_member_type |
|
195 DW_TAG_set_type |
|
196 DW_TAG_subrange_type |
|
197 DW_TAG_base_type |
|
198 DW_TAG_const_type |
|
199 DW_TAG_constant |
|
200 DW_TAG_file_type |
|
201 DW_TAG_namelist |
|
202 DW_TAG_packed_type |
|
203 DW_TAG_subprogram |
|
204 DW_TAG_variable |
|
205 DW_TAG_volatile_type |
|
206 0xffffffff |
|
207 DW_TAG_interface_type |
|
208 DW_TAG_member |
|
209 DW_TAG_subprogram |
|
210 0xffffffff |
|
211 DW_TAG_label |
|
212 0xffffffff |
|
213 DW_TAG_lexical_block |
|
214 DW_TAG_array_type |
|
215 DW_TAG_class_type |
|
216 DW_TAG_enumeration_type |
|
217 DW_TAG_imported_declaration |
|
218 DW_TAG_pointer_type |
|
219 DW_TAG_reference_type |
|
220 DW_TAG_string_type |
|
221 DW_TAG_structure_type |
|
222 DW_TAG_subroutine_type |
|
223 DW_TAG_typedef |
|
224 DW_TAG_union_type |
|
225 DW_TAG_inlined_subroutine |
|
226 DW_TAG_lexical_block |
|
227 DW_TAG_module |
|
228 DW_TAG_ptr_to_member_type |
|
229 DW_TAG_set_type |
|
230 DW_TAG_subrange_type |
|
231 DW_TAG_base_type |
|
232 DW_TAG_const_type |
|
233 DW_TAG_constant |
|
234 DW_TAG_namelist |
|
235 DW_TAG_packed_type |
|
236 DW_TAG_subprogram |
|
237 DW_TAG_variable |
|
238 DW_TAG_volatile_type |
|
239 0xffffffff |
|
240 DW_TAG_member |
|
241 0xffffffff |
|
242 DW_TAG_module |
|
243 0xffffffff |
|
244 DW_TAG_namelist |
|
245 DW_TAG_namelist_item |
|
246 0xffffffff |
|
247 DW_TAG_namelist_item |
|
248 0xffffffff |
|
249 DW_TAG_namespace |
|
250 DW_TAG_array_type |
|
251 DW_TAG_class_type |
|
252 DW_TAG_enumeration_type |
|
253 DW_TAG_imported_declaration |
|
254 DW_TAG_pointer_type |
|
255 DW_TAG_reference_type |
|
256 DW_TAG_string_type |
|
257 DW_TAG_structure_type |
|
258 DW_TAG_subroutine_type |
|
259 DW_TAG_typedef |
|
260 DW_TAG_union_type |
|
261 DW_TAG_common_block |
|
262 DW_TAG_inlined_subroutine |
|
263 DW_TAG_module |
|
264 DW_TAG_ptr_to_member_type |
|
265 DW_TAG_set_type |
|
266 DW_TAG_subrange_type |
|
267 DW_TAG_base_type |
|
268 DW_TAG_const_type |
|
269 DW_TAG_constant |
|
270 DW_TAG_namelist |
|
271 DW_TAG_packed_type |
|
272 DW_TAG_subprogram |
|
273 DW_TAG_variable |
|
274 DW_TAG_volatile_type |
|
275 0xffffffff |
|
276 DW_TAG_packed_type |
|
277 0xffffffff |
|
278 DW_TAG_partial_unit |
|
279 DW_TAG_array_type |
|
280 DW_TAG_class_type |
|
281 DW_TAG_enumeration_type |
|
282 DW_TAG_imported_declaration |
|
283 DW_TAG_pointer_type |
|
284 DW_TAG_reference_type |
|
285 DW_TAG_string_type |
|
286 DW_TAG_structure_type |
|
287 DW_TAG_subroutine_type |
|
288 DW_TAG_typedef |
|
289 DW_TAG_union_type |
|
290 DW_TAG_common_block |
|
291 DW_TAG_inlined_subroutine |
|
292 DW_TAG_module |
|
293 DW_TAG_ptr_to_member_type |
|
294 DW_TAG_set_type |
|
295 DW_TAG_subrange_type |
|
296 DW_TAG_base_type |
|
297 DW_TAG_const_type |
|
298 DW_TAG_constant |
|
299 DW_TAG_file_type |
|
300 DW_TAG_namelist |
|
301 DW_TAG_packed_type |
|
302 DW_TAG_subprogram |
|
303 DW_TAG_variable |
|
304 DW_TAG_volatile_type |
|
305 0xffffffff |
|
306 DW_TAG_pointer_type |
|
307 0xffffffff |
|
308 DW_TAG_ptr_to_member_type |
|
309 0xffffffff |
|
310 DW_TAG_reference_type |
|
311 0xffffffff |
|
312 DW_TAG_restrict_type |
|
313 0xffffffff |
|
314 DW_TAG_set_type |
|
315 0xffffffff |
|
316 DW_TAG_shared_type |
|
317 0xffffffff |
|
318 DW_TAG_string_type |
|
319 0xffffffff |
|
320 DW_TAG_structure_type |
|
321 DW_TAG_member |
|
322 DW_TAG_inheritance |
|
323 DW_TAG_access_declaration |
|
324 DW_TAG_friend |
|
325 DW_TAG_ptr_to_member_type |
|
326 DW_TAG_variant_part |
|
327 DW_TAG_subprogram |
|
328 DW_TAG_template_type_parameter /* template instantiations */ |
|
329 DW_TAG_template_value_parameter /* template instantiations */ |
|
330 DW_TAG_typedef |
|
331 DW_TAG_base_type |
|
332 DW_TAG_pointer_type |
|
333 DW_TAG_union_type |
|
334 DW_TAG_const_type |
|
335 0xffffffff |
|
336 DW_TAG_subprogram |
|
337 DW_TAG_formal_parameter |
|
338 DW_TAG_unspecified_parameters |
|
339 DW_TAG_thrown_type |
|
340 DW_TAG_template_type_parameter |
|
341 DW_TAG_common_inclusion |
|
342 DW_TAG_common_block |
|
343 DW_TAG_array_type |
|
344 DW_TAG_class_type |
|
345 DW_TAG_enumeration_type |
|
346 DW_TAG_pointer_type |
|
347 DW_TAG_reference_type |
|
348 DW_TAG_string_type |
|
349 DW_TAG_lexical_block |
|
350 DW_TAG_structure_type |
|
351 DW_TAG_subroutine_type |
|
352 DW_TAG_typedef |
|
353 DW_TAG_union_type |
|
354 DW_TAG_inlined_subroutine |
|
355 DW_TAG_ptr_to_member_type |
|
356 DW_TAG_set_type |
|
357 DW_TAG_subrange_type |
|
358 DW_TAG_base_type |
|
359 DW_TAG_const_type |
|
360 DW_TAG_constant |
|
361 DW_TAG_file_type |
|
362 DW_TAG_namelist |
|
363 DW_TAG_packed_type |
|
364 DW_TAG_subprogram |
|
365 DW_TAG_variable |
|
366 DW_TAG_volatile_type |
|
367 DW_TAG_label |
|
368 0xffffffff |
|
369 DW_TAG_subrange_type |
|
370 0xffffffff |
|
371 DW_TAG_subroutine_type |
|
372 DW_TAG_formal_parameter |
|
373 DW_TAG_unspecified_parameters |
|
374 0xffffffff |
|
375 DW_TAG_template_type_parameter |
|
376 0xffffffff |
|
377 DW_TAG_template_value_parameter |
|
378 0xffffffff |
|
379 DW_TAG_thrown_type |
|
380 0xffffffff |
|
381 DW_TAG_try_block |
|
382 0xffffffff |
|
383 DW_TAG_typedef |
|
384 0xffffffff |
|
385 DW_TAG_union_type |
|
386 DW_TAG_member |
|
387 DW_TAG_friend |
|
388 0xffffffff |
|
389 DW_TAG_unspecified_parameters |
|
390 0xffffffff |
|
391 DW_TAG_unspecified_type |
|
392 0xffffffff |
|
393 DW_TAG_variable |
|
394 0xffffffff |
|
395 DW_TAG_variant |
|
396 DW_TAG_variant_part |
|
397 0xffffffff |
|
398 DW_TAG_variant_part |
|
399 0xffffffff |
|
400 DW_TAG_volatile_type |
|
401 0xffffffff |
|
402 DW_TAG_with_stmt |
|
403 0xffffffff |