https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98515
Bug ID: 98515 Summary: Possible regression causing "is protected within this context" error Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: belegdol at gmail dot com Target Milestone: --- mame-0.227 has failed to compile with gcc-11 in Fedora 34 [1] (gcc-11.0.0-0.11.fc34). mame developers have kindly provided a minimal test case. This fails with gcc-11 but works on class A { public: A() = default; protected: int var0 = 0; }; template<int a> class B : public A { public: using A::A; }; template<int a, int b> class C : public B<a> { public: using B<a>::B; void g(); }; template<int a, int b> void C<a, b>::g() { A::var0++; } template class C<0, 0>; While this works: class A { public: A() = default; protected: int var0 = 0; }; template<int a> class B : public A { public: using A::A; }; template<int a, int b> class C : public B<a> { public: using B<a>::B; void g() { A::var0++; } }; template class C<0, 0>; [1] https://github.com/mamedev/mame/issues/7616