Skip to content

Commit 935825e

Browse files
authored
Merge pull request #820 from smowton/smowton/fix/init_zero_length_arrays
Restore array-set for nondet arrays
2 parents 827519d + 035ae92 commit 935825e

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/java_bytecode/java_object_factory.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,10 @@ void java_object_factoryt::gen_nondet_array_init(
549549

550550
side_effect_exprt java_new_array(ID_java_new_array, expr.type());
551551
java_new_array.copy_to_operands(length_sym_expr);
552-
java_new_array.set(ID_skip_initialize, true);
552+
// Retain the array_set instruction for the special case of a
553+
// zero-length array, where this will be the only assignment against
554+
// the array's identifier.
555+
java_new_array.set(ID_skip_initialize, false);
553556
java_new_array.type().subtype().set(ID_C_element_type, element_type);
554557
codet assign=code_assignt(expr, java_new_array);
555558
assign.add_source_location()=loc;
@@ -798,4 +801,3 @@ void gen_nondet_init(
798801
typet(),
799802
update_in_place);
800803
}
801-

0 commit comments

Comments
 (0)