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-cp.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-cp.c')
-rw-r--r-- | gcc/ipa-cp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 5ec0b2c..d8de9b7 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -1266,7 +1266,7 @@ ipcp_process_devirtualization_opportunities (struct cgraph_node *node) { tree binfo = VEC_index (tree, info->params[param_index].types, j); tree d; - tree t = gimple_get_virt_mehtod_for_binfo (token, binfo, &d, true); + tree t = gimple_get_virt_method_for_binfo (token, binfo, &d, true); if (!t) { |