https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120775
--- Comment #12 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #11)
> The #c8 ICE can be reduced to
>
> constexpr void foo () { if consteval { static constexpr auto a = ^^::; } }
> auto bar () { return &foo; }
>
> or
>
> template <typename T> struct S { static constexpr auto s = ^^T; void foo ()
> { constexpr auto s = ^^T; } };
> template struct S <int>;
>
> The first ICE is during mangling, where we try to mangle the foo::a static
> variable, the second ICE is trying to output the S<int>::s variable.
I'll take a look at the latter now.