+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.
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),
}
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:
{
{
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);
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;