summaryrefslogtreecommitdiff
path: root/gcc/ipa-prop.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-03-02 21:51:48 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2014-03-02 20:51:48 +0000
commit993df21e9aacba1ff3236e0e0df0118573de8190 (patch)
treecc1f8936fe37b264e2fc78795755ba145c4cdc16 /gcc/ipa-prop.c
parent9b0af790b789de605f6f7d818b375e50cf0c2904 (diff)
downloadgcc-993df21e9aacba1ff3236e0e0df0118573de8190.tar.gz
re PR ipa/60306 (Incorrect devirtualization "pure virtual method called")
PR ipa/60306 Revert: 2013-12-14 Jan Hubicka <jh@suse.cz> PR middle-end/58477 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers. * testsuite/g++.dg/ipa/devirt-29.C: New testcase From-SVN: r208261
Diffstat (limited to 'gcc/ipa-prop.c')
-rw-r--r--gcc/ipa-prop.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index 368b93b7d4a..4fb916aa01f 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -573,8 +573,7 @@ stmt_may_be_vtbl_ptr_store (gimple stmt)
{
if (is_gimple_call (stmt))
return false;
- else if (gimple_clobber_p (stmt))
- return false;
+ /* TODO: Skip clobbers, doing so triggers problem in PR60306. */
else if (is_gimple_assign (stmt))
{
tree lhs = gimple_assign_lhs (stmt);