aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/parse.c4
-rw-r--r--gcc/java/parse.y4
3 files changed, 11 insertions, 2 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 5b0e1a6..10d0a73 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+2000-06-24 Tom Tromey <tromey@cygnus.com>
+
+ * parse.y (check_abstract_method_definitions): Also check if
+ `other_method' is abstract.
+
2000-06-23 Tom Tromey <tromey@cygnus.com>
* parse.y (patch_incomplete_class_ref): Initialize the returned
diff --git a/gcc/java/parse.c b/gcc/java/parse.c
index d6ece50..c28407e 100644
--- a/gcc/java/parse.c
+++ b/gcc/java/parse.c
@@ -8540,7 +8540,9 @@ check_abstract_method_definitions (do_interface, class_decl, type)
other_name = EXPR_WFL_NODE (other_name);
if (!DECL_CLINIT_P (other_method)
&& !DECL_CONSTRUCTOR_P (other_method)
- && method_name == other_name && method_sig == s)
+ && method_name == other_name
+ && method_sig == s
+ && !METHOD_ABSTRACT (other_method))
{
found = 1;
break;
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index 3e0f83e..a24c3a0 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -5842,7 +5842,9 @@ check_abstract_method_definitions (do_interface, class_decl, type)
other_name = EXPR_WFL_NODE (other_name);
if (!DECL_CLINIT_P (other_method)
&& !DECL_CONSTRUCTOR_P (other_method)
- && method_name == other_name && method_sig == s)
+ && method_name == other_name
+ && method_sig == s
+ && !METHOD_ABSTRACT (other_method))
{
found = 1;
break;