From f73036c179d9809369cf94ac0edb31ac2a777a05 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Sat, 30 Apr 2016 10:42:14 +0000 Subject: Make-lang.in (ACATSCMD): New variable. ada/ * gcc-interface/Make-lang.in (ACATSCMD): New variable. (check-acats): Use it. (check_acats_targets): Likewise. testsuite/ * ada/acats/run_acats: Rename into... * ada/acats/run_acats.sh: ...this. Only export BASE variable. * ada/acats/run_all.sh: Remove redundant test. (target_run): Move around. (target_gnatchop): Use newly built executable. (target_gnatmake): Likewise. Check that the compilation of impbit succeeds. From-SVN: r235678 --- gcc/ada/ChangeLog | 6 +++ gcc/ada/gcc-interface/Make-lang.in | 7 ++-- gcc/testsuite/ChangeLog | 10 +++++ gcc/testsuite/ada/acats/run_acats | 73 ------------------------------------ gcc/testsuite/ada/acats/run_acats.sh | 71 +++++++++++++++++++++++++++++++++++ gcc/testsuite/ada/acats/run_all.sh | 25 ++++++------ 6 files changed, 104 insertions(+), 88 deletions(-) delete mode 100755 gcc/testsuite/ada/acats/run_acats create mode 100755 gcc/testsuite/ada/acats/run_acats.sh (limited to 'gcc') diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index cd0ec39..ebb3bb3 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2016-04-30 Eric Botcazou + + * gcc-interface/Make-lang.in (ACATSCMD): New variable. + (check-acats): Use it. + (check_acats_targets): Likewise. + 2016-04-28 Eric Botcazou PR ada/70786 diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in index a8ce672..fbfa6c6 100644 --- a/gcc/ada/gcc-interface/Make-lang.in +++ b/gcc/ada/gcc-interface/Make-lang.in @@ -868,6 +868,7 @@ check-ada: check-acats check-gnat check-ada-subtargets: check-acats-subtargets check-gnat-subtargets ACATSDIR = $(TESTSUITEDIR)/ada/acats +ACATSCMD = run_acats.sh check_acats_numbers0:=1 2 3 4 5 6 7 8 9 check_acats_numbers1:=0 $(check_acats_numbers0) @@ -892,7 +893,7 @@ check-acats: mkdir $(ACATSDIR)-parallel; \ ( testdir=`cd ${srcdir}/${ACATSDIR} && ${PWD_COMMAND}`; \ export testdir; \ - cd $(ACATSDIR) && $(SHELL) $${testdir}/run_acats NONE ) \ + cd $(ACATSDIR) && $(SHELL) $${testdir}/$(ACATSCMD) NONE ) \ || exit 1; \ GCC_RUNTEST_PARALLELIZE_DIR=$$rootme/$(ACATSDIR)-parallel; \ export GCC_RUNTEST_PARALLELIZE_DIR; \ @@ -913,7 +914,7 @@ check-acats: exit 0; \ fi; \ testdir=`cd ${srcdir}/${ACATSDIR} && ${PWD_COMMAND}`; \ - export testdir; cd $(ACATSDIR) && $(SHELL) $${testdir}/run_acats $(CHAPTERS) + export testdir; cd $(ACATSDIR) && $(SHELL) $${testdir}/$(ACATSCMD) $(CHAPTERS) check-acats-subtargets: @echo check-acats @@ -925,7 +926,7 @@ $(check_acats_targets): check-acats%: fi; \ test -d $(ACATSDIR)$* || mkdir -p $(ACATSDIR)$*; \ testdir=`cd ${srcdir}/${ACATSDIR} && ${PWD_COMMAND}`; \ - export testdir; cd $(ACATSDIR)$* && $(SHELL) $${testdir}/run_acats + export testdir; cd $(ACATSDIR)$* && $(SHELL) $${testdir}/$(ACATSCMD) touch $$GCC_RUNTEST_PARALLELIZE_DIR/finished .PHONY: check-acats $(check_acats_targets) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 066e30c..56bb64b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2016-04-30 Eric Botcazou + + * ada/acats/run_acats: Rename into... + * ada/acats/run_acats.sh: ...this. Only export BASE variable. + * ada/acats/run_all.sh: Remove redundant test. + (target_run): Move around. + (target_gnatchop): Use newly built executable. + (target_gnatmake): Likewise. + Check that the compilation of impbit succeeds. + 2016-04-30 Oleg Endo * g++.old-deja/g++.jason/thunk3.C: Remove SH5 checks. diff --git a/gcc/testsuite/ada/acats/run_acats b/gcc/testsuite/ada/acats/run_acats deleted file mode 100755 index c1ed39f..0000000 --- a/gcc/testsuite/ada/acats/run_acats +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/sh - -if [ "$testdir" = "" ]; then - echo You must use make check or make check-ada - exit 1 -fi - -# Provide which replacement. -# -# type -p is missing from Solaris 2 /bin/sh and /bin/ksh (ksh88), but both -# ksh93 and bash have it. -# type output format differs between ksh88 and ksh93, so avoid it if -# type -p is present. Unfortunately, HP-UX /bin/sh ignores -p with type. -# Fall back to whence which ksh88 and ksh93 provide, but bash does not. - -which () { - path=`type -p $* 2>/dev/null` && { echo $path | awk '{print $NF}'; return 0; } - path=`type $* 2>/dev/null` && { echo $path | awk '{print $NF}'; return 0; } - path=`whence $* 2>/dev/null` && { echo $path; return 0; } - return 1 -} - -# Set up environment to use the Ada compiler from the object tree - -host_gnatchop=`which gnatchop` -host_gnatmake=`which gnatmake` -ROOT=`${PWDCMD-pwd}` -BASE=`cd $ROOT/../../..; ${PWDCMD-pwd}` - -PATH=$BASE:$ROOT:$PATH -ADA_INCLUDE_PATH=$BASE/ada/rts -LD_LIBRARY_PATH=$ADA_INCLUDE_PATH:$BASE:$LD_LIBRARY_PATH -ADA_OBJECTS_PATH=$ADA_INCLUDE_PATH - -if [ ! -d $ADA_INCLUDE_PATH ]; then - echo gnatlib missing, exiting. - exit 1 -fi - -if [ ! -f $BASE/gnatchop ]; then - echo gnattools missing, exiting. - exit 1 -fi - -if [ ! -f $BASE/gnatmake ]; then - echo gnattools missing, exiting. - exit 1 -fi - -GCC_DRIVER="$BASE/xgcc" -GCC="$BASE/xgcc -B$BASE/" -export PATH ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_DRIVER GCC LD_LIBRARY_PATH - -echo '#!/bin/sh' > host_gnatchop -echo PATH=`dirname $host_gnatchop`:'$PATH' >> host_gnatchop -echo unset ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_EXEC_PREFIX >> host_gnatchop -echo export PATH >> host_gnatchop -echo exec gnatchop '"$@"' >> host_gnatchop - -chmod +x host_gnatchop - -echo '#!/bin/sh' > host_gnatmake -echo PATH=`dirname $host_gnatmake`:'$PATH' >> host_gnatmake -echo unset ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_EXEC_PREFIX >> host_gnatmake -echo export PATH >> host_gnatmake -echo exec gnatmake '"$@"' >> host_gnatmake - -chmod +x host_gnatmake - -# Limit the stack to 16MB for stack checking -ulimit -s 16384 - -exec $testdir/run_all.sh ${1+"$@"} diff --git a/gcc/testsuite/ada/acats/run_acats.sh b/gcc/testsuite/ada/acats/run_acats.sh new file mode 100755 index 0000000..1a2c050 --- /dev/null +++ b/gcc/testsuite/ada/acats/run_acats.sh @@ -0,0 +1,71 @@ +#!/bin/sh + +if [ "$testdir" = "" ]; then + echo You must use make check or make check-ada + exit 1 +fi + +# Provide which replacement. +# +# type -p is missing from Solaris 2 /bin/sh and /bin/ksh (ksh88), but both +# ksh93 and bash have it. +# type output format differs between ksh88 and ksh93, so avoid it if +# type -p is present. Unfortunately, HP-UX /bin/sh ignores -p with type. +# Fall back to whence which ksh88 and ksh93 provide, but bash does not. + +which () { + path=`type -p $* 2>/dev/null` && { echo $path | awk '{print $NF}'; return 0; } + path=`type $* 2>/dev/null` && { echo $path | awk '{print $NF}'; return 0; } + path=`whence $* 2>/dev/null` && { echo $path; return 0; } + return 1 +} + +# Set up environment to use the Ada compiler from the object tree + +host_gnatchop=`which gnatchop` +host_gnatmake=`which gnatmake` +ROOT=`${PWDCMD-pwd}` +BASE=`cd $ROOT/../../..; ${PWDCMD-pwd}` + +PATH=$BASE:$ROOT:$PATH +ADA_INCLUDE_PATH=$BASE/ada/rts +LD_LIBRARY_PATH=$ADA_INCLUDE_PATH:$BASE:$LD_LIBRARY_PATH +ADA_OBJECTS_PATH=$ADA_INCLUDE_PATH + +if [ ! -d $ADA_INCLUDE_PATH ]; then + echo gnatlib missing, exiting. + exit 1 +fi + +if [ ! -f $BASE/gnatchop ]; then + echo gnattools missing, exiting. + exit 1 +fi + +if [ ! -f $BASE/gnatmake ]; then + echo gnattools missing, exiting. + exit 1 +fi + +export PATH ADA_INCLUDE_PATH ADA_OBJECTS_PATH BASE LD_LIBRARY_PATH + +echo '#!/bin/sh' > host_gnatchop +echo PATH=`dirname $host_gnatchop`:'$PATH' >> host_gnatchop +echo unset ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_EXEC_PREFIX >> host_gnatchop +echo export PATH >> host_gnatchop +echo exec gnatchop '"$@"' >> host_gnatchop + +chmod +x host_gnatchop + +echo '#!/bin/sh' > host_gnatmake +echo PATH=`dirname $host_gnatmake`:'$PATH' >> host_gnatmake +echo unset ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_EXEC_PREFIX >> host_gnatmake +echo export PATH >> host_gnatmake +echo exec gnatmake '"$@"' >> host_gnatmake + +chmod +x host_gnatmake + +# Limit the stack to 16MB for stack checking +ulimit -s 16384 + +exec $testdir/run_all.sh ${1+"$@"} diff --git a/gcc/testsuite/ada/acats/run_all.sh b/gcc/testsuite/ada/acats/run_all.sh index 658845a..7645983 100755 --- a/gcc/testsuite/ada/acats/run_all.sh +++ b/gcc/testsuite/ada/acats/run_all.sh @@ -12,10 +12,6 @@ gccflags="-O2" gnatflags="-gnatws" -target_run () { - eval $EXPECT -f $testdir/run_test.exp $* -} - # End of customization section. # Perform arithmetic evaluation on the ARGs, and store the result in the @@ -52,29 +48,30 @@ log () { dir=`${PWDCMD-pwd}` -if [ "$testdir" = "" ]; then - echo You must use make check or make check-ada - exit 1 -fi - if [ "$dir" = "$testdir" ]; then echo "error: srcdir must be different than objdir, exiting." exit 1 fi +GCC="$BASE/xgcc -B$BASE/" + target_gnatchop () { - gnatchop --GCC="$GCC_DRIVER" $* + $BASE/gnatchop --GCC="$BASE/xgcc" $* } target_gnatmake () { - echo gnatmake --GCC=\"$GCC\" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC=\"$GCC\" - gnatmake --GCC="$GCC" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC="$GCC" + echo $BASE/gnatmake --GNATBIND=$BASE/gnatbind --GNATLINK=$BASE/gnatlink --GCC="$GCC" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC="$GCC" + $BASE/gnatmake --GNATBIND=$BASE/gnatbind --GNATLINK=$BASE/gnatlink --GCC="$GCC" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC="$GCC" } target_gcc () { $GCC $gccflags $* } +target_run () { + eval $EXPECT -f $testdir/run_test.exp $* +} + clean_dir () { rm -f "$binmain" *.o *.ali > /dev/null 2>&1 } @@ -128,6 +125,10 @@ cp $testdir/support/*.ada $testdir/support/*.a $testdir/support/*.tst $dir/suppo # Find out the size in bit of an address on the target target_gnatmake $testdir/support/impbit.adb >> $dir/acats.log 2>&1 +if [ $? -ne 0 ]; then + display "**** Failed to compile impbit" + exit 1 +fi target_run $dir/support/impbit > $dir/support/impbit.out 2>&1 target_bit=`cat $dir/support/impbit.out` echo target_bit="$target_bit" >> $dir/acats.log -- cgit v1.1