gimplify.c (gimplify_expr): Do not crash when folding (void *)(int)&a + 4.
authorJan Hubicka <jh@suse.cz>
Mon, 7 May 2007 10:36:09 +0000 (12:36 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Mon, 7 May 2007 10:36:09 +0000 (10:36 +0000)
* gimplify.c (gimplify_expr): Do not crash when folding
(void *)(int)&a + 4.

From-SVN: r124497

gcc/ChangeLog
gcc/gimplify.c

index f523f3a..de5e550 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-07  Jan Hubicka  <jh@suse.cz>
+
+       * gimplify.c (gimplify_expr): Do not crash when folding
+       (void *)(int)&a + 4.
+
 2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        PR driver/31694
index 3efb2b8..a6978d9 100644 (file)
@@ -5887,6 +5887,8 @@ gimplify_expr (tree *expr_p, tree *pre_p, tree *post_p,
          if (POINTER_TYPE_P (TREE_TYPE (*expr_p))
              && TREE_CODE (TREE_OPERAND (*expr_p, 0)) == NOP_EXPR
              && TREE_CODE (TREE_OPERAND (*expr_p, 1)) == INTEGER_CST
+             && POINTER_TYPE_P (TREE_TYPE (TREE_OPERAND (TREE_OPERAND (*expr_p,
+                                                                       0),0)))
              && (tmp = maybe_fold_offset_to_reference
                         (TREE_OPERAND (TREE_OPERAND (*expr_p, 0), 0),
                          TREE_OPERAND (*expr_p, 1),