// Contributed by Dodji Seketeli // Origin: PR c++/14777 // { dg-do compile } template struct B { protected: typedef int M; // { dg-error "protected" } }; template struct A : B { typedef typename B::M N; // { dg-error "context" } A (int = N ()); }; A a = A ();