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.