Subversion Repositories tendra.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
/*
2
    		 Crown Copyright (c) 1997
3
 
4
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
12
 
13
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
15
 
16
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
19
 
20
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
22
        these conditions;
23
 
24
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
27
        it may be put.
28
*/
29
 
30
 
31
/**********************************************************************
32
$Author: pwe $
33
$Date: 1998/03/11 11:03:41 $
34
$Revision: 1.3 $
35
$Log: dw2_entries.h,v $
36
 * Revision 1.3  1998/03/11  11:03:41  pwe
37
 * DWARF optimisation info
38
 *
39
 * Revision 1.2  1998/02/18  11:22:19  pwe
40
 * test corrections
41
 *
42
 * Revision 1.1.1.1  1998/01/17  15:55:48  release
43
 * First version to be checked into rolling release.
44
 *
45
 * Revision 1.10  1998/01/09  09:31:25  pwe
46
 * prep restructure
47
 *
48
 * Revision 1.9  1997/12/04  19:41:21  pwe
49
 * ANDF-DE V1.9
50
 *
51
 * Revision 1.8  1997/11/06  09:22:03  pwe
52
 * ANDF-DE V1.8
53
 *
54
 * Revision 1.7  1997/10/23  09:27:32  pwe
55
 * ANDF-DE v1.7, extra diags
56
 *
57
 * Revision 1.6  1997/10/10  18:18:29  pwe
58
 * prep ANDF-DE revision
59
 *
60
 * Revision 1.5  1997/08/23  13:36:36  pwe
61
 * initial ANDF-DE
62
 *
63
 * Revision 1.4  1997/04/17  11:50:20  pwe
64
 * Sparc and 80x86 support
65
 *
66
 * Revision 1.3  1997/04/01  17:19:38  pwe
67
 * diagnose pl_tests and locate -> platform specific
68
 *
69
 * Revision 1.2  1997/03/24  11:10:23  pwe
70
 * struct bitfields
71
 *
72
 * Revision 1.1  1997/03/20  16:09:08  pwe
73
 * first version
74
 *
75
**********************************************************************/
76
 
77
#ifndef entries_tag
78
#define entries_tag 1
79
 
80
 
81
typedef struct 
82
{
83
  int		index;
84
  long *	attr;
85
  long		valid;
86
  long		special;
87
#if 1
88
  char *	aname;
89
#endif
90
} abbrev_entry;
91
 
92
extern abbrev_entry
93
  dwe_comp_unit,
94
  dwe_cmac_unit,
95
  dwe_module,
96
  dwe_namespace,
97
  dwe_subunit,
98
  dwe_childunit,
99
  dwe_child_acc,
100
  dwe_import,
101
  dwe_import_p,
102
  dwe_entrypt,
103
  dwe_param,
104
  dwe_formal,
105
  dwe_opt_par,
106
  dwe_thrown_t,
107
  dwe_inl_call,
108
  dwe_inl_opnd,
109
  dwe_scope,
110
  dwe_fragment,
111
  dwe_label,
112
  dwe_with,
113
  dwe_try,
114
  dwe_catch,
115
  dwe_variable,
116
  dwe_constant,
117
  dwe_tmpl_type,
118
  dwe_tmpl_val,
119
  dwe_tmpl_proc,
120
  dwe_tmpl_mod,
121
  dwe_typedef,
122
  dwe_typecon,
123
  dwe_cnstraint,
124
  dwe_base_type,
125
  dwe_cnst_type,
126
  dwe_vol_type,
127
  dwe_clwd_type,
128
  dwe_als_type,
129
  dwe_lim_type,
130
  dwe_ptr_type,
131
  dwe_hpptr_t,
132
  dwe_ref_type,
133
  dwe_pack_type,
134
  dwe_arr_type,
135
  dwe_arr_dyn,
136
  dwe_subr_type,
137
  dwe_enum_type,
138
  dwe_enum_tor,
139
  dwe_enum_char,
140
  dwe_struct_t,
141
  dwe_member,
142
  dwe_varpart,
143
  dwe_varpart_t,
144
  dwe_variant_0,
145
  dwe_variant_1,
146
  dwe_variant_n,
147
  dwe_union_t,
148
  dwe_class_t,
149
  dwe_inheritce,
150
  dwe_friend,
151
  dwe_ptrmem_t,
152
  dwe_ind_mem,
153
  dwe_proc_type,
154
  dwe_procv_t,
155
  dwe_string_t,
156
  dwe_stringc_t,
157
  dwe_file_t,
158
  dwe_set_t,
159
  dwe_fixpt_t,
160
  dwe_fldg_t,
161
  dwe_modular_t,
162
  dwe_task_t,
163
  dwe_synch_t,
164
  dwe_entry,
165
  dwe_for_unit,
166
  dwe_for_lang,
167
  dwe_call,
168
  dwe_return,
169
  dwe_destruct,
170
  dwe_branch,
171
  dwe_branch_0,
172
  dwe_break,
173
  dwe_test,
