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 f523f3ac578d891092745075c28e1111b0762f92..de5e5509d73c54b83193a37b16aa28e5d4125d86 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 3efb2b868c8412f86a073593a2811a81be83f89c..a6978d952968b4d6672267c799aadac6478eee19 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),