[multiple changes]
authorAlexandre Petit-Bianco <apbianco@cygnus.com>
Tue, 30 Mar 1999 11:35:27 +0000 (11:35 +0000)
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>
Tue, 30 Mar 1999 11:35:27 +0000 (03:35 -0800)
Tue Mar 30 11:31:53 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
* parse.y (patch_bc_statement): Fixed identation and a bogus
  `printf' format.
Tue Mar 30 11:29:29 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
* parse.y (patch_assignment): Allow static variables in other
  classes to be assigned.

From-SVN: r26065

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

index 977c6a82e360f621e7634d3a36a2aa906d8ee92b..4d7c8afe04d8b0029d1ab992cd718dccc399de3b 100644 (file)
@@ -1,3 +1,13 @@
+Tue Mar 30 11:31:53 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (patch_bc_statement): Fixed identation and a bogus
+       `printf' format.
+
+Tue Mar 30 11:29:29 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * parse.y (patch_assignment): Allow static variables in other
+       classes to be assigned.
+
 Sun Mar 28 22:12:10 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * class.c (maybe_add_interface): Remove unused variable
index bdce35974c0cc6843faf76918f804687592d89b1..512738d9f4fa40ffe30a592850dcfc15b1c30064 100644 (file)
@@ -11169,13 +11169,17 @@ patch_assignment (node, wfl_op1, wfl_op2)
   /* Otherwise, we might want to try to write into an optimized static
      final, this is an of a different nature, reported further on. */
   else if (TREE_CODE (wfl_op1) == EXPR_WITH_FILE_LOCATION
-          && resolve_expression_name (wfl_op1, &llvalue)
-          && check_final_assignment (llvalue, wfl_op1))
+          && resolve_expression_name (wfl_op1, &llvalue))
     {
-      error_found = 1;
-      /* What we should do instead is resetting the all the flags
-         previously set, exchange lvalue for llvalue and continue. */
-      return error_mark_node;
+      if (check_final_assignment (llvalue, wfl_op1))
+       {
+         /* What we should do instead is resetting the all the flags
+            previously set, exchange lvalue for llvalue and continue. */
+         error_found = 1;
+         return error_mark_node;
+       }
+      else 
+       lhs_type = TREE_TYPE (lvalue);
     }
   else 
     {
@@ -13271,9 +13275,9 @@ patch_bc_statement (node)
                parse_error_context (wfl_operator,
                                     "`continue' must be in loop");
              else
-               parse_error_context (wfl_operator,
-                                    "continue label `%d' does not name a loop",
-                                    IDENTIFIER_POINTER (bc_label));
+               parse_error_context 
+                 (wfl_operator, "continue label `%s' does not name a loop",
+                  IDENTIFIER_POINTER (bc_label));
              return error_mark_node;
            }
          if ((DECL_NAME (LABELED_BLOCK_LABEL (labeled_block))
index 3792cba9691ed090e028531dca57877e0c59614d..7ab2ef6ef26f0e266466828e1a8517303d064f17 100644 (file)
@@ -8568,13 +8568,17 @@ patch_assignment (node, wfl_op1, wfl_op2)
   /* Otherwise, we might want to try to write into an optimized static
      final, this is an of a different nature, reported further on. */
   else if (TREE_CODE (wfl_op1) == EXPR_WITH_FILE_LOCATION
-          && resolve_expression_name (wfl_op1, &llvalue)
-          && check_final_assignment (llvalue, wfl_op1))
+          && resolve_expression_name (wfl_op1, &llvalue))
     {
-      error_found = 1;
-      /* What we should do instead is resetting the all the flags
-         previously set, exchange lvalue for llvalue and continue. */
-      return error_mark_node;
+      if (check_final_assignment (llvalue, wfl_op1))
+       {
+         /* What we should do instead is resetting the all the flags
+            previously set, exchange lvalue for llvalue and continue. */
+         error_found = 1;
+         return error_mark_node;
+       }
+      else 
+       lhs_type = TREE_TYPE (lvalue);
     }
   else 
     {
@@ -10670,9 +10674,9 @@ patch_bc_statement (node)
                parse_error_context (wfl_operator,
                                     "`continue' must be in loop");
              else
-               parse_error_context (wfl_operator,
-                                    "continue label `%d' does not name a loop",
-                                    IDENTIFIER_POINTER (bc_label));
+               parse_error_context 
+                 (wfl_operator, "continue label `%s' does not name a loop",
+                  IDENTIFIER_POINTER (bc_label));
              return error_mark_node;
            }
          if ((DECL_NAME (LABELED_BLOCK_LABEL (labeled_block))