Sync usage with man page.
[netbsd-mini2440.git] / gnu / usr.bin / g++ / cc1plus / cplus-decl.h
blobc8f47056fda118f6f05982f74fe6ea9f8c05d31f
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 TYPENAME, /* Typename (inside cast or sizeof) */
8 MEMFUNCDEF, /* Member function definition */
9 };
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;
36 #ifdef SOS
37 /* SOS extensions. */
38 extern tree zlink_type, zret_type;
39 extern tree zlink, zret;
40 #endif