acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Deal with library install locations too.

2001-02-06  Benjamin Kosnik  <bkoz@fillmore.constant.com>

	* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Deal with library
	install locations too.
	* aclocal.m4: Regeneate.
	* configure.in: Remove USE_LIBDIR.
	* configure: Regenerate.
	* src/Makefile.am (toolexecdir): Simplify, use
	glibcpp_toolexecdir, glibcpp_toolexeclibdir.
	* src/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Same.
	* libsupc++/Makefile.in: Regenerate.

	* src/Makefile.am: Just remove special rules for locale-inst.cc and
	misc-inst.cc as no longer necessary.

	Follow C++STYLE for naming non-static functions.
	* include/bits/ostream.tcc (_S_pad_char): Not static, rename to
	__pad_char.
	* include/bits/streambuf.tcc: Same.
	* include/bits/ostream.tcc: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/locale_facets.tcc (_S_pad_numeric): To __pad_numeric.
	(_S_output_float): To __output_float.
	* include/bits/std_streambuf.h (_S_copy_streambufs): To
	__copy_streambufs.
	* include/bits/locale_facets.tcc (_S_build_float_format): To
	__build_float_format.
	(_S_format): To __output_integer.
	(_S_fill): To __pad.
	* src/locale.cc: Same.
	* src/misc-inst.cc: Fix formatting. Fix signature for wchar_t. Correct
	names.
	* include/bits/locale_facets.tcc (_S_group_digits): To
	__group_digits.
	* src/locale-inst.cc: Fixup names. Add use_facet instantiations
	for collate, numpunct.

From-SVN: r39508
This commit is contained in:
Benjamin Kosnik 2001-02-07 01:54:21 +00:00
parent c00dd14e10
commit 72ed283692
20 changed files with 283 additions and 243 deletions

View File

@ -1,3 +1,41 @@
2001-02-06 Benjamin Kosnik <bkoz@fillmore.constant.com>
* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Deal with library
install locations too.
* aclocal.m4: Regeneate.
* configure.in: Remove USE_LIBDIR.
* configure: Regenerate.
* src/Makefile.am (toolexecdir): Simplify, use
glibcpp_toolexecdir, glibcpp_toolexeclibdir.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.am: Same.
* libsupc++/Makefile.in: Regenerate.
* src/Makefile.am: Just remove special rules for locale-inst.cc and
misc-inst.cc as no longer necessary.
Follow C++STYLE for naming non-static functions.
* include/bits/ostream.tcc (_S_pad_char): Not static, rename to
__pad_char.
* include/bits/streambuf.tcc: Same.
* include/bits/ostream.tcc: Same.
* include/bits/istream.tcc: Same.
* include/bits/locale_facets.tcc (_S_pad_numeric): To __pad_numeric.
(_S_output_float): To __output_float.
* include/bits/std_streambuf.h (_S_copy_streambufs): To
__copy_streambufs.
* include/bits/locale_facets.tcc (_S_build_float_format): To
__build_float_format.
(_S_format): To __output_integer.
(_S_fill): To __pad.
* src/locale.cc: Same.
* src/misc-inst.cc: Fix formatting. Fix signature for wchar_t. Correct
names.
* include/bits/locale_facets.tcc (_S_group_digits): To
__group_digits.
* src/locale-inst.cc: Fixup names. Add use_facet instantiations
for collate, numpunct.
2001-02-06 Phil Edwards <pme@sources.redhat.com>
* docs/html/configopts.html: Fix HTML markup.
@ -53,7 +91,7 @@
* src/Makefile.am: Remove use of -fimplicit-templates.
* src/Makefile.in: Regenerated.
* src/locale-inst.cc: Explicitly instantiate more functions.
* src/msic-inst.cc: Likewise.
* src/misc-inst.cc: Likewise.
* src/string-inst.cc: Likewise.
2001-02-05 Benjamin Kosnik <bkoz@redhat.com>

View File

@ -108,8 +108,9 @@ WERROR = @WERROR@
WFMT_FLAGS = @WFMT_FLAGS@
enable_shared = @enable_shared@
enable_static = @enable_static@
gcc_version = @gcc_version@
glibcpp_basedir = @glibcpp_basedir@
glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
gxx_include_dir = @gxx_include_dir@
ifGNUmake = @ifGNUmake@
libinst_wstring_la = @libinst_wstring_la@

View File

@ -1500,12 +1500,21 @@ AC_DEFUN(GLIBCPP_EXPORT_FLAGS, [
AC_SUBST(WARN_FLAGS)
])
dnl
dnl GLIBCPP_EXPORT_INSTALL_INFO
dnl calculates gxx_install_dir
dnl exports glibcpp_toolexecdir
dnl exports glibcpp_toolexeclibdir
dnl
dnl Assumes cross_compiling bits already done, and with_cross_host in
dnl particular
dnl
dnl GLIBCPP_EXPORT_INSTALL_INFO
AC_DEFUN(GLIBCPP_EXPORT_INSTALL_INFO, [
glibcpp_toolexecdir=no
glibcpp_toolexeclibdir=no
AC_MSG_CHECKING([for interface version number])
libstdcxx_interface=$INTERFACE
AC_MSG_RESULT($libstdcxx_interface)
@ -1537,23 +1546,40 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
# and header files if --enable-version-specific-runtime-libs option
# is selected.
changequote(,)dnl
gcc_tmp=`grep version_string ${srcdir}/../gcc/version.c | awk '{print $6}'`
gcc_num=`echo ${gcc_tmp} | sed 's/\"//g'`
gcc_version=$gcc_num
gxx_include_dir='$(libdir)/gcc-lib/$(target_alias)/$(gcc_version)/include/g++'
gcc_version_trigger=${srcdir}/../gcc/version.c
gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^\"]*\)\".*/\1/'`
gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
gxx_include_dir='$(libdir)/gcc-lib/$(target_alias)/'${gcc_version}/include/g++
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
glibcpp_toolexeclibdir='$(toolexecdir)/'${gcc_version}
changequote([,])dnl
AC_SUBST(gcc_version)
AM_CONDITIONAL(VERSION_SPECIFIC_LIBS, test x"$version_specific_libs" = x"yes")
],version_specific_libs=no)
AC_MSG_RESULT($version_specific_libs)
AC_MSG_CHECKING([for install location])
# Default case for install directory for include files.
if test x"$version_specific_libs" = x"no" \
&& test x"$gxx_include_dir"=x"no"; then
gxx_include_dir=${prefix}/include/g++-${libstdcxx_interface}
gxx_include_dir='$(prefix)'/include/g++-${libstdcxx_interface}
fi
# Calculate glibcpp_toolexecdir, glibcpp_toolexeclibdir
# Install a library built with a cross compiler in tooldir, not libdir.
if test x"$glibcpp_toolexecdir" = x"no"; then
if test x"$with_cross_host" = x"yes"; then
glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
else
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
fi
fi
AC_MSG_CHECKING([for install location])
AC_MSG_RESULT($gxx_include_dir)
AC_SUBST(gxx_include_dir)
AC_SUBST(glibcpp_toolexecdir)
AC_SUBST(glibcpp_toolexeclibdir)
])

