java/1476: compiler allows assignment to interface constants
bryce@albatross.co.nz
bryce@albatross.co.nz
Wed Dec 20 12:29:00 GMT 2000
>Number: 1476
>Category: java
>Synopsis: compiler allows assignment to interface constants
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: apbianco
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Dec 20 12:20:35 PST 2000
>Closed-Date: Tue Mar 07 16:31:22 PST 2000
>Last-Modified: Tue Mar 7 16:40:00 PST 2000
>Originator: Bryce McKinlay <bryce@albatross.co.nz>
>Release: current
>Organization:
>Environment:
any
>Description:
Constants declared in interfaces are implicitly "static
final". However, the gcj source parser apparantly allows
assignment to these interface constants.
See below for example code. When generating bytecode with
"gcj -C", the compiler correctly reports:
Test.java:5: Can't assign a value to the final variable `A'.
but with "gcj -c", no error is reported!
>How-To-Repeat:
interface Foo
{
int A = 1;
}
class Test implements Foo
{
Test ()
{
A = 2;
}
}
>Fix:
Apply the patch. Try the test case with a newly
built front-end.
>Release-Note:
Passed the libgcj recompilation test.
>Audit-Trail:
Formerly PR gcj/94
State-Changed-From-To: open->feedback
State-Changed-By: apbianco
State-Changed-When: Tue Feb 22 22:05:21 2000
State-Changed-Why:
There is a patch.
From: apbianco@cygnus.com
To: apbianco@cygnus.com, bryce@albatross.co.nz,
java-gnats@sourceware.cygnus.com
Cc:
Subject: Re: gcj/94
Date: 23 Feb 2000 06:05:21 -0000
Synopsis: compiler allows assignment to interface constants
State-Changed-From-To: open->feedback
State-Changed-By: apbianco
State-Changed-When: Tue Feb 22 22:05:21 2000
State-Changed-Why:
There is a patch.
http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=94&database=java
State-Changed-From-To: feedback->closed
State-Changed-By: apbianco
State-Changed-When: Tue Mar 7 16:31:22 2000
State-Changed-Why:
I checked in a patch to fix this PR:
http://gcc.gnu.org/ml/gcc-patches/2000-03/msg00235.html
From: apbianco@cygnus.com
To: apbianco@cygnus.com, bryce@albatross.co.nz,
java-gnats@sourceware.cygnus.com
Cc:
Subject: Re: gcj/94
Date: 8 Mar 2000 00:31:23 -0000
Synopsis: compiler allows assignment to interface constants
State-Changed-From-To: feedback->closed
State-Changed-By: apbianco
State-Changed-When: Tue Mar 7 16:31:22 2000
State-Changed-Why:
I checked in a patch to fix this PR:
http://gcc.gnu.org/ml/gcc-patches/2000-03/msg00235.html
http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=94&database=java
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="patch"
MjAwMC0wMi0yMiAgQWxleGFuZHJlIFBldGl0LUJpYW5jbyAgPGFwYmlhbmNvQGN5Z251cy5jb20+
CgoJKiBwYXJzZS55IChjaGVja19maW5hbF9hc3NpZ25tZW50KTogRXh0ZW5kZWQgdG8gcHJvY2Vz
cwoJQ09NUE9VTkRfRVhQUi4KCShwYXRjaF9hc3NpZ25tZW50KTogSGF2ZSBjaGVja19maW5hbF9h
c3NpZ25tZW50IGNhbGxlZCBvbmx5IG9uY2UuCgpJbmRleDogcGFyc2UueQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
UyBmaWxlOiAvY3ZzL2djYy9lZ2NzL2djYy9qYXZhL3BhcnNlLnksdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMTM1CmRpZmYgLXUgLXAgLXIxLjEzNSBwYXJzZS55Ci0tLSBwYXJzZS55CTIwMDAvMDIv
MTUgMjI6NTQ6MjEJMS4xMzUKKysrIHBhcnNlLnkJMjAwMC8wMi8yMyAwNjowMjoxOApAQCAtOTA4
MCw2ICs5MDgwLDEwIEBAIHN0YXRpYyBpbnQKIGNoZWNrX2ZpbmFsX2Fzc2lnbm1lbnQgKGx2YWx1
ZSwgd2ZsKQogICAgICB0cmVlIGx2YWx1ZSwgd2ZsOwogeworICBpZiAoVFJFRV9DT0RFIChsdmFs
dWUpID09IENPTVBPVU5EX0VYUFIgCisgICAgICAmJiBKREVDTF9QIChUUkVFX09QRVJBTkQgKGx2
YWx1ZSwgMSkpKQorICAgIGx2YWx1ZSA9IFRSRUVfT1BFUkFORCAobHZhbHVlLCAxKTsKKwogICBp
ZiAoSkRFQ0xfUCAobHZhbHVlKSAKICAgICAgICYmIEZJRUxEX0ZJTkFMIChsdmFsdWUpICYmICFJ
U19DTElOSVQgKGN1cnJlbnRfZnVuY3Rpb25fZGVjbCkpCiAgICAgewpAQCAtOTE1OSw3ICs5MTYz
LDcgQEAgcGF0Y2hfYXNzaWdubWVudCAobm9kZSwgd2ZsX29wMSwgd2ZsX29wMgogICBlbHNlIGlm
IChUUkVFX0NPREUgKHdmbF9vcDEpID09IEVYUFJfV0lUSF9GSUxFX0xPQ0FUSU9OCiAJICAgJiYg
cmVzb2x2ZV9leHByZXNzaW9uX25hbWUgKHdmbF9vcDEsICZsbHZhbHVlKSkKICAgICB7Ci0gICAg
ICBpZiAoY2hlY2tfZmluYWxfYXNzaWdubWVudCAobGx2YWx1ZSwgd2ZsX29wMSkpCisgICAgICBp
ZiAoIWVycm9yX2ZvdW5kICYmIGNoZWNrX2ZpbmFsX2Fzc2lnbm1lbnQgKGxsdmFsdWUsIHdmbF9v
cDEpKQogCXsKIAkgIC8qIFdoYXQgd2Ugc2hvdWxkIGRvIGluc3RlYWQgaXMgcmVzZXR0aW5nIHRo
ZSBhbGwgdGhlIGZsYWdzCiAJICAgICBwcmV2aW91c2x5IHNldCwgZXhjaGFuZ2UgbHZhbHVlIGZv
ciBsbHZhbHVlIGFuZCBjb250aW51ZS4gKi8K
More information about the Gcc-prs
mailing list