]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
authorBenjamin Kosnik <bkoz@redhat.com>
Wed, 6 Oct 2004 22:12:34 +0000 (22:12 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Wed, 6 Oct 2004 22:12:34 +0000 (22:12 +0000)
2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>

* acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
(GLIBCXX_CONFIGURE_TESTSUITE): Use it.
* configure: Regenerated.
* testsuite/Makefile.am (CLEANFILES): Add TEST for
check-performance executables.
(stamp_thread): New.
(all-local): Use it.
* testsuite/Makefile.in: Regenerate.
* scripts/create_testsuite_files: Filter thread tests.

* testsuite/thread/pthread1.cc: Remove macro conditionals: this
file will only be run by thread enabled configurations.
* testsuite/thread/pthread7-rope.cc: Same, add rope_type typedef.
* testsuite/thread/pthread6.cc: Same.
* testsuite/thread/pthread5.cc: Same.
* testsuite/thread/pthread4.cc: Same.
* testsuite/thread/pthread3.cc: Same.
* testsuite/thread/pthread2.cc: Same.

* testsuite/ext/mt_allocator/instantiate.cc: Add in __GTHREADS guard.
* testsuite/ext/mt_allocator/deallocate_global-1.cc: Move to...
* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: ...here.
* testsuite/ext/mt_allocator/deallocate_global-3.cc: Move to...
* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: ...here.
* testsuite/ext/mt_allocator/deallocate_local-1.cc: Move to...
* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: ...here.
* testsuite/ext/mt_allocator/deallocate_local-3.cc: Move to...
* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: ...here.

From-SVN: r88628

24 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/Makefile.in
libstdc++-v3/acinclude.m4
libstdc++-v3/configure
libstdc++-v3/include/Makefile.in
libstdc++-v3/libmath/Makefile.in
libstdc++-v3/libsupc++/Makefile.in
libstdc++-v3/po/Makefile.in
libstdc++-v3/scripts/create_testsuite_files
libstdc++-v3/src/Makefile.in
libstdc++-v3/testsuite/Makefile.am
libstdc++-v3/testsuite/Makefile.in
libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-1.cc [moved from libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-1.cc with 100% similarity]
libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-3.cc [moved from libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-3.cc with 100% similarity]
libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-1.cc [moved from libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-1.cc with 100% similarity]
libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-3.cc [moved from libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-3.cc with 100% similarity]
libstdc++-v3/testsuite/ext/mt_allocator/instantiate.cc
libstdc++-v3/testsuite/thread/pthread1.cc
libstdc++-v3/testsuite/thread/pthread2.cc
libstdc++-v3/testsuite/thread/pthread3.cc
libstdc++-v3/testsuite/thread/pthread4.cc
libstdc++-v3/testsuite/thread/pthread5.cc
libstdc++-v3/testsuite/thread/pthread6.cc
libstdc++-v3/testsuite/thread/pthread7-rope.cc

index c87cda9c385241bad0d7cbd78994cea0946c5d1d..34fea610fba7c216df2eb6ea855b177da5429fc9 100644 (file)
@@ -1,3 +1,34 @@
+2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
+       (GLIBCXX_CONFIGURE_TESTSUITE): Use it.
+       * configure: Regenerated.
+       * testsuite/Makefile.am (CLEANFILES): Add TEST for
+       check-performance executables.
+       (stamp_thread): New.
+       (all-local): Use it.
+       * testsuite/Makefile.in: Regenerate.
+       * scripts/create_testsuite_files: Filter thread tests.
+
+       * testsuite/thread/pthread1.cc: Remove macro conditionals: this
+       file will only be run by thread enabled configurations.
+       * testsuite/thread/pthread7-rope.cc: Same, add rope_type typedef.
+       * testsuite/thread/pthread6.cc: Same.
+       * testsuite/thread/pthread5.cc: Same.
+       * testsuite/thread/pthread4.cc: Same.
+       * testsuite/thread/pthread3.cc: Same.
+       * testsuite/thread/pthread2.cc: Same.
+
+       * testsuite/ext/mt_allocator/instantiate.cc: Add in __GTHREADS guard.
+       * testsuite/ext/mt_allocator/deallocate_global-1.cc: Move to...
+       * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: ...here.
+       * testsuite/ext/mt_allocator/deallocate_global-3.cc: Move to...
+       * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: ...here. 
+       * testsuite/ext/mt_allocator/deallocate_local-1.cc: Move to...
+       * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: ...here.
+       * testsuite/ext/mt_allocator/deallocate_local-3.cc: Move to...
+       * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: ...here.
+
 2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
            Paolo Carlini  <pcarlini@suse.de>
 
index a25d5597c09f769077c723dbe8483f53a60286cf..06d8eafadd20a1d68c7293d7ba98894dc85a5e47 100644 (file)
@@ -150,6 +150,8 @@ GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
 GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
 GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
+GLIBCXX_TEST_THREAD_FALSE = @GLIBCXX_TEST_THREAD_FALSE@
+GLIBCXX_TEST_THREAD_TRUE = @GLIBCXX_TEST_THREAD_TRUE@
 GLIBCXX_TEST_WCHAR_T_FALSE = @GLIBCXX_TEST_WCHAR_T_FALSE@
 GLIBCXX_TEST_WCHAR_T_TRUE = @GLIBCXX_TEST_WCHAR_T_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
index 6c9f13aa185208519bd439bc31b6815402bc3b0f..0bd4aa645d92973a83019469aa83ce2581761166 100644 (file)
@@ -620,6 +620,8 @@ dnl GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE must be done before this.
 dnl
 dnl Sets:
 dnl  enable_abi_check / GLIBCXX_TEST_ABI
+dnl  GLIBCXX_TEST_WCHAR_T
+dnl  GLIBCXX_TEST_THREAD
 dnl Substs:
 dnl  baseline_dir
 dnl
@@ -652,6 +654,7 @@ AC_DEFUN([GLIBCXX_CONFIGURE_TESTSUITE], [
   AC_SUBST(baseline_dir)
 
   GLIBCXX_CONDITIONAL(GLIBCXX_TEST_WCHAR_T, test $enable_wchar_t = yes)
+  GLIBCXX_CONDITIONAL(GLIBCXX_TEST_THREAD, test $enable_thread = yes)
   GLIBCXX_CONDITIONAL(GLIBCXX_TEST_ABI, test $enable_abi_check = yes)
 ])
 
@@ -1708,8 +1711,10 @@ AC_DEFUN([GLIBCXX_ENABLE_THREADS], [
   target_thread_file=`$CXX -v 2>&1 | sed -n 's/^Thread model: //p'`
   AC_MSG_RESULT([$target_thread_file])
 
+  enable_thread=no
   if test $target_thread_file != single; then
     AC_DEFINE(HAVE_GTHR_DEFAULT)
+    enable_thread=yes
   fi
 
   glibcxx_thread_h=gthr-$target_thread_file.h
index 0a8f404a60750f538ef260e0648a7a2b5f908988..8fe56ec5981a1b39623fd3bef65d37689e09e629 100755 (executable)
@@ -309,7 +309,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOL CXXCPP CPPFLAGS enable_shared enable_static GLIBCXX_HOSTED_TRUE GLIBCXX_HOSTED_FALSE GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H BASIC_FILE_H BASIC_FILE_CC CPP EGREP check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CCODECVT_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H ALLOCATOR_H ALLOCATOR_NAME C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE glibcxx_thread_h DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS LIBICONV SYMVER_MAP port_specific_symbol_files GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE baseline_dir GLIBCXX_TEST_WCHAR_T_TRUE GLIBCXX_TEST_WCHAR_T_FALSE GLIBCXX_TEST_ABI_TRUE GLIBCXX_TEST_ABI_FALSE ATOMICITY_SRCDIR ATOMIC_WORD_SRCDIR ABI_TWEAKS_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOL CXXCPP CPPFLAGS enable_shared enable_static GLIBCXX_HOSTED_TRUE GLIBCXX_HOSTED_FALSE GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H BASIC_FILE_H BASIC_FILE_CC CPP EGREP check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CCODECVT_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H ALLOCATOR_H ALLOCATOR_NAME C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE glibcxx_thread_h DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS LIBICONV SYMVER_MAP port_specific_symbol_files GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE baseline_dir GLIBCXX_TEST_WCHAR_T_TRUE GLIBCXX_TEST_WCHAR_T_FALSE GLIBCXX_TEST_THREAD_TRUE GLIBCXX_TEST_THREAD_FALSE GLIBCXX_TEST_ABI_TRUE GLIBCXX_TEST_ABI_FALSE ATOMICITY_SRCDIR ATOMIC_WORD_SRCDIR ABI_TWEAKS_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -7728,11 +7728,13 @@ echo $ECHO_N "checking for thread model used by GCC... $ECHO_C" >&6
   echo "$as_me:$LINENO: result: $target_thread_file" >&5
 echo "${ECHO_T}$target_thread_file" >&6
 
+  enable_thread=no
   if test $target_thread_file != single; then
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_GTHR_DEFAULT 1
 _ACEOF
 
+    enable_thread=yes
   fi
 
   glibcxx_thread_h=gthr-$target_thread_file.h
@@ -97355,6 +97357,7 @@ done
 
 
 
+
 # Propagate the target-specific source directories through the build chain.
 ATOMICITY_SRCDIR=config/${atomicity_dir}
 ATOMIC_WORD_SRCDIR=config/${atomic_word_dir}
 
 
 
+if test $enable_thread = yes; then
+  GLIBCXX_TEST_THREAD_TRUE=
+  GLIBCXX_TEST_THREAD_FALSE='#'
+else
+  GLIBCXX_TEST_THREAD_TRUE='#'
+  GLIBCXX_TEST_THREAD_FALSE=
+fi
+
+
+
+
 if test $enable_abi_check = yes; then
   GLIBCXX_TEST_ABI_TRUE=
   GLIBCXX_TEST_ABI_FALSE='#'
@@ -97828,6 +97842,13 @@ echo "$as_me: error: conditional \"GLIBCXX_TEST_WCHAR_T\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${GLIBCXX_TEST_THREAD_TRUE}" && test -z "${GLIBCXX_TEST_THREAD_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_TEST_THREAD\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"GLIBCXX_TEST_THREAD\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${GLIBCXX_TEST_ABI_TRUE}" && test -z "${GLIBCXX_TEST_ABI_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_TEST_ABI\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -98508,6 +98529,8 @@ s,@GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@,$GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE,;t
 s,@baseline_dir@,$baseline_dir,;t t
 s,@GLIBCXX_TEST_WCHAR_T_TRUE@,$GLIBCXX_TEST_WCHAR_T_TRUE,;t t
 s,@GLIBCXX_TEST_WCHAR_T_FALSE@,$GLIBCXX_TEST_WCHAR_T_FALSE,;t t
+s,@GLIBCXX_TEST_THREAD_TRUE@,$GLIBCXX_TEST_THREAD_TRUE,;t t
+s,@GLIBCXX_TEST_THREAD_FALSE@,$GLIBCXX_TEST_THREAD_FALSE,;t t
 s,@GLIBCXX_TEST_ABI_TRUE@,$GLIBCXX_TEST_ABI_TRUE,;t t
 s,@GLIBCXX_TEST_ABI_FALSE@,$GLIBCXX_TEST_ABI_FALSE,;t t
 s,@ATOMICITY_SRCDIR@,$ATOMICITY_SRCDIR,;t t
index b6f4be72c6959d0c899f7739d5a7421c3eb722a8..bc35f0c2cae7220928a2231d61fc8e2efbc43b0d 100644 (file)
@@ -117,6 +117,8 @@ GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
 GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
 GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
+GLIBCXX_TEST_THREAD_FALSE = @GLIBCXX_TEST_THREAD_FALSE@
+GLIBCXX_TEST_THREAD_TRUE = @GLIBCXX_TEST_THREAD_TRUE@
 GLIBCXX_TEST_WCHAR_T_FALSE = @GLIBCXX_TEST_WCHAR_T_FALSE@
 GLIBCXX_TEST_WCHAR_T_TRUE = @GLIBCXX_TEST_WCHAR_T_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
index 87b0dae85301460030d5f623f020d57cff15a668..03b598be4690767a0e981d60ed7579c62ac9a129 100644 (file)
@@ -134,6 +134,8 @@ GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
 GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
 GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
+GLIBCXX_TEST_THREAD_FALSE = @GLIBCXX_TEST_THREAD_FALSE@
+GLIBCXX_TEST_THREAD_TRUE = @GLIBCXX_TEST_THREAD_TRUE@
 GLIBCXX_TEST_WCHAR_T_FALSE = @GLIBCXX_TEST_WCHAR_T_FALSE@
 GLIBCXX_TEST_WCHAR_T_TRUE = @GLIBCXX_TEST_WCHAR_T_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
index 765d4c9b354fbb549d490e51b771513242b52ac1..9c622e04451a6bcaa7a107be48c60dba8bcf6d8d 100644 (file)
@@ -173,6 +173,8 @@ GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
 GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
 GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
+GLIBCXX_TEST_THREAD_FALSE = @GLIBCXX_TEST_THREAD_FALSE@
+GLIBCXX_TEST_THREAD_TRUE = @GLIBCXX_TEST_THREAD_TRUE@
 GLIBCXX_TEST_WCHAR_T_FALSE = @GLIBCXX_TEST_WCHAR_T_FALSE@
 GLIBCXX_TEST_WCHAR_T_TRUE = @GLIBCXX_TEST_WCHAR_T_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
index 3694b33749f6b3639164470155685ca712ac6990..edd8f270b3b3c9cb225fa3d07acbd1aa3052b454 100644 (file)
@@ -117,6 +117,8 @@ GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
 GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
 GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
+GLIBCXX_TEST_THREAD_FALSE = @GLIBCXX_TEST_THREAD_FALSE@
+GLIBCXX_TEST_THREAD_TRUE = @GLIBCXX_TEST_THREAD_TRUE@
 GLIBCXX_TEST_WCHAR_T_FALSE = @GLIBCXX_TEST_WCHAR_T_FALSE@
 GLIBCXX_TEST_WCHAR_T_TRUE = @GLIBCXX_TEST_WCHAR_T_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
index 50f2e13f8567fe6723894f7641935140d02e9a00..582f8f5b0ac0d2e6af46a78fcfd026c57a8b7f64 100755 (executable)
@@ -47,15 +47,22 @@ else
   grep -v wchar_t $tmp.1 > $tmp.2
 fi
 
+# If the library is not configured to support threads, don't run those tests.
+if test -f "$outdir/testsuite_thread"; then
+  mv $tmp.2 $tmp.3
+else
+  grep -v thread $tmp.2 > $tmp.3
+fi
+
 # Now filter out classes of tests.  These classes are run using special rules.
-grep _xin $tmp.2 > $tests_file_inter
-grep -v _xin $tmp.2 > $tmp.3
+grep _xin $tmp.3 > $tests_file_inter
+grep -v _xin $tmp.3 > $tmp.4
 
-grep performance $tmp.3 > $tests_file_perf
-grep -v performance $tmp.3 > $tmp.4
+grep performance $tmp.4 > $tests_file_perf
+grep -v performance $tmp.4 > $tmp.5
 
 # ...more filters go here.
-cp $tmp.4 $tests_file_normal
+cp $tmp.5 $tests_file_normal
 
 rm $tmp*
 exit 0
index 91644529c25162b8ee3d8dae21d05dbdb8e4c44a..ba9df3c499971b250848c2496bccfd08efd5629d 100644 (file)
@@ -152,6 +152,8 @@ GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
 GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
 GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
+GLIBCXX_TEST_THREAD_FALSE = @GLIBCXX_TEST_THREAD_FALSE@
+GLIBCXX_TEST_THREAD_TRUE = @GLIBCXX_TEST_THREAD_TRUE@
 GLIBCXX_TEST_WCHAR_T_FALSE = @GLIBCXX_TEST_WCHAR_T_FALSE@
 GLIBCXX_TEST_WCHAR_T_TRUE = @GLIBCXX_TEST_WCHAR_T_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
index 9e11ac30ae97bb4588ae6b49a6ed4423a638daac..a003497ecaf7d78f16456cbb21e72158cc4e55cf 100644 (file)
@@ -57,7 +57,7 @@ endif
 abi_check_SOURCES = abi_check.cc
 abi_check_DEPENDENCIES = libv3test.a
 
-all-local: stamp_wchar testsuite_files
+all-local: stamp_wchar stamp_thread testsuite_files
 
 # Enable wchar_t tests if capable.
 if GLIBCXX_TEST_WCHAR_T
@@ -67,6 +67,14 @@ else
 stamp_wchar:
 endif
 
+# Enable thread tests if capable.
+if GLIBCXX_TEST_THREAD
+stamp_thread:
+       touch testsuite_thread
+else
+stamp_thread:
+endif
+
 # Generated lists of files to run.  All of these names are valid make
 # targets, if you wish to generate a list manually.
 lists_of_files = \
@@ -183,4 +191,4 @@ check-script check-script-install check-performance
 
 # 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
+            testsuite_* site.exp abi_check baseline_symbols *TEST*
index 3a79b7ec10bbf2ac01893ca25359e24937d5e237..1005b34e58d2c52ef6ef7a9d3ed9850174e4df37 100644 (file)
@@ -146,6 +146,8 @@ GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
 GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
 GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
+GLIBCXX_TEST_THREAD_FALSE = @GLIBCXX_TEST_THREAD_FALSE@
+GLIBCXX_TEST_THREAD_TRUE = @GLIBCXX_TEST_THREAD_TRUE@
 GLIBCXX_TEST_WCHAR_T_FALSE = @GLIBCXX_TEST_WCHAR_T_FALSE@
 GLIBCXX_TEST_WCHAR_T_TRUE = @GLIBCXX_TEST_WCHAR_T_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
@@ -311,7 +313,7 @@ performance_script = ${glibcxx_srcdir}/scripts/check_performance
 
 # 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
+            testsuite_* site.exp abi_check baseline_symbols *TEST*
 
 all: all-am
 
@@ -575,13 +577,18 @@ uninstall-am: uninstall-info-am
        tags uninstall uninstall-am uninstall-info-am
 
 
-all-local: stamp_wchar testsuite_files
+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:
+
 # 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
 # the dependancy chains.  So we overrule automake.  This rule is exactly
index 579b8bcf18dfa86c24bbf3de59fc1ed25ae5eb8a..4fa49aa09cc9bdbefb6bbc9769db686c0144d410 100644 (file)
@@ -27,7 +27,9 @@
 
 using namespace __gnu_cxx;
 template class __mt_alloc<int>;
-template class __mt_alloc<short, __common_pool_policy<true> >;
 template class __mt_alloc<short, __common_pool_policy<false> >;
-template class __mt_alloc<short, __per_type_pool_policy<short, true> >;
 template class __mt_alloc<short, __per_type_pool_policy<short, false> >;
+#ifdef __GTHREADS
+template class __mt_alloc<short, __common_pool_policy<true> >;
+template class __mt_alloc<short, __per_type_pool_policy<short, true> >;
+#endif
index 1b225f202c6020bac793bd8566949bd7db13cbcf..26d198a755e937fb23b4430236edfc238897ddf0 100644 (file)
@@ -34,7 +34,6 @@
 // Do not include <pthread.h> explicitly; if threads are properly
 // configured for the port, then it is picked up free from STL headers.
 
-#if __GTHREADS
 using namespace std;
 
 const int thread_cycles = 10;
@@ -135,6 +134,3 @@ main ()
 
   return 0;
 }
-#else
-int main (void) {}
-#endif
index 7fbdfc03aebc9d8bf6d95d19b99a620200f4c41b..7a0efd067a21ed1aaa0ffd0c9fbed6ea9d8c4a46 100644 (file)
@@ -28,8 +28,6 @@
 // Do not include <pthread.h> explicitly; if threads are properly
 // configured for the port, then it is picked up free from STL headers.
 
-#if __GTHREADS
-
 const int max_thread_count = 2;
 const int max_loop_count = 1000000;
 
@@ -62,6 +60,3 @@ main()
 
   return 0;
 }
-#else
-int main (void) {}
-#endif
index ca8f77147e78090b351d2d5da07c781103cf9f2d..4696fb76cdc0301c475cf811351f83660c369ccd 100644 (file)
@@ -28,8 +28,6 @@
 // Do not include <pthread.h> explicitly; if threads are properly
 // configured for the port, then it is picked up free from STL headers.
 
-#if __GTHREADS
-
 const int max_thread_count = 2;
 const int max_loop_count = 1000000;
 
@@ -59,6 +57,3 @@ main()
 
   return 0;
 }
-#else
-int main (void) {}
-#endif
index be1ae680fa7ee1dfe67adf7dcc279871b2255458..a9ec9b84e3878b6a5b2524b42f61b813d691115a 100644 (file)
@@ -30,7 +30,6 @@
 // Do not include <pthread.h> explicitly; if threads are properly
 // configured for the port, then it is picked up free from STL headers.
 
-#if __GTHREADS
 using namespace std;
 
 static list<string> foo;
@@ -113,6 +112,3 @@ main (void)
 
   return 0;
 }
