According to the ArrayStore.java test case, bounds checks should take precedence over array store checks. However, expand_java_arraystore clearly does it in the wrong order: if (TREE_CODE (rhs_type_node) == POINTER_TYPE) { tree check = build_java_arraystore_check (array, rhs_node); java_add_stmt (check); } array = build_java_arrayaccess (array, rhs_type_node, index);
Confirmed.
Created attachment 11712 [details] proposed patch I've attached a proposed patch. However, when I use this patch I run into PR 19505.
FWIW compiling from bytecode on svn head fails as well. In fact the test case is xfailed in this case. So this doesn't appear to be a regression. Also I think this patch is bogus (but at least it shows the right place to add the fix).
PR19505 is fixed, is the patch still bad?
I fixed PR19505 in July. Should not this patch go in? This is the last bug blocking 28067...
Andrew's fix for this went in with the merge.