diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3dba391716f..a357e003331 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2005-01-20 Benjamin Kosnik + + * testsuite/Makefile.am (check-compile): New. + * testsuite/Makefile.in: Regenerate. + * scripts/check_compile_time: New. + * scripts/check_performance: Tweaks. + 2005-01-19 Paolo Carlini PR libstdc++/19535 diff --git a/libstdc++-v3/scripts/check_compile b/libstdc++-v3/scripts/check_compile new file mode 100755 index 00000000000..e27cc33c8a0 --- /dev/null +++ b/libstdc++-v3/scripts/check_compile @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +# Script to do performance testing. + +# Invocation +# check_performance SRC_DIR BUILD_DIR + +# 1: variables +# +SRC_DIR=$1 +BUILD_DIR=$2 + +# Now that we've successfully translated the numerical option into +# a symbolic one, we can safely ignore it. +shift + +# This has been true all along. Found out about it the hard way... +case $BASH_VERSION in + 1*) + echo 'You need bash 2.x to run check_performance. Exiting.'; + exit 1 ;; + *) ;; +esac + +flags_script=$BUILD_DIR/scripts/testsuite_flags +INCLUDES=`$flags_script --build-includes` +PCH_FLAGS=`$flags_script --cxxpchflags` +FLAGS=`$flags_script --cxxflags` +TEST_FLAGS="-S" +COMPILER=`$flags_script --build-cxx` +CXX="$COMPILER $INCLUDES $PCH_FLAGS $FLAGS $TEST_FLAGS" + +TESTS_FILE="testsuite_files" + +for NAME in `cat $TESTS_FILE` +do + if $RUN; then + echo $NAME + FILE_NAME="`basename $NAME`" + OUTPUT_NAME="`echo $FILE_NAME | sed 's/cc$/s/'`" + $CXX $SRC_DIR/testsuite/$NAME -o $OUTPUT_NAME + if [ -f $OUTPUT_NAME ]; then + rm $OUTPUT_NAME + fi + echo "" + fi +done + +exit 0 diff --git a/libstdc++-v3/scripts/check_performance b/libstdc++-v3/scripts/check_performance index 090dae87ff6..b395fcb14e0 100755 --- a/libstdc++-v3/scripts/check_performance +++ b/libstdc++-v3/scripts/check_performance @@ -23,7 +23,8 @@ case $BASH_VERSION in esac flags_script=$BUILD_DIR/scripts/testsuite_flags -INCLUDES="`$flags_script --build-includes` -include bits/stdc++.h" +INCLUDES=`$flags_script --build-includes` +PCH_FLAGS=`$flags_script --cxxpchflags` FLAGS=`$flags_script --cxxflags` THREAD_FLAG='-pthread' COMPILER=`$flags_script --build-cxx` @@ -31,8 +32,8 @@ SH_FLAG="-Wl,--rpath -Wl,$BUILD_DIR/../../gcc \ -Wl,--rpath -Wl,$BUILD_DIR/src/.libs" ST_FLAG="-static" LINK=$SH_FLAG -CXX="$COMPILER $INCLUDES $FLAGS -DNOTHREAD $LINK" -CXX_THREAD="$COMPILER $INCLUDES $FLAGS $THREAD_FLAG $LINK" +CXX="$COMPILER $INCLUDES $PCH_FLAGS $FLAGS -DNOTHREAD $LINK" +CXX_THREAD="$COMPILER $INCLUDES $PCH_FLAGS $FLAGS $THREAD_FLAG $LINK" TESTS_FILE="testsuite_files_performance" diff --git a/libstdc++-v3/testsuite/Makefile.am b/libstdc++-v3/testsuite/Makefile.am index 371ab72e43d..1baeb826c4b 100644 --- a/libstdc++-v3/testsuite/Makefile.am +++ b/libstdc++-v3/testsuite/Makefile.am @@ -180,6 +180,12 @@ check-performance: testsuite_files_performance ${performance_script} -@(chmod + ${performance_script}; \ ${performance_script} ${glibcxx_srcdir} ${glibcxx_builddir}) +# Runs the testsuite, but in compile only mode, and times it. +# See script. +compile_script=${glibcxx_srcdir}/scripts/check_compile +check-compile: testsuite_files ${compile_script} + -@(chmod + ${compile_script}; \ + ${compile_script} ${glibcxx_srcdir} ${glibcxx_builddir}) # This rule generates all of the testsuite_files* lists at once. ${lists_of_files}: diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in index a3dc54fe3bd..4201ab9256d 100644 --- a/libstdc++-v3/testsuite/Makefile.in +++ b/libstdc++-v3/testsuite/Makefile.in @@ -310,6 +310,10 @@ survey_script = ${glibcxx_builddir}/scripts/check_survey # running this is off by default. performance_script = ${glibcxx_srcdir}/scripts/check_performance +# Runs the testsuite, but in compile only mode, and times it. +# See script. +compile_script = ${glibcxx_srcdir}/scripts/check_compile + # By adding these files here, automake will remove them for 'make clean' CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \ testsuite_* site.exp abi_check baseline_symbols *TEST* @@ -662,6 +666,9 @@ check-script-install: ${survey_script} check-performance: testsuite_files_performance ${performance_script} -@(chmod + ${performance_script}; \ ${performance_script} ${glibcxx_srcdir} ${glibcxx_builddir}) +check-compile: testsuite_files ${compile_script} + -@(chmod + ${compile_script}; \ + ${compile_script} ${glibcxx_srcdir} ${glibcxx_builddir}) # This rule generates all of the testsuite_files* lists at once. ${lists_of_files}: