C++ PATCH for c++/60566 (dtor devirtualization and missing thunks)
Jakub Jelinek
jakub@redhat.com
Fri Mar 28 10:48:00 GMT 2014
On Fri, Mar 28, 2014 at 10:06:45AM +0100, Rainer Orth wrote:
> > FAIL: g++.dg/abi/thunk6.C -std=c++11 scan-assembler _ZTv0_n32_N1CD1Ev
> >
> > $ grep _ZTv0_ thunk6.s
> > .globl _ZTv0_n16_N1CD1Ev
> > .type _ZTv0_n16_N1CD1Ev, @function
> > _ZTv0_n16_N1CD1Ev:
> > .size _ZTv0_n16_N1CD1Ev, .-_ZTv0_n16_N1CD1Ev
> > .globl _ZTv0_n16_N1CD0Ev
> > .type _ZTv0_n16_N1CD0Ev, @function
> > _ZTv0_n16_N1CD0Ev:
> > .size _ZTv0_n16_N1CD0Ev, .-_ZTv0_n16_N1CD0Ev
>
> It would help to state which target this is...
>
> Same for the 32-bit multilib on Solaris/SPARC and x86
> (i386-pc-solaris2.11, sparc-sun-solaris2.11).
Seems it fails on all ilp32 targets I've tried and succeeds on all lp64
targets (including ia64), so I think we should do following.
Ok for trunk?
2014-03-28 Jakub Jelinek <jakub@redhat.com>
PR c++/58678
* g++.dg/abi/thunk6.C: Scan assembler for _ZTv0_n32_N1CD1Ev
only for lp64 targets and scan for _ZTv0_n16_N1CD1Ev for ilp32
targets.
--- gcc/testsuite/g++.dg/abi/thunk6.C.jj 2014-03-26 20:31:53.000000000 +0100
+++ gcc/testsuite/g++.dg/abi/thunk6.C 2014-03-28 11:20:45.051852976 +0100
@@ -15,4 +15,5 @@ C::~C() {}
int main() {}
-// { dg-final { scan-assembler "_ZTv0_n32_N1CD1Ev" } }
+// { dg-final { scan-assembler "_ZTv0_n32_N1CD1Ev" { target lp64 } } }
+// { dg-final { scan-assembler "_ZTv0_n16_N1CD1Ev" { target ilp32 } } }
Jakub
More information about the Gcc-patches
mailing list