// PR c++/14777 template struct B { protected: typedef int M; }; template struct A : B { typedef typename B::M N; A (int = N ()); }; A a = A ();