diff options
| author | apbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-12-06 19:31:25 +0000 |
|---|---|---|
| committer | apbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-12-06 19:31:25 +0000 |
| commit | 9340242dd69e25e27fb3cb63b7da35da06ac79f6 (patch) | |
| tree | 44b6a0178108cbc0e3a663d4073804dd8a72a7a1 /gcc/java | |
| parent | 47af597e652a3fcce916ab1d3d93355180739f11 (diff) | |
| download | ppe42-gcc-9340242dd69e25e27fb3cb63b7da35da06ac79f6.tar.gz ppe42-gcc-9340242dd69e25e27fb3cb63b7da35da06ac79f6.zip | |
Tue Nov 30 12:28:34 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-write.c (generate_byecode_insns): Fixed indentation for
COMPOUND_EXPR and FIX_TRUNC_EXPR cases.
* parse.y (patch_assignment): Removed bogus final class test on
lhs when checking on whether to emit an ArrayStoreException runtime
check.
* expr.c (expand_java_arraystore): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30806 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java')
| -rw-r--r-- | gcc/java/ChangeLog | 10 | ||||
| -rw-r--r-- | gcc/java/expr.c | 3 | ||||
| -rw-r--r-- | gcc/java/jcf-write.c | 7 | ||||
| -rw-r--r-- | gcc/java/parse.y | 3 |
4 files changed, 16 insertions, 7 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 3adaa4392b2..276dbd45947 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,13 @@ +Tue Nov 30 12:28:34 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> + + * jcf-write.c (generate_byecode_insns): Fixed indentation for + COMPOUND_EXPR and FIX_TRUNC_EXPR cases. + + * parse.y (patch_assignment): Removed bogus final class test on + lhs when checking on whether to emit an ArraySoreException runtime + check. + * expr.c (expand_java_arraystore): Likewise. + 1999-11-24 Mark Mitchell <mark@codesourcery.com> * except.c (emit_handlers): Zero catch_clauses after emitting them. diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 48d514644fb..1b1cad2eeaf 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -874,8 +874,7 @@ expand_java_arraystore (rhs_type_node) index = save_expr (index); array = save_expr (array); - if (TREE_CODE (rhs_type_node) == POINTER_TYPE - && !CLASS_FINAL (TYPE_NAME (TREE_TYPE (rhs_type_node)))) + if (TREE_CODE (rhs_type_node) == POINTER_TYPE) { tree check = build (CALL_EXPR, void_type_node, build_address_of (soft_checkarraystore_node), diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c index 397a308cd29..a3710416ee6 100644 --- a/gcc/java/jcf-write.c +++ b/gcc/java/jcf-write.c @@ -1462,8 +1462,8 @@ generate_bytecode_insns (exp, target, state) } break; case COMPOUND_EXPR: - generate_bytecode_insns (TREE_OPERAND (exp, 0), IGNORE_TARGET, state); - generate_bytecode_insns (TREE_OPERAND (exp, 1), target, state); + generate_bytecode_insns (TREE_OPERAND (exp, 0), IGNORE_TARGET, state); + generate_bytecode_insns (TREE_OPERAND (exp, 1), target, state); break; case EXPR_WITH_FILE_LOCATION: { @@ -2140,7 +2140,8 @@ generate_bytecode_insns (exp, target, state) { if (TREE_CODE (exp) == CONVERT_EXPR) { - int index = find_class_constant (&state->cpool, TREE_TYPE (dst_type)); + int index = find_class_constant (&state->cpool, + TREE_TYPE (dst_type)); RESERVE (3); OP1 (OPCODE_checkcast); OP2 (index); diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 07e6cfa7201..65a3f093558 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -9193,8 +9193,7 @@ patch_assignment (node, wfl_op1, wfl_op2) if (!flag_emit_class_files && !flag_emit_xref && lvalue_from_array - && JREFERENCE_TYPE_P (TYPE_ARRAY_ELEMENT (lhs_type)) - && !CLASS_FINAL (TYPE_NAME (GET_SKIP_TYPE (rhs_type)))) + && JREFERENCE_TYPE_P (TYPE_ARRAY_ELEMENT (lhs_type))) { tree check; tree base = lvalue; |

