summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/visibility/assign1.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/ext/visibility/assign1.C')
-rw-r--r--gcc/testsuite/g++.dg/ext/visibility/assign1.C18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/visibility/assign1.C b/gcc/testsuite/g++.dg/ext/visibility/assign1.C
new file mode 100644
index 000000000..b25999e8e
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/visibility/assign1.C
@@ -0,0 +1,18 @@
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "_ZN1DaSERKS_" } } */
+
+struct B {
+ B& operator=(const B&);
+};
+
+struct __attribute__((visibility("hidden"))) D : public B {
+ // The implicit assignment operator should be hidden.
+};
+
+__attribute__((visibility("hidden"))) D d1;
+__attribute__((visibility("hidden"))) D d2;
+
+void f() {
+ d1 = d2;
+}