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

Reply via email to