OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [objc/] [objc-act.h] - Blame information for rev 289

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 289 jeremybenn
/* Declarations for objc-act.c.
2
   Copyright (C) 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
3
   Free Software Foundation, Inc.
4
 
5
This file is part of GCC.
6
 
7
GCC is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 3, or (at your option)
10
any later version.
11
 
12
GCC is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
GNU General Public License for more details.
16
 
17
You should have received a copy of the GNU General Public License
18
along with GCC; see the file COPYING3.  If not see
19
<http://www.gnu.org/licenses/>.  */
20
 
21
 
22
#ifndef GCC_OBJC_ACT_H
23
#define GCC_OBJC_ACT_H
24
 
25
/* For enum gimplify_status */
26
#include "gimple.h"
27
 
28
/*** Language hooks ***/
29
 
30
bool objc_init (void);
31
const char *objc_printable_name (tree, int);
32
void objc_finish_file (void);
33
tree objc_fold_obj_type_ref (tree, tree);
34
int objc_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
35
tree objc_eh_runtime_type (tree);
36
tree objc_eh_personality (void);
37
 
38
/* NB: The remaining public functions are prototyped in c-common.h, for the
39
   benefit of stub-objc.c and objc-act.c.  */
40
 
41
/* Objective-C structures */
42
 
43
#define CLASS_LANG_SLOT_ELTS            5
44
#define PROTOCOL_LANG_SLOT_ELTS         2
45
#define OBJC_INFO_SLOT_ELTS             2
46
 
47
/* KEYWORD_DECL */
48
#define KEYWORD_KEY_NAME(DECL) ((DECL)->decl_minimal.name)
49
#define KEYWORD_ARG_NAME(DECL) ((DECL)->decl_non_common.arguments)
50
 
51
/* INSTANCE_METHOD_DECL, CLASS_METHOD_DECL */
52
#define METHOD_SEL_NAME(DECL) ((DECL)->decl_minimal.name)
53
#define METHOD_SEL_ARGS(DECL) ((DECL)->decl_non_common.arguments)
54
#define METHOD_ADD_ARGS(DECL) ((DECL)->decl_non_common.result)
55
#define METHOD_ADD_ARGS_ELLIPSIS_P(DECL) ((DECL)->decl_common.lang_flag_0)
56
#define METHOD_DEFINITION(DECL) ((DECL)->decl_common.initial)
57
#define METHOD_ENCODING(DECL) ((DECL)->decl_minimal.context)
58
 
59
/* CLASS_INTERFACE_TYPE, CLASS_IMPLEMENTATION_TYPE,
60
   CATEGORY_INTERFACE_TYPE, CATEGORY_IMPLEMENTATION_TYPE,
61
   PROTOCOL_INTERFACE_TYPE */
62
#define CLASS_NAME(CLASS) ((CLASS)->type.name)
63
#define CLASS_SUPER_NAME(CLASS) (TYPE_CHECK (CLASS)->type.context)
64
#define CLASS_IVARS(CLASS) TREE_VEC_ELT (TYPE_LANG_SLOT_1 (CLASS), 0)
65
#define CLASS_RAW_IVARS(CLASS) TREE_VEC_ELT (TYPE_LANG_SLOT_1 (CLASS), 1)
66
#define CLASS_NST_METHODS(CLASS) ((CLASS)->type.minval)
67
#define CLASS_CLS_METHODS(CLASS) ((CLASS)->type.maxval)
68
#define CLASS_STATIC_TEMPLATE(CLASS) TREE_VEC_ELT (TYPE_LANG_SLOT_1 (CLASS), 2)
69
#define CLASS_CATEGORY_LIST(CLASS) TREE_VEC_ELT (TYPE_LANG_SLOT_1 (CLASS), 3)
70
#define CLASS_PROTOCOL_LIST(CLASS) TREE_VEC_ELT (TYPE_LANG_SLOT_1 (CLASS), 4)
71
#define PROTOCOL_NAME(CLASS) ((CLASS)->type.name)
72
#define PROTOCOL_LIST(CLASS) TREE_VEC_ELT (TYPE_LANG_SLOT_1 (CLASS), 0)
73
#define PROTOCOL_NST_METHODS(CLASS) ((CLASS)->type.minval)
74
#define PROTOCOL_CLS_METHODS(CLASS) ((CLASS)->type.maxval)
75
#define PROTOCOL_FORWARD_DECL(CLASS) TREE_VEC_ELT (TYPE_LANG_SLOT_1 (CLASS), 1)
76
#define PROTOCOL_DEFINED(CLASS) TREE_USED (CLASS)
77
 
