+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.
* 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>
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@
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)
# 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)
])
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)
# 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)
])
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='#'
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*
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
# 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"
# 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"
# 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
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.
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
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
__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;
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);
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;
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;
}
// 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);
{
if (!__testfield)
{
- _S_fill(__s, __fill, __padding);
+ __pad(__s, __fill, __padding);
__padding = 0;
}
copy(__first, __middle, __s);
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;
}
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
{
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;
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.
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>
__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>
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>
__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>
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
// 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) ?
++__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
}
// [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
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>
// 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>
| 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;
-// 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
__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;
// 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;
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);
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);
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;
}
if (__w > __len)
{
- _S_pad_char(__out, __pads, __ws, __w, __len);
+ __pad_char(__out, __pads, __ws, __w, __len);
__str = __pads;
__len = __w;
}
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;
}
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>
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:
// 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;
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@
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@
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
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@
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.
## 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
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
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
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@
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
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
// 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
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
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
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*);
__normal_iterator<locale::facet**,
vector<locale::facet*> >,
locale::facet* const&);
-
- template
- const collate<char>&
- use_facet<collate<char> >(const locale&);
} //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();
// 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
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