https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79533
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- commit c821ae1a57320c4b1ba47afef6136b534f830351 Author: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Sat Oct 8 16:23:26 2016 +0000 Further P0135 refinement. * call.c (build_user_type_conversion_1): Consider conversions from a single element in an initializer-list. (build_temp): Undo early_elide_copy change. (build_over_call): Check that we don't try to copy a TARGET_EXPR in C++17 mode. Set user_conv_p here. (convert_like_real): Not here. (check_self_delegation): Split out from... (build_special_member_call): ...here. Handle C++17 copy elision. * cvt.c (early_elide_copy): Remove. (ocp_convert): Undo early_elide_copy change. * except.c (build_throw): Likewise. * init.c (expand_default_init): Likewise. * typeck.c (cp_build_modify_expr): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240889 138bc75d-0d04-0410-961f-82ee72b054a4