* 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
Showing
- gcc/cp/ChangeLog 37 additions, 1 deletiongcc/cp/ChangeLog
- gcc/cp/class.c 12 additions, 15 deletionsgcc/cp/class.c
- gcc/cp/cp-tree.h 4 additions, 25 deletionsgcc/cp/cp-tree.h
- gcc/cp/decl.c 2 additions, 5 deletionsgcc/cp/decl.c
- gcc/cp/decl2.c 5 additions, 10 deletionsgcc/cp/decl2.c
- gcc/cp/lex.c 2 additions, 6 deletionsgcc/cp/lex.c
- gcc/cp/optimize.c 1 addition, 1 deletiongcc/cp/optimize.c
- gcc/cp/pt.c 28 additions, 56 deletionsgcc/cp/pt.c
- gcc/cp/ptree.c 0 additions, 2 deletionsgcc/cp/ptree.c
- gcc/cp/rtti.c 1 addition, 1 deletiongcc/cp/rtti.c
- gcc/cp/semantics.c 0 additions, 6 deletionsgcc/cp/semantics.c
Loading
Please register or sign in to comment