// RUN: %clang_cc1 -fsyntax-only -verify %s // expected-no-diagnostics template struct A { static T cond; template struct B { static T twice(U value) { return (cond ? value + value : value); } }; }; extern template bool A::cond; int foo() { A::cond = true; return A::B::twice(4); } namespace PR6376 { template struct X { template struct Y1 { }; // }; template<> struct X { template struct Y1 { }; }; template struct Z : public X::template Y1 { }; Z z0; }