aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/abi/thunk6.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/abi/thunk6.C')
-rw-r--r--gcc-4.9/gcc/testsuite/g++.dg/abi/thunk6.C19
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/abi/thunk6.C b/gcc-4.9/gcc/testsuite/g++.dg/abi/thunk6.C
new file mode 100644
index 000000000..6df51c24b
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/g++.dg/abi/thunk6.C
@@ -0,0 +1,19 @@
+// PR c++/60566
+// We need to emit the construction vtable thunk for ~C even if we aren't
+// going to use it.
+
+struct A
+{
+ virtual void f() = 0;
+ virtual ~A() {}
+};
+
+struct B: virtual A { int i; };
+struct C: virtual A { int i; ~C(); };
+
+C::~C() {}
+
+int main() {}
+
+// { dg-final { scan-assembler "_ZTv0_n32_N1CD1Ev" { target lp64 } } }
+// { dg-final { scan-assembler "_ZTv0_n16_N1CD1Ev" { target ilp32 } } }