This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
java/1319: internal error when compiling static inner class code
- To: java-gnats at sourceware dot cygnus dot com
- Subject: java/1319: internal error when compiling static inner class code
- From: osk at hem dot passagen dot se
- Date: 4 Aug 2000 11:28:41 -0000
- Reply-To: osk at hem dot passagen dot se
>Number: 1319
>Category: java
>Synopsis: internal error when compiling static inner class code
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: apbianco
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Dec 20 12:19:01 PST 2000
>Closed-Date: Tue Nov 21 21:26:22 PST 2000
>Last-Modified: Tue Nov 21 21:30:00 PST 2000
>Originator: Oskar Liljeblad
>Release: unknown-1.0
>Organization:
>Environment:
egcs 2.96 20000731
>Description:
Compiling the code below gives this error:
$ gcj -C Collections.java
Collections.java: In class `Collections$SomeInnerClass':
Collections.java: In method `access$0(Collections$SomeInnerClass)':
Collections.java:0: Tree check: expected tree_list, have pointer_type
Collections.java:0: Internal compiler error in find_as_inner_class_do, at ../gcc/java/parse.y:3517
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
$
If you remove 'static' from SomeInnerClass or super.next() it
compiles fine.
>How-To-Repeat:
class Collections {
static class SomeInnerClass {
public void bleh() {
new Iterator() {
public void next() {
super.next();
}
};
}
}
}
class Iterator {
public void next() { }
}
>Fix:
>Release-Note:
>Audit-Trail:
Formerly PR gcj/297
State-Changed-From-To: open->feedback
State-Changed-By: apbianco
State-Changed-When: Tue Oct 31 20:19:54 2000
State-Changed-Why:
I attached a patch.
From: apbianco@cygnus.com
To: apbianco@cygnus.com, java-gnats@sourceware.cygnus.com, osk@hem.passagen.se
Cc:
Subject: Re: gcj/297
Date: 1 Nov 2000 04:19:55 -0000
Synopsis: internal error when compiling static inner class code
State-Changed-From-To: open->feedback
State-Changed-By: apbianco
State-Changed-When: Tue Oct 31 20:19:54 2000
State-Changed-Why:
I attached a patch.
http://sources.redhat.com/cgi-bin/gnatsweb.pl?cmd=view&pr=297&database=java
From: Bryce McKinlay <bryce@albatross.co.nz>
To: apbianco@cygnus.com
Cc: java-gnats@sourceware.cygnus.com
Subject: Re: gcj/297
Date: Thu, 02 Nov 2000 21:11:44 +1300
apbianco@cygnus.com wrote:
> Synopsis: internal error when compiling static inner class code
>
> State-Changed-From-To: open->feedback
> State-Changed-By: apbianco
> State-Changed-When: Tue Oct 31 20:19:54 2000
> State-Changed-Why:
> I attached a patch.
Thanks Alex.
There is still a related problem with the way fields are resolved for static
classes:
class SI
{
int foo;
static class StaticInner extends SI
{
void a()
{
int k = foo;
}
}
}
$ gcj -c SI.java
SI.java: In class `SI$StaticInner':
SI.java: In method `a()':
SI.java:12: Undefined variable or class name: `this$0'.
}
^
1 error
[This is with the 297 fix applied]
regards
[ bryce ]
From: Alexandre Petit-Bianco <apbianco@cygnus.com>
To: Bryce McKinlay <bryce@albatross.co.nz>
Cc: java-gnats@sourceware.cygnus.com
Subject: Re: gcj/297
Date: Thu, 2 Nov 2000 20:08:26 -0800 (PST)
Bryce McKinlay writes:
> There is still a related problem with the way fields are resolved
> for static classes:
Oh, yes, thanks. I posted a new patch.
./A
State-Changed-From-To: feedback->closed
State-Changed-By: apbianco
State-Changed-When: Tue Nov 21 21:26:22 2000
State-Changed-Why:
I checked in the following patch:
http://gcc.gnu.org/ml/gcc-patches/2000-11/msg01217.html
From: apbianco@cygnus.com
To: apbianco@cygnus.com, java-gnats@sourceware.cygnus.com, osk@hem.passagen.se
Cc:
Subject: Re: gcj/297
Date: 22 Nov 2000 05:26:22 -0000
Synopsis: internal error when compiling static inner class code
State-Changed-From-To: feedback->closed
State-Changed-By: apbianco
State-Changed-When: Tue Nov 21 21:26:22 2000
State-Changed-Why:
I checked in the following patch:
http://gcc.gnu.org/ml/gcc-patches/2000-11/msg01217.html
http://sources.redhat.com/cgi-bin/gnatsweb.pl?cmd=view&pr=297&database=java
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="patch"
MjAwMC0xMC0zMSAgQWxleGFuZHJlIFBldGl0LUJpYW5jbyAgPGFwYmlhbmNvQGN5Z251cy5jb20+
CgoJKiBwYXJzZS55IChvdXRlcl9maWVsZF9hY2Nlc3NfcCk6IEluaGVyaXRlZCBmaWVsZHMgYXJl
bid0Cgljb25zaWRlciBvdXRlciBmaWVsZHMuCgkobWF5YmVfYnVpbGRfdGhpc25fYWNjZXNzX21l
dGhvZCk6IFVzZQoJUFVSRV9JTk5FUl9DTEFTU19UWVBFX1AgaW5zdGVhZCBvZiBJTk5FUl9DTEFT
U19UWVBFX1AuCgkocmVzb2x2ZV9leHByZXNzaW9uX25hbWUpOiBUcmlnZ2VyIGFuIGVycm9yIGlm
IGEgc3RhdGljIGZpZWxkCglpcyBiZWluZyBhY2Nlc3NlZCBhcyBhbiBvdXRlciBmaWVsZC4KCklu
ZGV4OiBwYXJzZS55Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvZ2NjL2VnY3MvZ2NjL2phdmEv
cGFyc2UueSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMjEKZGlmZiAtdSAtcCAtcjEuMjIxIHBh
cnNlLnkKLS0tIHBhcnNlLnkJMjAwMC8xMC8yNSAwNTo0NzoyOAkxLjIyMQorKysgcGFyc2UueQky
MDAwLzExLzAyIDE5OjM5OjQ2CkBAIC03ODg2LDYgKzc5NDYsMTEgQEAgb3V0ZXJfZmllbGRfYWNj
ZXNzX3AgKHR5cGUsIGRlY2wpCiAgICAgICB8fCBUUkVFX0NPREUgKGRlY2wpICE9IEZJRUxEX0RF
Q0wKICAgICAgIHx8IERFQ0xfQ09OVEVYVCAoZGVjbCkgPT0gdHlwZSkKICAgICByZXR1cm4gMDsK
KyAgCisgIC8qIElmIHRoZSBpbm5lciBjbGFzcyBleHRlbmRzIHRoZSBkZWNsYXJhdGlvbiBjb250
ZXh0IG9mIHRoZSBmaWVsZAorICAgICB3ZSdyZSB0cnkgdG8gYWNjZXMsIHRoZW4gdGhpcyBpc24n
dCBhbiBvdXRlciBmaWVsZCBhY2Nlc3MgKi8KKyAgaWYgKGluaGVyaXRzX2Zyb21fcCAodHlwZSwg
REVDTF9DT05URVhUIChkZWNsKSkpCisgICAgcmV0dXJuIDA7CiAKICAgZm9yICh0eXBlID0gVFJF
RV9UWVBFIChERUNMX0NPTlRFWFQgKFRZUEVfTkFNRSAodHlwZSkpKTsgOwogICAgICAgIHR5cGUg
PSBUUkVFX1RZUEUgKERFQ0xfQ09OVEVYVCAoVFlQRV9OQU1FICh0eXBlKSkpKQpAQCAtODIzNyw3
ICs4MzAzLDcgQEAgbWF5YmVfYnVpbGRfdGhpc25fYWNjZXNzX21ldGhvZCAodHlwZSkKIAogICAv
KiBJZiBUWVBFIGlzIGEgdG9wLWxldmVsIGNsYXNzLCBubyBhY2Nlc3MgbWV0aG9kIGlzIHJlcXVp
cmVkLgogICAgICBJZiB0aGVyZSBhbHJlYWR5IGlzIHN1Y2ggYW4gYWNjZXNzIG1ldGhvZCwgYmFp
bCBvdXQuICovCi0gIGlmIChDTEFTU19BQ0NFU1MwX0dFTkVSQVRFRF9QICh0eXBlKSB8fCAhSU5O
RVJfQ0xBU1NfVFlQRV9QICh0eXBlKSkKKyAgaWYgKENMQVNTX0FDQ0VTUzBfR0VORVJBVEVEX1Ag
KHR5cGUpIHx8ICFQVVJFX0lOTkVSX0NMQVNTX1RZUEVfUCAodHlwZSkpCiAgICAgcmV0dXJuIE5V
TExfVFJFRTsKIAogICAvKiBXZSBnZW5lcmF0ZSB0aGUgbWV0aG9kLiBUaGUgbWV0aG9kIGxvb2tz
IGxpa2U6CkBAIC04ODY1LDcgKzg5MzEsMTQgQEAgcmVzb2x2ZV9leHByZXNzaW9uX25hbWUgKGlk
LCBvcmlnKQogCQkgdG8gYWNjZXNzIGEgZmllbGQgYmVsb25naW5nIHRvIGFuIG91dGVyIGNsYXNz
LCBidWlsZAogCQkgdGhlIGFjY2VzcyB0byB0aGUgZmllbGQgKi8KIAkgICAgICBpZiAoIWZzICYm
IG91dGVyX2ZpZWxkX2FjY2Vzc19wIChjdXJyZW50X2NsYXNzLCBkZWNsKSkKLQkJcmV0dXJuIGJ1
aWxkX291dGVyX2ZpZWxkX2FjY2VzcyAoaWQsIGRlY2wpOworCQl7CisJCSAgaWYgKENMQVNTX1NU
QVRJQyAoVFlQRV9OQU1FIChjdXJyZW50X2NsYXNzKSkpCisJCSAgICB7CisJCSAgICAgIHN0YXRp
Y19yZWZfZXJyIChpZCwgREVDTF9OQU1FIChkZWNsKSwgY3VycmVudF9jbGFzcyk7CisJCSAgICAg
IHJldHVybiBlcnJvcl9tYXJrX25vZGU7CisJCSAgICB9CisJCSAgcmV0dXJuIGJ1aWxkX291dGVy
X2ZpZWxkX2FjY2VzcyAoaWQsIGRlY2wpOworCQl9CiAKIAkgICAgICAvKiBPdGhlcndpc2UgYnVp
bGQgd2hhdCBpdCB0YWtlcyB0byBhY2Nlc3MgdGhlIGZpZWxkICovCiAJICAgICAgYWNjZXNzID0g
YnVpbGRfZmllbGRfcmVmICgoZnMgPyBOVUxMX1RSRUUgOiBjdXJyZW50X3RoaXMpLAo=