aboutsummaryrefslogtreecommitdiff
path: root/test/SemaTemplate/nested-template.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaTemplate/nested-template.cpp')
-rw-r--r--test/SemaTemplate/nested-template.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/test/SemaTemplate/nested-template.cpp b/test/SemaTemplate/nested-template.cpp
index 05ab3e9c1b..3adabcf934 100644
--- a/test/SemaTemplate/nested-template.cpp
+++ b/test/SemaTemplate/nested-template.cpp
@@ -1,5 +1,4 @@
// RUN: clang-cc -fsyntax-only -verify %s
-
class A;
class S {
@@ -25,6 +24,7 @@ struct Outer {
T foo(U);
template<typename V> T bar(V);
+ template<typename V> T* bar(V);
};
};
@@ -35,9 +35,6 @@ public:
void f(X, Y);
};
-#if 0
-// FIXME: These don't parse properly because we can't handle the template-name
-// "Inner0" or "Inner1" after the dependent type Outer<X>.
template<typename X>
template<typename Y>
void Outer<X>::Inner0<Y>::f(X, Y) {
@@ -66,4 +63,10 @@ template<typename Z>
X Outer<X>::Inner1<Y>::bar(Z) {
return X();
}
-#endif \ No newline at end of file
+
+template<typename X>
+template<typename Y>
+template<typename Z>
+X* Outer<X>::Inner1<Y>::bar(Z) {
+ return 0;
+}