ipa-polymorphic-call.c (possible_placement_new): Fix condition on size.
authorJan Hubicka <hubicka@ucw.cz>
Sun, 5 Oct 2014 17:40:28 +0000 (19:40 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Sun, 5 Oct 2014 17:40:28 +0000 (17:40 +0000)
commit29c43c83ef425cbfd173df483b03b596ddf36570
tree2798c6a743942ce9aae14e3e6423cb4e162dcdea
parentf50592234cdef68ddc9b98b65a88a443e2c4523f
ipa-polymorphic-call.c (possible_placement_new): Fix condition on size.

* ipa-polymorphic-call.c (possible_placement_new): Fix condition
on size.
(ipa_polymorphic_call_context::restrict_to_inner_type): Do not walk
into vptr pointer.
(ipa_polymorphic_call_context::dump): Fix formating.
(walk_ssa_copies): Add logic avoiding loops; update uses.
* ipa-prop.c (ipa_analyze_call_uses): Compute vptr_changed.
* g++.dg/ipa/devirt-42.C: Update template.
* g++.dg/ipa/devirt-44.C: Update template.
* g++.dg/ipa/devirt-45.C: Update template.
* g++.dg/ipa/devirt-46.C: Update template.
* g++.dg/ipa/devirt-47.C: Update template.
* g++.dg/ipa/devirt-48.C: New testcase.

From-SVN: r215902
gcc/ChangeLog
gcc/ipa-polymorphic-call.c
gcc/ipa-prop.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ipa/devirt-42.C
gcc/testsuite/g++.dg/ipa/devirt-44.C
gcc/testsuite/g++.dg/ipa/devirt-45.C
gcc/testsuite/g++.dg/ipa/devirt-46.C
gcc/testsuite/g++.dg/ipa/devirt-47.C
gcc/testsuite/g++.dg/ipa/devirt-48.C [new file with mode: 0644]