Package-private access checking in GCJ 3.3

Tom Tromey tromey@redhat.com
Sun Jun 15 19:18:00 GMT 2003


>>>>> "Ranjit" == Ranjit Mathew <rmathew@hotmail.com> writes:

Ranjit> This change however exposes another problem - we do not use
Ranjit> any bit to indicate package-private access and so 
Ranjit> java_accstring_lookup( ) returns the closest available set
Ranjit> flag, if any, and "" otherwise. This makes for some rather
Ranjit> confusing error messages. :-)

Do you see a nice way to solve this?  Could you post a sample program
and message so we know the details?  Maybe we could follow what some
other compiler (jacks, JDK) does.

Ranjit> (BTW, we use the same bit for both ACC_SUPER and 
Ranjit> ACC_SYNCHRONIZED and these are the only two that share a
Ranjit> bit - is this by design or is this an oversight?)

Design.  See java.lang.reflect.Modifier -- these values are specified
by Java, not us.

Ranjit> I have only "bubblestrapped" with this change and tested 
Ranjit> against very simple testcases.

Make sure you rebuild libgcj from scratch.  We may have library bugs
that we don't know of due to this compiler bug.

Tom



More information about the Java mailing list