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).