(this is preliminary information, real test case to follow :-) Rick's finding with gcj4 (GCC) 4.0.2 20051130 (Red Hat 4.0.2-12.EL4) while building jdom: cd ../../jdom-1.0 + /usr/bin/gcj4 -C -Ipackage -Isrc/java -O -g -d /home/rmoseley/frysk-devel/frysk/RHEL-4/frysk-0.0.0.20051211.1/build/jdom-1.0 @jdom.files ./src/java/org/jdom/ContentList.java: In class 'org.jdom.ContentList$FilterListIterator': ./src/java/org/jdom/ContentList.java: In method 'org.jdom.ContentList$FilterListIterator.hasNext()': ./src/java/org/jdom/ContentList.java:755: error: Constant expression required. case CREATE: cursor = initialCursor; CREATE is declared private static final int CREATE = 1 I've also seen the same problem (same code) on FC-5's 4.1 compiler. This was compiling with the U2 compiler. There is a possible workaround - edit the code so that the methods are not private.
class C { private static final int CONST = 0; class I { public void f () { switch(0) { case CONST: } } } }
[cagney@eclipse_1 jdom-1.0]$ gcj4 -C -I src/java src/java/org/jdom/ContentList.java src/java/org/jdom/ContentList.java: In class 'C$I': src/java/org/jdom/ContentList.java: In method 'C$I.f()': src/java/org/jdom/ContentList.java:7: error: Constant expression required. case CONST: ^ src/java/org/jdom/ContentList.java: In class 'C': src/java/org/jdom/ContentList.java: In method '<clinit>()': src/java/org/jdom/ContentList.java:3: error: final field âCONSTâ may not have been initialized src/java/org/jdom/ContentList.java:1: confused by earlier errors, bailing out
Created attachment 122172 [details] Shan't.
After a small change to one file I was able to completely build the frysk package using the 4.0.2-12 compiler.