Commit 5305b1ae by Benjamin Kosnik Committed by Benjamin Kosnik

test.html: Update.


2005-04-06  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/test.html: Update.
	* testsuite/printnow.c: Remove.
	* scripts/check_survey.in: Remove.

	* testsuite/abi_check.cc: To...
	* testuite/testsuite_abi_check.cc: ...here.
	* testsuite/libstdc++-abi/abi.exp: Change abi_check.cc to
	testsuite_abi_check.cc.

	* testsuite/testsuite_hooks.h: Move character related bits to...
	* testsuite/testsuite_character.h: ...here.
	* testsuite/testsuite_character.cc: ... and here.
	* testsuite/21_strings/basic_string/inserters_extractors/pod/
	10081-in.cc: Use testsuite_character.h.
	* testsuite/21_strings/basic_string/inserters_extractors/pod/
	10081-out.cc: Same.
	* testsuite/22_locale/numpunct/members/pod/1.cc: Same.
	* testsuite/22_locale/numpunct/members/pod/2.cc: Same.
	* testsuite/27_io/basic_filebuf/2.cc: Same.
	* testsuite/27_io/basic_fstream/2.cc: Same.
	* testsuite/27_io/basic_istream/2.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/pod/
	3983-1.cc: Same.
	* testsuite/27_io/basic_istream/extractors_character/char/
	9826.cc: Same.
	* testsuite/27_io/basic_istream/extractors_character/pod/
	3983-2.cc: Same.
	* testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
	* testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
	* testsuite/27_io/basic_ostream/2.cc: Same.
	* testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.
	* testsuite/27_io/basic_streambuf/2.cc: Same.
	* testsuite/27_io/basic_stringbuf/2.cc: Same.
	* testsuite/27_io/basic_stringbuf/4.cc: Same.
	* testsuite/27_io/basic_stringstream/2.cc: Same.
	* testsuite/27_io/fpos/1.cc: Same.
	* testsuite/ext/mt_allocator/tune-1.cc: Same.
	* testsuite/ext/mt_allocator/tune-2.cc: Same.
	* testsuite/ext/stdio_filebuf/char/1.cc: Same.
	* testsuite/lib/libstdc++.exp (v3-build_support): Add
	testsuite_character.cc.
	* testsuite/Makefile.am (libv3test_a_SOURCES): Add
	testsuite_character.cc.
	* testsuite/Makefile.in: Regenerate.

	* configure.ac: Remove use of check_survey.
	* configure: Regenerate.
	* testsuite/Makefile.am: Remove check-script and
	check-script-install rules.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r97772
