aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/expr.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index dba6dc4..a0d020d 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+2000-06-27 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * expr.c (lookup_field): The same field can be found through two
+ different interface. Don't declare it ambiguous in that case.
+
2000-06-27 Tom Tromey <tromey@cygnus.com>
* lex.c (java_lineterminator): Don't recognize \r after \n. If \r
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index 144eee9..5b9b729 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -1361,6 +1361,8 @@ lookup_field (typep, name)
tree t = BINFO_TYPE (TREE_VEC_ELT (basetype_vec, i));
if ((field = lookup_field (&t, name)))
{
+ if (save_field == field)
+ continue;
if (save_field == NULL_TREE)
save_field = field;
else