https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84733
--- Comment #10 from Paolo Carlini <paolo.carlini at oracle dot com> --- In fact, if I slightly tweak the testcase to avoid the error by defining 'e' we would ICE again, because binding->type is found null without a preceding diagnostic. Thus I wonder if my patchlet in Comment 7 is actually correct or is papering over a deeper issue?!? struct c { ~c(); } b; void f() { try { d: ; } catch (int) { } decltype(b) a; int e; struct e { } f; }