From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19362 invoked by alias); 3 Mar 2003 21:56:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 19343 invoked by uid 71); 3 Mar 2003 21:56:01 -0000 Date: Mon, 03 Mar 2003 21:56:00 -0000 Message-ID: <20030303215601.19342.qmail@sources.redhat.com> To: mmitchel@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: mmitchel@gcc.gnu.org Subject: c++/9878 Reply-To: mmitchel@gcc.gnu.org X-SW-Source: 2003-03/txt/msg00120.txt.bz2 List-Id: The following reply was made to PR c++/9878; it has been noted by GNATS. From: mmitchel@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: c++/9878 Date: 3 Mar 2003 21:55:25 -0000 CVSROOT: /cvs/gcc Module name: gcc Changes by: mmitchel@gcc.gnu.org 2003-03-03 21:55:25 Modified files: gcc/cp : ChangeLog call.c class.c cp-tree.h cvt.c decl.c typeck.c typeck2.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/g++.dg/init: ref1.C Log message: PR c++/9878 * call.c (convert_class_to_reference): Correct conversion sequences. (reference_binding): Add ref_bound_directly_to_rvalue_p parameter. (implicit_conversion): Adjust call to reference_binding. (add_candidate): Change type of candidates parameter. (add_function_candidate): Likewise. (add_conv_candidate): Likewise. (build_builtin_candidate): Likewise. (add_builtin_candidate): Likewise. (add_builtin_candidates): Likewise. (add_template_candidate_real): Likewise. (add_template_candidate): Likewise. (add_template_conv_candidate): Likewise. (build_user_type_conversion_1): Adjust accordingly. (build_object_call): Likewise. (build_conditional_expr): Likewise. (add_candidates): Likewise. (build_new_op): Likewise. (convert_like_real): Use USER_CONV_CAND. Use build_nop. (build_new_method_call): Adjust calls to add_function_candidate. (make_temporary_var_for_ref_to_temp): New function. (initialize_reference): Add decl parameter. * class.c (build_rtti_vtbl_entries): Use build_address and build_nop. * cp-tree.h (initialize_reference): Change prototype. (make_temporary_var_for_ref_to_temp): New function. (build_type_conversion): Change prototype. (build_address): New function. (build_nop): Likewise. * cvt.c (cp_convert_to_pointer): Adjust call to build_type_conversion. Avoid indicating redundant NOP_EXPRs. Use build_nop. (convert_to_pointer_force): Use build_nop. (build_up_reference): Use make_temporary_var_for_ref_to_temp. (convert_to_reference): Adjust call to build_type_conversion. (ocp_convert): Likewise. (build_type_conversion): Remove for_sure parameter. * decl.c (grok_reference_init): Use initialize_reference. * typeck.c (build_address): New function. (build_nop): Likewise. (build_unary_op): Use them. (build_ptrmemfunc): Tidy slightly. (convert_for_initialization): Adjust call to initialize_reference. * typeck2.c (store_init_value): Remove #if 0'd code. PR c++/9878 * g++.dg/init/ref1.C: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3227&r2=1.3228 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/call.c.diff?cvsroot=gcc&r1=1.357&r2=1.358 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&r1=1.523&r2=1.524 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.816&r2=1.817 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cvt.c.diff?cvsroot=gcc&r1=1.132&r2=1.133 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.1010&r2=1.1011 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/typeck.c.diff?cvsroot=gcc&r1=1.450&r2=1.451 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/typeck2.c.diff?cvsroot=gcc&r1=1.138&r2=1.139 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2462&r2=1.2463 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/init/ref1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1