OSDN Git Service

PR java/17329:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Sep 2004 16:25:37 +0000 (16:25 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Sep 2004 16:25:37 +0000 (16:25 +0000)
* java-gimplify.c (java_gimplify_expr) <SAVE_EXPR>: Ignore case
where operand is null.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87961 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/java/ChangeLog
gcc/java/java-gimplify.c

index e172f97..e75ebd0 100644 (file)
@@ -1,5 +1,11 @@
 2004-09-23  Tom Tromey  <tromey@redhat.com>
 
+       PR java/17329:
+       * java-gimplify.c (java_gimplify_expr) <SAVE_EXPR>: Ignore case
+       where operand is null.
+
+2004-09-23  Tom Tromey  <tromey@redhat.com>
+
        PR java/17380:
        * parse.y (not_accessible_p): Allow access to protected members
        even when class is not static.
index 54d5c75..664eb9a 100644 (file)
@@ -108,7 +108,10 @@ java_gimplify_expr (tree *expr_p, tree *pre_p ATTRIBUTE_UNUSED,
       return GS_UNHANDLED;
 
     case SAVE_EXPR:
-      if (TREE_CODE (TREE_OPERAND (*expr_p, 0)) == VAR_DECL)
+      /* Note that we can see <save_expr NULL> if the save_expr was
+        already handled by gimplify_save_expr.  */
+      if (TREE_OPERAND (*expr_p, 0) != NULL_TREE
+         && TREE_CODE (TREE_OPERAND (*expr_p, 0)) == VAR_DECL)
        TREE_OPERAND (*expr_p, 0) 
          = java_replace_reference (TREE_OPERAND (*expr_p, 0), 
                               /* want_lvalue */ false);