Toggling line 17 of the (soon to be) attached source file allows the compilation to proceed. Bryce can duplicate this error with his build from head.
$ gcj --version gcj (GCC) 4.0.0 20050320 (Red Hat 4.0.0-0.35) $ wget http://people.redhat.com/~overholt/Main.java $ javac Main.java $ gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic -o Main-noO2.so Main.class $ gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic -O2 -o Main-withO2.so Main.class Main.java: In class 'Main': Main.java: In method 'Main.buildLocation(java.lang.String,java.net.URL,java.lang.String)': Main.java:0: internal compiler error: in make_edges, at cfgbuild.c:327 -- Summary: ICE in make_edges, at cfgbuild.c:327 on x86_64 (with O2 - not with no optimizations) Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: overholt at redhat dot com CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20606