Preliminary named locales.
authorBenjamin Kosnik <bkoz@gcc.gnu.org>
Tue, 30 Jan 2001 09:18:51 +0000 (09:18 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Tue, 30 Jan 2001 09:18:51 +0000 (09:18 +0000)
2001-01-29  Benjamin Kosnik  <bkoz@redhat.com>

Preliminary named locales.
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): New macro.
* aclocal.m4: Regenerate.
* configure.in: Use it.
* configure: Regerate.
* src/Makefile.am (sources): Add c++locale.cc.
(build_headers): Add c++locale.h.
* src/Makefile.in: Regenerate.
* config/c_locale_gnu.h: New file.
* config/c_locale_gnu.cc: New file. Non-inline member functions
for named locales, gnu-specific.
* config/c_locale_generic.h: New file.
* config/c_locale_generic.cc: New file. Non-inline member
functions for named locales, generic version.
* docs/html/configopts.html: Add documentation on new options.

* include/bits/locale_facets.h (class _Messages): Remove.
(class _Moneypunct): Remove.
* src/locale-inst.cc: Remove.

* include/bits/locale_facets.h (class _Collate): Remove.
* src/locale-inst.cc (std): Remove.
* src/locale.cc: And here.

* include/bits/localefwd.h (locale::_M_coalesce): New
function. Correctly put together multi-name locales.
(_Impl(const _Impl&, category, size_t)): Remove.

* include/bits/localefwd.h (locale::_Impl): Remove _M_construct_*
member functions.
(_M_normalize_category_names): Remove.
(_M_replace_categories): Fix.

* src/localename.cc (locale::_Impl::_M_construct_collate): Remove.
(locale::_Impl::_M_construct_ctype): Remove.
(locale::_Impl::_M_construct_monetary): Remove.
(locale::_Impl::_M_construct_numeric): Remove.
(locale::_Impl::_M_construct_time): Remove.
(locale::_Impl::_M_construct_messages): Remove.

* include/bits/locale_facets.h (_Bad_use_facet): Remove.
(_Use_facet_failure_handle): Remove.
* src/locale.cc: Remove definitions.
* src/locale-inst.cc: And here.

* testsuite/22_locale/ctor_copy_dtor.cc (test01): Fixup. Add tests.

* src/localename.cc (locale::facet::_S_create_c_locale): Properly
create and error-check underlying locale object.
(locale::facet::_S_destroy_c_locale): Add, take care of properly
tearing down underlying locale object.
* include/bits/localefwd.h (locale::facet): Declare.
* testsuite/22_locale/members.cc: Don't test "fr_FR" locale for
correctness, as glibc apparently has incorrect info in it. Test
with it when it works again.....

* include/bits/localefwd.h (locale::_Impl::__vec_string):
Remove. Number of categories is fixed at six, so just simplify and
make this an array of strings.
(locale::_Impl::_M_has_name): Remove.
(locale::_Impl::_M_name): Remove.
(locale::_Impl::_M_category_names): Turns into...
(locale::_Impl::_M_names): ...this.
(locale::_Impl::_M_has_same_name()): New function.
* src/localename.cc (locale::_Impl::~_Impl()): Remove here.
(locale::_Impl::_Impl(size_t __refs, string __str)): Simplify
signature.
* src/locale.cc (locale::name()): Construct mangled name
accurately reflecting combined locale categories.

* src/locale.cc (locale::classic()): Don't initialize here.
* src/localename.cc (locale::_Impl::_Impl(size_t __num, size_t
__refs, bool __has_name, string __str): Do it here.

* include/bits/localefwd.h: _S_categories_num to
_S_num_categories. _S_facets_num to _S_num_facets.
(locale::id::id()): Explicitly set _M_index to zero.
* src/locale.cc: Same.

* src/locale.cc: (locale::locale(const char*)): Construct named
locales uniquely.

* src/locale.cc: Remove numpunct_byname ctors.
* testsuite/22_locale/numpunct_byname.cc: New file.
* testsuite/22_locale/numpunct.cc: New file.

* include/bits/localefwd.h (class locale): Change data members to
protected, from private.
(_Impl::_M_get_c_locale): Add member function.
(locale::facet::_M_get_global_impl()): Add member function.
* include/bits/locale_facets.h (numpunct::_M_init): Change to take
a __c_locale pointer.
(numpunct::numpunct( __c_locale*, size_t)): Add additonal ctor for
named locales.
* testsuite/22_locale/members.cc: New file, test name and combine.

* include/bits/locale_facets.h (class numpunct): Remove class
_Punct and _Numpunct. Rewrite class numpunct to be correct for
named locales.
* include/bits/localefwd.h (locale::_Imp::_M_c_locale): Add.
* src/localename.cc (_Impl::~_Impl()): Call __frelocale.
(_Imp::_Impl(size_t, size_t, bool, string)) Initialize _M_c_locale.
* src/locale-inst.cc: Remove _Numpunct, _Punct instantiations.
* testsuite/22_locale/numpunct_char_members.cc: New file.

From-SVN: r39347

29 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/acinclude.m4
libstdc++-v3/aclocal.m4
libstdc++-v3/config/c_locale_generic.cc [new file with mode: 0644]
libstdc++-v3/config/c_locale_generic.h [new file with mode: 0644]
libstdc++-v3/config/c_locale_gnu.cc [new file with mode: 0644]
libstdc++-v3/config/c_locale_gnu.h [new file with mode: 0644]
libstdc++-v3/configure
libstdc++-v3/configure.in
libstdc++-v3/docs/html/22_locale/locale.html
libstdc++-v3/docs/html/configopts.html
libstdc++-v3/include/bits/locale_facets.h
libstdc++-v3/include/bits/locale_facets.tcc
libstdc++-v3/include/bits/localefwd.h
libstdc++-v3/include/c_std/bits/std_clocale.h
libstdc++-v3/libio/ChangeLog
libstdc++-v3/libio/Makefile.am
libstdc++-v3/libio/Makefile.in
libstdc++-v3/src/Makefile.am
libstdc++-v3/src/Makefile.in
libstdc++-v3/src/locale-inst.cc
libstdc++-v3/src/locale.cc
libstdc++-v3/src/localename.cc
libstdc++-v3/testsuite/22_locale/ctor_copy_dtor.cc
libstdc++-v3/testsuite/22_locale/facet.cc
libstdc++-v3/testsuite/22_locale/members.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/numpunct.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/numpunct_byname.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/numpunct_char_members.cc [new file with mode: 0644]

index 8a5440bac698bdc5cc7fcc842197ba233ce0bb3c..a39058d1706d9cfb744a21c0bc27d73a65803977 100644 (file)
@@ -1,3 +1,110 @@
+2001-01-29  Benjamin Kosnik  <bkoz@redhat.com>
+
+       Preliminary named locales.
+       * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): New macro.
+       * aclocal.m4: Regenerate.
+       * configure.in: Use it.
+       * configure: Regerate.
+       * src/Makefile.am (sources): Add c++locale.cc.
+       (build_headers): Add c++locale.h.
+       * src/Makefile.in: Regenerate.
+       * config/c_locale_gnu.h: New file.      
+       * config/c_locale_gnu.cc: New file. Non-inline member functions
+       for named locales, gnu-specific.
+       * config/c_locale_generic.h: New file.          
+       * config/c_locale_generic.cc: New file. Non-inline member
+       functions for named locales, generic version.
+       * docs/html/configopts.html: Add documentation on new options.
+
+       * include/bits/locale_facets.h (class _Messages): Remove.
+       (class _Moneypunct): Remove.
+       * src/locale-inst.cc: Remove.
+       
+       * include/bits/locale_facets.h (class _Collate): Remove.
+       * src/locale-inst.cc (std): Remove.
+       * src/locale.cc: And here.
+       
+       * include/bits/localefwd.h (locale::_M_coalesce): New
+       function. Correctly put together multi-name locales.
+       (_Impl(const _Impl&, category, size_t)): Remove.
+
+       * include/bits/localefwd.h (locale::_Impl): Remove _M_construct_*
+       member functions.
+       (_M_normalize_category_names): Remove.
+       (_M_replace_categories): Fix.
+
+       * src/localename.cc (locale::_Impl::_M_construct_collate): Remove.
+       (locale::_Impl::_M_construct_ctype): Remove.
+       (locale::_Impl::_M_construct_monetary): Remove. 
+       (locale::_Impl::_M_construct_numeric): Remove.  
+       (locale::_Impl::_M_construct_time): Remove.             
+       (locale::_Impl::_M_construct_messages): Remove.         
+
+       * include/bits/locale_facets.h (_Bad_use_facet): Remove.
+       (_Use_facet_failure_handle): Remove.
+       * src/locale.cc: Remove definitions.
+       * src/locale-inst.cc: And here.
+       
+       * testsuite/22_locale/ctor_copy_dtor.cc (test01): Fixup. Add tests.
+
+       * src/localename.cc (locale::facet::_S_create_c_locale): Properly
+       create and error-check underlying locale object.
+       (locale::facet::_S_destroy_c_locale): Add, take care of properly
+       tearing down underlying locale object.
+       * include/bits/localefwd.h (locale::facet): Declare.
+       * testsuite/22_locale/members.cc: Don't test "fr_FR" locale for
+       correctness, as glibc apparently has incorrect info in it. Test
+       with it when it works again.....        
+
+       * include/bits/localefwd.h (locale::_Impl::__vec_string):
+       Remove. Number of categories is fixed at six, so just simplify and
+       make this an array of strings.
+       (locale::_Impl::_M_has_name): Remove.
+       (locale::_Impl::_M_name): Remove.       
+       (locale::_Impl::_M_category_names): Turns into...       
+       (locale::_Impl::_M_names): ...this.
+       (locale::_Impl::_M_has_same_name()): New function.
+       * src/localename.cc (locale::_Impl::~_Impl()): Remove here.
+       (locale::_Impl::_Impl(size_t __refs, string __str)): Simplify
+       signature.
+       * src/locale.cc (locale::name()): Construct mangled name
+       accurately reflecting combined locale categories.
+
+       * src/locale.cc (locale::classic()): Don't initialize here.
+       * src/localename.cc (locale::_Impl::_Impl(size_t __num, size_t
+       __refs, bool __has_name, string __str): Do it here.
+
+       * include/bits/localefwd.h: _S_categories_num to
+       _S_num_categories. _S_facets_num to _S_num_facets.
+       (locale::id::id()): Explicitly set _M_index to zero.
+       * src/locale.cc: Same.
+
+       * src/locale.cc: (locale::locale(const char*)): Construct named
+       locales uniquely.
+
+       * src/locale.cc: Remove numpunct_byname ctors.
+       * testsuite/22_locale/numpunct_byname.cc: New file.
+       * testsuite/22_locale/numpunct.cc: New file.    
+       
+       * include/bits/localefwd.h (class locale): Change data members to
+       protected, from private.
+       (_Impl::_M_get_c_locale): Add member function.
+       (locale::facet::_M_get_global_impl()): Add member function.
+       * include/bits/locale_facets.h (numpunct::_M_init): Change to take
+       a __c_locale pointer.
+       (numpunct::numpunct( __c_locale*, size_t)): Add additonal ctor for
+       named locales.
+       * testsuite/22_locale/members.cc: New file, test name and combine.
+       
+       * include/bits/locale_facets.h (class numpunct): Remove class
+       _Punct and _Numpunct. Rewrite class numpunct to be correct for
+       named locales.
+       * include/bits/localefwd.h (locale::_Imp::_M_c_locale): Add.
+       * src/localename.cc (_Impl::~_Impl()): Call __frelocale.
+       (_Imp::_Impl(size_t, size_t, bool, string)) Initialize _M_c_locale.
+       * src/locale-inst.cc: Remove _Numpunct, _Punct instantiations.
+       * testsuite/22_locale/numpunct_char_members.cc: New file.
+       
 2001-01-28  Gabriel Dos Reis  <gdr@codesourcery.com>
 
        * testsuite/README: Add more comment.
index 3c815f0e88f6a4207ad531cb972613be1b9a30e0..cb8a64a7a2ea073c26039cbd42afe5aaf36ba280 100644 (file)
@@ -1054,6 +1054,51 @@ AC_SUBST(EXTRA_CXX_FLAGS)
 ])
 
 
+dnl
+dnl Check for which locale library to use:  gnu or generic.
+dnl
+dnl GLIBCPP_ENABLE_CLOCALE
+dnl --enable-clocale=gnu sets config/c_locale_gnu.cc and friends
+dnl --enable-clocale=generic sets config/c_locale_generic.cc and friends
+dnl 
+dnl default is generic
+dnl
+AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
+  AC_MSG_CHECKING([for clocale to use])
+  AC_ARG_ENABLE(clocale,
+  [  --enable-clocale       enable model for target locale package. 
+     --enable-clocale=MODEL use MODEL target-speific locale package. [default=generic]
+  ], 
+  if test x$enable_clocale = xno; then
+     enable_clocale=generic
+  fi,
+     enable_clocale=generic)
+
+  enable_clocale_flag=$enable_clocale
+
+  dnl Check if a valid locale package
+  case x${enable_clocale_flag} in
+    xgnu)
+      CLOCALE_H=config/c_locale_gnu.h
+      CLOCALE_CC=config/c_locale_gnu.cc
+      AC_MSG_RESULT(gnu)
+      ;;
+    xgeneric)
+      CLOCALE_H=config/c_locale_generic.h
+      CLOCALE_CC=config/c_locale_generic.cc
+      AC_MSG_RESULT(generic)
+      ;;
+    *)
+      echo "$enable_clocale is an unknown locale package" 1>&2
+      exit 1
+      ;;
+  esac
+
+  AC_LINK_FILES($CLOCALE_H, include/bits/c++locale.h)
+  AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
+])
+
+
 dnl
 dnl Check for which I/O library to use:  libio, or something specific.
 dnl
index a6bfcc61a428e0e70b061c89fb86b611d4b61c5b..025637166862190eedd83160f8694fc3f220fff5 100644 (file)
@@ -1066,6 +1066,51 @@ AC_SUBST(EXTRA_CXX_FLAGS)
 ])
 
 
+dnl
+dnl Check for which locale library to use:  gnu or generic.
+dnl
+dnl GLIBCPP_ENABLE_CLOCALE
+dnl --enable-clocale=gnu sets config/c_locale_gnu.cc and friends
+dnl --enable-clocale=generic sets config/c_locale_generic.cc and friends
+dnl 
+dnl default is generic
+dnl
+AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
+  AC_MSG_CHECKING([for clocale to use])
+  AC_ARG_ENABLE(clocale,
+  [  --enable-clocale       enable model for target locale package. 
+     --enable-clocale=MODEL use MODEL target-speific locale package. [default=generic]
+  ], 
+  if test x$enable_clocale = xno; then
+     enable_clocale=generic
+  fi,
+     enable_clocale=generic)
+
+  enable_clocale_flag=$enable_clocale
+
+  dnl Check if a valid locale package
+  case x${enable_clocale_flag} in
+    xgnu)
+      CLOCALE_H=config/c_locale_gnu.h
+      CLOCALE_CC=config/c_locale_gnu.cc
+      AC_MSG_RESULT(gnu)
+      ;;
+    xgeneric)
+      CLOCALE_H=config/c_locale_generic.h
+      CLOCALE_CC=config/c_locale_generic.cc
+      AC_MSG_RESULT(generic)
+      ;;
+    *)
+      echo "$enable_clocale is an unknown locale package" 1>&2
+      exit 1
+      ;;
+  esac
+
+  AC_LINK_FILES($CLOCALE_H, include/bits/c++locale.h)
+  AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
+])
+
+
 dnl
 dnl Check for which I/O library to use:  libio, or something specific.
 dnl
diff --git a/libstdc++-v3/config/c_locale_generic.cc b/libstdc++-v3/config/c_locale_generic.cc
new file mode 100644 (file)
index 0000000..3cfeb3c
--- /dev/null
@@ -0,0 +1,108 @@
+// Wrapper for underlying C-language localization -*- C++ -*-
+
+// 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.
+
+//
+// ISO C++ 14882: 22.8  Standard locale categories.
+//
+
+// Written by Benjamin Kosnik <bkoz@redhat.com>
+
+#include <locale>
+#include <langinfo.h>
+
+namespace std 
+{
+  void
+  locale::facet::_S_create_c_locale(__c_locale& /*__cloc*/, const char*)
+  { }
+
+  void
+  locale::facet::_S_destroy_c_locale(__c_locale& /*__cloc*/)
+  { }
+
+  template<> 
+    void
+    numpunct<char>::_M_initialize_numpunct(__c_locale /*__cloc*/)
+    {
+      // "C" locale
+      _M_decimal_point = '.';
+      _M_thousands_sep = ',';
+      _M_grouping = "";
+      _M_truename = "true";
+      _M_falsename = "false";
+    }
+      
+#ifdef _GLIBCPP_USE_WCHAR_T
+  template<> 
+    void
+    numpunct<wchar_t>::_M_initialize_numpunct(__c_locale /*__cloc*/)
+    {
+      // "C" locale
+      _M_decimal_point = L'.';
+      _M_thousands_sep = L',';
+      _M_grouping = "";
+      _M_truename = L"true";
+      _M_falsename = L"false";
+    }
+#endif
+
+  template<> 
+    void
+    moneypunct<char>::_M_initialize_moneypunct(__c_locale /*__cloc*/)
+    {
+      // "C" locale
+      _M_decimal_point = '.';
+      _M_thousands_sep = ',';
+      _M_grouping = "";
+      _M_curr_symbol = string_type();
+      _M_positive_sign = string_type();
+      _M_negative_sign = string_type();
+      _M_frac_digits = 0;
+      _M_pos_format = money_base::_S_default_pattern;
+      _M_neg_format = money_base::_S_default_pattern;
+    }
+
+#ifdef _GLIBCPP_USE_WCHAR_T
+  template<> 
+    void
+    moneypunct<wchar_t>::_M_initialize_moneypunct(__c_locale /*__cloc*/)
+    {
+      // "C" locale
+      _M_decimal_point = L'.';
+      _M_thousands_sep = L',';
+      _M_grouping = "";
+      _M_curr_symbol = string_type();
+      _M_positive_sign = string_type();
+      _M_negative_sign = string_type();
+      _M_frac_digits = 0;
+      _M_pos_format = money_base::_S_default_pattern;
+      _M_neg_format = money_base::_S_default_pattern;
+    }
+#endif
+}  // namespace std
diff --git a/libstdc++-v3/config/c_locale_generic.h b/libstdc++-v3/config/c_locale_generic.h
new file mode 100644 (file)
index 0000000..4c20529
--- /dev/null
@@ -0,0 +1,39 @@
+// Wrapper for underlying C-language localization -*- C++ -*-
+
+// 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.
+
+//
+// ISO C++ 14882: 22.8  Standard locale categories.
+//
+
+// Written by Benjamin Kosnik <bkoz@redhat.com>
+
+namespace std
+{
+  typedef int*                 __c_locale;
+}
diff --git a/libstdc++-v3/config/c_locale_gnu.cc b/libstdc++-v3/config/c_locale_gnu.cc
new file mode 100644 (file)
index 0000000..4013941
--- /dev/null
@@ -0,0 +1,204 @@
+// Wrapper for underlying C-language localization -*- C++ -*-
+
+// 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.
+
+//
+// ISO C++ 14882: 22.8  Standard locale categories.
+//
+
+// Written by Benjamin Kosnik <bkoz@redhat.com>
+
+#include <locale>
+#include <stdexcept>
+#include <langinfo.h>
+
+namespace std 
+{
+  void
+  locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s)
+  {
+    // XXX
+    // perhaps locale::categories could be made equivalent to LC_*_MASK
+    //    _M_c_locale = __newlocale(1 << LC_ALL, __str.c_str(), NULL);
+    //    _M_c_locale = __newlocale(locale::all, __str.c_str(), NULL);
+    __cloc = __newlocale(LC_ALL, __s, NULL);
+    if (!__cloc)
+      {
+       // This named locale is not supported by the underlying OS.
+       throw runtime_error("attempt to create locale from unknown name");
+      }
+  }
+  
+  void
+  locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
+  {
+    if (__cloc)
+      __freelocale(__cloc); 
+  }
+
+  template<> 
+    void
+    numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
+    {
+      if (!__cloc)
+       {
+         // "C" locale
+         _M_decimal_point = '.';
+         _M_thousands_sep = ',';
+         _M_grouping = "";
+       }
+      else
+       {
+         // Named locale.
+         _M_decimal_point = *(__nl_langinfo_l(RADIXCHAR, __cloc));
+         _M_thousands_sep = *(__nl_langinfo_l(THOUSEP, __cloc));
+         _M_grouping = __nl_langinfo_l(GROUPING, __cloc);
+       }
+      // NB: There is no way to extact this info from posix locales.
+      // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
+      _M_truename = "true";
+      // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
+      _M_falsename = "false";
+    }
+      
+#ifdef _GLIBCPP_USE_WCHAR_T
+  template<> 
+    void
+    numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
+    {
+      if (!__cloc)
+       {
+         // "C" locale
+         _M_decimal_point = L'.';
+         _M_thousands_sep = L',';
+         _M_grouping = "";
+       }
+      else
+       {
+         // Named locale.
+         _M_decimal_point = reinterpret_cast<wchar_t>(__nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc));
+         _M_thousands_sep = reinterpret_cast<wchar_t>(__nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC,__cloc));
+         _M_grouping = __nl_langinfo_l(GROUPING, __cloc);
+       }
+      // NB: There is no way to extact this info from posix locales.
+      // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
+      _M_truename = L"true";
+      // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
+      _M_falsename = L"false";
+    }
+#endif
+
+  template<> 
+    void
+    moneypunct<char>::_M_initialize_moneypunct(__c_locale __cloc)
+    {
+      if (!__cloc)
+       {
+         // "C" locale
+         _M_decimal_point = '.';
+         _M_thousands_sep = ',';
+         _M_grouping = "";
+         _M_curr_symbol = string_type();
+         _M_positive_sign = string_type();
+         _M_negative_sign = string_type();
+         _M_frac_digits = 0;
+         _M_pos_format = money_base::_S_default_pattern;
+         _M_neg_format = money_base::_S_default_pattern;
+       }
+      else
+       {
+         // Named locale.
+         _M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT, __cloc));
+         _M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP, __cloc));
+         _M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
+         _M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
+         _M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
+         if (intl)
+           {
+             _M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
+             _M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS, __cloc));
+             char __ppreceeds = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, 
+                                                  __cloc));
+             char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
+             char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
+             _M_pos_format = _S_construct_pattern(__ppreceeds, __pspace, 
+                                                  __pposn);
+             char __npreceeds = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, 
+                                                  __cloc));
+             char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
+             char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
+             _M_neg_format = _S_construct_pattern(__npreceeds, __nspace, 
+                                                  __nposn);
+           }
+         else
+           {
+             _M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
+             _M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
+             char __ppreceeds = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
+             char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
+             char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
+             _M_pos_format = _S_construct_pattern(__ppreceeds, __pspace, 
+                                                  __pposn);
+             char __npreceeds = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
+             char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
+             char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
+             _M_neg_format = _S_construct_pattern(__npreceeds, __nspace, 
+                                                  __nposn);
+           }
+       }
+    }
+
+#ifdef _GLIBCPP_USE_WCHAR_T
+  template<> 
+    void
+    moneypunct<wchar_t>::_M_initialize_moneypunct(__c_locale /*__cloc*/)
+    {
+      // XXX implement
+      // "C" locale
+      _M_decimal_point = L'.';
+      _M_thousands_sep = L',';
+      _M_grouping = "";
+      _M_curr_symbol = string_type();
+      _M_positive_sign = string_type();
+      _M_negative_sign = string_type();
+      _M_frac_digits = 0;
+      _M_pos_format = money_base::_S_default_pattern;
+      _M_neg_format = money_base::_S_default_pattern;
+    }
+#endif
+}  // namespace std
+
+
+
+
+
+
+
+
+
+
diff --git a/libstdc++-v3/config/c_locale_gnu.h b/libstdc++-v3/config/c_locale_gnu.h
new file mode 100644 (file)
index 0000000..eac640a
--- /dev/null
@@ -0,0 +1,39 @@
+// Wrapper for underlying C-language localization -*- C++ -*-
+
+// 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.
+
+//
+// ISO C++ 14882: 22.8  Standard locale categories.
+//
+
+// Written by Benjamin Kosnik <bkoz@redhat.com>
+
+namespace std
+{
+  typedef __locale_t           __c_locale;
+}
index 692078ddea5512e6f125f34ece857ae75693e102..1a221db5bc6b7f8b97608de3d418ab01e6c3ee5a 100755 (executable)
@@ -39,6 +39,10 @@ ac_help="$ac_help
   --enable-cstdio        enable stdio for target io package. 
      --enable-cstdio=LIB    use LIB target-speific io package. [default=stdio]
   "
+ac_help="$ac_help
+  --enable-clocale       enable model for target locale package. 
+     --enable-clocale=MODEL use MODEL target-speific locale package. [default=generic]
+  "
 ac_help="$ac_help
   --enable-c-mbchar       enable multibyte (wide) characters [default=yes]"
 ac_help="$ac_help
@@ -616,7 +620,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:620: checking host system type" >&5
+echo "configure:624: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -637,7 +641,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 echo "$ac_t""$host" 1>&6
 
 echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:641: checking target system type" >&5
+echo "configure:645: checking target system type" >&5
 
 target_alias=$target
 case "$target_alias" in
@@ -655,7 +659,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 echo "$ac_t""$target" 1>&6
 
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:659: checking build system type" >&5
+echo "configure:663: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -706,7 +710,7 @@ fi
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:710: checking for a BSD compatible install" >&5
+echo "configure:714: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -759,7 +763,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:763: checking whether build environment is sane" >&5
+echo "configure:767: checking whether build environment is sane" >&5
 # Just in case
 sleep 1
 echo timestamp > conftestfile
@@ -816,7 +820,7 @@ test "$program_suffix" != NONE &&
 test "$program_transform_name" = "" && program_transform_name="s,x,x,"
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:820: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:824: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -849,12 +853,12 @@ else
 fi
 
 echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:853: checking for Cygwin environment" >&5
+echo "configure:857: checking for Cygwin environment" >&5
 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 858 "configure"
+#line 862 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -865,7 +869,7 @@ int main() {
 return __CYGWIN__;
 ; return 0; }
 EOF
