PR c++/25950 (DR 391)
commit57dc7a828e7e3425f638a3b760c934b2dfc6eebd
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Oct 2007 03:45:37 +0000 (24 03:45 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Oct 2007 03:45:37 +0000 (24 03:45 +0000)
treefbca0e01a3c67e9b7a3d7a0dea6fb8da66a10c03
parentc4b78efe3e56931029022ece34ede61df9abe3ac
    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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129596 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h
gcc/testsuite/g++.dg/init/copy7.C [deleted file]
gcc/testsuite/g++.dg/overload/reftemp1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/overload/reftemp2.C [new file with mode: 0644]