aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@albatross.co.nz>2000-10-20 04:00:44 +0000
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>2000-10-19 21:00:44 -0700
commitcab8e2bd65e10cbd59f4240056710c9653aa4418 (patch)
tree2758ea9ec2b0934808400a4b57bdf7a73c61a2d1
parentf4fce7eda4a9e54552afc1847716eb583e6bf92f (diff)
downloadgcc-cab8e2bd65e10cbd59f4240056710c9653aa4418.zip
gcc-cab8e2bd65e10cbd59f4240056710c9653aa4418.tar.gz
gcc-cab8e2bd65e10cbd59f4240056710c9653aa4418.tar.bz2
parse.y (find_most_specific_methods_list): Select the only non-abstract method even if max has been set.
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. (http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00646.html) From-SVN: r36956
-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)))