-if { (eval echo configure:869: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:873: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_cygwin=yes
 else
@@ -882,19 +886,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
 CYGWIN=
 test "$ac_cv_cygwin" = yes && CYGWIN=yes
 echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:886: checking for mingw32 environment" >&5
+echo "configure:890: checking for mingw32 environment" >&5
 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 891 "configure"
+#line 895 "configure"
 #include "confdefs.h"
 
 int main() {
 return __MINGW32__;
 ; return 0; }
 EOF
-if { (eval echo configure:898: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:902: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_mingw32=yes
 else
@@ -954,7 +958,7 @@ EOF
 
 missing_dir=`cd $ac_aux_dir && pwd`
 echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:958: checking for working aclocal" >&5
+echo "configure:962: checking for working aclocal" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -967,7 +971,7 @@ else
 fi
 
 echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:971: checking for working autoconf" >&5
+echo "configure:975: checking for working autoconf" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -980,7 +984,7 @@ else
 fi
 
 echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:984: checking for working automake" >&5
+echo "configure:988: checking for working automake" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -993,7 +997,7 @@ else
 fi
 
 echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:997: checking for working autoheader" >&5
+echo "configure:1001: checking for working autoheader" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -1006,7 +1010,7 @@ else
 fi
 
 echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:1010: checking for working makeinfo" >&5
+echo "configure:1014: checking for working makeinfo" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -1041,7 +1045,7 @@ fi
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1045: checking for $ac_word" >&5
+echo "configure:1049: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1071,7 +1075,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1075: checking for $ac_word" >&5
+echo "configure:1079: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1120,7 +1124,7 @@ fi
 fi
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1124: checking whether we are using GNU C" >&5
+echo "configure:1128: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1129,7 +1133,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1133: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1137: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -1144,7 +1148,7 @@ if test $ac_cv_prog_gcc = yes; then
   ac_save_CFLAGS="$CFLAGS"
   CFLAGS=
   echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1148: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1152: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1189,7 +1193,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1193: checking for $ac_word" >&5
+echo "configure:1197: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CXX_libstdcxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1224,7 +1228,7 @@ CXX=$CXX_libstdcxx
 test -z "$CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; }
 
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:1228: checking whether we are using GNU C++" >&5
+echo "configure:1232: checking whether we are using GNU C++" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1233,7 +1237,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1237: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1241: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -1248,7 +1252,7 @@ if test $ac_cv_prog_gxx = yes; then
   ac_save_CXXFLAGS="$CXXFLAGS"
   CXXFLAGS=
   echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1252: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:1256: checking whether ${CXX-g++} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1279,7 +1283,7 @@ fi
   # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
 set dummy ${ac_tool_prefix}as; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1283: checking for $ac_word" >&5
+echo "configure:1287: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1311,7 +1315,7 @@ fi
   # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1315: checking for $ac_word" >&5
+echo "configure:1319: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1343,7 +1347,7 @@ fi
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1347: checking for $ac_word" >&5
+echo "configure:1351: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1375,7 +1379,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1379: checking for $ac_word" >&5
+echo "configure:1383: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1420,7 +1424,7 @@ fi
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1424: checking for a BSD compatible install" >&5
+echo "configure:1428: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1474,7 +1478,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 
   echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:1478: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:1482: checking whether to enable maintainer-specific portions of Makefiles" >&5
     # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
 if test "${enable_maintainer_mode+set}" = set; then
   enableval="$enable_maintainer_mode"
@@ -1508,7 +1512,7 @@ fi
     
 
 echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1512: checking for executable suffix" >&5
+echo "configure:1516: checking for executable suffix" >&5
 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1518,7 +1522,7 @@ else
   rm -f conftest*
   echo 'int main () { return 0; }' > conftest.$ac_ext
   ac_cv_exeext=
-  if { (eval echo configure:1522: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+  if { (eval echo configure:1526: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
     for file in conftest.*; do
       case $file in
       *.c | *.o | *.obj) ;;
@@ -1650,7 +1654,7 @@ ac_prog=ld
 if test "$ac_cv_prog_gcc" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
   echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1654: checking for ld used by GCC" >&5
+echo "configure:1658: checking for ld used by GCC" >&5
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -1680,10 +1684,10 @@ echo "configure:1654: checking for ld used by GCC" >&5
   esac
 elif test "$with_gnu_ld" = yes; then
   echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1684: checking for GNU ld" >&5
+echo "configure:1688: checking for GNU ld" >&5
 else
   echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1687: checking for non-GNU ld" >&5
+echo "configure:1691: checking for non-GNU ld" >&5
 fi
 if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1718,7 +1722,7 @@ else
 fi
 test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
 echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1722: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:1726: checking if the linker ($LD) is GNU ld" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1735,7 +1739,7 @@ with_gnu_ld=$ac_cv_prog_gnu_ld
 
 
 echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
-echo "configure:1739: checking for $LD option to reload object files" >&5
+echo "configure:1743: checking for $LD option to reload object files" >&5
 if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1747,7 +1751,7 @@ reload_flag=$lt_cv_ld_reload_flag
 test -n "$reload_flag" && reload_flag=" $reload_flag"
 
 echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1751: checking for BSD-compatible nm" >&5
+echo "configure:1755: checking for BSD-compatible nm" >&5
 if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1785,7 +1789,7 @@ NM="$ac_cv_path_NM"
 echo "$ac_t""$NM" 1>&6
 
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1789: checking whether ln -s works" >&5
+echo "configure:1793: checking whether ln -s works" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1806,7 +1810,7 @@ else
 fi
 
 echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
-echo "configure:1810: checking how to recognise dependant libraries" >&5
+echo "configure:1814: checking how to recognise dependant libraries" >&5
 if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1949,13 +1953,13 @@ file_magic_cmd=$lt_cv_file_magic_cmd
 deplibs_check_method=$lt_cv_deplibs_check_method
 
 echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:1953: checking for object suffix" >&5
+echo "configure:1957: checking for object suffix" >&5
 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   rm -f conftest*
 echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:1959: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1963: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   for ac_file in conftest.*; do
     case $ac_file in
     *.c) ;;
@@ -1979,7 +1983,7 @@ case "$deplibs_check_method" in
 file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
-echo "configure:1983: checking for ${ac_tool_prefix}file" >&5
+echo "configure:1987: checking for ${ac_tool_prefix}file" >&5
 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2041,7 +2045,7 @@ fi
 if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     echo $ac_n "checking for file""... $ac_c" 1>&6
-echo "configure:2045: checking for file" >&5
+echo "configure:2049: checking for file" >&5
 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2112,7 +2116,7 @@ esac
 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2116: checking for $ac_word" >&5
+echo "configure:2120: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2144,7 +2148,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2148: checking for $ac_word" >&5
+echo "configure:2152: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2179,7 +2183,7 @@ fi
 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2183: checking for $ac_word" >&5
+echo "configure:2187: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2211,7 +2215,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2215: checking for $ac_word" >&5
+echo "configure:2219: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2278,8 +2282,8 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
 case "$host" in
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 2282 "configure"' > conftest.$ac_ext
-  if { (eval echo configure:2283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  echo '#line 2286 "configure"' > conftest.$ac_ext
+  if { (eval echo configure:2287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
     case "`/usr/bin/file conftest.o`" in
     *32-bit*)
       LD="${LD-ld} -32"
@@ -2300,7 +2304,7 @@ case "$host" in
   SAVE_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -belf"
   echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:2304: checking whether the C compiler needs -belf" >&5
+echo "configure:2308: checking whether the C compiler needs -belf" >&5
 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2313,14 +2317,14 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a
 cross_compiling=$ac_cv_prog_cc_cross
 
      cat > conftest.$ac_ext <<EOF
-#line 2317 "configure"
+#line 2321 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   lt_cv_cc_needs_belf=yes
 else
@@ -2350,7 +2354,7 @@ echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6
 esac
 
 echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:2354: checking how to run the C++ preprocessor" >&5
+echo "configure:2358: checking how to run the C++ preprocessor" >&5
 if test -z "$CXXCPP"; then
 if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2363,12 +2367,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
   CXXCPP="${CXX-g++} -E"
   cat > conftest.$ac_ext <<EOF
-#line 2367 "configure"
+#line 2371 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2372: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2376: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -2505,7 +2509,7 @@ exec 5>>./config.log
 
 
 echo $ac_n "checking for GNU make""... $ac_c" 1>&6
-echo "configure:2509: checking for GNU make" >&5
+echo "configure:2513: checking for GNU make" >&5
 if eval "test \"`echo '$''{'_cv_gnu_make_command'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2539,7 +2543,7 @@ echo "$ac_t""$_cv_gnu_make_command" 1>&6 ;
 
 if test ! -f stamp-sanity-compiler; then
   echo $ac_n "checking for g++ that will successfully compile libstdc++-v3""... $ac_c" 1>&6
-echo "configure:2543: checking for g++ that will successfully compile libstdc++-v3" >&5
+echo "configure:2547: checking for g++ that will successfully compile libstdc++-v3" >&5
   
   ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -2549,7 +2553,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
   cat > conftest.$ac_ext <<EOF
-#line 2553 "configure"
+#line 2557 "configure"
 #include "confdefs.h"
 
   #if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) 
@@ -2603,7 +2607,7 @@ esac
 
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2607: checking how to run the C preprocessor" >&5
+echo "configure:2611: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -2618,13 +2622,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 2622 "configure"
+#line 2626 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2628: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2632: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -2635,13 +2639,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 2639 "configure"
+#line 2643 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2645: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2649: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -2652,13 +2656,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 2656 "configure"
+#line 2660 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2662: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2666: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -2684,7 +2688,7 @@ echo "$ac_t""$CPP" 1>&6
 
 
   echo $ac_n "checking for cstdio to use""... $ac_c" 1>&6
-echo "configure:2688: checking for cstdio to use" >&5
+echo "configure:2692: checking for cstdio to use" >&5
   # Check whether --enable-cstdio or --disable-cstdio was given.
 if test "${enable_cstdio+set}" = set; then
   enableval="$enable_cstdio"
@@ -2707,17 +2711,17 @@ fi
       # see if we are on a system with libio native (ie, linux)
       ac_safe=`echo "libio.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for libio.h""... $ac_c" 1>&6
-echo "configure:2711: checking for libio.h" >&5
+echo "configure:2715: checking for libio.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2716 "configure"
+#line 2720 "configure"
 #include "confdefs.h"
 #include <libio.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2721: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2725: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2747,9 +2751,9 @@ fi
         case "$target" in
           *-*-linux*)
               echo $ac_n "checking for glibc version >= 2.2""... $ac_c" 1>&6
-echo "configure:2751: checking for glibc version >= 2.2" >&5
+echo "configure:2755: checking for glibc version >= 2.2" >&5
               cat > conftest.$ac_ext <<EOF
-#line 2753 "configure"
+#line 2757 "configure"
 #include "confdefs.h"
 
             #include <features.h>
@@ -2861,6 +2865,42 @@ fi
   fi
   
 
+
+  echo $ac_n "checking for clocale to use""... $ac_c" 1>&6
+echo "configure:2871: checking for clocale to use" >&5
+  # Check whether --enable-clocale or --disable-clocale was given.
+if test "${enable_clocale+set}" = set; then
+  enableval="$enable_clocale"
+  if test x$enable_clocale = xno; then
+     enable_clocale=generic
+  fi
+else
+  enable_clocale=generic
+fi
+
+
+  enable_clocale_flag=$enable_clocale
+
+    case x${enable_clocale_flag} in
+    xgnu)
+      CLOCALE_H=config/c_locale_gnu.h
+      CLOCALE_CC=config/c_locale_gnu.cc
+      echo "$ac_t""gnu" 1>&6
+      ;;
+    xgeneric)
+      CLOCALE_H=config/c_locale_generic.h
+      CLOCALE_CC=config/c_locale_generic.cc
+      echo "$ac_t""generic" 1>&6
+      ;;
+    *)
+      echo "$enable_clocale is an unknown locale package" 1>&2
+      exit 1
+      ;;
+  esac
+
+  
+  
+
 # Check whether --enable-c-mbchar or --disable-c-mbchar was given.
 if test "${enable_c_mbchar+set}" = set; then
   enableval="$enable_c_mbchar"
@@ -2895,12 +2935,12 @@ fi
 
   # Check for the existence of functions used if long long is enabled.
   echo $ac_n "checking for strtoll""... $ac_c" 1>&6
-echo "configure:2899: checking for strtoll" >&5
+echo "configure:2939: checking for strtoll" >&5
 if eval "test \"`echo '$''{'ac_cv_func_strtoll'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2904 "configure"
+#line 2944 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char strtoll(); below.  */
@@ -2923,7 +2963,7 @@ strtoll();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_strtoll=yes"
 else
@@ -2944,12 +2984,12 @@ ac_strtoll=no
 fi
 
   echo $ac_n "checking for strtoull""... $ac_c" 1>&6
-echo "configure:2948: checking for strtoull" >&5
+echo "configure:2988: checking for strtoull" >&5
 if eval "test \"`echo '$''{'ac_cv_func_strtoull'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2953 "configure"
+#line 2993 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char strtoull(); below.  */
@@ -2972,7 +3012,7 @@ strtoull();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2976: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_strtoull=yes"
 else
@@ -2995,13 +3035,13 @@ fi
 
   # Check for lldiv_t, et. al.
   echo $ac_n "checking for lldiv_t declaration""... $ac_c" 1>&6
-echo "configure:2999: checking for lldiv_t declaration" >&5
+echo "configure:3039: checking for lldiv_t declaration" >&5
   if eval "test \"`echo '$''{'glibcpp_lldiv_t_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
   cat > conftest.$ac_ext <<EOF
-#line 3005 "configure"
+#line 3045 "configure"
 #include "confdefs.h"
 #include <bits/os_defines.h>
                   #include <stdlib.h>
@@ -3009,7 +3049,7 @@ int main() {
  lldiv_t mydivt;
 ; return 0; }
 EOF
-if { (eval echo configure:3013: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3053: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_lldiv_t_use=yes
 else
@@ -3031,7 +3071,7 @@ EOF
   fi
 
   echo $ac_n "checking for enabled long long""... $ac_c" 1>&6
-echo "configure:3035: checking for enabled long long" >&5
+echo "configure:3075: checking for enabled long long" >&5
   if test x"$ac_strtoll" = xno || test x"$ac_strtoull" = xno; then 
     enable_long_long=no; 
   fi; 
@@ -3049,7 +3089,7 @@ EOF
   CFLAGS="$ac_save_CFLAGS"
 
 echo $ac_n "checking for c header strategy to use""... $ac_c" 1>&6
-echo "configure:3053: checking for c header strategy to use" >&5
+echo "configure:3093: checking for c header strategy to use" >&5
 # Check whether --enable-cheaders or --disable-cheaders was given.
 if test "${enable_cheaders+set}" = set; then
   enableval="$enable_cheaders"
@@ -3106,7 +3146,7 @@ fi
 
 
       echo $ac_n "checking for threads package to use""... $ac_c" 1>&6
-echo "configure:3110: checking for threads package to use" >&5
+echo "configure:3150: checking for threads package to use" >&5
   # Check whether --enable-threads or --disable-threads was given.
 if test "${enable_threads+set}" = set; then
   enableval="$enable_threads"
@@ -3226,17 +3266,17 @@ if test -n "$with_cross_host"; then
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3230: checking for $ac_hdr" >&5
+echo "configure:3270: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3235 "configure"
+#line 3275 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3240: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3280: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3294,12 +3334,12 @@ done
     # used sections, first .eh_frame and now some of the glibc sections for
     # iconv). Bzzzzt. Thanks for playing, maybe next time.
     echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6
-echo "configure:3298: checking for ld that supports -Wl,--gc-sections" >&5
+echo "configure:3338: checking for ld that supports -Wl,--gc-sections" >&5
     if test "$cross_compiling" = yes; then
   ac_sectionLDflags=yes
 else
   cat > conftest.$ac_ext <<EOF
-#line 3303 "configure"
+#line 3343 "configure"
 #include "confdefs.h"
 
      int main(void) 
@@ -3310,7 +3350,7 @@ else
      }
     
 EOF
-if { (eval echo configure:3314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_sectionLDflags=yes
 else
@@ -3588,7 +3628,7 @@ EOF
        fi
        
     echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
-echo "configure:3592: checking for main in -lm" >&5
+echo "configure:3632: checking for main in -lm" >&5
 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3596,14 +3636,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3600 "configure"
+#line 3640 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3633,12 +3673,12 @@ fi
   for ac_func in nan hypot hypotf atan2f expf copysignf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3637: checking for $ac_func" >&5
+echo "configure:3677: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3642 "configure"
+#line 3682 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3661,7 +3701,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3695,12 +3735,12 @@ done
     for ac_func in hypotl signbitl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3699: checking for $ac_func" >&5
+echo "configure:3739: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3704 "configure"
+#line 3744 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3723,7 +3763,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3727: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3757,7 +3797,7 @@ done
   
 
   echo $ac_n "checking for GNU C++ __complex__ support""... $ac_c" 1>&6
-echo "configure:3761: checking for GNU C++ __complex__ support" >&5
+echo "configure:3801: checking for GNU C++ __complex__ support" >&5
   if eval "test \"`echo '$''{'glibcpp_cv_complex'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3771,7 +3811,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
     cat > conftest.$ac_ext <<EOF
-#line 3775 "configure"
+#line 3815 "configure"
 #include "confdefs.h"
 struct dcomplex { __complex__ double x; }; \
                     dcomplex f(const dcomplex& x) { return dcomplex(x); }
@@ -3780,7 +3820,7 @@ int main() {
                      dcomplex x; f(x); 
 ; return 0; }
 EOF
-if { (eval echo configure:3784: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3824: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_complex=ok
 else
@@ -3810,7 +3850,7 @@ EOF
   fi
 
   echo $ac_n "checking for GNU C++ __complex__ float support""... $ac_c" 1>&6
-echo "configure:3814: checking for GNU C++ __complex__ float support" >&5
+echo "configure:3854: checking for GNU C++ __complex__ float support" >&5
   if eval "test \"`echo '$''{'glibcpp_cv_float_complex'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3843,14 +3883,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
       };
 EOB
     cat > conftest.$ac_ext <<EOF
-#line 3847 "configure"
+#line 3887 "configure"
 #include "confdefs.h"
 #include "conftest.h"
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:3854: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3894: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_float_complex=ok
 else
@@ -3882,16 +3922,16 @@ EOF
        
 
       echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
-echo "configure:3886: checking for mbstate_t" >&5
+echo "configure:3926: checking for mbstate_t" >&5
   cat > conftest.$ac_ext <<EOF
-#line 3888 "configure"
+#line 3928 "configure"
 #include "confdefs.h"
 #include <wchar.h>
 int main() {
 mbstate_t teststate;
 ; return 0; }
 EOF
-if { (eval echo configure:3895: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3935: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   have_mbstate_t=yes
 else
@@ -3913,17 +3953,17 @@ EOF
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3917: checking for $ac_hdr" >&5
+echo "configure:3957: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3922 "configure"
+#line 3962 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3967: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3952,17 +3992,17 @@ done
 
   ac_safe=`echo "wctype.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for wctype.h""... $ac_c" 1>&6
-echo "configure:3956: checking for wctype.h" >&5
+echo "configure:3996: checking for wctype.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3961 "configure"
+#line 4001 "configure"
 #include "confdefs.h"
 #include <wctype.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3966: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4006: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3989,16 +4029,16 @@ fi
      && test x"$enable_c_mbchar" != xno; then
       
             echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6
-echo "configure:3993: checking for WCHAR_MIN and WCHAR_MAX" >&5
+echo "configure:4033: checking for WCHAR_MIN and WCHAR_MAX" >&5
     cat > conftest.$ac_ext <<EOF
-#line 3995 "configure"
+#line 4035 "configure"
 #include "confdefs.h"
 #include <wchar.h>
 int main() {
 int i = WCHAR_MIN; int j = WCHAR_MAX;
 ; return 0; }
 EOF
-if { (eval echo configure:4002: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4042: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   has_wchar_minmax=yes
 else
@@ -4011,9 +4051,9 @@ rm -f conftest*
     echo "$ac_t""$has_wchar_minmax" 1>&6
     
             echo $ac_n "checking for WEOF""... $ac_c" 1>&6
-echo "configure:4015: checking for WEOF" >&5
+echo "configure:4055: checking for WEOF" >&5
     cat > conftest.$ac_ext <<EOF
-#line 4017 "configure"
+#line 4057 "configure"
 #include "confdefs.h"
 
       #include <wchar.h>
@@ -4022,7 +4062,7 @@ int main() {
 wint_t i = WEOF;
 ; return 0; }
 EOF
-if { (eval echo configure:4026: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4066: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   has_weof=yes
 else
@@ -4038,12 +4078,12 @@ rm -f conftest*
     wcsrtombs mbsrtowcs
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4042: checking for $ac_func" >&5
+echo "configure:4082: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4047 "configure"
+#line 4087 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4066,7 +4106,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -4093,7 +4133,7 @@ done
 
   
     echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6
-echo "configure:4097: checking for ISO C99 wchar_t support" >&5
+echo "configure:4137: checking for ISO C99 wchar_t support" >&5
     if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes \
        && test x"$ac_wfuncs" = xyes; then
       ac_isoC99_wchar_t=yes
@@ -4104,17 +4144,17 @@ echo "configure:4097: checking for ISO C99 wchar_t support" >&5
   
             ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for iconv.h""... $ac_c" 1>&6
-echo "configure:4108: checking for iconv.h" >&5
+echo "configure:4148: checking for iconv.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4113 "configure"
+#line 4153 "configure"
 #include "confdefs.h"
 #include <iconv.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4118: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4158: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4138,17 +4178,17 @@ fi
 
     ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6
-echo "configure:4142: checking for langinfo.h" >&5
+echo "configure:4182: checking for langinfo.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4147 "configure"
+#line 4187 "configure"
 #include "confdefs.h"
 #include <langinfo.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4192: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4172,7 +4212,7 @@ fi
 
 
         echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
-echo "configure:4176: checking for iconv in -liconv" >&5
+echo "configure:4216: checking for iconv in -liconv" >&5
 ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4180,7 +4220,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-liconv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4184 "configure"
+#line 4224 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4191,7 +4231,7 @@ int main() {
 iconv()
 ; return 0; }
 EOF
-if { (eval echo configure:4195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4217,12 +4257,12 @@ fi
     for ac_func in iconv_open iconv_close iconv nl_langinfo
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4221: checking for $ac_func" >&5
+echo "configure:4261: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4226 "configure"
+#line 4266 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4245,7 +4285,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4249: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -4275,7 +4315,7 @@ done
     LIBS="$ac_save_LIBS"
 
     echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6
-echo "configure:4279: checking for XPG2 wchar_t support" >&5
+echo "configure:4319: checking for XPG2 wchar_t support" >&5
     if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes \
        && test x"$ac_XPG2funcs" = xyes; then
       ac_XPG2_wchar_t=yes
@@ -4285,7 +4325,7 @@ echo "configure:4279: checking for XPG2 wchar_t support" >&5
     echo "$ac_t""$ac_XPG2_wchar_t" 1>&6
   
             echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
-echo "configure:4289: checking for enabled wchar_t specializations" >&5
+echo "configure:4329: checking for enabled wchar_t specializations" >&5
     if test x"$ac_isoC99_wchar_t" = xyes \
        && test x"$ac_XPG2_wchar_t" = xyes; then
       libinst_wstring_la="libinst-wstring.la"
@@ -4373,17 +4413,17 @@ else
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4377: checking for $ac_hdr" >&5
+echo "configure:4417: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4382 "configure"
+#line 4422 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4387: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4427: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4434,10 +4474,10 @@ cross_compiling=$ac_cv_prog_cxx_cross
 
   # Check for more sophisticated diagnostic control.
   echo $ac_n "checking for g++ that supports -fdiagnostics-show-location=once""... $ac_c" 1>&6
-echo "configure:4438: checking for g++ that supports -fdiagnostics-show-location=once" >&5
+echo "configure:4478: checking for g++ that supports -fdiagnostics-show-location=once" >&5
   CXXFLAGS='-Werror -fdiagnostics-show-location=once'
   cat > conftest.$ac_ext <<EOF
-#line 4441 "configure"
+#line 4481 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -4445,7 +4485,7 @@ int foo;
   
 ; return 0; }
 EOF
-if { (eval echo configure:4449: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4489: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_gabydiags=yes
 else
@@ -4468,10 +4508,10 @@ rm -f conftest*
 
   # Check for -ffunction-sections -fdata-sections
   echo $ac_n "checking for g++ that supports -ffunction-sections -fdata-sections""... $ac_c" 1>&6
-echo "configure:4472: checking for g++ that supports -ffunction-sections -fdata-sections" >&5
+echo "configure:4512: checking for g++ that supports -ffunction-sections -fdata-sections" >&5
   CXXFLAGS='-Werror -ffunction-sections -fdata-sections'
   cat > conftest.$ac_ext <<EOF
-#line 4475 "configure"
+#line 4515 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -4479,7 +4519,7 @@ int foo;
   
 ; return 0; }
 EOF
-if { (eval echo configure:4483: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4523: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_fdsections=yes
 else
@@ -4537,12 +4577,12 @@ cross_compiling=$ac_cv_prog_cc_cross
     # used sections, first .eh_frame and now some of the glibc sections for
     # iconv). Bzzzzt. Thanks for playing, maybe next time.
     echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6
-echo "configure:4541: checking for ld that supports -Wl,--gc-sections" >&5
+echo "configure:4581: checking for ld that supports -Wl,--gc-sections" >&5
     if test "$cross_compiling" = yes; then
   ac_sectionLDflags=yes
 else
   cat > conftest.$ac_ext <<EOF
-#line 4546 "configure"
+#line 4586 "configure"
 #include "confdefs.h"
 
      int main(void) 
@@ -4553,7 +4593,7 @@ else
      }
     
 EOF
-if { (eval echo configure:4557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_sectionLDflags=yes
 else
@@ -4588,7 +4628,7 @@ fi
   
       
   echo $ac_n "checking for __builtin_abs declaration""... $ac_c" 1>&6
-echo "configure:4592: checking for __builtin_abs declaration" >&5
+echo "configure:4632: checking for __builtin_abs declaration" >&5
   if test x${glibcpp_cv_func___builtin_abs_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_abs_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4603,14 +4643,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 4607 "configure"
+#line 4647 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_abs(0);
 ; return 0; }
 EOF
-if { (eval echo configure:4614: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_abs_use=yes
 else
@@ -4634,21 +4674,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_abs_use" 1>&6
   if test x$glibcpp_cv_func___builtin_abs_use = x"yes"; then
     echo $ac_n "checking for __builtin_abs linkage""... $ac_c" 1>&6
-echo "configure:4638: checking for __builtin_abs linkage" >&5
+echo "configure:4678: checking for __builtin_abs linkage" >&5
     if test x${glibcpp_cv_func___builtin_abs_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_abs_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 4645 "configure"
+#line 4685 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_abs(0);
 ; return 0; }
 EOF
-if { (eval echo configure:4652: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4692: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_abs_link=yes
 else
@@ -4674,7 +4714,7 @@ EOF
 
   
   echo $ac_n "checking for __builtin_fabsf declaration""... $ac_c" 1>&6
-echo "configure:4678: checking for __builtin_fabsf declaration" >&5
+echo "configure:4718: checking for __builtin_fabsf declaration" >&5
   if test x${glibcpp_cv_func___builtin_fabsf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4689,14 +4729,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 4693 "configure"
+#line 4733 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_fabsf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:4700: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4740: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_fabsf_use=yes
 else
@@ -4720,21 +4760,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_fabsf_use" 1>&6
   if test x$glibcpp_cv_func___builtin_fabsf_use = x"yes"; then
     echo $ac_n "checking for __builtin_fabsf linkage""... $ac_c" 1>&6
-echo "configure:4724: checking for __builtin_fabsf linkage" >&5
+echo "configure:4764: checking for __builtin_fabsf linkage" >&5
     if test x${glibcpp_cv_func___builtin_fabsf_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsf_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 4731 "configure"
+#line 4771 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_fabsf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:4738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_fabsf_link=yes
 else
@@ -4760,7 +4800,7 @@ EOF
 
   
   echo $ac_n "checking for __builtin_fabs declaration""... $ac_c" 1>&6
-echo "configure:4764: checking for __builtin_fabs declaration" >&5
+echo "configure:4804: checking for __builtin_fabs declaration" >&5
   if test x${glibcpp_cv_func___builtin_fabs_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabs_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4775,14 +4815,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 4779 "configure"
+#line 4819 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_fabs(0);
 ; return 0; }
 EOF
-if { (eval echo configure:4786: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4826: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_fabs_use=yes
 else
@@ -4806,21 +4846,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_fabs_use" 1>&6
   if test x$glibcpp_cv_func___builtin_fabs_use = x"yes"; then
     echo $ac_n "checking for __builtin_fabs linkage""... $ac_c" 1>&6
-echo "configure:4810: checking for __builtin_fabs linkage" >&5
+echo "configure:4850: checking for __builtin_fabs linkage" >&5
     if test x${glibcpp_cv_func___builtin_fabs_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabs_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 4817 "configure"
+#line 4857 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_fabs(0);
 ; return 0; }
 EOF
-if { (eval echo configure:4824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_fabs_link=yes
 else
@@ -4846,7 +4886,7 @@ EOF
 
   
   echo $ac_n "checking for __builtin_fabsl declaration""... $ac_c" 1>&6
-echo "configure:4850: checking for __builtin_fabsl declaration" >&5
+echo "configure:4890: checking for __builtin_fabsl declaration" >&5
   if test x${glibcpp_cv_func___builtin_fabsl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4861,14 +4901,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 4865 "configure"
+#line 4905 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_fabsl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:4872: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4912: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_fabsl_use=yes
 else
@@ -4892,21 +4932,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_fabsl_use" 1>&6
   if test x$glibcpp_cv_func___builtin_fabsl_use = x"yes"; then
     echo $ac_n "checking for __builtin_fabsl linkage""... $ac_c" 1>&6
-echo "configure:4896: checking for __builtin_fabsl linkage" >&5
+echo "configure:4936: checking for __builtin_fabsl linkage" >&5
     if test x${glibcpp_cv_func___builtin_fabsl_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsl_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 4903 "configure"
+#line 4943 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_fabsl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:4910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_fabsl_link=yes
 else
@@ -4932,7 +4972,7 @@ EOF
 
   
   echo $ac_n "checking for __builtin_labs declaration""... $ac_c" 1>&6
-echo "configure:4936: checking for __builtin_labs declaration" >&5
+echo "configure:4976: checking for __builtin_labs declaration" >&5
   if test x${glibcpp_cv_func___builtin_labs_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_labs_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4947,14 +4987,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 4951 "configure"
+#line 4991 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_labs(0);
 ; return 0; }
 EOF
-if { (eval echo configure:4958: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4998: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_labs_use=yes
 else
@@ -4978,21 +5018,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_labs_use" 1>&6
   if test x$glibcpp_cv_func___builtin_labs_use = x"yes"; then
     echo $ac_n "checking for __builtin_labs linkage""... $ac_c" 1>&6
-echo "configure:4982: checking for __builtin_labs linkage" >&5
+echo "configure:5022: checking for __builtin_labs linkage" >&5
     if test x${glibcpp_cv_func___builtin_labs_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_labs_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 4989 "configure"
+#line 5029 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_labs(0);
 ; return 0; }
 EOF
-if { (eval echo configure:4996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_labs_link=yes
 else
@@ -5019,7 +5059,7 @@ EOF
 
   
   echo $ac_n "checking for __builtin_sqrtf declaration""... $ac_c" 1>&6
-echo "configure:5023: checking for __builtin_sqrtf declaration" >&5
+echo "configure:5063: checking for __builtin_sqrtf declaration" >&5
   if test x${glibcpp_cv_func___builtin_sqrtf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5034,14 +5074,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 5038 "configure"
+#line 5078 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_sqrtf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5045: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5085: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_sqrtf_use=yes
 else
@@ -5065,21 +5105,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_sqrtf_use" 1>&6
   if test x$glibcpp_cv_func___builtin_sqrtf_use = x"yes"; then
     echo $ac_n "checking for __builtin_sqrtf linkage""... $ac_c" 1>&6
-echo "configure:5069: checking for __builtin_sqrtf linkage" >&5
+echo "configure:5109: checking for __builtin_sqrtf linkage" >&5
     if test x${glibcpp_cv_func___builtin_sqrtf_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtf_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 5076 "configure"
+#line 5116 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_sqrtf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_sqrtf_link=yes
 else
@@ -5105,7 +5145,7 @@ EOF
 
   
   echo $ac_n "checking for __builtin_fsqrt declaration""... $ac_c" 1>&6
-echo "configure:5109: checking for __builtin_fsqrt declaration" >&5
+echo "configure:5149: checking for __builtin_fsqrt declaration" >&5
   if test x${glibcpp_cv_func___builtin_fsqrt_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fsqrt_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5120,14 +5160,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 5124 "configure"
+#line 5164 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_fsqrt(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5131: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5171: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_fsqrt_use=yes
 else
@@ -5151,21 +5191,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_fsqrt_use" 1>&6
   if test x$glibcpp_cv_func___builtin_fsqrt_use = x"yes"; then
     echo $ac_n "checking for __builtin_fsqrt linkage""... $ac_c" 1>&6
-echo "configure:5155: checking for __builtin_fsqrt linkage" >&5
+echo "configure:5195: checking for __builtin_fsqrt linkage" >&5
     if test x${glibcpp_cv_func___builtin_fsqrt_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fsqrt_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 5162 "configure"
+#line 5202 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_fsqrt(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_fsqrt_link=yes
 else
@@ -5191,7 +5231,7 @@ EOF
 
   
   echo $ac_n "checking for __builtin_sqrtl declaration""... $ac_c" 1>&6
-echo "configure:5195: checking for __builtin_sqrtl declaration" >&5
+echo "configure:5235: checking for __builtin_sqrtl declaration" >&5
   if test x${glibcpp_cv_func___builtin_sqrtl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5206,14 +5246,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 5210 "configure"
+#line 5250 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_sqrtl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5217: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5257: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_sqrtl_use=yes
 else
@@ -5237,21 +5277,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_sqrtl_use" 1>&6
   if test x$glibcpp_cv_func___builtin_sqrtl_use = x"yes"; then
     echo $ac_n "checking for __builtin_sqrtl linkage""... $ac_c" 1>&6
-echo "configure:5241: checking for __builtin_sqrtl linkage" >&5
+echo "configure:5281: checking for __builtin_sqrtl linkage" >&5
     if test x${glibcpp_cv_func___builtin_sqrtl_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtl_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 5248 "configure"
+#line 5288 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_sqrtl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5295: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_sqrtl_link=yes
 else
@@ -5278,7 +5318,7 @@ EOF
 
   
   echo $ac_n "checking for __builtin_sinf declaration""... $ac_c" 1>&6
-echo "configure:5282: checking for __builtin_sinf declaration" >&5
+echo "configure:5322: checking for __builtin_sinf declaration" >&5
   if test x${glibcpp_cv_func___builtin_sinf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5293,14 +5333,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 5297 "configure"
+#line 5337 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_sinf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5304: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5344: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_sinf_use=yes
 else
@@ -5324,21 +5364,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_sinf_use" 1>&6
   if test x$glibcpp_cv_func___builtin_sinf_use = x"yes"; then
     echo $ac_n "checking for __builtin_sinf linkage""... $ac_c" 1>&6
-echo "configure:5328: checking for __builtin_sinf linkage" >&5
+echo "configure:5368: checking for __builtin_sinf linkage" >&5
     if test x${glibcpp_cv_func___builtin_sinf_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinf_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 5335 "configure"
+#line 5375 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_sinf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_sinf_link=yes
 else
@@ -5364,7 +5404,7 @@ EOF
 
   
   echo $ac_n "checking for __builtin_sin declaration""... $ac_c" 1>&6
-echo "configure:5368: checking for __builtin_sin declaration" >&5
+echo "configure:5408: checking for __builtin_sin declaration" >&5
   if test x${glibcpp_cv_func___builtin_sin_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sin_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5379,14 +5419,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 5383 "configure"
+#line 5423 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_sin(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5390: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5430: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_sin_use=yes
 else
@@ -5410,21 +5450,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_sin_use" 1>&6
   if test x$glibcpp_cv_func___builtin_sin_use = x"yes"; then
     echo $ac_n "checking for __builtin_sin linkage""... $ac_c" 1>&6
-echo "configure:5414: checking for __builtin_sin linkage" >&5
+echo "configure:5454: checking for __builtin_sin linkage" >&5
     if test x${glibcpp_cv_func___builtin_sin_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sin_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 5421 "configure"
+#line 5461 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_sin(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5428: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5468: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_sin_link=yes
 else
@@ -5450,7 +5490,7 @@ EOF
 
   
   echo $ac_n "checking for __builtin_sinl declaration""... $ac_c" 1>&6
-echo "configure:5454: checking for __builtin_sinl declaration" >&5
+echo "configure:5494: checking for __builtin_sinl declaration" >&5
   if test x${glibcpp_cv_func___builtin_sinl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5465,14 +5505,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 5469 "configure"
+#line 5509 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_sinl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5476: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5516: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_sinl_use=yes
 else
@@ -5496,21 +5536,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_sinl_use" 1>&6
   if test x$glibcpp_cv_func___builtin_sinl_use = x"yes"; then
     echo $ac_n "checking for __builtin_sinl linkage""... $ac_c" 1>&6
-echo "configure:5500: checking for __builtin_sinl linkage" >&5
+echo "configure:5540: checking for __builtin_sinl linkage" >&5
     if test x${glibcpp_cv_func___builtin_sinl_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinl_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 5507 "configure"
+#line 5547 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_sinl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5554: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_sinl_link=yes
 else
@@ -5537,7 +5577,7 @@ EOF
 
   
   echo $ac_n "checking for __builtin_cosf declaration""... $ac_c" 1>&6
-echo "configure:5541: checking for __builtin_cosf declaration" >&5
+echo "configure:5581: checking for __builtin_cosf declaration" >&5
   if test x${glibcpp_cv_func___builtin_cosf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5552,14 +5592,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 5556 "configure"
+#line 5596 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_cosf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5563: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5603: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_cosf_use=yes
 else
@@ -5583,21 +5623,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_cosf_use" 1>&6
   if test x$glibcpp_cv_func___builtin_cosf_use = x"yes"; then
     echo $ac_n "checking for __builtin_cosf linkage""... $ac_c" 1>&6
-echo "configure:5587: checking for __builtin_cosf linkage" >&5
+echo "configure:5627: checking for __builtin_cosf linkage" >&5
     if test x${glibcpp_cv_func___builtin_cosf_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosf_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 5594 "configure"
+#line 5634 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_cosf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5601: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5641: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_cosf_link=yes
 else
@@ -5623,7 +5663,7 @@ EOF
 
   
   echo $ac_n "checking for __builtin_cos declaration""... $ac_c" 1>&6
-echo "configure:5627: checking for __builtin_cos declaration" >&5
+echo "configure:5667: checking for __builtin_cos declaration" >&5
   if test x${glibcpp_cv_func___builtin_cos_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cos_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5638,14 +5678,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 5642 "configure"
+#line 5682 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_cos(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5649: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5689: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_cos_use=yes
 else
@@ -5669,21 +5709,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_cos_use" 1>&6
   if test x$glibcpp_cv_func___builtin_cos_use = x"yes"; then
     echo $ac_n "checking for __builtin_cos linkage""... $ac_c" 1>&6
-echo "configure:5673: checking for __builtin_cos linkage" >&5
+echo "configure:5713: checking for __builtin_cos linkage" >&5
     if test x${glibcpp_cv_func___builtin_cos_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cos_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 5680 "configure"
+#line 5720 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_cos(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5727: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_cos_link=yes
 else
@@ -5709,7 +5749,7 @@ EOF
 
   
   echo $ac_n "checking for __builtin_cosl declaration""... $ac_c" 1>&6
-echo "configure:5713: checking for __builtin_cosl declaration" >&5
+echo "configure:5753: checking for __builtin_cosl declaration" >&5
   if test x${glibcpp_cv_func___builtin_cosl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5724,14 +5764,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 5728 "configure"
+#line 5768 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_cosl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5735: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5775: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_cosl_use=yes
 else
@@ -5755,21 +5795,21 @@ fi
   echo "$ac_t""$glibcpp_cv_func___builtin_cosl_use" 1>&6
   if test x$glibcpp_cv_func___builtin_cosl_use = x"yes"; then
     echo $ac_n "checking for __builtin_cosl linkage""... $ac_c" 1>&6
-echo "configure:5759: checking for __builtin_cosl linkage" >&5
+echo "configure:5799: checking for __builtin_cosl linkage" >&5
     if test x${glibcpp_cv_func___builtin_cosl_link+set} != xset; then
       if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosl_link'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 5766 "configure"
+#line 5806 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  __builtin_cosl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5813: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_cv_func___builtin_cosl_link=yes
 else
@@ -5860,7 +5900,7 @@ EOF
   CXXFLAGS='-fno-builtins -D_GNU_SOURCE'
 
     echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6
-echo "configure:5864: checking for sin in -lm" >&5
+echo "configure:5904: checking for sin in -lm" >&5
 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5868,7 +5908,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5872 "configure"
+#line 5912 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5879,7 +5919,7 @@ int main() {
 sin()
 ; return 0; }
 EOF
-if { (eval echo configure:5883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5923: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5904,7 +5944,7 @@ fi
 
     
   echo $ac_n "checking for isinf declaration""... $ac_c" 1>&6
-echo "configure:5908: checking for isinf declaration" >&5
+echo "configure:5948: checking for isinf declaration" >&5
   if test x${glibcpp_cv_func_isinf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_isinf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5919,14 +5959,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 5923 "configure"
+#line 5963 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  isinf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:5930: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5970: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_isinf_use=yes
 else
@@ -5952,12 +5992,12 @@ fi
     for ac_func in isinf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5956: checking for $ac_func" >&5
+echo "configure:5996: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5961 "configure"
+#line 6001 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5980,7 +6020,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5984: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6008,7 +6048,7 @@ done
 
   
   echo $ac_n "checking for isnan declaration""... $ac_c" 1>&6
-echo "configure:6012: checking for isnan declaration" >&5
+echo "configure:6052: checking for isnan declaration" >&5
   if test x${glibcpp_cv_func_isnan_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_isnan_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6023,14 +6063,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 6027 "configure"
+#line 6067 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  isnan(0);
 ; return 0; }
 EOF
-if { (eval echo configure:6034: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6074: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_isnan_use=yes
 else
@@ -6056,12 +6096,12 @@ fi
     for ac_func in isnan
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6060: checking for $ac_func" >&5
+echo "configure:6100: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6065 "configure"
+#line 6105 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6084,7 +6124,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6088: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6128: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6112,7 +6152,7 @@ done
 
   
   echo $ac_n "checking for finite declaration""... $ac_c" 1>&6
-echo "configure:6116: checking for finite declaration" >&5
+echo "configure:6156: checking for finite declaration" >&5
   if test x${glibcpp_cv_func_finite_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_finite_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6127,14 +6167,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 6131 "configure"
+#line 6171 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  finite(0);
 ; return 0; }
 EOF
-if { (eval echo configure:6138: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6178: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_finite_use=yes
 else
@@ -6160,12 +6200,12 @@ fi
     for ac_func in finite
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6164: checking for $ac_func" >&5
+echo "configure:6204: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6169 "configure"
+#line 6209 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6188,7 +6228,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6216,7 +6256,7 @@ done
 
   
   echo $ac_n "checking for copysign declaration""... $ac_c" 1>&6
-echo "configure:6220: checking for copysign declaration" >&5
+echo "configure:6260: checking for copysign declaration" >&5
   if test x${glibcpp_cv_func_copysign_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_copysign_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6231,14 +6271,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 6235 "configure"
+#line 6275 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  copysign(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:6242: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6282: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_copysign_use=yes
 else
@@ -6264,12 +6304,12 @@ fi
     for ac_func in copysign
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6268: checking for $ac_func" >&5
+echo "configure:6308: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6273 "configure"
+#line 6313 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6292,7 +6332,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6296: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6336: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6320,7 +6360,7 @@ done
 
   
   echo $ac_n "checking for sincos declaration""... $ac_c" 1>&6
-echo "configure:6324: checking for sincos declaration" >&5
+echo "configure:6364: checking for sincos declaration" >&5
   if test x${glibcpp_cv_func_sincos_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_sincos_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6335,14 +6375,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 6339 "configure"
+#line 6379 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  sincos(0, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:6346: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6386: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_sincos_use=yes
 else
@@ -6368,12 +6408,12 @@ fi
     for ac_func in sincos
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6372: checking for $ac_func" >&5
+echo "configure:6412: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6377 "configure"
+#line 6417 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6396,7 +6436,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6440: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6424,7 +6464,7 @@ done
 
   
   echo $ac_n "checking for fpclass declaration""... $ac_c" 1>&6
-echo "configure:6428: checking for fpclass declaration" >&5
+echo "configure:6468: checking for fpclass declaration" >&5
   if test x${glibcpp_cv_func_fpclass_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_fpclass_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6439,14 +6479,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 6443 "configure"
+#line 6483 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  fpclass(0);
 ; return 0; }
 EOF
-if { (eval echo configure:6450: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6490: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_fpclass_use=yes
 else
@@ -6472,12 +6512,12 @@ fi
     for ac_func in fpclass
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6476: checking for $ac_func" >&5
+echo "configure:6516: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6481 "configure"
+#line 6521 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6500,7 +6540,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6504: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6528,7 +6568,7 @@ done
 
   
   echo $ac_n "checking for qfpclass declaration""... $ac_c" 1>&6
-echo "configure:6532: checking for qfpclass declaration" >&5
+echo "configure:6572: checking for qfpclass declaration" >&5
   if test x${glibcpp_cv_func_qfpclass_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_qfpclass_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6543,14 +6583,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 6547 "configure"
+#line 6587 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  qfpclass(0);
 ; return 0; }
 EOF
-if { (eval echo configure:6554: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6594: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_qfpclass_use=yes
 else
@@ -6576,12 +6616,12 @@ fi
     for ac_func in qfpclass
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6580: checking for $ac_func" >&5
+echo "configure:6620: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6585 "configure"
+#line 6625 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6604,7 +6644,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6633,7 +6673,7 @@ done
 
     
   echo $ac_n "checking for float trig functions""... $ac_c" 1>&6
-echo "configure:6637: checking for float trig functions" >&5
+echo "configure:6677: checking for float trig functions" >&5
   if eval "test \"`echo '$''{'glibcpp_cv_func_float_trig_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6647,7 +6687,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
     cat > conftest.$ac_ext <<EOF
-#line 6651 "configure"
+#line 6691 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
@@ -6656,7 +6696,7 @@ int main() {
                                           coshf sinhf tanhf; do echo "$x (0);"; done` 
 ; return 0; }
 EOF
-if { (eval echo configure:6660: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6700: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_float_trig_use=yes
 else
@@ -6682,12 +6722,12 @@ fi
                                           coshf sinhf tanhf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6686: checking for $ac_func" >&5
+echo "configure:6726: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6691 "configure"
+#line 6731 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6710,7 +6750,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6754: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6738,7 +6778,7 @@ done
 
   
   echo $ac_n "checking for float round functions""... $ac_c" 1>&6
-echo "configure:6742: checking for float round functions" >&5
+echo "configure:6782: checking for float round functions" >&5
   if eval "test \"`echo '$''{'glibcpp_cv_func_float_round_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6752,14 +6792,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
     cat > conftest.$ac_ext <<EOF
-#line 6756 "configure"
+#line 6796 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  `for x in ceilf floorf; do echo "$x (0);"; done` 
 ; return 0; }
 EOF
-if { (eval echo configure:6763: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6803: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_float_round_use=yes
 else
@@ -6783,12 +6823,12 @@ fi
     for ac_func in ceilf floorf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6787: checking for $ac_func" >&5
+echo "configure:6827: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6792 "configure"
+#line 6832 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6811,7 +6851,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6839,7 +6879,7 @@ done
 
   
   echo $ac_n "checking for isnanf declaration""... $ac_c" 1>&6
-echo "configure:6843: checking for isnanf declaration" >&5
+echo "configure:6883: checking for isnanf declaration" >&5
   if test x${glibcpp_cv_func_isnanf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_isnanf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6854,14 +6894,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 6858 "configure"
+#line 6898 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  isnanf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:6865: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6905: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_isnanf_use=yes
 else
@@ -6887,12 +6927,12 @@ fi
     for ac_func in isnanf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6891: checking for $ac_func" >&5
+echo "configure:6931: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6896 "configure"
+#line 6936 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6915,7 +6955,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6943,7 +6983,7 @@ done
 
   
   echo $ac_n "checking for isinff declaration""... $ac_c" 1>&6
-echo "configure:6947: checking for isinff declaration" >&5
+echo "configure:6987: checking for isinff declaration" >&5
   if test x${glibcpp_cv_func_isinff_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_isinff_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6958,14 +6998,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 6962 "configure"
+#line 7002 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  isinff(0);
 ; return 0; }
 EOF
-if { (eval echo configure:6969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_isinff_use=yes
 else
@@ -6991,12 +7031,12 @@ fi
     for ac_func in isinff
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6995: checking for $ac_func" >&5
+echo "configure:7035: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7000 "configure"
+#line 7040 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7019,7 +7059,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7063: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7047,7 +7087,7 @@ done
 
   
   echo $ac_n "checking for fabsf declaration""... $ac_c" 1>&6
-echo "configure:7051: checking for fabsf declaration" >&5
+echo "configure:7091: checking for fabsf declaration" >&5
   if test x${glibcpp_cv_func_fabsf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_fabsf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7062,14 +7102,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 7066 "configure"
+#line 7106 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  fabsf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:7073: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7113: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_fabsf_use=yes
 else
@@ -7095,12 +7135,12 @@ fi
     for ac_func in fabsf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7099: checking for $ac_func" >&5
+echo "configure:7139: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7104 "configure"
+#line 7144 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7123,7 +7163,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7127: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7151,7 +7191,7 @@ done
 
   
   echo $ac_n "checking for fmodf declaration""... $ac_c" 1>&6
-echo "configure:7155: checking for fmodf declaration" >&5
+echo "configure:7195: checking for fmodf declaration" >&5
   if test x${glibcpp_cv_func_fmodf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_fmodf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7166,14 +7206,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 7170 "configure"
+#line 7210 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  fmodf(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:7177: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7217: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_fmodf_use=yes
 else
@@ -7199,12 +7239,12 @@ fi
     for ac_func in fmodf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7203: checking for $ac_func" >&5
+echo "configure:7243: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7208 "configure"
+#line 7248 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7227,7 +7267,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7231: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7255,7 +7295,7 @@ done
 
   
   echo $ac_n "checking for frexpf declaration""... $ac_c" 1>&6
-echo "configure:7259: checking for frexpf declaration" >&5
+echo "configure:7299: checking for frexpf declaration" >&5
   if test x${glibcpp_cv_func_frexpf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_frexpf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7270,14 +7310,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 7274 "configure"
+#line 7314 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  frexpf(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:7281: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7321: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_frexpf_use=yes
 else
@@ -7303,12 +7343,12 @@ fi
     for ac_func in frexpf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7307: checking for $ac_func" >&5
+echo "configure:7347: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7312 "configure"
+#line 7352 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7331,7 +7371,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7359,7 +7399,7 @@ done
 
   
   echo $ac_n "checking for ldexpf declaration""... $ac_c" 1>&6
-echo "configure:7363: checking for ldexpf declaration" >&5
+echo "configure:7403: checking for ldexpf declaration" >&5
   if test x${glibcpp_cv_func_ldexpf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_ldexpf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7374,14 +7414,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 7378 "configure"
+#line 7418 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  ldexpf(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:7385: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7425: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_ldexpf_use=yes
 else
@@ -7407,12 +7447,12 @@ fi
     for ac_func in ldexpf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7411: checking for $ac_func" >&5
+echo "configure:7451: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7416 "configure"
+#line 7456 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7435,7 +7475,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7439: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7463,7 +7503,7 @@ done
 
   
   echo $ac_n "checking for logf declaration""... $ac_c" 1>&6
-echo "configure:7467: checking for logf declaration" >&5
+echo "configure:7507: checking for logf declaration" >&5
   if test x${glibcpp_cv_func_logf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_logf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7478,14 +7518,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 7482 "configure"
+#line 7522 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  logf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:7489: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7529: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_logf_use=yes
 else
@@ -7511,12 +7551,12 @@ fi
     for ac_func in logf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7515: checking for $ac_func" >&5
+echo "configure:7555: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7520 "configure"
+#line 7560 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7539,7 +7579,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7567,7 +7607,7 @@ done
 
   
   echo $ac_n "checking for log10f declaration""... $ac_c" 1>&6
-echo "configure:7571: checking for log10f declaration" >&5
+echo "configure:7611: checking for log10f declaration" >&5
   if test x${glibcpp_cv_func_log10f_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_log10f_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7582,14 +7622,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 7586 "configure"
+#line 7626 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  log10f(0);
 ; return 0; }
 EOF
-if { (eval echo configure:7593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7633: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_log10f_use=yes
 else
@@ -7615,12 +7655,12 @@ fi
     for ac_func in log10f
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7619: checking for $ac_func" >&5
+echo "configure:7659: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7624 "configure"
+#line 7664 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7643,7 +7683,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7671,7 +7711,7 @@ done
 
   
   echo $ac_n "checking for modff declaration""... $ac_c" 1>&6
-echo "configure:7675: checking for modff declaration" >&5
+echo "configure:7715: checking for modff declaration" >&5
   if test x${glibcpp_cv_func_modff_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_modff_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7686,14 +7726,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 7690 "configure"
+#line 7730 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  modff(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:7697: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_modff_use=yes
 else
@@ -7719,12 +7759,12 @@ fi
     for ac_func in modff
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7723: checking for $ac_func" >&5
+echo "configure:7763: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7728 "configure"
+#line 7768 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7747,7 +7787,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7751: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7791: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7775,7 +7815,7 @@ done
 
   
   echo $ac_n "checking for powf declaration""... $ac_c" 1>&6
-echo "configure:7779: checking for powf declaration" >&5
+echo "configure:7819: checking for powf declaration" >&5
   if test x${glibcpp_cv_func_powf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_powf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7790,14 +7830,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 7794 "configure"
+#line 7834 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  powf(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:7801: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7841: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_powf_use=yes
 else
@@ -7823,12 +7863,12 @@ fi
     for ac_func in powf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7827: checking for $ac_func" >&5
+echo "configure:7867: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7832 "configure"
+#line 7872 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7851,7 +7891,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7879,7 +7919,7 @@ done
 
   
   echo $ac_n "checking for sqrtf declaration""... $ac_c" 1>&6
-echo "configure:7883: checking for sqrtf declaration" >&5
+echo "configure:7923: checking for sqrtf declaration" >&5
   if test x${glibcpp_cv_func_sqrtf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_sqrtf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7894,14 +7934,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 7898 "configure"
+#line 7938 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  sqrtf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:7905: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7945: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_sqrtf_use=yes
 else
@@ -7927,12 +7967,12 @@ fi
     for ac_func in sqrtf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7931: checking for $ac_func" >&5
+echo "configure:7971: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7936 "configure"
+#line 7976 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7955,7 +7995,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7999: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7983,7 +8023,7 @@ done
 
   
   echo $ac_n "checking for sincosf declaration""... $ac_c" 1>&6
-echo "configure:7987: checking for sincosf declaration" >&5
+echo "configure:8027: checking for sincosf declaration" >&5
   if test x${glibcpp_cv_func_sincosf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_sincosf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7998,14 +8038,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 8002 "configure"
+#line 8042 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  sincosf(0, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:8009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8049: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_sincosf_use=yes
 else
@@ -8031,12 +8071,12 @@ fi
     for ac_func in sincosf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8035: checking for $ac_func" >&5
+echo "configure:8075: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8040 "configure"
+#line 8080 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8059,7 +8099,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8063: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8103: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8087,7 +8127,7 @@ done
 
   
   echo $ac_n "checking for finitef declaration""... $ac_c" 1>&6
-echo "configure:8091: checking for finitef declaration" >&5
+echo "configure:8131: checking for finitef declaration" >&5
   if test x${glibcpp_cv_func_finitef_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_finitef_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8102,14 +8142,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 8106 "configure"
+#line 8146 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  finitef(0);
 ; return 0; }
 EOF
-if { (eval echo configure:8113: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8153: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_finitef_use=yes
 else
@@ -8135,12 +8175,12 @@ fi
     for ac_func in finitef
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8139: checking for $ac_func" >&5
+echo "configure:8179: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8144 "configure"
+#line 8184 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8163,7 +8203,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8192,7 +8232,7 @@ done
 
     
   echo $ac_n "checking for long double trig functions""... $ac_c" 1>&6
-echo "configure:8196: checking for long double trig functions" >&5
+echo "configure:8236: checking for long double trig functions" >&5
   if eval "test \"`echo '$''{'glibcpp_cv_func_long_double_trig_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8206,7 +8246,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
     cat > conftest.$ac_ext <<EOF
-#line 8210 "configure"
+#line 8250 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
@@ -8215,7 +8255,7 @@ int main() {
                                           coshl sinhl tanhl; do echo "$x (0);"; done` 
 ; return 0; }
 EOF
-if { (eval echo configure:8219: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8259: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_long_double_trig_use=yes
 else
@@ -8241,12 +8281,12 @@ fi
                                           coshl sinhl tanhl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8245: checking for $ac_func" >&5
+echo "configure:8285: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8250 "configure"
+#line 8290 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8269,7 +8309,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8273: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8297,7 +8337,7 @@ done
 
   
   echo $ac_n "checking for long double round functions""... $ac_c" 1>&6
-echo "configure:8301: checking for long double round functions" >&5
+echo "configure:8341: checking for long double round functions" >&5
   if eval "test \"`echo '$''{'glibcpp_cv_func_long_double_round_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8311,14 +8351,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
     cat > conftest.$ac_ext <<EOF
-#line 8315 "configure"
+#line 8355 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  `for x in ceill floorl; do echo "$x (0);"; done` 
 ; return 0; }
 EOF
-if { (eval echo configure:8322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8362: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_long_double_round_use=yes
 else
@@ -8342,12 +8382,12 @@ fi
     for ac_func in ceill floorl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8346: checking for $ac_func" >&5
+echo "configure:8386: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8351 "configure"
+#line 8391 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8370,7 +8410,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8398,7 +8438,7 @@ done
 
   
   echo $ac_n "checking for isnanl declaration""... $ac_c" 1>&6
-echo "configure:8402: checking for isnanl declaration" >&5
+echo "configure:8442: checking for isnanl declaration" >&5
   if test x${glibcpp_cv_func_isnanl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_isnanl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8413,14 +8453,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 8417 "configure"
+#line 8457 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  isnanl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:8424: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8464: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_isnanl_use=yes
 else
@@ -8446,12 +8486,12 @@ fi
     for ac_func in isnanl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8450: checking for $ac_func" >&5
+echo "configure:8490: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8455 "configure"
+#line 8495 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8474,7 +8514,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8502,7 +8542,7 @@ done
 
   
   echo $ac_n "checking for isinfl declaration""... $ac_c" 1>&6
-echo "configure:8506: checking for isinfl declaration" >&5
+echo "configure:8546: checking for isinfl declaration" >&5
   if test x${glibcpp_cv_func_isinfl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_isinfl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8517,14 +8557,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 8521 "configure"
+#line 8561 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  isinfl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:8528: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8568: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_isinfl_use=yes
 else
@@ -8550,12 +8590,12 @@ fi
     for ac_func in isinfl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8554: checking for $ac_func" >&5
+echo "configure:8594: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8559 "configure"
+#line 8599 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8578,7 +8618,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8606,7 +8646,7 @@ done
 
   
   echo $ac_n "checking for copysignl declaration""... $ac_c" 1>&6
-echo "configure:8610: checking for copysignl declaration" >&5
+echo "configure:8650: checking for copysignl declaration" >&5
   if test x${glibcpp_cv_func_copysignl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_copysignl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8621,14 +8661,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 8625 "configure"
+#line 8665 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  copysignl(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:8632: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8672: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_copysignl_use=yes
 else
@@ -8654,12 +8694,12 @@ fi
     for ac_func in copysignl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8658: checking for $ac_func" >&5
+echo "configure:8698: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8663 "configure"
+#line 8703 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8682,7 +8722,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8710,7 +8750,7 @@ done
 
   
   echo $ac_n "checking for atan2l declaration""... $ac_c" 1>&6
-echo "configure:8714: checking for atan2l declaration" >&5
+echo "configure:8754: checking for atan2l declaration" >&5
   if test x${glibcpp_cv_func_atan2l_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_atan2l_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8725,14 +8765,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 8729 "configure"
+#line 8769 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  atan2l(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:8736: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8776: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_atan2l_use=yes
 else
@@ -8758,12 +8798,12 @@ fi
     for ac_func in atan2l
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8762: checking for $ac_func" >&5
+echo "configure:8802: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8767 "configure"
+#line 8807 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8786,7 +8826,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8790: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8830: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8814,7 +8854,7 @@ done
 
   
   echo $ac_n "checking for expl declaration""... $ac_c" 1>&6
-echo "configure:8818: checking for expl declaration" >&5
+echo "configure:8858: checking for expl declaration" >&5
   if test x${glibcpp_cv_func_expl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_expl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8829,14 +8869,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 8833 "configure"
+#line 8873 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  expl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:8840: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8880: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_expl_use=yes
 else
@@ -8862,12 +8902,12 @@ fi
     for ac_func in expl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8866: checking for $ac_func" >&5
+echo "configure:8906: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8871 "configure"
+#line 8911 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8890,7 +8930,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8918,7 +8958,7 @@ done
 
   
   echo $ac_n "checking for fabsl declaration""... $ac_c" 1>&6
-echo "configure:8922: checking for fabsl declaration" >&5
+echo "configure:8962: checking for fabsl declaration" >&5
   if test x${glibcpp_cv_func_fabsl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_fabsl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8933,14 +8973,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 8937 "configure"
+#line 8977 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  fabsl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:8944: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8984: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_fabsl_use=yes
 else
@@ -8966,12 +9006,12 @@ fi
     for ac_func in fabsl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8970: checking for $ac_func" >&5
+echo "configure:9010: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8975 "configure"
+#line 9015 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8994,7 +9034,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9022,7 +9062,7 @@ done
 
   
   echo $ac_n "checking for fmodl declaration""... $ac_c" 1>&6
-echo "configure:9026: checking for fmodl declaration" >&5
+echo "configure:9066: checking for fmodl declaration" >&5
   if test x${glibcpp_cv_func_fmodl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_fmodl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -9037,14 +9077,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 9041 "configure"
+#line 9081 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  fmodl(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:9048: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9088: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_fmodl_use=yes
 else
@@ -9070,12 +9110,12 @@ fi
     for ac_func in fmodl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9074: checking for $ac_func" >&5
+echo "configure:9114: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9079 "configure"
+#line 9119 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9098,7 +9138,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9126,7 +9166,7 @@ done
 
   
   echo $ac_n "checking for frexpl declaration""... $ac_c" 1>&6
-echo "configure:9130: checking for frexpl declaration" >&5
+echo "configure:9170: checking for frexpl declaration" >&5
   if test x${glibcpp_cv_func_frexpl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_frexpl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -9141,14 +9181,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 9145 "configure"
+#line 9185 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  frexpl(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:9152: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9192: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_frexpl_use=yes
 else
@@ -9174,12 +9214,12 @@ fi
     for ac_func in frexpl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9178: checking for $ac_func" >&5
+echo "configure:9218: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9183 "configure"
+#line 9223 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9202,7 +9242,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9230,7 +9270,7 @@ done
 
   
   echo $ac_n "checking for ldexpl declaration""... $ac_c" 1>&6
-echo "configure:9234: checking for ldexpl declaration" >&5
+echo "configure:9274: checking for ldexpl declaration" >&5
   if test x${glibcpp_cv_func_ldexpl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_ldexpl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -9245,14 +9285,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 9249 "configure"
+#line 9289 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  ldexpl(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:9256: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9296: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_ldexpl_use=yes
 else
@@ -9278,12 +9318,12 @@ fi
     for ac_func in ldexpl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9282: checking for $ac_func" >&5
+echo "configure:9322: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9287 "configure"
+#line 9327 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9306,7 +9346,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9310: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9334,7 +9374,7 @@ done
 
   
   echo $ac_n "checking for logl declaration""... $ac_c" 1>&6
-echo "configure:9338: checking for logl declaration" >&5
+echo "configure:9378: checking for logl declaration" >&5
   if test x${glibcpp_cv_func_logl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_logl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -9349,14 +9389,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 9353 "configure"
+#line 9393 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  logl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:9360: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9400: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_logl_use=yes
 else
@@ -9382,12 +9422,12 @@ fi
     for ac_func in logl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9386: checking for $ac_func" >&5
+echo "configure:9426: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9391 "configure"
+#line 9431 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9410,7 +9450,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9438,7 +9478,7 @@ done
 
   
   echo $ac_n "checking for log10l declaration""... $ac_c" 1>&6
-echo "configure:9442: checking for log10l declaration" >&5
+echo "configure:9482: checking for log10l declaration" >&5
   if test x${glibcpp_cv_func_log10l_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_log10l_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -9453,14 +9493,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 9457 "configure"
+#line 9497 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  log10l(0);
 ; return 0; }
 EOF
-if { (eval echo configure:9464: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9504: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_log10l_use=yes
 else
@@ -9486,12 +9526,12 @@ fi
     for ac_func in log10l
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9490: checking for $ac_func" >&5
+echo "configure:9530: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9495 "configure"
+#line 9535 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9514,7 +9554,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9542,7 +9582,7 @@ done
 
   
   echo $ac_n "checking for modfl declaration""... $ac_c" 1>&6
-echo "configure:9546: checking for modfl declaration" >&5
+echo "configure:9586: checking for modfl declaration" >&5
   if test x${glibcpp_cv_func_modfl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_modfl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -9557,14 +9597,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 9561 "configure"
+#line 9601 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  modfl(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:9568: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9608: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_modfl_use=yes
 else
@@ -9590,12 +9630,12 @@ fi
     for ac_func in modfl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9594: checking for $ac_func" >&5
+echo "configure:9634: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9599 "configure"
+#line 9639 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9618,7 +9658,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9646,7 +9686,7 @@ done
 
   
   echo $ac_n "checking for powl declaration""... $ac_c" 1>&6
-echo "configure:9650: checking for powl declaration" >&5
+echo "configure:9690: checking for powl declaration" >&5
   if test x${glibcpp_cv_func_powl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_powl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -9661,14 +9701,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 9665 "configure"
+#line 9705 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  powl(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:9672: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9712: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_powl_use=yes
 else
@@ -9694,12 +9734,12 @@ fi
     for ac_func in powl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9698: checking for $ac_func" >&5
+echo "configure:9738: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9703 "configure"
+#line 9743 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9722,7 +9762,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9750,7 +9790,7 @@ done
 
   
   echo $ac_n "checking for sqrtl declaration""... $ac_c" 1>&6
-echo "configure:9754: checking for sqrtl declaration" >&5
+echo "configure:9794: checking for sqrtl declaration" >&5
   if test x${glibcpp_cv_func_sqrtl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_sqrtl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -9765,14 +9805,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 9769 "configure"
+#line 9809 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  sqrtl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:9776: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9816: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_sqrtl_use=yes
 else
@@ -9798,12 +9838,12 @@ fi
     for ac_func in sqrtl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9802: checking for $ac_func" >&5
+echo "configure:9842: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9807 "configure"
+#line 9847 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9826,7 +9866,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9830: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9854,7 +9894,7 @@ done
 
   
   echo $ac_n "checking for sincosl declaration""... $ac_c" 1>&6
-echo "configure:9858: checking for sincosl declaration" >&5
+echo "configure:9898: checking for sincosl declaration" >&5
   if test x${glibcpp_cv_func_sincosl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_sincosl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -9869,14 +9909,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 9873 "configure"
+#line 9913 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  sincosl(0, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:9880: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9920: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_sincosl_use=yes
 else
@@ -9902,12 +9942,12 @@ fi
     for ac_func in sincosl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9906: checking for $ac_func" >&5
+echo "configure:9946: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9911 "configure"
+#line 9951 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9930,7 +9970,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9958,7 +9998,7 @@ done
 
   
   echo $ac_n "checking for finitel declaration""... $ac_c" 1>&6
-echo "configure:9962: checking for finitel declaration" >&5
+echo "configure:10002: checking for finitel declaration" >&5
   if test x${glibcpp_cv_func_finitel_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_finitel_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -9973,14 +10013,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 9977 "configure"
+#line 10017 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  finitel(0);
 ; return 0; }
 EOF
-if { (eval echo configure:9984: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10024: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_finitel_use=yes
 else
     for ac_func in finitel
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10010: checking for $ac_func" >&5
+echo "configure:10050: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10015 "configure"
+#line 10055 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10034,7 +10074,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -10063,7 +10103,7 @@ done
 
           
   echo $ac_n "checking for _isinf declaration""... $ac_c" 1>&6
-echo "configure:10067: checking for _isinf declaration" >&5
+echo "configure:10107: checking for _isinf declaration" >&5
   if test x${glibcpp_cv_func__isinf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__isinf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -10078,14 +10118,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 10082 "configure"
+#line 10122 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _isinf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:10089: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10129: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__isinf_use=yes
 else
     for ac_func in _isinf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10115: checking for $ac_func" >&5
+echo "configure:10155: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10120 "configure"
+#line 10160 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10139,7 +10179,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10183: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -10167,7 +10207,7 @@ done
 
   
   echo $ac_n "checking for _isnan declaration""... $ac_c" 1>&6
-echo "configure:10171: checking for _isnan declaration" >&5
+echo "configure:10211: checking for _isnan declaration" >&5
   if test x${glibcpp_cv_func__isnan_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__isnan_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -10182,14 +10222,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 10186 "configure"
+#line 10226 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _isnan(0);
 ; return 0; }
 EOF
-if { (eval echo configure:10193: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10233: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__isnan_use=yes
 else
     for ac_func in _isnan
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10219: checking for $ac_func" >&5
+echo "configure:10259: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10224 "configure"
+#line 10264 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10243,7 +10283,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -10271,7 +10311,7 @@ done
 
   
   echo $ac_n "checking for _finite declaration""... $ac_c" 1>&6
-echo "configure:10275: checking for _finite declaration" >&5
+echo "configure:10315: checking for _finite declaration" >&5
   if test x${glibcpp_cv_func__finite_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__finite_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -10286,14 +10326,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 10290 "configure"
+#line 10330 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _finite(0);
 ; return 0; }
 EOF
-if { (eval echo configure:10297: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10337: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__finite_use=yes
 else
     for ac_func in _finite
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10323: checking for $ac_func" >&5
+echo "configure:10363: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10328 "configure"
+#line 10368 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10347,7 +10387,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10351: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10391: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -10375,7 +10415,7 @@ done
 
   
   echo $ac_n "checking for _copysign declaration""... $ac_c" 1>&6
-echo "configure:10379: checking for _copysign declaration" >&5
+echo "configure:10419: checking for _copysign declaration" >&5
   if test x${glibcpp_cv_func__copysign_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__copysign_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -10390,14 +10430,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 10394 "configure"
+#line 10434 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _copysign(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:10401: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10441: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__copysign_use=yes
 else
     for ac_func in _copysign
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10427: checking for $ac_func" >&5
+echo "configure:10467: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10432 "configure"
+#line 10472 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10451,7 +10491,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -10479,7 +10519,7 @@ done
 
   
   echo $ac_n "checking for _sincos declaration""... $ac_c" 1>&6
-echo "configure:10483: checking for _sincos declaration" >&5
+echo "configure:10523: checking for _sincos declaration" >&5
   if test x${glibcpp_cv_func__sincos_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__sincos_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -10494,14 +10534,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 10498 "configure"
+#line 10538 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _sincos(0, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:10505: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10545: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__sincos_use=yes
 else
     for ac_func in _sincos
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10531: checking for $ac_func" >&5
+echo "configure:10571: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10536 "configure"
+#line 10576 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10555,7 +10595,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10599: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -10583,7 +10623,7 @@ done
 
   
   echo $ac_n "checking for _fpclass declaration""... $ac_c" 1>&6
-echo "configure:10587: checking for _fpclass declaration" >&5
+echo "configure:10627: checking for _fpclass declaration" >&5
   if test x${glibcpp_cv_func__fpclass_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__fpclass_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -10598,14 +10638,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 10602 "configure"
+#line 10642 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _fpclass(0);
 ; return 0; }
 EOF
-if { (eval echo configure:10609: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10649: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__fpclass_use=yes
 else
     for ac_func in _fpclass
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10635: checking for $ac_func" >&5
+echo "configure:10675: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10640 "configure"
+#line 10680 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10659,7 +10699,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -10687,7 +10727,7 @@ done
 
   
   echo $ac_n "checking for _qfpclass declaration""... $ac_c" 1>&6
-echo "configure:10691: checking for _qfpclass declaration" >&5
+echo "configure:10731: checking for _qfpclass declaration" >&5
   if test x${glibcpp_cv_func__qfpclass_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__qfpclass_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -10702,14 +10742,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 10706 "configure"
+#line 10746 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _qfpclass(0);
 ; return 0; }
 EOF
-if { (eval echo configure:10713: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10753: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__qfpclass_use=yes
 else
     for ac_func in _qfpclass
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10739: checking for $ac_func" >&5
+echo "configure:10779: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10744 "configure"
+#line 10784 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10763,7 +10803,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -10792,7 +10832,7 @@ done
 
     
   echo $ac_n "checking for _float trig functions""... $ac_c" 1>&6
-echo "configure:10796: checking for _float trig functions" >&5
+echo "configure:10836: checking for _float trig functions" >&5
   if eval "test \"`echo '$''{'glibcpp_cv_func__float_trig_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10806,7 +10846,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
     cat > conftest.$ac_ext <<EOF
-#line 10810 "configure"
+#line 10850 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
@@ -10815,7 +10855,7 @@ int main() {
                                           _coshf _sinhf _tanhf; do echo "$x (0);"; done` 
 ; return 0; }
 EOF
-if { (eval echo configure:10819: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10859: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__float_trig_use=yes
 else
                                           _coshf _sinhf _tanhf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10845: checking for $ac_func" >&5
+echo "configure:10885: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10850 "configure"
+#line 10890 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10869,7 +10909,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10873: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10913: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -10897,7 +10937,7 @@ done
 
   
   echo $ac_n "checking for _float round functions""... $ac_c" 1>&6
-echo "configure:10901: checking for _float round functions" >&5
+echo "configure:10941: checking for _float round functions" >&5
   if eval "test \"`echo '$''{'glibcpp_cv_func__float_round_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10911,14 +10951,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
     cat > conftest.$ac_ext <<EOF
-#line 10915 "configure"
+#line 10955 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  `for x in _ceilf _floorf; do echo "$x (0);"; done` 
 ; return 0; }
 EOF
-if { (eval echo configure:10922: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10962: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__float_round_use=yes
 else
     for ac_func in _ceilf _floorf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10946: checking for $ac_func" >&5
+echo "configure:10986: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10951 "configure"
+#line 10991 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10970,7 +11010,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -10998,7 +11038,7 @@ done
 
   
   echo $ac_n "checking for _isnanf declaration""... $ac_c" 1>&6
-echo "configure:11002: checking for _isnanf declaration" >&5
+echo "configure:11042: checking for _isnanf declaration" >&5
   if test x${glibcpp_cv_func__isnanf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__isnanf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11013,14 +11053,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 11017 "configure"
+#line 11057 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _isnanf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:11024: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11064: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__isnanf_use=yes
 else
     for ac_func in _isnanf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11050: checking for $ac_func" >&5
+echo "configure:11090: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11055 "configure"
+#line 11095 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -11074,7 +11114,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11118: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -11102,7 +11142,7 @@ done
 
   
   echo $ac_n "checking for _isinff declaration""... $ac_c" 1>&6
-echo "configure:11106: checking for _isinff declaration" >&5
+echo "configure:11146: checking for _isinff declaration" >&5
   if test x${glibcpp_cv_func__isinff_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__isinff_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11117,14 +11157,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 11121 "configure"
+#line 11161 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _isinff(0);
 ; return 0; }
 EOF
-if { (eval echo configure:11128: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11168: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__isinff_use=yes
 else
     for ac_func in _isinff
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11154: checking for $ac_func" >&5
+echo "configure:11194: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11159 "configure"
+#line 11199 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -11178,7 +11218,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11222: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -11206,7 +11246,7 @@ done
 
   
   echo $ac_n "checking for _fabsf declaration""... $ac_c" 1>&6
-echo "configure:11210: checking for _fabsf declaration" >&5
+echo "configure:11250: checking for _fabsf declaration" >&5
   if test x${glibcpp_cv_func__fabsf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__fabsf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11221,14 +11261,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 11225 "configure"
+#line 11265 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _fabsf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:11232: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11272: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__fabsf_use=yes
 else
     for ac_func in _fabsf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11258: checking for $ac_func" >&5
+echo "configure:11298: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11263 "configure"
+#line 11303 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -11282,7 +11322,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11326: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -11310,7 +11350,7 @@ done
 
   
   echo $ac_n "checking for _fmodf declaration""... $ac_c" 1>&6
-echo "configure:11314: checking for _fmodf declaration" >&5
+echo "configure:11354: checking for _fmodf declaration" >&5
   if test x${glibcpp_cv_func__fmodf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__fmodf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11325,14 +11365,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 11329 "configure"
+#line 11369 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _fmodf(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:11336: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11376: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__fmodf_use=yes
 else
     for ac_func in _fmodf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11362: checking for $ac_func" >&5
+echo "configure:11402: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11367 "configure"
+#line 11407 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -11386,7 +11426,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -11414,7 +11454,7 @@ done
 
   
   echo $ac_n "checking for _frexpf declaration""... $ac_c" 1>&6
-echo "configure:11418: checking for _frexpf declaration" >&5
+echo "configure:11458: checking for _frexpf declaration" >&5
   if test x${glibcpp_cv_func__frexpf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__frexpf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11429,14 +11469,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 11433 "configure"
+#line 11473 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _frexpf(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:11440: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11480: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__frexpf_use=yes
 else
     for ac_func in _frexpf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11466: checking for $ac_func" >&5
+echo "configure:11506: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11471 "configure"
+#line 11511 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -11490,7 +11530,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -11518,7 +11558,7 @@ done
 
   
   echo $ac_n "checking for _ldexpf declaration""... $ac_c" 1>&6
-echo "configure:11522: checking for _ldexpf declaration" >&5
+echo "configure:11562: checking for _ldexpf declaration" >&5
   if test x${glibcpp_cv_func__ldexpf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__ldexpf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11533,14 +11573,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 11537 "configure"
+#line 11577 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _ldexpf(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:11544: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11584: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__ldexpf_use=yes
 else
     for ac_func in _ldexpf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11570: checking for $ac_func" >&5
+echo "configure:11610: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11575 "configure"
+#line 11615 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -11594,7 +11634,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -11622,7 +11662,7 @@ done
 
   
   echo $ac_n "checking for _logf declaration""... $ac_c" 1>&6
-echo "configure:11626: checking for _logf declaration" >&5
+echo "configure:11666: checking for _logf declaration" >&5
   if test x${glibcpp_cv_func__logf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__logf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11637,14 +11677,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 11641 "configure"
+#line 11681 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _logf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:11648: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11688: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__logf_use=yes
 else
     for ac_func in _logf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11674: checking for $ac_func" >&5
+echo "configure:11714: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11679 "configure"
+#line 11719 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -11698,7 +11738,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11742: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -11726,7 +11766,7 @@ done
 
   
   echo $ac_n "checking for _log10f declaration""... $ac_c" 1>&6
-echo "configure:11730: checking for _log10f declaration" >&5
+echo "configure:11770: checking for _log10f declaration" >&5
   if test x${glibcpp_cv_func__log10f_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__log10f_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11741,14 +11781,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 11745 "configure"
+#line 11785 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _log10f(0);
 ; return 0; }
 EOF
-if { (eval echo configure:11752: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11792: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__log10f_use=yes
 else
     for ac_func in _log10f
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11778: checking for $ac_func" >&5
+echo "configure:11818: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11783 "configure"
+#line 11823 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -11802,7 +11842,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11846: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -11830,7 +11870,7 @@ done
 
   
   echo $ac_n "checking for _modff declaration""... $ac_c" 1>&6
-echo "configure:11834: checking for _modff declaration" >&5
+echo "configure:11874: checking for _modff declaration" >&5
   if test x${glibcpp_cv_func__modff_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__modff_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11845,14 +11885,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 11849 "configure"
+#line 11889 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _modff(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:11856: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11896: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__modff_use=yes
 else
     for ac_func in _modff
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11882: checking for $ac_func" >&5
+echo "configure:11922: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11887 "configure"
+#line 11927 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -11906,7 +11946,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -11934,7 +11974,7 @@ done
 
   
   echo $ac_n "checking for _powf declaration""... $ac_c" 1>&6
-echo "configure:11938: checking for _powf declaration" >&5
+echo "configure:11978: checking for _powf declaration" >&5
   if test x${glibcpp_cv_func__powf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__powf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11949,14 +11989,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 11953 "configure"
+#line 11993 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _powf(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:11960: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12000: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__powf_use=yes
 else
     for ac_func in _powf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11986: checking for $ac_func" >&5
+echo "configure:12026: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11991 "configure"
+#line 12031 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -12010,7 +12050,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12054: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -12038,7 +12078,7 @@ done
 
   
   echo $ac_n "checking for _sqrtf declaration""... $ac_c" 1>&6
-echo "configure:12042: checking for _sqrtf declaration" >&5
+echo "configure:12082: checking for _sqrtf declaration" >&5
   if test x${glibcpp_cv_func__sqrtf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__sqrtf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -12053,14 +12093,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 12057 "configure"
+#line 12097 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _sqrtf(0);
 ; return 0; }
 EOF
-if { (eval echo configure:12064: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12104: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__sqrtf_use=yes
 else
     for ac_func in _sqrtf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12090: checking for $ac_func" >&5
+echo "configure:12130: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12095 "configure"
+#line 12135 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -12114,7 +12154,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12118: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12158: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -12142,7 +12182,7 @@ done
 
   
   echo $ac_n "checking for _sincosf declaration""... $ac_c" 1>&6
-echo "configure:12146: checking for _sincosf declaration" >&5
+echo "configure:12186: checking for _sincosf declaration" >&5
   if test x${glibcpp_cv_func__sincosf_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__sincosf_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -12157,14 +12197,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 12161 "configure"
+#line 12201 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _sincosf(0, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:12168: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12208: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__sincosf_use=yes
 else
     for ac_func in _sincosf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12194: checking for $ac_func" >&5
+echo "configure:12234: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12199 "configure"
+#line 12239 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -12218,7 +12258,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12222: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -12246,7 +12286,7 @@ done
 
   
   echo $ac_n "checking for _finitef declaration""... $ac_c" 1>&6
-echo "configure:12250: checking for _finitef declaration" >&5
+echo "configure:12290: checking for _finitef declaration" >&5
   if test x${glibcpp_cv_func__finitef_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__finitef_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -12261,14 +12301,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 12265 "configure"
+#line 12305 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _finitef(0);
 ; return 0; }
 EOF
-if { (eval echo configure:12272: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12312: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__finitef_use=yes
 else
     for ac_func in _finitef
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12298: checking for $ac_func" >&5
+echo "configure:12338: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12303 "configure"
+#line 12343 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -12322,7 +12362,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12326: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12366: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -12351,7 +12391,7 @@ done
 
     
   echo $ac_n "checking for _long double trig functions""... $ac_c" 1>&6
-echo "configure:12355: checking for _long double trig functions" >&5
+echo "configure:12395: checking for _long double trig functions" >&5
   if eval "test \"`echo '$''{'glibcpp_cv_func__long_double_trig_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -12365,7 +12405,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
     cat > conftest.$ac_ext <<EOF
-#line 12369 "configure"
+#line 12409 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
@@ -12374,7 +12414,7 @@ int main() {
                                           _coshl _sinhl _tanhl; do echo "$x (0);"; done` 
 ; return 0; }
 EOF
-if { (eval echo configure:12378: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12418: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__long_double_trig_use=yes
 else
                                           _coshl _sinhl _tanhl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12404: checking for $ac_func" >&5
+echo "configure:12444: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12409 "configure"
+#line 12449 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -12428,7 +12468,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -12456,7 +12496,7 @@ done
 
   
   echo $ac_n "checking for _long double round functions""... $ac_c" 1>&6
-echo "configure:12460: checking for _long double round functions" >&5
+echo "configure:12500: checking for _long double round functions" >&5
   if eval "test \"`echo '$''{'glibcpp_cv_func__long_double_round_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -12470,14 +12510,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
     cat > conftest.$ac_ext <<EOF
-#line 12474 "configure"
+#line 12514 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  `for x in _ceill _floorl; do echo "$x (0);"; done` 
 ; return 0; }
 EOF
-if { (eval echo configure:12481: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12521: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__long_double_round_use=yes
 else
     for ac_func in _ceill _floorl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12505: checking for $ac_func" >&5
+echo "configure:12545: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12510 "configure"
+#line 12550 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -12529,7 +12569,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12573: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -12557,7 +12597,7 @@ done
 
   
   echo $ac_n "checking for _isnanl declaration""... $ac_c" 1>&6
-echo "configure:12561: checking for _isnanl declaration" >&5
+echo "configure:12601: checking for _isnanl declaration" >&5
   if test x${glibcpp_cv_func__isnanl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__isnanl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -12572,14 +12612,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 12576 "configure"
+#line 12616 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _isnanl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:12583: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12623: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__isnanl_use=yes
 else
     for ac_func in _isnanl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12609: checking for $ac_func" >&5
+echo "configure:12649: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12614 "configure"
+#line 12654 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -12633,7 +12673,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -12661,7 +12701,7 @@ done
 
   
   echo $ac_n "checking for _isinfl declaration""... $ac_c" 1>&6
-echo "configure:12665: checking for _isinfl declaration" >&5
+echo "configure:12705: checking for _isinfl declaration" >&5
   if test x${glibcpp_cv_func__isinfl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__isinfl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -12676,14 +12716,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 12680 "configure"
+#line 12720 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _isinfl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:12687: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12727: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__isinfl_use=yes
 else
     for ac_func in _isinfl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12713: checking for $ac_func" >&5
+echo "configure:12753: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12718 "configure"
+#line 12758 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -12737,7 +12777,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -12765,7 +12805,7 @@ done
 
   
   echo $ac_n "checking for _copysignl declaration""... $ac_c" 1>&6
-echo "configure:12769: checking for _copysignl declaration" >&5
+echo "configure:12809: checking for _copysignl declaration" >&5
   if test x${glibcpp_cv_func__copysignl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__copysignl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -12780,14 +12820,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 12784 "configure"
+#line 12824 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _copysignl(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:12791: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12831: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__copysignl_use=yes
 else
     for ac_func in _copysignl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12817: checking for $ac_func" >&5
+echo "configure:12857: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12822 "configure"
+#line 12862 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -12841,7 +12881,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -12869,7 +12909,7 @@ done
 
   
   echo $ac_n "checking for _atan2l declaration""... $ac_c" 1>&6
-echo "configure:12873: checking for _atan2l declaration" >&5
+echo "configure:12913: checking for _atan2l declaration" >&5
   if test x${glibcpp_cv_func__atan2l_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__atan2l_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -12884,14 +12924,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 12888 "configure"
+#line 12928 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _atan2l(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:12895: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12935: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__atan2l_use=yes
 else
     for ac_func in _atan2l
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12921: checking for $ac_func" >&5
+echo "configure:12961: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12926 "configure"
+#line 12966 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -12945,7 +12985,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -12973,7 +13013,7 @@ done
 
   
   echo $ac_n "checking for _expl declaration""... $ac_c" 1>&6
-echo "configure:12977: checking for _expl declaration" >&5
+echo "configure:13017: checking for _expl declaration" >&5
   if test x${glibcpp_cv_func__expl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__expl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -12988,14 +13028,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 12992 "configure"
+#line 13032 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _expl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:12999: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13039: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__expl_use=yes
 else
     for ac_func in _expl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13025: checking for $ac_func" >&5
+echo "configure:13065: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13030 "configure"
+#line 13070 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13049,7 +13089,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13093: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -13077,7 +13117,7 @@ done
 
   
   echo $ac_n "checking for _fabsl declaration""... $ac_c" 1>&6
-echo "configure:13081: checking for _fabsl declaration" >&5
+echo "configure:13121: checking for _fabsl declaration" >&5
   if test x${glibcpp_cv_func__fabsl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__fabsl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -13092,14 +13132,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 13096 "configure"
+#line 13136 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _fabsl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:13103: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13143: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__fabsl_use=yes
 else
     for ac_func in _fabsl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13129: checking for $ac_func" >&5
+echo "configure:13169: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13134 "configure"
+#line 13174 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13153,7 +13193,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -13181,7 +13221,7 @@ done
 
   
   echo $ac_n "checking for _fmodl declaration""... $ac_c" 1>&6
-echo "configure:13185: checking for _fmodl declaration" >&5
+echo "configure:13225: checking for _fmodl declaration" >&5
   if test x${glibcpp_cv_func__fmodl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__fmodl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -13196,14 +13236,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 13200 "configure"
+#line 13240 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _fmodl(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:13207: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__fmodl_use=yes
 else
     for ac_func in _fmodl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13233: checking for $ac_func" >&5
+echo "configure:13273: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13238 "configure"
+#line 13278 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13257,7 +13297,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13301: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -13285,7 +13325,7 @@ done
 
   
   echo $ac_n "checking for _frexpl declaration""... $ac_c" 1>&6
-echo "configure:13289: checking for _frexpl declaration" >&5
+echo "configure:13329: checking for _frexpl declaration" >&5
   if test x${glibcpp_cv_func__frexpl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__frexpl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -13300,14 +13340,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 13304 "configure"
+#line 13344 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _frexpl(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:13311: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13351: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__frexpl_use=yes
 else
     for ac_func in _frexpl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13337: checking for $ac_func" >&5
+echo "configure:13377: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13342 "configure"
+#line 13382 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13361,7 +13401,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13365: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -13389,7 +13429,7 @@ done
 
   
   echo $ac_n "checking for _ldexpl declaration""... $ac_c" 1>&6
-echo "configure:13393: checking for _ldexpl declaration" >&5
+echo "configure:13433: checking for _ldexpl declaration" >&5
   if test x${glibcpp_cv_func__ldexpl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__ldexpl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -13404,14 +13444,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 13408 "configure"
+#line 13448 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _ldexpl(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:13415: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13455: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__ldexpl_use=yes
 else
     for ac_func in _ldexpl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13441: checking for $ac_func" >&5
+echo "configure:13481: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13446 "configure"
+#line 13486 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13465,7 +13505,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -13493,7 +13533,7 @@ done
 
   
   echo $ac_n "checking for _logl declaration""... $ac_c" 1>&6
-echo "configure:13497: checking for _logl declaration" >&5
+echo "configure:13537: checking for _logl declaration" >&5
   if test x${glibcpp_cv_func__logl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__logl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -13508,14 +13548,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 13512 "configure"
+#line 13552 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _logl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:13519: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13559: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__logl_use=yes
 else
     for ac_func in _logl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13545: checking for $ac_func" >&5
+echo "configure:13585: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13550 "configure"
+#line 13590 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13569,7 +13609,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13573: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -13597,7 +13637,7 @@ done
 
   
   echo $ac_n "checking for _log10l declaration""... $ac_c" 1>&6
-echo "configure:13601: checking for _log10l declaration" >&5
+echo "configure:13641: checking for _log10l declaration" >&5
   if test x${glibcpp_cv_func__log10l_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__log10l_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -13612,14 +13652,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 13616 "configure"
+#line 13656 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _log10l(0);
 ; return 0; }
 EOF
-if { (eval echo configure:13623: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13663: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__log10l_use=yes
 else
     for ac_func in _log10l
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13649: checking for $ac_func" >&5
+echo "configure:13689: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13654 "configure"
+#line 13694 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13673,7 +13713,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -13701,7 +13741,7 @@ done
 
   
   echo $ac_n "checking for _modfl declaration""... $ac_c" 1>&6
-echo "configure:13705: checking for _modfl declaration" >&5
+echo "configure:13745: checking for _modfl declaration" >&5
   if test x${glibcpp_cv_func__modfl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__modfl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -13716,14 +13756,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 13720 "configure"
+#line 13760 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _modfl(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:13727: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13767: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__modfl_use=yes
 else
     for ac_func in _modfl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13753: checking for $ac_func" >&5
+echo "configure:13793: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13758 "configure"
+#line 13798 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13777,7 +13817,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -13805,7 +13845,7 @@ done
 
   
   echo $ac_n "checking for _powl declaration""... $ac_c" 1>&6
-echo "configure:13809: checking for _powl declaration" >&5
+echo "configure:13849: checking for _powl declaration" >&5
   if test x${glibcpp_cv_func__powl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__powl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -13820,14 +13860,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 13824 "configure"
+#line 13864 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _powl(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:13831: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13871: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__powl_use=yes
 else
     for ac_func in _powl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13857: checking for $ac_func" >&5
+echo "configure:13897: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13862 "configure"
+#line 13902 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13881,7 +13921,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -13909,7 +13949,7 @@ done
 
   
   echo $ac_n "checking for _sqrtl declaration""... $ac_c" 1>&6
-echo "configure:13913: checking for _sqrtl declaration" >&5
+echo "configure:13953: checking for _sqrtl declaration" >&5
   if test x${glibcpp_cv_func__sqrtl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__sqrtl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -13924,14 +13964,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 13928 "configure"
+#line 13968 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _sqrtl(0);
 ; return 0; }
 EOF
-if { (eval echo configure:13935: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13975: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__sqrtl_use=yes
 else
     for ac_func in _sqrtl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13961: checking for $ac_func" >&5
+echo "configure:14001: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13966 "configure"
+#line 14006 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13985,7 +14025,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -14013,7 +14053,7 @@ done
 
   
   echo $ac_n "checking for _sincosl declaration""... $ac_c" 1>&6
-echo "configure:14017: checking for _sincosl declaration" >&5
+echo "configure:14057: checking for _sincosl declaration" >&5
   if test x${glibcpp_cv_func__sincosl_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__sincosl_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -14028,14 +14068,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 14032 "configure"
+#line 14072 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _sincosl(0, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:14039: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__sincosl_use=yes
 else
     for ac_func in _sincosl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14065: checking for $ac_func" >&5
+echo "configure:14105: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 14070 "configure"
+#line 14110 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -14089,7 +14129,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:14093: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14133: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -14117,7 +14157,7 @@ done
 
   
   echo $ac_n "checking for _finitel declaration""... $ac_c" 1>&6
-echo "configure:14121: checking for _finitel declaration" >&5
+echo "configure:14161: checking for _finitel declaration" >&5
   if test x${glibcpp_cv_func__finitel_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func__finitel_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -14132,14 +14172,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 14136 "configure"
+#line 14176 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
  _finitel(0);
 ; return 0; }
 EOF
-if { (eval echo configure:14143: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14183: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func__finitel_use=yes
 else
     for ac_func in _finitel
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14169: checking for $ac_func" >&5
+echo "configure:14209: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 14174 "configure"
+#line 14214 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -14193,7 +14233,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:14197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -14225,7 +14265,7 @@ done
 
   
     echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
-echo "configure:14229: checking for main in -lm" >&5
+echo "configure:14269: checking for main in -lm" >&5
 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -14233,14 +14273,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 14237 "configure"
+#line 14277 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:14244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14284: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   for ac_func in nan hypot hypotf atan2f expf copysignf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14274: checking for $ac_func" >&5
+echo "configure:14314: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 14279 "configure"
+#line 14319 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -14298,7 +14338,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:14302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -14332,12 +14372,12 @@ done
     for ac_func in hypotl signbitl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14336: checking for $ac_func" >&5
+echo "configure:14376: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 14341 "configure"
+#line 14381 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -14360,7 +14400,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:14364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14404: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -14394,7 +14434,7 @@ done
   
 
   echo $ac_n "checking for GNU C++ __complex__ support""... $ac_c" 1>&6
-echo "configure:14398: checking for GNU C++ __complex__ support" >&5
+echo "configure:14438: checking for GNU C++ __complex__ support" >&5
   if eval "test \"`echo '$''{'glibcpp_cv_complex'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -14408,7 +14448,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
     cat > conftest.$ac_ext <<EOF
-#line 14412 "configure"
+#line 14452 "configure"
 #include "confdefs.h"
 struct dcomplex { __complex__ double x; }; \
                     dcomplex f(const dcomplex& x) { return dcomplex(x); }
@@ -14417,7 +14457,7 @@ int main() {
                      dcomplex x; f(x); 
 ; return 0; }
 EOF
-if { (eval echo configure:14421: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14461: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_complex=ok
 else
@@ -14447,7 +14487,7 @@ EOF
   fi
 
   echo $ac_n "checking for GNU C++ __complex__ float support""... $ac_c" 1>&6
-echo "configure:14451: checking for GNU C++ __complex__ float support" >&5
+echo "configure:14491: checking for GNU C++ __complex__ float support" >&5
   if eval "test \"`echo '$''{'glibcpp_cv_float_complex'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -14480,14 +14520,14 @@ cross_compiling=$ac_cv_prog_cxx_cross
       };
 EOB
     cat > conftest.$ac_ext <<EOF
-#line 14484 "configure"
+#line 14524 "configure"
 #include "confdefs.h"
 #include "conftest.h"
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:14491: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14531: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_float_complex=ok
 else
@@ -14519,16 +14559,16 @@ EOF
   
 
       echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
-echo "configure:14523: checking for mbstate_t" >&5
+echo "configure:14563: checking for mbstate_t" >&5
   cat > conftest.$ac_ext <<EOF
-#line 14525 "configure"
+#line 14565 "configure"
 #include "confdefs.h"
 #include <wchar.h>
 int main() {
 mbstate_t teststate;
 ; return 0; }
 EOF
-if { (eval echo configure:14532: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14572: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   have_mbstate_t=yes
 else
@@ -14550,17 +14590,17 @@ EOF
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:14554: checking for $ac_hdr" >&5
+echo "configure:14594: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 14559 "configure"
+#line 14599 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:14564: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:14604: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -14589,17 +14629,17 @@ done
 
   ac_safe=`echo "wctype.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for wctype.h""... $ac_c" 1>&6
-echo "configure:14593: checking for wctype.h" >&5
+echo "configure:14633: checking for wctype.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 14598 "configure"
+#line 14638 "configure"
 #include "confdefs.h"
 #include <wctype.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:14603: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:14643: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
      && test x"$enable_c_mbchar" != xno; then
       
             echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6
-echo "configure:14630: checking for WCHAR_MIN and WCHAR_MAX" >&5
+echo "configure:14670: checking for WCHAR_MIN and WCHAR_MAX" >&5
     cat > conftest.$ac_ext <<EOF
-#line 14632 "configure"
+#line 14672 "configure"
 #include "confdefs.h"
 #include <wchar.h>
 int main() {
 int i = WCHAR_MIN; int j = WCHAR_MAX;
 ; return 0; }
 EOF
-if { (eval echo configure:14639: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14679: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   has_wchar_minmax=yes
 else
@@ -14648,9 +14688,9 @@ rm -f conftest*
     echo "$ac_t""$has_wchar_minmax" 1>&6
     
             echo $ac_n "checking for WEOF""... $ac_c" 1>&6
-echo "configure:14652: checking for WEOF" >&5
+echo "configure:14692: checking for WEOF" >&5
     cat > conftest.$ac_ext <<EOF
-#line 14654 "configure"
+#line 14694 "configure"
 #include "confdefs.h"
 
       #include <wchar.h>
@@ -14659,7 +14699,7 @@ int main() {
 wint_t i = WEOF;
 ; return 0; }
 EOF
-if { (eval echo configure:14663: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14703: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   has_weof=yes
 else
@@ -14675,12 +14715,12 @@ rm -f conftest*
     wcsrtombs mbsrtowcs
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14679: checking for $ac_func" >&5
+echo "configure:14719: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 14684 "configure"
+#line 14724 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -14703,7 +14743,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:14707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -14730,7 +14770,7 @@ done
 
   
     echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6
-echo "configure:14734: checking for ISO C99 wchar_t support" >&5
+echo "configure:14774: checking for ISO C99 wchar_t support" >&5
     if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes \
        && test x"$ac_wfuncs" = xyes; then
       ac_isoC99_wchar_t=yes
@@ -14741,17 +14781,17 @@ echo "configure:14734: checking for ISO C99 wchar_t support" >&5
   
             ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for iconv.h""... $ac_c" 1>&6
-echo "configure:14745: checking for iconv.h" >&5
+echo "configure:14785: checking for iconv.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 14750 "configure"
+#line 14790 "configure"
 #include "confdefs.h"
 #include <iconv.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:14755: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:14795: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 
     ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6
-echo "configure:14779: checking for langinfo.h" >&5
+echo "configure:14819: checking for langinfo.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 14784 "configure"
+#line 14824 "configure"
 #include "confdefs.h"
 #include <langinfo.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:14789: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:14829: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -14809,7 +14849,7 @@ fi
 
 
         echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
-echo "configure:14813: checking for iconv in -liconv" >&5
+echo "configure:14853: checking for iconv in -liconv" >&5
 ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -14817,7 +14857,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-liconv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 14821 "configure"
+#line 14861 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -14828,7 +14868,7 @@ int main() {
 iconv()
 ; return 0; }
 EOF
-if { (eval echo configure:14832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
     for ac_func in iconv_open iconv_close iconv nl_langinfo
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14858: checking for $ac_func" >&5
+echo "configure:14898: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 14863 "configure"
+#line 14903 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -14882,7 +14922,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:14886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -14912,7 +14952,7 @@ done
     LIBS="$ac_save_LIBS"
 
     echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6
-echo "configure:14916: checking for XPG2 wchar_t support" >&5
+echo "configure:14956: checking for XPG2 wchar_t support" >&5
     if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes \
        && test x"$ac_XPG2funcs" = xyes; then
       ac_XPG2_wchar_t=yes
@@ -14922,7 +14962,7 @@ echo "configure:14916: checking for XPG2 wchar_t support" >&5
     echo "$ac_t""$ac_XPG2_wchar_t" 1>&6
   
             echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
-echo "configure:14926: checking for enabled wchar_t specializations" >&5
+echo "configure:14966: checking for enabled wchar_t specializations" >&5
     if test x"$ac_isoC99_wchar_t" = xyes \
        && test x"$ac_XPG2_wchar_t" = xyes; then
       libinst_wstring_la="libinst-wstring.la"
@@ -14949,12 +14989,12 @@ EOF
   for ac_func in strtof
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14953: checking for $ac_func" >&5
+echo "configure:14993: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 14958 "configure"
+#line 14998 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -14977,7 +15017,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:14981: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -15003,7 +15043,7 @@ done
 
   
   echo $ac_n "checking for strtold declaration""... $ac_c" 1>&6
-echo "configure:15007: checking for strtold declaration" >&5
+echo "configure:15047: checking for strtold declaration" >&5
   if test x${glibcpp_cv_func_strtold_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_strtold_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -15018,14 +15058,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 15022 "configure"
+#line 15062 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 int main() {
  strtold(0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:15029: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15069: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_strtold_use=yes
 else
     for ac_func in strtold
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15055: checking for $ac_func" >&5
+echo "configure:15095: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 15060 "configure"
+#line 15100 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -15079,7 +15119,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:15083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -15113,17 +15153,17 @@ done
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:15117: checking for $ac_hdr" >&5
+echo "configure:15157: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 15122 "configure"
+#line 15162 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:15127: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:15167: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -15152,12 +15192,12 @@ done
 for ac_func in getpagesize
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15156: checking for $ac_func" >&5
+echo "configure:15196: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 15161 "configure"
+#line 15201 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -15180,7 +15220,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:15184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15224: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -15205,7 +15245,7 @@ fi
 done
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:15209: checking for working mmap" >&5
+echo "configure:15249: checking for working mmap" >&5
 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -15213,7 +15253,7 @@ else
   ac_cv_func_mmap_fixed_mapped=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 15217 "configure"
+#line 15257 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
@@ -15353,7 +15393,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:15357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:15397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_mmap_fixed_mapped=yes
 else
@@ -15470,17 +15510,17 @@ rm -f confcache
 
   ac_safe=`echo "locale.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for locale.h""... $ac_c" 1>&6
-echo "configure:15474: checking for locale.h" >&5
+echo "configure:15514: checking for locale.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 15479 "configure"
+#line 15519 "configure"
 #include "confdefs.h"
 #include <locale.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:15484: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:15524: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -15498,19 +15538,19 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   
     echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:15502: checking for LC_MESSAGES" >&5
+echo "configure:15542: checking for LC_MESSAGES" >&5
 if eval "test \"`echo '$''{'ac_cv_val_LC_MESSAGES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 15507 "configure"
+#line 15547 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int main() {
 return LC_MESSAGES
 ; return 0; }
 EOF
-if { (eval echo configure:15514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15554: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_val_LC_MESSAGES=yes
 else
@@ -15552,14 +15592,14 @@ INTERFACE=v3
 # Check for the interface version number for specifying where header
 # files are installed, if a version number is provided.
 echo $ac_n "checking for interface version number""... $ac_c" 1>&6
-echo "configure:15556: checking for interface version number" >&5
+echo "configure:15596: checking for interface version number" >&5
 libstdcxx_interface=$INTERFACE
 echo "$ac_t""$libstdcxx_interface" 1>&6
 
 
 # Process the option --with-gxx-include-dir=<path to include-files directory>
 echo $ac_n "checking for --with-gxx-include-dir""... $ac_c" 1>&6
-echo "configure:15563: checking for --with-gxx-include-dir" >&5
+echo "configure:15603: checking for --with-gxx-include-dir" >&5
 # Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
 if test "${with_gxx_include_dir+set}" = set; then
   withval="$with_gxx_include_dir"
@@ -15593,7 +15633,7 @@ fi
 
 # Process the option "--enable-version-specific-runtime-libs"
 echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6
-echo "configure:15597: checking for --enable-version-specific-runtime-libs" >&5
+echo "configure:15637: checking for --enable-version-specific-runtime-libs" >&5
 # Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given.
 if test "${enable_version_specific_runtime_libs+set}" = set; then
   enableval="$enable_version_specific_runtime_libs"
@@ -16134,8 +16174,8 @@ fi; done
 EOF
 
 cat >> $CONFIG_STATUS <<EOF
-ac_sources="$os_include_dir/bits/os_defines.h $CSTDIO_H $CSTDIO_CC $CCODECVT_C config/$THREADH $os_include_dir/bits/ctype_base.h $os_include_dir/bits/ctype_inline.h $os_include_dir/bits/ctype_noninline.h $ATOMICITYH/bits/atomicity.h"
-ac_dests="include/bits/os_defines.h include/bits/c++io.h src/c++io.cc libio/c_codecvt.c include/bits/c++threads.h \
+ac_sources="$os_include_dir/bits/os_defines.h $CSTDIO_H $CSTDIO_CC $CCODECVT_C $CLOCALE_H $CLOCALE_CC config/$THREADH $os_include_dir/bits/ctype_base.h $os_include_dir/bits/ctype_inline.h $os_include_dir/bits/ctype_noninline.h $ATOMICITYH/bits/atomicity.h"
+ac_dests="include/bits/os_defines.h include/bits/c++io.h src/c++io.cc libio/c_codecvt.c include/bits/c++locale.h src/c++locale.cc include/bits/c++threads.h \
 include/bits/ctype_base.h \
 include/bits/ctype_inline.h \
 include/bits/ctype_noninline.h include/bits/atomicity.h"
index 9a0b3b7fdf91a9bcb316f93e543236e288a92d5a..eea3b6e27ac04587e9434797200bc7606fd28cd3 100644 (file)
@@ -35,6 +35,7 @@ GLIBCPP_CHECK_COMPILER_VERSION
 # Enable all the crazy c++ stuff.  C_MBCHAR must come early.
 GLIBCPP_ENABLE_DEBUG($USE_MAINTAINER_MODE)
 GLIBCPP_ENABLE_CSTDIO
+GLIBCPP_ENABLE_CLOCALE
 GLIBCPP_ENABLE_C_MBCHAR([yes])
 GLIBCPP_ENABLE_LONG_LONG([no])
 GLIBCPP_ENABLE_CHEADERS([c_std])
index dc3510be351d6b415eabc1136a827271d15efcb6..2bbb4bd5e9f3ee1b708341f07f55f046589c9399 100644 (file)
@@ -5,12 +5,14 @@
   </H1>
 </HEAD>
 <I>
-prepared by Benjamin Kosnik (bkoz@redhat.com) on September 15, 2000
+prepared by Benjamin Kosnik (bkoz@redhat.com) on January 24, 2001
 </I>
 
 <P>
 <H2>
-1. Abstract
+1. Abstract Describes the basic locale object, including nested
+classes id, facet, and the reference-counted implementation object,
+class _Impl.
 </H2>
 <P>
 </P>
@@ -18,6 +20,7 @@ prepared by Benjamin Kosnik (bkoz@redhat.com) on September 15, 2000
 <P>
 <H2>
 2. What the standard says
+See Chapter 22 of the standard.
 </H2>
 
 
@@ -27,17 +30,44 @@ prepared by Benjamin Kosnik (bkoz@redhat.com) on September 15, 2000
 </H2>
 
 <P>
-For the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt; ,
-conversions are made between the internal character set (always UCS4
-on GNU/Linux) and whatever the currently selected locale for the
-LC_CTYPE category implements.
+The major problem is fitting an object-orientated and non-global locale
+design ontop of POSIX and other relevant stanards, which include the
+Single Unix (nee X/Open.)
 
+Because POSIX falls down so completely, portibility is an issue.
 <P>
+
 <H2>
 4. Design
 </H2>
-The two required specializations are implemented as follows:
+Class locale in non-templatized and has three distinct types nested
+inside of it:
+
+class facet
+22.1.1.1.2 Class locale::facet
+
+Facets actually implement locale functionality. For instance, a facet
+called numpunct is the data objects that can be used to query for the
+thousands seperator is in the German locale.
+
+Literally, a facet is strictly defined:
+ - containing 
+public:
+  static locale::id id;
+
+- or derived from another facet
+
+The only other thing of interest in this class is the memory
+management of facets. Each constructor of a facet class takes a
+std::size_t __refs argument: if __refs == 0, the facet is deleted when
+no longer used. if __refs == 1, the facet is not destroyed, even when
+it is no longer reference.
+
+
+class id
+Provides an index for looking up specific facets.
 
+class _Impl
 
 <P>
 <H2>
@@ -45,7 +75,7 @@ The two required specializations are implemented as follows:
 </H2>
 
 <pre>
-  typedef ctype<char> cctype;
+  typedef __locale_t locale;
 </pre>
 
 More information can be found in the following testcases:
index 3510ef3813c5ac99afd643764624e7fdaef69b12..cf9ded1e690a5b866caaf0af037b7667bf4097ff 100644 (file)
@@ -7,7 +7,7 @@
    <META NAME="GENERATOR" CONTENT="vi and eight fingers">
    <TITLE>libstdc++-v3 configure options</TITLE>
 <LINK REL=StyleSheet HREF="lib3styles.css">
-<!-- $Id: configopts.html,v 1.3 2001/01/03 15:53:27 bkoz Exp $ -->
+<!-- $Id: configopts.html,v 1.4 2001/01/21 09:36:09 pme Exp $ -->
 </HEAD>
 <BODY>
 
@@ -69,6 +69,21 @@ options</A></H1>
        abstraction.  The default is 'stdio'.
      </P>
 
+ <DT><TT>--enable-clocale  </TT>
+ <DD><P>This is an abbreviated form of <TT>'--enable-clocale=generic'</TT>
+        (described next).
+     </P>
+
+ <DT><TT>--enable-clocale=MODEL  </TT>
+ <DD><P>Select a target-specific underlying locale package. The
+        choices are 'gnu' to specify an X/Open (IEEE Std. 1003.1-200x)
+        model based on langinfo/iconv (from <A
+        HREF="http://sources.redhat.com/glibc/">glibc</A>, the GNU C
+        library), or 'generic' to use a generic &quot;C&quot;
+        abstraction which consists of "C" locale info.  The default is
+        'generic'.
+     </P>
+
  <DT><TT>--enable-long-long  </TT>
  <DD><P>The &quot;long long&quot; type was introduced in C99.  It is
         provided as a GNU extension to C++98 in g++.  This flag builds
@@ -178,7 +193,7 @@ options</A></H1>
 
 <HR>
 <P CLASS="fineprint"><EM>
-$Id: configopts.html,v 1.3 2001/01/03 15:53:27 bkoz Exp $
+$Id: configopts.html,v 1.4 2001/01/21 09:36:09 pme Exp $
 </EM></P>
 
 
index 6d3b3a358b3f04ce03c6edb0213e9d7b81fbf8f3..f96924119b9ef1134629f2877251f8a6a54637aa 100644 (file)
@@ -1,6 +1,6 @@
 // Locale support -*- C++ -*-
 
-// Copyright (C) 1997-2000 Free Software Foundation, Inc.
+// 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
 #define _CPP_BITS_LOCFACETS_H  1
 
 #include <bits/std_ctime.h>    // For struct tm
-#include <typeinfo>            // For bad_cast, which shouldn't be here.
 #include <bits/std_ios.h>      // For ios_base
 #ifdef _GLIBCPP_USE_WCHAR_T
+# include <langinfo.h>         // For codecvt
 # include <bits/std_cwctype.h> // For wctype_t
 # include <iconv.h>            // For codecvt using iconv, iconv_t
-# include <langinfo.h>         // For codecvt using nl_langinfo
 #endif 
 
 namespace std
 {
-  // XXX This function is to be specialized for the "required" facets to 
-  // be constructed lazily.   The specializations must be declared after 
-  // the definitions of the facets themselves; but they shouldn't be 
-  // inline.  Corresponding new's in locale::classic() should then be 
-  // eliminated.  Note that ctype<> should not get this treatment; 
-  // see the use_facet<> specializations below.
-  //
-  struct _Bad_use_facet : public bad_cast 
-  {
-    _Bad_use_facet() throw() {}
-
-    _Bad_use_facet(_Bad_use_facet const&  __b) throw() 
-    : bad_cast(__b) { }
-
-    _Bad_use_facet& 
-    operator=(_Bad_use_facet const& __b) throw() 
-    { 
-      static_cast<bad_cast*>(this)->operator=(__b); 
-      return *this; 
-    }
-
-    virtual char const* 
-    what() const throw();
-
-    virtual 
-    ~_Bad_use_facet() throw();
-  };
-
-  template<typename _Facet>
-    const _Facet& 
-    _Use_facet_failure_handler(const locale&)
-    { throw _Bad_use_facet(); }
-
   // 22.2.1.1  Template class ctype
   // Include host-specific ctype enums for ctype_base.
   #include <bits/ctype_base.h>
@@ -809,12 +775,30 @@ namespace std
     locale::id num_put<_CharT, _OutIter>::id;
 
   template<typename _CharT>
-    class _Punct : public locale::facet
+    class numpunct : public locale::facet
     {
     public:
       // Types:
-      typedef _CharT               char_type;
-      typedef basic_string<_CharT> string_type;
+      typedef _CharT                   char_type;
+      typedef basic_string<_CharT>     string_type;
+
+      static locale::id id;
+
+    private:
+      char_type        _M_decimal_point;
+      char_type        _M_thousands_sep;
+      string           _M_grouping;
+      string_type      _M_truename;
+      string_type      _M_falsename;
+
+    public:
+      explicit 
+      numpunct(size_t __refs = 0) : locale::facet(__refs) 
+      { _M_initialize_numpunct(); }
+
+      explicit 
+      numpunct(__c_locale __cloc, size_t __refs = 0) : locale::facet(__refs) 
+      { _M_initialize_numpunct(__cloc); }
 
       char_type    
       decimal_point() const
@@ -827,13 +811,18 @@ namespace std
       string       
       grouping() const
       { return do_grouping(); }
-    protected:
 
-      explicit 
-      _Punct(size_t __refs = 0) : locale::facet(__refs) { }
+      string_type  
+      truename() const
+      { return do_truename(); }
+
+      string_type  
+      falsename() const
+      { return do_falsename(); }
 
+    protected:
       virtual 
-      ~_Punct() { }
+      ~numpunct() { }
 
       virtual char_type    
       do_decimal_point() const
@@ -843,49 +832,10 @@ namespace std
       do_thousands_sep() const
       { return _M_thousands_sep; }
 
-      virtual string       
+      virtual string
       do_grouping() const
       { return _M_grouping; }
 
-    private:
-      char_type _M_decimal_point;
-      char_type _M_thousands_sep;
-      string    _M_grouping;
-      
-    protected:
-      // for use at construction time only:
-      void 
-      _M_init(char_type __d, char_type __t, const string& __g)
-      {
-       _M_decimal_point = __d;
-       _M_thousands_sep = __t;
-       _M_grouping = __g;
-      }
-    };
-
-  template<typename _CharT>
-    class _Numpunct : public _Punct<_CharT>
-    {
-    public:
-      // Types:
-      typedef _CharT               char_type;
-      typedef basic_string<_CharT> string_type;
-
-      string_type  
-      truename() const
-      { return do_truename(); }
-
-      string_type  
-      falsename() const
-      { return do_falsename(); }
-
-    protected:
-      explicit 
-      _Numpunct(size_t __refs = 0) : _Punct<_CharT> (__refs) { }
-
-      virtual 
-      ~_Numpunct() { }
-
       virtual string_type  
       do_truename() const
       { return _M_truename; }
@@ -894,86 +844,67 @@ namespace std
       do_falsename() const
       { return _M_falsename; }
 
-    private:
-      string_type _M_truename;
-      string_type _M_falsename;
-      
-    protected:
-      // For use only during construction
+      // For use at construction time only.
       void 
-      _M_boolnames_init(const string_type& __t, const string_type& __f)
-      {
-       _M_truename = __t;
-       _M_falsename = __f;
-      }
-    };
-
-  template<typename _CharT>
-    class numpunct : public _Numpunct<_CharT>
-    {
-    public:
-      typedef _CharT               char_type;
-      typedef basic_string<_CharT> string_type;
-
-      static locale::id id;
-
-      explicit 
-      numpunct(size_t __refs = 0) : _Numpunct<_CharT>(__refs) { }
-
-    protected:
-      virtual 
-      ~numpunct() { }
+      _M_initialize_numpunct(__c_locale __cloc = NULL);
     };
 
   template<typename _CharT>
     locale::id numpunct<_CharT>::id;
 
-  template<
-    numpunct<char>::numpunct(size_t __refs): _Numpunct<char>(__refs)
-    {
-      _M_init('.', ',', "");
-      _M_boolnames_init("true", "false");
+  template<typename _CharT>
+    void
+    numpunct<_CharT>::_M_initialize_numpunct(__c_locale /*__cloc*/)
+    { 
+      // NB: Cannot be made generic. 
     }
 
+  template<> 
+    void
+    numpunct<char>::_M_initialize_numpunct(__c_locale __cloc);
 #ifdef _GLIBCPP_USE_WCHAR_T
   template<> 
-    numpunct<wchar_t>::numpunct(size_t __refs): _Numpunct<wchar_t>(__refs)
-    {
-      _M_init(L'.', L',', "");
-      _M_boolnames_init(L"true", L"false");
-    }
+    void
+    numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
 #endif
 
+
   template<typename _CharT>
     class numpunct_byname : public numpunct<_CharT>
     {
+      __c_locale                       _M_c_locale_numpunct;
     public:
-      typedef _CharT               char_type;
-      typedef basic_string<_CharT> string_type;
+      typedef _CharT                   char_type;
+      typedef basic_string<_CharT>     string_type;
 
       explicit 
-      numpunct_byname(const char*, size_t __refs = 0);
-      
+      numpunct_byname(const char* __s, size_t __refs = 0)
+      : numpunct<_CharT>(__refs)
+      {
+       _S_create_c_locale(_M_c_locale_numpunct, __s);
+       _M_initialize_numpunct(_M_c_locale_numpunct);   
+      }
+
     protected:
       virtual 
-      ~numpunct_byname() { }
+      ~numpunct_byname() 
+      { _S_destroy_c_locale(_M_c_locale_numpunct); }
     };
 
-  template<>
-    numpunct_byname<char>::numpunct_byname(const char*, size_t __refs);
-#ifdef _GLIBCPP_USE_WCHAR_T
-  template<>
-    numpunct_byname<wchar_t>::numpunct_byname(const char*, size_t __refs);
-#endif
 
   template<typename _CharT>
-    class _Collate : public locale::facet
+    class collate : public locale::facet
     {
     public:
       // Types:
       typedef _CharT               char_type;
       typedef basic_string<_CharT> string_type;
 
+      static locale::id id;
+
+      explicit 
+      collate(size_t __refs = 0) : locale::facet(__refs) { }
+
       int 
       compare(const _CharT* __lo1, const _CharT* __hi1,
              const _CharT* __lo2, const _CharT* __hi2) const
@@ -988,99 +919,50 @@ namespace std
       { return do_hash(__lo, __hi); }
       
   protected:
-      explicit 
-      _Collate(size_t __refs = 0) : locale::facet(__refs) { }
-
-      ~_Collate() { } // virtual
+      ~collate() { } // virtual
 
       virtual int  
       do_compare(const _CharT* __lo1, const _CharT* __hi1,
-                const _CharT* __lo2, const _CharT* __hi2) const = 0;
+                const _CharT* __lo2, const _CharT* __hi2) const;
 
       virtual string_type 
-      do_transform(const _CharT* __lo, const _CharT* __hi) const = 0;
+      do_transform(const _CharT* __lo, const _CharT* __hi) const;
 
       virtual long   
-      do_hash(const _CharT* __lo, const _CharT* __hi) const = 0;
-    };
-
-  template<typename _CharT>
-    class collate : public _Collate<_CharT>
-    {
-    public:      
-      // Types:
-      typedef _CharT               char_type;
-      typedef basic_string<_CharT> string_type;
-
-      explicit 
-      collate(size_t __refs = 0) : _Collate<_CharT> (__refs) { }
-
-      static locale::id id;
-      
-    protected:
-      virtual 
-      ~collate() { }
+      do_hash(const _CharT* __lo, const _CharT* __hi) const;
     };
 
   template<typename _CharT>
     locale::id collate<_CharT>::id;
 
+  // Required specializations.
   template<>
-    class collate<char> : public _Collate<char>
-    {
-    public:      
-      // Types:
-      typedef char               char_type;
-      typedef basic_string<char> string_type;
-
-      explicit 
-      collate(size_t __refs = 0);
+    int 
+    collate<char>::do_compare(const char* __lo1, const char* __hi1, 
+                             const char* __lo2, const char* __hi2) const;
 
-      static locale::id id;
-      
-    protected:
-      virtual 
-      ~collate();
-
-      virtual int  
-      do_compare(const char* __lo1, const char* __hi1,
-                const char* __lo2, const char* __hi2) const;
-
-      virtual string_type 
-      do_transform(const char* __lo, const char* __hi) const;
-
-      virtual long   
-      do_hash(const char* __lo, const char* __hi) const;
-    };
+  template<>
+    string
+    collate<char>::do_transform(const char* __lo, const char* __hi) const;
 
+  template<>
+    long
+    collate<char>::do_hash(const char* __lo, const char* __hi) const;
 #ifdef _GLIBCPP_USE_WCHAR_T
   template<>
-    class collate<wchar_t> : public _Collate<wchar_t>
-    {
-    public:
-      // Types:
-      typedef wchar_t               char_type;
-      typedef basic_string<wchar_t> string_type;
-      
-      explicit 
-      collate(size_t __refs = 0);
+    int 
+    collate<wchar_t>::do_compare(const wchar_t* __lo1, const wchar_t* __hi1, 
+                                const wchar_t* __lo2, 
+                                const wchar_t* __hi2) const;
 
-      static locale::id id;
-      
-    protected:
-      virtual 
-      ~collate();
-
-      virtual int   
-      do_compare(const wchar_t* __lo1, const wchar_t* __hi1,
-                const wchar_t* __lo2, const wchar_t* __hi2) const;
-
-      virtual string_type 
-      do_transform(const wchar_t* __lo, const wchar_t* __hi) const;
+  template<>
+    wstring
+    collate<wchar_t>::do_transform(const wchar_t* __lo, 
+                                  const wchar_t* __hi) const;
 
-      virtual long   
-      do_hash(const wchar_t* __lo, const wchar_t* __hi) const;
-    };
+  template<>
+    long
+    collate<wchar_t>::do_hash(const wchar_t* __lo, const wchar_t* __hi) const;
 #endif
 
   template<typename _CharT>
@@ -1356,17 +1238,58 @@ namespace std
     struct pattern { char field[4]; };
 
     static const pattern _S_default_pattern;
+
+    // Construct and return valid pattern consisting of some combination of:
+    // space none symbol sign value
+    static pattern 
+    _S_construct_pattern(char __preceeds, char __space, char __posn);
   };
 
-  template<typename _CharT>
-    class _Moneypunct : public _Punct<_CharT>, public money_base
+  template<typename _CharT, bool _Intl>
+    class moneypunct : public locale::facet, public money_base
     {
     public:
-      typedef _CharT char_type;
-      typedef basic_string<_CharT> string_type;
+      // Types:
+      typedef _CharT                   char_type;
+      typedef basic_string<_CharT>     string_type;
+
+      static const bool intl = _Intl;
+      static locale::id id;
+
+    private:
+      char_type        _M_decimal_point;
+      char_type        _M_thousands_sep;
+      string           _M_grouping;
+      string_type      _M_curr_symbol;
+      string_type      _M_positive_sign;
+      string_type      _M_negative_sign;
+      int              _M_frac_digits;
+      pattern          _M_pos_format;
+      pattern          _M_neg_format;
+
+    public:
+      explicit 
+      moneypunct(size_t __refs = 0) : locale::facet(__refs)
+      { _M_initialize_moneypunct(); }
+
+      explicit 
+      moneypunct(__c_locale __cloc, size_t __refs = 0) : locale::facet(__refs)
+      { _M_initialize_moneypunct(__cloc); }
+
+      char_type
+      decimal_point() const
+      { return decimal_point(); }
+      
+      char_type
+      thousands_sep() const
+      { return thousands_sep(); }
+      
+      string 
+      grouping() const
+      { return grouping(); }
 
       string_type  
-      curr_symbol()   const
+      curr_symbol() const
       { return do_curr_symbol(); }
 
       string_type  
@@ -1378,66 +1301,60 @@ namespace std
       { return do_negative_sign(); }
 
       int          
-      frac_digits()   const
+      frac_digits() const
       { return do_frac_digits(); }
 
       pattern      
-      pos_format()    const
+      pos_format() const
       { return do_pos_format(); }
 
       pattern      
-      neg_format()    const
+      neg_format() const
       { return do_neg_format(); }
 
     protected:
-      explicit 
-      _Moneypunct(size_t __refs = 0) : _Punct<_CharT> (__refs) { }
-
       virtual 
-      ~_Moneypunct() { }
+      ~moneypunct() { }
+
+      virtual char_type
+      do_decimal_point() const
+      { return _M_decimal_point; }
+      
+      virtual char_type
+      do_thousands_sep() const
+      { return _M_thousands_sep; }
+      
+      virtual string 
+      do_grouping() const
+      { return _M_grouping; }
 
       virtual string_type  
       do_curr_symbol()   const
-      { return basic_string<_CharT>(); }
+      { return _M_curr_symbol; }
 
       virtual string_type  
       do_positive_sign() const
-      { return basic_string<_CharT>(); }
+      { return _M_positive_sign; }
 
       virtual string_type  
       do_negative_sign() const
-      { return basic_string<_CharT>(); }
+      { return _M_negative_sign; }
 
       virtual int          
       do_frac_digits() const
-      { return 0; }
+      { return _M_frac_digits; }
 
       virtual pattern      
       do_pos_format() const
-      { return money_base::_S_default_pattern; }
+      { return _M_pos_format; }
 
       virtual pattern      
       do_neg_format() const
-      { return money_base::_S_default_pattern; }
-    };
+      { return _M_neg_format; }
 
-  template<typename _CharT, bool _Intl>
-    class moneypunct : public _Moneypunct<_CharT>
-    {
-    public:
-      // Types:
-      typedef _CharT                   char_type;
-      typedef basic_string<_CharT>     string_type;
-
-      static const bool intl = _Intl;
-      static locale::id id;
-
-      explicit 
-      moneypunct(size_t __refs = 0) : _Moneypunct<_CharT> (__refs) { }
-
-    protected:
-      virtual 
-      ~moneypunct() { }
+      // For use at construction time only.
+      void 
+      _M_initialize_moneypunct(__c_locale __cloc = NULL);
     };
 
   template<typename _CharT, bool _Intl>
@@ -1447,38 +1364,48 @@ namespace std
     const bool moneypunct<_CharT, _Intl>::intl;
 
   template<typename _CharT, bool _Intl>
-    class moneypunct_byname : public moneypunct<_CharT,_Intl>
+    void
+    moneypunct<_CharT, _Intl>::_M_initialize_moneypunct(__c_locale /*__cloc*/)
+    { 
+      // NB: Cannot be made generic. 
+    }
+
+  template<> 
+    void
+    moneypunct<char>::_M_initialize_moneypunct(__c_locale __cloc);
+#ifdef _GLIBCPP_USE_WCHAR_T
+  template<> 
+    void
+    moneypunct<wchar_t>::_M_initialize_moneypunct(__c_locale __cloc);
+#endif
+
+  template<typename _CharT, bool _Intl>
+    class moneypunct_byname : public moneypunct<_CharT, _Intl>
     {
+      __c_locale                       _M_c_locale_moneypunct;
     public:
-      typedef _CharT char_type;
-      typedef basic_string<_CharT> string_type;
+      typedef _CharT                   char_type;
+      typedef basic_string<_CharT>     string_type;
+
       static const bool intl = _Intl;
 
       explicit 
-      moneypunct_byname(const char*, size_t __refs = 0);
+      moneypunct_byname(const char* __s, size_t __refs = 0)
+      : moneypunct<_CharT, _Intl>(__refs)
+      {
+       _S_create_c_locale(_M_c_locale_moneypunct, __s);
+       _M_initialize_moneypunct(_M_c_locale_moneypunct);       
+      }
 
     protected:
       virtual 
-      ~moneypunct_byname() { }
+      ~moneypunct_byname() 
+      { _S_destroy_c_locale(_M_c_locale_moneypunct); }
     };
 
   template<typename _CharT, bool _Intl>
     const bool moneypunct_byname<_CharT, _Intl>::intl;
 
-  template<>
-    moneypunct_byname<char, false>::
-    moneypunct_byname(const char*, size_t __refs);
-  template<>
-    moneypunct_byname<char, true>::
-    moneypunct_byname(const char*, size_t __refs);
-#ifdef _GLIBCPP_USE_WCHAR_T
-  template<>
-    moneypunct_byname<wchar_t,false>::
-    moneypunct_byname(const char*, size_t __refs);
-  template<>
-    moneypunct_byname<wchar_t,true>::
-    moneypunct_byname (const char*, size_t __refs);
-#endif
 
   struct messages_base
   {
@@ -1486,11 +1413,16 @@ namespace std
   };
 
   template<typename _CharT>
-    class _Messages : public locale::facet, public messages_base
+    class messages : public locale::facet, public messages_base
     {
     public:
-      typedef _CharT char_type;
-      typedef basic_string<_CharT> string_type;
+      typedef _CharT                   char_type;
+      typedef basic_string<_CharT>     string_type;
+
+      static locale::id id;
+
+      explicit 
+      messages(size_t __refs = 0) : locale::facet(__refs) { }
 
       catalog 
       open(const basic_string<char>& __s, const locale& __loc) const
@@ -1505,11 +1437,8 @@ namespace std
       { return do_close(__c); }
 
     protected:
-      explicit 
-      _Messages(size_t __refs = 0) : locale::facet(__refs) { }
-
       virtual 
-      ~_Messages() { }
+      ~messages() { }
 
       // NB: Probably these should be pure, and implemented only in
       //  specializations of messages<>.  But for now...
@@ -1522,22 +1451,7 @@ namespace std
       { return __dfault; }
 
       virtual void    
-      do_close (catalog) const { }
-    };
-
-  template<typename _CharT>
-    class messages : public _Messages<_CharT>
-    {
-    public:
-      typedef _CharT char_type;
-      typedef basic_string<_CharT> string_type;
-      static locale::id id;
-
-      explicit 
-      messages(size_t __refs = 0) : _Messages<_CharT> (__refs) { }
-    protected:
-      virtual 
-      ~messages() { }
+      do_close(catalog) const { }
     };
 
   template<typename _CharT>
index e0a0dbdefb4f3b206d2a02b1ab7ebc91041b344e..87ba473514b1014cf05cc1af390ac2f145f7c6bf 100644 (file)
@@ -1,6 +1,6 @@
 // Locale support -*- C++ -*-
 
-// Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+// 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
 #include <bits/std_memory.h>    // For auto_ptr
 #include <bits/sbuf_iter.h>     // For streambuf_iterators
 #include <bits/std_cctype.h>    // For isspace
+#include <typeinfo>            // For bad_cast
 #include <bits/std_vector.h>   
 
+
 namespace std
 {
   template<typename _Facet>
@@ -49,7 +51,6 @@ namespace std
     {
       locale __copy(*this);
       __copy._M_impl->_M_replace_facet(__other._M_impl, &_Facet::id);
-      __copy._M_impl->_M_has_name = false;
       return __copy;
     }
 
@@ -58,8 +59,6 @@ namespace std
     locale::operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1,
                        const basic_string<_CharT, _Traits, _Alloc>& __s2) const
     {
-      // XXX should not need to qualify here.
-      // typedef collate<_CharT> __collate_type;
       typedef std::collate<_CharT> __collate_type;
       const __collate_type* __fcoll = &use_facet<__collate_type>(*this);
       return (__fcoll->compare(__s1.data(), __s1.data() + __s1.length(),
@@ -71,12 +70,12 @@ namespace std
     use_facet(const locale& __loc)
     {
       typedef locale::_Impl::__vec_facet        __vec_facet;
-      locale::id& __id = _Facet::id;         // check member id
+      locale::id& __id = _Facet::id;         
       size_t __i = __id._M_index;
       __vec_facet* __facet = __loc._M_impl->_M_facets;
-      const locale::facet* __fp = (*__facet)[__i]; // check derivation
-      if (__i >= __facet->size() || __fp == 0)
-        return _Use_facet_failure_handler<_Facet>(__loc);
+      const locale::facet* __fp = (*__facet)[__i]; 
+      if (__fp == 0 || __i >= __facet->size())
+        throw bad_cast();
       return static_cast<const _Facet&>(*__fp);
     }
 
@@ -85,7 +84,7 @@ namespace std
     has_facet(const locale& __loc) throw()
     {
       typedef locale::_Impl::__vec_facet        __vec_facet;
-      locale::id& __id = _Facet::id;         // check member id
+      locale::id& __id = _Facet::id;         
       size_t __i = __id._M_index;
       __vec_facet* __facet = __loc._M_impl->_M_facets;
       return (__i < __facet->size() && (*__facet)[__i] != 0);
index cb86d9102fd1470fa4ec4b2817efad99ff8c4988..cafa045b4105646697f8d536f45c1c511a7ffbd1 100644 (file)
@@ -1,6 +1,6 @@
 // Locale support -*- C++ -*-
 
-// Copyright (C) 1997-2000 Free Software Foundation, Inc.
+// 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
 #include <bits/std_climits.h>  // For CHAR_BIT
 #include <bits/std_string.h>   // For string
 #include <bits/std_cctype.h>   // For isspace, etc.
+#include <bits/c++locale.h>     // Defines __c_locale.
 
 namespace std
 {
+  // NB: Don't instantiate required wchar_t facets if no wchar_t support.
+#ifdef _GLIBCPP_USE_WCHAR_T
+# define  _GLIBCPP_NUM_FACETS 26
+#else
+# define  _GLIBCPP_NUM_FACETS 13
+#endif
 
   // _Count_ones: compile-time computation of number of 1-bits in a value N
   // This takes only 5 (or 6) instantiations, doing recursive descent
@@ -163,10 +170,6 @@ namespace std
   // 22.2.4 collation
   template<typename _CharT> 
     class collate;
-  template<> class collate<char>;
-#ifdef _GLIBCPP_USE_WCHAR_T
-  template<> class collate<wchar_t>;
-#endif
   template<typename _CharT> class 
     collate_byname;
 
@@ -199,19 +202,19 @@ namespace std
   template<typename _CharT> 
     class messages_byname;
 
-
   // 22.1.1 Class locale
   class locale
   {
   public:
     // Types:
-    typedef unsigned int category;
+    typedef unsigned int       category;
 
     // Forward decls and friends:
     class facet;
     class id;
     class _Impl;
 
+    friend class facet;
     friend class _Impl;
 
     template<typename _Facet>
@@ -223,7 +226,7 @@ namespace std
       has_facet(const locale&) throw();
  
     // Category values:
-    // NB much depends on the order in which these appear:
+    // NB: Order must match _S_facet_categories definition in locale.cc
     static const category none         = 0;
     static const category ctype        = 1 << 0;
     static const category numeric      = 1 << 1;
@@ -235,23 +238,20 @@ namespace std
                                           numeric | time  | messages);
 
     // Construct/copy/destroy:
-    inline  
     locale() throw();
 
-    inline  
     locale(const locale& __other) throw();
 
     explicit  
     locale(const char* __std_name);
 
-    locale(const locale& __other, const char* __std_name, category __cat);
+    locale(const locale& __base, const char* __s, category __cat);
 
-    locale(const locale& __other, const locale& __one, category __cat);
+    locale(const locale& __base, const locale& __add, category __cat);
 
     template<typename _Facet>
       locale(const locale& __other, _Facet* __f);
 
-    inline  
     ~locale() throw();
 
     const locale&  
@@ -294,8 +294,8 @@ namespace std
     // Current global reference locale
     static _Impl*      _S_global;  
 
-    static const int   _S_categories_num = _Count_ones<all>::_M_count;
-    static const int   _S_facets_num = 26;
+    static const size_t        _S_num_categories = _Count_ones<all>::_M_count;
+    static const size_t _S_num_facets = _GLIBCPP_NUM_FACETS;
 
     explicit 
     locale(_Impl*) throw();
@@ -304,8 +304,11 @@ namespace std
     _S_initialize()
     { if (!_S_classic) classic();  }
 
-    static int  
-    _S_normalize_category(int);
+    static category  
+    _S_normalize_category(category);
+
+    void
+    _M_coalesce(const locale& __base, const locale& __add, category __cat);
   };
 
 
@@ -314,8 +317,7 @@ namespace std
   {
   public:
     // Types.
-    typedef vector<facet*, allocator<facet*> > __vec_facet;
-    typedef vector<string, allocator<string> > __vec_string;
+    typedef vector<facet*, allocator<facet*> >         __vec_facet;
 
     // Friends.
     friend class locale;
@@ -333,9 +335,8 @@ namespace std
     // Data Members.
     size_t                             _M_references;
     __vec_facet*                       _M_facets;
-    __vec_string*                      _M_category_names;
-    bool                               _M_has_name;
-    string                             _M_name;
+    string                             _M_names[_S_num_categories];
+    __c_locale                         _M_c_locale;
     static const locale::id* const     _S_id_ctype[];
     static const locale::id* const     _S_id_numeric[];
     static const locale::id* const     _S_id_collate[];
@@ -353,19 +354,25 @@ namespace std
     {
       if (_M_references-- == 0)  // XXX MT
        {
-         try { 
-           delete this; 
-         } 
-         catch(...) { 
-         }
+         try 
+           { delete this; } 
+         catch(...) 
+           { }
        }
     }
 
     _Impl(const _Impl&, size_t);
-    _Impl(const _Impl&, const string&, category, size_t);
-    _Impl(size_t, size_t, bool __has_name = false, string __name = "*");
+    _Impl(string __name, size_t);
    ~_Impl() throw();
 
+    bool
+    _M_check_same_name()
+    {
+      bool __ret = true;
+      for (size_t i = 0; i < _S_num_categories - 1; ++i)
+       __ret &= _M_names[i] == _M_names[i + 1];
+      return __ret;
+    }
     void 
     _M_replace_categories(const _Impl*, category);
 
@@ -380,53 +387,19 @@ namespace std
 
     template<typename _Facet>
       inline void 
-      _M_facet_init(_Facet* __facet)
+      _M_init_facet(_Facet* __facet)
       { _M_install_facet(&_Facet::id, __facet);  }
-
-    void 
-    _M_construct_collate(const char*);
-
-    void 
-    _M_construct_ctype(const char*);
-
-    void 
-    _M_construct_monetary(const char*);
-
-    void 
-    _M_construct_numeric(const char*);
-
-    void 
-    _M_construct_time(const char*);
-
-    void 
-    _M_construct_messages(const char*);
-
-    category 
-    _M_normalize_category_names(const string&, category __cat);
   };
 
-  // class locale inlines, that need declaration of locale::_Imp
-  locale::locale() throw()
-  { 
-    _S_initialize(); 
-    (_M_impl = _S_global)->_M_add_reference(); 
-  } // XXX MT
-
-  locale::locale(const locale& __other) throw()
-  { (_M_impl = __other._M_impl)->_M_add_reference(); }
-
   template<typename _Facet>
     locale::locale(const locale& __other, _Facet* __f)
     {
       _M_impl = new _Impl(*__other._M_impl, 1);
       _M_impl->_M_install_facet(&_Facet::id, __f);
-      _M_impl->_M_has_name = false;
-      _M_impl->_M_name = "*";
+      for (int __i = 0; __i < _S_num_categories; ++__i)
+       _M_impl->_M_names[__i] = "*";
     }
 
-  locale::~locale() throw()
-  { _M_impl->_M_remove_reference(); }
-
   // 22.1.1.1.2  Class locale::facet
   class locale::facet
   {
@@ -440,6 +413,12 @@ namespace std
     virtual 
     ~facet() { };
 
+    static void
+    _S_create_c_locale(__c_locale& __cloc, const char* __s);
+
+    static void
+    _S_destroy_c_locale(__c_locale& __cloc);
+
   private:
     size_t _M_references;
 
@@ -459,6 +438,7 @@ namespace std
   // 22.1.1.1.3 Class locale::id
   class locale::id
   {
+  private:
     friend class locale;
     friend class locale::_Impl;
     template<typename _Facet>
@@ -467,9 +447,7 @@ namespace std
     template<typename _Facet>
       friend bool           
       has_facet(const locale&) throw ();
-  public:
-    id() { };
-  private:
+
     // NB: There is no accessor for _M_index because it may be used
     // before the constructor is run; the effect of calling a member
     // function (even an inline) would be undefined.
@@ -482,6 +460,12 @@ namespace std
     operator=(const id&);  // not defined
 
     id(const id&);  // not defined
+
+  public:
+    // NB: This class is always a static data member, and thus can be
+    // counted on to be zero-initialized.
+    // XXX id() : _M_index(0) { }
+    id() { }
   };
 
   template<typename _Facet>
@@ -491,7 +475,6 @@ namespace std
   template<typename _Facet>
     bool
     has_facet(const locale& __loc) throw();
-
 } // namespace std
 
 #endif /* _CPP_BITS_LOCCORE_H */
index 18d73dd8cd44045a064c6f8aedfc1990cd26e932..e74397f40fe56008497ccd1a59b1a845019520ca 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- forwarding header.
 
-// Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
+// 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
@@ -36,6 +36,8 @@
 #ifndef _CPP_CLOCALE
 #define _CPP_CLOCALE 1
 
+#include <bits/c++config.h>
+
 #pragma GCC system_header
 #include <locale.h>
 
index 33b74e461124879ad72afa674dda28e763890d8f..44c83267e1bf5840b2724246d0fcee7fb35fe599 100644 (file)
@@ -1,3 +1,7 @@
+2001-01-28  benjamin kosnik  <bkoz@fillmore.constant.com>
+
+       * Makefile.am (LIBIO_SRCS): Remove stdio.c.
+
 2000-10-29  Benjamin Kosnik  <bkoz@gnu.org>
 
        * Makefile.am (INCLUDES): Change to $(top_builddir)/include.
index c768e4c6d706d99b2ed4ffc2b4d8d080e7cfca9f..c54ae683cb1a00bf7837b2fbef3ac4fc4ad3f12d 100644 (file)
@@ -48,8 +48,8 @@ libio_headers = \
 
 if GLIBCPP_NEED_LIBIO
 LIBIO_SRCS = \
-       filedoalloc.c genops.c fileops.c stdfiles.c c_codecvt.c iofclose.c \
-    iofopen.c stdio.c
+       filedoalloc.c genops.c fileops.c stdfiles.c c_codecvt.c \
+       iofclose.c iofopen.c 
 else
 LIBIO_SRCS =
 endif
index 8a05d158e7d2a75c8d6e68d041bddd6cdbdecb96..2edc59f6270b08a972a7aeeb77d70716e8da25dd 100644 (file)
@@ -129,7 +129,7 @@ INCLUDES =          -nostdinc++     -I$(top_builddir)/include -I$(GLIBCPP_INCLUDE_DIR)      $(
 
 libio_headers =          libio.h libioP.h iolibio.h
 
-@GLIBCPP_NEED_LIBIO_TRUE@LIBIO_SRCS =  filedoalloc.c genops.c fileops.c stdfiles.c c_codecvt.c iofclose.c     iofopen.c stdio.c
+@GLIBCPP_NEED_LIBIO_TRUE@LIBIO_SRCS =  filedoalloc.c genops.c fileops.c stdfiles.c c_codecvt.c         iofclose.c iofopen.c 
 @GLIBCPP_NEED_LIBIO_FALSE@LIBIO_SRCS = 
 @GLIBCPP_NEED_WLIBIO_TRUE@LIBIO_WSRCS =        wfiledoalloc.c wfileops.c wgenops.c iofwide.c
 @GLIBCPP_NEED_WLIBIO_FALSE@LIBIO_WSRCS = 
@@ -157,7 +157,7 @@ libio_la_LIBADD =
 @GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@stdfiles.lo \
 @GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@c_codecvt.lo \
 @GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@iofclose.lo \
-@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@iofopen.lo stdio.lo \
+@GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@iofopen.lo \
 @GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@wfiledoalloc.lo \
 @GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@wfileops.lo \
 @GLIBCPP_NEED_WLIBIO_TRUE@@GLIBCPP_NEED_LIBIO_TRUE@wgenops.lo \
@@ -174,7 +174,7 @@ libio_la_LIBADD =
 @GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_TRUE@stdfiles.lo \
 @GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_TRUE@c_codecvt.lo \
 @GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_TRUE@iofclose.lo \
-@GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_TRUE@iofopen.lo stdio.lo
+@GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_TRUE@iofopen.lo
 @GLIBCPP_NEED_WLIBIO_FALSE@@GLIBCPP_NEED_LIBIO_FALSE@libio_la_OBJECTS = 
 CFLAGS = @CFLAGS@
 COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
index 945b9627b77ec846975b906cc050163ab484f8f9..ed3326d733830707da3c22a72abe37e730fa799f 100644 (file)
@@ -21,7 +21,7 @@
 ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
 ## USA.
 
-## $Id: Makefile.am,v 1.64 2001/01/11 07:27:49 bkoz Exp $
+## $Id: Makefile.am,v 1.65 2001/01/25 22:39:28 mmitchel Exp $
 
 AUTOMAKE_OPTIONS = 1.3 gnits
 MAINT_CHARSET = latin1
@@ -168,7 +168,8 @@ libio_headers =
 endif
 
 build_headers = \
-       bits/std_limits.h bits/c++config.h bits/c++io.h bits/c++threads.h \
+       bits/std_limits.h \
+       bits/c++config.h bits/c++io.h bits/c++locale.h bits/c++threads.h \
        bits/atomicity.h bits/os_defines.h \
        bits/ctype_base.h bits/ctype_noninline.h bits/ctype_inline.h 
 
@@ -178,7 +179,7 @@ sources = \
        stdexcept.cc bitset.cc \
         globals.cc \
        c++io.cc ios.cc strstream.cc \
-       locale.cc localename.cc codecvt.cc \
+       c++locale.cc locale.cc localename.cc codecvt.cc \
        locale-inst.cc stl-inst.cc misc-inst.cc valarray-inst.cc string-inst.cc
 
 wstring_sources = \
index a9f2aa71071838db5e87dcbec4be128f6a68ba22..3f37c7e8c6fe4cca463a970ffd40a4f2eed9ab3e 100644 (file)
@@ -167,10 +167,10 @@ std_headers =     algorithm bitset complex deque fstream functional       iomanip ios i
 @GLIBCPP_NEED_LIBIO_TRUE@libio_headers =       $(top_srcdir)/libio/_G_config.h $(top_srcdir)/libio/libio.h
 @GLIBCPP_NEED_LIBIO_FALSE@libio_headers = 
 
-build_headers =        bits/std_limits.h bits/c++config.h bits/c++io.h bits/c++threads.h       bits/atomicity.h bits/os_defines.h      bits/ctype_base.h bits/ctype_noninline.h bits/ctype_inline.h 
+build_headers =        bits/std_limits.h       bits/c++config.h bits/c++io.h bits/c++locale.h bits/c++threads.h        bits/atomicity.h bits/os_defines.h      bits/ctype_base.h bits/ctype_noninline.h bits/ctype_inline.h 
 
 
-sources =      limitsMEMBERS.cc        complex_io.cc   stdexcept.cc bitset.cc         globals.cc       c++io.cc ios.cc strstream.cc    locale.cc localename.cc codecvt.cc      locale-inst.cc stl-inst.cc misc-inst.cc valarray-inst.cc string-inst.cc
+sources =      limitsMEMBERS.cc        complex_io.cc   stdexcept.cc bitset.cc         globals.cc       c++io.cc ios.cc strstream.cc    c++locale.cc locale.cc localename.cc codecvt.cc         locale-inst.cc stl-inst.cc misc-inst.cc valarray-inst.cc string-inst.cc
 
 
 wstring_sources =      wstring-inst.cc
@@ -259,9 +259,9 @@ libinst_wstring_la_LDFLAGS =
 libinst_wstring_la_LIBADD = 
 libinst_wstring_la_OBJECTS =  wstring-inst.lo
 libstdc___la_OBJECTS =  limitsMEMBERS.lo complex_io.lo stdexcept.lo \
-bitset.lo globals.lo c++io.lo ios.lo strstream.lo locale.lo \
-localename.lo codecvt.lo locale-inst.lo stl-inst.lo misc-inst.lo \
-valarray-inst.lo string-inst.lo
+bitset.lo globals.lo c++io.lo ios.lo strstream.lo c++locale.lo \
+locale.lo localename.lo codecvt.lo locale-inst.lo stl-inst.lo \
+misc-inst.lo valarray-inst.lo string-inst.lo
 CXXFLAGS = @CXXFLAGS@
 CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
 CXXLD = $(CXX)
index 5531bc8e907701e698281eeddd030e3969880493..c67dd040b15d426e4271993e9c239daa41bc6929 100644 (file)
@@ -1,6 +1,6 @@
 // Locale support -*- C++ -*-
 
-// Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+// Copyright (C) 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
@@ -54,7 +54,6 @@ namespace std {
   template class moneypunct<char, true>;
   template class moneypunct_byname<char, false>;
   template class moneypunct_byname<char, true>;
-  template class _Moneypunct<char>;
   template class money_get<char, obuf_iterator>;
   template class money_put<char, obuf_iterator>;
   template class money_get<char, ibuf_iterator>;
@@ -66,7 +65,6 @@ namespace std {
   template class moneypunct<wchar_t, true>;
   template class moneypunct_byname<wchar_t, false>;
   template class moneypunct_byname<wchar_t, true>;
-  template class _Moneypunct<wchar_t>;
   template class money_get<wchar_t, wobuf_iterator>;
   template class money_put<wchar_t, wobuf_iterator>;
   template class money_get<wchar_t, wibuf_iterator>;
@@ -77,23 +75,15 @@ namespace std {
   // numpunct, numpunct_byname, num_get, and num_put
   template class numpunct<char>;
   template class numpunct_byname<char>;
-  template class _Numpunct<char>;
   template class num_get<char, ibuf_iterator>;
   template class num_put<char, obuf_iterator>;
 #ifdef _GLIBCPP_USE_WCHAR_T
   template class numpunct<wchar_t>;
   template class numpunct_byname<wchar_t>;
-  template class _Numpunct<wchar_t>;
   template class num_get<wchar_t, wibuf_iterator>;
   template class num_put<wchar_t, wobuf_iterator>;
 #endif
 
-  // _Punct
-  template class _Punct<char>;
-#ifdef _GLIBCPP_USE_WCHAR_T
-  template class _Punct<wchar_t>;
-#endif
-  
   // time_get and time_put
   template class time_put<char, obuf_iterator>;
   template class time_put_byname<char, obuf_iterator>;
@@ -108,11 +98,9 @@ namespace std {
 #endif
 
   // messages
-  template class _Messages<char>;
   template class messages<char>;
   template class messages_byname<char>;
 #ifdef _GLIBCPP_USE_WCHAR_T
-  template class _Messages<wchar_t>;
   template class messages<wchar_t>;
   template class messages_byname<wchar_t>;
 #endif
@@ -134,12 +122,12 @@ namespace std {
 #endif
 
   // collate
-  template class _Collate<char>;
+  template class collate<char>;
   template class collate_byname<char>;
   template class _Weekdaynames<char, int>;
   template class _Monthnames<char, int>;
 #ifdef _GLIBCPP_USE_WCHAR_T
-  template class _Collate<wchar_t>;
+  template class collate<wchar_t>;
   template class collate_byname<wchar_t>;
   template class _Weekdaynames<wchar_t, int>;
   template class _Monthnames<wchar_t, int>;
@@ -155,10 +143,6 @@ namespace std {
   template
     const codecvt<char, char, mbstate_t>& 
     use_facet<codecvt<char, char, mbstate_t> >(const locale&);
-   template 
-    const num_put<char, obuf_iterator>& 
-    _Use_facet_failure_handler<num_put<char, obuf_iterator> >
-    (const locale &);
 #ifdef _GLIBCPP_USE_WCHAR_T
   template 
     const num_put<wchar_t, wobuf_iterator>& 
@@ -169,10 +153,6 @@ namespace std {
   template
     const codecvt<wchar_t, char, mbstate_t>& 
     use_facet<codecvt<wchar_t, char, mbstate_t> >(locale const &);
-  template 
-    const num_put<wchar_t, wobuf_iterator>& 
-    _Use_facet_failure_handler<num_put<wchar_t, wobuf_iterator> >
-    (const locale &);
 #endif
 
   // has_facet
@@ -296,12 +276,11 @@ namespace std {
   template 
     locale::facet** 
     fill_n<locale::facet**, unsigned int, locale::facet*>
-    (locale::facet**, unsigned int, locale::facet* const &);
+    (locale::facet**, unsigned int, locale::facet* const&);
 
   template 
     locale::facet** 
     fill_n<locale::facet**, unsigned long, locale::facet*>
-    (locale::facet**, unsigned long, locale::facet* const &);
-
+    (locale::facet**, unsigned long, locale::facet* const&);
 } //std
 
index d9cc304c8d9ce369297b665a6e181951e8a4c9d5..5ad0539f24e9eb70e803ff1214b3e247a9fd4429 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+// 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
@@ -55,8 +55,8 @@ namespace std
 
   locale::_Impl*               locale::_S_classic;
   locale::_Impl*               locale::_S_global; 
-  const int                    locale::_S_categories_num;
-  const int                    locale::_S_facets_num;
+  const size_t                         locale::_S_num_categories;
+  const size_t                         locale::_S_num_facets;
 
   // Definitions for locale::id of standard facets. 
   locale::id ctype<char>::id;
@@ -180,9 +180,457 @@ namespace std
     0
   };
 
+  // Construct and return valid pattern consisting of some combination of:
+  // space none symbol sign value
+  money_base::pattern
+  money_base::_S_construct_pattern(char __preceeds, char __space, char __posn)
+  { 
+    pattern __ret;
+
+    // This insanely complicated routine attempts to construct a valid
+    // pattern for use with monyepunct. A couple of invariants:
+
+    // if (__preceeds) symbol -> value
+    // else value -> symbol
+    
+    // if (__space) space
+    // else none
+
+    // none == never first
+    // space never first or last
+
+    // Any elegant implementations of this are welcome.
+    switch (__posn)
+      {
+      case 1:
+       // 1 The sign precedes the value and symbol.
+       if (__space)
+         {
+           // Pattern starts with sign.
+           if (__preceeds)
+             {
+               __ret.field[1] = symbol;
+               __ret.field[2] = space;
+               __ret.field[3] = value;
+             }
+           else
+             {
+               __ret.field[1] = value;
+               __ret.field[2] = space;
+               __ret.field[3] = symbol;
+             }
+           __ret.field[0] = sign;
+         }
+       else
+         {
+           // Pattern starts with sign and ends with none.
+           if (__preceeds)
+             {
+               __ret.field[1] = symbol;
+               __ret.field[2] = value;
+             }
+           else
+             {
+               __ret.field[1] = value;
+               __ret.field[2] = symbol;
+             }
+           __ret.field[0] = sign;
+           __ret.field[3] = none;
+         }
+       break;
+      case 2:
+       // 2 The sign follows the value and symbol.
+       if (__space)
+         {
+           // Pattern either ends with sign.
+           if (__preceeds)
+             {
+               __ret.field[0] = symbol;
+               __ret.field[1] = space;
+               __ret.field[2] = value;
+             }
+           else
+             {
+               __ret.field[0] = value;
+               __ret.field[1] = space;
+               __ret.field[2] = symbol;
+             }
+           __ret.field[3] = sign;
+         }
+       else
+         {
+           // Pattern ends with sign then none.
+           if (__preceeds)
+             {
+               __ret.field[0] = symbol;
+               __ret.field[1] = value;
+             }
+           else
+             {
+               __ret.field[0] = value;
+               __ret.field[1] = symbol;
+             }
+           __ret.field[2] = sign;
+           __ret.field[3] = none;
+         }
+       break;
+      case 3:
+       // 3 The sign immediately precedes the symbol.
+       if (__space)
+         {
+           // Have space.
+           if (__preceeds)
+             {
+               __ret.field[0] = sign;
+               __ret.field[1] = symbol;
+               __ret.field[2] = space;
+               __ret.field[3] = value;
+             }
+           else
+             {
+               __ret.field[0] = value;
+               __ret.field[1] = space;
+               __ret.field[2] = sign;
+               __ret.field[3] = symbol;
+             }
+         }
+       else
+         {
+           // Have none.
+           if (__preceeds)
+             {
+               __ret.field[0] = sign;
+               __ret.field[1] = symbol;
+               __ret.field[2] = value;
+             }
+           else
+             {
+               __ret.field[0] = value;
+               __ret.field[1] = sign;
+               __ret.field[2] = symbol;
+             }
+           __ret.field[3] = none;
+         }
+       break;
+      case 4:
+       // 4 The sign immediately follows the symbol. 
+       if (__space)
+         {
+           // Have space.
+           if (__preceeds)
+             {
+               __ret.field[0] = symbol;
+               __ret.field[1] = sign;
+               __ret.field[2] = space;
+               __ret.field[3] = value;
+             }
+           else
+             {
+               __ret.field[0] = value;
+               __ret.field[1] = space;
+               __ret.field[2] = symbol;
+               __ret.field[3] = sign;
+             }
+         }
+       else
+         {
+           // Have none.
+           if (__preceeds)
+             {
+               __ret.field[0] = symbol;
+               __ret.field[1] = sign;
+               __ret.field[2] = value;
+             }
+           else
+             {
+               __ret.field[0] = value;
+               __ret.field[1] = symbol;
+               __ret.field[2] = sign;
+             }
+           __ret.field[3] = none;
+         }
+       break;
+      default:
+       ;
+      }
+    return __ret;
+  }
+
+  locale::~locale() throw()
+  { _M_impl->_M_remove_reference(); }
+
+  void
+  locale::_M_coalesce(const locale& __base, const locale& __add, 
+                     category __cat)
+  {
+    __cat = _S_normalize_category(__cat);  
+    _M_impl = new _Impl(*__base._M_impl, 1);  
+
+    try 
+      { _M_impl->_M_replace_categories(__add._M_impl, __cat); }
+    catch (...) 
+      { 
+       _M_impl->_M_remove_reference(); 
+       throw; 
+      }
+  }
+
+  locale::locale() throw()
+  { 
+    _S_initialize(); 
+    (_M_impl = _S_global)->_M_add_reference(); 
+  } // XXX MT
+
+  locale::locale(const locale& __other) throw()
+  { (_M_impl = __other._M_impl)->_M_add_reference(); }
+
+  locale::locale(_Impl* __ip) throw()
+  : _M_impl(__ip)
+  { __ip->_M_add_reference(); }
+
+  locale::locale(const char* __s)
+  {
+    if (__s)
+      {
+       if (strcmp(__s, "C") == 0 || strcmp(__s, "POSIX") == 0)
+         (_M_impl = _S_classic)->_M_add_reference();
+       else
+         _M_impl = new _Impl(__s, 1);
+      }
+    else
+      throw runtime_error("attempt to create locale from NULL name");
+  }
+
+  locale::locale(const locale& __base, const char* __s, category __cat)
+  { 
+    // NB: There are complicated, yet more efficient ways to do
+    // this. Building up locales on a per-category way is tedious, so
+    // let's do it this way until people complain.
+    locale __add(__s);
+    _M_coalesce(__base, __add, __cat);
+  }
+
+  locale::locale(const locale& __base, const locale& __add, category __cat)
+  { _M_coalesce(__base, __add, __cat); }
+
+  bool
+  locale::operator==(const locale& __rhs) const throw()
+  {
+    string __name = this->name();
+    return (_M_impl == __rhs._M_impl 
+           || (__name != "*" && __name == __rhs.name()));
+  }
+
+  const locale&
+  locale::operator=(const locale& __other) throw()
+  {
+    __other._M_impl->_M_add_reference();
+    _M_impl->_M_remove_reference();
+    _M_impl = __other._M_impl;
+    return *this;
+  }
+
+  locale
+  locale::global(const locale& __other)
+  {
+    // XXX MT
+    _S_initialize();
+    locale __old(_S_global);
+    __other._M_impl->_M_add_reference();
+    _S_global->_M_remove_reference();
+    _S_global = __other._M_impl; 
+    if (_S_global->_M_check_same_name() && _S_global->_M_names[0] != "*")
+      setlocale(LC_ALL, __other.name().c_str());
+    return __old;
+  }
+
+  string
+  locale::name() const
+  {
+    string __ret;
+    // Need some kind of separator character. This one was pretty much
+    // arbitrarily chosen as to not conflict with glibc locales: the
+    // exact formatting is not set in stone.
+    const char __separator = '|';
+
+    if (_M_impl->_M_check_same_name())
+      __ret = _M_impl->_M_names[0];
+    else
+      {
+       for (size_t i = 0; i < _S_num_categories; ++i)
+         __ret += __separator + _M_impl->_M_names[i];
+      }
+    return __ret;
+  }
+
+  locale const&
+  locale::classic()
+  {
+    static locale* __classic_locale;
+    // XXX MT
+    if (!_S_classic)
+      {
+       try 
+         {
+           // 26 Standard facets, 2 references.
+           // One reference for _M_classic, one for _M_global
+           _S_classic = new _Impl("C", 2);
+           _S_global = _S_classic;         
+
+           // Finesse static init order hassles
+           __classic_locale = new locale(_S_classic);
+         }
+       catch(...) 
+         {
+           delete __classic_locale;
+           if (_S_classic)
+             {
+               _S_classic->_M_remove_reference();
+               _S_global->_M_remove_reference();
+             }
+           _S_classic = _S_global = 0;
+           // XXX MT
+           throw;
+         }
+      }
+    return *__classic_locale;
+  }
+
+  locale::category
+  locale::_S_normalize_category(category __cat) 
+  {
+    int __ret;
+    if (__cat == none || (__cat & all) && !(__cat & ~all))
+      __ret = __cat;
+    else
+      {
+       // NB: May be a C-style "LC_ALL" category; convert.
+       switch (__cat)
+         {
+         case LC_COLLATE:  
+           __ret = collate; 
+           break;
+         case LC_CTYPE:    
+           __ret = ctype;
+           break;
+         case LC_MONETARY: 
+           __ret = monetary;
+           break;
+         case LC_NUMERIC:  
+           __ret = numeric;
+           break;
+         case LC_TIME:     
+           __ret = time; 
+           break;
+#ifdef _GLIBCPP_HAVE_LC_MESSAGES
+         case LC_MESSAGES: 
+           __ret = messages;
+           break;
+#endif 
+         case LC_ALL:      
+           __ret = all;
+           break;
+         default:
+           throw runtime_error("bad locale category");
+         }
+      }
+    return __ret;
+  }
+
+  locale::facet::
+  facet(size_t __refs) throw()
+  : _M_references(__refs) 
+  { }
+
+  void  
+  locale::facet::
+  _M_add_reference() throw()
+  { ++_M_references; }                     // XXX MT
+
+  void  
+  locale::facet::
+  _M_remove_reference() throw()
+  {
+    if (_M_references)
+      --_M_references;
+    else
+      {
+        try 
+         { delete this; }  // XXX MT
+       catch (...) 
+         { }
+      }
+  }
+  
+  // Definitions for static const data members of ctype_base.
+  const ctype_base::mask ctype_base::space;
+  const ctype_base::mask ctype_base::print;
+  const ctype_base::mask ctype_base::cntrl;
+  const ctype_base::mask ctype_base::upper;
+  const ctype_base::mask ctype_base::lower;
+  const ctype_base::mask ctype_base::alpha;
+  const ctype_base::mask ctype_base::digit;
+  const ctype_base::mask ctype_base::punct;
+  const ctype_base::mask ctype_base::xdigit;
+  const ctype_base::mask ctype_base::alnum;
+  const ctype_base::mask ctype_base::graph;
+
+  // Platform-specific initialization code for ctype tables.
+  #include <bits/ctype_noninline.h>
+
+  const size_t ctype<char>::table_size;
+
+  ctype<char>::~ctype()
+  { if (_M_del) delete[] this->table(); }
+
+  // These are dummy placeholders as these virtual functions are never called.
+  bool 
+  ctype<char>::do_is(mask, char_type) const 
+  { return false; }
+  
+  const char*
+  ctype<char>::do_is(const char_type* __c, const char_type*, mask*) const 
+  { return __c; }
+  
+  const char*
+  ctype<char>::do_scan_is(mask, const char_type* __c, const char_type*) const 
+  { return __c; }
+
+  const char* 
+  ctype<char>::do_scan_not(mask, const char_type* __c, const char_type*) const
+  { return __c; }
+
+  char
+  ctype<char>::do_widen(char __c) const
+  { return __c; }
+  
+  const char* 
+  ctype<char>::do_widen(const char* __low, const char* __high, 
+                       char* __dest) const
+  {
+    memcpy(__dest, __low, __high - __low);
+    return __high;
+  }
+  
+  char
+  ctype<char>::do_narrow(char __c, char /*__dfault*/) const
+  { return __c; }
+  
+  const char* 
+  ctype<char>::do_narrow(const char* __low, const char* __high, 
+                        char /*__dfault*/, char* __dest) const
+  {
+    memcpy(__dest, __low, __high - __low);
+    return __high;
+  }
+
+  ctype_byname<char>::ctype_byname(const char* /*__s*/, size_t __refs)
+  : ctype<char>(new mask[table_size], true, __refs)
+  { }
+
   // Definitions for static const data members of money_base
   const money_base::pattern 
-  money_base::_S_default_pattern =  {{symbol, sign, none, value}};;
+  money_base::_S_default_pattern =  {{symbol, sign, none, value}};
 
   template<>
     _Format_cache<char>::_Format_cache()
@@ -565,300 +1013,8 @@ namespace std
     return __incl_prec;
   }
 
-
-  locale::locale(_Impl* __ip) throw()
-  : _M_impl(__ip)
-  { __ip->_M_add_reference(); }
-
-
-  locale::locale(const char* __name)
-  {
-    if (__name)
-      {
-       if (strcmp(__name, "C") == 0 || strcmp(__name, "POSIX") == 0)
-         (_M_impl = _S_classic)->_M_add_reference();
-       // Might throw:
-       else
-         // XXX Named locale support not finished.
-         // _M_impl = new _Impl(_S_facets_num, 1, true, __name);
-         _M_impl = new _Impl(*_S_classic, __name, all, 1);
-      }
-    else
-      throw runtime_error("attempt to create named locale from NULL name");
-  }
-
-  locale::locale(const locale& __other, const char* __name, category __cat)
-  { 
-    if (__name)
-      {
-       if (__other.name() == __name)
-         (_M_impl = __other._M_impl)->_M_add_reference();
-       // Might throw:
-       else
-         _M_impl = new _Impl(*__other._M_impl, __name, __cat, 1);
-      }
-    else
-      throw runtime_error("attempt to create locale from NULL named locale");
-  }
-
-  locale::locale(const locale& __other, const locale& __one, category __cat)
-  {
-    __cat = _S_normalize_category(__cat);    // might throw
-    _M_impl = new _Impl(*__other._M_impl, 1);  // might throw
-
-    try { 
-      _M_impl->_M_replace_categories(__one._M_impl, __cat); 
-    }
-    catch (...) { 
-      _M_impl->_M_remove_reference(); 
-      throw; 
-    }
-
-    // XXX
-    //    _M_impl->_M_cached_name_ok = false;
-    if (!__other._M_impl->_M_has_name)
-      _M_impl->_M_has_name = false;
-  }
-
-  bool
-  locale::operator==(const locale& __rhs) const throw()
-  {
-    return (_M_impl == __rhs._M_impl
-           || (this->name() != "*" && this->name() == __rhs.name()));
-  }
-
-  const locale&
-  locale::operator=(const locale& __other) throw()
-  {
-    __other._M_impl->_M_add_reference();
-    _M_impl->_M_remove_reference();
-    _M_impl = __other._M_impl;
-    return *this;
-  }
-
-  locale
-  locale::global(const locale& __other)
-  {
-    // XXX MT
-    _S_initialize();
-    locale __keep(_S_global);
-    __other._M_impl->_M_add_reference();
-    _S_global->_M_remove_reference();
-    _S_global = __other._M_impl; 
-    if (_S_global->_M_has_name)
-      setlocale(LC_ALL, __other.name().c_str());
-    return __keep;
-  }
-
-  string
-  locale::name() const
-  { return _M_impl->_M_name; }
-
-  locale const&
-  locale::classic()
-  {
-    static locale* __classic_locale;
-    // XXX MT
-    if (!_S_classic)
-      {
-       try {
-         // 26 Standard facets, 2 references.
-         // One reference for _M_classic, one for _M_global
-         _S_classic = new _Impl(_S_facets_num, 2, true, "C");
-         _S_global = _S_classic; 
-
-         _S_classic->_M_facet_init(new std::collate<char>);
-         _S_classic->_M_facet_init(new std::ctype<char>);
-         _S_classic->_M_facet_init(new codecvt<char, char, mbstate_t>);
-         _S_classic->_M_facet_init(new moneypunct<char, false>);
-         _S_classic->_M_facet_init(new moneypunct<char,true >);
-         _S_classic->_M_facet_init(new money_get<char>);
-         _S_classic->_M_facet_init(new money_put<char>);
-         _S_classic->_M_facet_init(new numpunct<char>);
-         _S_classic->_M_facet_init(new num_get<char>);
-         _S_classic->_M_facet_init(new num_put<char>);
-         _S_classic->_M_facet_init(new time_get<char>);
-         _S_classic->_M_facet_init(new time_put<char>);
-         _S_classic->_M_facet_init(new std::messages<char>);
-
-#ifdef  _GLIBCPP_USE_WCHAR_T
-         _S_classic->_M_facet_init(new std::collate<wchar_t>);
-         _S_classic->_M_facet_init(new std::ctype<wchar_t>);
-         _S_classic->_M_facet_init(new codecvt<wchar_t, char, mbstate_t>);
-         _S_classic->_M_facet_init(new moneypunct<wchar_t, false>);
-         _S_classic->_M_facet_init(new moneypunct<wchar_t,true >);
-         _S_classic->_M_facet_init(new money_get<wchar_t>);
-         _S_classic->_M_facet_init(new money_put<wchar_t>);
-         _S_classic->_M_facet_init(new numpunct<wchar_t>);
-         _S_classic->_M_facet_init(new num_get<wchar_t>);
-         _S_classic->_M_facet_init(new num_put<wchar_t>);
-         _S_classic->_M_facet_init(new time_get<wchar_t>);
-         _S_classic->_M_facet_init(new time_put<wchar_t>);
-         _S_classic->_M_facet_init(new std::messages<wchar_t>);
-#endif   
-
-         // Finesse static init order hassles
-         __classic_locale = new locale(_S_classic);
-       }
-       catch(...) {
-         delete __classic_locale;
-         if (_S_classic)
-           {
-             _S_classic->_M_remove_reference();
-             _S_global->_M_remove_reference();
-           }
-         _S_classic = _S_global = 0;
-         // XXX MT
-         throw;
-       }
-      }
-    return *__classic_locale;
-  }
-
-  int
-  locale::_S_normalize_category(int __cat) 
-  {
-    int __ret;
-    if ((__cat & all) && !(__cat & ~all))
-      __ret = __cat;
-    else
-      {
-       // NB: May be a C-style "LC_ALL" category; convert.
-       switch (__cat)
-         {
-         case LC_COLLATE:  
-           __ret = collate; 
-           break;
-         case LC_CTYPE:    
-           __ret = ctype;
-           break;
-         case LC_MONETARY: 
-           __ret = monetary;
-           break;
-         case LC_NUMERIC:  
-           __ret = numeric;
-           break;
-         case LC_TIME:     
-           __ret = time; 
-           break;
-#ifdef _GLIBCPP_HAVE_LC_MESSAGES
-         case LC_MESSAGES: 
-           __ret = messages;
-           break;
-#endif 
-         case LC_ALL:      
-           __ret = all;
-           break;
-         default:
-           throw runtime_error("bad locale category");
-         }
-      }
-    return __ret;
-  }
-
-  locale::facet::
-  facet(size_t __refs) throw()
-  : _M_references(__refs - 1) 
-  { }
-
-  void  
-  locale::facet::
-  _M_add_reference() throw()
-  { 
-    if (this) 
-      ++_M_references; 
-  }                     // XXX MT
-
-  void  
-  locale::facet::
-  _M_remove_reference() throw()
-  {
-    if (this && _M_references-- == 0)
-      {
-        try { 
-         delete this; 
-       }  // XXX MT
-       catch (...) { 
-       }
-      }
-  }
-
-  char const* 
-  _Bad_use_facet::
-  what() const throw()
-  { return "_Bad_use_facet thrown from use_facet"; }
-
-  _Bad_use_facet::
-  ~_Bad_use_facet() throw() { }
-  
-  // Definitions for static const data members of ctype_base.
-  const ctype_base::mask ctype_base::space;
-  const ctype_base::mask ctype_base::print;
-  const ctype_base::mask ctype_base::cntrl;
-  const ctype_base::mask ctype_base::upper;
-  const ctype_base::mask ctype_base::lower;
-  const ctype_base::mask ctype_base::alpha;
-  const ctype_base::mask ctype_base::digit;
-  const ctype_base::mask ctype_base::punct;
-  const ctype_base::mask ctype_base::xdigit;
-  const ctype_base::mask ctype_base::alnum;
-  const ctype_base::mask ctype_base::graph;
-
-  // Platform-specific initialization code for ctype tables.
-  #include <bits/ctype_noninline.h>
-
-  const size_t ctype<char>::table_size;
-
-  ctype<char>::~ctype()
-  { if (_M_del) delete[] this->table(); }
-
-  // These are dummy placeholders as these virtual functions are never called.
-  bool 
-  ctype<char>::do_is(mask, char_type) const 
-  { return false; }
-  
-  const char*
-  ctype<char>::do_is(const char_type* __c, const char_type*, mask*) const 
-  { return __c; }
-  
-  const char*
-  ctype<char>::do_scan_is(mask, const char_type* __c, const char_type*) const 
-  { return __c; }
-
-  const char* 
-  ctype<char>::do_scan_not(mask, const char_type* __c, const char_type*) const
-  { return __c; }
-
-  char
-  ctype<char>::do_widen(char __c) const
-  { return __c; }
-  
-  const char* 
-  ctype<char>::do_widen(const char* __low, const char* __high, 
-                       char* __dest) const
-  {
-    memcpy(__dest, __low, __high - __low);
-    return __high;
-  }
-  
-  char
-  ctype<char>::do_narrow(char __c, char /*__dfault*/) const
-  { return __c; }
-  
-  const char* 
-  ctype<char>::do_narrow(const char* __low, const char* __high, 
-                        char /*__dfault*/, char* __dest) const
-  {
-    memcpy(__dest, __low, __high - __low);
-    return __high;
-  }
-
-  ctype_byname<char>::ctype_byname(const char* /*__s*/, size_t __refs)
-  : ctype<char>(new mask[table_size], true, __refs)
-  { }
-
   collate<char>::collate(size_t __refs)
-  : _Collate<char>(__refs) { }
+  : locale::facet(__refs) { }
   
   collate<char>::~collate() { }
   
@@ -896,9 +1052,6 @@ namespace std
   collate_byname<char>::collate_byname(const char* /*__s*/, size_t __refs)
   : collate<char>(__refs) { }
 
-  numpunct_byname<char>::numpunct_byname(const char* /*__s*/, size_t __refs)
-  : numpunct<char>(__refs) { }
-
   moneypunct_byname<char, false>::moneypunct_byname(const char* /*__s*/, 
                                                    size_t __refs)
   : moneypunct<char, false>(__refs) { }
@@ -1068,8 +1221,7 @@ namespace std
   : ctype<wchar_t>(__refs) { }
 
   collate<wchar_t>::
-  collate(size_t __refs)
-  : _Collate<wchar_t> (__refs) { }
+  collate(size_t __refs): locale::facet(__refs) { }
   
   collate<wchar_t>::
   ~collate() { }
@@ -1094,27 +1246,14 @@ namespace std
     return 0; // XXX not done
   }
 
-  numpunct_byname<wchar_t>::
-  numpunct_byname(const char* /*__s*/, size_t __refs)
-  : numpunct<wchar_t> (__refs) { }
-
   collate_byname<wchar_t>::
   collate_byname(const char* /*__s*/, size_t __refs)
   : collate<wchar_t> (__refs) { }
   
-  moneypunct_byname<wchar_t, false>::
-  moneypunct_byname(const char* /*__s*/, size_t __refs)
-  : moneypunct<wchar_t, false> (__refs) { }
-  
-  moneypunct_byname<wchar_t, true>::
-  moneypunct_byname(const char* /*__s*/, size_t __refs)
-  : moneypunct<wchar_t, true> (__refs) { }
-    
   messages_byname<wchar_t>::
   messages_byname(const char* /*__s*/, size_t __refs)
   : messages<wchar_t> (__refs) { }
 #endif //  _GLIBCPP_USE_WCHAR_T
-
 } // namespace std
 
 
index f028765a61eb97887576af2bb560eda6e71f7ac5..867b063fbfbd694999d21c6d5a1068d875671235 100644 (file)
@@ -25,7 +25,6 @@
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-
 #include <bits/std_clocale.h>
 #include <bits/std_locale.h>
 #include <bits/std_cstring.h>
 #include <bits/std_stdexcept.h>
 
 namespace std {
-
   locale::_Impl::
   ~_Impl() throw()
   {
-    std::vector<facet*>::iterator it = _M_facets->begin();
+    __vec_facet::iterator it = _M_facets->begin();
     for (; it != _M_facets->end(); ++it)
-      (*it)->_M_remove_reference();
+      if (*it)
+       (*it)->_M_remove_reference();
     delete _M_facets;
-    delete _M_category_names;
+    locale::facet::_S_destroy_c_locale(_M_c_locale);
   }
 
+  // Clone existing _Impl object.
   locale::_Impl::
   _Impl(const _Impl& __imp, size_t __refs)
-  : _M_references(__refs - 1), _M_facets(0), _M_category_names(0), 
-    _M_has_name(__imp._M_has_name), _M_name(__imp._M_name)
+  : _M_references(__refs - 1), _M_facets(0), _M_c_locale(0) // XXX
   {
     try
       {  _M_facets = new __vec_facet(*(__imp._M_facets)); }
@@ -57,121 +56,89 @@ namespace std {
        throw;
       }
 
-    try 
-      {        _M_category_names = new __vec_string(*(__imp._M_category_names)); }
-    catch(...) 
-      {
-       delete _M_category_names;
-       throw;
-      }
+    for (size_t i = 0; i < _S_num_categories; ++i)
+      _M_names[i] = __imp._M_names[i];
 
-    std::vector<facet*>::iterator __it = _M_facets->begin();
+    __vec_facet::iterator __it = _M_facets->begin();
     for (; __it != _M_facets->end(); ++__it)
-      (*__it)->_M_add_reference();
+      if (*__it)
+       (*__it)->_M_add_reference();
   }
 
-  // This constructor is used to correctly initialize named locales,
-  // including the standard "C" locale.
+  // Construct named _Impl, including the standard "C" locale.
   locale::_Impl::
-  _Impl(size_t __num, size_t __refs, bool __has_name, string __str)
-  : _M_references(__refs - 1), _M_facets(0), _M_category_names(0), 
-    _M_has_name(__has_name), _M_name(__str)
+  _Impl(string __str, size_t __refs)
+  : _M_references(__refs - 1), _M_facets(0)
   {
+    // Initialize the underlying locale model, which also checks to
+    // see if the given name is valid.
+    if (__str != "C" && __str != "POSIX")
+      locale::facet::_S_create_c_locale(_M_c_locale, __str.c_str());
+    else
+      _M_c_locale = NULL;
+
+    // Allocate facet container.
     try
-      {  _M_facets = new __vec_facet(__num, NULL); }
+      {  _M_facets = new __vec_facet(_S_num_facets, NULL); }
     catch(...) 
       {
        delete _M_facets;
        throw;
       }
 
-    try 
-      {        _M_category_names = new __vec_string(_S_categories_num, _M_name); }
-    catch(...) 
-      {
-       delete _M_category_names;
-       throw;
-      }
-  }
-  
-  // Construct specific categories, leaving unselected ones alone
-  locale::_Impl::
-  _Impl(const _Impl& __imp, const string& __str, category __cat, size_t __refs)
-  : _M_references(__refs - 1)
-  {
-    __cat = _S_normalize_category(__cat);  // might throw
-
-    try 
-      { _M_facets = new __vec_facet(*(__imp._M_facets)); }
-    catch(...) 
-      {
-       delete _M_facets;
-       throw;
-      }
-
-    try 
-      {        _M_category_names = new __vec_string(*(__imp._M_category_names)); }
-    catch(...) 
-      {
-       delete _M_category_names;
-       throw;
-      }
-
-    static void(_Impl::* ctors[]) (const char*) = 
-    {
-      //  NB: Order must match the decl order in class locale.
-      &locale::_Impl::_M_construct_ctype,
-      &locale::_Impl::_M_construct_numeric,
-      &locale::_Impl::_M_construct_collate,
-      &locale::_Impl::_M_construct_time,
-      &locale::_Impl::_M_construct_monetary,
-      &locale::_Impl::_M_construct_messages,
-      0
-    };
+    // Name all the categories.
+    for (size_t i = 0; i < _S_num_categories; ++i)
+      _M_names[i] = __str;
+
+    // Construct all standard facets and add them to _M_facets.
+    // XXX Eventually, all should use __c_locale ctor like numpunct
+    _M_init_facet(new std::collate<char>);
+    _M_init_facet(new std::ctype<char>);
+    _M_init_facet(new codecvt<char, char, mbstate_t>);
+    _M_init_facet(new moneypunct<char, false>(_M_c_locale));
+    _M_init_facet(new moneypunct<char,true >);
+    _M_init_facet(new money_get<char>);
+    _M_init_facet(new money_put<char>);
+    _M_init_facet(new numpunct<char>(_M_c_locale));
+    _M_init_facet(new num_get<char>);
+    _M_init_facet(new num_put<char>);
+    _M_init_facet(new time_get<char>);
+    _M_init_facet(new time_put<char>);
+    _M_init_facet(new std::messages<char>);
     
-    __vec_facet::iterator __it = _M_facets->begin();
-    for (; __it != _M_facets->end(); ++__it)
-      (*__it)->_M_add_reference();
-
-    try 
-      {
-       unsigned mask = (locale::all & -(unsigned)locale::all);
-       for (unsigned ix = 0; (-mask & __cat) != 0; ++ix, (mask <<= 1))
-         {
-           if (!(mask & __cat))
-             continue;
-           
-           if (mask & __cat)
-             _M_replace_category(_S_classic, _S_facet_categories[ix]);
-           else
-             (this->*ctors[ix])(__str.c_str());
-         }
-      }
-    catch(...) 
-      {
-       __it = _M_facets->begin();
-       for (; __it != _M_facets->end(); ++__it)
-         (*__it)->_M_remove_reference();
-       throw;
-      }
-
-    // XXX May need to be adjusted
-    if (__cat == all)
-      _M_name = __str;
-    _M_has_name = __str != "*";
+#ifdef  _GLIBCPP_USE_WCHAR_T
+    _M_init_facet(new std::collate<wchar_t>);
+    _M_init_facet(new std::ctype<wchar_t>);
+    _M_init_facet(new codecvt<wchar_t, char, mbstate_t>);
+    _M_init_facet(new moneypunct<wchar_t, false>(_M_c_locale));
+    _M_init_facet(new moneypunct<wchar_t,true >);
+    _M_init_facet(new money_get<wchar_t>);
+    _M_init_facet(new money_put<wchar_t>);
+    _M_init_facet(new numpunct<wchar_t>(_M_c_locale));
+    _M_init_facet(new num_get<wchar_t>);
+    _M_init_facet(new num_put<wchar_t>);
+    _M_init_facet(new time_get<wchar_t>);
+    _M_init_facet(new time_put<wchar_t>);
+    _M_init_facet(new std::messages<wchar_t>);
+#endif   
   }
   
   void
   locale::_Impl::
   _M_replace_categories(const _Impl* __imp, category __cat)
   {
-    category  __mask = locale::all & -static_cast<unsigned int>(locale::all);
-    for (unsigned int __ix = 0; (-__mask & __cat) != 0; ++__ix, (__mask <<= 1))
+    const string __none("*");
+    category __mask;
+    for (unsigned int __ix = 0; __ix < _S_num_categories; ++__ix)
       {
+       __mask = 1 << __ix;
        if (__mask & __cat)
          {
+           // Need to replace entry in _M_facets with other locale's info.
            _M_replace_category(__imp, _S_facet_categories[__ix]);
-           (*_M_category_names)[__ix] = (*(__imp->_M_category_names))[__ix];
+           // If both have names, go ahead and mangle.
+           if (_M_names[__ix] != __none && __imp->_M_names[__ix] != __none)
+             _M_names[__ix] = __imp->_M_names[__ix];
          }
       }
   }
@@ -201,91 +168,36 @@ namespace std {
   locale::_Impl::
   _M_install_facet(const locale::id* __idp, facet* __fp)
   {
-    if (__fp == 0)
-      return;
-
-    size_t& __index = __idp->_M_index;
-    if (!__index)
-      __index = ++locale::id::_S_highwater;  // XXX MT
-
-    if (__index >= _M_facets->size())
-      _M_facets->resize(__index + 1, 0);  // might throw
-    facet*& __fpr = (*_M_facets)[__index];
-    // Order matters, here:
-    __fp->_M_add_reference();
-    if (__fpr) 
-      __fpr->_M_remove_reference();
-    __fpr = __fp;
-  }
-  void 
-  locale::_Impl::_M_construct_collate(const char* __s)
-  {
-    _M_facet_init(new collate_byname<char>(__s, 0));
-#ifdef _GLIBCPP_USE_WCHAR_T
-    _M_facet_init(new collate_byname<wchar_t>(__s, 0));
-#endif 
-  }
+    if (__fp)
+      {
+       size_t& __index = __idp->_M_index;
+       if (!__index)
+         __index = ++locale::id::_S_highwater;  // XXX MT
+       
+       if (__index >= _M_facets->size())
+         _M_facets->resize(__index + 1, 0);  // might throw
 
-  void 
-  locale::_Impl::_M_construct_ctype(const char* __s)
-  {
-    _M_facet_init(new ctype_byname<char>(__s, 0));
-    _M_facet_init(new codecvt_byname<char, char, mbstate_t>(__s));
-#ifdef _GLIBCPP_USE_WCHAR_T
-    _M_facet_init(new ctype_byname<wchar_t>(__s, 0));
-    _M_facet_init(new codecvt_byname<wchar_t, char, mbstate_t>(__s));
-#endif 
-  }
-    
-  void 
-  locale::_Impl::_M_construct_monetary(const char* __s)
-  {
-    _M_replace_facet(locale::_S_classic, &money_get<char>::id);
-    _M_replace_facet(locale::_S_classic, &money_put<char>::id);
-    _M_facet_init(new moneypunct_byname<char, false>(__s, 0));
-    _M_facet_init(new moneypunct_byname<char, true >(__s, 0));
-#ifdef _GLIBCPP_USE_WCHAR_T
-    _M_replace_facet(locale::_S_classic, &money_get<wchar_t>::id);
-    _M_replace_facet(locale::_S_classic, &money_put<wchar_t>::id);
-    _M_facet_init(new moneypunct_byname<wchar_t, false>(__s, 0));
-    _M_facet_init(new moneypunct_byname<wchar_t, true >(__s, 0));
-#endif
-  }
-    
-  void 
-  locale::_Impl::_M_construct_numeric(const char* __s)
-  {
-    _M_replace_facet(locale::_S_classic, &num_get<char>::id);
-    _M_replace_facet(locale::_S_classic, &num_put<char>::id);
-    _M_facet_init(new numpunct_byname<char>(__s, 0));
-#ifdef _GLIBCPP_USE_WCHAR_T
-    _M_replace_facet(locale::_S_classic, &num_get<wchar_t>::id);
-    _M_replace_facet(locale::_S_classic, &num_put<wchar_t>::id);
-    _M_facet_init(new numpunct_byname<wchar_t>(__s, 0));
-#endif 
-  }
-    
-  void 
-  locale::_Impl::_M_construct_time(const char* __s)
-  {
-    _M_facet_init(new time_get_byname<char>(__s, 0));
-    _M_facet_init(new time_put_byname<char>(__s, 0));
-#ifdef _GLIBCPP_USE_WCHAR_T
-    _M_facet_init(new time_get_byname<wchar_t>(__s, 0));
-    _M_facet_init(new time_put_byname<wchar_t>(__s, 0));
-#endif 
-  }
-    
-  void 
-  locale::_Impl::_M_construct_messages(const char* __s)
-  {
-    _M_facet_init(new messages_byname<char>(__s, 0));
-#ifdef _GLIBCPP_USE_WCHAR_T
-    _M_facet_init(new messages_byname<wchar_t>(__s, 0));
-#endif 
+       facet*& __fpr = (*_M_facets)[__index];
+       if (__fpr)
+         {
+           // Replacing an existing facet.
+           // Order matters, here:
+           __fp->_M_add_reference();
+           if (__fpr) 
+             __fpr->_M_remove_reference();
+           __fpr = __fp;
+         }
+       else
+         {
+           // Installing a newly created facet into an empty
+           // _M_facets container, say a newly-constructed,
+           // swanky-fresh _Impl.
+           (*_M_facets)[__index] = __fp;
+         }
+      }
   }
 }
 
 
 
+
index 7bdd44223397da1fcd7c03ee93feaef88cc6e1d8..cbac8843187885813a25c7b81a654dcb048b6798 100644 (file)
@@ -1,6 +1,6 @@
 // 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
 
-// Copyright (C) 2000 Free Software Foundation
+// Copyright (C) 2000, 2001 Free Software Foundation
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -33,6 +33,14 @@ typedef std::codecvt_byname<wchar_t, char, std::mbstate_t>    w_codecvt_byname;
 
 class gnu_codecvt: public c_codecvt { }; 
 
+class gnu_facet: public std::locale::facet
+{
+public:
+  static std::locale::id id;
+};
+
+std::locale::id gnu_facet::id;
+
 void test01()
 {
   using namespace std;
@@ -65,14 +73,7 @@ void test01()
     { VERIFY( false ); }
 
   try 
-    {  VERIFY (has_facet<c_codecvt_byname>(loc02)); }
-  catch(bad_cast& obj)
-    { VERIFY( true ); }
-  catch(...)
-    { VERIFY( false ); }
-
-  try 
-    {  VERIFY (has_facet<w_codecvt_byname>(loc02)); }
+    { use_facet<gnu_facet>(loc02); }
   catch(bad_cast& obj)
     { VERIFY( true ); }
   catch(...)
@@ -92,14 +93,7 @@ void test01()
     { VERIFY( false ); }
 
   try 
-    {  VERIFY (has_facet<c_codecvt_byname>(loc13)); }
-  catch(bad_cast& obj)
-    { VERIFY( true ); }
-  catch(...)
-    { VERIFY( false ); }
-
-  try 
-    {  VERIFY (has_facet<w_codecvt_byname>(loc13)); }
+    { use_facet<gnu_facet>(loc13); }
   catch(bad_cast& obj)
     { VERIFY( true ); }
   catch(...)
@@ -134,32 +128,99 @@ void test01()
 
   // 4
   // locale(const locale& other, const char* std_name, category)
-  locale loc09(loc06, "C", locale::ctype);
-  VERIFY (loc09.name() != "fr_FR");
-  VERIFY (loc09.name() != "C");
-  VERIFY (loc09 != loc01);  
-  VERIFY (loc09 != loc06);  
-  // XXX somehow check that the ctype, codecvt facets have "C" locale bits...
-
-  locale loc10(loc02, "C", locale::ctype);
-  VERIFY (loc10.name() == "*");
-  VERIFY (loc10 != loc01);   // As not named, even tho facets same...
-  VERIFY (loc10 != loc02);  
-  // XXX somehow check that the ctype, codecvt facets have "C" locale bits...
-
-  locale loc11(loc01, "C", locale::ctype);
-  VERIFY (loc11.name() == "C");
-  VERIFY (loc11 == loc01);  
-  // XXX somehow check that the ctype, codecvt facets have "C" locale bits...
-
-  try
-    { locale loc12(loc01, static_cast<const char*>(NULL), locale::ctype); }
-  catch(runtime_error& obj)
-    { VERIFY (true); }
-  catch(...)
-    { VERIFY (false); }
-  
-
+  {
+    // This is the same as 5 only use "C" for loc("C")
+    locale loc09(loc06, "C", locale::ctype);
+    VERIFY (loc09.name() != "fr_FR");
+    VERIFY (loc09.name() != "C");
+    VERIFY (loc09.name() != "*");
+    VERIFY (loc09 != loc01);  
+    VERIFY (loc09 != loc06);  
+
+    locale loc10(loc02, "C", locale::ctype);
+    VERIFY (loc10.name() == "*");
+    VERIFY (loc10 != loc01);   // As not named, even tho facets same...
+    VERIFY (loc10 != loc02);  
+
+    locale loc11(loc01, "C", locale::ctype);
+    VERIFY (loc11.name() == "C");
+    VERIFY (loc11 == loc01);  
+
+    try
+      { locale loc12(loc01, static_cast<const char*>(NULL), locale::ctype); }
+    catch(runtime_error& obj)
+      { VERIFY (true); }
+    catch(...)
+      { VERIFY (false); }
+
+    try
+      { locale loc13(loc01, "localized by the wu-tang clan", locale::ctype); }
+    catch(runtime_error& obj)
+      { VERIFY (true); }
+    catch(...)
+      { VERIFY (false); }
+
+    locale loc14(loc06, "C", locale::none);
+    VERIFY (loc14.name() == "fr_FR");
+    VERIFY (loc14 == loc06);  
+
+    locale loc15(loc06, "C", locale::collate);
+    VERIFY (loc15.name() != "fr_FR");
+    VERIFY (loc15.name() != "C");
+    VERIFY (loc15.name() != "*");
+    VERIFY (loc15.name() != loc09.name());
+    VERIFY (loc15 != loc01);  
+    VERIFY (loc15 != loc06);  
+    VERIFY (loc15 != loc09);  
+  }
+
+  // 5
+  // locale(const locale& other, const locale& one, category)
+  {
+    // This is the exact same as 4, with locale("C") for "C"
+    locale loc09(loc06, loc01, locale::ctype);
+    VERIFY (loc09.name() != "fr_FR");
+    VERIFY (loc09.name() != "C");
+    VERIFY (loc09.name() != "*");
+    VERIFY (loc09 != loc01);  
+    VERIFY (loc09 != loc06);  
+
+    locale loc10(loc02, loc01, locale::ctype);
+    VERIFY (loc10.name() == "*");
+    VERIFY (loc10 != loc01);   // As not named, even tho facets same...
+    VERIFY (loc10 != loc02);  
+
+    locale loc11(loc01, loc01, locale::ctype);
+    VERIFY (loc11.name() == "C");
+    VERIFY (loc11 == loc01);  
+
+    try
+      { locale loc12(loc01, static_cast<const char*>(NULL), locale::ctype); }
+    catch(runtime_error& obj)
+      { VERIFY (true); }
+    catch(...)
+      { VERIFY (false); }
+
+    try
+      { locale loc13(loc01, locale("wu-tang clan"), locale::ctype); }
+    catch(runtime_error& obj)
+      { VERIFY (true); }
+    catch(...)
+      { VERIFY (false); }
+
+    locale loc14(loc06, loc01, locale::none);
+    VERIFY (loc14.name() == "fr_FR");
+    VERIFY (loc14 == loc06);  
+
+    locale loc15(loc06, loc01, locale::collate);
+    VERIFY (loc15.name() != "fr_FR");
+    VERIFY (loc15.name() != "C");
+    VERIFY (loc15.name() != "*");
+    VERIFY (loc15.name() != loc09.name());
+    VERIFY (loc15 != loc01);  
+    VERIFY (loc15 != loc06);  
+    VERIFY (loc15 != loc09);  
+  }
 }
 #endif /* !defined(_GLIBCPP_USE_WCHAR_T) */
 
index 8129ea9e048cf71fa44c1fa616af196d57f3918d..1f1a42fa914206ec4d36440e99114473ea2b8171 100644 (file)
@@ -22,6 +22,8 @@
 
 #include <cwchar> // for mbstate_t
 #include <locale>
+#include <stdexcept>
+#include <string>
 #include <iterator>
 #include <debug_assert.h>
 
@@ -169,37 +171,66 @@ std::locale::id gnu_facet::id;
 
 void test01()
 {
-  // 1
-  gnu_collate                  obj01;
-  gnu_ctype                    obj02;
-  gnu_codecvt                  obj03;
-  gnu_moneypunct               obj04;
-  gnu_moneypunct_true          obj05;
-  gnu_money_get                        obj06;
-  gnu_money_put                        obj07;
-  gnu_numpunct                 obj08;
-  gnu_num_get                  obj09;
-  gnu_num_put                  obj10;
-  gnu_time_get                 obj11;
-  gnu_time_put                 obj12;
-  gnu_messages                 obj13;
-  gnu_time_put_out             obj14(0);
-  gnu_time_put_byname          obj15("gnu_message_byname", 0);
-  gnu_time_get_in              obj16(0);
-  gnu_time_get_byname          obj17("gnu_message_byname", 0);
-  gnu_num_put_out              obj18(0);
-  gnu_num_get_in               obj19(0);
-  gnu_numpunct_byname          obj20("gnu_message_byname", 0);
-  gnu_money_put_out            obj21(0);
-  gnu_money_get_in             obj22(0);
-  gnu_moneypunct_byname_false  obj23("gnu_message_byname", 0);
-  gnu_moneypunct_byname_true   obj24("gnu_message_byname", 0);
-  gnu_ctype_byname             obj25("gnu_message_byname", 0);
-  gnu_collate_byname           obj26("gnu_message_byname", 0);
-  gnu_messages_byname          obj27("gnu_message_byname", 0);
+  bool test = true;
+  const std::string name_no("*");
+  const std::string name_c("C");
+
+  try 
+    {
+      gnu_collate                      obj01;
+      gnu_ctype                        obj02;
+      gnu_codecvt                      obj03;
+      gnu_moneypunct                   obj04;
+      gnu_moneypunct_true              obj05;
+      gnu_money_get                    obj06;
+      gnu_money_put                    obj07;
+      gnu_numpunct                     obj08;
+      gnu_num_get                      obj09;
+      gnu_num_put                      obj10;
+      gnu_time_get                     obj11;
+      gnu_time_put                     obj12;
+      gnu_messages                     obj13;
+      gnu_time_put_out                 obj14(0);
+      gnu_time_put_byname              obj15("C", 0);
+      gnu_time_get_in                  obj16(0);
+      gnu_time_get_byname              obj17("C", 0);
+      gnu_num_put_out                  obj18(0);
+      gnu_num_get_in                   obj19(0);
+      gnu_numpunct_byname              obj20("C", 0);
+      gnu_money_put_out                        obj21(0);
+      gnu_money_get_in                 obj22(0);
+      gnu_moneypunct_byname_false      obj23("C", 0);
+      gnu_moneypunct_byname_true       obj24("C", 0);
+      gnu_ctype_byname                 obj25("C", 0);
+      gnu_collate_byname               obj26("C", 0);
+      gnu_messages_byname              obj27("C", 0);
+    }
+  catch (std::runtime_error& obj)
+    { 
+      // named locale not valid
+      VERIFY( false );
+    }
+  catch (std::exception& obj)
+    {
+      // some other error
+      VERIFY( false );
+    }
 
   // 2
-  gnu_facet                    obj28;
+  try
+    { 
+      gnu_facet                        obj28; 
+    }
+  catch (std::runtime_error& obj)
+    { 
+      // named locale not valid
+      VERIFY( false );
+    }
+  catch (std::exception& obj)
+    {
+      // some other error
+      VERIFY( false );
+    }
 }
 
 int main ()
diff --git a/libstdc++-v3/testsuite/22_locale/members.cc b/libstdc++-v3/testsuite/22_locale/members.cc
new file mode 100644 (file)
index 0000000..c474a17
--- /dev/null
@@ -0,0 +1,140 @@
+// 2001-01-19 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2001 Free Software Foundation
+//
+// 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.
+
+// 22.2.3.1.1  numpunct members
+
+#include <locale>
+#include <string>
+#include <debug_assert.h>
+
+// creating unnamed locales 1 using new + combine
+void
+test01()
+{
+  using namespace std;
+  bool test = true;
+  const string name_c("C");
+  const string str_unnamed("*");
+  string str;
+
+  // construct a locale object with the specialized facet.
+  locale               loc_c = locale::classic();
+  locale               loc_1(locale::classic(), new numpunct<char>);
+
+  // check names
+  VERIFY( loc_c.name() == name_c );
+  VERIFY( loc_1.name() == str_unnamed );
+
+  // sanity check the constructed locale has the specialized facet.
+  VERIFY( has_facet<numpunct<char> >(loc_1) );
+  VERIFY( has_facet<numpunct<char> >(loc_c) );
+  
+  // extract facet
+  const numpunct<char>&        f_nump_1 = use_facet<numpunct<char> >(loc_1); 
+  const numpunct<char>&        f_nump_c = use_facet<numpunct<char> >(loc_c); 
+
+  // attempt to re-synthesize classic locale
+  locale               loc_2 = loc_1.combine<numpunct<char> >(loc_c);
+  VERIFY( loc_2.name() == str_unnamed );
+  VERIFY( loc_2 != loc_c );
+}
+
+
+void
+test02()
+{
+  using namespace std;
+  bool test = true;
+  const string name_c("C");
+  const string name_no("*");
+  string str;
+
+  // construct a locale object with the specialized facet.
+  locale               loc_c = locale::classic();
+  locale               loc_1(locale::classic(), 
+                             new numpunct_byname<char>("fr_FR"));
+  locale               loc_fr("fr_FR");
+
+  // check names
+  VERIFY( loc_c.name() == name_c );
+  VERIFY( loc_1.name() == name_no );
+
+  // sanity check the constructed locale has the specialized facet.
+  VERIFY( has_facet<numpunct<char> >(loc_1) );
+  VERIFY( has_facet<numpunct<char> >(loc_c) );
+  
+  // attempt to re-synthesize classic locale
+  locale               loc_2 = loc_1.combine<numpunct<char> >(loc_c);
+  VERIFY( loc_2.name() == name_no );
+  VERIFY( loc_2 != loc_c );
+
+  // extract facet
+  const numpunct<char>&        f_nump_1 = use_facet<numpunct<char> >(loc_1); 
+  const numpunct<char>&        f_nump_2 = use_facet<numpunct<char> >(loc_2); 
+  const numpunct<char>&        f_nump_c = use_facet<numpunct<char> >(loc_c); 
+  const numpunct<char>&        f_nump_fr = use_facet<numpunct<char> >(loc_fr); 
+
+  // sanity check the data is correct.
+  char dp1 = f_nump_c.decimal_point();
+  char th1 = f_nump_c.thousands_sep();
+  string g1 = f_nump_c.grouping();
+  string t1 = f_nump_c.truename();
+  string f1 = f_nump_c.falsename();
+
+  char dp2 = f_nump_1.decimal_point();
+  char th2 = f_nump_1.thousands_sep();
+  string g2 = f_nump_1.grouping();
+  string t2 = f_nump_1.truename();
+  string f2 = f_nump_1.falsename();
+
+  char dp3 = f_nump_2.decimal_point();
+  char th3 = f_nump_2.thousands_sep();
+  string g3 = f_nump_2.grouping();
+  string t3 = f_nump_2.truename();
+  string f3 = f_nump_2.falsename();
+
+  char dp4 = f_nump_fr.decimal_point();
+  char th4 = f_nump_fr.thousands_sep();
+  string g4 = f_nump_fr.grouping();
+  string t4 = f_nump_fr.truename();
+  string f4 = f_nump_fr.falsename();
+
+#if 0
+  // XXX these should not be the same if named locales are working correctly.
+  VERIFY( dp1 != dp2 );
+  VERIFY( th1 != th2 );
+#endif
+
+  VERIFY( dp1 == dp3 );
+  VERIFY( th1 == th3 );
+  VERIFY( t1 == t3 );
+  VERIFY( f1 == f3 );
+}
+
+
+int main()
+{
+  test01();
+  test02();
+  return 0;
+}
+
+
+
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct.cc b/libstdc++-v3/testsuite/22_locale/numpunct.cc
new file mode 100644 (file)
index 0000000..f50e99b
--- /dev/null
@@ -0,0 +1,34 @@
+// 2001-01-23  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001 Free Software Foundation
+//
+// 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.
+
+// 22.2.3 the numeric punctuation facet
+
+#include <locale>
+
+// Should be able to instantiate this for other types besides char, wchar_t
+class gnu_numpunct: public std::numpunct<unsigned char> 
+{ };
+
+
+int main() 
+{ 
+  gnu_numpunct facet01;
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_byname.cc b/libstdc++-v3/testsuite/22_locale/numpunct_byname.cc
new file mode 100644 (file)
index 0000000..444f364
--- /dev/null
@@ -0,0 +1,73 @@
+// 2001-01-24 Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001 Free Software Foundation
+//
+// 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.
+
+// 22.2.3.2 Template class numpunct_byname
+
+#include <locale>
+#include <debug_assert.h>
+
+void test01()
+{
+  using namespace std;
+  
+  bool test = true;
+  string str;
+
+  locale loc_byname(locale::classic(), new numpunct_byname<char>("de_DE"));
+  str = loc_byname.name();
+
+  locale loc_de("de_DE");
+  str = loc_de.name();
+
+  VERIFY( loc_de != loc_byname );
+
+  // cache the numpunct facets
+  const numpunct<char>& nump_byname = use_facet<numpunct<char> >(loc_byname); 
+  const numpunct<char>& nump_de = use_facet<numpunct<char> >(loc_de); 
+
+  // sanity check that the data match
+  char dp1 = nump_byname.decimal_point();
+  char th1 = nump_byname.thousands_sep();
+  string g1 = nump_byname.grouping();
+  string t1 = nump_byname.truename();
+  string f1 = nump_byname.falsename();
+
+  char dp2 = nump_de.decimal_point();
+  char th2 = nump_de.thousands_sep();
+  string g2 = nump_de.grouping();
+  string t2 = nump_de.truename();
+  string f2 = nump_de.falsename();
+
+  VERIFY( dp1 == dp2 );
+  VERIFY( th1 == th2 );
+  VERIFY( g1 == g2 );
+  VERIFY( t1 == t2 );
+  VERIFY( f1 == f2 );
+}
+
+int main()
+{
+  test01();
+
+  return 0;
+}
+
+
+
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_char_members.cc b/libstdc++-v3/testsuite/22_locale/numpunct_char_members.cc
new file mode 100644 (file)
index 0000000..64c329f
--- /dev/null
@@ -0,0 +1,91 @@
+// 2001-01-17 bkoz
+
+// Copyright (C) 2001 Free Software Foundation
+//
+// 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.
+
+// 22.2.3.1.1 nunpunct members
+
+#include <locale>
+#include <debug_assert.h>
+
+void test01()
+{
+  using namespace std;
+  
+  bool test = true;
+  string str;
+
+  // basic construction
+  locale loc_c = locale::classic();
+  str = loc_c.name();
+
+  locale loc_us("en_US");
+  str = loc_us.name();
+  VERIFY( loc_c != loc_us );
+
+  locale loc_fr("fr_FR");
+  str = loc_fr.name();
+  VERIFY( loc_c != loc_fr );
+
+  VERIFY( loc_us != loc_fr );
+
+  locale loc_combo(loc_us, loc_fr, locale::numeric);
+  str = loc_combo.name();
+  VERIFY( loc_combo != loc_fr );
+  VERIFY( loc_combo != loc_us );
+  VERIFY( loc_combo != loc_c );
+
+  // cache the numpunct facets
+  const numpunct<char>& nump_c = use_facet<numpunct<char> >(loc_c); 
+  const numpunct<char>& nump_us = use_facet<numpunct<char> >(loc_us); 
+  const numpunct<char>& nump_fr = use_facet<numpunct<char> >(loc_fr); 
+  const numpunct<char>& nump_combo = use_facet<numpunct<char> >(loc_combo); 
+
+  // sanity check the data is correct.
+  char dp1 = nump_c.decimal_point();
+  char th1 = nump_c.thousands_sep();
+  string g1 = nump_c.grouping();
+  string t1 = nump_c.truename();
+  string f1 = nump_c.falsename();
+
+  char dp2 = nump_us.decimal_point();
+  char th2 = nump_us.thousands_sep();
+  string g2 = nump_us.grouping();
+  string t2 = nump_us.truename();
+  string f2 = nump_us.falsename();
+
+  char dp3 = nump_fr.decimal_point();
+  char th3 = nump_fr.thousands_sep();
+  string g3 = nump_fr.grouping();
+  string t3 = nump_fr.truename();
+  string f3 = nump_fr.falsename();
+
+  char dp4 = nump_combo.decimal_point();
+  char th4 = nump_combo.thousands_sep();
+  string g4 = nump_combo.grouping();
+  string t4 = nump_combo.truename();
+  string f4 = nump_combo.falsename();
+}
+
+int main()
+{
+  test01();
+
+  return 0;
+}
+