diff --git a/test/SemaTemplate/class-template-decl.cpp b/test/SemaTemplate/class-template-decl.cpp index 4f861dea70586d0e77339dc35f6643866cdd42b1..63482d84df0c9c4c431f61045235c786e68e6f54 100644 --- a/test/SemaTemplate/class-template-decl.cpp +++ b/test/SemaTemplate/class-template-decl.cpp @@ -152,3 +152,10 @@ void DontCrashOnThis() { T &pT = T(); pT; } + +namespace abstract_dependent_class { + template<typename T> struct A { + virtual A<T> *clone() = 0; // expected-note {{pure virtual}} + }; + template<typename T> A<T> *A<T>::clone() { return new A<T>; } // expected-error {{abstract class type 'A<T>'}} +}