On Mon, 5 May 2014, Jan Hubicka wrote:
> Hi,
> this patch fixes unfortunate thinko in get_class_context that invalidates
> transitions from non-POD type to a polymorphic type that may happen by virtue
> of placement new and apparently breaks openJDK and Qt. I really tried to keep
> placement new in mind when implementing ipa-devirt, so hope there are no
> similar negaitve surprises.
>
> The patch disables about 200 out of 30000 devirtualizations happening in
> Firefox.
>
> I have commited it to 4.9 and will commit to mainline once testing finishes.
>
> Honza
>
>       PR ipa/60965
>       * g++.dg/ipa/devirt-31.C: New testcase.
>       * g++.dg/ipa/devirt-11.C: Adjust testcase.
>       * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.

Unfortunately (re-)introduced PR58094 (devirt-11.C failing on
most targets).

brgds, H-P

Reply via email to