diff options
author | Alexandre Petit-Bianco <apbianco@cygnus.com> | 1999-03-30 11:35:27 +0000 |
---|---|---|
committer | Alexandre Petit-Bianco <apbianco@gcc.gnu.org> | 1999-03-30 03:35:27 -0800 |
commit | 1504b2b4391de55ac606b006de95127457dbebe5 (patch) | |
tree | c91d14fd2135dc69866b22eddf93d62bd9bd8fb9 /gcc | |
parent | 04d87103d4df4b7f0188faaa3201385e36d026a7 (diff) | |
download | gcc-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/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/java/parse.c | 22 | ||||
-rw-r--r-- | gcc/java/parse.y | 22 |
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)) |