aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryce McKinlay <mckinlay@redhat.com>2005-06-23 15:00:50 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2005-06-23 16:00:50 +0100
commitc0f6dc941dcceaf0c5ec5280d0d0d1f34b9ba834 (patch)
treebb89d50e6f17ba5807972c509bb8789e1d8444cb
parentfa47911c5600725d7d72e224e4a61829267b00b9 (diff)
downloadgcc-c0f6dc941dcceaf0c5ec5280d0d0d1f34b9ba834.zip
gcc-c0f6dc941dcceaf0c5ec5280d0d0d1f34b9ba834.tar.gz
gcc-c0f6dc941dcceaf0c5ec5280d0d0d1f34b9ba834.tar.bz2
re PR java/20697 (Invalid Can't find method error on call to super)
PR java/20697 * parse.y (find_most_specific_methods_list): Remove special case for inner classes. From-SVN: r101270
-rw-r--r--gcc/java/ChangeLog6
-rw-r--r--gcc/java/parse.y8
-rw-r--r--libjava/ChangeLog4
-rw-r--r--libjava/testsuite/libjava.compile/PR20697.java29
4 files changed, 41 insertions, 6 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index b6f6e3a..4c96759 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,9 @@
+2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
+
+ PR java/20697
+ * parse.y (find_most_specific_methods_list): Remove special case for
+ inner classes.
+
2005-06-15 Tom Tromey <tromey@redhat.com>
PR libgcj/21906:
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index 1108719..0c35911 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -11416,13 +11416,9 @@ find_most_specific_methods_list (tree list)
if (argument_types_convertible (method_v, current_v))
{
if (valid_method_invocation_conversion_p
- (DECL_CONTEXT (method_v), DECL_CONTEXT (current_v))
- || (INNER_CLASS_TYPE_P (DECL_CONTEXT (current_v))
- && enclosing_context_p (DECL_CONTEXT (method_v),
- DECL_CONTEXT (current_v))))
+ (DECL_CONTEXT (method_v), DECL_CONTEXT (current_v)))
{
- int v = (DECL_SPECIFIC_COUNT (current_v) +=
- (INNER_CLASS_TYPE_P (DECL_CONTEXT (current_v)) ? 2 : 1));
+ int v = (DECL_SPECIFIC_COUNT (current_v) += 1);
max = (v > max ? v : max);
}
}
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index c8532c7..c81a79b 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,7 @@
+2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
+
+ * testsuite/libjava.compile/PR20697.java: New test-case.
+
2005-06-22 Kelley Cook <kcook@gcc.gnu.org>
* Makefile.am (SUBDIRS): Use append for conditional.
diff --git a/libjava/testsuite/libjava.compile/PR20697.java b/libjava/testsuite/libjava.compile/PR20697.java
new file mode 100644
index 0000000..56efb1d
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/PR20697.java
@@ -0,0 +1,29 @@
+public class PR20697
+{
+ public interface I
+ {
+ public void m();
+ }
+
+ public static class A2 implements I
+ {
+ public void m()
+ {
+ return;
+ }
+ }
+
+}
+
+class Test extends PR20697.A2
+{
+ public void m()
+ {
+ return;
+ }
+
+ public void n()
+ {
+ m();
+ }
+}