78
/* ObjC-specific information pertaining to RECORD_TYPEs are stored in
79
   the LANG_SPECIFIC structures, which may itself need allocating first.  */
80
 
81
/* The following three macros must be overridden (in objcp/objcp-decl.h)
82
   for Objective-C++.  */
83
#define TYPE_OBJC_INFO(TYPE) TYPE_LANG_SPECIFIC (TYPE)->objc_info
84
#define SIZEOF_OBJC_TYPE_LANG_SPECIFIC sizeof (struct lang_type)
85
#define ALLOC_OBJC_TYPE_LANG_SPECIFIC(NODE)                             \
86
  do {                                                                  \
87
    TYPE_LANG_SPECIFIC (NODE) = GGC_CNEW (struct lang_type);            \
88
  } while (0)
89
 
90
#define TYPE_HAS_OBJC_INFO(TYPE)                                \
91
        (TYPE_LANG_SPECIFIC (TYPE) && TYPE_OBJC_INFO (TYPE))
92
#define TYPE_OBJC_INTERFACE(TYPE) TREE_VEC_ELT (TYPE_OBJC_INFO (TYPE), 0)
93
#define TYPE_OBJC_PROTOCOL_LIST(TYPE) TREE_VEC_ELT (TYPE_OBJC_INFO (TYPE), 1)
94
 
95
 
96
#define INIT_TYPE_OBJC_INFO(TYPE)                               \
97
        do                                                      \
98
          {                                                     \
99
            if (!TYPE_LANG_SPECIFIC (TYPE))                     \
100
              ALLOC_OBJC_TYPE_LANG_SPECIFIC(TYPE);              \
101
            if (!TYPE_OBJC_INFO (TYPE))                         \
102
              TYPE_OBJC_INFO (TYPE)                             \
103
                = make_tree_vec (OBJC_INFO_SLOT_ELTS);          \
104
          }                                                     \
105
        while (0)
106
#define DUP_TYPE_OBJC_INFO(DST, SRC)                            \
107
        do                                                      \
108
          {                                                     \
109
            ALLOC_OBJC_TYPE_LANG_SPECIFIC(DST);                 \
110
            if (TYPE_LANG_SPECIFIC (SRC))                       \
111
              memcpy (TYPE_LANG_SPECIFIC (DST),                 \
112
                      TYPE_LANG_SPECIFIC (SRC),                 \
113
                      SIZEOF_OBJC_TYPE_LANG_SPECIFIC);          \
114
            TYPE_OBJC_INFO (DST)                                \
115
              = make_tree_vec (OBJC_INFO_SLOT_ELTS);            \
116
          }                                                     \
117
        while (0)
118
 
119
#define TYPED_OBJECT(TYPE)                                      \
120
        (TREE_CODE (TYPE) == RECORD_TYPE                        \
121
         && TYPE_HAS_OBJC_INFO (TYPE)                           \
122
         && TYPE_OBJC_INTERFACE (TYPE))
123
#define OBJC_TYPE_NAME(TYPE) TYPE_NAME(TYPE)
124
#define OBJC_SET_TYPE_NAME(TYPE, NAME) (TYPE_NAME (TYPE) = NAME)
125
 
126
/* Hash tables to manage the global pool of method prototypes.  */
127
 
128
typedef struct hashed_entry     *hash;
129
typedef struct hashed_attribute *attr;
130
 
131
struct GTY(()) hashed_attribute {
132
  attr next;
133
  tree value;
134
};
135
struct GTY(()) hashed_entry {
136
  attr list;
137
  hash next;
138
  tree key;
139
};
140
 
141
extern GTY ((length ("SIZEHASHTABLE"))) hash *nst_method_hash_list;
142
extern GTY ((length ("SIZEHASHTABLE"))) hash *cls_method_hash_list;
143
 
144
#define SIZEHASHTABLE           257
145
 
146
/* Objective-C/Objective-C++ @implementation list.  */
147
 
148
struct GTY(()) imp_entry {
149
  struct imp_entry *next;
150
  tree imp_context;
151
  tree imp_template;
152
  tree class_decl;              /* _OBJC_CLASS_<my_name>; */
153
  tree meta_decl;               /* _OBJC_METACLASS_<my_name>; */
154
  BOOL_BITFIELD has_cxx_cdtors : 1;
155
};
156
 
