The LinkedHashMap fails to remove the eldest entry when returning true from the removeEldestEntry method.
Created attachment 8251 [details] Code to reproduce the problem Compile using gcj --main foo and run the result. Should print "ERROR, Size is 20". Compile and run using a standard Java, should print "OK, Size is 15".
[wolfram:~] andreast% gcj foo.java --main=foo -o foo.exe [wolfram:~] andreast% ./foo.exe OK, Size is 15 [wolfram:~] andreast% gcj -v Using built-in specs. Reading specs from /Volumes/src/gcc/gcc-cvs/testbin/lib/gcc/powerpc-apple-darwin7.8.0/4.0.0/../../../libgcj.spec rename spec lib to liborig Target: powerpc-apple-darwin7.8.0 Configured with: /Volumes/src/gcc/gcc-cvs/gcc/configure --prefix=/Volumes/src/gcc/gcc-cvs/testbin --enable-languages=c,c++,java --enable-java-awt=gtk,xlib --enable-gtk-cairo --disable-checking --enable-libgcj-multifile Just a fyi, it seems to work on cvs 4.0.0.
forgot the gcc version: gcc version 4.0.0 20050221 (experimental)
This was fixed a couple of days ago: http://lists.gnu.org/archive/html/classpath/2005-02/msg00085.html