public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* java/1451: failure to compile an interface method invocation on a sub-interface
@ 2000-12-20 12:27 bryce
0 siblings, 0 replies; only message in thread
From: bryce @ 2000-12-20 12:27 UTC (permalink / raw)
To: java-gnats
>Number: 1451
>Category: java
>Synopsis: failure to compile an interface method invocation on a sub-interface
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: apbianco
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Dec 20 12:20:04 PST 2000
>Closed-Date: Wed May 31 23:59:18 PDT 2000
>Last-Modified: Thu Jun 1 00:00:00 PDT 2000
>Originator: bryce@albatross.co.nz
>Release: gcc version 2.96 19991006 (experimental)
>Organization:
>Environment:
any
>Description:
gcj fails to compile correct .java source when an interface method [a()] is
invoked on a reference to a sub-interface [B].
The correct behavior for "-C", according to Godmar Back
(ref: http://sourceware.cygnus.com/ml/java-discuss/1999-q4/msg00068.html )
would be to generate an "invokeinterface InterfaceMethodref class: B name_and_type: <a ()void>",
as jikes does, and not an "invokeinterface InterfaceMethodref class: A name_and_type: <a ()void>"
like current versions of javac do.
Currently, gcj does not seem to implement either of these!
>How-To-Repeat:
This code demonstrates the problem (this is also in libgcj cvs
under testsuite/libjava.compile/invokeinterface):
public interface A
{
public void a();
}
public interface B extends A
{
public void b();
}
public class Test implements B
{
public static void main(String args[])
{
Test t = new Test();
B a = (B) t;
a.a();
}
public void a()
{
System.out.println("A");
}
public void b()
{
System.out.println("B");
}
}
>Fix:
>Release-Note:
>Audit-Trail:
Formerly PR gcj/71
From: bryce@sourceware.cygnus.com
To: java-gnats@sourceware.cygnus.com
Cc:
Subject: gcj/71
Date: 20 Oct 1999 00:09:33 -0000
1999-10-19 Bryce McKinlay <bryce@albatross.co.nz>
* libjava.compile/invokeinterface: New directory.
* libjava.compile/invokeinterface/Test.java: New file. Test code for
PR gcj/71 and PR gcj/72.
* libjava.compile/invokeinterface/A.java: New file.
* libjava.compile/invokeinterface/B.java: New file.
State-Changed-From-To: open->feedback
State-Changed-By: apbianco
State-Changed-When: Wed Apr 5 23:20:16 2000
State-Changed-Why:
Here's a patch.
From: apbianco@cygnus.com
To: apbianco@cygnus.com, bryce@albatross.co.nz, gback@cs.utah.edu,
java-gnats@sourceware.cygnus.com
Cc:
Subject: Re: gcj/71
Date: 6 Apr 2000 06:20:16 -0000
Synopsis: failure to compile an interface method invocation on a sub-interface
State-Changed-From-To: open->feedback
State-Changed-By: apbianco
State-Changed-When: Wed Apr 5 23:20:16 2000
State-Changed-Why:
Here's a patch.
http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=71&database=java
State-Changed-From-To: feedback->closed
State-Changed-By: apbianco
State-Changed-When: Wed May 31 23:59:18 2000
State-Changed-Why:
I checked in the following patch:
http://gcc.gnu.org/ml/gcc-patches/2000-05/msg01720.html
From: apbianco@cygnus.com
To: apbianco@cygnus.com, bryce@albatross.co.nz, gback@cs.utah.edu,
java-gnats@sourceware.cygnus.com
Cc:
Subject: Re: gcj/71
Date: 1 Jun 2000 06:59:18 -0000
Synopsis: failure to compile an interface method invocation on a sub-interface
State-Changed-From-To: feedback->closed
State-Changed-By: apbianco
State-Changed-When: Wed May 31 23:59:18 2000
State-Changed-Why:
I checked in the following patch:
http://gcc.gnu.org/ml/gcc-patches/2000-05/msg01720.html
http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=71&database=java
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="patch"
MjAwMC0wNC0wNSAgQWxleGFuZHJlIFBldGl0LUJpYW5jbyAgPGFwYmlhbmNvQGN5Z251cy5jb20+
CgoJKiBqY2Ytd3JpdGUgKGdlbmVyYXRlX2J5dGVjb2RlX2luc25zKTogQXQgaW52b2thdGlvbiB0
aW1lLCBhbHdheQoJcmVsYXRlIGFuIGludGVyZmFjZSBtZXRob2QgdG8gdGhlIHR5cGUgb2YgaXRz
IHNlbGVjdG9yLgoJCkluZGV4OiBqY2Ytd3JpdGUuYwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zz
L2djYy9lZ2NzL2djYy9qYXZhL2pjZi13cml0ZS5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjUz
CmRpZmYgLXUgLXAgLXIxLjUzIGpjZi13cml0ZS5jCi0tLSBqY2Ytd3JpdGUuYwkyMDAwLzAzLzI4
IDA4OjMzOjQ1CTEuNTMKKysrIGpjZi13cml0ZS5jCTIwMDAvMDQvMDYgMDM6MzY6MjUKQEAgLTI1
MzQsOCArMjUzNCw4IEBAIGdlbmVyYXRlX2J5dGVjb2RlX2luc25zIChleHAsIHRhcmdldCwgc3QK
IAkgIE5PVEVfUE9QICgxKTsgIC8qIFBvcCBpbXBsaWNpdCB0aGlzLiAqLwogCWlmIChUUkVFX0NP
REUgKGYpID09IEZVTkNUSU9OX0RFQ0wgJiYgREVDTF9DT05URVhUIChmKSAhPSBOVUxMX1RSRUUp
CiAJICB7Ci0JICAgIGludCBpbmRleCA9IGZpbmRfbWV0aG9kcmVmX2luZGV4ICgmc3RhdGUtPmNw
b29sLCBmKTsKLQkgICAgaW50IGludGVyZmFjZSA9IDA7CisJICAgIHRyZWUgc2F2ZWRfY29udGV4
dDsKKwkgICAgaW50IGluZGV4LCBpbnRlcmZhY2UgPSAwOwogCSAgICBSRVNFUlZFICg1KTsKIAkg
ICAgaWYgKE1FVEhPRF9TVEFUSUMgKGYpKQogCSAgICAgIE9QMSAoT1BDT0RFX2ludm9rZXN0YXRp
Yyk7CkBAIC0yNTQ5LDYgKzI1NDksMTUgQEAgZ2VuZXJhdGVfYnl0ZWNvZGVfaW5zbnMgKGV4cCwg
dGFyZ2V0LCBzdAogCSAgICAgIH0KIAkgICAgZWxzZQogCSAgICAgIE9QMSAoT1BDT0RFX2ludm9r
ZXZpcnR1YWwpOworCSAgICBpZiAoaW50ZXJmYWNlKQorCSAgICAgIHsKKwkJc2F2ZWRfY29udGV4
dCA9IERFQ0xfQ09OVEVYVCAoZik7CisJCURFQ0xfQ09OVEVYVCAoZikgPSAKKwkJICBUUkVFX1RZ
UEUgKFRSRUVfVFlQRSAoVFJFRV9WQUxVRSAoVFJFRV9PUEVSQU5EIChleHAsIDEpKSkpOworCSAg
ICAgIH0KKwkgICAgaW5kZXggPSBmaW5kX21ldGhvZHJlZl9pbmRleCAoJnN0YXRlLT5jcG9vbCwg
Zik7CisJICAgIGlmIChpbnRlcmZhY2UpCisJICAgICAgREVDTF9DT05URVhUIChmKSA9IHNhdmVk
X2NvbnRleHQ7CiAJICAgIE9QMiAoaW5kZXgpOwogCSAgICBmID0gVFJFRV9UWVBFIChUUkVFX1RZ
UEUgKGYpKTsKIAkgICAgaWYgKFRSRUVfQ09ERSAoZikgIT0gVk9JRF9UWVBFKQo=
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2000-12-20 12:27 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-12-20 12:27 java/1451: failure to compile an interface method invocation on a sub-interface bryce
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).