public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: libgcj/8823: gij doesn't handle "Marinda methods" (abstract class that implements interface but doesn't define all methods)
@ 2002-12-05 9:56 Tom Tromey
0 siblings, 0 replies; 5+ messages in thread
From: Tom Tromey @ 2002-12-05 9:56 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR libgcj/8823; it has been noted by GNATS.
From: Tom Tromey <tromey@redhat.com>
To: mark@klomp.org
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: libgcj/8823: gij doesn't handle "Marinda methods" (abstract class that implements interface but doesn't define all methods)
Date: 05 Dec 2002 10:49:02 -0700
>>>>> "Mark" == Mark Wielaard <mark@klomp.org> writes:
Mark> Number: 8823
Mark> The following code shows the problem:
Mark> When compiled with "gcj -C *.java" and run with "gij C" it throws:
I didn't see any attached code.
Could you email it?
Tom
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: libgcj/8823: gij doesn't handle "Marinda methods" (abstract class that implements interface but doesn't define all methods)
@ 2002-12-08 16:06 Tom Tromey
0 siblings, 0 replies; 5+ messages in thread
From: Tom Tromey @ 2002-12-08 16:06 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR libgcj/8823; it has been noted by GNATS.
From: Tom Tromey <tromey@redhat.com>
To: mark@klomp.org
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: libgcj/8823: gij doesn't handle "Marinda methods" (abstract class that implements interface but doesn't define all methods)
Date: 08 Dec 2002 17:03:49 -0700
Tom> Second, we definitely have to search for the method in this case. I'm
Tom> testing a fix; in resolve.cc we now search superinterfaces of abstract
Tom> classes.
It turns out to be much more complex :-(.
We don't account for "Marinda methods" in _Jv_LayoutVTableMethods.
Tom
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: libgcj/8823: gij doesn't handle "Marinda methods" (abstract class that implements interface but doesn't define all methods)
@ 2002-12-08 14:56 Tom Tromey
0 siblings, 0 replies; 5+ messages in thread
From: Tom Tromey @ 2002-12-08 14:56 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR libgcj/8823; it has been noted by GNATS.
From: Tom Tromey <tromey@redhat.com>
To: mark@klomp.org
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: libgcj/8823: gij doesn't handle "Marinda methods" (abstract class that implements interface but doesn't define all methods)
Date: 08 Dec 2002 15:54:04 -0700
>>>>> "Mark" == Mark Wielaard <mark@klomp.org> writes:
Mark> Number: 8823
Mark> Synopsis: gij doesn't handle "Marinda methods" (abstract class that implements interface but doesn't define all methods)
I looked at this today.
First, gcj should probably generate a declaration for each such method
in the abstract class' .class file. I think there may be another PR
on this topic.
Second, we definitely have to search for the method in this case. I'm
testing a fix; in resolve.cc we now search superinterfaces of abstract
classes.
Tom
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: libgcj/8823: gij doesn't handle "Marinda methods" (abstract class that implements interface but doesn't define all methods)
@ 2002-12-05 15:36 Mark Wielaard
0 siblings, 0 replies; 5+ messages in thread
From: Mark Wielaard @ 2002-12-05 15:36 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR libgcj/8823; it has been noted by GNATS.
From: Mark Wielaard <mark@klomp.org>
To: tromey@redhat.com
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: libgcj/8823: gij doesn't handle "Marinda methods" (abstract
class that implements interface but doesn't define all methods)
Date: 06 Dec 2002 00:31:10 +0100
--=-XTxIB+L0stST87P2zMv4
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Hi Tom,
On Thu, 2002-12-05 at 18:49, Tom Tromey wrote:
> >>>>> "Mark" == Mark Wielaard <mark@klomp.org> writes:
>
> Mark> Number: 8823
> Mark> The following code shows the problem:
> Mark> When compiled with "gcj -C *.java" and run with "gij C" it throws:
>
> I didn't see any attached code.
> Could you email it?
Attached. It is now also in the How To Repeat section.
Cheers,
Mark
--=-XTxIB+L0stST87P2zMv4
Content-Disposition: inline; filename=I.java
Content-Transfer-Encoding: quoted-printable
Content-Type: text/x-java; name=I.java; charset=ISO-8859-15
public interface I
{
public void m();
}
--=-XTxIB+L0stST87P2zMv4
Content-Disposition: attachment; filename=A.java
Content-Transfer-Encoding: quoted-printable
Content-Type: text/x-java; name=A.java; charset=ISO-8859-15
public abstract class A implements I
{
// But doesn't define m()
}
--=-XTxIB+L0stST87P2zMv4
Content-Disposition: attachment; filename=C.java
Content-Transfer-Encoding: quoted-printable
Content-Type: text/x-java; name=C.java; charset=ISO-8859-15
public class C extends A // which means it implements I
{
public static void main(String[] args)
{
// Defining c as either I or C will work.
A c =3D new C();
c.m();
}
public void m()
{
System.out.println("Hello World!");
}
}
--=-XTxIB+L0stST87P2zMv4--
^ permalink raw reply [flat|nested] 5+ messages in thread
* libgcj/8823: gij doesn't handle "Marinda methods" (abstract class that implements interface but doesn't define all methods)
@ 2002-12-05 9:36 mark
0 siblings, 0 replies; 5+ messages in thread
From: mark @ 2002-12-05 9:36 UTC (permalink / raw)
To: gcc-gnats
>Number: 8823
>Category: libgcj
>Synopsis: gij doesn't handle "Marinda methods" (abstract class that implements interface but doesn't define all methods)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Dec 05 09:36:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: mark@klomp.org
>Release: gij (GNU libgcj) version 3.3 20021205 (experimental)
>Organization:
>Environment:
>Description:
_Jv_ResolvePoolEntry doesn't lookup methods in (abstract) superclasses that (didn't) implement an Interface method.
The following code shows the problem:
When compiled with "gcj -C *.java" and run with "gij C" it throws:
Exception in thread "main" java.lang.NoSuchMethodError: method A.m was not found.
at _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/local/gcc33/lib/libgcj.so.3.0.0)
at C.main(java.lang.String[]) (Unknown Source)
More background information (look for Miranda) can be found at the IK.VM.NET weblog of Jeroen Frijters:
http://radio.weblogs.com/0109845/2002/11/22.html#a65
http://radio.weblogs.com/0109845/2002/11/25.html#a67
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2002-12-09 0:06 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-05 9:56 libgcj/8823: gij doesn't handle "Marinda methods" (abstract class that implements interface but doesn't define all methods) Tom Tromey
-- strict thread matches above, loose matches on Subject: below --
2002-12-08 16:06 Tom Tromey
2002-12-08 14:56 Tom Tromey
2002-12-05 15:36 Mark Wielaard
2002-12-05 9:36 mark
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).