1 /* In grokdeclarator, distinguish syntactic contexts of declarators. */
3 { NORMAL
, /* Ordinary declaration */
4 FUNCDEF
, /* Function definition */
5 PARM
, /* Declaration of parm before function body */
6 FIELD
, /* Declaration inside struct or union */
7 TYPENAME
, /* Typename (inside cast or sizeof) */
8 MEMFUNCDEF
, /* Member function definition */
11 /* C++: Keep these around to reduce calls to `get_identifier'.
12 Identifiers for `this' in member functions and the auto-delete
13 parameter for destructors. */
14 extern tree this_identifier
, in_charge_identifier
;
16 /* Parsing a function declarator leaves a list of parameter names
17 or a chain or parameter decls here. */
18 extern tree last_function_parms
;
20 /* A list of static class variables. This is needed, because a
21 static class variable can be declared inside the class without
22 an initializer, and then initialized, staticly, outside the class. */
23 extern tree pending_statics
;
25 /* A list of objects which have constructors or destructors
26 which reside in the global scope. The decl is stored in
27 the TREE_VALUE slot and the initializer is stored
28 in the TREE_PURPOSE slot. */
29 extern tree static_aggregates
;
31 /* A list of functions which were declared inline, but later had their
32 address taken. Used only for non-virtual member functions, since we can
33 find other functions easily enough. */
34 extern tree pending_addressable_inlines
;
38 extern tree zlink_type
, zret_type
;
39 extern tree zlink
, zret
;