* ipa-polymorphic-call.c (possible_placement_new): Fix condition
commit1986ca43c0202400738d554cbc6c268a7c009a4c
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 5 Oct 2014 17:40:28 +0000 (5 17:40 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 5 Oct 2014 17:40:28 +0000 (5 17:40 +0000)
tree2798c6a743942ce9aae14e3e6423cb4e162dcdea
parent77cab4753e1206a8a5246f9989b7427990ca0e06
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215902 138bc75d-0d04-0410-961f-82ee72b054a4
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 [copied from gcc/testsuite/g++.dg/ipa/devirt-46.C with 55% similarity]