diff options
author | Richard Guenther <rguenther@suse.de> | 2009-10-28 14:48:34 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-10-28 14:48:34 +0000 |
commit | cfee9aa4c9b3ea9265b595be3473d0a15319d862 (patch) | |
tree | 92b4e098e2f8daedf3f56de7f2fff165e4d72720 /gcc/tree-ssa.c | |
parent | a1c6569544feb45d1fffff211a7970a8069d8c34 (diff) | |
download | gcc-cfee9aa4c9b3ea9265b595be3473d0a15319d862.zip gcc-cfee9aa4c9b3ea9265b595be3473d0a15319d862.tar.gz gcc-cfee9aa4c9b3ea9265b595be3473d0a15319d862.tar.bz2 |
re PR lto/41808 (error: non-trivial conversion at assignment)
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.
From-SVN: r153671
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r-- | gcc/tree-ssa.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index b646ded..8e88c2f 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)) |