This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: fix PR 28892


Tom Tromey wrote:
"Andrew" == Andrew Haley <aph@redhat.com> writes:


Andrew> I'd have made it WONTFIX.  Sadly, however, there seems to be no rule
Andrew> in the specification that forbids final fields being rewritten in
Andrew> methods other than clinit.

In this case I don't think the fields are being rewritten -- they are
simply being initialized by a different function.

Andrew> This makes some optimizations harder.  I think we need a flag to tell
Andrew> gcj that what we are compiling may not be Java code.  Then we can do
Andrew> better optimizations when we know that it is.

Unfortunately I think final fields may be changed via reflection.


Is this behavior specified anywhere?


I have not carefully read JLS 3, but IIRC in the good old days, it was kind of unspecified behavior.

David Daney


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]