------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-12-08 
08:36 -------
Subject: Bug 18803

CVSROOT:        /cvs/gcc
Module name:    gcc
Changes by:     [EMAIL PROTECTED]       2004-12-08 08:36:10

Modified files:
        gcc/cp         : ChangeLog call.c class.c cp-tree.h cvt.c decl.c 
                         decl2.c except.c init.c parser.c pt.c rtti.c 
                         semantics.c typeck.c typeck2.c 
        gcc/testsuite  : ChangeLog 
Added files:
        gcc/testsuite/g++.dg/template: operator5.C 

Log message:
        cp:
        PR c++/18803
        * cp-tree.h (REFERENCE_REF_P): New.
        (CPTI_TYPE_INFO_TYPE): Rename to ...
        (CPTI_CONST_TYPE_INFO_TYPE): ... here.
        (CPTI_TYPE_INFO_REF_TYPE): Remove.
        (type_info_type_node): Rename to ...
        (const_type_info_type_node): ... here.
        (type_info_ref_type): Remove.
        * call.c (build_user_type_conversion): Reformat.
        (resolve_args): Do not convert_from_reference.
        (build_object_call): Call convert_from_reference.
        (prep_operand): Do not convert_from_reference.
        (build_new_method_call): Likewise.
        * class.c (build_vfield_ref): Likewise.
        * cvt.c (convert_to_reference): Likewise.
        (convert_from_reference): Build INDIRECT_REF here, not with
        build_indirect_ref.
        (convert_force): Do not convert_from_reference.
        (build_expr_type_conversion): Likewise.
        * decl.c (grok_reference_init): Likewise.
        * decl2.c (delete_sanity): Likewise.
        * except.c (initialize_handler_parm): Use POINTER_TYPE_P.
        * init.c (build_dtor_call): Do not convert_from_reference.
        * parser.c (cp_parser_template_argument): Unwrap indirected
        reference. Allow TEMPLATE_PARM_INDEX as an object parm.
        * pt.c (tsubst_copy_and_build) <case INDIRECT_REF>: Use
        convert_from_reference, if indicated.
        <case CALL_EXPR>: Do not convert_from_reference.
        <case PARM_DECL, VAR_DECL>: Convert_from_reference if needed.
        (tsubst_initializer_list): Do not convert_from_reference.
        * rtti.c (init_rtti_processing): Adjust node creation.
        (throw_bad_typeid): Use const_type_info_type_node.
        Do not convert_from_reference.
        (typeid_ok_p): Use const_type_info_type_node.
        (build_typeid, get_typeid): Always return type_info typed node.
        (build_dynamic_cast_1): Dont convert_from_reference. Refactor.
        * semantics.c (finish_stmt_expr_expr): Do not
        convert_from_reference.
        (finish_id_expression): Convert_from_reference as appropriate.
        * typeck.c (decay_conversion): Do not convert_from_reference.
        (finish_class_member_access_expr): Likewise.
        (build_indirect_ref): Use POINTER_TYPE_P.
        (convert_arguments): Do not convert_from_reference.
        (build_modify_expr): Likewise.
        (convert_for_initialization): Likewise.
        * typeck2.c (build_x_arrow): Likewise.
        testsuite:
        PR c++/18803
        * g++.dg/template/operator5.C: New.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4519&r2=1.4520
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/call.c.diff?cvsroot=gcc&r1=1.521&r2=1.522
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&r1=1.691&r2=1.692
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.1079&r2=1.1080
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cvt.c.diff?cvsroot=gcc&r1=1.172&r2=1.173
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.1338&r2=1.1339
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&r1=1.759&r2=1.760
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/except.c.diff?cvsroot=gcc&r1=1.177&r2=1.178
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/init.c.diff?cvsroot=gcc&r1=1.402&r2=1.403
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&r1=1.289&r2=1.290
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.955&r2=1.956
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/rtti.c.diff?cvsroot=gcc&r1=1.204&r2=1.205
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&r1=1.451&r2=1.452
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/typeck.c.diff?cvsroot=gcc&r1=1.600&r2=1.601
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/typeck2.c.diff?cvsroot=gcc&r1=1.179&r2=1.180
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.4721&r2=1.4722
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/operator5.C.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


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

Reply via email to