This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Cygwin patches for gcj
- To: "Billinghurst, David \(CRTS\)" <David dot Billinghurst at riotinto dot com>,<gcc-patches at gcc dot gnu dot org>
- Subject: Re: Cygwin patches for gcj
- From: "Robert Collins" <robert dot collins at itdomain dot com dot au>
- Date: Sun, 22 Apr 2001 17:57:05 +1000
- Cc: <java at gcc dot gnu dot org>
- References: <8D00C32549556B4E977F81DBC24E985DC85F@crtsmail1.technol_exch.corp.riotinto.org>
---- Original Message -----
From: "Billinghurst, David (CRTS)" <David.Billinghurst@riotinto.com>
To: <gcc-patches@gcc.gnu.org>
Cc: <java@gcc.gnu.org>; <robert.collins@itdomain.com.au>
Sent: Sunday, April 22, 2001 5:01 PM
Subject: Cygwin patches for gcj
> These patches are required to get java working on trunk under cygwin.
They
> should be save for other platforms as they are guarded by
> HAVE_DOS_BASED_FILESYSTEM.
>
>
> 2001-04-22 Robert Collins <robert.collins@itdomain.com.au>
> David Billinghurst <David.Billinghurst@riotinto.com>
>
> * parse.y (check_class_interface_creation):
> Case insensitive compare for DOS filesystems
>
> * jcf-parse.c (jcf_parse_source): Transform DOS filenames
> to lower case.
>
> --- jcf-parse.c.orig Sun Apr 1 08:52:57 2001
> +++ jcf-parse.c Sun Apr 22 15:21:32 2001
> @@ -642,6 +642,17 @@
>
> java_parser_context_save_global ();
> java_push_parser_context ();
> +#ifdef HAVE_DOS_BASED_FILESYSTEM
> + /* FIXME: Transform filename to a canonical (lower case) form.
> + At present it does not consider
> + - cygwin vs windows paths
> + - '/' vs '\' path seperators
> + - and so on */
> + {
> + char *t=current_jcf->filename;
> + while (*t) { *t=tolower(*t); t++;}
> + }
> +#endif
> BUILD_FILENAME_IDENTIFIER_NODE (file, current_jcf->filename);
> if (wfl_operator == NULL_TREE)
> wfl_operator = build_expr_wfl (NULL_TREE, NULL, 0, 0);
David, this is broken (as I mentioned when I posted the original to
java@..) you cannot rewrite current_jcf->filename, as cygwin with
case_check:strict (its a 1.3.0 option) will fail to open the file. Just
the comparison must be mangled. The root cause is still unsolved which
is why that have is needed at all.. (I believe it's an automatic file
name test for sub classes...)..
Rob