diff options
author | Bryce McKinlay <mckinlay@redhat.com> | 2005-06-23 15:00:50 +0000 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2005-06-23 16:00:50 +0100 |
commit | c0f6dc941dcceaf0c5ec5280d0d0d1f34b9ba834 (patch) | |
tree | bb89d50e6f17ba5807972c509bb8789e1d8444cb | |
parent | fa47911c5600725d7d72e224e4a61829267b00b9 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/parse.y | 8 | ||||
-rw-r--r-- | libjava/ChangeLog | 4 | ||||
-rw-r--r-- | libjava/testsuite/libjava.compile/PR20697.java | 29 |
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(); + } +} |