// PR c++/21008, DR 515 struct A { int foo_; }; template struct B: public A { }; template struct C: B { int foo() { return A::foo_; // #1 } }; int f(C* p) { return p->foo(); }