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]

Ada c250002, non ASCII character in file name (was: [PATCH, Adatestsuite] Handle cd2a83c, cd2a91c, ad8011a)


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 :)




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