>Number: 6336 >Category: java >Synopsis: function local classes name clash with other with same name >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: rejects-legal >Submitter-Id: net >Arrival-Date: Wed Apr 17 07:36:00 PDT 2002 >Closed-Date: >Last-Modified: >Originator: >Release: 3.1 20020417 (prerelease) >Organization: >Environment: System: Linux cm-linux.lla.sema.se 2.4.17 #8 mån feb 18 17:25:46 CET 2002 i686 unknown Architecture: i686 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ./configure i686-pc-linux-gnu --prefix=/usr/local/gcc --enable-threads --enable-languages=java --disable-static : (reconfigured) : (reconfigured) : (reconfigured) ./configure i686-pc-linux-gnu --prefix=/usr/local/gcc --enable-threads --enable-languages=java --disable-static : (reconfigured) : (reconfigured) ./configure i686-pc-linux-gnu --prefix=/usr/local/gcc --enable-threads --enable-languages=java --disable-static : (reconfigured) : (reconfigured) : (reconfigured) : (reconfigured) : (reconfigured) : (reconfigured) ./configure --prefix=/usr/local/gcc --enable-threads --enable-languages=java --disable-static >Description: ClassPath from CVS contains code with function local classes with the same name. This is OK with J2SDK, and it should be. gcj fails to compile it simplified code: --------------------- snip ------------------------------------- import java.util.Vector; public class x { void f(Object[] l) { class x1 { }; } void f(Vector l) { class x1 { }; } }; --------------------- snip ------------------------------------- gcj complains: bash-2.05a$ gcj -c /tmp/x.java /tmp/x.java:13: Class `x$x1' already defined in /tmp/x.java:7. class x1 ^ >How-To-Repeat: Compile the code above (test case) >Fix: fix: javac (J2SDK) output classes like from the example: bash-2.05a$ ls /tmp x$1$x1.class x$2$x1.class x.class x.java work-around: rename one instance >Release-Note: >Audit-Trail: >Unformatted: