summaryrefslogtreecommitdiff
path: root/gcc/ipa-icf.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-24 06:13:44 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-24 06:13:44 +0000
commit1fda15e2319ade173bbcfcee7a5272bc410ef17d (patch)
treebe52c0776019c9e0eed372c7670a1d87ad3d6732 /gcc/ipa-icf.c
parent6ffeceb15bc17d43de07000e1806690a9b6c3c68 (diff)
downloadgcc-1fda15e2319ade173bbcfcee7a5272bc410ef17d.tar.gz
* ipa-utils.h (method_class_type): Remove.
* cgraphunit.c (walk_polymorphic_call_targets): Use TYPE_METHOD_BASETYPE. * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called on main variants only. (method_class_type): Remove. (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE. (build_type_inheritance_graph): Likewise. * ipa-icf.c (sem_function::equals_wpa): Likewise. * pa-polymorphic-call.c (decl_maybe_in_construction_p, check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223629 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-icf.c')
-rw-r--r--gcc/ipa-icf.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
index e7a317ab79d..190cd4c43d9 100644
--- a/gcc/ipa-icf.c
+++ b/gcc/ipa-icf.c
@@ -663,8 +663,8 @@ sem_function::equals_wpa (sem_item *item,
if (TREE_CODE (TREE_TYPE (item->decl)) != METHOD_TYPE)
return return_false_with_msg ("DECL_CXX_CONSTURCTOR type mismatch");
else if (!func_checker::compatible_polymorphic_types_p
- (method_class_type (TREE_TYPE (decl)),
- method_class_type (TREE_TYPE (item->decl)), false))
+ (TYPE_METHOD_BASETYPE (TREE_TYPE (decl)),
+ TYPE_METHOD_BASETYPE (TREE_TYPE (item->decl)), false))
return return_false_with_msg ("ctor polymorphic type mismatch");
}
@@ -753,8 +753,8 @@ sem_function::equals_wpa (sem_item *item,
if (TREE_CODE (TREE_TYPE (decl)) != TREE_CODE (TREE_TYPE (item->decl)))
return return_false_with_msg ("METHOD_TYPE and FUNCTION_TYPE mismatch");
if (!func_checker::compatible_polymorphic_types_p
- (method_class_type (TREE_TYPE (decl)),
- method_class_type (TREE_TYPE (item->decl)), false))
+ (TYPE_METHOD_BASETYPE (TREE_TYPE (decl)),
+ TYPE_METHOD_BASETYPE (TREE_TYPE (item->decl)), false))
return return_false_with_msg ("THIS pointer ODR type mismatch");
}
@@ -2722,14 +2722,14 @@ sem_item_optimizer::update_hash_by_addr_refs ()
{
if (TREE_CODE (TREE_TYPE (m_items[i]->decl)) == METHOD_TYPE
&& contains_polymorphic_type_p
- (method_class_type (TREE_TYPE (m_items[i]->decl)))
+ (TYPE_METHOD_BASETYPE (TREE_TYPE (m_items[i]->decl)))
&& (DECL_CXX_CONSTRUCTOR_P (m_items[i]->decl)
|| (static_cast<sem_function *> (m_items[i])->param_used_p (0)
&& static_cast<sem_function *> (m_items[i])
->compare_polymorphic_p ())))
{
tree class_type
- = method_class_type (TREE_TYPE (m_items[i]->decl));
+ = TYPE_METHOD_BASETYPE (TREE_TYPE (m_items[i]->decl));
inchash::hash hstate (m_items[i]->hash);
if (TYPE_NAME (class_type)