re PR c++/89571 (ICE in nothrow_spec_p, at cp/except.c:1238)

/cp
2019-03-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/89571
	* method.c (after_nsdmi_defaulted_late_checks): Avoid passing
	error_mark_node to comp_except_specs.

/testsuite
2019-03-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/89571
	* g++.dg/cpp0x/noexcept37.C: New.

From-SVN: r269832
This commit is contained in:
Paolo Carlini 2019-03-21 01:03:30 +00:00 committed by Paolo Carlini
parent 2aecb44b40
commit c6ecc13a07
4 changed files with 22 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2019-03-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/89571
* method.c (after_nsdmi_defaulted_late_checks): Avoid passing
error_mark_node to comp_except_specs.
2019-03-20 Jason Merrill <jason@redhat.com>
PR c++/87480 - decltype of member access in default template arg

View File

@ -2274,6 +2274,9 @@ after_nsdmi_defaulted_late_checks (tree t)
continue;
tree eh_spec = get_defaulted_eh_spec (fn);
if (eh_spec == error_mark_node)
continue;
if (!comp_except_specs (TYPE_RAISES_EXCEPTIONS (TREE_TYPE (fn)),
eh_spec, ce_normal))
DECL_DELETED_FN (fn) = true;

View File

@ -1,3 +1,8 @@
2019-03-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/89571
* g++.dg/cpp0x/noexcept37.C: New.
2019-03-21 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/89017

View File

@ -0,0 +1,8 @@
// PR c++/89571
// { dg-do compile { target c++11 } }
struct A
{
int i = ; // { dg-error "expected" }
A() noexcept = default;
};