157
extern GTY(()) struct imp_entry *imp_list;
158
extern GTY(()) int imp_count;   /* `@implementation' */
159
extern GTY(()) int cat_count;   /* `@category' */
160
 
161
extern GTY(()) enum tree_code objc_inherit_code;
162
extern GTY(()) int objc_public_flag;
163
 
164
/* Objective-C/Objective-C++ global tree enumeration.  */
165
 
166
enum objc_tree_index
167
{
168
    OCTI_STATIC_NST,
169
    OCTI_STATIC_NST_DECL,
170
    OCTI_SELF_ID,
171
    OCTI_UCMD_ID,
172
 
173
    OCTI_SELF_DECL,
174
    OCTI_UMSG_DECL,
175
    OCTI_UMSG_FAST_DECL,
176
    OCTI_UMSG_SUPER_DECL,
177
    OCTI_UMSG_STRET_DECL,
178
    OCTI_UMSG_SUPER_STRET_DECL,
179
    OCTI_GET_CLASS_DECL,
180
    OCTI_GET_MCLASS_DECL,
181
    OCTI_SUPER_TYPE,
182
    OCTI_SEL_TYPE,
183
    OCTI_ID_TYPE,
184
    OCTI_CLS_TYPE,
185
    OCTI_NST_TYPE,
186
    OCTI_PROTO_TYPE,
187
 
188
    OCTI_CLS_CHAIN,
189
    OCTI_ALIAS_CHAIN,
190
    OCTI_INTF_CHAIN,
191
    OCTI_PROTO_CHAIN,
192
    OCTI_IMPL_CHAIN,
193
    OCTI_CLS_REF_CHAIN,
194
    OCTI_SEL_REF_CHAIN,
195
    OCTI_IVAR_CHAIN,
196
    OCTI_CLS_NAMES_CHAIN,
197
    OCTI_METH_VAR_NAMES_CHAIN,
198
    OCTI_METH_VAR_TYPES_CHAIN,
199
 
200
    OCTI_SYMBOLS_DECL,
201
    OCTI_NST_VAR_DECL,
202
    OCTI_CLS_VAR_DECL,
203
    OCTI_NST_METH_DECL,
204
    OCTI_CLS_METH_DECL,
205
    OCTI_CLS_DECL,
206
    OCTI_MCLS_DECL,
207
    OCTI_SEL_TABLE_DECL,
208
    OCTI_MODULES_DECL,
209
    OCTI_GNU_INIT_DECL,
210
 
211
    OCTI_INTF_CTX,
212
    OCTI_IMPL_CTX,
213
    OCTI_METH_CTX,
214
    OCTI_IVAR_CTX,
215
 
216
    OCTI_IMPL_TEMPL,
217
    OCTI_CLS_TEMPL,
218
    OCTI_CAT_TEMPL,
219
    OCTI_UPRIV_REC,
220
    OCTI_PROTO_TEMPL,
221
    OCTI_SEL_TEMPL,
222
    OCTI_UCLS_SUPER_REF,
223
    OCTI_UUCLS_SUPER_REF,
224
    OCTI_METH_TEMPL,
225
    OCTI_IVAR_TEMPL,
226
    OCTI_METH_LIST_TEMPL,
227
    OCTI_METH_PROTO_LIST_TEMPL,
228
    OCTI_IVAR_LIST_TEMPL,
229
    OCTI_SYMTAB_TEMPL,
230
    OCTI_MODULE_TEMPL,
231
    OCTI_SUPER_TEMPL,
232
    OCTI_OBJ_REF,
233
    OCTI_CLS_REF,
234
    OCTI_METH_PROTO_TEMPL,
235
    OCTI_FUNCTION1_TEMPL,
236
    OCTI_FUNCTION2_TEMPL,
237
 
238
    OCTI_OBJ_ID,
239
    OCTI_CLS_ID,
240
    OCTI_ID_NAME,
241
    OCTI_CLASS_NAME,
242
    OCTI_CNST_STR_ID,
243
    OCTI_CNST_STR_TYPE,
244
    OCTI_CNST_STR_GLOB_ID,
245
    OCTI_STRING_CLASS_DECL,
246
    OCTI_INTERNAL_CNST_STR_TYPE,
247
    OCTI_SUPER_DECL,
248
    OCTI_UMSG_NONNIL_DECL,
249
    OCTI_UMSG_NONNIL_STRET_DECL,
250
    OCTI_STORAGE_CLS,
251
    OCTI_EXCEPTION_EXTRACT_DECL,
252
    OCTI_EXCEPTION_TRY_ENTER_DECL,
253
    OCTI_EXCEPTION_TRY_EXIT_DECL,
254
    OCTI_EXCEPTION_MATCH_DECL,
255
    OCTI_EXCEPTION_THROW_DECL,
256
    OCTI_SYNC_ENTER_DECL,
257
    OCTI_SYNC_EXIT_DECL,
258
    OCTI_SETJMP_DECL,
259
    OCTI_EXCDATA_TEMPL,
260
    OCTI_STACK_EXCEPTION_DATA_DECL,
261
    OCTI_LOCAL_EXCEPTION_DECL,
262
    OCTI_RETHROW_EXCEPTION_DECL,
263
    OCTI_EVAL_ONCE_DECL,
264
    OCTI_CATCH_TYPE,
265
    OCTI_EXECCLASS_DECL,
266
 
267
    OCTI_ASSIGN_IVAR_DECL,
268
    OCTI_ASSIGN_IVAR_FAST_DECL,
269
    OCTI_ASSIGN_GLOBAL_DECL,
270
    OCTI_ASSIGN_STRONGCAST_DECL,
271
 
272
    OCTI_MAX
273
};
274
 
