This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[v3] testsuite_hooks on the branch
- To: gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org
- Subject: [v3] testsuite_hooks on the branch
- From: Phil Edwards <pedwards at disaster dot jaj dot com>
- Date: Tue, 28 Aug 2001 16:01:52 -0400
The change done on the trunk with
http://gcc.gnu.org/ml/gcc-patches/2001-08/msg00318.html
along with some subsequent fixes, has been merged to the branch.
The accumulated-into-one patch and log is below. Tested on x86/linux,
no regressions. This also reverts Loren's change earlier today, which
was needed to keep the branch's tests in line until these changes were
brought over.
As in the previous patch, most of the diff is changing the same line a
hundred times over. (See the message link above.) So again, that part
is omitted.
2001-08-28 Phil Edwards <pme@sources.redhat.com>
Move testsuite_hooks changes onto the branch. This is the 08-06
patch (on trunk) from pme, plus the 08-09 change from bkoz and the
08-10 fix from ljrittle, accumulated into one.
* acconfig.h (_GLIBCPP_MEM_LIMITS): Define.
* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): New macro, calls...
(GLIBCPP_CHECK_SETRLIMIT): ...this new macro, which also uses...
(GLIBCPP_CHECK_SETRLIMIT_ancilliary): ...this new macro.
* configure.in: Call GLIBCPP_CONFIGURE_TESTSUITE.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* testsuite/lib/libstdc++-v3-dg.exp: Download new header instead
of old header.
* testsuite/debug_assert.h: Removed; contents merged into...
* testsuite/testsuite_hooks.h: ...here. New file.
* testsuite/17_intro/header_ciso646.cc: No longer include
debug_assert.h, include testsuite_hooks.h instead.
* testsuite/17_intro/header_fstream.cc: Likewise.
* testsuite/17_intro/header_iomanip.cc: Likewise.
* testsuite/17_intro/header_ios.cc: Likewise.
* testsuite/17_intro/header_iosfwd.cc: Likewise.
* testsuite/17_intro/header_iostream.cc: Likewise.
* testsuite/17_intro/header_istream.cc: Likewise.
* testsuite/17_intro/header_ostream.cc: Likewise.
* testsuite/17_intro/header_sstream.cc: Likewise.
* testsuite/17_intro/header_streambuf.cc: Likewise.
* testsuite/18_support/numeric_limits.cc: Likewise.
* testsuite/19_diagnostics/stdexceptions.cc: Likewise.
* testsuite/20_util/auto_ptr.cc: Likewise.
* testsuite/21_strings/append.cc: Likewise.
* testsuite/21_strings/capacity.cc: Likewise.
* testsuite/21_strings/char_traits_requirements.cc: Likewise.
* testsuite/21_strings/compare.cc: Likewise.
* testsuite/21_strings/ctor_copy_dtor.cc: Likewise.
* testsuite/21_strings/element_access.cc: Likewise.
* testsuite/21_strings/find.cc: Likewise.
* testsuite/21_strings/insert.cc: Likewise.
* testsuite/21_strings/inserters_extractors.cc: Likewise.
* testsuite/21_strings/invariants.cc: Likewise.
* testsuite/21_strings/nonmember.cc: Likewise.
* testsuite/21_strings/operations.cc: Likewise.
* testsuite/21_strings/replace.cc: Likewise.
* testsuite/21_strings/rfind.cc: Likewise.
* testsuite/21_strings/substr.cc: Likewise.
* testsuite/22_locale/codecvt_char_char.cc: Likewise.
* testsuite/22_locale/codecvt_unicode_char.cc: Likewise.
* testsuite/22_locale/codecvt_unicode_wchar_t.cc: Likewise.
* testsuite/22_locale/codecvt_wchar_t_char.cc: Likewise.
* testsuite/22_locale/ctor_copy_dtor.cc: Likewise.
* testsuite/22_locale/ctype_char_members.cc: Likewise.
* testsuite/22_locale/ctype_wchar_t_members.cc: Likewise.
* testsuite/22_locale/facet.cc: Likewise.
* testsuite/22_locale/global_templates.cc: Likewise.
* testsuite/22_locale/members.cc: Likewise.
* testsuite/22_locale/numpunct_byname.cc: Likewise.
* testsuite/22_locale/numpunct_char_members.cc: Likewise.
* testsuite/22_locale/operators.cc: Likewise.
* testsuite/22_locale/static_members.cc: Likewise.
* testsuite/23_containers/bitset_ctor.cc: Likewise.
* testsuite/23_containers/bitset_members.cc: Likewise.
* testsuite/23_containers/bitset_shift.cc: Likewise.
* testsuite/23_containers/map_insert.cc: Likewise.
* testsuite/23_containers/vector_capacity.cc: Likewise.
* testsuite/23_containers/vector_ctor.cc: Likewise.
* testsuite/23_containers/vector_element_access.cc: Likewise.
* testsuite/23_containers/vector_modifiers.cc: Likewise.
* testsuite/24_iterators/istreambuf_iterator.cc: Likewise.
* testsuite/24_iterators/iterator.cc: Likewise.
* testsuite/24_iterators/ostreambuf_iterator.cc: Likewise.
* testsuite/25_algorithms/lower_bound.cc: Likewise.
* testsuite/25_algorithms/min_max.cc: Likewise.
* testsuite/26_numerics/c_math.cc: Likewise.
* testsuite/26_numerics/complex_inserters_extractors.cc: Likewise.
* testsuite/26_numerics/complex_value.cc: Likewise.
* testsuite/27_io/filebuf.cc: Likewise.
* testsuite/27_io/filebuf_members.cc: Likewise.
* testsuite/27_io/filebuf_virtuals.cc: Likewise.
* testsuite/27_io/fpos.cc: Likewise.
* testsuite/27_io/fstream_members.cc: Likewise.
* testsuite/27_io/ifstream_members.cc: Likewise.
* testsuite/27_io/ios_base_callbacks.cc: Likewise.
* testsuite/27_io/ios_base_members_static.cc: Likewise.
* testsuite/27_io/ios_base_storage.cc: Likewise.
* testsuite/27_io/ios_ctor.cc: Likewise.
* testsuite/27_io/ios_init.cc: Likewise.
* testsuite/27_io/ios_manip_basefield.cc: Likewise.
* testsuite/27_io/ios_manip_fmtflags.cc: Likewise.
* testsuite/27_io/ios_members.cc: Likewise.
* testsuite/27_io/istream_extractor_arith.cc: Likewise.
* testsuite/27_io/istream_extractor_char.cc: Likewise.
* testsuite/27_io/istream_extractor_other.cc: Likewise.
* testsuite/27_io/istream_manip.cc: Likewise.
* testsuite/27_io/istream_seeks.cc: Likewise.
* testsuite/27_io/istream_sentry.cc: Likewise.
* testsuite/27_io/istream_unformatted.cc: Likewise.
* testsuite/27_io/istringstream_members.cc: Likewise.
* testsuite/27_io/narrow_stream_objects.cc: Likewise.
* testsuite/27_io/ofstream_members.cc: Likewise.
* testsuite/27_io/ostream_inserter_arith.cc: Likewise.
* testsuite/27_io/ostream_inserter_char.cc: Likewise.
* testsuite/27_io/ostream_inserter_other.cc: Likewise.
* testsuite/27_io/ostream_manip.cc: Likewise.
* testsuite/27_io/ostream_seeks.cc: Likewise.
* testsuite/27_io/ostream_unformatted.cc: Likewise.
* testsuite/27_io/ostringstream_members.cc: Likewise.
* testsuite/27_io/streambuf.cc: Likewise.
* testsuite/27_io/stringbuf.cc: Likewise.
* testsuite/27_io/stringbuf_virtuals.cc: Likewise.
* testsuite/27_io/stringstream.cc: Likewise.
* testsuite/27_io/stringstream_members.cc: Likewise.
* testsuite/27_io/wide_stream_objects.cc: Likewise.
Index: acconfig.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/acconfig.h,v
retrieving revision 1.15.4.3
diff -u -3 -p -r1.15.4.3 acconfig.h
--- acconfig.h 2001/06/08 20:08:09 1.15.4.3
+++ acconfig.h 2001/08/28 21:07:55
@@ -21,6 +21,9 @@
// Define if code specialized for wchar_t should be used.
#undef _GLIBCPP_USE_WCHAR_T
+// Define if using setrlimit to limit memory usage during 'make check'.
+#undef _GLIBCPP_MEM_LIMITS
+
// Define if you have the atan2f function.
#undef _GLIBCPP_HAVE_ATAN2F
Index: acinclude.m4
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/acinclude.m4,v
retrieving revision 1.129.2.28
diff -u -3 -p -r1.129.2.28 acinclude.m4
--- acinclude.m4 2001/08/27 19:51:00 1.129.2.28
+++ acinclude.m4 2001/08/28 21:07:55
@@ -1762,6 +1762,62 @@ dnl string, '#' otherwise
AC_SUBST(ifGNUmake)
])
+
+dnl Check for headers for, and arguments to, the setrlimit() function.
+dnl Used only in testsuite_hooks.h.
+AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT_ancilliary, [
+ AC_TRY_COMPILE([#include <sys/resource.h>
+ #include <unistd.h>
+ ], [ int f = RLIMIT_$1 ; ],
+ [glibcpp_mresult=1], [glibcpp_mresult=0])
+ AC_DEFINE_UNQUOTED(HAVE_MEMLIMIT_$1, $glibcpp_mresult,
+ [Only used in build directory testsuite_hooks.h.])
+])
+AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT, [
+ setrlimit_have_headers=yes
+ AC_CHECK_HEADERS(sys/resource.h unistd.h,
+ [],
+ setrlimit_have_headers=no)
+ # If don't have the headers, then we can't run the tests now, and we
+ # won't be seeing any of these during testsuite compilation.
+ if test $setrlimit_have_headers = yes; then
+ # Can't do these in a loop, else the resulting syntax is wrong.
+ GLIBCPP_CHECK_SETRLIMIT_ancilliary(DATA)
+ GLIBCPP_CHECK_SETRLIMIT_ancilliary(RSS)
+ GLIBCPP_CHECK_SETRLIMIT_ancilliary(VMEM)
+ GLIBCPP_CHECK_SETRLIMIT_ancilliary(AS)
+
+ # Check for rlimit, setrlimit.
+ AC_CACHE_VAL(ac_setrlimit, [
+ AC_TRY_COMPILE([#include <sys/resource.h>
+ #include <unistd.h>
+ ],
+ [ struct rlimit r; setrlimit(0, &r);],
+ [ac_setrlimit=yes], [ac_setrlimit=no])
+ ])
+ fi
+
+ AC_MSG_CHECKING([for testsuite memory limit support])
+ if test $setrlimit_have_headers = yes && test $ac_setrlimit = yes; then
+ ac_mem_limits=yes
+ AC_DEFINE(_GLIBCPP_MEM_LIMITS)
+ else
+ ac_mem_limits=no
+ fi
+ AC_MSG_RESULT($ac_mem_limits)
+])
+
+
+dnl
+dnl Does any necessary configuration of the testsuite directory. Generates
+dnl the testsuite_hooks.h header.
+dnl
+dnl GLIBCPP_CONFIGURE_TESTSUITE [no args]
+AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [
+ GLIBCPP_CHECK_SETRLIMIT
+])
+
+
sinclude(../libtool.m4)
dnl The lines below arrange for aclocal not to bring an installed
dnl libtool.m4 into aclocal.m4, while still arranging for automake to
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/configure.in,v
retrieving revision 1.54.2.10
diff -u -3 -p -r1.54.2.10 configure.in
--- configure.in 2001/08/13 22:22:25 1.54.2.10
+++ configure.in 2001/08/28 21:07:57
@@ -221,6 +221,10 @@ else
AC_FUNC_MMAP
fi
+# Enable/configure some pieces which may require knowledge about the
+# compiler situation (native/cross), which we just finished discovering.
+GLIBCPP_CONFIGURE_TESTSUITE
+
# Propagate the target-specific source directories through the build chain.
OS_INC_SRCDIR=$os_include_dir/bits
ATOMICITY_INC_SRCDIR=$ATOMICITYH/bits
Index: testsuite/lib/libstdc++-v3-dg.exp
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp,v
retrieving revision 1.2.2.5
diff -u -3 -p -r1.2.2.5 libstdc++-v3-dg.exp
--- libstdc++-v3-dg.exp 2001/05/30 20:29:34 1.2.2.5
+++ libstdc++-v3-dg.exp 2001/08/28 21:07:59
@@ -53,9 +53,9 @@ proc libstdc++-v3-init { args } {
# Do a bunch of handstands and backflips for cross compiling and
# finding simulators...
if [is_remote host] {
- set header [remote_download host ${srcdir}/debug_assert.h]
+ set header [remote_download host ${blddir}/testsuite/testsuite_hooks.h]
if { $header == "" } {
- verbose -log "Unable to download ${srcdir}/debug_assert.h to host."
+ verbose -log "Unable to download ${blddir}/testsuite/testsuite_hooks.h to host."
return "untested"
}
set cxx [transform "g++"]