diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-04-18 23:58:51 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-04-18 23:58:51 +0200 |
commit | 848257079a98c2fa9c7d5a8cc666f7c0798e5ec0 (patch) | |
tree | 9c65ab447ce980a3d0817af30fab2a1d53ba99f8 /gcc/ipa-prop.c | |
parent | 37a8ccfcdcfe73378717101f82767760ae35f5a5 (diff) | |
download | gcc-848257079a98c2fa9c7d5a8cc666f7c0798e5ec0.zip gcc-848257079a98c2fa9c7d5a8cc666f7c0798e5ec0.tar.gz gcc-848257079a98c2fa9c7d5a8cc666f7c0798e5ec0.tar.bz2 |
re PR middle-end/48661 (wrong-code regression with devirtualization)
PR middle-end/48661
* gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
if TREE_TYPE (v) is non-NULL.
* gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
gimple_get_virt_mehtod_for_binfo.
* gimple.h (gimple_get_virt_method_for_binfo): Likewise.
* ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
callers.
* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
* g++.dg/torture/pr48661.C: New test.
From-SVN: r172677
Diffstat (limited to 'gcc/ipa-prop.c')
-rw-r--r-- | gcc/ipa-prop.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index be223cc..811884f 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -1718,7 +1718,7 @@ try_make_edge_direct_virtual_call (struct cgraph_edge *ie, type = ie->indirect_info->otr_type; binfo = get_binfo_at_offset (binfo, ie->indirect_info->anc_offset, type); if (binfo) - target = gimple_get_virt_mehtod_for_binfo (token, binfo, &delta, true); + target = gimple_get_virt_method_for_binfo (token, binfo, &delta, true); else return NULL; |