275
extern GTY(()) tree objc_global_trees[OCTI_MAX];
276
 
277
/* List of classes with list of their static instances.  */
278
#define objc_static_instances   objc_global_trees[OCTI_STATIC_NST]
279
 
280
/* The declaration of the array administrating the static instances.  */
281
#define static_instances_decl   objc_global_trees[OCTI_STATIC_NST_DECL]
282
 
283
/* Some commonly used instances of "identifier_node".  */
284
 
285
#define self_id                 objc_global_trees[OCTI_SELF_ID]
286
#define ucmd_id                 objc_global_trees[OCTI_UCMD_ID]
287
 
288
#define self_decl               objc_global_trees[OCTI_SELF_DECL]
289
#define umsg_decl               objc_global_trees[OCTI_UMSG_DECL]
290
#define umsg_fast_decl          objc_global_trees[OCTI_UMSG_FAST_DECL]
291
#define umsg_super_decl         objc_global_trees[OCTI_UMSG_SUPER_DECL]
292
#define umsg_stret_decl         objc_global_trees[OCTI_UMSG_STRET_DECL]
293
#define umsg_super_stret_decl   objc_global_trees[OCTI_UMSG_SUPER_STRET_DECL]
294
#define objc_get_class_decl     objc_global_trees[OCTI_GET_CLASS_DECL]
295
#define objc_get_meta_class_decl                        \
296
                                objc_global_trees[OCTI_GET_MCLASS_DECL]
297
 
298
#define objc_super_type         objc_global_trees[OCTI_SUPER_TYPE]
299
#define objc_selector_type              objc_global_trees[OCTI_SEL_TYPE]
300
#define objc_object_type        objc_global_trees[OCTI_ID_TYPE]
301
#define objc_class_type         objc_global_trees[OCTI_CLS_TYPE]
302
#define objc_instance_type      objc_global_trees[OCTI_NST_TYPE]
303
#define objc_protocol_type      objc_global_trees[OCTI_PROTO_TYPE]
304
 
305
/* Type checking macros.  */
306
 
307
#define IS_ID(TYPE)                                                     \
308
        (TREE_CODE (TYPE) == POINTER_TYPE                               \
309
         && (TYPE_MAIN_VARIANT (TREE_TYPE (TYPE))                       \
310
             == TREE_TYPE (objc_object_type)))
311
#define IS_CLASS(TYPE)                                                  \
312
        (TREE_CODE (TYPE) == POINTER_TYPE                               \
313
         && (TYPE_MAIN_VARIANT (TREE_TYPE (TYPE))                       \
314
             == TREE_TYPE (objc_class_type)))
315
#define IS_PROTOCOL_QUALIFIED_UNTYPED(TYPE)                             \
316
        ((IS_ID (TYPE) || IS_CLASS (TYPE))                              \
317
         && TYPE_HAS_OBJC_INFO (TREE_TYPE (TYPE))                       \
318
         && TYPE_OBJC_PROTOCOL_LIST (TREE_TYPE (TYPE)))
319
#define IS_SUPER(TYPE)                                                  \
320
        (TREE_CODE (TYPE) == POINTER_TYPE                               \
321
         && TREE_TYPE (TYPE) == objc_super_template)
