Paolo Bonzini wrote:

The following patch fixes it, but it's completely untested.

2006-11-07  Paolo Bonzini  <[EMAIL PROTECTED]>

        * gimplify.c (fold_indirect_ref_rhs): Use
        STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS.

Index: ../../gcc/gimplify.c
===================================================================
--- ../../gcc/gimplify.c        (revision 118481)
+++ ../../gcc/gimplify.c        (working copy)
@@ -3207,7 +3207,7 @@ fold_indirect_ref_rhs (tree t)
   tree sub = t;
   tree subtype;

-  STRIP_NOPS (sub);
+  STRIP_USELESS_TYPE_CONVERSION (sub);
   subtype = TREE_TYPE (sub);
   if (!POINTER_TYPE_P (subtype))
     return NULL_TREE;

If anybody could regtest it, this is a regression from 3.3, likely to be present in all 4.x branches.

I have tested it and ran the test suite and it does not seem to introduce problems in gcc or g++. I am using the gcc-4.3-20061104 snapshot and the results from http://gcc.gnu.org/ml/gcc-testresults/2006-11/msg00151.html.

Best regards,
Ricardo.

Reply via email to