diff options
author | Marc Espie <espie@cvs.openbsd.org> | 1999-07-18 17:24:56 +0000 |
---|---|---|
committer | Marc Espie <espie@cvs.openbsd.org> | 1999-07-18 17:24:56 +0000 |
commit | ff3432c423a73d62e3baaedbba3dd9f99f7c8b75 (patch) | |
tree | 4dfcf66486f82bf599292e91f5f458593bf53006 /gnu/egcs/gcc/cp/decl.c | |
parent | d853a9ffbf5a469e8a4bd03f3c3e7878dd6a932c (diff) |
Merge
Diffstat (limited to 'gnu/egcs/gcc/cp/decl.c')
-rw-r--r-- | gnu/egcs/gcc/cp/decl.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gnu/egcs/gcc/cp/decl.c b/gnu/egcs/gcc/cp/decl.c index 291c5df52b3..8afa043173c 100644 --- a/gnu/egcs/gcc/cp/decl.c +++ b/gnu/egcs/gcc/cp/decl.c @@ -63,8 +63,6 @@ extern tree global_namespace; extern void (*print_error_function) PROTO((char *)); extern int (*valid_lang_attribute) PROTO ((tree, tree, tree, tree)); -/* Stack of places to restore the search obstack back to. */ - /* Obstack used for remembering local class declarations (like enums and static (const) members. */ #include "stack.h" @@ -2420,6 +2418,7 @@ struct saved_scope { tree previous_class_type, previous_class_values; int processing_specialization; int processing_explicit_instantiation; + char *class_cache_firstobj; }; static struct saved_scope *current_saved_scope; @@ -2537,6 +2536,7 @@ maybe_push_to_top_level (pseudo) s->processing_template_decl = processing_template_decl; s->previous_class_type = previous_class_type; s->previous_class_values = previous_class_values; + s->class_cache_firstobj = class_cache_firstobj; s->processing_specialization = processing_specialization; s->processing_explicit_instantiation = processing_explicit_instantiation; @@ -2552,6 +2552,7 @@ maybe_push_to_top_level (pseudo) shadowed_labels = NULL_TREE; minimal_parse_mode = 0; previous_class_type = previous_class_values = NULL_TREE; + class_cache_firstobj = 0; processing_specialization = 0; processing_explicit_instantiation = 0; current_template_parms = NULL_TREE; @@ -2623,6 +2624,7 @@ pop_from_top_level () previous_class_values = s->previous_class_values; processing_specialization = s->processing_specialization; processing_explicit_instantiation = s->processing_explicit_instantiation; + class_cache_firstobj = s->class_cache_firstobj; free (s); @@ -4443,7 +4445,7 @@ push_class_level_binding (name, x) IDENTIFIER_CLASS_VALUE. */ if (push_class_binding (name, x)) { - maybe_push_cache_obstack (); + push_cache_obstack (); class_binding_level->class_shadowed = tree_cons (name, IDENTIFIER_CLASS_VALUE (name), class_binding_level->class_shadowed); @@ -8128,7 +8130,7 @@ cp_finish_decl (decl, init, asmspec_tree, need_pop, flags) else if (! DECL_ARTIFICIAL (decl)) { cp_warning_at ("sorry: semantics of inline function static data `%#D' are wrong (you'll wind up with multiple copies)", decl); - cp_warning_at (" you can work around this by removing the initializer"), decl; + cp_warning_at (" you can work around this by removing the initializer", decl); } } } |