------- Additional Comments From olh at suse dot de 2005-03-03 23:17 ------- After this patch, gcc could not boostrap itself anymore:
TZ=UTC cvs diff -pu -D '20041031 09:00' -D '20041031 10:00' gcc/ I'm testing this patch currently on mainline: Index: gcc/ChangeLog.12 =================================================================== RCS file: /tmp/gcc-cvs/gcc/gcc/ChangeLog.12,v retrieving revision 2.2 diff -u -p -p -u -r2.2 ChangeLog.12 --- gcc/ChangeLog.12 18 Jan 2005 13:42:43 -0000 2.2 +++ gcc/ChangeLog.12 3 Mar 2005 22:57:01 -0000 @@ -6837,12 +6837,6 @@ * c-common.c: Fix a comment typo. -2004-10-31 Jason Merrill <[EMAIL PROTECTED]> - - PR middle-end/17526 - * tree-gimple.c (is_gimple_mem_rhs): Also require a val for - aggregate types that are not BLKmode. - 2004-10-30 Ziemowit Laski <[EMAIL PROTECTED]> * c-common.h (objc_lookup_ivar): Add second parameter to Index: gcc/tree-gimple.c =================================================================== RCS file: /tmp/gcc-cvs/gcc/gcc/tree-gimple.c,v retrieving revision 2.35 diff -u -p -p -u -r2.35 tree-gimple.c --- gcc/tree-gimple.c 14 Dec 2004 13:41:52 -0000 2.35 +++ gcc/tree-gimple.c 3 Mar 2005 22:57:25 -0000 @@ -111,12 +111,9 @@ is_gimple_reg_rhs (tree t) bool is_gimple_mem_rhs (tree t) { - /* If we're dealing with a renamable type, either source or dest must be - a renamed variable. Also force a temporary if the type doesn't need - to be stored in memory, since it's cheap and prevents erroneous - tailcalls (PR 17526). */ - if (is_gimple_reg_type (TREE_TYPE (t)) - || TYPE_MODE (TREE_TYPE (t)) != BLKmode) + /* If we're dealing with a renamable type, either source or dest + must be a renamed variable. */ + if (is_gimple_reg_type (TREE_TYPE (t))) return is_gimple_val (t); else return is_gimple_formal_tmp_rhs (t); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20282