------- 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

Reply via email to