summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/abi/mangle31.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/abi/mangle31.C')
-rw-r--r--gcc/testsuite/g++.dg/abi/mangle31.C35
1 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/abi/mangle31.C b/gcc/testsuite/g++.dg/abi/mangle31.C
new file mode 100644
index 000000000..4be2e0b03
--- /dev/null
+++ b/gcc/testsuite/g++.dg/abi/mangle31.C
@@ -0,0 +1,35 @@
+// PR c++/39095
+// { dg-do compile }
+
+struct B
+{
+ int b;
+};
+
+struct A
+{
+ B *operator->();
+ A ();
+ B b;
+};
+
+A::A ()
+{
+}
+
+B *
+A::operator->()
+{
+ return &b;
+}
+
+A a;
+
+int
+foo ()
+{
+ return a->b;
+}
+
+// { dg-final { scan-assembler "_ZN1AptEv" } }
+// { dg-final { scan-assembler-not "_ZN1AdtEv" } }