diff options
author | Geoffrey Keating <geoffk@apple.com> | 2005-01-28 18:57:59 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 2005-01-28 18:57:59 +0000 |
commit | 7d665006a322d2320fbc009c042c40d74229873a (patch) | |
tree | 7c5cecdd6226df6c1b6170e6d00a6e91bd6a502b | |
parent | 82dfb9a58fa7f797c1a9e49708fe9ed273ba4f70 (diff) | |
download | gcc-7d665006a322d2320fbc009c042c40d74229873a.zip gcc-7d665006a322d2320fbc009c042c40d74229873a.tar.gz gcc-7d665006a322d2320fbc009c042c40d74229873a.tar.bz2 |
libstdc++.exp (libstdc++_init): Search the path for the compiler.
* testsuite/lib/libstdc++.exp (libstdc++_init): Search the path
for the compiler. Don't set cxxflags.
(v3_target_compile): Search for libv3test.a relative to $objdir.
(lsearch_all_inline): New.
(lsearch_all_inline_not): New.
(v3-list-tests): Rewrite to not need generated files.
* testsuite/Makefile.am (IGNORE_WCHAR_T): New.
(IGNORE_THREAD): New.
(TESTS_TO_IGNORE): New.
(site.exp): Set tests_to_ignore, cxxflags.
* aclocal.m4: Regenerate.
* Makefile.in: Regenerate.
* libmath/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
From-SVN: r94384
-rw-r--r-- | libstdc++-v3/ChangeLog | 20 | ||||
-rw-r--r-- | libstdc++-v3/Makefile.in | 2 | ||||
-rw-r--r-- | libstdc++-v3/aclocal.m4 | 4 | ||||
-rw-r--r-- | libstdc++-v3/include/Makefile.in | 2 | ||||
-rw-r--r-- | libstdc++-v3/libmath/Makefile.in | 2 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/Makefile.in | 2 | ||||
-rw-r--r-- | libstdc++-v3/po/Makefile.in | 2 | ||||
-rw-r--r-- | libstdc++-v3/src/Makefile.in | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/Makefile.am | 7 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/Makefile.in | 17 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/lib/libstdc++.exp | 92 |
11 files changed, 101 insertions, 51 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index eda22a8..e823fd8 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,23 @@ +2005-01-28 Geoffrey Keating <geoffk@apple.com> + + * testsuite/lib/libstdc++.exp (libstdc++_init): Search the path + for the compiler. Don't set cxxflags. + (v3_target_compile): Search for libv3test.a relative to $objdir. + (lsearch_all_inline): New. + (lsearch_all_inline_not): New. + (v3-list-tests): Rewrite to not need generated files. + * testsuite/Makefile.am (IGNORE_WCHAR_T): New. + (IGNORE_THREAD): New. + (TESTS_TO_IGNORE): New. + (site.exp): Set tests_to_ignore, cxxflags. + * aclocal.m4: Regenerate. + * Makefile.in: Regenerate. + * libmath/Makefile.in: Likewise. + * libsupc++/Makefile.in: Likewise. + * po/Makefile.in: Likewise. + * src/Makefile.in: Likewise. + * testsuite/Makefile.in: Likewise. + 2005-01-28 Paolo Carlini <pcarlini@suse.de> * include/tr1/type_traits: Implement is_empty. diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in index 72e4b6c..b6903d3 100644 --- a/libstdc++-v3/Makefile.in +++ b/libstdc++-v3/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, diff --git a/libstdc++-v3/aclocal.m4 b/libstdc++-v3/aclocal.m4 index 0111a59..b67612a 100644 --- a/libstdc++-v3/aclocal.m4 +++ b/libstdc++-v3/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.9.3 -*- Autoconf -*- +# generated automatically by aclocal 1.9.4 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 # Free Software Foundation, Inc. @@ -40,7 +40,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.9.3])]) + [AM_AUTOMAKE_VERSION([1.9.4])]) # AM_AUX_DIR_EXPAND diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in index 6bdf501..8a67dcb 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, diff --git a/libstdc++-v3/libmath/Makefile.in b/libstdc++-v3/libmath/Makefile.in index 0034dff..8c00c66 100644 --- a/libstdc++-v3/libmath/Makefile.in +++ b/libstdc++-v3/libmath/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in index 2e48b9b..2a98d68 100644 --- a/libstdc++-v3/libsupc++/Makefile.in +++ b/libstdc++-v3/libsupc++/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, diff --git a/libstdc++-v3/po/Makefile.in b/libstdc++-v3/po/Makefile.in index 5a4b20c..cc9b4db 100644 --- a/libstdc++-v3/po/Makefile.in +++ b/libstdc++-v3/po/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in index c8ac760..a5b670d 100644 --- a/libstdc++-v3/src/Makefile.in +++ b/libstdc++-v3/src/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, diff --git a/libstdc++-v3/testsuite/Makefile.am b/libstdc++-v3/testsuite/Makefile.am index 1baeb82..436f0bb 100644 --- a/libstdc++-v3/testsuite/Makefile.am +++ b/libstdc++-v3/testsuite/Makefile.am @@ -62,17 +62,21 @@ all-local: stamp_wchar stamp_thread testsuite_files # Enable wchar_t tests if capable. if GLIBCXX_TEST_WCHAR_T +IGNORE_WCHAR_T = stamp_wchar: touch testsuite_wchar_t else +IGNORE_WCHAR_T = *wchar_t* stamp_wchar: endif # Enable thread tests if capable. if GLIBCXX_TEST_THREAD +IGNORE_THREAD = stamp_thread: touch testsuite_thread else +IGNORE_THREAD = *thread* stamp_thread: endif @@ -83,6 +87,7 @@ lists_of_files = \ testsuite_files_interactive \ testsuite_files_performance +TESTS_TO_IGNORE = $(IGNORE_WCHAR_T) $(IGNORE_THREAD) # We need more things in site.exp, but automake completely controls the # creation of that file; there's no way to append to it without messing up @@ -103,6 +108,8 @@ site.exp: Makefile @echo 'set target_triplet $(target_triplet)' >>site.tmp @echo 'set target_triplet $(target_triplet)' >>site.tmp @echo 'set libiconv "$(LIBICONV)"' >>site.tmp + @echo 'set tests_to_ignore [list $(TESTS_TO_IGNORE)]' >> site.tmp + @echo 'set cxxflags { $(AM_CXXFLAGS) }' >> site.tmp @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp @test ! -f site.exp || \ sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in index 4201ab9..96c4563 100644 --- a/libstdc++-v3/testsuite/Makefile.in +++ b/libstdc++-v3/testsuite/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. +# Makefile.in generated by automake 1.9.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -286,6 +286,14 @@ libv3test_a_SOURCES = \ abi_check_SOURCES = abi_check.cc abi_check_DEPENDENCIES = libv3test.a +@GLIBCXX_TEST_WCHAR_T_FALSE@IGNORE_WCHAR_T = *wchar_t* + +# Enable wchar_t tests if capable. +@GLIBCXX_TEST_WCHAR_T_TRUE@IGNORE_WCHAR_T = +@GLIBCXX_TEST_THREAD_FALSE@IGNORE_THREAD = *thread* + +# Enable thread tests if capable. +@GLIBCXX_TEST_THREAD_TRUE@IGNORE_THREAD = # Generated lists of files to run. All of these names are valid make # targets, if you wish to generate a list manually. @@ -294,6 +302,7 @@ lists_of_files = \ testsuite_files_interactive \ testsuite_files_performance +TESTS_TO_IGNORE = $(IGNORE_WCHAR_T) $(IGNORE_THREAD) baseline_file = ${baseline_dir}/baseline_symbols.txt extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers @@ -581,13 +590,9 @@ uninstall-am: uninstall-info-am all-local: stamp_wchar stamp_thread testsuite_files - -# Enable wchar_t tests if capable. @GLIBCXX_TEST_WCHAR_T_TRUE@stamp_wchar: @GLIBCXX_TEST_WCHAR_T_TRUE@ touch testsuite_wchar_t @GLIBCXX_TEST_WCHAR_T_FALSE@stamp_wchar: - -# Enable thread tests if capable. @GLIBCXX_TEST_THREAD_TRUE@stamp_thread: @GLIBCXX_TEST_THREAD_TRUE@ touch testsuite_thread @GLIBCXX_TEST_THREAD_FALSE@stamp_thread: @@ -611,6 +616,8 @@ site.exp: Makefile @echo 'set target_triplet $(target_triplet)' >>site.tmp @echo 'set target_triplet $(target_triplet)' >>site.tmp @echo 'set libiconv "$(LIBICONV)"' >>site.tmp + @echo 'set tests_to_ignore [list $(TESTS_TO_IGNORE)]' >> site.tmp + @echo 'set cxxflags { $(AM_CXXFLAGS) }' >> site.tmp @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp @test ! -f site.exp || \ sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp index d299685..d187595 100644 --- a/libstdc++-v3/testsuite/lib/libstdc++.exp +++ b/libstdc++-v3/testsuite/lib/libstdc++.exp @@ -79,7 +79,7 @@ proc v3-copy-files {srcfiles} { proc libstdc++_init { testfile } { global env global srcdir blddir objdir tool_root_dir - global cxx cxxflags + global cxx global includes global gluefile wrap_flags global ld_library_path @@ -137,17 +137,17 @@ proc libstdc++_init { testfile } { append ld_library_path ":${gccdir}" set compiler ${gccdir}/g++ if { [is_remote host] == 0 && [which $compiler] != 0 } { - foreach i "[exec $compiler --print-multi-lib]" { - set mldir "" - regexp -- "\[a-z0-9=/\.-\]*;" $i mldir - set mldir [string trimright $mldir "\;@"] - if { "$mldir" == "." } { - continue - } - if { [llength [glob -nocomplain ${gccdir}/${mldir}/libgcc_s*.so.*]] >= 1 } { - append ld_library_path ":${gccdir}/${mldir}" - } - } + foreach i "[exec [which $compiler] --print-multi-lib]" { + set mldir "" + regexp -- "\[a-z0-9=/\.-\]*;" $i mldir + set mldir [string trimright $mldir "\;@"] + if { "$mldir" == "." } { + continue + } + if { [llength [glob -nocomplain ${gccdir}/${mldir}/libgcc_s*.so.*]] >= 1 } { + append ld_library_path ":${gccdir}/${mldir}" + } + } } append ld_library_path ":${blddir}/src/.libs" @@ -165,17 +165,14 @@ proc libstdc++_init { testfile } { return "untested" } set cxx [transform "g++"] - set cxxflags "-ggdb3" set includes "-I./" } else { # If we find a testsuite_flags file, we're testing in the build dir. if { [file exists $flags_file] } { set cxx [exec sh $flags_file --build-cxx] - set cxxflags [exec sh $flags_file --cxxflags] set includes [exec sh $flags_file --build-includes] } else { set cxx [transform "g++"] - set cxxflags "-ggdb3" set includes "-I${srcdir}" } } @@ -249,7 +246,7 @@ proc v3_target_compile { source dest type options } { global cxx global cxxflags global includes - global blddir + global objdir if { [target_info needs_status_wrapper] != "" && [info exists gluefile] } { lappend options "libs=${gluefile}" @@ -266,37 +263,56 @@ proc v3_target_compile { source dest type options } { # Picks up the freshly-built testsuite library corresponding to the # multilib under test. - lappend options "ldflags=-L${blddir}/testsuite" + lappend options "ldflags=-L${objdir}" lappend options "libs=-lv3test" return [target_compile $source $dest $type $options] } +# This is the equivalent of the Tcl 8.4 "lsearch -all -inline" except +# slower +proc lsearch_all_inline {listData pattern} { + set result [list] + foreach item $listData { + if {[string match $pattern $item]} { + lappend result $item + } + } + return $result +} + +# This is the equivalent of the Tcl 8.4 "lsearch -all -inline -not" +# except slower +proc lsearch_all_inline_not {listData pattern} { + set result [list] + foreach item $listData { + if {! [string match $pattern $item]} { + lappend result $item + } + } + return $result +} + # Called once, from libstdc++/normal.exp. proc v3-list-tests { filename } { - global srcdir - global blddir - - set tests_file "${blddir}/testsuite/${filename}" - set sfiles "" - - verbose -log "In v3-list-tests" - verbose -log "blddir = ${blddir}" - verbose -log "tests_file = $tests_file" - - # If there is a testsuite_file, use it. - if { [file exists $tests_file] } { - set f [open $tests_file] - while { ! [eof $f] } { - set t [gets $f] - if { [string length "$t"] != 0 } { - lappend sfiles ${srcdir}/${t} - } - } - close $f + global srcdir tests_to_ignore + + set sfiles [lsort [ find $srcdir "*.cc"] ] + set sfiles [ lsearch_all_inline $sfiles "$srcdir/*/*.cc" ] + foreach pattern $tests_to_ignore { + set sfiles [ lsearch_all_inline_not $sfiles $pattern ] + } + if { $filename == "testsuite_files" } { + set sfiles [ lsearch_all_inline_not $sfiles *_xin* ] + set sfiles [ lsearch_all_inline_not $sfiles *performance* ] + } elseif { $filename == "testsuite_files_interactive" } { + set sfiles [ lsearch_all_inline $sfiles *_xin* ] + } elseif { $filename == "testsuite_files_performance" } { + set sfiles [ lsearch_all_inline $sfiles *performance* ] } else { - verbose "cannot open $tests_file" + verbose "cannot compute list of tests named $filename" + set sfiles [list] } return $sfiles } |