summaryrefslogtreecommitdiff
path: root/gnu/egcs/gcc/cp/decl.c
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>1999-07-18 17:24:56 +0000
committerMarc Espie <espie@cvs.openbsd.org>1999-07-18 17:24:56 +0000
commitff3432c423a73d62e3baaedbba3dd9f99f7c8b75 (patch)
tree4dfcf66486f82bf599292e91f5f458593bf53006 /gnu/egcs/gcc/cp/decl.c
parentd853a9ffbf5a469e8a4bd03f3c3e7878dd6a932c (diff)
Merge
Diffstat (limited to 'gnu/egcs/gcc/cp/decl.c')
-rw-r--r--gnu/egcs/gcc/cp/decl.c10
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);
}
}
}