2002-01-16 Benjamin Kosnik <bkoz@redhat.com>
- Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
+ * include/Makefile.am (c_base_headers_rename): New.
+ (c_base_headers_extra): New.
+ (stamp-c_base): Modify.
+ (install-data-local): Use both.
+ * include/Makefile.in: Regenerate.
+ * include/c/[cctype ciso646 cmath cstdarg cstdlib cerrno climits
+ csetjmp cstddef cstring cwchar cassert cfloat clocale csignal
+ cstdio ctime cwctype]: Move to..
+ * include/c/std_*: Here.
+ * include/c_std/[cctype ciso646 cmath cstdarg cstdlib cerrno climits
+ csetjmp cstddef cstring cwchar cassert cfloat clocale csignal
+ cstdio ctime cwctype]: Move to..
+ * include/c_std/std_*: Here.
+
+ Alexandre Oliva <aoliva@redhat.com>
+ * include/Makefile.am (.PRECIOUS): Add rule.
+ * include/Makefile.in: Regenerate.
+
+2002-01-16 Benjamin Kosnik <bkoz@redhat.com>
+ Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
+
* include/bits/stl_iterator.h (reverse_iterator::_M_current):
Deuglify, should be current.
(back_insert_iterator::_M_container): Deuglify, should be container.
c_base_srcdir = @C_INCLUDE_DIR@
c_base_builddir = ./
c_base_headers = \
- ${c_base_srcdir}/cassert \
- ${c_base_srcdir}/cctype \
- ${c_base_srcdir}/cerrno \
- ${c_base_srcdir}/cfloat \
- ${c_base_srcdir}/ciso646 \
- ${c_base_srcdir}/climits \
- ${c_base_srcdir}/clocale \
- ${c_base_srcdir}/cmath \
- ${c_base_srcdir}/csetjmp \
- ${c_base_srcdir}/csignal \
- ${c_base_srcdir}/cstdarg \
- ${c_base_srcdir}/cstddef \
- ${c_base_srcdir}/cstdio \
- ${c_base_srcdir}/cstdlib \
- ${c_base_srcdir}/cstring \
- ${c_base_srcdir}/ctime \
- ${c_base_srcdir}/cwchar \
- ${c_base_srcdir}/cwctype \
+ ${c_base_srcdir}/std_cassert.h \
+ ${c_base_srcdir}/std_cctype.h \
+ ${c_base_srcdir}/std_cerrno.h \
+ ${c_base_srcdir}/std_cfloat.h \
+ ${c_base_srcdir}/std_ciso646.h \
+ ${c_base_srcdir}/std_climits.h \
+ ${c_base_srcdir}/std_clocale.h \
+ ${c_base_srcdir}/std_cmath.h \
+ ${c_base_srcdir}/std_csetjmp.h \
+ ${c_base_srcdir}/std_csignal.h \
+ ${c_base_srcdir}/std_cstdarg.h \
+ ${c_base_srcdir}/std_cstddef.h \
+ ${c_base_srcdir}/std_cstdio.h \
+ ${c_base_srcdir}/std_cstdlib.h \
+ ${c_base_srcdir}/std_cstring.h \
+ ${c_base_srcdir}/std_ctime.h \
+ ${c_base_srcdir}/std_cwchar.h \
+ ${c_base_srcdir}/std_cwctype.h
+# Some of the "C" headers need extra files.
+c_base_headers_extra = \
${c_base_srcdir}/cmath.tcc
+c_base_headers_rename = \
+ cassert \
+ cctype \
+ cerrno \
+ cfloat \
+ ciso646 \
+ climits \
+ clocale \
+ cmath \
+ csetjmp \
+ csignal \
+ cstdarg \
+ cstddef \
+ cstdio \
+ cstdlib \
+ cstring \
+ ctime \
+ cwchar \
+ cwctype
std_srcdir = ${glibcpp_srcdir}/include/std
std_builddir = ./
${std_srcdir}/std_vector.h
# Renamed at build time.
std_headers_rename = \
- ${std_builddir}/algorithm \
- ${std_builddir}/bitset \
- ${std_builddir}/complex \
- ${std_builddir}/deque \
- ${std_builddir}/fstream \
- ${std_builddir}/functional \
- ${std_builddir}/iomanip \
- ${std_builddir}/ios \
- ${std_builddir}/iosfwd \
- ${std_builddir}/iostream \
- ${std_builddir}/istream \
- ${std_builddir}/iterator \
- ${std_builddir}/limits \
- ${std_builddir}/list \
- ${std_builddir}/locale \
- ${std_builddir}/map \
- ${std_builddir}/memory \
- ${std_builddir}/numeric \
- ${std_builddir}/ostream \
+ algorithm \
+ bitset \
+ complex \
+ deque \
+ fstream \
+ functional \
+ iomanip \
+ ios \
+ iosfwd \
+ iostream \
+ istream \
+ iterator \
+ limits \
+ list \
+ locale \
+ map \
+ memory \
+ numeric \
+ ostream \
${std_builddir}/queue \
- ${std_builddir}/set \
- ${std_builddir}/sstream \
- ${std_builddir}/stack \
- ${std_builddir}/stdexcept \
- ${std_builddir}/streambuf \
- ${std_builddir}/string \
- ${std_builddir}/utility \
- ${std_builddir}/valarray \
- ${std_builddir}/vector
+ set \
+ sstream \
+ stack \
+ stdexcept \
+ streambuf \
+ string \
+ utility \
+ valarray \
+ vector
target_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@
target_builddir = ./${target_alias}/bits
(cd ${bits_builddir} && @LN_S@ $? . || true) ;\
echo `date` > stamp-bits
-stamp-c_base: ${c_base_headers}
+stamp-c_base: ${c_base_headers} ${c_base_headers_extra}
@if [ ! -d "${c_base_builddir}" ]; then \
mkdir -p ${c_base_builddir} ;\
fi ;\
- (cd ${c_base_builddir} && @LN_S@ $? . || true) ;\
+ (cd ${c_base_builddir} && for h in ${c_base_headers}; do \
+ official_name=`echo $$h | sed -e 's,.*/std_,,' -e 's,\.h$$,,'` ;\
+ @LN_S@ $$h ./$${official_name} || true ;\
+ done) ;\
+ (cd ${c_base_builddir} && @LN_S@ ${c_base_headers_extra} . || true) ;\
echo `date` > stamp-c_base
stamp-backward: ${backward_headers}
for file in ${ext_headers}; do \
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${ext_builddir}; done
$(INSTALL) -d ${gxx_include_dir}/${c_base_builddir}
- for file in ${c_base_headers}; do \
+ for file in ${c_base_builddir}/${c_base_headers_rename}; do \
+ $(INSTALL_DATA) $${file} ${gxx_include_dir}/${c_base_builddir}; done
+ for file in ${c_base_headers_extra}; do \
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${c_base_builddir}; done
$(INSTALL) -d ${gxx_include_dir}/${std_builddir}
- for file in ${std_headers_rename}; do \
+ for file in ${std_builddir}/${std_headers_rename}; do \
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${std_builddir}; done
$(INSTALL) -d ${gxx_include_dir}/${target_builddir}
for file in ${target_headers} ${extra_target_headers}; do \
# By adding these files here, automake will remove them for 'make clean'
#CLEANFILES = ${allstamps}
+
+# Stop implicit '.o' make rules from ever stomping on extensionless
+# headers, in the improbable case where some foolish, crack-addled
+# developer tries to create them via make in the include build
+# directory. (This is more of an example of how this kind of rule can
+# be made.)
+.PRECIOUS: $(std_headers_rename) $(c_base_headers_rename)
+$(std_headers_rename): ; @:
+$(c_base_headers_rename): ; @:
c_base_srcdir = @C_INCLUDE_DIR@
c_base_builddir = ./
c_base_headers = \
- ${c_base_srcdir}/cassert \
- ${c_base_srcdir}/cctype \
- ${c_base_srcdir}/cerrno \
- ${c_base_srcdir}/cfloat \
- ${c_base_srcdir}/ciso646 \
- ${c_base_srcdir}/climits \
- ${c_base_srcdir}/clocale \
- ${c_base_srcdir}/cmath \
- ${c_base_srcdir}/csetjmp \
- ${c_base_srcdir}/csignal \
- ${c_base_srcdir}/cstdarg \
- ${c_base_srcdir}/cstddef \
- ${c_base_srcdir}/cstdio \
- ${c_base_srcdir}/cstdlib \
- ${c_base_srcdir}/cstring \
- ${c_base_srcdir}/ctime \
- ${c_base_srcdir}/cwchar \
- ${c_base_srcdir}/cwctype \
+ ${c_base_srcdir}/std_cassert.h \
+ ${c_base_srcdir}/std_cctype.h \
+ ${c_base_srcdir}/std_cerrno.h \
+ ${c_base_srcdir}/std_cfloat.h \
+ ${c_base_srcdir}/std_ciso646.h \
+ ${c_base_srcdir}/std_climits.h \
+ ${c_base_srcdir}/std_clocale.h \
+ ${c_base_srcdir}/std_cmath.h \
+ ${c_base_srcdir}/std_csetjmp.h \
+ ${c_base_srcdir}/std_csignal.h \
+ ${c_base_srcdir}/std_cstdarg.h \
+ ${c_base_srcdir}/std_cstddef.h \
+ ${c_base_srcdir}/std_cstdio.h \
+ ${c_base_srcdir}/std_cstdlib.h \
+ ${c_base_srcdir}/std_cstring.h \
+ ${c_base_srcdir}/std_ctime.h \
+ ${c_base_srcdir}/std_cwchar.h \
+ ${c_base_srcdir}/std_cwctype.h
+
+# Some of the "C" headers need extra files.
+c_base_headers_extra = \
${c_base_srcdir}/cmath.tcc
+c_base_headers_rename = \
+ cassert \
+ cctype \
+ cerrno \
+ cfloat \
+ ciso646 \
+ climits \
+ clocale \
+ cmath \
+ csetjmp \
+ csignal \
+ cstdarg \
+ cstddef \
+ cstdio \
+ cstdlib \
+ cstring \
+ ctime \
+ cwchar \
+ cwctype
+
std_srcdir = ${glibcpp_srcdir}/include/std
std_builddir = ./
# Renamed at build time.
std_headers_rename = \
- ${std_builddir}/algorithm \
- ${std_builddir}/bitset \
- ${std_builddir}/complex \
- ${std_builddir}/deque \
- ${std_builddir}/fstream \
- ${std_builddir}/functional \
- ${std_builddir}/iomanip \
- ${std_builddir}/ios \
- ${std_builddir}/iosfwd \
- ${std_builddir}/iostream \
- ${std_builddir}/istream \
- ${std_builddir}/iterator \
- ${std_builddir}/limits \
- ${std_builddir}/list \
- ${std_builddir}/locale \
- ${std_builddir}/map \
- ${std_builddir}/memory \
- ${std_builddir}/numeric \
- ${std_builddir}/ostream \
+ algorithm \
+ bitset \
+ complex \
+ deque \
+ fstream \
+ functional \
+ iomanip \
+ ios \
+ iosfwd \
+ iostream \
+ istream \
+ iterator \
+ limits \
+ list \
+ locale \
+ map \
+ memory \
+ numeric \
+ ostream \
${std_builddir}/queue \
- ${std_builddir}/set \
- ${std_builddir}/sstream \
- ${std_builddir}/stack \
- ${std_builddir}/stdexcept \
- ${std_builddir}/streambuf \
- ${std_builddir}/string \
- ${std_builddir}/utility \
- ${std_builddir}/valarray \
- ${std_builddir}/vector
+ set \
+ sstream \
+ stack \
+ stdexcept \
+ streambuf \
+ string \
+ utility \
+ valarray \
+ vector
target_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@
(cd ${bits_builddir} && @LN_S@ $? . || true) ;\
echo `date` > stamp-bits
-stamp-c_base: ${c_base_headers}
+stamp-c_base: ${c_base_headers} ${c_base_headers_extra}
@if [ ! -d "${c_base_builddir}" ]; then \
mkdir -p ${c_base_builddir} ;\
fi ;\
- (cd ${c_base_builddir} && @LN_S@ $? . || true) ;\
+ (cd ${c_base_builddir} && for h in ${c_base_headers}; do \
+ official_name=`echo $$h | sed -e 's,.*/std_,,' -e 's,\.h$$,,'` ;\
+ @LN_S@ $$h ./$${official_name} || true ;\
+ done) ;\
+ (cd ${c_base_builddir} && @LN_S@ ${c_base_headers_extra} . || true) ;\
echo `date` > stamp-c_base
stamp-backward: ${backward_headers}
for file in ${ext_headers}; do \
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${ext_builddir}; done
$(INSTALL) -d ${gxx_include_dir}/${c_base_builddir}
- for file in ${c_base_headers}; do \
+ for file in ${c_base_builddir}/${c_base_headers_rename}; do \
+ $(INSTALL_DATA) $${file} ${gxx_include_dir}/${c_base_builddir}; done
+ for file in ${c_base_headers_extra}; do \
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${c_base_builddir}; done
$(INSTALL) -d ${gxx_include_dir}/${std_builddir}
- for file in ${std_headers_rename}; do \
+ for file in ${std_builddir}/${std_headers_rename}; do \
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${std_builddir}; done
$(INSTALL) -d ${gxx_include_dir}/${target_builddir}
for file in ${target_headers} ${extra_target_headers}; do \
# By adding these files here, automake will remove them for 'make clean'
#CLEANFILES = ${allstamps}
+# Stop implicit '.o' make rules from ever stomping on extensionless
+# headers, in the improbable case where some foolish, crack-addled
+# developer tries to create them via make in the include build
+# directory.
+.PRECIOUS: $(std_headers_rename) $(c_base_headers_rename)
+$(std_headers_rename): ; @:
+$(c_base_headers_rename): ; @:
+
# 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:
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 19.2 Assertions
-//
-
-// Note: This is not a conforming implementation.
-
-// No include guards on this header...
-
-#pragma GCC system_header
-#include <assert.h>
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: <ccytpe>
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CCTYPE
-#define _CPP_CCTYPE 1
-
-#pragma GCC system_header
-#include <ctype.h>
-
-#endif
+++ /dev/null
-// The -*- C++ -*- error number header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 19.3 Error numbers
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CERRNO
-#define _CPP_CERRNO 1
-
-#pragma GCC system_header
-#include <errno.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 18.2.2 Implementation properties: C library
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CFLOAT
-#define _CPP_CFLOAT 1
-
-#pragma GCC system_header
-#include <float.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- std header.
-
-// Copyright (C) 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-/** @file ciso646
- * This is a Standard C++ Library file. You should @c #include this file
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
- *
- * This is the C++ version of the Standard C Library header @c iso646.h,
- * and its contents are (mostly) the same as that header, but are all
- * contained in the namespace @c std.
- */
-
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 18.2.2 Implementation properties: C library
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CLIMITS
-#define _CPP_CLIMITS 1
-
-#pragma GCC system_header
-#include <limits.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 18.2.2 Implementation properties: C library
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CLOCALE
-#define _CPP_CLOCALE 1
-
-#pragma GCC system_header
-#include <locale.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- C math library.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 26.5 C library
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CMATH
-#define _CPP_CMATH 1
-
-#pragma GCC system_header
-#include <math.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CSETJMP
-#define _CPP_CSETJMP 1
-
-#pragma GCC system_header
-#include <setjmp.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CSIGNAL
-#define _CPP_CSIGNAL 1
-
-#pragma GCC system_header
-#include <signal.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CSTDARG
-#define _CPP_CSTDARG 1
-
-#pragma GCC system_header
-#include <stdarg.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 18.1 Types
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CSTDDEF
-#define _CPP_CSTDDEF 1
-
-#pragma GCC system_header
-#include <stddef.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 27.8.2 C Library files
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CSTDIO
-#define _CPP_CSTDIO 1
-
-#pragma GCC system_header
-#include <stdio.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CSTDLIB
-#define _CPP_CSTDLIB 1
-
-#pragma GCC system_header
-#include <stdlib.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CSTRING
-#define _CPP_CSTRING 1
-
-#pragma GCC system_header
-#include <string.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 20.5 Date and time
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CTIME
-#define _CPP_CTIME 1
-
-#pragma GCC system_header
-#include <time.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: ???
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CWCHAR
-#define _CPP_CWCHAR 1
-
-#pragma GCC system_header
-#include <wchar.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: <cwctype>
-//
-
-// Note: This is not a conforming implementation.
-
-#ifndef _CPP_CWCTYPE
-#define _CPP_CWCTYPE 1
-
-#pragma GCC system_header
-#include <wctype.h>
-
-#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 19.2 Assertions
+//
+
+// Note: This is not a conforming implementation.
+
+// No include guards on this header...
+
+#pragma GCC system_header
+#include <assert.h>
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: <ccytpe>
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CCTYPE
+#define _CPP_CCTYPE 1
+
+#pragma GCC system_header
+#include <ctype.h>
+
+#endif
--- /dev/null
+// The -*- C++ -*- error number header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 19.3 Error numbers
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CERRNO
+#define _CPP_CERRNO 1
+
+#pragma GCC system_header
+#include <errno.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 18.2.2 Implementation properties: C library
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CFLOAT
+#define _CPP_CFLOAT 1
+
+#pragma GCC system_header
+#include <float.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+/** @file ciso646
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c iso646.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 18.2.2 Implementation properties: C library
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CLIMITS
+#define _CPP_CLIMITS 1
+
+#pragma GCC system_header
+#include <limits.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 18.2.2 Implementation properties: C library
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CLOCALE
+#define _CPP_CLOCALE 1
+
+#pragma GCC system_header
+#include <locale.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- C math library.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 26.5 C library
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CMATH
+#define _CPP_CMATH 1
+
+#pragma GCC system_header
+#include <math.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 20.4.6 C library
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CSETJMP
+#define _CPP_CSETJMP 1
+
+#pragma GCC system_header
+#include <setjmp.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 20.4.6 C library
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CSIGNAL
+#define _CPP_CSIGNAL 1
+
+#pragma GCC system_header
+#include <signal.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 20.4.6 C library
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CSTDARG
+#define _CPP_CSTDARG 1
+
+#pragma GCC system_header
+#include <stdarg.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 18.1 Types
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CSTDDEF
+#define _CPP_CSTDDEF 1
+
+#pragma GCC system_header
+#include <stddef.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 27.8.2 C Library files
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CSTDIO
+#define _CPP_CSTDIO 1
+
+#pragma GCC system_header
+#include <stdio.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 20.4.6 C library
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CSTDLIB
+#define _CPP_CSTDLIB 1
+
+#pragma GCC system_header
+#include <stdlib.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 20.4.6 C library
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CSTRING
+#define _CPP_CSTRING 1
+
+#pragma GCC system_header
+#include <string.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 20.5 Date and time
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CTIME
+#define _CPP_CTIME 1
+
+#pragma GCC system_header
+#include <time.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: ???
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CWCHAR
+#define _CPP_CWCHAR 1
+
+#pragma GCC system_header
+#include <wchar.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: <cwctype>
+//
+
+// Note: This is not a conforming implementation.
+
+#ifndef _CPP_CWCTYPE
+#define _CPP_CWCTYPE 1
+
+#pragma GCC system_header
+#include <wctype.h>
+
+#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-//
-// ISO C++ 14882: 19.2 Assertions
-//
-
-// No include guards on this header...
-
-#pragma GCC system_header
-#include <assert.h>
-
-
-
-
-
-
-
-
-
-
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-//
-// ISO C++ 14882: <ccytpe>
-//
-
-#ifndef _CPP_CCTYPE
-#define _CPP_CCTYPE 1
-
-#pragma GCC system_header
-#include <ctype.h>
-
-// Get rid of those macros defined in <ctype.h> in lieu of real functions.
-#undef isalnum
-#undef isalpha
-#undef iscntrl
-#undef isdigit
-#undef isgraph
-#undef islower
-#undef isprint
-#undef ispunct
-#undef isspace
-#undef isupper
-#undef isxdigit
-#undef tolower
-#undef toupper
-
-namespace std
-{
- using ::isalnum;
- using ::isalpha;
- using ::iscntrl;
- using ::isdigit;
- using ::isgraph;
- using ::islower;
- using ::isprint;
- using ::ispunct;
- using ::isspace;
- using ::isupper;
- using ::isxdigit;
- using ::tolower;
- using ::toupper;
-}
-
-#endif
+++ /dev/null
-// The -*- C++ -*- error number header.
-
-// Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-//
-// ISO C++ 14882: 19.3 Error numbers
-//
-
-#ifndef _CPP_CERRNO
-#define _CPP_CERRNO 1
-
-#pragma GCC system_header
-#include <errno.h>
-
-// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
-#ifndef errno
-#define errno errno
-#endif
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 18.2.2 Implementation properties: C library
-//
-
-#ifndef _CPP_CFLOAT
-#define _CPP_CFLOAT 1
-
-#pragma GCC system_header
-#include <float.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- std header.
-
-// Copyright (C) 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-/** @file ciso646
- * This is a Standard C++ Library file. You should @c #include this file
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
- *
- * This is the C++ version of the Standard C Library header @c iso646.h,
- * and its contents are (mostly) the same as that header, but are all
- * contained in the namespace @c std.
- */
-
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 18.2.2 Implementation properties: C library
-//
-
-#ifndef _CPP_CLIMITS
-#define _CPP_CLIMITS 1
-
-#pragma GCC system_header
-#include <limits.h>
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-//
-// ISO C++ 14882: 18.2.2 Implementation properties: C library
-//
-
-#ifndef _CPP_CLOCALE
-#define _CPP_CLOCALE 1
-
-#pragma GCC system_header
-#include <locale.h>
-
-// Get rid of those macros defined in <locale.h> in lieu of real functions.
-#undef setlocale
-#undef localeconv
-
-namespace std
-{
- using ::lconv;
- using ::setlocale;
- using ::localeconv;
-}
-
-#endif
+++ /dev/null
-// -*- C++ -*- C math library.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-//
-// ISO C++ 14882: 26.5 C library
-//
-
-#ifndef _CPP_CMATH
-#define _CPP_CMATH 1
-
-#include <bits/c++config.h>
-
-#pragma GCC system_header
-#include <math.h>
-
-// Get rid of those macros defined in <math.h> in lieu of real functions.
-#undef abs
-#undef div
-#undef acos
-#undef asin
-#undef atan
-#undef atan2
-#undef ceil
-#undef cos
-#undef cosh
-#undef exp
-#undef fabs
-#undef floor
-#undef fmod
-#undef frexp
-#undef ldexp
-#undef log
-#undef log10
-#undef modf
-#undef pow
-#undef sin
-#undef sinh
-#undef sqrt
-#undef tan
-#undef tanh
-
-namespace std
-{
- // Forward declaration of a helper function. This really should be
- // an `exported' forward declaration.
- template<typename _Tp> _Tp __cmath_power(_Tp, unsigned int);
-
- template<typename _Tp>
- inline _Tp
- __cmath_abs(_Tp __x)
- {
- return __x < _Tp() ? -__x : __x;
- }
-
- inline float
- abs(float __x)
- { return __builtin_fabsf(__x); }
-
- inline double
- abs(double __x)
- { return __builtin_fabs(__x); }
-
- inline long double
- abs(long double __x)
- { return __builtin_fabsl(__x); }
-
-#if _GLIBCPP_HAVE_ACOSF
- inline float
- acos(float __x) { return ::acosf(__x); }
-#else
- inline float
- acos(float __x) { return ::acos(static_cast<double>(__x)); }
-#endif
-
- using ::acos;
-
-#if _GLIBCPP_HAVE_ACOSL
- inline long double
- acos(long double __x) { return ::acosl(__x); }
-#else
- inline long double
- acos(long double __x) { return ::acos(static_cast<double>(__x)); }
-#endif
-
-#if _GLIBCPP_HAVE_ASINF
- inline float
- asin(float __x) { return ::asinf(__x); }
-#else
- inline float
- asin(float __x) { return ::asin(static_cast<double>(__x)); }
-#endif
-
- using ::asin;
-
-#if _GLIBCPP_HAVE_ASINL
- inline long double
- asin(long double __x) { return ::asinl(__x); }
-#else
- inline long double
- asin(long double __x) { return ::asin(static_cast<double>(__x)); }
-#endif
-
-#if _GLIBCPP_HAVE_ATANF
- inline float
- atan(float __x) { return ::atanf(__x); }
-#else
- inline float
- atan(float __x) { return ::atan(static_cast<double>(__x)); }
-#endif
-
- using ::atan;
-
-#if _GLIBCPP_HAVE_ATANL
- inline long double
- atan(long double __x) { return ::atanl(__x); }
-#else
- inline long double
- atan(long double __x) { return ::atan(static_cast<double>(__x)); }
-#endif
-
-#if _GLIBCPP_HAVE_ATAN2F
- inline float
- atan2(float __y, float __x) { return ::atan2f(__y, __x); }
-#else
- inline float
- atan2(float __y, float __x)
- { return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); }
-#endif
-
- using ::atan2;
-
-#if _GLIBCPP_HAVE_ATAN2L
- inline long double
- atan2(long double __y, long double __x) { return ::atan2l(__y, __x); }
-#else
- inline long double
- atan2(long double __y, long double __x)
- { return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); }
-#endif
-
-#if _GLIBCPP_HAVE_CEILF
- inline float
- ceil(float __x) { return ::ceilf(__x); }
-#else
- inline float
- ceil(float __x) { return ::ceil(static_cast<double>(__x)); }
-#endif
-
- using ::ceil;
-
-#if _GLIBCPP_HAVE_CEILL
- inline long double
- ceil(long double __x) { return ::ceill(__x); }
-#else
- inline long double
- ceil(long double __x) { return ::ceil(static_cast<double>(__x)); }
-#endif
-
- inline float
- cos(float __x)
- { return __builtin_cosf(__x); }
-
- using ::cos;
-
- inline long double
- cos(long double __x)
- { return __builtin_cosl(__x); }
-
-#if _GLIBCPP_HAVE_COSHF
- inline float
- cosh(float __x) { return ::coshf(__x); }
-#else
- inline float
- cosh(float __x) { return ::cosh(static_cast<double>(__x)); }
-#endif
-
- using ::cosh;
-
-#if _GLIBCPP_HAVE_COSHL
- inline long double
- cosh(long double __x) { return ::coshl(__x); }
-#else
- inline long double
- cosh(long double __x) { return ::cosh(static_cast<double>(__x)); }
-#endif
-
-#if _GLIBCPP_HAVE_EXPF
- inline float
- exp(float __x) { return ::expf(__x); }
-#else
- inline float
- exp(float __x) { return ::exp(static_cast<double>(__x)); }
-#endif
-
- using ::exp;
-
-#if _GLIBCPP_HAVE_EXPL
- inline long double
- exp(long double __x) { return ::expl(__x); }
-#else
- inline long double
- exp(long double __x) { return ::exp(static_cast<double>(__x)); }
-#endif
-
- inline float
- fabs(float __x)
- { return __builtin_fabsf(__x); }
-
- using ::fabs;
-
- inline long double
- fabs(long double __x)
- { return __builtin_fabsl(__x); }
-
-#if _GLIBCPP_HAVE_FLOORF
- inline float
- floor(float __x) { return ::floorf(__x); }
-#else
- inline float
- floor(float __x) { return ::floor(static_cast<double>(__x)); }
-#endif
-
- using ::floor;
-
-#if _GLIBCPP_HAVE_FLOORL
- inline long double
- floor(long double __x) { return ::floorl(__x); }
-#else
- inline long double
- floor(long double __x) { return ::floor(static_cast<double>(__x)); }
-#endif
-
-#if _GLIBCPP_HAVE_FMODF
- inline float
- fmod(float __x, float __y) { return ::fmodf(__x, __y); }
-#else
- inline float
- fmod(float __x, float __y)
- { return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); }
-#endif
-
- using ::fmod;
-
-#if _GLIBCPP_HAVE_FMODL
- inline long double
- fmod(long double __x, long double __y) { return ::fmodl(__x, __y); }
-#else
- inline long double
- fmod(long double __x, long double __y)
- { return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); }
-#endif
-
-#if _GLIBCPP_HAVE_FREXPF
- inline float
- frexp(float __x, int* __exp) { return ::frexpf(__x, __exp); }
-#else
- inline float
- frexp(float __x, int* __exp) { return ::frexp(__x, __exp); }
-#endif
-
- using ::frexp;
-
-#if _GLIBCPP_HAVE_FREXPL
- inline long double
- frexp(long double __x, int* __exp) { return ::frexpl(__x, __exp); }
-#else
- inline long double
- frexp(long double __x, int* __exp)
- { return ::frexp(static_cast<double>(__x), __exp); }
-#endif
-
-#if _GLIBCPP_HAVE_LDEXPF
- inline float
- ldexp(float __x, int __exp) { return ::ldexpf(__x, __exp); }
-#else
- inline float
- ldexp(float __x, int __exp)
- { return ::ldexp(static_cast<double>(__x), __exp); }
-#endif
-
- using ::ldexp;
-
-#if _GLIBCPP_HAVE_LDEXPL
- inline long double
- ldexp(long double __x, int __exp) { return ::ldexpl(__x, __exp); }
-#else
- inline long double
- ldexp(long double __x, int __exp)
- { return ::ldexp(static_cast<double>(__x), __exp); }
-#endif
-
-#if _GLIBCPP_HAVE_LOGF
- inline float
- log(float __x) { return ::logf(__x); }
-#else
- inline float log(float __x)
- { return ::log(static_cast<double>(__x)); }
-#endif
-
- using ::log;
-
-#if _GLIBCPP_HAVE_LOGL
- inline long double
- log(long double __x) { return ::logl(__x); }
-#else
- inline long double
- log(long double __x) { return ::log(static_cast<double>(__x)); }
-#endif
-
-#if _GLIBCPP_HAVE_LOG10F
- inline float
- log10(float __x) { return ::log10f(__x); }
-#else
- inline float
- log10(float __x) { return ::log10(static_cast<double>(__x)); }
-#endif
-
- using ::log10;
-
-#if _GLIBCPP_HAVE_LOG10L
- inline long double
- log10(long double __x) { return ::log10l(__x); }
-#else
- inline long double
- log10(long double __x) { return ::log10(static_cast<double>(__x)); }
-#endif
-
-#if _GLIBCPP_HAVE_MODFF
- inline float
- modf(float __x, float* __iptr) { return ::modff(__x, __iptr); }
-#else
- inline float
- modf(float __x, float* __iptr)
- {
- double __tmp;
- double __res = ::modf(static_cast<double>(__x), &__tmp);
- *__iptr = static_cast<float>(__tmp);
- return __res;
- }
-#endif
-
- using ::modf;
-
-#if _GLIBCPP_HAVE_MODFL
- inline long double
- modf(long double __x, long double* __iptr) { return ::modfl(__x, __iptr); }
-#else
- inline long double
- modf(long double __x, long double* __iptr)
- {
- double __tmp;
- double __res = ::modf(static_cast<double>(__x), &__tmp);
- * __iptr = static_cast<long double>(__tmp);
- return __res;
- }
-#endif
-
- template<typename _Tp>
- inline _Tp
- __pow_helper(_Tp __x, int __n)
- {
- return __n < 0
- ? _Tp(1)/__cmath_power(__x, -__n)
- : __cmath_power(__x, __n);
- }
-
-#if _GLIBCPP_HAVE_POWF
- inline float
- pow(float __x, float __y) { return ::powf(__x, __y); }
-#else
- inline float
- pow(float __x, float __y)
- { return ::pow(static_cast<double>(__x), static_cast<double>(__y)); }
-#endif
-
- using ::pow;
-
-#if _GLIBCPP_HAVE_POWL
- inline long double
- pow(long double __x, long double __y) { return ::powl(__x, __y); }
-#else
- inline long double
- pow(long double __x, long double __y)
- { return ::pow(static_cast<double>(__x), static_cast<double>(__y)); }
-#endif
-
- inline float
- pow(float __x, int __n)
- { return __pow_helper(__x, __n); }
-
- inline double
- pow(double __x, int __i)
- { return __pow_helper(__x, __i); }
-
- inline long double
- pow(long double __x, int __n)
- { return __pow_helper(__x, __n); }
-
- inline float
- sin(float __x)
- { return __builtin_sinf(__x); }
-
- using ::sin;
-
- inline long double
- sin(long double __x)
- { return __builtin_sinl(__x); }
-
-#if _GLIBCPP_HAVE_SINHF
- inline float
- sinh(float __x) { return ::sinhf(__x); }
-#else
- inline float
- sinh(float __x) { return ::sinh(static_cast<double>(__x)); }
-#endif
-
- using ::sinh;
-
-#if _GLIBCPP_HAVE_SINHL
- inline long double
- sinh(long double __x) { return ::sinhl(__x); }
-#else
- inline long double
- sinh(long double __x) { return ::sinh(static_cast<double>(__x)); }
-#endif
-
- inline float
- sqrt(float __x)
- { return __builtin_sqrtf(__x); }
-
- using ::sqrt;
-
- inline long double
- sqrt(long double __x)
- { return __builtin_sqrtl(__x); }
-
-#if _GLIBCPP_HAVE_TANF
- inline float
- tan(float __x) { return ::tanf(__x); }
-#else
- inline float
- tan(float __x) { return ::tan(static_cast<double>(__x)); }
-#endif
-
- using ::tan;
-
-#if _GLIBCPP_HAVE_TANL
- inline long double
- tan(long double __x) { return ::tanl(__x); }
-#else
- inline long double
- tan(long double __x) { return ::tan(static_cast<double>(__x)); }
-#endif
-
-#if _GLIBCPP_HAVE_TANHF
- inline float
- tanh(float __x) { return ::tanhf(__x); }
-#else
- inline float
- tanh(float __x) { return ::tanh(static_cast<double>(__x)); }
-#endif
-
- using ::tanh;
-
-#if _GLIBCPP_HAVE_TANHL
- inline long double
- tanh(long double __x) { return ::tanhl(__x); }
-#else
- inline long double
- tanh(long double __x) { return ::tanh(static_cast<double>(__x)); }
-#endif
-}
-
-
-#if _GLIBCPP_USE_C99
-// These are possible macros imported from C99-land. For strict
-// conformance, remove possible C99-injected names from the global
-// namespace, and sequester them in the __gnu_cxx extension namespace.
-namespace __gnu_cxx
-{
- template<typename _Tp>
- int
- __capture_fpclassify(_Tp __f) { return fpclassify(__f); }
-
- template<typename _Tp>
- int
- __capture_isfinite(_Tp __f) { return isfinite(__f); }
-
- template<typename _Tp>
- int
- __capture_isinf(_Tp __f) { return isinf(__f); }
-
- template<typename _Tp>
- int
- __capture_isnan(_Tp __f) { return isnan(__f); }
-
- template<typename _Tp>
- int
- __capture_isnormal(_Tp __f) { return isnormal(__f); }
-
- template<typename _Tp>
- int
- __capture_signbit(_Tp __f) { return signbit(__f); }
-
- template<typename _Tp>
- int
- __capture_isgreater(_Tp __f1, _Tp __f2)
- { return isgreater(__f1, __f2); }
-
- template<typename _Tp>
- int
- __capture_isgreaterequal(_Tp __f1, _Tp __f2)
- { return isgreaterequal(__f1, __f2); }
-
- template<typename _Tp>
- int
- __capture_isless(_Tp __f1, _Tp __f2) { return isless(__f1, __f2); }
-
- template<typename _Tp>
- int
- __capture_islessequal(_Tp __f1, _Tp __f2)
- { return islessequal(__f1, __f2); }
-
- template<typename _Tp>
- int
- __capture_islessgreater(_Tp __f1, _Tp __f2)
- { return islessgreater(__f1, __f2); }
-
- template<typename _Tp>
- int
- __capture_isunordered(_Tp __f1, _Tp __f2)
- { return isunordered(__f1, __f2); }
-}
-#endif
-
-#undef fpclassify
-#undef isfinite
-#undef isinf
-#undef isnan
-#undef isnormal
-#undef signbit
-#undef isgreater
-#undef isgreaterequal
-#undef isless
-#undef islessequal
-#undef islessgreater
-#undef isunordered
-
-#if _GLIBCPP_USE_C99
-namespace __gnu_cxx
-{
- template<typename _Tp>
- int
- fpclassify(_Tp __f) { return __capture_fpclassify(__f); }
-
- template<typename _Tp>
- int
- isfinite(_Tp __f) { return __capture_isfinite(__f); }
-
- template<typename _Tp>
- int
- isinf(_Tp __f) { return __capture_isinf(__f); }
-
- template<typename _Tp>
- int
- isnan(_Tp __f) { return __capture_isnan(__f); }
-
- template<typename _Tp>
- int
- isnormal(_Tp __f) { return __capture_isnormal(__f); }
-
- template<typename _Tp>
- int
- signbit(_Tp __f) { return __capture_signbit(__f); }
-
- template<typename _Tp>
- int
- isgreater(_Tp __f1, _Tp __f2) { return __capture_isgreater(__f1, __f2); }
-
- template<typename _Tp>
- int
- isgreaterequal(_Tp __f1, _Tp __f2)
- { return __capture_isgreaterequal(__f1, __f2); }
-
- template<typename _Tp>
- int
- isless(_Tp __f1, _Tp __f2) { return __capture_isless(__f1, __f2); }
-
- template<typename _Tp>
- int
- islessequal(_Tp __f1, _Tp __f2)
- { return __capture_islessequal(__f1, __f2); }
-
- template<typename _Tp>
- int
- islessgreater(_Tp __f1, _Tp __f2)
- { return __capture_islessgreater(__f1, __f2); }
-
- template<typename _Tp>
- int
- isunordered(_Tp __f1, _Tp __f2)
- { return __capture_isunordered(__f1, __f2); }
-}
-
-namespace std
-{
- using __gnu_cxx::fpclassify;
- using __gnu_cxx::isfinite;
- using __gnu_cxx::isinf;
- using __gnu_cxx::isnan;
- using __gnu_cxx::isnormal;
- using __gnu_cxx::signbit;
- using __gnu_cxx::isgreater;
- using __gnu_cxx::isgreaterequal;
- using __gnu_cxx::isless;
- using __gnu_cxx::islessequal;
- using __gnu_cxx::islessgreater;
- using __gnu_cxx::isunordered;
-}
-#endif
-
-#ifdef _GLIBCPP_NO_TEMPLATE_EXPORT
-# define export
-# include <cmath.tcc>
-#endif
-
-#endif
-
-
-
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-#ifndef _CPP_CSETJMP
-#define _CPP_CSETJMP 1
-
-#pragma GCC system_header
-#include <setjmp.h>
-
-// Get rid of those macros defined in <setjmp.h> in lieu of real functions.
-#undef longjmp
-
-// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
-#ifndef setjmp
-#define setjmp(env) setjmp (env)
-#endif
-
-namespace std
-{
- using ::jmp_buf;
- using ::longjmp;
-}
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-#ifndef _CPP_CSIGNAL
-#define _CPP_CSIGNAL 1
-
-#pragma GCC system_header
-#include <signal.h>
-
-// Get rid of those macros defined in <signal.h> in lieu of real functions.
-#undef raise
-
-namespace std
-{
- using ::sig_atomic_t;
- using ::signal;
- using ::raise;
-}
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-#ifndef _CPP_CSTDARG
-#define _CPP_CSTDARG 1
-
-#pragma GCC system_header
-#include <stdarg.h>
-
-// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
-#ifndef va_end
-#define va_end(ap) va_end (ap)
-#endif
-
-namespace std
-{
- using ::va_list;
-}
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 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.
-
-//
-// ISO C++ 14882: 18.1 Types
-//
-
-#ifndef _CPP_CSTDDEF
-#define _CPP_CSTDDEF 1
-
-#pragma GCC system_header
-#include <stddef.h>
-
-namespace std
-{
- using ::ptrdiff_t;
- using ::size_t;
-}
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-//
-// ISO C++ 14882: 27.8.2 C Library files
-//
-
-#ifndef _CPP_CSTDIO
-#define _CPP_CSTDIO 1
-
-#include <bits/c++config.h>
-#include <cstddef>
-
-#pragma GCC system_header
-#include <stdio.h>
-
-// Get rid of those macros defined in <stdio.h> in lieu of real functions.
-#undef clearerr
-#undef fclose
-#undef feof
-#undef ferror
-#undef fflush
-#undef fgetc
-#undef fgetpos
-#undef fgets
-#undef fopen
-#undef fprintf
-#undef fputc
-#undef fputs
-#undef fread
-#undef freopen
-#undef fscanf
-#undef fseek
-#undef fsetpos
-#undef ftell
-#undef fwrite
-#undef getc
-#undef getchar
-#undef gets
-#undef perror
-#undef printf
-#undef putc
-#undef putchar
-#undef puts
-#undef remove
-#undef rename
-#undef rewind
-#undef scanf
-#undef setbuf
-#undef setvbuf
-#undef sprintf
-#undef sscanf
-#undef tmpfile
-#undef tmpnam
-#undef ungetc
-#undef vfprintf
-#undef vprintf
-#undef vsprintf
-
-namespace std
-{
- using ::FILE;
- using ::fpos_t;
-
- using ::clearerr;
- using ::fclose;
- using ::feof;
- using ::ferror;
- using ::fflush;
- using ::fgetc;
- using ::fgetpos;
- using ::fgets;
- using ::fopen;
- using ::fprintf;
- using ::fputc;
- using ::fputs;
- using ::fread;
- using ::freopen;
- using ::fscanf;
- using ::fseek;
- using ::fsetpos;
- using ::ftell;
- using ::fwrite;
- using ::getc;
- using ::getchar;
- using ::gets;
- using ::perror;
- using ::printf;
- using ::putc;
- using ::putchar;
- using ::puts;
- using ::remove;
- using ::rename;
- using ::rewind;
- using ::scanf;
- using ::setbuf;
- using ::setvbuf;
- using ::sprintf;
- using ::sscanf;
- using ::tmpfile;
- using ::tmpnam;
- using ::ungetc;
- using ::vfprintf;
- using ::vprintf;
- using ::vsprintf;
-}
-
-#if _GLIBCPP_USE_C99
-
-#undef snprintf
-#undef vfscanf
-#undef vscanf
-#undef vsnprintf
-#undef vsscanf
-
-namespace __gnu_cxx
-{
- using ::snprintf;
- using ::vfscanf;
- using ::vscanf;
- using ::vsnprintf;
- using ::vsscanf;
-}
-
-namespace std
-{
- using __gnu_cxx::snprintf;
- using __gnu_cxx::vfscanf;
- using __gnu_cxx::vscanf;
- using __gnu_cxx::vsnprintf;
- using __gnu_cxx::vsscanf;
-}
-#endif
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-#ifndef _CPP_CSTDLIB
-#define _CPP_CSTDLIB 1
-
-#include <bits/c++config.h>
-#include <cstddef>
-
-#pragma GCC system_header
-#include <stdlib.h>
-
-// Get rid of those macros defined in <stdlib.h> in lieu of real functions.
-#undef abort
-#undef abs
-#undef atexit
-#undef atof
-#undef atoi
-#undef atol
-#undef bsearch
-#undef calloc
-#undef div
-#undef exit
-#undef free
-#undef getenv
-#undef labs
-#undef ldiv
-#undef malloc
-#undef mblen
-#undef mbstowcs
-#undef mbtowc
-#undef qsort
-#undef rand
-#undef realloc
-#undef srand
-#undef strtod
-#undef strtol
-#undef strtoul
-#undef system
-#undef wcstombs
-#undef wctomb
-
-namespace std
-{
- using ::div_t;
- using ::ldiv_t;
-
- using ::abort;
- using ::abs;
- using ::atexit;
- using ::atof;
- using ::atoi;
- using ::atol;
- using ::bsearch;
- using ::calloc;
- using ::div;
- using ::exit;
- using ::free;
- using ::getenv;
- using ::labs;
- using ::ldiv;
- using ::malloc;
- using ::mblen;
- using ::mbstowcs;
- using ::mbtowc;
- using ::qsort;
- using ::rand;
- using ::realloc;
- using ::srand;
- using ::strtod;
- using ::strtol;
- using ::strtoul;
- using ::system;
- using ::wcstombs;
- using ::wctomb;
-
- inline long
- abs(long __i) { return labs(__i); }
-
- inline ldiv_t
- div(long __i, long __j) { return ldiv(__i, __j); }
-}
-
-#if _GLIBCPP_USE_C99
-
-#undef _Exit
-#undef llabs
-#undef lldiv
-#undef atoll
-#undef strtoll
-#undef strtoull
-#undef strtof
-#undef strtold
-
-namespace __gnu_cxx
-{
- using ::lldiv_t;
- using ::_Exit;
-
- inline long long
- abs(long long __x) { return __x >= 0 ? __x : -__x; }
-
- inline long long
- llabs(long long __x) { return __x >= 0 ? __x : -__x; }
-
- inline lldiv_t
- div(long long __n, long long __d)
- { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
-
- inline lldiv_t
- lldiv(long long __n, long long __d)
- { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
-
- using ::atoll;
- using ::strtof;
- using ::strtoll;
- using ::strtoull;
- using ::strtold;
-}
-
-namespace std
-{
- using __gnu_cxx::lldiv_t;
- using __gnu_cxx::_Exit;
- using __gnu_cxx::abs;
- using __gnu_cxx::llabs;
- using __gnu_cxx::div;
- using __gnu_cxx::lldiv;
- using __gnu_cxx::atoll;
- using __gnu_cxx::strtof;
- using __gnu_cxx::strtoll;
- using __gnu_cxx::strtoull;
- using __gnu_cxx::strtold;
-}
-#endif
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-#ifndef _CPP_CSTRING
-#define _CPP_CSTRING 1
-
-#include <cstddef>
-
-#pragma GCC system_header
-#include <string.h>
-
-// Get rid of those macros defined in <string.h> in lieu of real functions.
-#undef memcpy
-#undef memmove
-#undef strcpy
-#undef strncpy
-#undef strcat
-#undef strncat
-#undef memcmp
-#undef strcmp
-#undef strcoll
-#undef strncmp
-#undef strxfrm
-#undef memchr
-#undef strchr
-#undef strcspn
-#undef strpbrk
-#undef strrchr
-#undef strspn
-#undef strstr
-#undef strtok
-#undef memset
-#undef strerror
-#undef strlen
-
-namespace std
-{
- using ::memcpy;
- using ::memmove;
- using ::strcpy;
- using ::strncpy;
- using ::strcat;
- using ::strncat;
- using ::memcmp;
- using ::strcmp;
- using ::strcoll;
- using ::strncmp;
- using ::strxfrm;
- using ::strcspn;
- using ::strspn;
- using ::strtok;
- using ::memset;
- using ::strerror;
- using ::strlen;
-
- using ::memchr;
-
- inline void*
- memchr(void* __p, int __c, size_t __n)
- { return memchr(const_cast<const void*>(__p), __c, __n); }
-
- using ::strchr;
-
- inline char*
- strchr(char* __s1, int __n)
- { return __builtin_strchr(const_cast<const char*>(__s1), __n); }
-
- using ::strpbrk;
-
- inline char*
- strpbrk(char* __s1, const char* __s2)
- { return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); }
-
- using ::strrchr;
-
- inline char*
- strrchr(char* __s1, int __n)
- { return __builtin_strrchr(const_cast<const char*>(__s1), __n); }
-
- using ::strstr;
-
- inline char*
- strstr(char* __s1, const char* __s2)
- { return __builtin_strstr(const_cast<const char*>(__s1), __s2); }
-}
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-//
-// ISO C++ 14882: 20.5 Date and time
-//
-
-#ifndef _CPP_CTIME
-#define _CPP_CTIME 1
-
-#include <cstddef>
-
-#pragma GCC system_header
-#include <time.h>
-
-// Get rid of those macros defined in <time.h> in lieu of real functions.
-#undef clock
-#undef difftime
-#undef mktime
-#undef time
-#undef asctime
-#undef ctime
-#undef gmtime
-#undef localtime
-#undef strftime
-
-namespace std
-{
- using ::clock_t;
- using ::time_t;
- using ::tm;
-
- using ::clock;
- using ::difftime;
- using ::mktime;
- using ::time;
- using ::asctime;
- using ::ctime;
- using ::gmtime;
- using ::localtime;
- using ::strftime;
-}
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-//
-// ISO C++ 14882: 21.4
-//
-
-#ifndef _CPP_CWCHAR
-#define _CPP_CWCHAR 1
-
-#include <bits/c++config.h>
-#include <cstddef>
-#include <ctime>
-
-#if _GLIBCPP_HAVE_WCHAR_H
-#pragma GCC system_header
-#include <wchar.h>
-#endif
-
-// Need to do a bit of trickery here with mbstate_t as char_traits
-// assumes it is in wchar.h, regardless of wchar_t specializations.
-#ifndef _GLIBCPP_HAVE_MBSTATE_T
-extern "C"
-{
- typedef struct
- {
- int __fill[6];
- } mbstate_t;
-}
-#endif
-
-namespace std
-{
- using ::mbstate_t;
-}
-
-// Get rid of those macros defined in <wchar.h> in lieu of real functions.
-#undef btowc
-#undef fgetwc
-#undef fgetws
-#undef fputwc
-#undef fputws
-#undef fwide
-#undef fwprintf
-#undef fwscanf
-#undef getwc
-#undef getwchar
-#undef mbrlen
-#undef mbrtowc
-#undef mbsinit
-#undef mbsrtowcs
-#undef putwc
-#undef putwchar
-#undef swprintf
-#undef swscanf
-#undef ungetwc
-#undef vfwprintf
-#undef vfwscanf
-#undef vswprintf
-#undef vswscanf
-#undef vwprintf
-#undef vwscanf
-#undef wcrtomb
-#undef wcscat
-#undef wcschr
-#undef wcscmp
-#undef wcscoll
-#undef wcscpy
-#undef wcscspn
-#undef wcsftime
-#undef wcslen
-#undef wcsncat
-#undef wcsncmp
-#undef wcsncpy
-#undef wcspbrk
-#undef wcsrchr
-#undef wcsrtombs
-#undef wcsspn
-#undef wcsstr
-#undef wcstod
-#undef wcstof
-#undef wcstok
-#undef wcstol
-#undef wcstoul
-#undef wcsxfrm
-#undef wctob
-#undef wmemchr
-#undef wmemcmp
-#undef wmemcpy
-#undef wmemmove
-#undef wmemset
-#undef wprintf
-#undef wscanf
-
-#if _GLIBCPP_USE_WCHAR_T
-namespace std
-{
- using ::wint_t;
-
- using ::btowc;
- using ::fgetwc;
- using ::fgetws;
- using ::fputwc;
- using ::fputws;
- using ::fwide;
- using ::fwprintf;
- using ::fwscanf;
- using ::getwc;
- using ::getwchar;
- using ::mbrlen;
- using ::mbrtowc;
- using ::mbsinit;
- using ::mbsrtowcs;
- using ::putwc;
- using ::putwchar;
- using ::swprintf;
- using ::swscanf;
- using ::ungetwc;
- using ::vfwprintf;
- using ::vfwscanf;
- using ::vswprintf;
- using ::vswscanf;
- using ::vwprintf;
- using ::vwscanf;
- using ::wcrtomb;
- using ::wcscat;
- using ::wcscmp;
- using ::wcscoll;
- using ::wcscpy;
- using ::wcscspn;
- using ::wcsftime;
- using ::wcslen;
- using ::wcsncat;
- using ::wcsncmp;
- using ::wcsncpy;
- using ::wcsrtombs;
- using ::wcsspn;
- using ::wcstod;
- using ::wcstof;
- using ::wcstok;
- using ::wcstol;
- using ::wcstoul;
- using ::wcsxfrm;
- using ::wctob;
- using ::wmemcmp;
- using ::wmemcpy;
- using ::wmemmove;
- using ::wmemset;
- using ::wprintf;
- using ::wscanf;
-
- using ::wcschr;
-
- inline wchar_t*
- wcschr(wchar_t* __p, wchar_t __c)
- { return wcschr(const_cast<const wchar_t*>(__p), __c); }
-
- using ::wcspbrk;
-
- inline wchar_t*
- wcspbrk(wchar_t* __s1, wchar_t* __s2)
- { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
-
- using ::wcsrchr;
-
- inline wchar_t*
- wcsrchr(wchar_t* __p, wchar_t __c)
- { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
-
- using ::wcsstr;
-
- inline wchar_t*
- wcsstr(wchar_t* __s1, wchar_t* __s2)
- { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
-
- using ::wmemchr;
-
- inline wchar_t*
- wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
- { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
-}
-
-#if _GLIBCPP_USE_C99
-
-#undef wcstold
-#undef wcstoll
-#undef wcstoull
-
-namespace __gnu_cxx
-{
- using ::wcstold;
- using ::wcstoll;
- using ::wcstoull;
-}
-
-namespace std
-{
- using __gnu_cxx::wcstold;
- using __gnu_cxx::wcstoll;
- using __gnu_cxx::wcstoull;
-}
-#endif
-
-#endif //_GLIBCPP_USE_WCHAR_T
-
-#endif
+++ /dev/null
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction. Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License. This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-//
-// ISO C++ 14882: <cwctype>
-//
-
-#ifndef _CPP_CWCTYPE
-#define _CPP_CWCTYPE 1
-
-#pragma GCC system_header
-#include <wctype.h>
-
-// Get rid of those macros defined in <wctype.h> in lieu of real functions.
-#undef iswalnum
-#undef iswalpha
-#undef iswblank
-#undef iswcntrl
-#undef iswdigit
-#undef iswgraph
-#undef iswlower
-#undef iswprint
-#undef iswprint
-#undef iswpunct
-#undef iswspace
-#undef iswupper
-#undef iswxdigit
-#undef iswctype
-#undef towlower
-#undef towupper
-#undef towctrans
-#undef wctrans
-#undef wctype
-
-namespace std
-{
- using ::wint_t; // cwchar
-
- using ::wctype_t;
- using ::wctrans_t;
-
- using ::iswalnum;
- using ::iswalpha;
- using ::iswblank;
- using ::iswcntrl;
- using ::iswdigit;
- using ::iswgraph;
- using ::iswlower;
- using ::iswprint;
- using ::iswprint;
- using ::iswpunct;
- using ::iswspace;
- using ::iswupper;
- using ::iswxdigit;
- using ::iswctype;
- using ::towlower;
- using ::towupper;
- using ::towctrans;
- using ::wctrans;
- using ::wctype;
-}
-
-#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 19.2 Assertions
+//
+
+// No include guards on this header...
+
+#pragma GCC system_header
+#include <assert.h>
+
+
+
+
+
+
+
+
+
+
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: <ccytpe>
+//
+
+#ifndef _CPP_CCTYPE
+#define _CPP_CCTYPE 1
+
+#pragma GCC system_header
+#include <ctype.h>
+
+// Get rid of those macros defined in <ctype.h> in lieu of real functions.
+#undef isalnum
+#undef isalpha
+#undef iscntrl
+#undef isdigit
+#undef isgraph
+#undef islower
+#undef isprint
+#undef ispunct
+#undef isspace
+#undef isupper
+#undef isxdigit
+#undef tolower
+#undef toupper
+
+namespace std
+{
+ using ::isalnum;
+ using ::isalpha;
+ using ::iscntrl;
+ using ::isdigit;
+ using ::isgraph;
+ using ::islower;
+ using ::isprint;
+ using ::ispunct;
+ using ::isspace;
+ using ::isupper;
+ using ::isxdigit;
+ using ::tolower;
+ using ::toupper;
+}
+
+#endif
--- /dev/null
+// The -*- C++ -*- error number header.
+
+// Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 19.3 Error numbers
+//
+
+#ifndef _CPP_CERRNO
+#define _CPP_CERRNO 1
+
+#pragma GCC system_header
+#include <errno.h>
+
+// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
+#ifndef errno
+#define errno errno
+#endif
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 18.2.2 Implementation properties: C library
+//
+
+#ifndef _CPP_CFLOAT
+#define _CPP_CFLOAT 1
+
+#pragma GCC system_header
+#include <float.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+/** @file ciso646
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c iso646.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 18.2.2 Implementation properties: C library
+//
+
+#ifndef _CPP_CLIMITS
+#define _CPP_CLIMITS 1
+
+#pragma GCC system_header
+#include <limits.h>
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 18.2.2 Implementation properties: C library
+//
+
+#ifndef _CPP_CLOCALE
+#define _CPP_CLOCALE 1
+
+#pragma GCC system_header
+#include <locale.h>
+
+// Get rid of those macros defined in <locale.h> in lieu of real functions.
+#undef setlocale
+#undef localeconv
+
+namespace std
+{
+ using ::lconv;
+ using ::setlocale;
+ using ::localeconv;
+}
+
+#endif
--- /dev/null
+// -*- C++ -*- C math library.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 26.5 C library
+//
+
+#ifndef _CPP_CMATH
+#define _CPP_CMATH 1
+
+#include <bits/c++config.h>
+
+#pragma GCC system_header
+#include <math.h>
+
+// Get rid of those macros defined in <math.h> in lieu of real functions.
+#undef abs
+#undef div
+#undef acos
+#undef asin
+#undef atan
+#undef atan2
+#undef ceil
+#undef cos
+#undef cosh
+#undef exp
+#undef fabs
+#undef floor
+#undef fmod
+#undef frexp
+#undef ldexp
+#undef log
+#undef log10
+#undef modf
+#undef pow
+#undef sin
+#undef sinh
+#undef sqrt
+#undef tan
+#undef tanh
+
+namespace std
+{
+ // Forward declaration of a helper function. This really should be
+ // an `exported' forward declaration.
+ template<typename _Tp> _Tp __cmath_power(_Tp, unsigned int);
+
+ template<typename _Tp>
+ inline _Tp
+ __cmath_abs(_Tp __x)
+ {
+ return __x < _Tp() ? -__x : __x;
+ }
+
+ inline float
+ abs(float __x)
+ { return __builtin_fabsf(__x); }
+
+ inline double
+ abs(double __x)
+ { return __builtin_fabs(__x); }
+
+ inline long double
+ abs(long double __x)
+ { return __builtin_fabsl(__x); }
+
+#if _GLIBCPP_HAVE_ACOSF
+ inline float
+ acos(float __x) { return ::acosf(__x); }
+#else
+ inline float
+ acos(float __x) { return ::acos(static_cast<double>(__x)); }
+#endif
+
+ using ::acos;
+
+#if _GLIBCPP_HAVE_ACOSL
+ inline long double
+ acos(long double __x) { return ::acosl(__x); }
+#else
+ inline long double
+ acos(long double __x) { return ::acos(static_cast<double>(__x)); }
+#endif
+
+#if _GLIBCPP_HAVE_ASINF
+ inline float
+ asin(float __x) { return ::asinf(__x); }
+#else
+ inline float
+ asin(float __x) { return ::asin(static_cast<double>(__x)); }
+#endif
+
+ using ::asin;
+
+#if _GLIBCPP_HAVE_ASINL
+ inline long double
+ asin(long double __x) { return ::asinl(__x); }
+#else
+ inline long double
+ asin(long double __x) { return ::asin(static_cast<double>(__x)); }
+#endif
+
+#if _GLIBCPP_HAVE_ATANF
+ inline float
+ atan(float __x) { return ::atanf(__x); }
+#else
+ inline float
+ atan(float __x) { return ::atan(static_cast<double>(__x)); }
+#endif
+
+ using ::atan;
+
+#if _GLIBCPP_HAVE_ATANL
+ inline long double
+ atan(long double __x) { return ::atanl(__x); }
+#else
+ inline long double
+ atan(long double __x) { return ::atan(static_cast<double>(__x)); }
+#endif
+
+#if _GLIBCPP_HAVE_ATAN2F
+ inline float
+ atan2(float __y, float __x) { return ::atan2f(__y, __x); }
+#else
+ inline float
+ atan2(float __y, float __x)
+ { return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); }
+#endif
+
+ using ::atan2;
+
+#if _GLIBCPP_HAVE_ATAN2L
+ inline long double
+ atan2(long double __y, long double __x) { return ::atan2l(__y, __x); }
+#else
+ inline long double
+ atan2(long double __y, long double __x)
+ { return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); }
+#endif
+
+#if _GLIBCPP_HAVE_CEILF
+ inline float
+ ceil(float __x) { return ::ceilf(__x); }
+#else
+ inline float
+ ceil(float __x) { return ::ceil(static_cast<double>(__x)); }
+#endif
+
+ using ::ceil;
+
+#if _GLIBCPP_HAVE_CEILL
+ inline long double
+ ceil(long double __x) { return ::ceill(__x); }
+#else
+ inline long double
+ ceil(long double __x) { return ::ceil(static_cast<double>(__x)); }
+#endif
+
+ inline float
+ cos(float __x)
+ { return __builtin_cosf(__x); }
+
+ using ::cos;
+
+ inline long double
+ cos(long double __x)
+ { return __builtin_cosl(__x); }
+
+#if _GLIBCPP_HAVE_COSHF
+ inline float
+ cosh(float __x) { return ::coshf(__x); }
+#else
+ inline float
+ cosh(float __x) { return ::cosh(static_cast<double>(__x)); }
+#endif
+
+ using ::cosh;
+
+#if _GLIBCPP_HAVE_COSHL
+ inline long double
+ cosh(long double __x) { return ::coshl(__x); }
+#else
+ inline long double
+ cosh(long double __x) { return ::cosh(static_cast<double>(__x)); }
+#endif
+
+#if _GLIBCPP_HAVE_EXPF
+ inline float
+ exp(float __x) { return ::expf(__x); }
+#else
+ inline float
+ exp(float __x) { return ::exp(static_cast<double>(__x)); }
+#endif
+
+ using ::exp;
+
+#if _GLIBCPP_HAVE_EXPL
+ inline long double
+ exp(long double __x) { return ::expl(__x); }
+#else
+ inline long double
+ exp(long double __x) { return ::exp(static_cast<double>(__x)); }
+#endif
+
+ inline float
+ fabs(float __x)
+ { return __builtin_fabsf(__x); }
+
+ using ::fabs;
+
+ inline long double
+ fabs(long double __x)
+ { return __builtin_fabsl(__x); }
+
+#if _GLIBCPP_HAVE_FLOORF
+ inline float
+ floor(float __x) { return ::floorf(__x); }
+#else
+ inline float
+ floor(float __x) { return ::floor(static_cast<double>(__x)); }
+#endif
+
+ using ::floor;
+
+#if _GLIBCPP_HAVE_FLOORL
+ inline long double
+ floor(long double __x) { return ::floorl(__x); }
+#else
+ inline long double
+ floor(long double __x) { return ::floor(static_cast<double>(__x)); }
+#endif
+
+#if _GLIBCPP_HAVE_FMODF
+ inline float
+ fmod(float __x, float __y) { return ::fmodf(__x, __y); }
+#else
+ inline float
+ fmod(float __x, float __y)
+ { return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); }
+#endif
+
+ using ::fmod;
+
+#if _GLIBCPP_HAVE_FMODL
+ inline long double
+ fmod(long double __x, long double __y) { return ::fmodl(__x, __y); }
+#else
+ inline long double
+ fmod(long double __x, long double __y)
+ { return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); }
+#endif
+
+#if _GLIBCPP_HAVE_FREXPF
+ inline float
+ frexp(float __x, int* __exp) { return ::frexpf(__x, __exp); }
+#else
+ inline float
+ frexp(float __x, int* __exp) { return ::frexp(__x, __exp); }
+#endif
+
+ using ::frexp;
+
+#if _GLIBCPP_HAVE_FREXPL
+ inline long double
+ frexp(long double __x, int* __exp) { return ::frexpl(__x, __exp); }
+#else
+ inline long double
+ frexp(long double __x, int* __exp)
+ { return ::frexp(static_cast<double>(__x), __exp); }
+#endif
+
+#if _GLIBCPP_HAVE_LDEXPF
+ inline float
+ ldexp(float __x, int __exp) { return ::ldexpf(__x, __exp); }
+#else
+ inline float
+ ldexp(float __x, int __exp)
+ { return ::ldexp(static_cast<double>(__x), __exp); }
+#endif
+
+ using ::ldexp;
+
+#if _GLIBCPP_HAVE_LDEXPL
+ inline long double
+ ldexp(long double __x, int __exp) { return ::ldexpl(__x, __exp); }
+#else
+ inline long double
+ ldexp(long double __x, int __exp)
+ { return ::ldexp(static_cast<double>(__x), __exp); }
+#endif
+
+#if _GLIBCPP_HAVE_LOGF
+ inline float
+ log(float __x) { return ::logf(__x); }
+#else
+ inline float log(float __x)
+ { return ::log(static_cast<double>(__x)); }
+#endif
+
+ using ::log;
+
+#if _GLIBCPP_HAVE_LOGL
+ inline long double
+ log(long double __x) { return ::logl(__x); }
+#else
+ inline long double
+ log(long double __x) { return ::log(static_cast<double>(__x)); }
+#endif
+
+#if _GLIBCPP_HAVE_LOG10F
+ inline float
+ log10(float __x) { return ::log10f(__x); }
+#else
+ inline float
+ log10(float __x) { return ::log10(static_cast<double>(__x)); }
+#endif
+
+ using ::log10;
+
+#if _GLIBCPP_HAVE_LOG10L
+ inline long double
+ log10(long double __x) { return ::log10l(__x); }
+#else
+ inline long double
+ log10(long double __x) { return ::log10(static_cast<double>(__x)); }
+#endif
+
+#if _GLIBCPP_HAVE_MODFF
+ inline float
+ modf(float __x, float* __iptr) { return ::modff(__x, __iptr); }
+#else
+ inline float
+ modf(float __x, float* __iptr)
+ {
+ double __tmp;
+ double __res = ::modf(static_cast<double>(__x), &__tmp);
+ *__iptr = static_cast<float>(__tmp);
+ return __res;
+ }
+#endif
+
+ using ::modf;
+
+#if _GLIBCPP_HAVE_MODFL
+ inline long double
+ modf(long double __x, long double* __iptr) { return ::modfl(__x, __iptr); }
+#else
+ inline long double
+ modf(long double __x, long double* __iptr)
+ {
+ double __tmp;
+ double __res = ::modf(static_cast<double>(__x), &__tmp);
+ * __iptr = static_cast<long double>(__tmp);
+ return __res;
+ }
+#endif
+
+ template<typename _Tp>
+ inline _Tp
+ __pow_helper(_Tp __x, int __n)
+ {
+ return __n < 0
+ ? _Tp(1)/__cmath_power(__x, -__n)
+ : __cmath_power(__x, __n);
+ }
+
+#if _GLIBCPP_HAVE_POWF
+ inline float
+ pow(float __x, float __y) { return ::powf(__x, __y); }
+#else
+ inline float
+ pow(float __x, float __y)
+ { return ::pow(static_cast<double>(__x), static_cast<double>(__y)); }
+#endif
+
+ using ::pow;
+
+#if _GLIBCPP_HAVE_POWL
+ inline long double
+ pow(long double __x, long double __y) { return ::powl(__x, __y); }
+#else
+ inline long double
+ pow(long double __x, long double __y)
+ { return ::pow(static_cast<double>(__x), static_cast<double>(__y)); }
+#endif
+
+ inline float
+ pow(float __x, int __n)
+ { return __pow_helper(__x, __n); }
+
+ inline double
+ pow(double __x, int __i)
+ { return __pow_helper(__x, __i); }
+
+ inline long double
+ pow(long double __x, int __n)
+ { return __pow_helper(__x, __n); }
+
+ inline float
+ sin(float __x)
+ { return __builtin_sinf(__x); }
+
+ using ::sin;
+
+ inline long double
+ sin(long double __x)
+ { return __builtin_sinl(__x); }
+
+#if _GLIBCPP_HAVE_SINHF
+ inline float
+ sinh(float __x) { return ::sinhf(__x); }
+#else
+ inline float
+ sinh(float __x) { return ::sinh(static_cast<double>(__x)); }
+#endif
+
+ using ::sinh;
+
+#if _GLIBCPP_HAVE_SINHL
+ inline long double
+ sinh(long double __x) { return ::sinhl(__x); }
+#else
+ inline long double
+ sinh(long double __x) { return ::sinh(static_cast<double>(__x)); }
+#endif
+
+ inline float
+ sqrt(float __x)
+ { return __builtin_sqrtf(__x); }
+
+ using ::sqrt;
+
+ inline long double
+ sqrt(long double __x)
+ { return __builtin_sqrtl(__x); }
+
+#if _GLIBCPP_HAVE_TANF
+ inline float
+ tan(float __x) { return ::tanf(__x); }
+#else
+ inline float
+ tan(float __x) { return ::tan(static_cast<double>(__x)); }
+#endif
+
+ using ::tan;
+
+#if _GLIBCPP_HAVE_TANL
+ inline long double
+ tan(long double __x) { return ::tanl(__x); }
+#else
+ inline long double
+ tan(long double __x) { return ::tan(static_cast<double>(__x)); }
+#endif
+
+#if _GLIBCPP_HAVE_TANHF
+ inline float
+ tanh(float __x) { return ::tanhf(__x); }
+#else
+ inline float
+ tanh(float __x) { return ::tanh(static_cast<double>(__x)); }
+#endif
+
+ using ::tanh;
+
+#if _GLIBCPP_HAVE_TANHL
+ inline long double
+ tanh(long double __x) { return ::tanhl(__x); }
+#else
+ inline long double
+ tanh(long double __x) { return ::tanh(static_cast<double>(__x)); }
+#endif
+}
+
+
+#if _GLIBCPP_USE_C99
+// These are possible macros imported from C99-land. For strict
+// conformance, remove possible C99-injected names from the global
+// namespace, and sequester them in the __gnu_cxx extension namespace.
+namespace __gnu_cxx
+{
+ template<typename _Tp>
+ int
+ __capture_fpclassify(_Tp __f) { return fpclassify(__f); }
+
+ template<typename _Tp>
+ int
+ __capture_isfinite(_Tp __f) { return isfinite(__f); }
+
+ template<typename _Tp>
+ int
+ __capture_isinf(_Tp __f) { return isinf(__f); }
+
+ template<typename _Tp>
+ int
+ __capture_isnan(_Tp __f) { return isnan(__f); }
+
+ template<typename _Tp>
+ int
+ __capture_isnormal(_Tp __f) { return isnormal(__f); }
+
+ template<typename _Tp>
+ int
+ __capture_signbit(_Tp __f) { return signbit(__f); }
+
+ template<typename _Tp>
+ int
+ __capture_isgreater(_Tp __f1, _Tp __f2)
+ { return isgreater(__f1, __f2); }
+
+ template<typename _Tp>
+ int
+ __capture_isgreaterequal(_Tp __f1, _Tp __f2)
+ { return isgreaterequal(__f1, __f2); }
+
+ template<typename _Tp>
+ int
+ __capture_isless(_Tp __f1, _Tp __f2) { return isless(__f1, __f2); }
+
+ template<typename _Tp>
+ int
+ __capture_islessequal(_Tp __f1, _Tp __f2)
+ { return islessequal(__f1, __f2); }
+
+ template<typename _Tp>
+ int
+ __capture_islessgreater(_Tp __f1, _Tp __f2)
+ { return islessgreater(__f1, __f2); }
+
+ template<typename _Tp>
+ int
+ __capture_isunordered(_Tp __f1, _Tp __f2)
+ { return isunordered(__f1, __f2); }
+}
+#endif
+
+#undef fpclassify
+#undef isfinite
+#undef isinf
+#undef isnan
+#undef isnormal
+#undef signbit
+#undef isgreater
+#undef isgreaterequal
+#undef isless
+#undef islessequal
+#undef islessgreater
+#undef isunordered
+
+#if _GLIBCPP_USE_C99
+namespace __gnu_cxx
+{
+ template<typename _Tp>
+ int
+ fpclassify(_Tp __f) { return __capture_fpclassify(__f); }
+
+ template<typename _Tp>
+ int
+ isfinite(_Tp __f) { return __capture_isfinite(__f); }
+
+ template<typename _Tp>
+ int
+ isinf(_Tp __f) { return __capture_isinf(__f); }
+
+ template<typename _Tp>
+ int
+ isnan(_Tp __f) { return __capture_isnan(__f); }
+
+ template<typename _Tp>
+ int
+ isnormal(_Tp __f) { return __capture_isnormal(__f); }
+
+ template<typename _Tp>
+ int
+ signbit(_Tp __f) { return __capture_signbit(__f); }
+
+ template<typename _Tp>
+ int
+ isgreater(_Tp __f1, _Tp __f2) { return __capture_isgreater(__f1, __f2); }
+
+ template<typename _Tp>
+ int
+ isgreaterequal(_Tp __f1, _Tp __f2)
+ { return __capture_isgreaterequal(__f1, __f2); }
+
+ template<typename _Tp>
+ int
+ isless(_Tp __f1, _Tp __f2) { return __capture_isless(__f1, __f2); }
+
+ template<typename _Tp>
+ int
+ islessequal(_Tp __f1, _Tp __f2)
+ { return __capture_islessequal(__f1, __f2); }
+
+ template<typename _Tp>
+ int
+ islessgreater(_Tp __f1, _Tp __f2)
+ { return __capture_islessgreater(__f1, __f2); }
+
+ template<typename _Tp>
+ int
+ isunordered(_Tp __f1, _Tp __f2)
+ { return __capture_isunordered(__f1, __f2); }
+}
+
+namespace std
+{
+ using __gnu_cxx::fpclassify;
+ using __gnu_cxx::isfinite;
+ using __gnu_cxx::isinf;
+ using __gnu_cxx::isnan;
+ using __gnu_cxx::isnormal;
+ using __gnu_cxx::signbit;
+ using __gnu_cxx::isgreater;
+ using __gnu_cxx::isgreaterequal;
+ using __gnu_cxx::isless;
+ using __gnu_cxx::islessequal;
+ using __gnu_cxx::islessgreater;
+ using __gnu_cxx::isunordered;
+}
+#endif
+
+#ifdef _GLIBCPP_NO_TEMPLATE_EXPORT
+# define export
+# include <cmath.tcc>
+#endif
+
+#endif
+
+
+
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 20.4.6 C library
+//
+
+#ifndef _CPP_CSETJMP
+#define _CPP_CSETJMP 1
+
+#pragma GCC system_header
+#include <setjmp.h>
+
+// Get rid of those macros defined in <setjmp.h> in lieu of real functions.
+#undef longjmp
+
+// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
+#ifndef setjmp
+#define setjmp(env) setjmp (env)
+#endif
+
+namespace std
+{
+ using ::jmp_buf;
+ using ::longjmp;
+}
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 20.4.6 C library
+//
+
+#ifndef _CPP_CSIGNAL
+#define _CPP_CSIGNAL 1
+
+#pragma GCC system_header
+#include <signal.h>
+
+// Get rid of those macros defined in <signal.h> in lieu of real functions.
+#undef raise
+
+namespace std
+{
+ using ::sig_atomic_t;
+ using ::signal;
+ using ::raise;
+}
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 20.4.6 C library
+//
+
+#ifndef _CPP_CSTDARG
+#define _CPP_CSTDARG 1
+
+#pragma GCC system_header
+#include <stdarg.h>
+
+// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
+#ifndef va_end
+#define va_end(ap) va_end (ap)
+#endif
+
+namespace std
+{
+ using ::va_list;
+}
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// 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.
+
+//
+// ISO C++ 14882: 18.1 Types
+//
+
+#ifndef _CPP_CSTDDEF
+#define _CPP_CSTDDEF 1
+
+#pragma GCC system_header
+#include <stddef.h>
+
+namespace std
+{
+ using ::ptrdiff_t;
+ using ::size_t;
+}
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 27.8.2 C Library files
+//
+
+#ifndef _CPP_CSTDIO
+#define _CPP_CSTDIO 1
+
+#include <bits/c++config.h>
+#include <cstddef>
+
+#pragma GCC system_header
+#include <stdio.h>
+
+// Get rid of those macros defined in <stdio.h> in lieu of real functions.
+#undef clearerr
+#undef fclose
+#undef feof
+#undef ferror
+#undef fflush
+#undef fgetc
+#undef fgetpos
+#undef fgets
+#undef fopen
+#undef fprintf
+#undef fputc
+#undef fputs
+#undef fread
+#undef freopen
+#undef fscanf
+#undef fseek
+#undef fsetpos
+#undef ftell
+#undef fwrite
+#undef getc
+#undef getchar
+#undef gets
+#undef perror
+#undef printf
+#undef putc
+#undef putchar
+#undef puts
+#undef remove
+#undef rename
+#undef rewind
+#undef scanf
+#undef setbuf
+#undef setvbuf
+#undef sprintf
+#undef sscanf
+#undef tmpfile
+#undef tmpnam
+#undef ungetc
+#undef vfprintf
+#undef vprintf
+#undef vsprintf
+
+namespace std
+{
+ using ::FILE;
+ using ::fpos_t;
+
+ using ::clearerr;
+ using ::fclose;
+ using ::feof;
+ using ::ferror;
+ using ::fflush;
+ using ::fgetc;
+ using ::fgetpos;
+ using ::fgets;
+ using ::fopen;
+ using ::fprintf;
+ using ::fputc;
+ using ::fputs;
+ using ::fread;
+ using ::freopen;
+ using ::fscanf;
+ using ::fseek;
+ using ::fsetpos;
+ using ::ftell;
+ using ::fwrite;
+ using ::getc;
+ using ::getchar;
+ using ::gets;
+ using ::perror;
+ using ::printf;
+ using ::putc;
+ using ::putchar;
+ using ::puts;
+ using ::remove;
+ using ::rename;
+ using ::rewind;
+ using ::scanf;
+ using ::setbuf;
+ using ::setvbuf;
+ using ::sprintf;
+ using ::sscanf;
+ using ::tmpfile;
+ using ::tmpnam;
+ using ::ungetc;
+ using ::vfprintf;
+ using ::vprintf;
+ using ::vsprintf;
+}
+
+#if _GLIBCPP_USE_C99
+
+#undef snprintf
+#undef vfscanf
+#undef vscanf
+#undef vsnprintf
+#undef vsscanf
+
+namespace __gnu_cxx
+{
+ using ::snprintf;
+ using ::vfscanf;
+ using ::vscanf;
+ using ::vsnprintf;
+ using ::vsscanf;
+}
+
+namespace std
+{
+ using __gnu_cxx::snprintf;
+ using __gnu_cxx::vfscanf;
+ using __gnu_cxx::vscanf;
+ using __gnu_cxx::vsnprintf;
+ using __gnu_cxx::vsscanf;
+}
+#endif
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 20.4.6 C library
+//
+
+#ifndef _CPP_CSTDLIB
+#define _CPP_CSTDLIB 1
+
+#include <bits/c++config.h>
+#include <cstddef>
+
+#pragma GCC system_header
+#include <stdlib.h>
+
+// Get rid of those macros defined in <stdlib.h> in lieu of real functions.
+#undef abort
+#undef abs
+#undef atexit
+#undef atof
+#undef atoi
+#undef atol
+#undef bsearch
+#undef calloc
+#undef div
+#undef exit
+#undef free
+#undef getenv
+#undef labs
+#undef ldiv
+#undef malloc
+#undef mblen
+#undef mbstowcs
+#undef mbtowc
+#undef qsort
+#undef rand
+#undef realloc
+#undef srand
+#undef strtod
+#undef strtol
+#undef strtoul
+#undef system
+#undef wcstombs
+#undef wctomb
+
+namespace std
+{
+ using ::div_t;
+ using ::ldiv_t;
+
+ using ::abort;
+ using ::abs;
+ using ::atexit;
+ using ::atof;
+ using ::atoi;
+ using ::atol;
+ using ::bsearch;
+ using ::calloc;
+ using ::div;
+ using ::exit;
+ using ::free;
+ using ::getenv;
+ using ::labs;
+ using ::ldiv;
+ using ::malloc;
+ using ::mblen;
+ using ::mbstowcs;
+ using ::mbtowc;
+ using ::qsort;
+ using ::rand;
+ using ::realloc;
+ using ::srand;
+ using ::strtod;
+ using ::strtol;
+ using ::strtoul;
+ using ::system;
+ using ::wcstombs;
+ using ::wctomb;
+
+ inline long
+ abs(long __i) { return labs(__i); }
+
+ inline ldiv_t
+ div(long __i, long __j) { return ldiv(__i, __j); }
+}
+
+#if _GLIBCPP_USE_C99
+
+#undef _Exit
+#undef llabs
+#undef lldiv
+#undef atoll
+#undef strtoll
+#undef strtoull
+#undef strtof
+#undef strtold
+
+namespace __gnu_cxx
+{
+ using ::lldiv_t;
+ using ::_Exit;
+
+ inline long long
+ abs(long long __x) { return __x >= 0 ? __x : -__x; }
+
+ inline long long
+ llabs(long long __x) { return __x >= 0 ? __x : -__x; }
+
+ inline lldiv_t
+ div(long long __n, long long __d)
+ { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
+
+ inline lldiv_t
+ lldiv(long long __n, long long __d)
+ { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
+
+ using ::atoll;
+ using ::strtof;
+ using ::strtoll;
+ using ::strtoull;
+ using ::strtold;
+}
+
+namespace std
+{
+ using __gnu_cxx::lldiv_t;
+ using __gnu_cxx::_Exit;
+ using __gnu_cxx::abs;
+ using __gnu_cxx::llabs;
+ using __gnu_cxx::div;
+ using __gnu_cxx::lldiv;
+ using __gnu_cxx::atoll;
+ using __gnu_cxx::strtof;
+ using __gnu_cxx::strtoll;
+ using __gnu_cxx::strtoull;
+ using __gnu_cxx::strtold;
+}
+#endif
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 20.4.6 C library
+//
+
+#ifndef _CPP_CSTRING
+#define _CPP_CSTRING 1
+
+#include <cstddef>
+
+#pragma GCC system_header
+#include <string.h>
+
+// Get rid of those macros defined in <string.h> in lieu of real functions.
+#undef memcpy
+#undef memmove
+#undef strcpy
+#undef strncpy
+#undef strcat
+#undef strncat
+#undef memcmp
+#undef strcmp
+#undef strcoll
+#undef strncmp
+#undef strxfrm
+#undef memchr
+#undef strchr
+#undef strcspn
+#undef strpbrk
+#undef strrchr
+#undef strspn
+#undef strstr
+#undef strtok
+#undef memset
+#undef strerror
+#undef strlen
+
+namespace std
+{
+ using ::memcpy;
+ using ::memmove;
+ using ::strcpy;
+ using ::strncpy;
+ using ::strcat;
+ using ::strncat;
+ using ::memcmp;
+ using ::strcmp;
+ using ::strcoll;
+ using ::strncmp;
+ using ::strxfrm;
+ using ::strcspn;
+ using ::strspn;
+ using ::strtok;
+ using ::memset;
+ using ::strerror;
+ using ::strlen;
+
+ using ::memchr;
+
+ inline void*
+ memchr(void* __p, int __c, size_t __n)
+ { return memchr(const_cast<const void*>(__p), __c, __n); }
+
+ using ::strchr;
+
+ inline char*
+ strchr(char* __s1, int __n)
+ { return __builtin_strchr(const_cast<const char*>(__s1), __n); }
+
+ using ::strpbrk;
+
+ inline char*
+ strpbrk(char* __s1, const char* __s2)
+ { return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); }
+
+ using ::strrchr;
+
+ inline char*
+ strrchr(char* __s1, int __n)
+ { return __builtin_strrchr(const_cast<const char*>(__s1), __n); }
+
+ using ::strstr;
+
+ inline char*
+ strstr(char* __s1, const char* __s2)
+ { return __builtin_strstr(const_cast<const char*>(__s1), __s2); }
+}
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 20.5 Date and time
+//
+
+#ifndef _CPP_CTIME
+#define _CPP_CTIME 1
+
+#include <cstddef>
+
+#pragma GCC system_header
+#include <time.h>
+
+// Get rid of those macros defined in <time.h> in lieu of real functions.
+#undef clock
+#undef difftime
+#undef mktime
+#undef time
+#undef asctime
+#undef ctime
+#undef gmtime
+#undef localtime
+#undef strftime
+
+namespace std
+{
+ using ::clock_t;
+ using ::time_t;
+ using ::tm;
+
+ using ::clock;
+ using ::difftime;
+ using ::mktime;
+ using ::time;
+ using ::asctime;
+ using ::ctime;
+ using ::gmtime;
+ using ::localtime;
+ using ::strftime;
+}
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 21.4
+//
+
+#ifndef _CPP_CWCHAR
+#define _CPP_CWCHAR 1
+
+#include <bits/c++config.h>
+#include <cstddef>
+#include <ctime>
+
+#if _GLIBCPP_HAVE_WCHAR_H
+#pragma GCC system_header
+#include <wchar.h>
+#endif
+
+// Need to do a bit of trickery here with mbstate_t as char_traits
+// assumes it is in wchar.h, regardless of wchar_t specializations.
+#ifndef _GLIBCPP_HAVE_MBSTATE_T
+extern "C"
+{
+ typedef struct
+ {
+ int __fill[6];
+ } mbstate_t;
+}
+#endif
+
+namespace std
+{
+ using ::mbstate_t;
+}
+
+// Get rid of those macros defined in <wchar.h> in lieu of real functions.
+#undef btowc
+#undef fgetwc
+#undef fgetws
+#undef fputwc
+#undef fputws
+#undef fwide
+#undef fwprintf
+#undef fwscanf
+#undef getwc
+#undef getwchar
+#undef mbrlen
+#undef mbrtowc
+#undef mbsinit
+#undef mbsrtowcs
+#undef putwc
+#undef putwchar
+#undef swprintf
+#undef swscanf
+#undef ungetwc
+#undef vfwprintf
+#undef vfwscanf
+#undef vswprintf
+#undef vswscanf
+#undef vwprintf
+#undef vwscanf
+#undef wcrtomb
+#undef wcscat
+#undef wcschr
+#undef wcscmp
+#undef wcscoll
+#undef wcscpy
+#undef wcscspn
+#undef wcsftime
+#undef wcslen
+#undef wcsncat
+#undef wcsncmp
+#undef wcsncpy
+#undef wcspbrk
+#undef wcsrchr
+#undef wcsrtombs
+#undef wcsspn
+#undef wcsstr
+#undef wcstod
+#undef wcstof
+#undef wcstok
+#undef wcstol
+#undef wcstoul
+#undef wcsxfrm
+#undef wctob
+#undef wmemchr
+#undef wmemcmp
+#undef wmemcpy
+#undef wmemmove
+#undef wmemset
+#undef wprintf
+#undef wscanf
+
+#if _GLIBCPP_USE_WCHAR_T
+namespace std
+{
+ using ::wint_t;
+
+ using ::btowc;
+ using ::fgetwc;
+ using ::fgetws;
+ using ::fputwc;
+ using ::fputws;
+ using ::fwide;
+ using ::fwprintf;
+ using ::fwscanf;
+ using ::getwc;
+ using ::getwchar;
+ using ::mbrlen;
+ using ::mbrtowc;
+ using ::mbsinit;
+ using ::mbsrtowcs;
+ using ::putwc;
+ using ::putwchar;
+ using ::swprintf;
+ using ::swscanf;
+ using ::ungetwc;
+ using ::vfwprintf;
+ using ::vfwscanf;
+ using ::vswprintf;
+ using ::vswscanf;
+ using ::vwprintf;
+ using ::vwscanf;
+ using ::wcrtomb;
+ using ::wcscat;
+ using ::wcscmp;
+ using ::wcscoll;
+ using ::wcscpy;
+ using ::wcscspn;
+ using ::wcsftime;
+ using ::wcslen;
+ using ::wcsncat;
+ using ::wcsncmp;
+ using ::wcsncpy;
+ using ::wcsrtombs;
+ using ::wcsspn;
+ using ::wcstod;
+ using ::wcstof;
+ using ::wcstok;
+ using ::wcstol;
+ using ::wcstoul;
+ using ::wcsxfrm;
+ using ::wctob;
+ using ::wmemcmp;
+ using ::wmemcpy;
+ using ::wmemmove;
+ using ::wmemset;
+ using ::wprintf;
+ using ::wscanf;
+
+ using ::wcschr;
+
+ inline wchar_t*
+ wcschr(wchar_t* __p, wchar_t __c)
+ { return wcschr(const_cast<const wchar_t*>(__p), __c); }
+
+ using ::wcspbrk;
+
+ inline wchar_t*
+ wcspbrk(wchar_t* __s1, wchar_t* __s2)
+ { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
+
+ using ::wcsrchr;
+
+ inline wchar_t*
+ wcsrchr(wchar_t* __p, wchar_t __c)
+ { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
+
+ using ::wcsstr;
+
+ inline wchar_t*
+ wcsstr(wchar_t* __s1, wchar_t* __s2)
+ { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
+
+ using ::wmemchr;
+
+ inline wchar_t*
+ wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
+ { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
+}
+
+#if _GLIBCPP_USE_C99
+
+#undef wcstold
+#undef wcstoll
+#undef wcstoull
+
+namespace __gnu_cxx
+{
+ using ::wcstold;
+ using ::wcstoll;
+ using ::wcstoull;
+}
+
+namespace std
+{
+ using __gnu_cxx::wcstold;
+ using __gnu_cxx::wcstoll;
+ using __gnu_cxx::wcstoull;
+}
+#endif
+
+#endif //_GLIBCPP_USE_WCHAR_T
+
+#endif
--- /dev/null
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: <cwctype>
+//
+
+#ifndef _CPP_CWCTYPE
+#define _CPP_CWCTYPE 1
+
+#pragma GCC system_header
+#include <wctype.h>
+
+// Get rid of those macros defined in <wctype.h> in lieu of real functions.
+#undef iswalnum
+#undef iswalpha
+#undef iswblank
+#undef iswcntrl
+#undef iswdigit
+#undef iswgraph
+#undef iswlower
+#undef iswprint
+#undef iswprint
+#undef iswpunct
+#undef iswspace
+#undef iswupper
+#undef iswxdigit
+#undef iswctype
+#undef towlower
+#undef towupper
+#undef towctrans
+#undef wctrans
+#undef wctype
+
+namespace std
+{
+ using ::wint_t; // cwchar
+
+ using ::wctype_t;
+ using ::wctrans_t;
+
+ using ::iswalnum;
+ using ::iswalpha;
+ using ::iswblank;
+ using ::iswcntrl;
+ using ::iswdigit;
+ using ::iswgraph;
+ using ::iswlower;
+ using ::iswprint;
+ using ::iswprint;
+ using ::iswpunct;
+ using ::iswspace;
+ using ::iswupper;
+ using ::iswxdigit;
+ using ::iswctype;
+ using ::towlower;
+ using ::towupper;
+ using ::towctrans;
+ using ::wctrans;
+ using ::wctype;
+}
+
+#endif