parent 2d6106a3
2005-04-06 Benjamin Kosnik <bkoz@redhat.com>
* docs/html/test.html: Update.
* testsuite/printnow.c: Remove.
* scripts/check_survey.in: Remove.
* testsuite/abi_check.cc: To...
* testuite/testsuite_abi_check.cc: ...here.
* testsuite/libstdc++-abi/abi.exp: Change abi_check.cc to
testsuite_abi_check.cc.
* testsuite/testsuite_hooks.h: Move character related bits to...
* testsuite/testsuite_character.h: ...here.
* testsuite/testsuite_character.cc: ... and here.
* testsuite/21_strings/basic_string/inserters_extractors/pod/
10081-in.cc: Use testsuite_character.h.
* testsuite/21_strings/basic_string/inserters_extractors/pod/
10081-out.cc: Same.
* testsuite/22_locale/numpunct/members/pod/1.cc: Same.
* testsuite/22_locale/numpunct/members/pod/2.cc: Same.
* testsuite/27_io/basic_filebuf/2.cc: Same.
* testsuite/27_io/basic_fstream/2.cc: Same.
* testsuite/27_io/basic_istream/2.cc: Same.
* testsuite/27_io/basic_istream/extractors_arithmetic/pod/
3983-1.cc: Same.
* testsuite/27_io/basic_istream/extractors_character/char/
9826.cc: Same.
* testsuite/27_io/basic_istream/extractors_character/pod/
3983-2.cc: Same.
* testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
* testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
* testsuite/27_io/basic_ostream/2.cc: Same.
* testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.
* testsuite/27_io/basic_streambuf/2.cc: Same.
* testsuite/27_io/basic_stringbuf/2.cc: Same.
* testsuite/27_io/basic_stringbuf/4.cc: Same.
* testsuite/27_io/basic_stringstream/2.cc: Same.
* testsuite/27_io/fpos/1.cc: Same.
* testsuite/ext/mt_allocator/tune-1.cc: Same.
* testsuite/ext/mt_allocator/tune-2.cc: Same.
* testsuite/ext/stdio_filebuf/char/1.cc: Same.
* testsuite/lib/libstdc++.exp (v3-build_support): Add
testsuite_character.cc.
* testsuite/Makefile.am (libv3test_a_SOURCES): Add
testsuite_character.cc.
* testsuite/Makefile.in: Regenerate.
* configure.ac: Remove use of check_survey.
* configure: Regenerate.
* testsuite/Makefile.am: Remove check-script and
check-script-install rules.
* testsuite/Makefile.in: Regenerate.
2005-04-06 Ulrich Weigand <uweigand@de.ibm.com> 2005-04-06 Ulrich Weigand <uweigand@de.ibm.com>
* config/cpu/s390/atomicity.h (__exchange_and_add): Add "memory" * config/cpu/s390/atomicity.h (__exchange_and_add): Add "memory"
......
# Makefile.in generated by automake 1.9.3 from Makefile.am. # Makefile.in generated by automake 1.9.2 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
...@@ -42,20 +42,18 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/../config.guess \ ...@@ -42,20 +42,18 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/../config.guess \
$(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \ $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/configure $(top_srcdir)/fragment.am \ $(top_srcdir)/configure $(top_srcdir)/fragment.am \
$(top_srcdir)/scripts/check_survey.in \
$(top_srcdir)/scripts/testsuite_flags.in ChangeLog acconfig.h $(top_srcdir)/scripts/testsuite_flags.in ChangeLog acconfig.h
subdir = . subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \ $(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno configure.lineno configure.status.lineno
CONFIG_HEADER = config.h CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = scripts/check_survey scripts/testsuite_flags CONFIG_CLEAN_FILES = scripts/testsuite_flags
depcomp = depcomp =
am__depfiles_maybe = am__depfiles_maybe =
SOURCES = SOURCES =
...@@ -377,8 +375,6 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(top_srcdir ...@@ -377,8 +375,6 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(top_srcdir
distclean-hdr: distclean-hdr:
-rm -f config.h stamp-h1 -rm -f config.h stamp-h1
scripts/check_survey: $(top_builddir)/config.status $(top_srcdir)/scripts/check_survey.in
cd $(top_builddir) && $(SHELL) ./config.status $@
scripts/testsuite_flags: $(top_builddir)/config.status $(top_srcdir)/scripts/testsuite_flags.in scripts/testsuite_flags: $(top_builddir)/config.status $(top_srcdir)/scripts/testsuite_flags.in
cd $(top_builddir) && $(SHELL) ./config.status $@ cd $(top_builddir) && $(SHELL) ./config.status $@
...@@ -503,7 +499,7 @@ distclean-tags: ...@@ -503,7 +499,7 @@ distclean-tags:
distdir: $(DISTFILES) distdir: $(DISTFILES)
$(am__remove_distdir) $(am__remove_distdir)
mkdir $(distdir) mkdir $(distdir)
$(mkdir_p) $(distdir)/.. $(distdir)/../config $(distdir)/scripts $(mkdir_p) $(distdir)/.. $(distdir)/scripts
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \ list='$(DISTFILES)'; for file in $$list; do \
......
# generated automatically by aclocal 1.9.3 -*- Autoconf -*- # generated automatically by aclocal 1.9.2 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
...@@ -40,7 +40,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) ...@@ -40,7 +40,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
# Call AM_AUTOMAKE_VERSION so it can be traced. # Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.9.3])]) [AM_AUTOMAKE_VERSION([1.9.2])])
# AM_AUX_DIR_EXPAND # AM_AUX_DIR_EXPAND
...@@ -817,7 +817,6 @@ AC_SUBST([am__tar]) ...@@ -817,7 +817,6 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar]) AC_SUBST([am__untar])
]) # _AM_PROG_TAR ]) # _AM_PROG_TAR
m4_include([../config/no-executables.m4])
m4_include([../libtool.m4]) m4_include([../libtool.m4])
m4_include([crossconfig.m4]) m4_include([crossconfig.m4])
m4_include([linkage.m4]) m4_include([linkage.m4])
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -311,7 +311,6 @@ AC_CONFIG_FILES( \ ...@@ -311,7 +311,6 @@ AC_CONFIG_FILES( \
Makefile \ Makefile \
AC_FOREACH([DIR], glibcxx_SUBDIRS, [DIR/Makefile ]) AC_FOREACH([DIR], glibcxx_SUBDIRS, [DIR/Makefile ])
) )
AC_CONFIG_FILES([scripts/check_survey],[chmod +x scripts/check_survey])
AC_CONFIG_FILES([scripts/testsuite_flags],[chmod +x scripts/testsuite_flags]) AC_CONFIG_FILES([scripts/testsuite_flags],[chmod +x scripts/testsuite_flags])
dnl These commands are run at the end of config.status: dnl These commands are run at the end of config.status:
......
# Makefile.in generated by automake 1.9.3 from Makefile.am. # Makefile.in generated by automake 1.9.2 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
...@@ -40,10 +40,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ...@@ -40,10 +40,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/fragment.am $(top_srcdir)/fragment.am
subdir = include subdir = include
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \ $(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
......
# Makefile.in generated by automake 1.9.3 from Makefile.am. # Makefile.in generated by automake 1.9.2 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
...@@ -42,10 +42,9 @@ target_triplet = @target@ ...@@ -42,10 +42,9 @@ target_triplet = @target@
subdir = libmath subdir = libmath
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \ $(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
......
# Makefile.in generated by automake 1.9.3 from Makefile.am. # Makefile.in generated by automake 1.9.2 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
...@@ -44,10 +44,9 @@ DIST_COMMON = $(glibcxxinstall_HEADERS) $(srcdir)/Makefile.am \ ...@@ -44,10 +44,9 @@ DIST_COMMON = $(glibcxxinstall_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(top_srcdir)/fragment.am $(srcdir)/Makefile.in $(top_srcdir)/fragment.am
subdir = libsupc++ subdir = libsupc++
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \ $(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
......
# Makefile.in generated by automake 1.9.3 from Makefile.am. # Makefile.in generated by automake 1.9.2 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
...@@ -40,10 +40,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ...@@ -40,10 +40,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/fragment.am $(top_srcdir)/fragment.am
subdir = po subdir = po
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \ $(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
......
# Makefile.in generated by automake 1.9.3 from Makefile.am. # Makefile.in generated by automake 1.9.2 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
...@@ -42,10 +42,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ...@@ -42,10 +42,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/fragment.am $(top_srcdir)/fragment.am
subdir = src subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \ $(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
......
// Copyright (C) 2003 Free Software Foundation, Inc. // Copyright (C) 2003, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <sstream> #include <sstream>
#include <locale> #include <locale>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
void test01() void test01()
{ {
......
// Copyright (C) 2003 Free Software Foundation, Inc. // Copyright (C) 2003, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <sstream> #include <sstream>
#include <locale> #include <locale>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
void test01() void test01()
{ {
......
// 2003-07-09 Benjamin Kosnik <bkoz@redhat.com> // 2003-07-09 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2003 Free Software Foundation, Inc. // Copyright (C) 2003, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -22,9 +22,8 @@ ...@@ -22,9 +22,8 @@
#include <sstream> #include <sstream>
#include <ostream> #include <ostream>
#include <stdexcept> #include <stdexcept>
#include <ext/pod_char_traits.h>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// Check for numpunct and ctype dependencies. Make sure that numpunct // Check for numpunct and ctype dependencies. Make sure that numpunct
// can be created without ctype. // can be created without ctype.
......
// 2003-07-09 Benjamin Kosnik <bkoz@redhat.com> // 2003-07-09 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2003 Free Software Foundation, Inc. // Copyright (C) 2003, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -22,8 +22,8 @@ ...@@ -22,8 +22,8 @@
#include <sstream> #include <sstream>
#include <ostream> #include <ostream>
#include <stdexcept> #include <stdexcept>
#include <ext/pod_char_traits.h>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// Check for numpunct and ctype dependencies. Make sure that numpunct // Check for numpunct and ctype dependencies. Make sure that numpunct
// can be created without ctype. // can be created without ctype.
......
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char // 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <fstream> #include <fstream>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile } // { dg-do compile }
......
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com> // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. // Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <fstream> #include <fstream>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile } // { dg-do compile }
......
// 1999-09-20 bkoz // 1999-09-20 bkoz
// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <istream> #include <istream>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile } // { dg-do compile }
......
// 2001-06-05 Benjamin Kosnik <bkoz@redhat.com> // 2001-06-05 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. // Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <sstream> #include <sstream>
#include <typeinfo> #include <typeinfo>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// libstdc++/3983 // libstdc++/3983
// Sentry uses locale info, so have to try one formatted input/output. // Sentry uses locale info, so have to try one formatted input/output.
......
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com> // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2002, 2003 Free Software Foundation, Inc. // Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <sstream> #include <sstream>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile } // { dg-do compile }
......
// 2001-06-05 Benjamin Kosnik <bkoz@redhat.com> // 2001-06-05 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. // Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <sstream> #include <sstream>
#include <typeinfo> #include <typeinfo>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// libstdc++/3983 // libstdc++/3983
// Sentry uses locale info, so have to try one formatted input/output. // Sentry uses locale info, so have to try one formatted input/output.
......
// 2001-06-05 Benjamin Kosnik <bkoz@redhat.com> // 2001-06-05 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. // Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <sstream> #include <sstream>
#include <typeinfo> #include <typeinfo>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// libstdc++/3983 // libstdc++/3983
// Sentry uses locale info, so have to try one formatted input/output. // Sentry uses locale info, so have to try one formatted input/output.
......
// 1999-10-14 bkoz // 1999-10-14 bkoz
// Copyright (C) 1999, 2001, 2003 Free Software Foundation, Inc. // Copyright (C) 1999, 2001, 2003, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <sstream> #include <sstream>
#include <ext/pod_char_traits.h> #include <ext/pod_char_traits.h>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
void test01() void test01()
{ {
......
// 1999-09-20 bkoz // 1999-09-20 bkoz
// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <ostream> #include <ostream>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile } // { dg-do compile }
......
// 1999-10-14 bkoz // 1999-10-14 bkoz
// Copyright (C) 1999, 2001, 2003 Free Software Foundation, Inc. // Copyright (C) 1999, 2001, 2003, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <sstream> #include <sstream>
#include <ext/pod_char_traits.h> #include <ext/pod_char_traits.h>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
void test01() void test01()
{ {
......
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com> // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. // Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <streambuf> #include <streambuf>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile } // { dg-do compile }
......
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char // 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <sstream> #include <sstream>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile } // { dg-do compile }
......
// 2003-04-07 bkoz // 2003-04-07 bkoz
// Copyright (C) 2003, 2004 Free Software Foundation, Inc. // Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <sstream> #include <sstream>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_allocator.h> #include <testsuite_allocator.h>
#include <testsuite_character.h>
// { dg-do compile } // { dg-do compile }
......
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com> // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. // Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <sstream> #include <sstream>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile } // { dg-do compile }
......
// Copyright (C) 2003, 2004 // Copyright (C) 2003, 2004, 2005
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <ios> #include <ios>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile } // { dg-do compile }
......
## Makefile for the testsuite subdirectory of the GNU C++ Standard library. ## Makefile for the testsuite subdirectory of the GNU C++ Standard library.
## ##
## Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. ## Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
## ##
## This file is part of the libstdc++ version 3 distribution. ## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in. ## Process this file with automake to produce Makefile.in.
...@@ -48,6 +48,7 @@ noinst_LIBRARIES = libv3test.a ...@@ -48,6 +48,7 @@ noinst_LIBRARIES = libv3test.a
libv3test_a_SOURCES = \ libv3test_a_SOURCES = \
testsuite_abi.cc \ testsuite_abi.cc \
testsuite_allocator.cc \ testsuite_allocator.cc \
testsuite_character.cc \
testsuite_hooks.cc testsuite_hooks.cc
all-local: stamp_wchar stamp_thread all-local: stamp_wchar stamp_thread
...@@ -75,6 +76,10 @@ lists_of_files = \ ...@@ -75,6 +76,10 @@ lists_of_files = \
testsuite_files_interactive \ testsuite_files_interactive \
testsuite_files_performance testsuite_files_performance
# This rule generates all of the testsuite_files* lists at once.
${lists_of_files}:
${glibcxx_srcdir}/scripts/create_testsuite_files \
${glibcxx_srcdir}/testsuite `${PWD_COMMAND}`
# We need more things in site.exp, but automake completely controls the # 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 # creation of that file; there's no way to append to it without messing up
...@@ -103,6 +108,7 @@ site.exp: Makefile ...@@ -103,6 +108,7 @@ site.exp: Makefile
@test ! -f site.exp || mv site.exp site.bak @test ! -f site.exp || mv site.exp site.bak
@mv site.tmp site.exp @mv site.tmp site.exp
baseline_file = ${baseline_dir}/baseline_symbols.txt baseline_file = ${baseline_dir}/baseline_symbols.txt
extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers
...@@ -133,20 +139,14 @@ else ...@@ -133,20 +139,14 @@ else
check-abi: check-abi:
endif endif
# Runs the testsuite, but in compile only mode.
# These two special 'check-script' rules use the bash script # Can be used to test sources with non-GNU FE's at various warning
# 'check_survey' to do testing. This script is not as portable as the # levels and for checking compile time across releases.
# dejagnu test harness, and is thus off by default. It does produce # See script.
# interesting output however, including various performance analysis compile_script=${glibcxx_srcdir}/scripts/check_compile
# items like compile time, execution time, and binary size. check-compile: testsuite_files ${compile_script}
survey_script = ${glibcxx_builddir}/scripts/check_survey -@(chmod + ${compile_script}; \
check-script: ${survey_script} ${compile_script} ${glibcxx_srcdir} ${glibcxx_builddir})
-@(chmod + ${survey_script}; \
${survey_script} 0)
check-script-install: ${survey_script}
-@(chmod + ${survey_script}; \
${survey_script} 0)
# Runs the testsuite/performance tests. # Runs the testsuite/performance tests.
...@@ -158,21 +158,9 @@ check-performance: testsuite_files_performance ${performance_script} ...@@ -158,21 +158,9 @@ check-performance: testsuite_files_performance ${performance_script}
-@(chmod + ${performance_script}; \ -@(chmod + ${performance_script}; \
${performance_script} ${glibcxx_srcdir} ${glibcxx_builddir}) ${performance_script} ${glibcxx_srcdir} ${glibcxx_builddir})
# Runs the testsuite, but in compile only mode, and times it.
# See script.
compile_script=${glibcxx_srcdir}/scripts/check_compile
check-compile: testsuite_files ${compile_script}
-@(chmod + ${compile_script}; \
${compile_script} ${glibcxx_srcdir} ${glibcxx_builddir})
# This rule generates all of the testsuite_files* lists at once.
${lists_of_files}:
${glibcxx_srcdir}/scripts/create_testsuite_files \
${glibcxx_srcdir}/testsuite `${PWD_COMMAND}`
.PHONY: baseline_symbols new-abi-baseline check-abi check-abi-verbose \ .PHONY: baseline_symbols new-abi-baseline \
check-script check-script-install check-performance check-abi check-compile check-performance
# By adding these files here, automake will remove them for 'make clean' # By adding these files here, automake will remove them for 'make clean'
CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \ CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \
......
# Makefile.in generated by automake 1.9.3 from Makefile.am. # Makefile.in generated by automake 1.9.2 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
...@@ -43,10 +43,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ...@@ -43,10 +43,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/fragment.am $(top_srcdir)/fragment.am
subdir = testsuite subdir = testsuite
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \ $(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
...@@ -56,7 +55,8 @@ ARFLAGS = cru ...@@ -56,7 +55,8 @@ ARFLAGS = cru
libv3test_a_AR = $(AR) $(ARFLAGS) libv3test_a_AR = $(AR) $(ARFLAGS)
libv3test_a_LIBADD = libv3test_a_LIBADD =
am_libv3test_a_OBJECTS = testsuite_abi.$(OBJEXT) \ am_libv3test_a_OBJECTS = testsuite_abi.$(OBJEXT) \
testsuite_allocator.$(OBJEXT) testsuite_hooks.$(OBJEXT) testsuite_allocator.$(OBJEXT) testsuite_character.$(OBJEXT) \
testsuite_hooks.$(OBJEXT)
libv3test_a_OBJECTS = $(am_libv3test_a_OBJECTS) libv3test_a_OBJECTS = $(am_libv3test_a_OBJECTS)
DEFAULT_INCLUDES = DEFAULT_INCLUDES =
depcomp = depcomp =
...@@ -280,6 +280,7 @@ noinst_LIBRARIES = libv3test.a ...@@ -280,6 +280,7 @@ noinst_LIBRARIES = libv3test.a
libv3test_a_SOURCES = \ libv3test_a_SOURCES = \
testsuite_abi.cc \ testsuite_abi.cc \
testsuite_allocator.cc \ testsuite_allocator.cc \
testsuite_character.cc \
testsuite_hooks.cc testsuite_hooks.cc
...@@ -293,12 +294,11 @@ lists_of_files = \ ...@@ -293,12 +294,11 @@ lists_of_files = \
baseline_file = ${baseline_dir}/baseline_symbols.txt baseline_file = ${baseline_dir}/baseline_symbols.txt
extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers
# These two special 'check-script' rules use the bash script # Runs the testsuite, but in compile only mode.
# 'check_survey' to do testing. This script is not as portable as the # Can be used to test sources with non-GNU FE's at various warning
# dejagnu test harness, and is thus off by default. It does produce # levels and for checking compile time across releases.
# interesting output however, including various performance analysis # See script.
# items like compile time, execution time, and binary size. compile_script = ${glibcxx_srcdir}/scripts/check_compile
survey_script = ${glibcxx_builddir}/scripts/check_survey
# Runs the testsuite/performance tests. # Runs the testsuite/performance tests.
# Some of these tests create large (~75MB) files, allocate huge # Some of these tests create large (~75MB) files, allocate huge
...@@ -306,10 +306,6 @@ survey_script = ${glibcxx_builddir}/scripts/check_survey ...@@ -306,10 +306,6 @@ survey_script = ${glibcxx_builddir}/scripts/check_survey
# running this is off by default. # running this is off by default.
performance_script = ${glibcxx_srcdir}/scripts/check_performance performance_script = ${glibcxx_srcdir}/scripts/check_performance
# Runs the testsuite, but in compile only mode, and times it.
# See script.
compile_script = ${glibcxx_srcdir}/scripts/check_compile
# By adding these files here, automake will remove them for 'make clean' # By adding these files here, automake will remove them for 'make clean'
CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \ CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \
testsuite_* site.exp abi_check baseline_symbols *TEST* testsuite_* site.exp abi_check baseline_symbols *TEST*
...@@ -577,6 +573,11 @@ all-local: stamp_wchar stamp_thread ...@@ -577,6 +573,11 @@ all-local: stamp_wchar stamp_thread
@GLIBCXX_TEST_THREAD_TRUE@ touch testsuite_thread @GLIBCXX_TEST_THREAD_TRUE@ touch testsuite_thread
@GLIBCXX_TEST_THREAD_FALSE@stamp_thread: @GLIBCXX_TEST_THREAD_FALSE@stamp_thread:
# This rule generates all of the testsuite_files* lists at once.
${lists_of_files}:
${glibcxx_srcdir}/scripts/create_testsuite_files \
${glibcxx_srcdir}/testsuite `${PWD_COMMAND}`
# We need more things in site.exp, but automake completely controls the # 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 # 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 # the dependancy chains. So we overrule automake. This rule is exactly
...@@ -627,27 +628,15 @@ new-abi-baseline: ...@@ -627,27 +628,15 @@ new-abi-baseline:
@GLIBCXX_TEST_ABI_TRUE@check-abi: baseline_symbols site.exp @GLIBCXX_TEST_ABI_TRUE@check-abi: baseline_symbols site.exp
@GLIBCXX_TEST_ABI_TRUE@ -@runtest --tool libstdc++ abi.exp @GLIBCXX_TEST_ABI_TRUE@ -@runtest --tool libstdc++ abi.exp
@GLIBCXX_TEST_ABI_FALSE@check-abi: @GLIBCXX_TEST_ABI_FALSE@check-abi:
check-script: ${survey_script}
-@(chmod + ${survey_script}; \
${survey_script} 0)
check-script-install: ${survey_script}
-@(chmod + ${survey_script}; \
${survey_script} 0)
check-performance: testsuite_files_performance ${performance_script}
-@(chmod + ${performance_script}; \
${performance_script} ${glibcxx_srcdir} ${glibcxx_builddir})
check-compile: testsuite_files ${compile_script} check-compile: testsuite_files ${compile_script}
-@(chmod + ${compile_script}; \ -@(chmod + ${compile_script}; \
${compile_script} ${glibcxx_srcdir} ${glibcxx_builddir}) ${compile_script} ${glibcxx_srcdir} ${glibcxx_builddir})
check-performance: testsuite_files_performance ${performance_script}
-@(chmod + ${performance_script}; \
${performance_script} ${glibcxx_srcdir} ${glibcxx_builddir})
# This rule generates all of the testsuite_files* lists at once. .PHONY: baseline_symbols new-abi-baseline \
${lists_of_files}: check-abi check-compile check-performance
${glibcxx_srcdir}/scripts/create_testsuite_files \
${glibcxx_srcdir}/testsuite `${PWD_COMMAND}`
.PHONY: baseline_symbols new-abi-baseline check-abi check-abi-verbose \
check-script check-script-install check-performance
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: .NOEXPORT:
// 2004-08-25 Benjamin Kosnik <bkoz@redhat.com> // 2004-08-25 Benjamin Kosnik <bkoz@redhat.com>
// //
// Copyright (C) 2004 Free Software Foundation, Inc. // Copyright (C) 2004, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -18,9 +18,10 @@ ...@@ -18,9 +18,10 @@
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA. // USA.
#include <testsuite_hooks.h>
#include <memory> #include <memory>
#include <ext/mt_allocator.h> #include <ext/mt_allocator.h>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// Tune characteristics. // Tune characteristics.
// __common_pool_policy // __common_pool_policy
......
// 2004-08-25 Benjamin Kosnik <bkoz@redhat.com> // 2004-08-25 Benjamin Kosnik <bkoz@redhat.com>
// //
// Copyright (C) 2004 Free Software Foundation, Inc. // Copyright (C) 2004, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -18,9 +18,10 @@ ...@@ -18,9 +18,10 @@
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA. // USA.
#include <testsuite_hooks.h>
#include <memory> #include <memory>
#include <ext/mt_allocator.h> #include <ext/mt_allocator.h>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// Tune characteristics. // Tune characteristics.
// __per_type_pool_policy // __per_type_pool_policy
......
// 2003-02-11 Paolo Carlini <pcarlini@unitus.it> // 2003-02-11 Paolo Carlini <pcarlini@unitus.it>
// Copyright (C) 2003, 2004 Free Software Foundation, Inc. // Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <ext/stdio_filebuf.h> #include <ext/stdio_filebuf.h>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile } // { dg-do compile }
......
...@@ -86,7 +86,8 @@ proc libstdc++_init { testfile } { ...@@ -86,7 +86,8 @@ proc libstdc++_init { testfile } {
global ld_library_path global ld_library_path
global target_triplet global target_triplet
# We set LC_ALL and LANG to C so that we get the same error messages as expected. # We set LC_ALL and LANG to C so that we get the same error
# messages as expected.
setenv LC_ALL C setenv LC_ALL C
setenv LANG C setenv LANG C
...@@ -295,6 +296,10 @@ proc v3_target_compile { source dest type options } { ...@@ -295,6 +296,10 @@ proc v3_target_compile { source dest type options } {
return [target_compile $source $dest $type $options] return [target_compile $source $dest $type $options]
} }
# XXX Fix me.
# This is a complete hack: why do we build libv3test.a and then not use it?
# This duplicates all the make logic. Boo: pick one way to do it, not two.
# Build the support objects linked in with the libstdc++ tests. In # Build the support objects linked in with the libstdc++ tests. In
# addition, set v3-wchar_t, v3-threads, and v3-test_objs # addition, set v3-wchar_t, v3-threads, and v3-test_objs
# appropriately. # appropriately.
...@@ -327,7 +332,7 @@ proc v3-build_support {} { ...@@ -327,7 +332,7 @@ proc v3-build_support {} {
# Build the support objects. # Build the support objects.
set source_files \ set source_files \
[list testsuite_abi.cc testsuite_allocator.cc testsuite_hooks.cc] [list testsuite_abi.cc testsuite_allocator.cc testsuite_character.cc testsuite_hooks.cc]
foreach f $source_files { foreach f $source_files {
set object_file [file rootname $f].o set object_file [file rootname $f].o
# Compile with "-w" so that warnings issued by the compiler # Compile with "-w" so that warnings issued by the compiler
......
...@@ -30,9 +30,9 @@ remote_exec "build" "$srcdir/../scripts/extract_symvers" \ ...@@ -30,9 +30,9 @@ remote_exec "build" "$srcdir/../scripts/extract_symvers" \
v3-build_support v3-build_support
# Build the abi_check program. # Build the abi_check program.
if { [v3_target_compile "$srcdir/abi_check.cc" "abi_check" \ if { [v3_target_compile "$srcdir/testsuite_abi_check.cc" "abi_check" \
"executable" [list "additional_flags=-w"]] != "" } { "executable" [list "additional_flags=-w"]] != "" } {
error "could not compile abi_check.cc" error "could not compile testsuite_abi_check.cc"
} }
remote_download "target" $baseline_file "baseline_symbols.txt" remote_download "target" $baseline_file "baseline_symbols.txt"
......
/* Prints the current time_t to stdout. Equivalent to the
* nonstandard %s format option to GNU date(1).
*/
#include <sys/types.h>
#include <stdio.h>
#include <time.h>
int main ()
{
printf ("%lu\n", time(NULL));
exit(0);
}
// -*- C++ -*-
// Utility subroutines for the C++ library testsuite.
//
// Copyright (C) 2002, 2003, 2004, 2005 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.
#include <testsuite_character.h>
namespace std
{
locale::id
codecvt<__gnu_test::character, char, __gnu_test::conversion_state>::id;
// Member specializations for the existing facet classes.
// NB: This isn't especially portable. Perhaps a better way would be
// to just specialize all of numpunct and ctype.
using __gnu_test::int_type;
using __gnu_test::value_type;
using __gnu_test::pod_type;
template<>
bool
ctype<pod_type>::
do_is(mask, char_type) const { return true; }
template<>
const pod_type*
ctype<pod_type>::
do_is(const char_type* __lo, const char_type*, mask*) const
{ return __lo; }
template<>
const pod_type*
ctype<pod_type>::
do_scan_is(mask, const char_type* __lo, const char_type*) const
{ return __lo; }
template<>
const pod_type*
ctype<pod_type>::
do_scan_not(mask, const char_type* __lo, const char_type*) const
{ return __lo; }
template<>
pod_type
ctype<pod_type>::
do_toupper(char_type __c) const
{ return __c; }
template<>
const pod_type*
ctype<pod_type>::
do_toupper(char_type*, const char_type* __hi) const
{ return __hi; }
template<>
pod_type
ctype<pod_type>::
do_tolower(char_type __c) const
{ return __c; }
template<>
const pod_type*
ctype<pod_type>::
do_tolower(char_type*, const char_type* __hi) const
{ return __hi; }
template<>
pod_type
ctype<pod_type>::
do_widen(char __c) const
{
char_type ret = { value_type(__c) };
return ret;
}
template<>
const char*
ctype<pod_type>::
do_widen(const char* __lo, const char* __hi, char_type* __dest) const
{
while (__lo < __hi)
{
*__dest = this->do_widen(*__lo);
++__lo;
++__dest;
}
return __hi;
}
template<>
char
ctype<pod_type>::
do_narrow(char_type __wc, char) const
{ return static_cast<char>(__wc.value); }
template<>
const pod_type*
ctype<pod_type>::
do_narrow(const pod_type* __lo, const pod_type* __hi,
char, char* __dest) const
{
while (__lo < __hi)
{
*__dest = this->do_narrow(*__lo, char());
++__lo;
++__dest;
}
return __hi;
}
template<>
ctype<pod_type>::~ctype() { }
template<>
void
numpunct<pod_type>::_M_initialize_numpunct(__c_locale)
{
if (!_M_data)
_M_data = new __numpunct_cache<pod_type>;
_M_data->_M_grouping = "";
_M_data->_M_use_grouping = false;
_M_data->_M_decimal_point.value = value_type('.');
_M_data->_M_thousands_sep.value = value_type(',');
for (size_t i = 0; i < __num_base::_S_oend; ++i)
{
value_type v = __num_base::_S_atoms_out[i];
_M_data->_M_atoms_out[i].value = v;
}
_M_data->_M_atoms_out[__num_base::_S_oend] = pod_type();
for (size_t j = 0; j < __num_base::_S_iend; ++j)
_M_data->_M_atoms_in[j].value = value_type(__num_base::_S_atoms_in[j]);
_M_data->_M_atoms_in[__num_base::_S_iend] = pod_type();
// "true"
pod_type* __truename = new pod_type[4 + 1];
__truename[0].value = value_type('t');
__truename[1].value = value_type('r');
__truename[2].value = value_type('u');
__truename[3].value = value_type('e');
__truename[4] = pod_type();
_M_data->_M_truename = __truename;
// "false"
pod_type* __falsename = new pod_type[5 + 1];
__falsename[0].value = value_type('f');
__falsename[1].value = value_type('a');
__falsename[2].value = value_type('l');
__falsename[3].value = value_type('s');
__falsename[4].value = value_type('e');
__falsename[5] = pod_type();
_M_data->_M_falsename = __falsename;
}
template<>
numpunct<pod_type>::~numpunct()
{ delete _M_data; }
} // namespace std
// -*- C++ -*- // -*- C++ -*-
// Testing character type and state type with char_traits and codecvt // Testing character type and state type with char_traits and codecvt
// specializations for the C++ library testsuite. // specializations for the C++ library testsuite.
// //
// Copyright (C) 2003 Free Software Foundation, Inc. // Copyright (C) 2003, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -32,9 +33,10 @@ ...@@ -32,9 +33,10 @@
#ifndef _GLIBCXX_TESTSUITE_CHARACTER_H #ifndef _GLIBCXX_TESTSUITE_CHARACTER_H
#define _GLIBCXX_TESTSUITE_CHARACTER_H #define _GLIBCXX_TESTSUITE_CHARACTER_H
#include <climits>
#include <string> // for char_traits #include <string> // for char_traits
#include <locale> // for codecvt #include <locale> // for codecvt
#include <climits> #include <ext/pod_char_traits.h>
namespace __gnu_test namespace __gnu_test
{ {
...@@ -60,12 +62,37 @@ namespace __gnu_test ...@@ -60,12 +62,37 @@ namespace __gnu_test
{ {
unsigned int state; unsigned int state;
}; };
// Test data types.
struct pod_char
{
unsigned char c;
};
inline bool
operator==(const pod_char& lhs, const pod_char& rhs)
{ return lhs.c == rhs.c; }
struct pod_int
{
int i;
};
struct state
{
unsigned long l;
unsigned long l2;
};
typedef unsigned short value_type;
typedef unsigned int int_type;
typedef __gnu_cxx::character<value_type, int_type> pod_type;
}; // namespace __gnu_test }; // namespace __gnu_test
namespace std namespace std
{ {
// char_traits specialization. Meets the additional requirements for // A std::char_traits specialization. Meets the additional
// basic_filebuf. // requirements for basic_filebuf.
template<> template<>
struct char_traits<__gnu_test::character> struct char_traits<__gnu_test::character>
{ {
...@@ -411,8 +438,99 @@ namespace std ...@@ -411,8 +438,99 @@ namespace std
{ return 11; } { return 11; }
}; };
locale::id
codecvt<__gnu_test::character, char, __gnu_test::conversion_state>::id; // A std::char_traits specialization with POD types for char_type,
// int_type, and state_type.
template<>
struct char_traits<__gnu_test::pod_char>
{
typedef __gnu_test::pod_char char_type;
typedef __gnu_test::pod_int int_type;
typedef __gnu_test::state state_type;
typedef fpos<state_type> pos_type;
typedef streamoff off_type;
static void
assign(char_type& c1, const char_type& c2)
{ c1.c = c2.c; }
static bool
eq(const char_type& c1, const char_type& c2)
{ return c1.c == c2.c; }
static bool
lt(const char_type& c1, const char_type& c2)
{ return c1.c < c2.c; }
static int
compare(const char_type* s1, const char_type* s2, size_t n)
{ return memcmp(s1, s2, n); }
static size_t
length(const char_type* s)
{ return strlen(reinterpret_cast<const char*>(s)); }
static const char_type*
find(const char_type* s, size_t n, const char_type& a)
{ return static_cast<const char_type*>(memchr(s, a.c, n)); }
static char_type*
move(char_type* s1, const char_type* s2, size_t n)
{
memmove(s1, s2, n);
return s1;
}
static char_type*
copy(char_type* s1, const char_type* s2, size_t n)
{
memcpy(s1, s2, n);
return s1;
}
static char_type*
assign(char_type* s, size_t n, char_type a)
{
memset(s, a.c, n);
return s;
}
static char_type
to_char_type(const int_type& c)
{
char_type ret;
ret.c = static_cast<unsigned char>(c.i);
return ret;
}
static int_type
to_int_type(const char_type& c)
{
int_type ret;
ret.i = c.c;
return ret;
}
static bool
eq_int_type(const int_type& c1, const int_type& c2)
{ return c1.i == c2.i; }
static int_type
eof()
{
int_type n;
n.i = -10;
return n;
}
static int_type
not_eof(const int_type& c)
{
if (eq_int_type(c, eof()))
return int_type();
return c;
}
};
} // namespace std } // namespace std
#endif // _GLIBCXX_TESTSUITE_CHARACTER_H #endif // _GLIBCXX_TESTSUITE_CHARACTER_H
......
// -*- C++ -*- // -*- C++ -*-
// Utility subroutines for the C++ library testsuite. // Utility subroutines for the C++ library testsuite.
// //
// Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
...@@ -332,155 +333,3 @@ namespace __gnu_test ...@@ -332,155 +333,3 @@ namespace __gnu_test
#endif #endif
} }
}; // namespace __gnu_test }; // namespace __gnu_test
namespace std
{
// Member specializations for the existing facet classes.
// NB: This isn't especially portable. Perhaps a better way would be
// to just specialize all of numpunct and ctype.
using __gnu_test::int_type;
using __gnu_test::value_type;
using __gnu_test::pod_type;
template<>
bool
ctype<pod_type>::
do_is(mask, char_type) const { return true; }
template<>
const pod_type*
ctype<pod_type>::
do_is(const char_type* __lo, const char_type*, mask*) const
{ return __lo; }
template<>
const pod_type*
ctype<pod_type>::
do_scan_is(mask, const char_type* __lo, const char_type*) const
{ return __lo; }
template<>
const pod_type*
ctype<pod_type>::
do_scan_not(mask, const char_type* __lo, const char_type*) const
{ return __lo; }
template<>
pod_type
ctype<pod_type>::
do_toupper(char_type __c) const
{ return __c; }
template<>
const pod_type*
ctype<pod_type>::
do_toupper(char_type*, const char_type* __hi) const
{ return __hi; }
template<>
pod_type
ctype<pod_type>::
do_tolower(char_type __c) const
{ return __c; }
template<>
const pod_type*
ctype<pod_type>::
do_tolower(char_type*, const char_type* __hi) const
{ return __hi; }
template<>
pod_type
ctype<pod_type>::
do_widen(char __c) const
{
char_type ret = { value_type(__c) };
return ret;
}
template<>
const char*
ctype<pod_type>::
do_widen(const char* __lo, const char* __hi, char_type* __dest) const
{
while (__lo < __hi)
{
*__dest = this->do_widen(*__lo);
++__lo;
++__dest;
}
return __hi;
}
template<>
char
ctype<pod_type>::
do_narrow(char_type __wc, char) const
{ return static_cast<char>(__wc.value); }
template<>
const pod_type*
ctype<pod_type>::
do_narrow(const pod_type* __lo, const pod_type* __hi,
char, char* __dest) const
{
while (__lo < __hi)
{
*__dest = this->do_narrow(*__lo, char());
++__lo;
++__dest;
}
return __hi;
}
template<>
ctype<pod_type>::~ctype() { }
template<>
void
numpunct<pod_type>::_M_initialize_numpunct(__c_locale)
{
if (!_M_data)
_M_data = new __numpunct_cache<pod_type>;
_M_data->_M_grouping = "";
_M_data->_M_use_grouping = false;
_M_data->_M_decimal_point.value = value_type('.');
_M_data->_M_thousands_sep.value = value_type(',');
for (size_t i = 0; i < __num_base::_S_oend; ++i)
{
value_type v = __num_base::_S_atoms_out[i];
_M_data->_M_atoms_out[i].value = v;
}
_M_data->_M_atoms_out[__num_base::_S_oend] = pod_type();
for (size_t j = 0; j < __num_base::_S_iend; ++j)
_M_data->_M_atoms_in[j].value = value_type(__num_base::_S_atoms_in[j]);
_M_data->_M_atoms_in[__num_base::_S_iend] = pod_type();
// "true"
pod_type* __truename = new pod_type[4 + 1];
__truename[0].value = value_type('t');
__truename[1].value = value_type('r');
__truename[2].value = value_type('u');
__truename[3].value = value_type('e');
__truename[4] = pod_type();
_M_data->_M_truename = __truename;
// "false"
pod_type* __falsename = new pod_type[5 + 1];
__falsename[0].value = value_type('f');
__falsename[1].value = value_type('a');
__falsename[2].value = value_type('l');
__falsename[3].value = value_type('s');
__falsename[4].value = value_type('e');
__falsename[5] = pod_type();
_M_data->_M_falsename = __falsename;
}
template<>
numpunct<pod_type>::~numpunct()
{ delete _M_data; }
} // namespace std
...@@ -52,9 +52,6 @@ ...@@ -52,9 +52,6 @@
// 4) copy_tracker, from Stephen M. Webb <stephen@bregmasoft.com>. // 4) copy_tracker, from Stephen M. Webb <stephen@bregmasoft.com>.
// A class with nontrivial ctor/dtor that provides the ability to track the // A class with nontrivial ctor/dtor that provides the ability to track the
// number of copy ctors and dtors, and will throw on demand during copy. // number of copy ctors and dtors, and will throw on demand during copy.
//
// 5) pod_char, pod_int, , abstract character classes and
// char_traits specializations for testing instantiations.
#ifndef _GLIBCXX_TESTSUITE_HOOKS_H #ifndef _GLIBCXX_TESTSUITE_HOOKS_H
#define _GLIBCXX_TESTSUITE_HOOKS_H #define _GLIBCXX_TESTSUITE_HOOKS_H
...@@ -63,7 +60,6 @@ ...@@ -63,7 +60,6 @@
#include <bits/functexcept.h> #include <bits/functexcept.h>
#include <cstddef> #include <cstddef>
#include <locale> #include <locale>
#include <ext/pod_char_traits.h>
#ifdef _GLIBCXX_HAVE_SYS_STAT_H #ifdef _GLIBCXX_HAVE_SYS_STAT_H
#include <sys/stat.h> #include <sys/stat.h>
#endif #endif
...@@ -171,31 +167,6 @@ namespace __gnu_test ...@@ -171,31 +167,6 @@ namespace __gnu_test
int int
try_mkfifo (const char* filename, mode_t mode); try_mkfifo (const char* filename, mode_t mode);
// Test data types.
struct pod_char
{
unsigned char c;
};
inline bool
operator==(const pod_char& lhs, const pod_char& rhs)
{ return lhs.c == rhs.c; }
struct pod_int
{
int i;
};
struct state
{
unsigned long l;
unsigned long l2;
};
typedef unsigned short value_type;
typedef unsigned int int_type;
typedef __gnu_cxx::character<value_type, int_type> pod_type;
// Counting. // Counting.
struct counter struct counter
...@@ -407,103 +378,5 @@ namespace __gnu_test ...@@ -407,103 +378,5 @@ namespace __gnu_test
}; };
} // namespace __gnu_test } // namespace __gnu_test
namespace std
{
template<class _CharT>
struct char_traits;
// char_traits specialization
template<>
struct char_traits<__gnu_test::pod_char>
{
typedef __gnu_test::pod_char char_type;
typedef __gnu_test::pod_int int_type;
typedef __gnu_test::state state_type;
typedef fpos<state_type> pos_type;
typedef streamoff off_type;
static void
assign(char_type& c1, const char_type& c2)
{ c1.c = c2.c; }
static bool
eq(const char_type& c1, const char_type& c2)
{ return c1.c == c2.c; }
static bool
lt(const char_type& c1, const char_type& c2)
{ return c1.c < c2.c; }
static int
compare(const char_type* s1, const char_type* s2, size_t n)
{ return memcmp(s1, s2, n); }
static size_t
length(const char_type* s)
{ return strlen(reinterpret_cast<const char*>(s)); }
static const char_type*
find(const char_type* s, size_t n, const char_type& a)
{ return static_cast<const char_type*>(memchr(s, a.c, n)); }
static char_type*
move(char_type* s1, const char_type* s2, size_t n)
{
memmove(s1, s2, n);
return s1;
}
static char_type*
copy(char_type* s1, const char_type* s2, size_t n)
{
memcpy(s1, s2, n);
return s1;
}
static char_type*
assign(char_type* s, size_t n, char_type a)
{
memset(s, a.c, n);
return s;
}
static char_type
to_char_type(const int_type& c)
{
char_type ret;
ret.c = static_cast<unsigned char>(c.i);
return ret;
}
static int_type
to_int_type(const char_type& c)
{
int_type ret;
ret.i = c.c;
return ret;
}
static bool
eq_int_type(const int_type& c1, const int_type& c2)
{ return c1.i == c2.i; }
static int_type
eof()
{
int_type n;
n.i = -10;
return n;
}
static int_type
not_eof(const int_type& c)
{
if (eq_int_type(c, eof()))
return int_type();
return c;
}
};
} // namespace std
#endif // _GLIBCXX_TESTSUITE_HOOKS_H #endif // _GLIBCXX_TESTSUITE_HOOKS_H
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