41 lines
1.5 KiB
C
41 lines
1.5 KiB
C
|
/* In grokdeclarator, distinguish syntactic contexts of declarators. */
|
||
|
enum decl_context
|
||
|
{ NORMAL, /* Ordinary declaration */
|
||
|
FUNCDEF, /* Function definition */
|
||
|
PARM, /* Declaration of parm before function body */
|
||
|
FIELD, /* Declaration inside struct or union */
|
||
|
TYPENAME, /* Typename (inside cast or sizeof) */
|
||
|
MEMFUNCDEF, /* Member function definition */
|
||
|
};
|
||
|
|
||
|
/* C++: Keep these around to reduce calls to `get_identifier'.
|
||
|
Identifiers for `this' in member functions and the auto-delete
|
||
|
parameter for destructors. */
|
||
|
extern tree this_identifier, in_charge_identifier;
|
||
|
|
||
|
/* Parsing a function declarator leaves a list of parameter names
|
||
|
or a chain or parameter decls here. */
|
||
|
extern tree last_function_parms;
|
||
|
|
||
|
/* A list of static class variables. This is needed, because a
|
||
|
static class variable can be declared inside the class without
|
||
|
an initializer, and then initialized, staticly, outside the class. */
|
||
|
extern tree pending_statics;
|
||
|
|
||
|
/* A list of objects which have constructors or destructors
|
||
|
which reside in the global scope. The decl is stored in
|
||
|
the TREE_VALUE slot and the initializer is stored
|
||
|
in the TREE_PURPOSE slot. */
|
||
|
extern tree static_aggregates;
|
||
|
|
||
|
/* A list of functions which were declared inline, but later had their
|
||
|
address taken. Used only for non-virtual member functions, since we can
|
||
|
find other functions easily enough. */
|
||
|
extern tree pending_addressable_inlines;
|
||
|
|
||
|
#ifdef SOS
|
||
|
/* SOS extensions. */
|
||
|
extern tree zlink_type, zret_type;
|
||
|
extern tree zlink, zret;
|
||
|
#endif
|