summaryrefslogtreecommitdiff
path: root/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p12.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2016-07-23 20:44:14 +0000
committerDimitry Andric <dim@FreeBSD.org>2016-07-23 20:44:14 +0000
commit2b6b257f4e5503a7a2675bdb8735693db769f75c (patch)
treee85e046ae7003fe3bcc8b5454cd0fa3f7407b470 /test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p12.cpp
parentb4348ed0b7e90c0831b925fbee00b5f179a99796 (diff)
Notes
Diffstat (limited to 'test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p12.cpp')
-rw-r--r--test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p12.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p12.cpp b/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p12.cpp
index cc28bf6c28c4c..ce43720cb2d3e 100644
--- a/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p12.cpp
+++ b/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p12.cpp
@@ -1,3 +1,5 @@
+// RUN: %clang_cc1 -fsyntax-only -verify -std=c++98 %s
+// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
// RUN: %clang_cc1 -fsyntax-only -verify %s
// C++03 [namespace.udecl]p12:
@@ -161,3 +163,33 @@ namespace test4 {
d.bar<int>(3); // expected-error {{'bar' is a protected member}}
}
}
+
+namespace test5 {
+ struct Derived;
+ struct Base {
+ void operator=(const Derived&);
+ };
+ struct Derived : Base {
+ // Hidden by implicit derived class operator.
+ using Base::operator=;
+ };
+ void f(Derived d) {
+ d = d;
+ }
+}
+
+#if __cplusplus >= 201103L
+namespace test6 {
+ struct Derived;
+ struct Base {
+ void operator=(Derived&&);
+ };
+ struct Derived : Base {
+ // Hidden by implicit derived class operator.
+ using Base::operator=;
+ };
+ void f(Derived d) {
+ d = Derived();
+ }
+}
+#endif