Commit fe413112 by Phil Edwards

acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): New macro, calls...

2001-08-06  Phil Edwards  <pme@sources.redhat.com>

	* 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 (AM_CONFIG_HEADER):  Also generate testsuite_hooks.h.
	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_flags.in:  Add build dir's testsuite to INCLUDES.
	* testsuite/debug_assert.h:  Removed; contents merged into...
	* testsuite/testsuite_hooks.h.in:  ...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/allocator_members.cc:  Likewise.
	* testsuite/20_util/auto_ptr.cc:  Likewise.
	* testsuite/20_util/pairs.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.  Also set up
	call to (disabled) __set_testsuite_memlimit() wrapper.
	* testsuite/21_strings/element_access.cc:  Likewise.
	* testsuite/21_strings/find.cc:  Likewise.
	* testsuite/21_strings/insert.cc:  Likewise.  Also set up call to
	(disabled) __set_testsuite_memlimit() wrapper.
	* 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/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/binary_search.cc:  Likewise.
	* testsuite/25_algorithms/copy.cc:  Likewise.
	* testsuite/25_algorithms/heap.cc:  Likewise.
	* testsuite/25_algorithms/lower_bound.cc:  Likewise.
	* testsuite/25_algorithms/min_max.cc:  Likewise.
	* testsuite/25_algorithms/partition.cc:  Likewise.
	* testsuite/25_algorithms/rotate.cc:  Likewise.
	* testsuite/25_algorithms/sort.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.

