summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2009-10-28 14:48:34 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2009-10-28 14:48:34 +0000
commitd508766fcb7a88e59bc2a0d94a2150bff9c6ea6f (patch)
tree92b4e098e2f8daedf3f56de7f2fff165e4d72720 /gcc/tree-ssa.c
parent228aaa62609ffb9d7f5537a74d5e1c78bcca937b (diff)
downloadgcc-d508766fcb7a88e59bc2a0d94a2150bff9c6ea6f.tar.gz
2009-10-28 Richard Guenther <rguenther@suse.de>
PR lto/41808 PR lto/41839 * tree-ssa.c (useless_type_conversion_p): Do not treat conversions to pointers to incomplete types as useless. * gimple.c (gimple_types_compatible_p): Compare struct tags, not typedef names. * gcc.dg/lto/20091027-1_0.c: New testcase. * gcc.dg/lto/20091027-1_1.c: Likewise. * g++.dg/lto/20091026-1_0.C: Likewise. * g++.dg/lto/20091026-1_1.C: Likewise. * g++.dg/lto/20091026-1_a.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153671 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r--gcc/tree-ssa.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index b646ded59e7..8e88c2f73b0 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -1201,11 +1201,6 @@ useless_type_conversion_p (tree outer_type, tree inner_type)
record type or a pointer to an unprototyped function,
then the conversion is not necessary. */
if (VOID_TYPE_P (TREE_TYPE (outer_type))
- || (AGGREGATE_TYPE_P (TREE_TYPE (outer_type))
- && TREE_CODE (TREE_TYPE (outer_type)) != ARRAY_TYPE
- && (TREE_CODE (TREE_TYPE (outer_type))
- == TREE_CODE (TREE_TYPE (inner_type)))
- && !COMPLETE_TYPE_P (TREE_TYPE (outer_type)))
|| ((TREE_CODE (TREE_TYPE (outer_type)) == FUNCTION_TYPE
|| TREE_CODE (TREE_TYPE (outer_type)) == METHOD_TYPE)
&& (TREE_CODE (TREE_TYPE (outer_type))