parse.y (java_complete_lhs): Check if patch_assignment returned an error-mark.
authorPer Bothner <per@bothner.com>
Sat, 9 Mar 2002 16:31:52 +0000 (08:31 -0800)
committerPer Bothner <bothner@gcc.gnu.org>
Sat, 9 Mar 2002 16:31:52 +0000 (08:31 -0800)
* parse.y (java_complete_lhs):  Check if patch_assignment
returned an error-mark.

* parse.y (try_builtin_assignconv):  Don't special-case zero.

From-SVN: r50499

gcc/java/ChangeLog
gcc/java/parse.y

index 5210c93afaab5007bc14a2d596ddb0bb0216e230..aaa81d18d6847ae4d1eb6c1b6211f8369d763095 100644 (file)
@@ -1,3 +1,10 @@
+2002-03-08  Per Bothner  <per@bothner.com>
+
+       * parse.y (java_complete_lhs):  Check if patch_assignment
+       returned an error-mark.
+
+       * parse.y (try_builtin_assignconv):  Don't special-case zero.
+
 2002-03-08  Per Bothner  <per@bothner.com>
 
        Fix for PR java/5812.
index d21fe63f41420593ce55df492dc8f12a9b9301e5..2d0c3ddfa6d69919d91851976318d4b99c4c4a80 100644 (file)
@@ -12104,6 +12104,8 @@ java_complete_lhs (node)
       else
        {
          node = patch_assignment (node, wfl_op1);
+         if (node == error_mark_node)
+           return error_mark_node;
          /* Reorganize the tree if necessary. */
          if (flag && (!JREFERENCE_TYPE_P (TREE_TYPE (node)) 
                       || JSTRING_P (TREE_TYPE (node))))
@@ -12803,12 +12805,6 @@ try_builtin_assignconv (wfl_op1, lhs_type, rhs)
        new_rhs = rhs;
     }
 
-  /* Zero accepted everywhere */
-  else if (TREE_CODE (rhs) == INTEGER_CST 
-      && TREE_INT_CST_HIGH (rhs) == 0 && TREE_INT_CST_LOW (rhs) == 0
-      && JPRIMITIVE_TYPE_P (rhs_type))
-    new_rhs = convert (lhs_type, rhs);
-
   /* 5.1.1 Try Identity Conversion,
      5.1.2 Try Widening Primitive Conversion */
   else if (valid_builtin_assignconv_identity_widening_p (lhs_type, rhs_type))