diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-22 00:55:13 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-22 00:55:13 +0000 |
commit | b53db2b0460d3adca6bfc2a37df88898f7eadb5e (patch) | |
tree | 39735fdc6d6bfc4dde92935a692a9cc0fec1a584 /gcc/cp/lex.c | |
parent | 617bd924bce3bae685a7fe3b3ac954480abef951 (diff) | |
download | gcc-b53db2b0460d3adca6bfc2a37df88898f7eadb5e.tar.gz |
* pt.c (instantiate_decl): Abort if we see a member constant
instantiation that doesn't already have its initializer.
Downgrade explicit instantiation without definition to pedwarn.
* cp-tree.h (DECL_TINFO_FN_P, SET_DECL_TINFO_FN_P): Remove.
* class.c (build_vtable_entry): Don't check DECL_TINFO_FN_P.
(import_export_decl): Check tinfo_decl_p, not DECL_TINFO_FN_P.
* cp-tree.h (CLASSTYPE_VTABLE_NEEDS_WRITING): Remove.
(pending_vtables): Remove.
* decl2.c (pending_vtables): Remove.
(import_export_vtable): Use CLASSTYPE_INTERFACE_ONLY, not
CLASSTYPE_VTABLE_NEEDS_WRITING.
(import_export_class): Likewise.
(init_decl2): Don't mark pending_vtables.
* lex.c (handle_pragma_vtable): Just sorry.
* pt.c (instantiate_class_template): Don't mess with
CLASSTYPE_VTABLE_NEEDS_WRITING.
(mark_class_instantiated): Likewise.
* ptree.c (print_lang_type): Don't print it.
* semantics.c (begin_class_definition): Don't set it.
* pt.c (template_tail): Replace with last_pending_template.
(maybe_templates, maybe_template_tail): Remove.
(add_pending_template): Adjust.
(instantiate_pending_templates): Adjust.
* cp-tree.h (struct saved_scope): Remove lang_stack field.
(current_lang_stack): Remove.
* decl.c (maybe_push_to_top_level): Don't initialize it.
(duplicate_decls): Use current_lang_depth.
(xref_basetypes): Likewise.
* class.c (current_lang_depth): New fn.
(push_lang_context): Use more varray functionality.
(pop_lang_context): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40724 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/lex.c')
-rw-r--r-- | gcc/cp/lex.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c index 690e66a38da..97f74602498 100644 --- a/gcc/cp/lex.c +++ b/gcc/cp/lex.c @@ -1078,12 +1078,8 @@ static void handle_pragma_vtable (dfile) cpp_reader *dfile ATTRIBUTE_UNUSED; { - tree vtbl = parse_strconst_pragma ("vtable", 0); - - if (vtbl && vtbl != (tree)-1) - pending_vtables = tree_cons (NULL_TREE, - get_identifier (TREE_STRING_POINTER (vtbl)), - pending_vtables); + parse_strconst_pragma ("vtable", 0); + sorry ("#pragma vtable no longer supported"); } static void |