This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[v3] smooth patches from yesterday
- To: gcc-patches at gcc dot gnu dot org
- Subject: [v3] smooth patches from yesterday
- From: Benjamin Kosnik <bkoz at redhat dot com>
- Date: Tue, 6 Feb 2001 17:50:36 -0800
Does a couple of things.
1) remove special rules in src/Makefile.am for -fimplicit-templates.
2) cleans up global function names, should not have _S_ appended, as
per C++STYLE.
3) finishes off the GLIBCPP_EXPORT_INSTALL_INFO by dealing with where
libraries get installed, thus removing the need for USE_LIBDIR.
4) fixes typos in yesterday's changes to string-inst that stop
compliation of wchar_t enabled builds.
tested with compiles on linux/x86 for the following configs:
(default)
(libio-wchar_t-gnu-locale)
(--enable-version-specific-runtime-libs)
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.
Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/Makefile.in,v
retrieving revision 1.58
diff -c -p -r1.58 Makefile.in
*** Makefile.in 2001/02/06 06:31:57 1.58
--- Makefile.in 2001/02/07 01:19:15
*************** WERROR = @WERROR@
*** 108,115 ****
WFMT_FLAGS = @WFMT_FLAGS@
enable_shared = @enable_shared@
enable_static = @enable_static@
- gcc_version = @gcc_version@
glibcpp_basedir = @glibcpp_basedir@
gxx_include_dir = @gxx_include_dir@
ifGNUmake = @ifGNUmake@
libinst_wstring_la = @libinst_wstring_la@
--- 108,116 ----
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@
Index: acinclude.m4
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/acinclude.m4,v
retrieving revision 1.128
diff -c -p -r1.128 acinclude.m4
*** acinclude.m4 2001/02/06 08:18:29 1.128
--- acinclude.m4 2001/02/07 01:19:20
*************** AC_DEFUN(GLIBCPP_EXPORT_FLAGS, [
*** 1500,1511 ****
AC_SUBST(WARN_FLAGS)
])
!
dnl GLIBCPP_EXPORT_INSTALL_INFO
dnl calculates gxx_install_dir
dnl
AC_DEFUN(GLIBCPP_EXPORT_INSTALL_INFO, [
AC_MSG_CHECKING([for interface version number])
libstdcxx_interface=$INTERFACE
AC_MSG_RESULT($libstdcxx_interface)
--- 1500,1520 ----
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)
*************** AC_ARG_ENABLE(version-specific-runtime-l
*** 1537,1559 ****
# 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++'
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])
if test x"$version_specific_libs" = x"no" \
&& test x"$gxx_include_dir"=x"no"; then
! gxx_include_dir=${prefix}/include/g++-${libstdcxx_interface}
fi
AC_MSG_RESULT($gxx_include_dir)
AC_SUBST(gxx_include_dir)
])
--- 1546,1585 ----
# and header files if --enable-version-specific-runtime-libs option
# is selected.
changequote(,)dnl
! 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
],version_specific_libs=no)
AC_MSG_RESULT($version_specific_libs)
! # 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}
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)
])
Index: aclocal.m4
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/aclocal.m4,v
retrieving revision 1.131
diff -c -p -r1.131 aclocal.m4
*** aclocal.m4 2001/02/06 08:18:29 1.131
--- aclocal.m4 2001/02/07 01:19:24
*************** AC_DEFUN(GLIBCPP_EXPORT_FLAGS, [
*** 1512,1523 ****
AC_SUBST(WARN_FLAGS)
])
!
dnl GLIBCPP_EXPORT_INSTALL_INFO
dnl calculates gxx_install_dir
dnl
AC_DEFUN(GLIBCPP_EXPORT_INSTALL_INFO, [
AC_MSG_CHECKING([for interface version number])
libstdcxx_interface=$INTERFACE
AC_MSG_RESULT($libstdcxx_interface)
--- 1512,1532 ----
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)
*************** AC_ARG_ENABLE(version-specific-runtime-l
*** 1549,1571 ****
# 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++'
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])
if test x"$version_specific_libs" = x"no" \
&& test x"$gxx_include_dir"=x"no"; then
! gxx_include_dir=${prefix}/include/g++-${libstdcxx_interface}
fi
AC_MSG_RESULT($gxx_include_dir)
AC_SUBST(gxx_include_dir)
])
--- 1558,1597 ----
# and header files if --enable-version-specific-runtime-libs option
# is selected.
changequote(,)dnl
! 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
],version_specific_libs=no)
AC_MSG_RESULT($version_specific_libs)
! # 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}
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)
])
Index: configure.in
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/configure.in,v
retrieving revision 1.52
diff -c -p -r1.52 configure.in
*** configure.in 2001/02/06 06:31:59 1.52
--- configure.in 2001/02/07 01:20:03
*************** AC_LINK_FILES($ATOMICITYH/bits/atomicity
*** 231,237 ****
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
--- 231,236 ----
Index: include/bits/istream.tcc
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/istream.tcc,v
retrieving revision 1.4
diff -c -p -r1.4 istream.tcc
*** istream.tcc 2001/01/16 07:55:25 1.4
--- istream.tcc 2001/02/07 01:20:06
*************** namespace std {
*** 465,471 ****
__streambuf_type* __sbin = this->rdbuf();
sentry __cerb(*this, false);
if (__sbout && __cerb)
! __xtrct = _S_copy_streambufs(*this, __sbin, __sbout);
if (!__sbout || !__xtrct)
this->setstate(ios_base::failbit);
return *this;
--- 465,471 ----
__streambuf_type* __sbin = this->rdbuf();
sentry __cerb(*this, false);
if (__sbout && __cerb)
! __xtrct = __copy_streambufs(*this, __sbin, __sbout);
if (!__sbout || !__xtrct)
this->setstate(ios_base::failbit);
return *this;
Index: include/bits/locale_facets.tcc
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/locale_facets.tcc,v
retrieving revision 1.7
diff -c -p -r1.7 locale_facets.tcc
*** locale_facets.tcc 2001/02/06 06:36:18 1.7
--- locale_facets.tcc 2001/02/07 01:20:09
*************** namespace std
*** 715,728 ****
return __beg;
}
! // _S_fill is specialized for ostreambuf_iterator, random access iterator.
template <typename _CharT, typename _OutIter>
inline _OutIter
! _S_fill(_OutIter __s, _CharT __fill, int __padding);
template <typename _CharT, typename _RaIter>
_RaIter
! _S_fill(_RaIter __s, _CharT __fill, int __padding,
random_access_iterator_tag)
{
fill_n(__s, __fill);
--- 715,728 ----
return __beg;
}
! // __pad is specialized for ostreambuf_iterator, random access iterator.
template <typename _CharT, typename _OutIter>
inline _OutIter
! __pad(_OutIter __s, _CharT __fill, int __padding);
template <typename _CharT, typename _RaIter>
_RaIter
! __pad(_RaIter __s, _CharT __fill, int __padding,
random_access_iterator_tag)
{
fill_n(__s, __fill);
*************** namespace std
*** 731,737 ****
template <typename _CharT, typename _OutIter, typename _Tag>
_OutIter
! _S_fill(_OutIter __s, _CharT __fill, int __padding, _Tag)
{
while (--__padding >= 0) { *__s = __fill; ++__s; }
return __s;
--- 731,737 ----
template <typename _CharT, typename _OutIter, typename _Tag>
_OutIter
! __pad(_OutIter __s, _CharT __fill, int __padding, _Tag)
{
while (--__padding >= 0) { *__s = __fill; ++__s; }
return __s;
*************** namespace std
*** 739,757 ****
template <typename _CharT, typename _OutIter>
inline _OutIter
! _S_fill(_OutIter __s, _CharT __fill, int __padding)
{
! return _S_fill(__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*/)
! {
// XXX Not currently done: non streambuf_iterator
return __s;
}
--- 739,757 ----
template <typename _CharT, typename _OutIter>
inline _OutIter
! __pad(_OutIter __s, _CharT __fill, int __padding)
{
! return __pad(__s, __fill, __padding,
iterator_traits<_OutIter>::iterator_category());
}
template <typename _CharT, typename _OutIter>
_OutIter
! __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;
}
*************** namespace std
*** 759,767 ****
// 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)
{
typedef ostreambuf_iterator<_CharT> __out_iter;
int __padding = __width - (__last - __first);
--- 759,767 ----
// Partial specialization for ostreambuf_iterator.
template <typename _CharT>
ostreambuf_iterator<_CharT>
! __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);
*************** namespace std
*** 776,782 ****
{
if (!__testfield)
{
! _S_fill(__s, __fill, __padding);
__padding = 0;
}
copy(__first, __middle, __s);
--- 776,782 ----
{
if (!__testfield)
{
! __pad(__s, __fill, __padding);
__padding = 0;
}
copy(__first, __middle, __s);
*************** namespace std
*** 785,796 ****
if (__padding && __aflags != ios_base::left)
{
! _S_fill(__s2, __fill, __padding);
__padding = 0;
}
__out_iter __s3 = copy(__middle, __last, __s2);
if (__padding)
! _S_fill(__s3, __fill, __padding);
return __s3;
}
--- 785,796 ----
if (__padding && __aflags != ios_base::left)
{
! __pad(__s2, __fill, __padding);
__padding = 0;
}
__out_iter __s3 = copy(__middle, __last, __s2);
if (__padding)
! __pad(__s3, __fill, __padding);
return __s3;
}
*************** namespace std
*** 805,811 ****
if ((__flags & ios_base::boolalpha) == 0)
{
unsigned long __uv = __v;
! return _S_format(__s, __io, __fill, false, __uv);
}
else
{
--- 805,811 ----
if ((__flags & ios_base::boolalpha) == 0)
{
unsigned long __uv = __v;
! return __output_integer(__s, __io, __fill, false, __uv);
}
else
{
*************** namespace std
*** 826,844 ****
return __s;
}
! // _S_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,
char const* __grend, _CharT const* __first,
_CharT const* __last)
{
if (__last - __first > *__grouping)
{
! __s = _S_group_digits(__s, __grsep,
(__grouping + 1 == __grend ? __grouping : __grouping + 1),
__grend, __first, __last - *__grouping);
__first = __last - *__grouping;
--- 826,844 ----
return __s;
}
! // __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*
! __group_digits(_CharT* __s, _CharT __grsep, char const* __grouping,
char const* __grend, _CharT const* __first,
_CharT const* __last)
{
if (__last - __first > *__grouping)
{
! __s = __group_digits(__s, __grsep,
(__grouping + 1 == __grend ? __grouping : __grouping + 1),
__grend, __first, __last - *__grouping);
__first = __last - *__grouping;
*************** namespace std
*** 854,860 ****
template <typename _CharT, typename _OutIter, typename _ValueT>
_OutIter
! _S_format(_OutIter __s, ios_base& __io, _CharT __fill, bool __neg,
_ValueT __v)
{
// Leave room for "+/-," "0x," and commas.
--- 854,860 ----
template <typename _CharT, typename _OutIter, typename _ValueT>
_OutIter
! __output_integer(_OutIter __s, ios_base& __io, _CharT __fill, bool __neg,
_ValueT __v)
{
// Leave room for "+/-," "0x," and commas.
*************** namespace std
*** 909,925 ****
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);
_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,
__gr + __fmt->_M_grouping.size(), __sign_end, __digits + _M_room);
! return _S_pad_numeric(__s, __flags, __fill, __io.width(0),
! __digits, __p, __front);
}
template <typename _CharT, typename _OutIter>
--- 909,925 ----
return copy(__front, __digits + _M_room, __s);
if (!__fmt->_M_use_grouping)
! 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 = __group_digits(__p, __fmt->_M_thousands_sep, __gr,
__gr + __fmt->_M_grouping.size(), __sign_end, __digits + _M_room);
! return __pad_numeric(__s, __flags, __fill, __io.width(0),
! __digits, __p, __front);
}
template <typename _CharT, typename _OutIter>
*************** namespace std
*** 934,940 ****
__neg = true;
__uv = -__uv;
}
! return _S_format(__s, __io, __fill, __neg, __uv);
}
template <typename _CharT, typename _OutIter>
--- 934,940 ----
__neg = true;
__uv = -__uv;
}
! return __output_integer(__s, __io, __fill, __neg, __uv);
}
template <typename _CharT, typename _OutIter>
*************** namespace std
*** 942,948 ****
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); }
#ifdef _GLIBCPP_USE_LONG_LONG
template <typename _CharT, typename _OutIter>
--- 942,948 ----
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill,
unsigned long __v) const
! { return __output_integer(__s, __io, __fill, false, __v); }
#ifdef _GLIBCPP_USE_LONG_LONG
template <typename _CharT, typename _OutIter>
*************** namespace std
*** 957,963 ****
__neg = true;
__uv = -__uv;
}
! return _S_format(__s, __b, __fill, __neg, __uv);
}
template <typename _CharT, typename _OutIter>
--- 957,963 ----
__neg = true;
__uv = -__uv;
}
! return __output_integer(__s, __b, __fill, __neg, __uv);
}
template <typename _CharT, typename _OutIter>
*************** namespace std
*** 965,977 ****
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); }
#endif
// Generic helper function
template<typename _CharT, typename _OutIter>
_OutIter
! _S_output_float(_OutIter __s, ios_base& __io, _CharT __fill,
const char* __sptr, size_t __slen)
{
// XXX Not currently done: non streambuf_iterator
--- 965,977 ----
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill,
unsigned long long __v) const
! { return __output_integer(__s, __io, __fill, false, __v); }
#endif
// Generic helper function
template<typename _CharT, typename _OutIter>
_OutIter
! __output_float(_OutIter __s, ios_base& __io, _CharT __fill,
const char* __sptr, size_t __slen)
{
// XXX Not currently done: non streambuf_iterator
*************** namespace std
*** 981,987 ****
// Partial specialization for ostreambuf_iterator.
template<typename _CharT>
ostreambuf_iterator<_CharT>
! _S_output_float(ostreambuf_iterator<_CharT> __s, ios_base& __io,
_CharT __fill, const char* __sptr, size_t __slen)
{
size_t __padding = __io.width() > streamsize(__slen) ?
--- 981,987 ----
// Partial specialization for ostreambuf_iterator.
template<typename _CharT>
ostreambuf_iterator<_CharT>
! __output_float(ostreambuf_iterator<_CharT> __s, ios_base& __io,
_CharT __fill, const char* __sptr, size_t __slen)
{
size_t __padding = __io.width() > streamsize(__slen) ?
*************** namespace std
*** 1000,1011 ****
++__s;
++__sptr;
}
! __s = _S_fill(__s, __fill, __padding);
__padding = 0;
}
else if (__adjfield != ios_base::left)
{
! __s = _S_fill(__s, __fill, __padding);
__padding = 0;
}
// the "C" locale decimal character
--- 1000,1011 ----
++__s;
++__sptr;
}
! __s = __pad(__s, __fill, __padding);
__padding = 0;
}
else if (__adjfield != ios_base::left)
{
! __s = __pad(__s, __fill, __padding);
__padding = 0;
}
// the "C" locale decimal character
*************** namespace std
*** 1022,1035 ****
}
// [22.2.2.2.2.19] Table 61
if (__padding)
! _S_fill(__s, __fill, __padding);
__io.width(0);
return __s;
}
bool
! _S_build_float_format(ios_base& __io, char* __fptr, char __modifier,
! streamsize __prec);
template <typename _CharT, typename _OutIter>
_OutIter
--- 1022,1035 ----
}
// [22.2.2.2.2.19] Table 61
if (__padding)
! __pad(__s, __fill, __padding);
__io.width(0);
return __s;
}
bool
! __build_float_format(ios_base& __io, char* __fptr, char __modifier,
! streamsize __prec);
template <typename _CharT, typename _OutIter>
_OutIter
*************** namespace std
*** 1046,1057 ****
size_t __slen;
// Long enough for the max format spec.
char __fbuf[16];
! if (_S_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);
}
template <typename _CharT, typename _OutIter>
--- 1046,1057 ----
size_t __slen;
// Long enough for the max format spec.
char __fbuf[16];
! 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 __output_float(__s, __io, __fill, __sbuf, __slen);
}
template <typename _CharT, typename _OutIter>
*************** namespace std
*** 1071,1082 ****
// 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))
__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);
}
template <typename _CharT, typename _OutIter>
--- 1071,1082 ----
// Long enough for the max format spec.
char __fbuf[16];
// 'L' as per [22.2.2.2.2] Table 59
! 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 __output_float(__s, __io, __fill, __sbuf, __slen);
}
template <typename _CharT, typename _OutIter>
*************** namespace std
*** 1091,1097 ****
| 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,
reinterpret_cast<unsigned long>(__v));
__io.flags(__fmt);
return __s2;
--- 1091,1097 ----
| ios_base::uppercase | ios_base::internal);
__io.flags(__fmt & __fmtmask | (ios_base::hex | ios_base::showbase));
try {
! _OutIter __s2 = __output_integer(__s, __io, __fill, false,
reinterpret_cast<unsigned long>(__v));
__io.flags(__fmt);
return __s2;
Index: include/bits/ostream.tcc
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/ostream.tcc,v
retrieving revision 1.1
diff -c -p -r1.1 ostream.tcc
*** ostream.tcc 2000/10/05 11:27:01 1.1
--- ostream.tcc 2001/02/07 01:20:10
***************
*** 1,4 ****
! // Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
--- 1,4 ----
! // 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
*************** namespace std {
*** 309,315 ****
__streambuf_type* __sbout = this->rdbuf();
sentry __cerb(*this);
if (__sbin && __cerb)
! __xtrct = _S_copy_streambufs(*this, __sbin, __sbout);
if (!__sbin || !__xtrct)
this->setstate(ios_base::failbit);
return *this;
--- 309,315 ----
__streambuf_type* __sbout = this->rdbuf();
sentry __cerb(*this);
if (__sbin && __cerb)
! __xtrct = __copy_streambufs(*this, __sbin, __sbout);
if (!__sbin || !__xtrct)
this->setstate(ios_base::failbit);
return *this;
*************** namespace std {
*** 401,416 ****
// 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
// 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)
{
typedef _CharT char_type;
typedef _Traits traits_type;
--- 401,416 ----
// 27.6.2.5.4 Character inserters
// Construct correctly padded string, as per 22.2.2.2.2
! // 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
! __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;
*************** namespace std {
*** 501,507 ****
streamsize __len = 1;
if (__w > __len)
{
! _S_pad_char(__out, __pads, &__c, __w, __len);
__len = __w;
}
__out.write(__pads, __len);
--- 501,507 ----
streamsize __len = 1;
if (__w > __len)
{
! __pad_char(__out, __pads, &__c, __w, __len);
__len = __w;
}
__out.write(__pads, __len);
*************** namespace std {
*** 534,540 ****
streamsize __len = 1;
if (__w > __len)
{
! _S_pad_char(__out, __pads, &__c, __w, __len);
__len = __w;
}
__out.write(__pads, __len);
--- 534,540 ----
streamsize __len = 1;
if (__w > __len)
{
! __pad_char(__out, __pads, &__c, __w, __len);
__len = __w;
}
__out.write(__pads, __len);
*************** namespace std {
*** 565,571 ****
streamsize __len = static_cast<streamsize>(_Traits::length(__s));
if (__w > __len)
{
! _S_pad_char(__out, __pads, __s, __w, __len);
__s = __pads;
__len = __w;
}
--- 565,571 ----
streamsize __len = static_cast<streamsize>(_Traits::length(__s));
if (__w > __len)
{
! __pad_char(__out, __pads, __s, __w, __len);
__s = __pads;
__len = __w;
}
*************** namespace std {
*** 608,614 ****
if (__w > __len)
{
! _S_pad_char(__out, __pads, __ws, __w, __len);
__str = __pads;
__len = __w;
}
--- 608,614 ----
if (__w > __len)
{
! __pad_char(__out, __pads, __ws, __w, __len);
__str = __pads;
__len = __w;
}
*************** namespace std {
*** 641,647 ****
streamsize __len = static_cast<streamsize>(_Traits::length(__s));
if (__w > __len)
{
! _S_pad_char(__out, __pads, __s, __w, __len);
__s = __pads;
__len = __w;
}
--- 641,647 ----
streamsize __len = static_cast<streamsize>(_Traits::length(__s));
if (__w > __len)
{
! __pad_char(__out, __pads, __s, __w, __len);
__s = __pads;
__len = __w;
}
Index: include/bits/std_streambuf.h
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/std_streambuf.h,v
retrieving revision 1.4
diff -c -p -r1.4 std_streambuf.h
*** std_streambuf.h 2001/02/06 06:36:18 1.4
--- std_streambuf.h 2001/02/07 01:20:12
*************** namespace std {
*** 44,52 ****
template<typename _CharT, typename _Traits>
streamsize
! _S_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>
--- 44,52 ----
template<typename _CharT, typename _Traits>
streamsize
! __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>
*************** namespace std {
*** 71,78 ****
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);
protected:
--- 71,78 ----
friend class ostreambuf_iterator<char_type, traits_type>;
friend streamsize
! __copy_streambufs<>(basic_ios<char_type, traits_type>& __ios,
! __streambuf_type* __sbin,__streambuf_type* __sbout);
protected:
Index: include/bits/streambuf.tcc
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/streambuf.tcc,v
retrieving revision 1.2
diff -c -p -r1.2 streambuf.tcc
*** streambuf.tcc 2001/01/16 07:55:26 1.2
--- streambuf.tcc 2001/02/07 01:20:13
*************** namespace std {
*** 183,192 ****
// 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)
! {
typedef typename _Traits::int_type int_type;
streamsize __ret = 0;
--- 183,192 ----
// necessary.
template<typename _CharT, typename _Traits>
streamsize
! __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;
Index: libsupc++/Makefile.am
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/libsupc++/Makefile.am,v
retrieving revision 1.18
diff -c -p -r1.18 Makefile.am
*** Makefile.am 2001/02/06 06:32:01 1.18
--- Makefile.am 2001/02/07 01:20:15
*************** MAINT_CHARSET = latin1
*** 27,45 ****
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
# Need this library to both be part of libstdc++.a, and installed
--- 27,34 ----
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
# Cross compiler and multilib support.
! toolexecdir = @glibcpp_toolexecdir@
! toolexeclibdir = @glibcpp_toolexeclibdir@
# Need this library to both be part of libstdc++.a, and installed
Index: src/Makefile.am
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/src/Makefile.am,v
retrieving revision 1.69
diff -c -p -r1.69 Makefile.am
*** Makefile.am 2001/02/06 06:36:18 1.69
--- Makefile.am 2001/02/07 01:20:17
*************** MAINT_CHARSET = latin1
*** 29,48 ****
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
!
toolexeclib_LTLIBRARIES = libstdc++.la
EXTRA_LTLIBRARIES = libinst-string.la libinst-wstring.la
--- 29,36 ----
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
# Cross compiler and multilib support.
! toolexecdir = @glibcpp_toolexecdir@
! toolexeclibdir = @glibcpp_toolexeclibdir@
toolexeclib_LTLIBRARIES = libstdc++.la
EXTRA_LTLIBRARIES = libinst-string.la libinst-wstring.la
*************** myinstallheaders:
*** 292,310 ****
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.
--- 280,285 ----
Index: src/locale-inst.cc
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/src/locale-inst.cc,v
retrieving revision 1.13
diff -c -p -r1.13 locale-inst.cc
*** locale-inst.cc 2001/02/06 06:36:18 1.13
--- locale-inst.cc 2001/02/07 01:20:20
*************** namespace std {
*** 136,158 ****
// use_facet
template
const num_put<char, obuf_iterator >&
! 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 &);
template
const codecvt<char, char, mbstate_t>&
use_facet<codecvt<char, char, mbstate_t> >(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 &);
template
const num_get<wchar_t, wibuf_iterator>&
! 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 &);
#endif
// has_facet
--- 136,170 ----
// use_facet
template
const num_put<char, obuf_iterator >&
! 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&);
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&);
template
const num_get<wchar_t, wibuf_iterator>&
! 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&);
! 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
*************** namespace std {
*** 211,239 ****
template
ostreambuf_iter
! _S_fill<char, ostreambuf_iter, output_iterator_tag>
(ostreambuf_iter, char, int, output_iterator_tag);
template
ostreambuf_iter
! _S_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*);
template
ostreambuf_iter
! _S_format<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>
(ostreambuf_iter, ios_base &, char, bool, unsigned long long);
#endif
--- 223,251 ----
template
ostreambuf_iter
! __pad<char, ostreambuf_iter, output_iterator_tag>
(ostreambuf_iter, char, int, output_iterator_tag);
template
ostreambuf_iter
! __pad_numeric<char, ostreambuf_iter>
(ostreambuf_iter, ios_base::fmtflags, char, int, char const*, char const*,
char const*);
template
char*
! __group_digits<char>(char*, char, char const*, char const*,
! char const*, char const*);
template
ostreambuf_iter
! __output_integer<char, ostreambuf_iter, unsigned long>
(ostreambuf_iter, ios_base &, char, bool, unsigned long);
#ifdef _GLIBCPP_USE_LONG_LONG
template
ostreambuf_iter
! __output_integer<char, ostreambuf_iter, unsigned long long>
(ostreambuf_iter, ios_base &, char, bool, unsigned long long);
#endif
*************** namespace std {
*** 246,274 ****
template
wostreambuf_iter
! _S_fill<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*,
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*);
template
wostreambuf_iter
! _S_format<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>
(wostreambuf_iter, ios_base &, wchar_t, bool, unsigned long long);
#endif
#endif // _GLIBCPP_USE_WCHAR_T
--- 258,286 ----
template
wostreambuf_iter
! __pad<wchar_t, wostreambuf_iter, output_iterator_tag>
(wostreambuf_iter, wchar_t, int, output_iterator_tag);
template
wostreambuf_iter
! __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*
! __group_digits<wchar_t>(wchar_t*, wchar_t, char const*, char const*,
! wchar_t const*, wchar_t const*);
template
wostreambuf_iter
! __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
! __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
*************** namespace std {
*** 284,293 ****
(locale::facet**, unsigned long, locale::facet* const&);
template
- const numpunct<char>&
- use_facet(const locale&);
-
- template
void __sink_unused_warning<locale::facet*>(locale::facet*);
template
--- 296,301 ----
*************** namespace std {
*** 304,312 ****
__normal_iterator<locale::facet**,
vector<locale::facet*> >,
locale::facet* const&);
-
- template
- const collate<char>&
- use_facet<collate<char> >(const locale&);
} //std
--- 312,316 ----
Index: src/locale.cc
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/src/locale.cc,v
retrieving revision 1.26
diff -c -p -r1.26 locale.cc
*** locale.cc 2001/01/30 09:18:51 1.26
--- locale.cc 2001/02/07 01:20:22
*************** namespace std
*** 981,988 ****
// 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)
{
bool __incl_prec = false;
ios_base::fmtflags __flags = __io.flags();
--- 981,988 ----
// implementation follows the C++ standard fairly directly as
// outlined in 22.2.2.2 [lib.locale.num.put]
bool
! __build_float_format(ios_base& __io, char* __fptr, char __modifier,
! streamsize __prec)
{
bool __incl_prec = false;
ios_base::fmtflags __flags = __io.flags();
Index: src/misc-inst.cc
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/src/misc-inst.cc,v
retrieving revision 1.6
diff -c -p -r1.6 misc-inst.cc
*** misc-inst.cc 2001/02/06 17:41:44 1.6
--- misc-inst.cc 2001/02/07 01:20:23
***************
*** 1,6 ****
// Explicit instantiation file.
! // Copyright (C) 1997-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
--- 1,6 ----
// Explicit instantiation file.
! // 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
*************** namespace std {
*** 262,308 ****
template
void
! _S_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);
#endif
template
ostreambuf_iterator<char>
! _S_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*);
#endif
template
ostreambuf_iterator<char>
! _S_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);
#endif
template
streamsize
! _S_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>*);
#endif
} //std
--- 262,312 ----
template
void
! __pad_char(basic_ios<char>&, char*, const char*,
! const streamsize, const streamsize);
#ifdef _GLIBCPP_USE_WCHAR_T
template
void
! __pad_char(basic_ios<wchar_t>&, wchar_t*, const wchar_t*,
! const streamsize, const streamsize);
#endif
template
ostreambuf_iterator<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>
! __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>
! __output_float(ostreambuf_iterator<char>, ios_base&, char,
! const char*, size_t);
#ifdef _GLIBCPP_USE_WCHAR_T
template
ostreambuf_iterator<wchar_t>
! __output_float(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t,
! const char*, size_t);
#endif
template
streamsize
! __copy_streambufs(basic_ios<char>&,
! basic_streambuf<char>*,
! basic_streambuf<char>*);
#ifdef _GLIBCPP_USE_WCHAR_T
template
int
! __copy_streambufs(basic_ios<wchar_t>&,
! basic_streambuf<wchar_t>*,
! basic_streambuf<wchar_t>*);
#endif
} //std