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>
* 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@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
......@@ -42,20 +42,18 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/../config.guess \
$(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/configure $(top_srcdir)/fragment.am \
$(top_srcdir)/scripts/check_survey.in \
$(top_srcdir)/scripts/testsuite_flags.in ChangeLog acconfig.h
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = scripts/check_survey scripts/testsuite_flags
CONFIG_CLEAN_FILES = scripts/testsuite_flags
depcomp =
am__depfiles_maybe =
SOURCES =
......@@ -377,8 +375,6 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(top_srcdir
distclean-hdr:
-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
cd $(top_builddir) && $(SHELL) ./config.status $@
......@@ -503,7 +499,7 @@ distclean-tags:
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
$(mkdir_p) $(distdir)/.. $(distdir)/../config $(distdir)/scripts
$(mkdir_p) $(distdir)/.. $(distdir)/scripts
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
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
# Free Software Foundation, Inc.
......@@ -40,7 +40,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.9.3])])
[AM_AUTOMAKE_VERSION([1.9.2])])
# AM_AUX_DIR_EXPAND
......@@ -817,7 +817,6 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([../config/no-executables.m4])
m4_include([../libtool.m4])
m4_include([crossconfig.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( \
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])
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@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
......@@ -40,10 +40,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/fragment.am
subdir = include
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
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@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
......@@ -42,10 +42,9 @@ target_triplet = @target@
subdir = libmath
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
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@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
......@@ -44,10 +44,9 @@ DIST_COMMON = $(glibcxxinstall_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(top_srcdir)/fragment.am
subdir = libsupc++
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
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@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
......@@ -40,10 +40,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/fragment.am
subdir = po
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
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@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
......@@ -42,10 +42,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/fragment.am
subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
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
// software; you can redistribute it and/or modify it under the
......@@ -32,6 +32,7 @@
#include <sstream>
#include <locale>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
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
// software; you can redistribute it and/or modify it under the
......@@ -32,6 +32,7 @@
#include <sstream>
#include <locale>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
void test01()
{
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -22,9 +22,8 @@
#include <sstream>
#include <ostream>
#include <stdexcept>
#include <ext/pod_char_traits.h>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// Check for numpunct and ctype dependencies. Make sure that numpunct
// can be created without ctype.
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -22,8 +22,8 @@
#include <sstream>
#include <ostream>
#include <stdexcept>
#include <ext/pod_char_traits.h>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// Check for numpunct and ctype dependencies. Make sure that numpunct
// can be created without ctype.
......
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
......@@ -24,6 +24,7 @@
#include <fstream>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile }
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -32,6 +32,7 @@
#include <fstream>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile }
......
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
......@@ -33,6 +33,7 @@
#include <istream>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile }
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -32,6 +32,7 @@
#include <sstream>
#include <typeinfo>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// libstdc++/3983
// Sentry uses locale info, so have to try one formatted input/output.
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -32,6 +32,7 @@
#include <sstream>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile }
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -32,6 +32,7 @@
#include <sstream>
#include <typeinfo>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// libstdc++/3983
// Sentry uses locale info, so have to try one formatted input/output.
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -32,6 +32,7 @@
#include <sstream>
#include <typeinfo>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// libstdc++/3983
// Sentry uses locale info, so have to try one formatted input/output.
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -33,6 +33,7 @@
#include <sstream>
#include <ext/pod_char_traits.h>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
void test01()
{
......
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
......@@ -33,6 +33,7 @@
#include <ostream>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile }
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -33,6 +33,7 @@
#include <sstream>
#include <ext/pod_char_traits.h>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
void test01()
{
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -32,6 +32,7 @@
#include <streambuf>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile }
......
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
......@@ -24,6 +24,7 @@
#include <sstream>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile }
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -24,6 +24,7 @@
#include <sstream>
#include <testsuite_hooks.h>
#include <testsuite_allocator.h>
#include <testsuite_character.h>
// { dg-do compile }
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -32,6 +32,7 @@
#include <sstream>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile }
......
// Copyright (C) 2003, 2004
// Copyright (C) 2003, 2004, 2005
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
......@@ -22,6 +22,7 @@
#include <ios>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile }
......
## 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.
## Process this file with automake to produce Makefile.in.
......@@ -48,6 +48,7 @@ noinst_LIBRARIES = libv3test.a
libv3test_a_SOURCES = \
testsuite_abi.cc \
testsuite_allocator.cc \
testsuite_character.cc \
testsuite_hooks.cc
all-local: stamp_wchar stamp_thread
......@@ -75,6 +76,10 @@ lists_of_files = \
testsuite_files_interactive \
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
# creation of that file; there's no way to append to it without messing up
......@@ -103,6 +108,7 @@ site.exp: Makefile
@test ! -f site.exp || mv site.exp site.bak
@mv site.tmp site.exp
baseline_file = ${baseline_dir}/baseline_symbols.txt
extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers
......@@ -133,20 +139,14 @@ else
check-abi:
endif
# These two special 'check-script' rules use the bash script
# 'check_survey' to do testing. This script is not as portable as the
# dejagnu test harness, and is thus off by default. It does produce
# interesting output however, including various performance analysis
# items like compile time, execution time, and binary size.
survey_script = ${glibcxx_builddir}/scripts/check_survey
check-script: ${survey_script}
-@(chmod + ${survey_script}; \
${survey_script} 0)
check-script-install: ${survey_script}
-@(chmod + ${survey_script}; \
${survey_script} 0)
# Runs the testsuite, but in compile only mode.
# Can be used to test sources with non-GNU FE's at various warning
# levels and for checking compile time across releases.
# See script.
compile_script=${glibcxx_srcdir}/scripts/check_compile
check-compile: testsuite_files ${compile_script}
-@(chmod + ${compile_script}; \
${compile_script} ${glibcxx_srcdir} ${glibcxx_builddir})
# Runs the testsuite/performance tests.
......@@ -158,21 +158,9 @@ check-performance: testsuite_files_performance ${performance_script}
-@(chmod + ${performance_script}; \
${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 \
check-script check-script-install check-performance
.PHONY: baseline_symbols new-abi-baseline \
check-abi check-compile check-performance
# By adding these files here, automake will remove them for 'make clean'
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@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
......@@ -43,10 +43,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/fragment.am
subdir = testsuite
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/no-executables.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
$(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
CONFIG_HEADER = $(top_builddir)/config.h
......@@ -56,7 +55,8 @@ ARFLAGS = cru
libv3test_a_AR = $(AR) $(ARFLAGS)
libv3test_a_LIBADD =
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)
DEFAULT_INCLUDES =
depcomp =
......@@ -280,6 +280,7 @@ noinst_LIBRARIES = libv3test.a
libv3test_a_SOURCES = \
testsuite_abi.cc \
testsuite_allocator.cc \
testsuite_character.cc \
testsuite_hooks.cc
......@@ -293,12 +294,11 @@ lists_of_files = \
baseline_file = ${baseline_dir}/baseline_symbols.txt
extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers
# These two special 'check-script' rules use the bash script
# 'check_survey' to do testing. This script is not as portable as the
# dejagnu test harness, and is thus off by default. It does produce
# interesting output however, including various performance analysis
# items like compile time, execution time, and binary size.
survey_script = ${glibcxx_builddir}/scripts/check_survey
# Runs the testsuite, but in compile only mode.
# Can be used to test sources with non-GNU FE's at various warning
# levels and for checking compile time across releases.
# See script.
compile_script = ${glibcxx_srcdir}/scripts/check_compile
# Runs the testsuite/performance tests.
# Some of these tests create large (~75MB) files, allocate huge
......@@ -306,10 +306,6 @@ survey_script = ${glibcxx_builddir}/scripts/check_survey
# running this is off by default.
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'
CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \
testsuite_* site.exp abi_check baseline_symbols *TEST*
......@@ -577,6 +573,11 @@ all-local: stamp_wchar stamp_thread
@GLIBCXX_TEST_THREAD_TRUE@ touch testsuite_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
# 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
......@@ -627,27 +628,15 @@ new-abi-baseline:
@GLIBCXX_TEST_ABI_TRUE@check-abi: baseline_symbols site.exp
@GLIBCXX_TEST_ABI_TRUE@ -@runtest --tool libstdc++ abi.exp
@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}
-@(chmod + ${compile_script}; \
${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.
${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 \
check-script check-script-install check-performance
.PHONY: baseline_symbols new-abi-baseline \
check-abi check-compile check-performance
# 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.
.NOEXPORT:
// 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
// software; you can redistribute it and/or modify it under the
......@@ -18,9 +18,10 @@
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
#include <testsuite_hooks.h>
#include <memory>
#include <ext/mt_allocator.h>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// Tune characteristics.
// __common_pool_policy
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -18,9 +18,10 @@
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
#include <testsuite_hooks.h>
#include <memory>
#include <ext/mt_allocator.h>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// Tune characteristics.
// __per_type_pool_policy
......
// 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
// software; you can redistribute it and/or modify it under the
......@@ -22,6 +22,7 @@
#include <ext/stdio_filebuf.h>
#include <testsuite_hooks.h>
#include <testsuite_character.h>
// { dg-do compile }
......
......@@ -86,7 +86,8 @@ proc libstdc++_init { testfile } {
global ld_library_path
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 LANG C
......@@ -295,6 +296,10 @@ proc v3_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
# addition, set v3-wchar_t, v3-threads, and v3-test_objs
# appropriately.
......@@ -327,7 +332,7 @@ proc v3-build_support {} {
# Build the support objects.
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 {
set object_file [file rootname $f].o
# Compile with "-w" so that warnings issued by the compiler
......
......@@ -30,9 +30,9 @@ remote_exec "build" "$srcdir/../scripts/extract_symvers" \
v3-build_support
# 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"]] != "" } {
error "could not compile abi_check.cc"
error "could not compile testsuite_abi_check.cc"
}
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++ -*-
// Testing character type and state type with char_traits and codecvt
// 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
// software; you can redistribute it and/or modify it under the
......@@ -32,9 +33,10 @@
#ifndef _GLIBCXX_TESTSUITE_CHARACTER_H
#define _GLIBCXX_TESTSUITE_CHARACTER_H
#include <climits>
#include <string> // for char_traits
#include <locale> // for codecvt
#include <climits>
#include <ext/pod_char_traits.h>
namespace __gnu_test
{
......@@ -60,12 +62,37 @@ namespace __gnu_test
{
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 std
{
// char_traits specialization. Meets the additional requirements for
// basic_filebuf.
// A std::char_traits specialization. Meets the additional
// requirements for basic_filebuf.
template<>
struct char_traits<__gnu_test::character>
{
......@@ -411,8 +438,99 @@ namespace std
{ 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
#endif // _GLIBCXX_TESTSUITE_CHARACTER_H
......
// -*- C++ -*-
// Utility subroutines for the C++ library testsuite.
//
// Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
......@@ -332,155 +333,3 @@ namespace __gnu_test
#endif
}
}; // 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 @@
// 4) copy_tracker, from Stephen M. Webb <stephen@bregmasoft.com>.
// 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.
//
// 5) pod_char, pod_int, , abstract character classes and
// char_traits specializations for testing instantiations.
#ifndef _GLIBCXX_TESTSUITE_HOOKS_H
#define _GLIBCXX_TESTSUITE_HOOKS_H
......@@ -63,7 +60,6 @@
#include <bits/functexcept.h>
#include <cstddef>
#include <locale>
#include <ext/pod_char_traits.h>
#ifdef _GLIBCXX_HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
......@@ -171,31 +167,6 @@ namespace __gnu_test
int
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.
struct counter
......@@ -407,103 +378,5 @@ 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
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