summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2012-08-24 20:38:34 +0000
committerJohn McCall <rjmccall@apple.com>2012-08-24 20:38:34 +0000
commit7d8b041999de90486369474d22448fb05ca63f9b (patch)
tree81190ce9c7f1070f4f78ad0747f843a5ed69984f /clang/test
parent49a37bbb9ffa1a74db62d222a7d02c64b0d9588d (diff)
downloadbcm5719-llvm-7d8b041999de90486369474d22448fb05ca63f9b.tar.gz
bcm5719-llvm-7d8b041999de90486369474d22448fb05ca63f9b.zip
Instantiate class template specializations during ADL.
llvm-svn: 162586
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p2.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p2.cpp b/clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p2.cpp
index f5ad68b75bd..df9a2cd14cd 100644
--- a/clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p2.cpp
+++ b/clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p2.cpp
@@ -108,3 +108,27 @@ namespace test6 {
test6_function(args);
}
}
+
+// PR13682: we might need to instantiate class temploids.
+namespace test7 {
+ namespace inner {
+ class A {};
+ void test7_function(A &);
+ }
+ template <class T> class B : public inner::A {};
+
+ void test(B<int> &ref) {
+ test7_function(ref);
+ }
+}
+
+// Like test7, but ensure we don't complain if the type is properly
+// incomplete.
+namespace test8 {
+ template <class T> class B;
+ void test8_function(B<int> &);
+
+ void test(B<int> &ref) {
+ test8_function(ref);
+ }
+}
OpenPOWER on IntegriCloud