From-SVN: r44679
parent 47907859
2001-08-06 Phil Edwards <pme@sources.redhat.com>
* 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 (AM_CONFIG_HEADER): Also generate testsuite_hooks.h.
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_flags.in: Add build dir's testsuite to INCLUDES.
* testsuite/debug_assert.h: Removed; contents merged into...
* testsuite/testsuite_hooks.h.in: ...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/allocator_members.cc: Likewise.
* testsuite/20_util/auto_ptr.cc: Likewise.
* testsuite/20_util/pairs.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. Also set up
call to (disabled) __set_testsuite_memlimit() wrapper.
* testsuite/21_strings/element_access.cc: Likewise.
* testsuite/21_strings/find.cc: Likewise.
* testsuite/21_strings/insert.cc: Likewise. Also set up call to
(disabled) __set_testsuite_memlimit() wrapper.
* 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/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/binary_search.cc: Likewise.
* testsuite/25_algorithms/copy.cc: Likewise.
* testsuite/25_algorithms/heap.cc: Likewise.
* testsuite/25_algorithms/lower_bound.cc: Likewise.
* testsuite/25_algorithms/min_max.cc: Likewise.
* testsuite/25_algorithms/partition.cc: Likewise.
* testsuite/25_algorithms/rotate.cc: Likewise.
* testsuite/25_algorithms/sort.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.
2001-07-31 Loren J. Rittle <ljrittle@acm.org> 2001-07-31 Loren J. Rittle <ljrittle@acm.org>
* src/gen-num-limits.cc: Use __LONG_LONG_MAX__. * src/gen-num-limits.cc: Use __LONG_LONG_MAX__.
......
...@@ -1761,6 +1761,44 @@ dnl string, '#' otherwise ...@@ -1761,6 +1761,44 @@ dnl string, '#' otherwise
AC_SUBST(ifGNUmake) 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_needed_headers=yes
AC_CHECK_HEADERS(sys/resource.h unistd.h,
[],
setrlimit_have_needed_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_needed_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)
fi
])
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) sinclude(../libtool.m4)
dnl The lines below arrange for aclocal not to bring an installed dnl The lines below arrange for aclocal not to bring an installed
dnl libtool.m4 into aclocal.m4, while still arranging for automake to dnl libtool.m4 into aclocal.m4, while still arranging for automake to
......
...@@ -1773,6 +1773,44 @@ dnl string, '#' otherwise ...@@ -1773,6 +1773,44 @@ dnl string, '#' otherwise
AC_SUBST(ifGNUmake) 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_needed_headers=yes
AC_CHECK_HEADERS(sys/resource.h unistd.h,
[],
setrlimit_have_needed_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_needed_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)
fi
])
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) sinclude(../libtool.m4)
dnl The lines below arrange for aclocal not to bring an installed dnl The lines below arrange for aclocal not to bring an installed
dnl libtool.m4 into aclocal.m4, while still arranging for automake to dnl libtool.m4 into aclocal.m4, while still arranging for automake to
......
...@@ -681,6 +681,9 @@ ...@@ -681,6 +681,9 @@
/* Define if you have the <sys/machine.h> header file. */ /* Define if you have the <sys/machine.h> header file. */
#undef HAVE_SYS_MACHINE_H #undef HAVE_SYS_MACHINE_H
/* Define if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H
/* Define if you have the <unistd.h> header file. */ /* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H #undef HAVE_UNISTD_H
...@@ -702,6 +705,18 @@ ...@@ -702,6 +705,18 @@
/* Define if sigsetjmp is available. */ /* Define if sigsetjmp is available. */
#undef HAVE_SIGSETJMP #undef HAVE_SIGSETJMP
/* Only used in build directory testsuite_hooks.h. */
#undef HAVE_MEMLIMIT_DATA
/* Only used in build directory testsuite_hooks.h. */
#undef HAVE_MEMLIMIT_RSS
/* Only used in build directory testsuite_hooks.h. */
#undef HAVE_MEMLIMIT_VMEM
/* Only used in build directory testsuite_hooks.h. */
#undef HAVE_MEMLIMIT_AS
// //
// Systems that have certain non-standard functions prefixed with an // Systems that have certain non-standard functions prefixed with an
// underscore, we'll handle those here. Must come after config.h.in. // underscore, we'll handle those here. Must come after config.h.in.
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -58,7 +58,7 @@ AC_SUBST(enable_shared) ...@@ -58,7 +58,7 @@ AC_SUBST(enable_shared)
AC_SUBST(enable_static) AC_SUBST(enable_static)
GLIBCPP_CHECK_GNU_MAKE GLIBCPP_CHECK_GNU_MAKE
AM_CONFIG_HEADER(config.h) AM_CONFIG_HEADER(config.h testsuite/testsuite_hooks.h)
# Check for c++ or library specific bits that don't require linking. # Check for c++ or library specific bits that don't require linking.
GLIBCPP_CHECK_COMPILER_VERSION GLIBCPP_CHECK_COMPILER_VERSION
...@@ -222,6 +222,10 @@ else ...@@ -222,6 +222,10 @@ else
AC_FUNC_MMAP AC_FUNC_MMAP
fi 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. # Propagate the target-specific source directories through the build chain.
OS_INC_SRCDIR=$os_include_dir/bits OS_INC_SRCDIR=$os_include_dir/bits
ATOMICITY_INC_SRCDIR=$ATOMICITYH/bits ATOMICITY_INC_SRCDIR=$ATOMICITYH/bits
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
// { dg-do link } // { dg-do link }
#include <ciso646> #include <ciso646>
#include <debug_assert.h> #include <testsuite_hooks.h>
// 2.11 Keywords // 2.11 Keywords
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 17.4.1.2 Headers, fstream // 17.4.1.2 Headers, fstream
#include <fstream> #include <fstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
int main(void) int main(void)
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 17.4.1.2 Headers, iomanip // 17.4.1.2 Headers, iomanip
#include <iomanip> #include <iomanip>
#include <debug_assert.h> #include <testsuite_hooks.h>
int main(void) int main(void)
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 17.4.1.2 Headers, ios // 17.4.1.2 Headers, ios
#include <ios> #include <ios>
#include <debug_assert.h> #include <testsuite_hooks.h>
int main(void) int main(void)
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 17.4.1.2 Headers, iosfwd // 17.4.1.2 Headers, iosfwd
#include <iosfwd> #include <iosfwd>
#include <debug_assert.h> #include <testsuite_hooks.h>
int main(void) int main(void)
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 17.4.1.2 Headers, iostream // 17.4.1.2 Headers, iostream
#include <iostream> #include <iostream>
#include <debug_assert.h> #include <testsuite_hooks.h>
int main(void) int main(void)
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 17.4.1.2 Headers, istream // 17.4.1.2 Headers, istream
#include <istream> #include <istream>
#include <debug_assert.h> #include <testsuite_hooks.h>
int main(void) int main(void)
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 17.4.1.2 Headers, ostream // 17.4.1.2 Headers, ostream
#include <ostream> #include <ostream>
#include <debug_assert.h> #include <testsuite_hooks.h>
int main(void) int main(void)
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 17.4.1.2 Headers, sstream // 17.4.1.2 Headers, sstream
#include <sstream> #include <sstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
int main(void) int main(void)
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 17.4.1.2 Headers, streambuf // 17.4.1.2 Headers, streambuf
#include <streambuf> #include <streambuf>
#include <debug_assert.h> #include <testsuite_hooks.h>
int main(void) int main(void)
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 18.2.1.1 template class numeric_limits // 18.2.1.1 template class numeric_limits
#include <limits> #include <limits>
#include <debug_assert.h> #include <testsuite_hooks.h>
template<typename T> template<typename T>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <string> #include <string>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
// libstdc++/1972 // libstdc++/1972
void test01() void test01()
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <memory> #include <memory>
#include <cstdlib> #include <cstdlib>
#include <debug_assert.h> #include <testsuite_hooks.h>
struct gnu { }; struct gnu { };
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
// 20.4.5 Template class auto_ptr [lib.auto.ptr] // 20.4.5 Template class auto_ptr [lib.auto.ptr]
#include <memory> #include <memory>
#include <debug_assert.h> #include <testsuite_hooks.h>
struct A struct A
{ {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 20.2.2 Pairs // 20.2.2 Pairs
#include <utility> #include <utility>
#include <debug_assert.h> #include <testsuite_hooks.h>
class gnu_obj class gnu_obj
{ {
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <string> #include <string>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test01(void) bool test01(void)
{ {
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <string> #include <string>
#include <cstdio> #include <cstdio>
#include <debug_assert.h> #include <testsuite_hooks.h>
template<typename T> template<typename T>
struct A { }; struct A { };
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 21.1.1 Characher traits requirements // 21.1.1 Characher traits requirements
#include <string> #include <string>
#include <debug_assert.h> #include <testsuite_hooks.h>
int test01(void) int test01(void)
{ {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
// things would be sorted in a dictionary. // things would be sorted in a dictionary.
#include <string> #include <string>
#include <debug_assert.h> #include <testsuite_hooks.h>
enum want_value {lt=0, z=1, gt=2}; enum want_value {lt=0, z=1, gt=2};
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include <new> #include <new>
#include <string> #include <string>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
int test01(void) int test01(void)
{ {
...@@ -196,6 +196,7 @@ void test03() ...@@ -196,6 +196,7 @@ void test03()
int main() int main()
{ {
__set_testsuite_memlimit();
test01(); test01();
test02(); test02();
test03(); test03();
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <string> #include <string>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test01(void) bool test01(void)
{ {
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <string> #include <string>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test01(void) bool test01(void)
{ {
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <string> #include <string>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
int test01(void) int test01(void)
{ {
...@@ -189,6 +189,7 @@ int test01(void) ...@@ -189,6 +189,7 @@ int test01(void)
int main() int main()
{ {
__set_testsuite_memlimit();
test01(); test01();
return 0; return 0;
} }
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#include <fstream> #include <fstream>
#include <iostream> #include <iostream>
#include <iomanip> #include <iomanip>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test01(void) bool test01(void)
{ {
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <string> #include <string>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
// Do a quick sanity check on known problems with element access and // Do a quick sanity check on known problems with element access and
// ref-counted strings. These should all pass, regardless of the // ref-counted strings. These should all pass, regardless of the
......
...@@ -111,7 +111,7 @@ template<class charT, class traits, class Allocator> ...@@ -111,7 +111,7 @@ template<class charT, class traits, class Allocator>
*/ */
#include <string> #include <string>
#include <debug_assert.h> #include <testsuite_hooks.h>
int test01(void) int test01(void)
{ {
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <string> #include <string>
#include <cstdio> #include <cstdio>
#include <debug_assert.h> #include <testsuite_hooks.h>
int test01(void) int test01(void)
{ {
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <string> #include <string>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test01(void) bool test01(void)
{ {
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#include <string> #include <string>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
// 21.3.6.2 basic_string rfind // 21.3.6.2 basic_string rfind
bool test01(void) bool test01(void)
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <string> #include <string>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test01(void) bool test01(void)
{ {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt] // 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
#include <locale> #include <locale>
#include <debug_assert.h> #include <testsuite_hooks.h>
// Required instantiation, degenerate conversion. // Required instantiation, degenerate conversion.
// codecvt<char, char, mbstate_t> // codecvt<char, char, mbstate_t>
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt] // 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
#include <locale> #include <locale>
#include <debug_assert.h> #include <testsuite_hooks.h>
using namespace std; using namespace std;
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 22.2.1.5 - Template class codecvt [lib.locale.codecvt] // 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
#include <locale> #include <locale>
#include <debug_assert.h> #include <testsuite_hooks.h>
using namespace std; using namespace std;
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <cwchar> // for mbstate_t #include <cwchar> // for mbstate_t
#include <locale> #include <locale>
#include <debug_assert.h> #include <testsuite_hooks.h>
// Need to explicitly set the state(mbstate_t) to zero. // Need to explicitly set the state(mbstate_t) to zero.
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include <cwchar> // for mbstate_t #include <cwchar> // for mbstate_t
#include <locale> #include <locale>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test00() void test00()
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <locale> #include <locale>
// NB: Don't include any other headers in this file. // NB: Don't include any other headers in this file.
#include <debug_assert.h> #include <testsuite_hooks.h>
class gnu_ctype: public std::ctype<char> { }; class gnu_ctype: public std::ctype<char> { };
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <locale> #include <locale>
// NB: Don't include any other headers in this file. // NB: Don't include any other headers in this file.
#include <debug_assert.h> #include <testsuite_hooks.h>
#if _GLIBCPP_USE_WCHAR_T #if _GLIBCPP_USE_WCHAR_T
class gnu_ctype: public std::ctype<wchar_t> {}; class gnu_ctype: public std::ctype<wchar_t> {};
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
#include <stdexcept> #include <stdexcept>
#include <string> #include <string>
#include <iterator> #include <iterator>
#include <debug_assert.h> #include <testsuite_hooks.h>
// 1 a class if a facet if it is publicly derived from another facet // 1 a class if a facet if it is publicly derived from another facet
typedef std::istreambuf_iterator<char> input_iterator; typedef std::istreambuf_iterator<char> input_iterator;
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <cwchar> // for mbstate_t #include <cwchar> // for mbstate_t
#include <locale> #include <locale>
#include <debug_assert.h> #include <testsuite_hooks.h>
typedef std::codecvt<char, char, std::mbstate_t> ccodecvt; typedef std::codecvt<char, char, std::mbstate_t> ccodecvt;
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <locale> #include <locale>
#include <string> #include <string>
#include <debug_assert.h> #include <testsuite_hooks.h>
// XXX This test is not working for non-glibc locale models. // XXX This test is not working for non-glibc locale models.
// { dg-do run { xfail *-*-* } } // { dg-do run { xfail *-*-* } }
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 22.2.3.2 Template class numpunct_byname // 22.2.3.2 Template class numpunct_byname
#include <locale> #include <locale>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 22.2.3.1.1 nunpunct members // 22.2.3.1.1 nunpunct members
#include <locale> #include <locale>
#include <debug_assert.h> #include <testsuite_hooks.h>
// XXX This test is not working for non-glibc locale models. // XXX This test is not working for non-glibc locale models.
// { dg-do run { xfail *-*-* } } // { dg-do run { xfail *-*-* } }
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <cwchar> // for mbstate_t #include <cwchar> // for mbstate_t
#include <locale> #include <locale>
#include <debug_assert.h> #include <testsuite_hooks.h>
typedef std::codecvt<char, char, std::mbstate_t> ccodecvt; typedef std::codecvt<char, char, std::mbstate_t> ccodecvt;
class gnu_codecvt: public ccodecvt { }; class gnu_codecvt: public ccodecvt { };
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <cwchar> // for mbstate_t #include <cwchar> // for mbstate_t
#include <locale> #include <locale>
#include <debug_assert.h> #include <testsuite_hooks.h>
typedef std::codecvt<char, char, std::mbstate_t> ccodecvt; typedef std::codecvt<char, char, std::mbstate_t> ccodecvt;
class gnu_codecvt: public ccodecvt { }; class gnu_codecvt: public ccodecvt { };
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <string> #include <string>
#include <bitset> #include <bitset>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test01(void) bool test01(void)
{ {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 23.3.5.2 bitset members // 23.3.5.2 bitset members
#include <bitset> #include <bitset>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test01(void) bool test01(void)
{ {
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <set> #include <set>
#include <bitset> #include <bitset>
#include <debug_assert.h> #include <testsuite_hooks.h>
static char original_bits[1024]; static char original_bits[1024];
static char left_shifted[1024]; static char left_shifted[1024];
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
// 23.2.4.2 vector capacity // 23.2.4.2 vector capacity
#include <vector> #include <vector>
#include <debug_assert.h> #include <testsuite_hooks.h>
template<typename T> template<typename T>
struct A { }; struct A { };
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 23.2.4.1 vector constructors, copy, and assignment // 23.2.4.1 vector constructors, copy, and assignment
#include <vector> #include <vector>
#include <debug_assert.h> #include <testsuite_hooks.h>
template<typename T> template<typename T>
struct A { }; struct A { };
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include <vector> #include <vector>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
template<typename T> template<typename T>
struct A { }; struct A { };
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 23.2.4.3 vector modifiers // 23.2.4.3 vector modifiers
#include <vector> #include <vector>
#include "debug_assert.h" #include "testsuite_hooks.h"
bool test = true; bool test = true;
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <sstream> #include <sstream>
#include <iterator> #include <iterator>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include <debug_assert.h> #include <testsuite_hooks.h>
int int
string_stuff() string_stuff()
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <sstream> #include <sstream>
#include <iterator> #include <iterator>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
// 25.3.3 [lib.alg.binary.search] Binary search algorithms. // 25.3.3 [lib.alg.binary.search] Binary search algorithms.
#include <algorithm> #include <algorithm>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test = true; bool test = true;
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
// 25.2.12 [lib.alg.partitions] Partitions. // 25.2.12 [lib.alg.partitions] Partitions.
#include <algorithm> #include <algorithm>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test = true; bool test = true;
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#include <algorithm> #include <algorithm>
//#include <cmath> //#include <cmath>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test = true; bool test = true;
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
// USA. // USA.
#include <algorithm> #include <algorithm>
#include <debug_assert.h> #include <testsuite_hooks.h>
// http://gcc.gnu.org/ml/libstdc++/2000-06/msg00316.html // http://gcc.gnu.org/ml/libstdc++/2000-06/msg00316.html
struct foo { }; struct foo { };
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
// USA. // USA.
#include <algorithm> #include <algorithm>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#include <algorithm> #include <algorithm>
#include <functional> #include <functional>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test = true; bool test = true;
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
// 25.?? algorithms, rotate() // 25.?? algorithms, rotate()
#include <algorithm> #include <algorithm>
#include <debug_assert.h> #include <testsuite_hooks.h>
#include <list> #include <list>
bool test = true; bool test = true;
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
// 25.3.1 algorithms, sort() // 25.3.1 algorithms, sort()
#include <algorithm> #include <algorithm>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test = true; bool test = true;
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
// USA. // USA.
#include <cmath> #include <cmath>
#include <debug_assert.h> #include <testsuite_hooks.h>
// test compilation. // test compilation.
int int
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#include <string> #include <string>
#include <sstream> #include <sstream>
#include <complex> #include <complex>
#include <debug_assert.h> #include <testsuite_hooks.h>
#include <cmath> #include <cmath>
template<typename R> template<typename R>
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
// USA. // USA.
#include <complex> #include <complex>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
// @diff@ %-*.tst %*.txt // @diff@ %-*.tst %*.txt
#include <fstream> #include <fstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
const char carray_01[] = "santa cruz or sandiego?"; const char carray_01[] = "santa cruz or sandiego?";
const char carray_02[] = "memphis, new orleans, and savanah"; const char carray_02[] = "memphis, new orleans, and savanah";
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
#include <cassert> #include <cassert>
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
#include <debug_assert.h> #include <testsuite_hooks.h>
// verify that std::filebuf doesn't close files that it didn't open // verify that std::filebuf doesn't close files that it didn't open
// when using the following std::filebuf ctor: // when using the following std::filebuf ctor:
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 27.8.1.4 Overridden virtual functions // 27.8.1.4 Overridden virtual functions
#include <fstream> #include <fstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <cwchar> // for mbstate_t #include <cwchar> // for mbstate_t
#include <ios> #include <ios>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 27.8.1.13 member functions (fstream_members) // 27.8.1.13 member functions (fstream_members)
#include <fstream> #include <fstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
void void
redirect_buffer(std::ios& stream, std::streambuf* new_buf) redirect_buffer(std::ios& stream, std::streambuf* new_buf)
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <istream> #include <istream>
#include <fstream> #include <fstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
const char name_01[] = "ifstream_members-1.tst"; const char name_01[] = "ifstream_members-1.tst";
const char name_02[] = "ifstream_members-1.txt"; const char name_02[] = "ifstream_members-1.txt";
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <string> #include <string>
#include <sstream> #include <sstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
const std::string str01("the nubians of plutonia"); const std::string str01("the nubians of plutonia");
std::string str02; std::string str02;
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
#include <sstream> #include <sstream>
#include <iostream> #include <iostream>
#include <debug_assert.h> #include <testsuite_hooks.h>
// N.B. Once we have called sync_with_stdio(false), we can never go back. // N.B. Once we have called sync_with_stdio(false), we can never go back.
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include <sstream> #include <sstream>
#include <iostream> #include <iostream>
#include <debug_assert.h> #include <testsuite_hooks.h>
// http://gcc.gnu.org/ml/gcc-bugs/2000-12/msg00413.html // http://gcc.gnu.org/ml/gcc-bugs/2000-12/msg00413.html
void test01() void test01()
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <ios> #include <ios>
#include <sstream> #include <sstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <fstream> #include <fstream>
#include <iostream> #include <iostream>
#include <debug_assert.h> #include <testsuite_hooks.h>
class gnu_filebuf: public std::filebuf class gnu_filebuf: public std::filebuf
{ {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <sstream> #include <sstream>
#include <locale> #include <locale>
#include <iomanip> #include <iomanip>
#include <debug_assert.h> #include <testsuite_hooks.h>
struct MyNP : std::numpunct<char> struct MyNP : std::numpunct<char>
{ {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <sstream> #include <sstream>
#include <locale> #include <locale>
#include <iomanip> #include <iomanip>
#include <debug_assert.h> #include <testsuite_hooks.h>
struct MyNP : std::numpunct<char> struct MyNP : std::numpunct<char>
{ {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <ios> #include <ios>
// NB: Don't include any other headers in this file. // NB: Don't include any other headers in this file.
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
#include <ostream> #include <ostream>
#include <sstream> #include <sstream>
#include <locale> #include <locale>
#include <debug_assert.h> #include <testsuite_hooks.h>
std::string str_01; std::string str_01;
std::string str_02("true false 0 1 110001"); std::string str_02("true false 0 1 110001");
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <istream> #include <istream>
#include <sstream> #include <sstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test01() { bool test01() {
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
#include <istream> #include <istream>
#include <sstream> #include <sstream>
#include <fstream> #include <fstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
// stringbufs. // stringbufs.
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include <istream> #include <istream>
#include <sstream> #include <sstream>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test01(void) bool test01(void)
{ {
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#include <istream> #include <istream>
#include <sstream> #include <sstream>
#include <fstream> #include <fstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test01() bool test01()
{ {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <istream> #include <istream>
#include <sstream> #include <sstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#include <istream> #include <istream>
#include <sstream> #include <sstream>
#include <fstream> #include <fstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
int int
test01() test01()
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 27.7.2.2 member functions (istringstream_members) // 27.7.2.2 member functions (istringstream_members)
#include <sstream> #include <sstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
#include <cstdlib> #include <cstdlib>
#include <cstring> #include <cstring>
#include <ctime> #include <ctime>
#include <debug_assert.h> #include <testsuite_hooks.h>
// Include iostream last, just to make is as difficult as possible to // Include iostream last, just to make is as difficult as possible to
// properly initialize the standard iostream objects. // properly initialize the standard iostream objects.
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <ostream> #include <ostream>
#include <fstream> #include <fstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
const char name_01[] = "ofstream_members-1.tst"; const char name_01[] = "ofstream_members-1.tst";
const char name_02[] = "ofstream_members-1.txt"; const char name_02[] = "ofstream_members-1.txt";
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
#include <locale> #include <locale>
#include <sstream> #include <sstream>
#include <limits> #include <limits>
#include <debug_assert.h> #include <testsuite_hooks.h>
using namespace std; using namespace std;
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#include <ostream> #include <ostream>
#include <sstream> #include <sstream>
#include <fstream> #include <fstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
// ofstream // ofstream
bool test01() bool test01()
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#include <ostream> #include <ostream>
#include <sstream> #include <sstream>
#include <fstream> #include <fstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
const int size = 1000; const int size = 1000;
const char name_01[] = "ostream_inserter_other-1.tst"; const char name_01[] = "ostream_inserter_other-1.tst";
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include <ostream> #include <ostream>
#include <sstream> #include <sstream>
#include <stdexcept> #include <stdexcept>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test01(void) bool test01(void)
{ {
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include <ostream> #include <ostream>
#include <sstream> #include <sstream>
#include <fstream> #include <fstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
bool test01() bool test01()
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#include <sstream> #include <sstream>
#include <ostream> #include <ostream>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 27.7.3.2 member functions (ostringstream_members) // 27.7.3.2 member functions (ostringstream_members)
#include <sstream> #include <sstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
#include <streambuf> #include <streambuf>
#include <string> #include <string>
#include <ostream> #include <ostream>
#include <debug_assert.h> #include <testsuite_hooks.h>
class testbuf : public std::streambuf class testbuf : public std::streambuf
{ {
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
// USA. // USA.
#include <sstream> #include <sstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
std::string str_01("mykonos. . . or what?"); std::string str_01("mykonos. . . or what?");
std::string str_02("paris, or sainte-maxime?"); std::string str_02("paris, or sainte-maxime?");
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 27.7.1.3 Overridden virtual functions // 27.7.1.3 Overridden virtual functions
#include <sstream> #include <sstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <vector> #include <vector>
#include <string> #include <string>
#include <sstream> #include <sstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
// 01: sanity checks for strings, stringbufs // 01: sanity checks for strings, stringbufs
std::string std::string
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// 27.7.6 member functions (stringstream_members) // 27.7.6 member functions (stringstream_members)
#include <sstream> #include <sstream>
#include <debug_assert.h> #include <testsuite_hooks.h>
void test01() void test01()
{ {
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
#include <cwchar> #include <cwchar>
#include <cwctype> #include <cwctype>
#endif #endif
#include <debug_assert.h> #include <testsuite_hooks.h>
// Include iostream last, just to make is as difficult as possible to // Include iostream last, just to make is as difficult as possible to
// properly initialize the standard iostream objects. // properly initialize the standard iostream objects.
......
// 20000810 Brent Verner <brent@rcfile.org>
//
// Copyright (C) 2000 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
//
//
// Purpose:
// This file is included in the various testsuite programs to provide
// #define(able) assert() behavior for debugging/testing. It may be
// a suitable location for other furry woodland creatures as well.
//
// Notes:
// If you find yourself compiling small test progs as much as I
// do, you can move this file to a location your compiler(s)
// will find, and possibly add more cheap debugging stuff...
//
#ifndef _CPP_DEBUG_ASSERT_H
#define _CPP_DEBUG_ASSERT_H
#ifdef DEBUG_ASSERT
# include <cassert>
# define VERIFY(fn) assert(fn)
#else
# define VERIFY(fn) test &= (fn)
// should we define this here to make sure no 'unexpected' failures
// happen, or do we require that it be defined in any scope where
// the VERIFY macro is used???
//
// static bool test = true;
#endif
#endif // _CPP_DEBUG_ASSERT_H
...@@ -53,9 +53,9 @@ proc libstdc++-v3-init { args } { ...@@ -53,9 +53,9 @@ proc libstdc++-v3-init { args } {
# Do a bunch of handstands and backflips for cross compiling and # Do a bunch of handstands and backflips for cross compiling and
# finding simulators... # finding simulators...
if [is_remote host] { 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 == "" } { 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" return "untested"
} }
set cxx [transform "g++"] set cxx [transform "g++"]
......
// Utility subroutines for the C++ library testsuite.
//
// Copyright (C) 2000, 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
//
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
// This file provides the following:
//
// 1) VERIFY(), via DEBUG_ASSERT, from Brent Verner <brent@rcfile.org>.
// This file is included in the various testsuite programs to provide
// #define(able) assert() behavior for debugging/testing. It may be
// a suitable location for other furry woodland creatures as well.
//
// 2) __set_testsuite_memlimit()
// __set_testsuite_memlimit() uses setrlimit() to restrict dynamic memory
// allocation. We provide a default memory limit if none is passed by the
// calling application. The argument to __set_testsuite_memlimit() is the
// limit in megabytes (a floating-point number). If NO_MEM_LIMITS is
// #defined before including this header, then no limiting is attempted.
#ifndef _GLIBCPP_TESTSUITE_HOOKS_H
#define _GLIBCPP_TESTSUITE_HOOKS_H
/*******
* VERIFY(), via DEBUG_ASSERT, from Brent Verner <brent@rcfile.org>.
*/
#ifdef DEBUG_ASSERT
# include <cassert>
# define VERIFY(fn) assert(fn)
#else
# define VERIFY(fn) test &= (fn)
// should we define this here to make sure no 'unexpected' failures
// happen, or do we require that it be defined in any scope where
// the VERIFY macro is used???
//
// static bool test = true;
#endif
/*******
* __set_testsuite_memlimit()
*/
// The RLIMIT_* macros used will be as many of the following as we can find,
// and they will be used in this order, for whatever difference it makes:
// RLIMIT_DATA
// RLIMIT_RSS
// RLIMIT_VMEM
// RLIMIT_AS
#define NO_MEM_LIMITS
// The following lines will be changed by configure...
#undef HAVE_SYS_RESOURCE_H
#undef HAVE_UNISTD_H
#undef HAVE_MEMLIMIT_DATA
#undef HAVE_MEMLIMIT_RSS
#undef HAVE_MEMLIMIT_VMEM
#undef HAVE_MEMLIMIT_AS
// ...and the results used here.
#if defined(HAVE_SYS_RESOURCE_H) && defined(HAVE_UNISTD_H) && !defined(NO_MEM_LIMITS)
#include <sys/resource.h>
#include <unistd.h>
#ifndef MEMLIMIT_MB
#define MEMLIMIT_MB 16.0
#endif
void
__set_testsuite_memlimit(float megs = MEMLIMIT_MB)
{
struct rlimit r;
r.rlim_cur = (rlim_t)(megs * 1048576);
// heap size, seems to be common
#if HAVE_MEMLIMIT_DATA
setrlimit (RLIMIT_DATA, &r);
#endif
// resident set size -- Linux?
#if HAVE_MEMLIMIT_RSS
setrlimit (RLIMIT_RSS, &r);
#endif
// mapped memory (brk+mmap) -- Solaris?
#if HAVE_MEMLIMIT_VMEM
setrlimit (RLIMIT_VMEM, &r);
#endif
// virtual memory, seems to be common
#if HAVE_MEMLIMIT_AS
setrlimit (RLIMIT_AS, &r);
#endif
}
#else
// The headers needed for resource limiting are not available. This is
// safe, but means that no memory limits will be applied... ouch.
#define __set_testsuite_memlimit(__junk)
#endif
#endif // _GLIBCPP_TESTSUITE_HOOKS_H
...@@ -28,13 +28,13 @@ query=$1 ...@@ -28,13 +28,13 @@ query=$1
case ${query} in case ${query} in
--install-includes) --install-includes)
INCLUDES="-I${SRC_DIR}/testsuite" INCLUDES="-I${SRC_DIR}/testsuite -I${BUILD_DIR}/testsuite"
echo ${INCLUDES} echo ${INCLUDES}
;; ;;
--build-includes) --build-includes)
INCLUDES="-nostdinc++ @GLIBCPP_INCLUDES@ INCLUDES="-nostdinc++ @GLIBCPP_INCLUDES@
-I${SRC_DIR}/libsupc++ -I${SRC_DIR}/libio -I${SRC_DIR}/libsupc++ -I${SRC_DIR}/libio
-I${SRC_DIR}/testsuite" -I${SRC_DIR}/testsuite -I${BUILD_DIR}/testsuite"
echo ${INCLUDES} echo ${INCLUDES}
;; ;;
--install-cxx) --install-cxx)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment