PR c++/81311 - wrong C++17 overload resolution.
commitb248e783b3fc67e21fd0abb9ce4c9ee6d8b2fd20
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Mar 2018 03:53:19 +0000 (22 03:53 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Mar 2018 03:53:19 +0000 (22 03:53 +0000)
tree6b4bcfc8fdc60cb68fbaa3f0e74410d3c388fd6c
parent4d24e3e24bae621f460d059d2a9fea7f2e32b0c0
PR c++/81311 - wrong C++17 overload resolution.

* call.c (build_user_type_conversion_1): Remove C++17 code.
(conv_binds_ref_to_prvalue): New.
(build_over_call): Handle C++17 copy elision.
(build_special_member_call): Only do C++17 copy elision here if the
argument is already the right type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258755 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/testsuite/g++.dg/overload/conv-op2.C [new file with mode: 0644]