From 60419cc8912bb1b64298c8b83c55b071b0717a39 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Fri, 7 Aug 2009 08:54:53 +0000 Subject: [PATCH] tree-ssa.c (useless_type_conversion_p_1): Only for types that require structural equality defer to the langhook. 2009-08-07 Richard Guenther * tree-ssa.c (useless_type_conversion_p_1): Only for types that require structural equality defer to the langhook. From-SVN: r150559 --- gcc/ChangeLog | 5 +++++ gcc/tree-ssa.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 96b291a..b9304a1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-08-07 Richard Guenther + + * tree-ssa.c (useless_type_conversion_p_1): Only for types + that require structural equality defer to the langhook. + 2009-08-07 Martin Jambor * ipa-prop.h (enum jump_func_type): New value IPA_JF_ANCESTOR, changed diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index 0b4cc96..ddd4cfb 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -1073,11 +1073,11 @@ useless_type_conversion_p_1 (tree outer_type, tree inner_type) else if (AGGREGATE_TYPE_P (inner_type) && TREE_CODE (inner_type) == TREE_CODE (outer_type)) { - /* ??? This seems to be necessary even for aggregates that don't - have TYPE_STRUCTURAL_EQUALITY_P set. */ + if (TYPE_STRUCTURAL_EQUALITY_P (outer_type) + || TYPE_STRUCTURAL_EQUALITY_P (inner_type)) + return lang_hooks.types_compatible_p (inner_type, outer_type); - /* ??? This should eventually just return false. */ - return lang_hooks.types_compatible_p (inner_type, outer_type); + return false; } return false; -- 2.7.4