This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c++/9820: [3.3/3.4 regression] ice in build_baselink (templates)


Between 2002-10-30 and 2002-12-24, the mainline and the 3.3
branch (after its creation) compiled the test case with no
error message, and then the error message came back, along
with the ICE.

The patch that caused the test case to compile successfully:

2002-10-30  Kriang Lerdsuwanakij  <lerdsuwa at users dot sourceforge dot net>

        Core issue 287, PR c++/7639
        * cp-tree.h (lang_type_class): Add decl_list field.
        (CLASSTYPE_DECL_LIST): New macro.
        (maybe_add_class_template_decl_list): Add declaration.
        * class.c (duplicate_tag_error): Initialize CLASSTYPE_DECL_LIST.

        (unreverse_member_declarations): Reverse CLASSTYPE_DECL_LIST.
        (maybe_add_class_template_decl_list): New function.
        (add_implicitly_declared_members): Use it.
        * decl.c (maybe_process_template_type_declaration): Likewise.
        (pushtag): Likewise.
        * friend.c (add_friend): Likewise.
        (make_friend_class): Likewise.
        * semantics.c (finish_member_declaration): Likewise.
        (begin_class_definition): Initialize CLASSTYPE_DECL_LIST.
        * pt.c (instantiate_class_template): Use CLASSTYPE_DECL_LIST
        to process members and friends in the order of declaration.

The patch to mainline and 3.3-branch that brought back the
error message, plus the ICE:

2002-12-24  Nathan Sidwell  <nathan at codesourcery dot com>

        PR C++/7964
        * cp-tree.h (resolve_scoped_fn_name): Prototype.
        * call.c (resolve_scoped_fn_name): New function. Deal with
        more template expansion. Broken out of ...
        * parse.y (parse_finish_call_expr): ... here. Call it.
        * decl2.c (build_expr_from_tree, CALL_EXPR): Use
        resolve_scoped_fn_name and build_call_from_tree.

The regression hunt used the original test case, not the
very short one that Wolfgang provided.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9820




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]