https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89914
--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> --- There are a couple of places in semantics.c where we call maybe_instantiate_noexcept and then, without checking that it returns true, we proceed to use TYPE_NOTHROW_P, which expands to nothrow_spec_p. I think we need a fall-back, probably false, consistently with r269746. Doing that certainly avoids this kind of ICE.