https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89953
--- Comment #15 from Marek Polacek <mpolacek at gcc dot gnu.org> --- (In reply to Marek Polacek from comment #14) > The problem is that here > 24072 /* Instantiate a dynamic exception-specification. noexcept will > be > 24073 handled below. */ > 24074 if (tree raises = TYPE_RAISES_EXCEPTIONS (TREE_TYPE > (code_pattern))) > 24075 if (TREE_VALUE (raises)) > 24076 { > 24077 specs = tsubst_exception_specification (TREE_TYPE > (code_pattern), > 24078 args, tf_error, > NULL_TREE, > 24079 /*defer_ok*/false); > > raises is NOEXCEPT_EXPR<{}>, but its TREE_VALUE is null, so we don't > substitute. ...which is fine, we should have handled this in maybe_instantiate_noexcept, it seems.