summaryrefslogtreecommitdiff
path: root/test/SemaTemplate/nested-template.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-11-01 21:35:16 +0000
committerDouglas Gregor <dgregor@apple.com>2011-11-01 21:35:16 +0000
commitea9f54aefc0cbf963df8b79028775a39bcf7393f (patch)
tree2330744503c8aa788cee39bb1238a54f85706273 /test/SemaTemplate/nested-template.cpp
parent5d8b9548420e67f1bf45b7bbc1cf9fb86e9e4505 (diff)
downloadclang-ea9f54aefc0cbf963df8b79028775a39bcf7393f.tar.gz
When we see an out-of-line definition of a member class template that
does not match any declaration in the class (or class template), be sure to mark it as invalid. Fixes PR10924 / <rdar://problem/10119422>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143504 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaTemplate/nested-template.cpp')
-rw-r--r--test/SemaTemplate/nested-template.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/SemaTemplate/nested-template.cpp b/test/SemaTemplate/nested-template.cpp
index ab647aa226..7849bae4d5 100644
--- a/test/SemaTemplate/nested-template.cpp
+++ b/test/SemaTemplate/nested-template.cpp
@@ -142,3 +142,16 @@ namespace PR10896 {
f.foo();
}
}
+
+namespace PR10924 {
+ template< class Topology, class ctype >
+ struct ReferenceElement
+ {
+ };
+
+ template< class Topology, class ctype >
+ template< int codim >
+ class ReferenceElement< Topology, ctype > :: BaryCenterArray // expected-error{{out-of-line definition of 'BaryCenterArray' does not match any declaration in 'ReferenceElement<Topology, ctype>'}}
+ {
+ };
+}