174
  dwe_test_0,
175
  dwe_jump,
176
  dwe_jump_0,
177
  dwe_lj,
178
  dwe_lj_0,
179
  dwe_throw,
180
  dwe_barrier,
181
  dwe_select,
182
  dwe_accept,
183
  dwe_accept_c,
184
  dwe_rts,
185
  dwe_rts_en,
186
  dwe_sel_alt,
187
  dwe_sel_alt_c,
188
  dwe_sel_guard,
189
  dwe_asynchsel,
190
  dwe_trigger,
191
  dwe_trigger_c,
192
  dwe_abort_pt,
193
  dwe_abort_ptc,
194
  dwe_requeue,
195
  dwe_unknown_t,
196
  dwe_span,
197
  dwe_span_strt,
198
  dwe_span_end,
199
  dwe_absent,
200
  dwe_absent_r,
201
  dwe_absent_x,
202
  dwe_absent_xr,
203
  dwe_displaced,
204
  dwe_displ_x,
205
  dwe_moved,
206
  dwe_moved_r,
207
  dwe_moved_x,
208
  dwe_moved_xr,
209
  dwe_optim,
210
  dwe_proc;
211
 
212
extern void init_dw_entries PROTO_S ((void));
213
 
214
extern long dw_entry PROTO_S ((abbrev_entry en, long attr));
215
 
216
 
217
 
218
	/* general attributes */
219
 
220
#define H_AO	0x1		/* inline abstract origin */
221
#define H_SP	0x2		/* ref specification */
222
#define H_DC	0x4		/* declaration only */
223
#define H_NM	0x8		/* has name */
224
#define H_XY	0x10		/* has source coordinates */
225
#define H_EX	0x20		/* flag for external */
226
#define H_AT	0x40		/* has artificiality */
227
#define H_AC	0x80		/* has accessibility */
228
#define H_TP	0x100		/* has type */
229
#define H_SS	0x200		/* has start scope */
230
#define H_RP	0x400		/* has repn clause */
231
#define H_GN	0x800		/* generic name */
232
#define H_EL	0x1000		/* has elaboration */
233
#define H_SE	0x2000		/* Ada is separate */
234
 
235
	/* attributes for functions */
236
 
237
#define H_PC	0x10000		/* has code address */
238
#define H_CC	0x20000		/* has calling convention */
239
#define H_PT	0x40000		/* has prototype */
240
#define H_IL	0x80000		/* inlined */
241
#define H_VT	0x100000	/* has virtuality */
242
#define H_VL	0x200000	/* vtable elem location */
243
#define H_SL	0x400000	/* has static link */
244
#define H_LN	0x800000	/* has language call convention */
245
 
246
	/* attributes for objects */
247
 
248
#define H_CV	0x10000		/* has const value */
249
#define H_LC	0x20000		/* has single location  */
250
#define H_LL	0x40000		/* has location list */
251
#define H_LE	0x80000		/* has extended loclist */
252
#define H_VP	0x100000	/* variable parameter */
253
#define H_DF	0x200000	/* default value */
254
#if 0
255
#define H_DX	0x400000	/* default existance */
256
#endif
257
 
258
	/* attributes for lex_scopes */
259
 
260
/*	H_PC	0x10000	*/
261
#define H_BG	0x20000		/* has 'BEGIN' */
262
 
263
	/* attributes for types */
264
 
265
#define H_SZ	0x10000		/* has byte size */
266
#define H_NW	0x20000		/* is new */
267
#define H_AD	0x40000		/* Ada derived */
268
 
269
	/* attributes for bounds */
270
 
271
#define H_LB	0x40000		/* lower bound */
272
#define H_UB	0x80000		/* upper bound */
273
#define H_CN	0x100000	/* count */
274
 
275
	/* attributes for members */
276
 
277
/*	H_LC	0x20000	*/
278
#define H_BF	0x10000		/* bitfield */
279
#define H_DS	0x40000		/* discriminant */
280
/*	H_DF	0x100000 */
281
/*	H_DX	0x200000 REMOVE	*/
282
 
283
	/* attributes for class types */
284
 
285
/*	H_AD	0x40000 */
286
#define H_VS	0x100000	/* vtable static */
287
#define H_VD	0x200000	/* vtable dynamic */
288
#define H_RS	0x400000	/* rtti static */
289
#define H_RD	0x800000	/* rtti dynamic */
290
 
291
	/* attributes for Ada tasks and Synchronised types */
292
 
293
#define H_CB	0x100000	/* control block */
294
#define H_ID	0x200000	/* task id */
295
 
296
	/* attributes for constraints */
297
 
298
#define	H_RM	0x800000	/* ref member */
299
/*	H_TP	0x100 */
300
/*	H_CV	0x10000 */
301
 
302
	/* attributes for fixed point type */
303
 
304
/*	H_DF	0x100000    delta */
305
/*	H_DS	0x40000     digits */
306
 
307
 
308
 
309
#define H_EXTN	0x80000000
310
 
311
 
312
 
313
#endif