https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88368
--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> --- Author: jason Date: Wed Feb 20 02:00:29 2019 New Revision: 269032 URL: https://gcc.gnu.org/viewcvs?rev=269032&root=gcc&view=rev Log: PR c++/88368 - wrong 'use of deleted function' Since my patch for 81359 allowed us to signal failure on return from maybe_instantiate_noexcept, we no longer need to turn an error into noexcept(false). We also need to handle NSDMI instantiation errors under synthesized_method_walk. This change caused some instantiation context notes to be lost in the testsuite, so I added push_tinst_level to get_defaulted_eh_spec to restore that context. * method.c (walk_field_subobs): Remember errors from get_nsdmi. (get_defaulted_eh_spec): Call push_tinst_level. * pt.c (maybe_instantiate_noexcept): Keep error_mark_node. * typeck2.c (merge_exception_specifiers): Handle error_mark_node. Added: trunk/gcc/testsuite/g++.dg/ext/is_constructible3.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/method.c trunk/gcc/cp/pt.c trunk/gcc/cp/typeck2.c trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi3.C