summaryrefslogtreecommitdiff
path: root/test/SemaTemplate/instantiate-using-decl.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2013-12-22 00:07:40 +0000
committerDimitry Andric <dim@FreeBSD.org>2013-12-22 00:07:40 +0000
commitbfef399519ca9b8a4b4c6b563253bad7e0eeffe0 (patch)
treedf8df0b0067b381eab470a3b8f28d14a552a6340 /test/SemaTemplate/instantiate-using-decl.cpp
parent6a0372513edbc473b538d2f724efac50405d6fef (diff)
Diffstat (limited to 'test/SemaTemplate/instantiate-using-decl.cpp')
-rw-r--r--test/SemaTemplate/instantiate-using-decl.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/SemaTemplate/instantiate-using-decl.cpp b/test/SemaTemplate/instantiate-using-decl.cpp
index 1bfcb7a86508..a6a4ea0e0f6d 100644
--- a/test/SemaTemplate/instantiate-using-decl.cpp
+++ b/test/SemaTemplate/instantiate-using-decl.cpp
@@ -80,3 +80,27 @@ namespace test3 {
b.f1();
}
}
+
+namespace PR16936 {
+ // Make sure both using decls are properly considered for
+ // overload resolution.
+ template<class> struct A {
+ void access(int);
+ };
+ template<class> struct B {
+ void access();
+ };
+ template<class CELL> struct X : public A<CELL>, public B<CELL> {
+ using A<CELL>::access;
+ using B<CELL>::access;
+
+ void f() {
+ access(0);
+ }
+ };
+
+ void f() {
+ X<int> x;
+ x.f();
+ }
+}