PR c++/81311 - wrong C++17 overload resolution.
authorJason Merrill <jason@redhat.com>
Thu, 22 Mar 2018 03:53:19 +0000 (23:53 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Thu, 22 Mar 2018 03:53:19 +0000 (23:53 -0400)
commit2170d4b6ddca526b53e87215dbf6fab5973000c7
tree6b4bcfc8fdc60cb68fbaa3f0e74410d3c388fd6c
parenta0e46153b65cf6e2f3b78e1647d9ed9dbcc8677f
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.

From-SVN: r258755
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/testsuite/g++.dg/overload/conv-op2.C [new file with mode: 0644]