https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96380
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #2)
> extern const int a, b;
> enum struct c;
> template <class>
> enum struct c : union enum struct c { e = b, f = a };
> enum class c {};
>
> ICEs even without -fpermissive.
>
> And
> extern const int a, b;
> enum struct c;
> template <class>
> enum struct c : union enum struct c { e = b, f = a };
> is accepted for some reason, even when for e.g.
> template <class>
> enum E : int { F };
> we reject it:
> error: template declaration of ‘enum E’
>
> Marek, have you made any progress on this?
Not yet, sorry. Hopefully this week then.