aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/except.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2020-01-13 18:13:46 -0500
committerJason Merrill <jason@redhat.com>2020-01-13 20:30:18 -0500
commitedabbec31e3bfc9a9757f80c8610706ed00e5a1a (patch)
tree065b4bf6ed94b2de06417a2db1aa6e5cdf9e4111 /gcc/cp/except.c
parent8ca4435f431f9b8049ebf102b5659f2d3e7be198 (diff)
downloadgcc-edabbec31e3bfc9a9757f80c8610706ed00e5a1a.zip
gcc-edabbec31e3bfc9a9757f80c8610706ed00e5a1a.tar.gz
gcc-edabbec31e3bfc9a9757f80c8610706ed00e5a1a.tar.bz2
PR c++/92746 - ICE with noexcept of function concept check.
Another place that needs to specially handle Concepts TS function-style concepts. * except.c (check_noexcept_r): Handle concept-check.
Diffstat (limited to 'gcc/cp/except.c')
-rw-r--r--gcc/cp/except.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cp/except.c b/gcc/cp/except.c
index e073bd4..55b4b6a 100644
--- a/gcc/cp/except.c
+++ b/gcc/cp/except.c
@@ -1117,6 +1117,8 @@ check_noexcept_r (tree *tp, int * /*walk_subtrees*/, void * /*data*/)
We could use TREE_NOTHROW (t) for !TREE_PUBLIC fns, though... */
tree fn = cp_get_callee (t);
+ if (concept_check_p (fn))
+ return NULL_TREE;
tree type = TREE_TYPE (fn);
gcc_assert (INDIRECT_TYPE_P (type));
type = TREE_TYPE (type);