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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269032 138bc75d-0d04-0410-961f-82ee72b054a4
6 files changed