View File

@ -1512,12 +1512,21 @@ AC_DEFUN(GLIBCPP_EXPORT_FLAGS, [
AC_SUBST(WARN_FLAGS)
])
dnl
dnl GLIBCPP_EXPORT_INSTALL_INFO
dnl calculates gxx_install_dir
dnl exports glibcpp_toolexecdir
dnl exports glibcpp_toolexeclibdir
dnl
dnl Assumes cross_compiling bits already done, and with_cross_host in
dnl particular
dnl
dnl GLIBCPP_EXPORT_INSTALL_INFO
AC_DEFUN(GLIBCPP_EXPORT_INSTALL_INFO, [
glibcpp_toolexecdir=no
glibcpp_toolexeclibdir=no
AC_MSG_CHECKING([for interface version number])
libstdcxx_interface=$INTERFACE
AC_MSG_RESULT($libstdcxx_interface)
@ -1549,23 +1558,40 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
# and header files if --enable-version-specific-runtime-libs option
# is selected.
changequote(,)dnl
gcc_tmp=`grep version_string ${srcdir}/../gcc/version.c | awk '{print $6}'`
gcc_num=`echo ${gcc_tmp} | sed 's/\"//g'`
gcc_version=$gcc_num
gxx_include_dir='$(libdir)/gcc-lib/$(target_alias)/$(gcc_version)/include/g++'
gcc_version_trigger=${srcdir}/../gcc/version.c
gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^\"]*\)\".*/\1/'`
gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
gxx_include_dir='$(libdir)/gcc-lib/$(target_alias)/'${gcc_version}/include/g++
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
glibcpp_toolexeclibdir='$(toolexecdir)/'${gcc_version}
changequote([,])dnl
AC_SUBST(gcc_version)
AM_CONDITIONAL(VERSION_SPECIFIC_LIBS, test x"$version_specific_libs" = x"yes")
],version_specific_libs=no)
AC_MSG_RESULT($version_specific_libs)
AC_MSG_CHECKING([for install location])
# Default case for install directory for include files.
if test x"$version_specific_libs" = x"no" \
&& test x"$gxx_include_dir"=x"no"; then
gxx_include_dir=${prefix}/include/g++-${libstdcxx_interface}
gxx_include_dir='$(prefix)'/include/g++-${libstdcxx_interface}
fi
# Calculate glibcpp_toolexecdir, glibcpp_toolexeclibdir
# Install a library built with a cross compiler in tooldir, not libdir.
if test x"$glibcpp_toolexecdir" = x"no"; then
if test x"$with_cross_host" = x"yes"; then
glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
else
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
fi
fi
AC_MSG_CHECKING([for install location])
AC_MSG_RESULT($gxx_include_dir)
AC_SUBST(gxx_include_dir)
AC_SUBST(glibcpp_toolexecdir)
AC_SUBST(glibcpp_toolexeclibdir)
])

View File

