aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Petit-Bianco <apbianco@cygnus.com>1999-03-30 11:35:27 +0000
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>1999-03-30 03:35:27 -0800
commit1504b2b4391de55ac606b006de95127457dbebe5 (patch)
treec91d14fd2135dc69866b22eddf93d62bd9bd8fb9 /gcc
parent04d87103d4df4b7f0188faaa3201385e36d026a7 (diff)
downloadgcc-1504b2b4391de55ac606b006de95127457dbebe5.zip
gcc-1504b2b4391de55ac606b006de95127457dbebe5.tar.gz
gcc-1504b2b4391de55ac606b006de95127457dbebe5.tar.bz2
[multiple changes]
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog10
-rw-r--r--gcc/java/parse.c22
-rw-r--r--gcc/java/parse.y22
3 files changed, 36 insertions, 18 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 977c6a8..4d7c8af 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -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
diff --git a/gcc/java/parse.c b/gcc/java/parse.c
index bdce359..512738d 100644
--- a/gcc/java/parse.c
+++ b/gcc/java/parse.c
@@ -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))
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index 3792cba..7ab2ef6e 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -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))