|
|
1.1 root 1: /* In grokdeclarator, distinguish syntactic contexts of declarators. */
2: enum decl_context
3: { NORMAL, /* Ordinary declaration */
4: FUNCDEF, /* Function definition */
5: PARM, /* Declaration of parm before function body */
6: FIELD, /* Declaration inside struct or union */
7: BITFIELD, /* Likewise but with specified width */
8: TYPENAME, /* Typename (inside cast or sizeof) */
9: MEMFUNCDEF /* Member function definition */
10: };
11:
12: /* C++: Keep these around to reduce calls to `get_identifier'.
13: Identifiers for `this' in member functions and the auto-delete
14: parameter for destructors. */
15: extern tree this_identifier, in_charge_identifier;
16:
17: /* Parsing a function declarator leaves a list of parameter names
18: or a chain or parameter decls here. */
19: extern tree last_function_parms;
20:
21: /* A list of static class variables. This is needed, because a
22: static class variable can be declared inside the class without
23: an initializer, and then initialized, staticly, outside the class. */
24: extern tree pending_statics;
25:
26: /* A list of objects which have constructors or destructors
27: which reside in the global scope. The decl is stored in
28: the TREE_VALUE slot and the initializer is stored
29: in the TREE_PURPOSE slot. */
30: extern tree static_aggregates;
31:
32: /* A list of functions which were declared inline, but later had their
33: address taken. Used only for non-virtual member functions, since we can
34: find other functions easily enough. */
35: extern tree pending_addressable_inlines;
36:
37: #ifdef SOS
38: /* SOS extensions. */
39: extern tree zlink_type, zret_type;
40: extern tree zlink, zret;
41: #endif
42:
43: #ifdef DEBUG_CP_BINDING_LEVELS
44: /* Purely for debugging purposes. */
45: extern int debug_bindings_indentation;
46: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.