322
 
323
#define class_chain             objc_global_trees[OCTI_CLS_CHAIN]
324
#define alias_chain             objc_global_trees[OCTI_ALIAS_CHAIN]
325
#define interface_chain         objc_global_trees[OCTI_INTF_CHAIN]
326
#define protocol_chain          objc_global_trees[OCTI_PROTO_CHAIN]
327
#define implemented_classes     objc_global_trees[OCTI_IMPL_CHAIN]
328
 
329
/* Chains to manage selectors that are referenced and defined in the
330
   module.  */
331
 
332
#define cls_ref_chain           objc_global_trees[OCTI_CLS_REF_CHAIN]   /* Classes referenced.  */
333
#define sel_ref_chain           objc_global_trees[OCTI_SEL_REF_CHAIN]   /* Selectors referenced.  */
334
#define objc_ivar_chain         objc_global_trees[OCTI_IVAR_CHAIN]
335
 
336
/* Chains to manage uniquing of strings.  */
337
 
338
#define class_names_chain       objc_global_trees[OCTI_CLS_NAMES_CHAIN]
339
#define meth_var_names_chain    objc_global_trees[OCTI_METH_VAR_NAMES_CHAIN]
340
#define meth_var_types_chain    objc_global_trees[OCTI_METH_VAR_TYPES_CHAIN]
341
 
342
 
343
/* Backend data declarations.  */
344
 
345
#define UOBJC_SYMBOLS_decl              objc_global_trees[OCTI_SYMBOLS_DECL]
346
#define UOBJC_INSTANCE_VARIABLES_decl   objc_global_trees[OCTI_NST_VAR_DECL]
347
#define UOBJC_CLASS_VARIABLES_decl      objc_global_trees[OCTI_CLS_VAR_DECL]
348
#define UOBJC_INSTANCE_METHODS_decl     objc_global_trees[OCTI_NST_METH_DECL]
349
#define UOBJC_CLASS_METHODS_decl        objc_global_trees[OCTI_CLS_METH_DECL]
350
#define UOBJC_CLASS_decl                objc_global_trees[OCTI_CLS_DECL]
351
#define UOBJC_METACLASS_decl            objc_global_trees[OCTI_MCLS_DECL]
352
#define UOBJC_SELECTOR_TABLE_decl       objc_global_trees[OCTI_SEL_TABLE_DECL]
353
#define UOBJC_MODULES_decl              objc_global_trees[OCTI_MODULES_DECL]
354
#define GNU_INIT_decl                   objc_global_trees[OCTI_GNU_INIT_DECL]
355
 
356
/* The following are used when compiling a class implementation.
357
   implementation_template will normally be an interface, however if
358
   none exists this will be equal to objc_implementation_context...it is
359
   set in start_class.  */
360
 
361
#define objc_interface_context          objc_global_trees[OCTI_INTF_CTX]
362
#define objc_implementation_context     objc_global_trees[OCTI_IMPL_CTX]
363
#define objc_method_context             objc_global_trees[OCTI_METH_CTX]
364
#define objc_ivar_context               objc_global_trees[OCTI_IVAR_CTX]
365
 
366
#define implementation_template objc_global_trees[OCTI_IMPL_TEMPL]
367
#define objc_class_template     objc_global_trees[OCTI_CLS_TEMPL]
368
#define objc_category_template  objc_global_trees[OCTI_CAT_TEMPL]
369
#define uprivate_record         objc_global_trees[OCTI_UPRIV_REC]
370
#define objc_protocol_template  objc_global_trees[OCTI_PROTO_TEMPL]
371
#define objc_selector_template  objc_global_trees[OCTI_SEL_TEMPL]
372
#define ucls_super_ref          objc_global_trees[OCTI_UCLS_SUPER_REF]
373
#define uucls_super_ref         objc_global_trees[OCTI_UUCLS_SUPER_REF]
374
 
375
#define umsg_nonnil_decl        objc_global_trees[OCTI_UMSG_NONNIL_DECL]
376
#define umsg_nonnil_stret_decl  objc_global_trees[OCTI_UMSG_NONNIL_STRET_DECL]
377
#define objc_storage_class      objc_global_trees[OCTI_STORAGE_CLS]
378
#define objc_exception_extract_decl             \
379
                                objc_global_trees[OCTI_EXCEPTION_EXTRACT_DECL]
380
#define objc_exception_try_enter_decl           \
381
                                objc_global_trees[OCTI_EXCEPTION_TRY_ENTER_DECL]
