Re: C++ PATCH for c++/60566 (dtor devirtualization and missing thunks)

2014-03-28 Thread Jason Merrill
On 03/28/2014 06:31 AM, Jakub Jelinek wrote: Ok for trunk? Yes, thanks. Jason

Re: C++ PATCH for c++/60566 (dtor devirtualization and missing thunks)

2014-03-28 Thread Rainer Orth
Jakub Jelinek writes: > 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? Looks right to me, but I'd like to defer to Jason as the subject-matter expert. Thanks. Rainer --

Re: C++ PATCH for c++/60566 (dtor devirtualization and missing thunks)

2014-03-28 Thread Jakub Jelinek
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 _Z

Re: C++ PATCH for c++/60566 (dtor devirtualization and missing thunks)

2014-03-28 Thread Rainer Orth
Andreas Schwab writes: > Jason Merrill writes: > >> diff --git a/gcc/testsuite/g++.dg/abi/thunk6.C >> b/gcc/testsuite/g++.dg/abi/thunk6.C >> new file mode 100644 >> index 000..e3d07f2 >> --- /dev/null >> +++ b/gcc/testsuite/g++.dg/abi/thunk6.C >> @@ -0,0 +1,18 @@ >> +// PR c++/60566 >> +// W

Re: C++ PATCH for c++/60566 (dtor devirtualization and missing thunks)

2014-03-27 Thread Jason Merrill
On 03/27/2014 01:42 AM, Jan Hubicka wrote: I belive the problem here is the _vptr.MultiTermDocs vtable is initialized from VTT that is not understood by ipa-prop jump functions. Makes sense. It would be good to update those functions to understand that the initialization is always setting the

Re: C++ PATCH for c++/60566 (dtor devirtualization and missing thunks)

2014-03-27 Thread Andreas Schwab
Jason Merrill writes: > diff --git a/gcc/testsuite/g++.dg/abi/thunk6.C > b/gcc/testsuite/g++.dg/abi/thunk6.C > new file mode 100644 > index 000..e3d07f2 > --- /dev/null > +++ b/gcc/testsuite/g++.dg/abi/thunk6.C > @@ -0,0 +1,18 @@ > +// PR c++/60566 > +// We need to emit the construction vtab

Re: C++ PATCH for c++/60566 (dtor devirtualization and missing thunks)

2014-03-26 Thread Jan Hubicka
> My earlier patch for 58678 caused this problem: even if we aren't > going to refer to the dtor thunks from the vtable, we need to emit > them in case other translation units use them. > > I'm adding xfails to two testcases: devirt-21.C and devirt-23.C. > The fails aren't a new bug; we are no lon

Re: C++ PATCH for c++/60566 (dtor devirtualization and missing thunks)

2014-03-26 Thread Jason Merrill
On 03/26/2014 12:49 PM, Jason Merrill wrote: But it seems odd to me that it isn't happening on path through a non-virtual call to ~MultiTermDocs, so I'm filing a bug about that. 60674. Jason