diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/java/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/java/expr.c | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index b16f9f3..5af0be7 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2004-08-20 Nathan Sidwell <nathan@codesourcery.com> + + * expr.c (build_java_arrayaccess): Use convert to change + len's type. + 2004-08-19 Bryce McKinlay <mckinlay@redhat.com> * class.c (make_local_function_alias): Allocate extra space for 'L' @@ -8587,7 +8592,7 @@ properly initialize `finished_label'. Don't emit gotos for empty try statements. -2000-03-19 Martin v. Löwis <loewis@informatik.hu-berlin.de> +2000-03-19 Martin v. Löwis <loewis@informatik.hu-berlin.de> * except.c (emit_handlers): Clear catch_clauses_last. diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 9472794..97f540a 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -763,8 +763,8 @@ build_java_arrayaccess (tree array, tree type, tree index) * Note this is equivalent to and more efficient than: * INDEX < 0 || INDEX >= LEN && throw ... */ tree test; - tree len = build_java_array_length_access (array); - TREE_TYPE (len) = unsigned_int_type_node; + tree len = convert (unsigned_int_type_node, + build_java_array_length_access (array)); test = fold (build2 (GE_EXPR, boolean_type_node, convert (unsigned_int_type_node, index), len)); |