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]

[Bug c++/11493] [3.4 regression] tree check ICE in error.c


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11493


mueller at kde dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mark at codesourcery dot com


------- Additional Comments From mueller at kde dot org  2003-07-10 20:56 -------
most likely this commit is producing the regression. Currently testing without 
it to be sure.  
 
2003-07-08  Mark Mitchell  <mark@codesourcery.com> 
 
        * cp-tree.def (NON_DEPENDENT_EXPR): New node. 
        * cp-tree.h (build_call_from_tree): Remove. 
        (build_member_call): Likewise. 
        (dependent_template_arg_p): Remove. 
        (any_dependent_template_arguments_p): New function. 
        (dependent_template_id_p): Likewise. 
        (any_type_dependent_arguments_p): Likewise. 
        (build_non_dependent_expr): Likewise. 
        (build_non_dependent_args): Likewise. 
        (build_x_compound_expr): Adjust prototype. 
        * call.c (build_new_method_call): Handle non-dependent expressions 
        correctly. 
        * decl2.c (grok_array_decl): Likewise. 
        (build_offset_ref_call_from_tree): Likewise. 
        (build_call_from_tree): Remove. 
        * error.c (dump_decl): Handle NON_DEPENDENT_EXPR. 
        (dump_expr): Likewise. 
        * init.c (build_member_call): Remove. 
        * mangle.c (write_expression): Update handling for template-ids. 
        * parser.c (cp_parser_primary_expression): Use 
        any_dependent_template_arguments_p.  Update constant-expression 
        handling. 
        (cp_parser_postfix_expression): Use 
        any_type_dependent_arguments_p.  Simplify call processing. 
        (cp_parser_unary_expression): Simplify. 
        (cp_parser_expression): Adjust for changes to 
        build_x_compound_expr. 
        (cp_parser_template_argument): Implement standard-conforming 
        parsing of non-type template arguments. 
        (cp_parser_direct_declarator): Use 
        cp_parser_fold_non_dependent_expr. 
        (cp_parser_fold_non_dependent_expr): New function. 
        (cp_parser_next_token_ends_template_argument_p): Likewise. 
        * pt.c (convert_template_argument): Do not call 
        maybe_fold_nontype_arg. 
        (tsubst_baselink): Likewise. 
        (tsubst_copy_and_build): Share common code.  Make sizeof/alignof 
        processing work correctly for non-dependent expressions.  Adjust 
        handling of COMPOUND_EXPR.  Simplify call processing. 
        (value_dependent_expression_p): Deal with functional casts and 
        sizeof/alignof correctly. 
        (type_dependent_expression_p): Handle overloaded functions. 
        (any_type_dependent_arguments_p): New function. 
        (any_dependent_template_arguments_p): Likewise. 
        (dependent_template_p): Treat SCOPE_REFs as dependent. 
        (dependent_template_id_p): Simplify. 
        (build_non_dependent_expr): New function. 
        (build_non_dependent_args): Likewise. 
        * semantics.c (finish_stmt_expr): Don't make dependent 
        statement-expresions have void type. 
        (finish_call_expr): Handle non-dependent expressions 
        correctly. 
        * tree.c (lvalue_p_1): Treat NON_DEPENDENT_EXPRs as lvalues. 
        * typeck.c (cxx_sizeof_or_alignof_type): Give the expression 
        type size_t, even in templates. 
        (expr_sizeof): Likewise. 
        (finish_class_member_access_expr): Handle non-dependent expressions 
        correctly. 
        (build_x_indirect_ref): Likewise. 
        (build_x_binary_op): Likewise. 
        (build_x_unary_op): Likewise. 
        (build_x_conditional_expr): Likewise. 
        (build_x_compound_expr): Likewise. 
        * typeck2.c (build_x_arrow): Likewise.


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