------- Comment #27 from jason at gcc dot gnu dot org 2007-10-24 03:45 ------- Subject: Bug 25950
Author: jason Date: Wed Oct 24 03:45:37 2007 New Revision: 129596 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129596 Log: PR c++/25950 (DR 391) * call.c (struct conversion): Remove check_copy_constructor_p. (reference_binding): Always bind a reference directly to a compatible class rvalue. Pass down LOOKUP_NO_TEMP_BIND during temporary creation. (check_constructor_callable): Remove. (convert_like_real): Don't call it. (initialize_reference): Don't call check_constructor_callable. (standard_conversion): Check LOOKUP_NO_CONVERSION instead of LOOKUP_CONSTRUCTOR_CALLABLE. Don't require a temporary for base conversions if LOOKUP_NO_TEMP_BIND. (implicit_conversion): Pass through LOOKUP_NO_TEMP_BIND. (build_user_type_conversion_1): Pass through LOOKUP_NO_TEMP_BIND for second conversion. * cp-tree.h (LOOKUP_CONSTRUCTOR_CALLABLE): Remove. Added: trunk/gcc/testsuite/g++.dg/overload/reftemp1.C trunk/gcc/testsuite/g++.dg/overload/reftemp2.C Removed: trunk/gcc/testsuite/g++.dg/init/copy7.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/call.c trunk/gcc/cp/cp-tree.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25950