xscale-elf testsuite results

Tom Tromey tromey@redhat.com
Fri Mar 22 10:31:00 GMT 2002


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

Anthony> I had no problem building an xscale-elf toolchain with this
Anthony> flag. Did you try that?
Andrew> No.
It only worked for AG due to the spec file build bug. It definitely
won't work in general, since the bug is not platform-dependent.
I came up with this patch. It does work. I probably need at least a
comment explaining what is going on.
I think this solves the problem because the `final' errors can only
occur when modifying a field of `this'. And this patch works by
disabling checking if we're doing that. This is based on the theory
that we never need a test to see if `this' is non-null. But is that
theory accurate? What if we're in a final non-static method?
Actually, in that case I think the caller checks. At least according
to parse.y. So I think this is safe.
Comments? Anthony, could you try a full xscale-elf rebuild with this?
Andrew, Alex, do you think there is a better way to approach this
problem?
Tom
Index: ChangeLog
from Tom Tromey <tromey@redhat.com>
	* expr.c (build_field_ref): Don't build a check if the field is a
	member of `this'.
Index: expr.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/expr.c,v
retrieving revision 1.132.2.4
diff -u -r1.132.2.4 expr.c
--- expr.c 2002年03月11日 11:25:48 1.132.2.4
+++ expr.c 2002年03月22日 18:25:59
@@ -1586,6 +1586,9 @@
 }
 else
 {
+ int check = (flag_check_references
+		 && DECL_NAME (self_value) != this_identifier_node);
+
 tree base_handle_type = promote_type (base_class);
 if (base_handle_type != TREE_TYPE (self_value))
 	self_value = fold (build1 (NOP_EXPR, base_handle_type, self_value));
@@ -1593,7 +1596,7 @@
 self_value = unhand_expr (self_value);
 #endif
 self_value = build_java_indirect_ref (TREE_TYPE (TREE_TYPE (self_value)),
-					 self_value, flag_check_references);
+					 self_value, check);
 return fold (build (COMPONENT_REF, TREE_TYPE (field_decl),
 			 self_value, field_decl));
 }


More information about the Java mailing list

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