summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2015-12-19 03:12:14 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2015-12-19 03:12:14 +0000
commitac9f5a9c147b0b8e29deaf546a1ef81f33f10b24 (patch)
tree8539acf689b9f1decaa528a9c3b1de629b63eb02
parentffc1a5aef77a61bf1c6a38a6c1700e0a5799a3f1 (diff)
downloadbcm5719-llvm-ac9f5a9c147b0b8e29deaf546a1ef81f33f10b24.tar.gz
bcm5719-llvm-ac9f5a9c147b0b8e29deaf546a1ef81f33f10b24.zip
Test for diagnostic quality improvement in r256049.
llvm-svn: 256083
-rw-r--r--clang/test/SemaTemplate/class-template-decl.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/class-template-decl.cpp b/clang/test/SemaTemplate/class-template-decl.cpp
index 4f861dea705..63482d84df0 100644
--- a/clang/test/SemaTemplate/class-template-decl.cpp
+++ b/clang/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>'}}
+}
OpenPOWER on IntegriCloud