This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Patch for Preview: jcf-io.c and Win32 case-insensitive filename handling


>>>>> "Mohan" == Mohan Embar <gnustuff at thisiscool dot com> writes:

Mohan> This proposed patch aims to resolve gcj compilation glitches
Mohan> due to the Win32 case-insensitive filesystem.

Mohan> However, public Java classes must exist in same-named,
Mohan> same-case source files and therefore (cringe), I believe that
Mohan> it's the compiler's job (and not the runtime's job) to enforce
Mohan> case-strictness for these specific instances on
Mohan> case-insensitive filesystems.  Since there is no portable way
Mohan> of doing this, it stands to reason that platform-specific code
Mohan> must trickle into the front end.

Thanks a lot for looking into this.  As I'm sure you know, this is a
longstanding bug and is important to fix for Windows builds.


I have a few comments about this.

My recollection, from my brief and long since past Windows experience,
is that it isn't always easy to control the case of the files you
create on a Windows box.  That is, sometimes a tool will not do
exactly what you might like.

If that's the case (and the more Windows knowledgeable should
definitely speak to this) then it seems this approach will make things
harder for gcj users.  So that's one (potential) reason to be careful
before committing to this.

Another question which we have to ask is what the JDK does.  Can you
find out?  I mean in a clean-room way.  For instance, does the JDK
require strict case conformance on Windows?

Could you explain the mechanism of the bug a bit more?  I don't
understand it, and I'd like to.  gcj must make one or more incorrect
decisions that lead it astray.  Where are these points?  (I've seen a
lot of information about the symptoms of the bug, which is helpful,
but I want to know the cause.)


There are a lot of changes that would need to be made to this code
(for GNU standards conformance) before it can go in.  That can come
later.

Tom


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]