tree-cfg.c (verify_gimple_expr): Allow conversions from pointers to sizetype and...
authorRichard Guenther <rguenther@suse.de>
Sun, 18 May 2008 16:34:39 +0000 (16:34 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Sun, 18 May 2008 16:34:39 +0000 (16:34 +0000)
2008-05-18  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (verify_gimple_expr): Allow conversions from
pointers to sizetype and vice versa.

From-SVN: r135504

gcc/ChangeLog
gcc/tree-cfg.c

index 890477b4be623c2774a5a25520e91cecccb46967..0e398e356a09033ff67b16283669096cfc311188 100644 (file)
@@ -1,3 +1,8 @@
+2008-05-18  Richard Guenther  <rguenther@suse.de>
+
+       * tree-cfg.c (verify_gimple_expr): Allow conversions from
+       pointers to sizetype and vice versa.
+
 2008-05-18  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.c (ix86_secondary_reload): New static function.
index 4eab1fd449ef7603ef1f5ff9a9d99b67ec415bd8..c0cb7b87488924b8f1c2e26271a6a5f57b0175f8 100644 (file)
@@ -3658,7 +3658,10 @@ verify_gimple_expr (tree expr)
           there is no sign or zero extension involved.  */
        if (((POINTER_TYPE_P (type) && INTEGRAL_TYPE_P (TREE_TYPE (op)))
             || (POINTER_TYPE_P (TREE_TYPE (op)) && INTEGRAL_TYPE_P (type)))
-           && TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (op)))
+           && (TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (op))
+               /* For targets were the precision of sizetype doesn't
+                  match that of pointers we need the following.  */
+               || type == sizetype || TREE_TYPE (op) == sizetype))
          return false;
 
        /* Allow conversion from integer to offset type and vice versa.  */