382
#define objc_exception_try_exit_decl            \
383
                                objc_global_trees[OCTI_EXCEPTION_TRY_EXIT_DECL]
384
#define objc_exception_match_decl               \
385
                                objc_global_trees[OCTI_EXCEPTION_MATCH_DECL]
386
#define objc_exception_throw_decl               \
387
                                objc_global_trees[OCTI_EXCEPTION_THROW_DECL]
388
#define objc_sync_enter_decl    objc_global_trees[OCTI_SYNC_ENTER_DECL]
389
#define objc_sync_exit_decl     objc_global_trees[OCTI_SYNC_EXIT_DECL]
390
#define objc_exception_data_template            \
391
                                objc_global_trees[OCTI_EXCDATA_TEMPL]
392
#define objc_setjmp_decl        objc_global_trees[OCTI_SETJMP_DECL]
393
#define objc_stack_exception_data               \
394
                                objc_global_trees[OCTI_STACK_EXCEPTION_DATA_DECL]
395
#define objc_caught_exception   objc_global_trees[OCTI_LOCAL_EXCEPTION_DECL]    
396
#define objc_rethrow_exception  objc_global_trees[OCTI_RETHROW_EXCEPTION_DECL]  
397
#define objc_eval_once          objc_global_trees[OCTI_EVAL_ONCE_DECL]  
398
#define objc_catch_type         objc_global_trees[OCTI_CATCH_TYPE]
399
 
400
#define execclass_decl          objc_global_trees[OCTI_EXECCLASS_DECL]
401
 
402
#define objc_assign_ivar_decl   objc_global_trees[OCTI_ASSIGN_IVAR_DECL]
403
#define objc_assign_ivar_fast_decl              \
404
                                objc_global_trees[OCTI_ASSIGN_IVAR_FAST_DECL]
405
#define objc_assign_global_decl objc_global_trees[OCTI_ASSIGN_GLOBAL_DECL]
406
#define objc_assign_strong_cast_decl            \
407
                                objc_global_trees[OCTI_ASSIGN_STRONGCAST_DECL]
408
 
409
#define objc_method_template    objc_global_trees[OCTI_METH_TEMPL]
410
#define objc_ivar_template      objc_global_trees[OCTI_IVAR_TEMPL]
411
#define objc_method_list_ptr    objc_global_trees[OCTI_METH_LIST_TEMPL]
412
#define objc_method_proto_list_ptr              \
413
                                objc_global_trees[OCTI_METH_PROTO_LIST_TEMPL]
414
#define objc_ivar_list_ptr      objc_global_trees[OCTI_IVAR_LIST_TEMPL]
415
#define objc_symtab_template    objc_global_trees[OCTI_SYMTAB_TEMPL]
416
#define objc_module_template    objc_global_trees[OCTI_MODULE_TEMPL]
417
#define objc_super_template     objc_global_trees[OCTI_SUPER_TEMPL]
418
#define objc_object_reference   objc_global_trees[OCTI_OBJ_REF]
419
#define objc_class_reference    objc_global_trees[OCTI_CLS_REF]
420
#define objc_method_prototype_template          \
421
                                objc_global_trees[OCTI_METH_PROTO_TEMPL]
422
#define function1_template      objc_global_trees[OCTI_FUNCTION1_TEMPL]
423
#define function2_template      objc_global_trees[OCTI_FUNCTION2_TEMPL]
424
 
425
#define objc_object_id          objc_global_trees[OCTI_OBJ_ID]
426
#define objc_class_id           objc_global_trees[OCTI_CLS_ID]
427
#define objc_object_name                objc_global_trees[OCTI_ID_NAME]
428
#define objc_class_name         objc_global_trees[OCTI_CLASS_NAME]
429
#define constant_string_id      objc_global_trees[OCTI_CNST_STR_ID]
430
#define constant_string_type    objc_global_trees[OCTI_CNST_STR_TYPE]
431
#define constant_string_global_id               \
432
                                objc_global_trees[OCTI_CNST_STR_GLOB_ID]
433
#define string_class_decl       objc_global_trees[OCTI_STRING_CLASS_DECL]
434
#define internal_const_str_type objc_global_trees[OCTI_INTERNAL_CNST_STR_TYPE]
435
#define UOBJC_SUPER_decl        objc_global_trees[OCTI_SUPER_DECL]
436
 
437
#endif /* GCC_OBJC_ACT_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.