@ -15569,15 +15569,6 @@ else
fi
if test -z "$with_cross_host"; then
USE_LIBDIR_TRUE=
USE_LIBDIR_FALSE='#'
else
USE_LIBDIR_TRUE='#'
USE_LIBDIR_FALSE=
fi
if test "$CANADIAN" = yes; then
CANADIAN_TRUE=
CANADIAN_FALSE='#'
@ -15636,17 +15627,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:15640: checking for locale.h" >&5
echo "configure:15631: 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 15645 "configure"
#line 15636 "configure"
#include "confdefs.h"
#include <locale.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:15650: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:15641: \"$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*
@ -15664,19 +15655,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:15668: checking for LC_MESSAGES" >&5
echo "configure:15659: 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 15673 "configure"
#line 15664 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
if { (eval echo configure:15680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:15671: \"$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
@ -15717,14 +15708,17 @@ INTERFACE=v3
# Export all the install information
glibcpp_toolexecdir=no
glibcpp_toolexeclibdir=no
echo $ac_n "checking for interface version number""... $ac_c" 1>&6
echo "configure:15722: checking for interface version number" >&5
echo "configure:15716: 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:15728: checking for --with-gxx-include-dir" >&5
echo "configure:15722: 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"
@ -15748,7 +15742,7 @@ echo "$ac_t""$gxx_include_dir" 1>&6
# Process the option "--enable-version-specific-runtime-libs"
echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6
echo "configure:15752: checking for --enable-version-specific-runtime-libs" >&5
echo "configure:15746: 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"
@ -15756,20 +15750,12 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then
# Need the gcc compiler version to know where to install libraries
# and header files if --enable-version-specific-runtime-libs option
# is selected.
gcc_tmp=`grep version_string ${srcdir}/../gcc/version.c | awk '{print }'`
gcc_num=`echo ${gcc_tmp} | sed 's/\"//g'`
gcc_version=$gcc_num
gxx_include_dir='$(libdir)/gcc-lib/$(target_alias)/$(gcc_version)/include/g++'
if test x"$version_specific_libs" = x"yes"; then
VERSION_SPECIFIC_LIBS_TRUE=
VERSION_SPECIFIC_LIBS_FALSE='#'
else
VERSION_SPECIFIC_LIBS_TRUE='#'
VERSION_SPECIFIC_LIBS_FALSE=
fi
gcc_version_trigger=${srcdir}/../gcc/version.c
gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^\"]*\)\".*/\1/'`
gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
gxx_include_dir='$(libdir)/gcc-lib/$(target_alias)/'${gcc_version}/include/g++
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
glibcpp_toolexeclibdir='$(toolexecdir)/'${gcc_version}
else
version_specific_libs=no
@ -15777,16 +15763,33 @@ fi
echo "$ac_t""$version_specific_libs" 1>&6
echo $ac_n "checking for install location""... $ac_c" 1>&6
echo "configure:15782: checking for install location" >&5
# Default case for install directory for include files.
if test x"$version_specific_libs" = x"no" \
&& test x"$gxx_include_dir"=x"no"; then
gxx_include_dir=${prefix}/include/g++-${libstdcxx_interface}
gxx_include_dir='$(prefix)'/include/g++-${libstdcxx_interface}
fi
# Calculate glibcpp_toolexecdir, glibcpp_toolexeclibdir
# Install a library built with a cross compiler in tooldir, not libdir.
if test x"$glibcpp_toolexecdir" = x"no"; then
if test x"$with_cross_host" = x"yes"; then
glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
else
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
fi
fi
echo $ac_n "checking for install location""... $ac_c" 1>&6
echo "configure:15786: checking for install location" >&5
echo "$ac_t""$gxx_include_dir" 1>&6
# Export all the include and flag information to makefiles.
# Root level of the include sources.
@ -16057,14 +16060,11 @@ s%@NULL_TARGET_TRUE@%$NULL_TARGET_TRUE%g
s%@NULL_TARGET_FALSE@%$NULL_TARGET_FALSE%g
s%@NATIVE_TRUE@%$NATIVE_TRUE%g
s%@NATIVE_FALSE@%$NATIVE_FALSE%g
s%@USE_LIBDIR_TRUE@%$USE_LIBDIR_TRUE%g
s%@USE_LIBDIR_FALSE@%$USE_LIBDIR_FALSE%g
s%@CANADIAN_TRUE@%$CANADIAN_TRUE%g
s%@CANADIAN_FALSE@%$CANADIAN_FALSE%g
s%@gcc_version@%$gcc_version%g
s%@VERSION_SPECIFIC_LIBS_TRUE@%$VERSION_SPECIFIC_LIBS_TRUE%g
s%@VERSION_SPECIFIC_LIBS_FALSE@%$VERSION_SPECIFIC_LIBS_FALSE%g
s%@gxx_include_dir@%$gxx_include_dir%g
s%@glibcpp_toolexecdir@%$glibcpp_toolexecdir%g
s%@glibcpp_toolexeclibdir@%$glibcpp_toolexeclibdir%g
s%@GLIBCPP_INCLUDE_DIR@%$GLIBCPP_INCLUDE_DIR%g
s%@TOPLEVEL_INCLUDES@%$TOPLEVEL_INCLUDES%g
s%@LIBMATH_INCLUDES@%$LIBMATH_INCLUDES%g

View File

@ -231,7 +231,6 @@ AC_LINK_FILES($ATOMICITYH/bits/atomicity.h, include/bits/atomicity.h)
AM_CONDITIONAL(NULL_TARGET, test "$NULL_TARGET" = yes)
AM_CONDITIONAL(NATIVE, test "$NATIVE" = yes || test "$NULL_TARGET" = yes)
AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host")
AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes)
AC_CACHE_SAVE

View File

@ -465,7 +465,7 @@ namespace std {
__streambuf_type* __sbin = this->rdbuf();
sentry __cerb(*this, false);
if (__sbout && __cerb)
__xtrct = _S_copy_streambufs(*this, __sbin, __sbout);
__xtrct = __copy_streambufs(*this, __sbin, __sbout);
if (!__sbout || !__xtrct)
this->setstate(ios_base::failbit);
return *this;

View File

@ -715,14 +715,14 @@ namespace std
return __beg;
}
// _S_fill is specialized for ostreambuf_iterator, random access iterator.
// __pad is specialized for ostreambuf_iterator, random access iterator.
template <typename _CharT, typename _OutIter>
inline _OutIter
_S_fill(_OutIter __s, _CharT __fill, int __padding);
__pad(_OutIter __s, _CharT __fill, int __padding);
template <typename _CharT, typename _RaIter>
_RaIter
_S_fill(_RaIter __s, _CharT __fill, int __padding,
__pad(_RaIter __s, _CharT __fill, int __padding,
random_access_iterator_tag)
{
fill_n(__s, __fill);
@ -731,7 +731,7 @@ namespace std
template <typename _CharT, typename _OutIter, typename _Tag>
_OutIter
_S_fill(_OutIter __s, _CharT __fill, int __padding, _Tag)
__pad(_OutIter __s, _CharT __fill, int __padding, _Tag)
{
while (--__padding >= 0) { *__s = __fill; ++__s; }
return __s;
@ -739,19 +739,19 @@ namespace std
template <typename _CharT, typename _OutIter>
inline _OutIter
_S_fill(_OutIter __s, _CharT __fill, int __padding)
__pad(_OutIter __s, _CharT __fill, int __padding)
{
return _S_fill(__s, __fill, __padding,
return __pad(__s, __fill, __padding,
iterator_traits<_OutIter>::iterator_category());
}
template <typename _CharT, typename _OutIter>
_OutIter
_S_pad_numeric(_OutIter __s, ios_base::fmtflags /*__flags*/,
_CharT /*__fill*/, int /*__width*/,
_CharT const* /*__first*/, _CharT const* /*__middle*/,
_CharT const* /*__last*/)
{
__pad_numeric(_OutIter __s, ios_base::fmtflags /*__flags*/,
_CharT /*__fill*/, int /*__width*/,
_CharT const* /*__first*/, _CharT const* /*__middle*/,
_CharT const* /*__last*/)
{
// XXX Not currently done: non streambuf_iterator
return __s;
}
@ -759,9 +759,9 @@ namespace std
// Partial specialization for ostreambuf_iterator.
template <typename _CharT>
ostreambuf_iterator<_CharT>
_S_pad_numeric(ostreambuf_iterator<_CharT> __s, ios_base::fmtflags __flags,
_CharT __fill, int __width, _CharT const* __first,
_CharT const* __middle, _CharT const* __last)
__pad_numeric(ostreambuf_iterator<_CharT> __s, ios_base::fmtflags __flags,
_CharT __fill, int __width, _CharT const* __first,
_CharT const* __middle, _CharT const* __last)
{
typedef ostreambuf_iterator<_CharT> __out_iter;
int __padding = __width - (__last - __first);
@ -776,7 +776,7 @@ namespace std
{
if (!__testfield)
{
_S_fill(__s, __fill, __padding);
__pad(__s, __fill, __padding);
__padding = 0;
}
copy(__first, __middle, __s);
@ -785,12 +785,12 @@ namespace std
if (__padding && __aflags != ios_base::left)
{
_S_fill(__s2, __fill, __padding);
__pad(__s2, __fill, __padding);
__padding = 0;
}
__out_iter __s3 = copy(__middle, __last, __s2);
if (__padding)
_S_fill(__s3, __fill, __padding);
__pad(__s3, __fill, __padding);
return __s3;
}
@ -805,7 +805,7 @@ namespace std
if ((__flags & ios_base::boolalpha) == 0)
{
unsigned long __uv = __v;
return _S_format(__s, __io, __fill, false, __uv);
return __output_integer(__s, __io, __fill, false, __uv);
}
else
{
@ -826,19 +826,19 @@ namespace std
return __s;
}
// _S_group_digits inserts "group separator" characters into an array
// __group_digits inserts "group separator" characters into an array
// of characters. It's recursive, one iteration per group. It moves
// the characters in the buffer this way: "xxxx12345" -> "12,345xxx".
// Call this only with __grouping != __grend.
template <typename _CharT>
_CharT*
_S_group_digits(_CharT* __s, _CharT __grsep, char const* __grouping,
__group_digits(_CharT* __s, _CharT __grsep, char const* __grouping,
char const* __grend, _CharT const* __first,
_CharT const* __last)
{
if (__last - __first > *__grouping)
{
__s = _S_group_digits(__s, __grsep,
__s = __group_digits(__s, __grsep,
(__grouping + 1 == __grend ? __grouping : __grouping + 1),
__grend, __first, __last - *__grouping);
__first = __last - *__grouping;
@ -854,7 +854,7 @@ namespace std
template <typename _CharT, typename _OutIter, typename _ValueT>
_OutIter
_S_format(_OutIter __s, ios_base& __io, _CharT __fill, bool __neg,
__output_integer(_OutIter __s, ios_base& __io, _CharT __fill, bool __neg,
_ValueT __v)
{
// Leave room for "+/-," "0x," and commas.
@ -909,17 +909,17 @@ namespace std
return copy(__front, __digits + _M_room, __s);
if (!__fmt->_M_use_grouping)
return _S_pad_numeric(__s, __flags, __fill, __io.width(0),
__front, __sign_end, __digits + _M_room);
return __pad_numeric(__s, __flags, __fill, __io.width(0),
__front, __sign_end, __digits + _M_room);
_CharT* __p = __digits;
while (__front < __sign_end)
*__p++ = *__front++;
const char* __gr = __fmt->_M_grouping.data();
__front = _S_group_digits(__p, __fmt->_M_thousands_sep, __gr,
__front = __group_digits(__p, __fmt->_M_thousands_sep, __gr,
__gr + __fmt->_M_grouping.size(), __sign_end, __digits + _M_room);
return _S_pad_numeric(__s, __flags, __fill, __io.width(0),
__digits, __p, __front);
return __pad_numeric(__s, __flags, __fill, __io.width(0),
__digits, __p, __front);
}
template <typename _CharT, typename _OutIter>
@ -934,7 +934,7 @@ namespace std
__neg = true;
__uv = -__uv;
}
return _S_format(__s, __io, __fill, __neg, __uv);
return __output_integer(__s, __io, __fill, __neg, __uv);
}
template <typename _CharT, typename _OutIter>
@ -942,7 +942,7 @@ namespace std
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill,
unsigned long __v) const
{ return _S_format(__s, __io, __fill, false, __v); }
{ return __output_integer(__s, __io, __fill, false, __v); }
#ifdef _GLIBCPP_USE_LONG_LONG
template <typename _CharT, typename _OutIter>
@ -957,7 +957,7 @@ namespace std
__neg = true;
__uv = -__uv;
}
return _S_format(__s, __b, __fill, __neg, __uv);
return __output_integer(__s, __b, __fill, __neg, __uv);
}
template <typename _CharT, typename _OutIter>
@ -965,13 +965,13 @@ namespace std
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill,
unsigned long long __v) const
{ return _S_format(__s, __io, __fill, false, __v); }
{ return __output_integer(__s, __io, __fill, false, __v); }
#endif
// Generic helper function
template<typename _CharT, typename _OutIter>
_OutIter
_S_output_float(_OutIter __s, ios_base& __io, _CharT __fill,
__output_float(_OutIter __s, ios_base& __io, _CharT __fill,
const char* __sptr, size_t __slen)
{
// XXX Not currently done: non streambuf_iterator
@ -981,7 +981,7 @@ namespace std
// Partial specialization for ostreambuf_iterator.
template<typename _CharT>
ostreambuf_iterator<_CharT>
_S_output_float(ostreambuf_iterator<_CharT> __s, ios_base& __io,
__output_float(ostreambuf_iterator<_CharT> __s, ios_base& __io,
_CharT __fill, const char* __sptr, size_t __slen)
{
size_t __padding = __io.width() > streamsize(__slen) ?
@ -1000,12 +1000,12 @@ namespace std
++__s;
++__sptr;
}
__s = _S_fill(__s, __fill, __padding);
__s = __pad(__s, __fill, __padding);
__padding = 0;
}
else if (__adjfield != ios_base::left)
{
__s = _S_fill(__s, __fill, __padding);
__s = __pad(__s, __fill, __padding);
__padding = 0;
}
// the "C" locale decimal character
@ -1022,14 +1022,14 @@ namespace std
}
// [22.2.2.2.2.19] Table 61
if (__padding)
_S_fill(__s, __fill, __padding);
__pad(__s, __fill, __padding);
__io.width(0);
return __s;
}
bool
_S_build_float_format(ios_base& __io, char* __fptr, char __modifier,
streamsize __prec);
__build_float_format(ios_base& __io, char* __fptr, char __modifier,
streamsize __prec);
template <typename _CharT, typename _OutIter>
_OutIter
@ -1046,12 +1046,12 @@ namespace std
size_t __slen;
// Long enough for the max format spec.
char __fbuf[16];
if (_S_build_float_format(__io, __fbuf, 0, __prec))
if (__build_float_format(__io, __fbuf, 0, __prec))
__slen = sprintf(__sbuf, __fbuf, __prec, __v);
else
__slen = sprintf(__sbuf, __fbuf, __v);
// [22.2.2.2.2] Stages 2-4.
return _S_output_float(__s, __io, __fill, __sbuf, __slen);
return __output_float(__s, __io, __fill, __sbuf, __slen);
}
template <typename _CharT, typename _OutIter>
@ -1071,12 +1071,12 @@ namespace std
// Long enough for the max format spec.
char __fbuf[16];
// 'L' as per [22.2.2.2.2] Table 59
if ( _S_build_float_format(__io, __fbuf, 'L', __prec))
if (__build_float_format(__io, __fbuf, 'L', __prec))
__slen = sprintf(__sbuf, __fbuf, __prec, __v);
else
__slen = sprintf(__sbuf, __fbuf, __v);
// [22.2.2.2.2] Stages 2-4
return _S_output_float(__s, __io, __fill, __sbuf, __slen);
return __output_float(__s, __io, __fill, __sbuf, __slen);
}
template <typename _CharT, typename _OutIter>
@ -1091,7 +1091,7 @@ namespace std
| ios_base::uppercase | ios_base::internal);
__io.flags(__fmt & __fmtmask | (ios_base::hex | ios_base::showbase));
try {
_OutIter __s2 = _S_format(__s, __io, __fill, false,
_OutIter __s2 = __output_integer(__s, __io, __fill, false,
reinterpret_cast<unsigned long>(__v));
__io.flags(__fmt);
return __s2;

View File

@ -1,4 +1,4 @@
// 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
@ -309,7 +309,7 @@ namespace std {
__streambuf_type* __sbout = this->rdbuf();
sentry __cerb(*this);
if (__sbin && __cerb)
__xtrct = _S_copy_streambufs(*this, __sbin, __sbout);
__xtrct = __copy_streambufs(*this, __sbin, __sbout);
if (!__sbin || !__xtrct)
this->setstate(ios_base::failbit);
return *this;
@ -401,16 +401,16 @@ namespace std {
// 27.6.2.5.4 Character inserters
// Construct correctly padded string, as per 22.2.2.2.2
// Similar in theory to _S_pad_numeric, from num_put, but it doesn't
// Similar in theory to __pad_numeric, from num_put, but it doesn't
// use _S_fill: perhaps it should.
// Assumes
// __newlen > __oldlen
// __news is allocated for __newlen size
template<typename _CharT, typename _Traits>
void
_S_pad_char(basic_ios<_CharT, _Traits>& __ios,
_CharT* __news, const _CharT* __olds,
const streamsize __newlen, const streamsize __oldlen)
__pad_char(basic_ios<_CharT, _Traits>& __ios,
_CharT* __news, const _CharT* __olds,
const streamsize __newlen, const streamsize __oldlen)
{
typedef _CharT char_type;
typedef _Traits traits_type;
@ -501,7 +501,7 @@ namespace std {
streamsize __len = 1;
if (__w > __len)
{
_S_pad_char(__out, __pads, &__c, __w, __len);
__pad_char(__out, __pads, &__c, __w, __len);
__len = __w;
}
__out.write(__pads, __len);
@ -534,7 +534,7 @@ namespace std {
streamsize __len = 1;
if (__w > __len)
{
_S_pad_char(__out, __pads, &__c, __w, __len);
__pad_char(__out, __pads, &__c, __w, __len);
__len = __w;
}
__out.write(__pads, __len);
@ -565,7 +565,7 @@ namespace std {
streamsize __len = static_cast<streamsize>(_Traits::length(__s));
if (__w > __len)
{
_S_pad_char(__out, __pads, __s, __w, __len);
__pad_char(__out, __pads, __s, __w, __len);
__s = __pads;
__len = __w;
}
@ -608,7 +608,7 @@ namespace std {
if (__w > __len)
{
_S_pad_char(__out, __pads, __ws, __w, __len);
__pad_char(__out, __pads, __ws, __w, __len);
__str = __pads;
__len = __w;
}
@ -641,7 +641,7 @@ namespace std {
streamsize __len = static_cast<streamsize>(_Traits::length(__s));
if (__w > __len)
{
_S_pad_char(__out, __pads, __s, __w, __len);
__pad_char(__out, __pads, __s, __w, __len);
__s = __pads;
__len = __w;
}

View File

@ -44,9 +44,9 @@ namespace std {
template<typename _CharT, typename _Traits>
streamsize
_S_copy_streambufs(basic_ios<_CharT, _Traits>& _ios,
basic_streambuf<_CharT, _Traits>* __sbin,
basic_streambuf<_CharT, _Traits>* __sbout);
__copy_streambufs(basic_ios<_CharT, _Traits>& _ios,
basic_streambuf<_CharT, _Traits>* __sbin,
basic_streambuf<_CharT, _Traits>* __sbout);
// 27.5.2 Template class basic_streambuf<_CharT, _Traits>
template<typename _CharT, typename _Traits>
@ -71,8 +71,8 @@ namespace std {
friend class ostreambuf_iterator<char_type, traits_type>;
friend streamsize
_S_copy_streambufs<>(basic_ios<char_type, traits_type>& __ios,
__streambuf_type* __sbin,__streambuf_type* __sbout);
__copy_streambufs<>(basic_ios<char_type, traits_type>& __ios,
__streambuf_type* __sbin,__streambuf_type* __sbout);
protected:

View File

@ -183,10 +183,10 @@ namespace std {
// necessary.
template<typename _CharT, typename _Traits>
streamsize
_S_copy_streambufs(basic_ios<_CharT, _Traits>& __ios,
basic_streambuf<_CharT, _Traits>* __sbin,
basic_streambuf<_CharT, _Traits>* __sbout)
{
__copy_streambufs(basic_ios<_CharT, _Traits>& __ios,
basic_streambuf<_CharT, _Traits>* __sbin,
basic_streambuf<_CharT, _Traits>* __sbout)
{
typedef typename _Traits::int_type int_type;
streamsize __ret = 0;

View File

@ -102,8 +102,9 @@ WERROR = @WERROR@
WFMT_FLAGS = @WFMT_FLAGS@
enable_shared = @enable_shared@
enable_static = @enable_static@
gcc_version = @gcc_version@
glibcpp_basedir = @glibcpp_basedir@
glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
gxx_include_dir = @gxx_include_dir@
ifGNUmake = @ifGNUmake@
libinst_wstring_la = @libinst_wstring_la@

View File

@ -102,8 +102,9 @@ WERROR = @WERROR@
WFMT_FLAGS = @WFMT_FLAGS@
enable_shared = @enable_shared@
enable_static = @enable_static@
gcc_version = @gcc_version@
glibcpp_basedir = @glibcpp_basedir@
glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
gxx_include_dir = @gxx_include_dir@
ifGNUmake = @ifGNUmake@
libinst_wstring_la = @libinst_wstring_la@

View File

@ -27,19 +27,8 @@ MAINT_CHARSET = latin1
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
# Cross compiler and multilib support.
# Install a library built with a cross compiler in tooldir, not libdir.
if USE_LIBDIR
if VERSION_SPECIFIC_LIBS
gcc_version = @gcc_version@
toolexecdir = $(libdir)/gcc-lib/$(target_alias)
toolexeclibdir = $(toolexecdir)/$(gcc_version)
else
toolexeclibdir = $(libdir)$(MULTISUBDIR)
endif
else
toolexecdir = $(exec_prefix)/$(target_alias)
toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
endif
toolexecdir = @glibcpp_toolexecdir@
toolexeclibdir = @glibcpp_toolexeclibdir@
# Need this library to both be part of libstdc++.a, and installed

View File

@ -100,6 +100,8 @@ WFMT_FLAGS = @WFMT_FLAGS@
enable_shared = @enable_shared@
enable_static = @enable_static@
glibcpp_basedir = @glibcpp_basedir@
glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
gxx_include_dir = @gxx_include_dir@
ifGNUmake = @ifGNUmake@
libinst_wstring_la = @libinst_wstring_la@
@ -112,13 +114,8 @@ MAINT_CHARSET = latin1
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
# Cross compiler and multilib support.
# Install a library built with a cross compiler in tooldir, not libdir.
@USE_LIBDIR_TRUE@@VERSION_SPECIFIC_LIBS_TRUE@gcc_version = @gcc_version@
@USE_LIBDIR_TRUE@@VERSION_SPECIFIC_LIBS_TRUE@toolexecdir = $(libdir)/gcc-lib/$(target_alias)
@USE_LIBDIR_FALSE@toolexecdir = $(exec_prefix)/$(target_alias)
@USE_LIBDIR_TRUE@@VERSION_SPECIFIC_LIBS_TRUE@toolexeclibdir = $(toolexecdir)/$(gcc_version)
@USE_LIBDIR_TRUE@@VERSION_SPECIFIC_LIBS_FALSE@toolexeclibdir = $(libdir)$(MULTISUBDIR)
@USE_LIBDIR_FALSE@toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
toolexecdir = @glibcpp_toolexecdir@
toolexeclibdir = @glibcpp_toolexeclibdir@
# Need this library to both be part of libstdc++.a, and installed
# separately too.

View File

@ -21,7 +21,7 @@
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA.
## $Id: Makefile.am,v 1.68 2001/02/06 06:32:01 bkoz Exp $
## $Id: Makefile.am,v 1.69 2001/02/06 06:36:18 mmitchel Exp $
AUTOMAKE_OPTIONS = 1.3 gnits
MAINT_CHARSET = latin1
@ -29,20 +29,8 @@ MAINT_CHARSET = latin1
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
# Cross compiler and multilib support.
# Install a library built with a cross compiler in tooldir, not libdir.
if USE_LIBDIR
if VERSION_SPECIFIC_LIBS
gcc_version = @gcc_version@
toolexecdir = $(libdir)/gcc-lib/$(target_alias)
toolexeclibdir = $(toolexecdir)/$(gcc_version)
else
toolexeclibdir = $(libdir)$(MULTISUBDIR)
endif
else
toolexecdir = $(exec_prefix)/$(target_alias)
toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
endif
toolexecdir = @glibcpp_toolexecdir@
toolexeclibdir = @glibcpp_toolexeclibdir@
toolexeclib_LTLIBRARIES = libstdc++.la
EXTRA_LTLIBRARIES = libinst-string.la libinst-wstring.la
@ -293,19 +281,6 @@ myinstallheaders:
fi;
# We have to handle misc-inst.cc and locale-inst.cc in a special way
# since we cannot instantiate all classes due to missing definitions
# for things like vptrs, type_info bits, etc. when using
# -fno-implicit-templates.
misc-inst.o: misc-inst.cc
$(CXXCOMPILE) -c $<
misc-inst.lo: misc-inst.cc
$(LTCXXCOMPILE) -c $<
locale-inst.o: locale-inst.cc
$(CXXCOMPILE) -c $<
locale-inst.lo: locale-inst.cc
$(LTCXXCOMPILE) -c $<
# Use special rules for the deprecated source files so that they find
# deprecated include files.
strstream.lo: strstream.cc

View File

@ -100,6 +100,8 @@ WFMT_FLAGS = @WFMT_FLAGS@
enable_shared = @enable_shared@
enable_static = @enable_static@
glibcpp_basedir = @glibcpp_basedir@
glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
ifGNUmake = @ifGNUmake@
libinst_wstring_la = @libinst_wstring_la@
libio_la = @libio_la@
@ -111,14 +113,8 @@ MAINT_CHARSET = latin1
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
# Cross compiler and multilib support.
# Install a library built with a cross compiler in tooldir, not libdir.
@USE_LIBDIR_TRUE@@VERSION_SPECIFIC_LIBS_TRUE@gcc_version = @gcc_version@
@USE_LIBDIR_TRUE@@VERSION_SPECIFIC_LIBS_TRUE@toolexecdir = $(libdir)/gcc-lib/$(target_alias)
@USE_LIBDIR_FALSE@toolexecdir = $(exec_prefix)/$(target_alias)
@USE_LIBDIR_TRUE@@VERSION_SPECIFIC_LIBS_TRUE@toolexeclibdir = $(toolexecdir)/$(gcc_version)
@USE_LIBDIR_TRUE@@VERSION_SPECIFIC_LIBS_FALSE@toolexeclibdir = $(libdir)$(MULTISUBDIR)
@USE_LIBDIR_FALSE@toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
toolexecdir = @glibcpp_toolexecdir@
toolexeclibdir = @glibcpp_toolexeclibdir@
toolexeclib_LTLIBRARIES = libstdc++.la
EXTRA_LTLIBRARIES = libinst-string.la libinst-wstring.la
@ -562,19 +558,6 @@ myinstallheaders:
done; \
fi;
# We have to handle misc-inst.cc and locale-inst.cc in a special way
# since we cannot instantiate all classes due to missing definitions
# for things like vptrs, type_info bits, etc. when using
# -fno-implicit-templates.
misc-inst.o: misc-inst.cc
$(CXXCOMPILE) -c $<
misc-inst.lo: misc-inst.cc
$(LTCXXCOMPILE) -c $<
locale-inst.o: locale-inst.cc
$(CXXCOMPILE) -c $<
locale-inst.lo: locale-inst.cc
$(LTCXXCOMPILE) -c $<
# Use special rules for the deprecated source files so that they find
# deprecated include files.
strstream.lo: strstream.cc

View File

@ -136,23 +136,35 @@ namespace std {
// use_facet
template
const num_put<char, obuf_iterator >&
use_facet<num_put<char, obuf_iterator> >(const locale &);
use_facet<num_put<char, obuf_iterator> >(const locale&);
template
const num_get<char, ibuf_iterator >&
use_facet<num_get<char, ibuf_iterator> >(const locale &);
use_facet<num_get<char, ibuf_iterator> >(const locale&);
template
const codecvt<char, char, mbstate_t>&
use_facet<codecvt<char, char, mbstate_t> >(const locale&);
template
const numpunct<char>&
use_facet<numpunct<char> >(const locale&);
template
const collate<char>&
use_facet<collate<char> >(const locale&);
#ifdef _GLIBCPP_USE_WCHAR_T
template
const num_put<wchar_t, wobuf_iterator>&
use_facet<num_put<wchar_t, wobuf_iterator> >(const locale &);
use_facet<num_put<wchar_t, wobuf_iterator> >(const locale&);
template
const num_get<wchar_t, wibuf_iterator>&
use_facet<num_get<wchar_t, wibuf_iterator> >(const locale &);
use_facet<num_get<wchar_t, wibuf_iterator> >(const locale&);
template
const codecvt<wchar_t, char, mbstate_t>&
use_facet<codecvt<wchar_t, char, mbstate_t> >(locale const &);
use_facet<codecvt<wchar_t, char, mbstate_t> >(locale const&);
template
const numpunct<wchar_t>&
use_facet<numpunct<wchar_t> >(const locale&);
template
const collate<wchar_t>&
use_facet<collate<wchar_t> >(const locale&);
#endif
// has_facet
@ -211,29 +223,29 @@ namespace std {
template
ostreambuf_iter
_S_fill<char, ostreambuf_iter, output_iterator_tag>
__pad<char, ostreambuf_iter, output_iterator_tag>
(ostreambuf_iter, char, int, output_iterator_tag);
template
ostreambuf_iter
_S_pad_numeric<char, ostreambuf_iter>
__pad_numeric<char, ostreambuf_iter>
(ostreambuf_iter, ios_base::fmtflags, char, int, char const*, char const*,
char const*);
template
char*
_S_group_digits<char>(char*, char, char const*, char const*,
char const*, char const*);
__group_digits<char>(char*, char, char const*, char const*,
char const*, char const*);
template
ostreambuf_iter
_S_format<char, ostreambuf_iter, unsigned long>
__output_integer<char, ostreambuf_iter, unsigned long>
(ostreambuf_iter, ios_base &, char, bool, unsigned long);
#ifdef _GLIBCPP_USE_LONG_LONG
template
ostreambuf_iter
_S_format<char, ostreambuf_iter, unsigned long long>
__output_integer<char, ostreambuf_iter, unsigned long long>
(ostreambuf_iter, ios_base &, char, bool, unsigned long long);
#endif
@ -246,29 +258,29 @@ namespace std {
template
wostreambuf_iter
_S_fill<wchar_t, wostreambuf_iter, output_iterator_tag>
__pad<wchar_t, wostreambuf_iter, output_iterator_tag>
(wostreambuf_iter, wchar_t, int, output_iterator_tag);
template
wostreambuf_iter
_S_pad_numeric<wchar_t, wostreambuf_iter>
(wostreambuf_iter, ios_base::fmtflags, wchar_t __fill, int, wchar_t const*,
__pad_numeric<wchar_t, wostreambuf_iter>
(wostreambuf_iter, ios_base::fmtflags, wchar_t __fill, int, wchar_t const*,
wchar_t const*, wchar_t const*);
template
wchar_t*
_S_group_digits<wchar_t>(wchar_t*, wchar_t, char const*, char const*,
wchar_t const*, wchar_t const*);
__group_digits<wchar_t>(wchar_t*, wchar_t, char const*, char const*,
wchar_t const*, wchar_t const*);
template
wostreambuf_iter
_S_format<wchar_t, wostreambuf_iter, unsigned long>
__output_integer<wchar_t, wostreambuf_iter, unsigned long>
(wostreambuf_iter, ios_base &, wchar_t, bool, unsigned long);
#ifdef _GLIBCPP_USE_LONG_LONG
template
wostreambuf_iter
_S_format<wchar_t, wostreambuf_iter, unsigned long long>
__output_integer<wchar_t, wostreambuf_iter, unsigned long long>
(wostreambuf_iter, ios_base &, wchar_t, bool, unsigned long long);
#endif
#endif // _GLIBCPP_USE_WCHAR_T
@ -283,10 +295,6 @@ namespace std {
fill_n<locale::facet**, unsigned long, locale::facet*>
(locale::facet**, unsigned long, locale::facet* const&);
template
const numpunct<char>&
use_facet(const locale&);
template
void __sink_unused_warning<locale::facet*>(locale::facet*);
@ -304,9 +312,5 @@ namespace std {
__normal_iterator<locale::facet**,
vector<locale::facet*> >,
locale::facet* const&);
template
const collate<char>&
use_facet<collate<char> >(const locale&);
} //std

View File

@ -981,8 +981,8 @@ namespace std
// implementation follows the C++ standard fairly directly as
// outlined in 22.2.2.2 [lib.locale.num.put]
bool
_S_build_float_format(ios_base& __io, char* __fptr, char __modifier,
streamsize __prec)
__build_float_format(ios_base& __io, char* __fptr, char __modifier,
streamsize __prec)
{
bool __incl_prec = false;
ios_base::fmtflags __flags = __io.flags();

View File

@ -1,6 +1,6 @@
// Explicit instantiation file.
// Copyright (C) 1997-1999, 2000, 2001 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
@ -262,47 +262,47 @@ namespace std {
template
void
_S_pad_char (basic_ios<char>&, char*, const char*,
const streamsize, const streamsize);
__pad_char(basic_ios<char>&, char*, const char*,
const streamsize, const streamsize);
#ifdef _GLIBCPP_USE_WCHAR_T
template
void
_S_pad_char (basic_ios<wchar_t>&, wchar_t*, const wchar_t*,
const streamsize, const streamsize);
__pad_char(basic_ios<wchar_t>&, wchar_t*, const wchar_t*,
const streamsize, const streamsize);
#endif
template
ostreambuf_iterator<char>
_S_pad_numeric (ostreambuf_iterator<char>, _Ios_Fmtflags, char, int,
const char*, const char*, const char*);
__pad_numeric(ostreambuf_iterator<char>, _Ios_Fmtflags, char, int,
const char*, const char*, const char*);
#ifdef _GLIBCPP_USE_WCHAR_T
template
ostreambuf_iterator<wchar_t>
_S_pad_numeric (ostreambuf_iterator<wchar_t>, _Ios_Fmtflags, wchar_t, int,
const wchar_t*, const wchar_t*, const wchar_t*);
__pad_numeric(ostreambuf_iterator<wchar_t>, _Ios_Fmtflags, wchar_t, int,
const wchar_t*, const wchar_t*, const wchar_t*);
#endif
template
ostreambuf_iterator<char>
_S_output_float (ostreambuf_iterator<char>, ios_base&, char,
const char*, size_t);
__output_float(ostreambuf_iterator<char>, ios_base&, char,
const char*, size_t);
#ifdef _GLIBCPP_USE_WCHAR_T
template
ostreambuf_iterator<wchar_t>
_S_output_float (ostreambuf_iterator<wchar_t>, ios_base&, wchar_t,
const wchar_t*, size_t);
__output_float(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t,
const char*, size_t);
#endif
template
streamsize
_S_copy_streambufs(basic_ios<char>&,
basic_streambuf<char>*,
basic_streambuf<char>*);
__copy_streambufs(basic_ios<char>&,
basic_streambuf<char>*,
basic_streambuf<char>*);
#ifdef _GLIBCPP_USE_WCHAR_T
template
int
_S_copy_streambufs(basic_ios<wchar_t>&,
basic_streambuf<wchar_t>*,
basic_streambuf<wchar_t>*);
__copy_streambufs(basic_ios<wchar_t>&,
basic_streambuf<wchar_t>*,
basic_streambuf<wchar_t>*);
#endif
} //std