OSDN Git Service

* pt.c (instantiate_decl): Abort if we see a member constant
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Mar 2001 00:55:13 +0000 (00:55 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Mar 2001 00:55:13 +0000 (00:55 +0000)
commitb53db2b0460d3adca6bfc2a37df88898f7eadb5e
tree39735fdc6d6bfc4dde92935a692a9cc0fec1a584
parent617bd924bce3bae685a7fe3b3ac954480abef951
    * 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
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/lex.c
gcc/cp/optimize.c
gcc/cp/pt.c
gcc/cp/ptree.c
gcc/cp/rtti.c
gcc/cp/semantics.c