Test Failures (Was Re: [ecj] Patch: FYI: document --enable-java-maintainer-mode)

Tom Tromey tromey@redhat.com
Thu Dec 21 18:28:00 GMT 2006


>>>>> "Andrew" == Andrew Haley <aph@redhat.com> writes:

Andrew> I have:
I have these too.
Andrew> FAIL: natshortfield.cc compilation
Andrew> FAIL: register2.c compilation
Test suite bugs.
Andrew> FAIL: PR162 output - source compiled test
This may not be a bug; I'm not sure.
Andrew> FAIL: Serialization execution - source compiled test
Haven't looked.
Andrew> I guess ArrayStore may be fixed by http://gcc.gnu.org/bugzilla/attachment.cgi?id=11712&action=view
Andrew> I think that makes it low-hanging fruit. I'll try it now.
That patch had some problem as I recall. I don't remember what. I
have another variant kicking around (appended) but perhaps you'd be
better off just rewriting from scratch. I don't remember what testing
the appended got, if any.
Tom
Index: expr.c
===================================================================
--- expr.c	(revision 114870)
+++ expr.c	(working copy)
@@ -1128,6 +1128,7 @@
 				 int_type_node : rhs_type_node);
 tree index = pop_value (int_type_node);
 tree array_type, array;
+ tree ref;
 
 /* If we're processing an `aaload' we might as well just pick
 `Object'. */
@@ -1149,14 +1150,18 @@
 index = save_expr (index);
 array = save_expr (array);
 
+ ref = save_expr (build_java_arrayaccess (array, rhs_type_node, index));
 if (TREE_CODE (rhs_type_node) == POINTER_TYPE)
 {
- tree check = build_java_arraystore_check (array, rhs_node);
- java_add_stmt (check);
+ /* Ensure that the array bounds check is done before the store
+	 check. */
+ tree ensure = build2 (COMPOUND_EXPR, TREE_TYPE (array),
+			 ref, array);
+ tree check = build_java_arraystore_check (ensure, rhs_node);
+ ref = build2 (COMPOUND_EXPR, TREE_TYPE (ref), check, ref);
 }
- 
- array = build_java_arrayaccess (array, rhs_type_node, index);
- java_add_stmt (build2 (MODIFY_EXPR, TREE_TYPE (array), array, rhs_node)); 
+
+ java_add_stmt (build2 (MODIFY_EXPR, TREE_TYPE (ref), ref, rhs_node)); 
 }
 
 /* Expand the evaluation of ARRAY[INDEX]. build_java_check_indexed_type makes 


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /