This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Ada c250002, non ASCII character in file name (was: [PATCH, Adatestsuite] Handle cd2a83c, cd2a91c, ad8011a)
- From: Laurent GUERBY <laurent at guerby dot net>
- To: Ulrich Weigand <weigand at i1 dot informatik dot uni-erlangen dot de>
- Cc: gcc-patches at gcc dot gnu dot org, Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>, Andrew Reynolds <awreynolds at mac dot com>, charlet at act-europe dot fr
- Date: Mon, 26 Apr 2004 21:31:09 +0200
- Subject: Ada c250002, non ASCII character in file name (was: [PATCH, Adatestsuite] Handle cd2a83c, cd2a91c, ad8011a)
- References: <200404261844.UAA28809@faui1d.informatik.uni-erlangen.de>
On Mon, 2004-04-26 at 20:44, Ulrich Weigand wrote:
> Laurent Guerby wrote:
> > ad8011a fails on ia64,s390,s390x because of an hardcoded "nop"
> > as valid asm statement, fixed by some machinery (thanks
> > to Ulrich Weigand for the hint on where to look).
>
> But this isn't, apparently because ...
>
> > +# Find out a suitable asm statement
> > +# Adapted from configure.ac gcc_cv_as_dwarf2_debug_line
> > +case "$target" in
>
> ... the shell variable $target is not set at all at this point.
Stoopid me. Could you test (and probably commit as obvious :)
the following:
Index: run_all.sh
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/ada/acats/run_all.sh,v
retrieving revision 1.17
diff -u -r1.17 run_all.sh
--- run_all.sh 26 Apr 2004 11:10:33 -0000 1.17
+++ run_all.sh 26 Apr 2004 19:15:36 -0000
@@ -71,10 +71,12 @@
display " === acats configuration ==="
+target=`$GCC -dumpmachine`
+
display target gcc is $GCC
display `$GCC -v 2>&1`
display host=`gcc -dumpmachine`
-display target=`$GCC -dumpmachine`
+display target="$target"
display `type gnatmake`
gnatls -v >> $dir/acats.log
display ""
> Also, I'm now seeing a new test case failure (c250002) on s390x,
> with this somewhat cryptic log output:
>
> splitting /home/weigand/fsf/gcc-head-build/gcc/testsuite/ada/acats/tests/c2/c250002.a into:
> c250002_0.ads
> c250002_á.ads
> c250002_á.adb
> c250002.adb
> BUILD
> FAIL: c250002
This one is also showing up on powerpc-darwin, the test source file
is processed by the acats/support/widechr tool that replaces ["xx"] by
the corresponding byte. Then gnatchop gets the preprocessed
source file, and since the name of a package contains
such a preprocessed character by following the GNAT file naming
rules it tries to create a file with a name containing a non US-ASCII
character and some systems fail to create it (darwin) or are
more or less able to create it but GNAT can't subsequently
open the file (s390).
I've looked at the GNAT sources but couldn't find something
documenting what to do with Unit names that have characters
that the filesystem will potentially refuse to accept, may be
all the platforms ACT supports have no issue on this.
We could translate them for filenames to !XX! for example
and modify gnatchop and GNAT to deal with this case. Arnaud,
any idea on this one?
Laurent
PS: use of non ASCII names for identifiers in Ada is legal
but I've never seen it used except in ACATS, so this
problem is not high priority :)