aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/java/ChangeLog6
-rw-r--r--gcc/java/parse.y6
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 191b209..29e8a53 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -685,6 +685,12 @@ Sun Aug 6 00:47:24 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
(resolve_type_during_patch): Use `type' as a second
argument to resolve_no_layout. Fixes gcj/257.
+2000-07-18 Bryce McKinlay <bryce@albatross.co.nz>
+
+ * parse.y (find_most_specific_methods_list): Select the only
+ non-abstract method even if max has been set.
+ Fixes gcj/285, gcj/298.
+
2000-07-18 Jeff Sturm <jeff.sturm@appnet.com>
* lang-specs.h: Added %(jc1) to java compiler options.
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index 1542624..6dc13ea 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -10600,9 +10600,9 @@ find_most_specific_methods_list (list)
TREE_CHAIN (new_list) = NULL_TREE;
}
- /* We have several, we couldn't find a most specific, all but one are
- abstract, we pick the only non abstract one. */
- if (candidates > 0 && !max && (candidates == abstract+1))
+ /* We have several (we couldn't find a most specific), all but one
+ are abstract, we pick the only non abstract one. */
+ if (candidates > 0 && (candidates == abstract+1))
{
for (current = new_list; current; current = TREE_CHAIN (current))
if (!METHOD_ABSTRACT (TREE_VALUE (current)))