-#else
-int main (void) {}
-#endif
index b950542fd619c7be6d6cac5a34afb4fa9ddd3db2..93f03a227615c717747f712cda18f7e084d84be1 100644 (file)
@@ -31,7 +31,6 @@
 // Do not include <pthread.h> explicitly; if threads are properly
 // configured for the port, then it is picked up free from STL headers.
 
-#if __GTHREADS
 #ifdef _GLIBCXX_HAVE_UNISTD_H
 #include <unistd.h>    // To test for _POSIX_THREAD_PRIORITY_SCHEDULING
 #endif
@@ -130,6 +129,3 @@ main ()
 
   return (0);
 }
-#else
-int main (void) {}
-#endif
index e0fee71deac673d7843b696cb4cd11213bdfe8bf..ba8c341c3f8d150877e6e58bc796043a53370897 100644 (file)
@@ -30,8 +30,6 @@
 // Do not include <pthread.h> explicitly; if threads are properly
 // configured for the port, then it is picked up free from STL headers.
 
-#if __GTHREADS
-
 const int max_thread_count = 8;
 const int loops = 100000;
 
@@ -94,6 +92,3 @@ main (void)
 
   return 0;
 }
-#else
-int main (void) {}
-#endif
index 2f401344ff4d9a244354dfe437b7075f21804de1..307973c202db7ed930931cdc788a8b92a08b3939 100644 (file)
 // Do not include <pthread.h> explicitly; if threads are properly
 // configured for the port, then it is picked up free from STL headers.
 
-#if __GTHREADS
-
 const int max_thread_count = 4;
 const int max_loop_count = 10000;
 
-__gnu_cxx::crope foo2;
-__gnu_cxx::crope foo4;
+typedef __gnu_cxx::rope<char, std::allocator<char> > rope_type;
+rope_type foo2;
+rope_type foo4;
 
 void* thread_main(void *) 
 {
@@ -73,7 +72,7 @@ main()
   pthread_setconcurrency (max_thread_count);
 #endif
 
-  __gnu_cxx::crope foo;
+  rope_type foo;
   foo += "bar";
   foo += "baz";
   foo += "bongle";
@@ -89,7 +88,7 @@ main()
     VERIFY( !std::strcmp (data2, "bar2baz2bongle2") );
   }
 
-  __gnu_cxx::crope foo3 ("hello");
+  rope_type foo3 ("hello");
   const char* data3 = foo3.c_str();
   VERIFY( !std::strcmp (data3, "hello") );
 
@@ -112,6 +111,3 @@ main()
 
   return 0;
 }
-#else
-int main (void) {}
-#endif