aboutsummaryrefslogtreecommitdiff
path: root/test/Parser/DelayedTemplateParsing.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/Parser/DelayedTemplateParsing.cpp')
-rw-r--r--test/Parser/DelayedTemplateParsing.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/test/Parser/DelayedTemplateParsing.cpp b/test/Parser/DelayedTemplateParsing.cpp
index 355250e4b0..50cf7412cc 100644
--- a/test/Parser/DelayedTemplateParsing.cpp
+++ b/test/Parser/DelayedTemplateParsing.cpp
@@ -2,14 +2,23 @@
template <class T>
class A {
-
void foo() {
undeclared();
}
-
- void foo2();
+ void foo2();
+};
+
+template <class T>
+class B {
+ void foo4() { } // expected-note {{previous definition is here}} expected-note {{previous definition is here}}
+ void foo4() { } // expected-error {{class member cannot be redeclared}} expected-error {{redefinition of 'foo4'}} expected-note {{previous definition is here}}
};
+
+template <class T>
+void B<T>::foo4() {// expected-error {{redefinition of 'foo4'}}
+}
+
template <class T>
void A<T>::foo2() {
undeclared();
@@ -29,3 +38,5 @@ void undeclared()
}
+template <class T> void foo5() {} //expected-note {{previous definition is here}}
+template <class T> void foo5() {} // expected-error {{redefinition of 'foo5'}}