1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
// { dg-do assemble } // { dg-options "-fpermissive" } class A { protected: void f1() {}; }; template <class T> class B : private A { protected: using A::f1; }; template <class T> class D : private B<T> { public: void f2() { f1(); }; // { dg-warning "" } };