aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@gcc.gnu.org>2000-04-25 06:39:48 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2000-04-25 06:39:48 +0000
commit5d89258ae5150ce2c0f947ee2c636e3cae1275da (patch)
treec2a81aa4cc2759809933086eb1839b130f8f584f
parentd872905426f4aee0ed0625abaa59524bf6330045 (diff)
downloadgcc-5d89258ae5150ce2c0f947ee2c636e3cae1275da.zip
gcc-5d89258ae5150ce2c0f947ee2c636e3cae1275da.tar.gz
gcc-5d89258ae5150ce2c0f947ee2c636e3cae1275da.tar.bz2
[multiple changes]
2000-04-24 Nathan Myers <ncm@cantrip.org> * src/string-inst.cc: More fixing. 2000-04-24 Benjamin Kosnik <bkoz@gnu.org> * bits/stl_iterator.h: Pedantic fixing. * bits/std_sstream.h: And here. * bits/string.tcc: And here. 2000-04-24 Felix Natter <fnatter@gmx.net> * docs/17_intro/howto.html: Add bits. * docs/17_intro/porting-howto.html: New file. 2000-04-24 Branko Cibej <branko.cibej@hermes.si> * acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Expand @libinst_wstring_la@ to libinst-wstring.la when specializing for wchar_t, to empty string otherwise. * src/Makefile.am: (EXTRA_LTLIBRARIES): New. (sources): Remove $(string_sources) and $(wstring_sources). (libstdc___la_LIBADD): Add libinst-string.la and @libinst_wstring_la@. (libstdc___la_DEPENDENCIES): New. (libinst_string_la_SOURCES, libinst_wstring_la_SOURCES): New. From-SVN: r33402
-rw-r--r--libstdc++-v3/ChangeLog26
-rw-r--r--libstdc++-v3/Makefile.in1
-rw-r--r--libstdc++-v3/acinclude.m43
-rw-r--r--libstdc++-v3/aclocal.m43
-rw-r--r--libstdc++-v3/bits/std_sstream.h2
-rw-r--r--libstdc++-v3/bits/stl_iterator.h86
-rw-r--r--libstdc++-v3/bits/string.tcc9
-rwxr-xr-xlibstdc++-v3/configure72
-rw-r--r--libstdc++-v3/docs/17_intro/howto.html5
-rw-r--r--libstdc++-v3/libio/Makefile.in1
-rw-r--r--libstdc++-v3/math/Makefile.in1
-rw-r--r--libstdc++-v3/src/Makefile.am14
-rw-r--r--libstdc++-v3/src/Makefile.in71
-rw-r--r--libstdc++-v3/src/string-inst.cc3
14 files changed, 180 insertions, 117 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 104f412..b832f40 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,29 @@
+2000-04-24 Nathan Myers <ncm@cantrip.org>
+
+ * src/string-inst.cc: More fixing.
+
+2000-04-24 Benjamin Kosnik <bkoz@gnu.org>
+
+ * bits/stl_iterator.h: Pedantic fixing.
+ * bits/std_sstream.h: And here.
+ * bits/string.tcc: And here.
+
+2000-04-24 Felix Natter <fnatter@gmx.net>
+
+ * docs/17_intro/howto.html: Add bits.
+ * docs/17_intro/porting-howto.html: New file.
+
+2000-04-24 Branko Cibej <branko.cibej@hermes.si>
+
+ * acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Expand
+ @libinst_wstring_la@ to libinst-wstring.la when specializing for
+ wchar_t, to empty string otherwise.
+ * src/Makefile.am: (EXTRA_LTLIBRARIES): New.
+ (sources): Remove $(string_sources) and $(wstring_sources).
+ (libstdc___la_LIBADD): Add libinst-string.la and @libinst_wstring_la@.
+ (libstdc___la_DEPENDENCIES): New.
+ (libinst_string_la_SOURCES, libinst_wstring_la_SOURCES): New.
+
2000-04-20 Benjamin Kosnik <bkoz@redhat.com>
* bits/std_sstream.h: Tweak formatting.
diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in
index d8cdb51..861bcdc 100644
--- a/libstdc++-v3/Makefile.in
+++ b/libstdc++-v3/Makefile.in
@@ -100,6 +100,7 @@ WERRORSUPPRESS = @WERRORSUPPRESS@
cpu_include_dir = @cpu_include_dir@
ctype_include_dir = @ctype_include_dir@
glibcpp_basedir = @glibcpp_basedir@
+libinst_wstring_la = @libinst_wstring_la@
AUTOMAKE_OPTIONS = 1.3 cygnus
MAINT_CHARSET = latin1
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 8b9a454..db89cb5 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -484,12 +484,15 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [
dnl Tests for wide character functions.
AC_REPLACE_STRINGFUNCS(wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset)
+ AC_SUBST(libinst_wstring_la)
AC_MSG_CHECKING([for wide character support])
if test $has_weof = "yes" && test $has_wchar_minmax = "yes"; then
+ libinst_wstring_la="libinst-wstring.la"
AC_DEFINE(_GLIBCPP_USE_WCHAR_T)
AC_MSG_RESULT(ok)
else
+ libinst_wstring_la=""
AC_MSG_RESULT("not specializing for wchar_t")
fi
],[
diff --git a/libstdc++-v3/aclocal.m4 b/libstdc++-v3/aclocal.m4
index 00ff575..16bd938 100644
--- a/libstdc++-v3/aclocal.m4
+++ b/libstdc++-v3/aclocal.m4
@@ -496,12 +496,15 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [
dnl Tests for wide character functions.
AC_REPLACE_STRINGFUNCS(wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset)
+ AC_SUBST(libinst_wstring_la)
AC_MSG_CHECKING([for wide character support])
if test $has_weof = "yes" && test $has_wchar_minmax = "yes"; then
+ libinst_wstring_la="libinst-wstring.la"
AC_DEFINE(_GLIBCPP_USE_WCHAR_T)
AC_MSG_RESULT(ok)
else
+ libinst_wstring_la=""
AC_MSG_RESULT("not specializing for wchar_t")
fi
],[
diff --git a/libstdc++-v3/bits/std_sstream.h b/libstdc++-v3/bits/std_sstream.h
index 68a36c2..126d86d 100644
--- a/libstdc++-v3/bits/std_sstream.h
+++ b/libstdc++-v3/bits/std_sstream.h
@@ -52,7 +52,7 @@ namespace std {
// Non-standard types:
typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
- typedef __string_type::size_type __size_type;
+ typedef typename __string_type::size_type __size_type;
private:
// Data Members:
diff --git a/libstdc++-v3/bits/stl_iterator.h b/libstdc++-v3/bits/stl_iterator.h
index 16b657e..289cbe6 100644
--- a/libstdc++-v3/bits/stl_iterator.h
+++ b/libstdc++-v3/bits/stl_iterator.h
@@ -969,79 +969,75 @@ class __normal_iterator
iterator_traits<_Iterator>::pointer,
iterator_traits<_Iterator>::reference>
{
-public:
+protected:
+ _Iterator _M_current;
+
+public:
typedef __normal_iterator<_Iterator, _Container> normal_iterator_type;
+ typedef iterator_traits<_Iterator> __traits_type;
+ typedef typename __traits_type::iterator_category iterator_category;
+ typedef typename __traits_type::value_type value_type;
+ typedef typename __traits_type::difference_type difference_type;
+ typedef typename __traits_type::pointer pointer;
+ typedef typename __traits_type::reference reference;
- inline __normal_iterator() : _M_current() { }
+ __normal_iterator() : _M_current(_Iterator()) { }
- inline explicit __normal_iterator(const _Iterator& __i)
- : _M_current(__i) { }
+ explicit __normal_iterator(const _Iterator& __i) : _M_current(__i) { }
// Allow iterator to const_iterator conversion
template<typename _Iter>
inline __normal_iterator(const __normal_iterator<_Iter, _Container>& __i)
: _M_current(__i.base()) { }
- // forward iterator requirements
-
- inline reference
- operator*() const
- { return *_M_current; }
+ // Forward iterator requirements
+ reference
+ operator*() const { return *_M_current; }
- inline pointer
- operator->() const
- { return _M_current; }
+ pointer
+ operator->() const { return _M_current; }
- inline normal_iterator_type&
- operator++()
- { ++_M_current; return *this; }
+ normal_iterator_type&
+ operator++() { ++_M_current; return *this; }
- inline normal_iterator_type
- operator++(int)
- { return __normal_iterator(_M_current++); }
+ normal_iterator_type
+ operator++(int) { return __normal_iterator(_M_current++); }
- // bidirectional iterator requirements
+ // Bidirectional iterator requirements
+ normal_iterator_type&
+ operator--() { --_M_current; return *this; }
- inline normal_iterator_type&
- operator--()
- { --_M_current; return *this; }
+ normal_iterator_type
+ operator--(int) { return __normal_iterator(_M_current--); }
- inline normal_iterator_type
- operator--(int)
- { return __normal_iterator(_M_current--); }
-
- // random access iterator requirements
-
- inline reference
+ // Random access iterator requirements
+ reference
operator[](const difference_type& __n) const
- { return _M_current[__n]; }
+ { return _M_current[__n]; }
- inline normal_iterator_type&
+ normal_iterator_type&
operator+=(const difference_type& __n)
- { _M_current += __n; return *this; }
+ { _M_current += __n; return *this; }
- inline normal_iterator_type
+ normal_iterator_type
operator+(const difference_type& __n) const
- { return __normal_iterator(_M_current + __n); }
+ { return __normal_iterator(_M_current + __n); }
- inline normal_iterator_type&
+ normal_iterator_type&
operator-=(const difference_type& __n)
- { _M_current -= __n; return *this; }
+ { _M_current -= __n; return *this; }
- inline normal_iterator_type
+ normal_iterator_type
operator-(const difference_type& __n) const
- { return __normal_iterator(_M_current - __n); }
+ { return __normal_iterator(_M_current - __n); }
- inline difference_type
+ difference_type
operator-(const normal_iterator_type& __i) const
- { return _M_current - __i._M_current; }
-
- const _Iterator& base() const
- { return _M_current; }
+ { return _M_current - __i._M_current; }
-protected:
- _Iterator _M_current;
+ const _Iterator&
+ base() const { return _M_current; }
};
// forward iterator requirements
diff --git a/libstdc++-v3/bits/string.tcc b/libstdc++-v3/bits/string.tcc
index 7ad2b5d..475a5d5 100644
--- a/libstdc++-v3/bits/string.tcc
+++ b/libstdc++-v3/bits/string.tcc
@@ -518,7 +518,8 @@ namespace std
const basic_string<_CharT,_Traits,_Alloc>& __rhs)
{
typedef basic_string<_CharT,_Traits,_Alloc> __string_type;
- __string_type::size_type __len = _Traits::length(__lhs);
+ typedef typename __string_type::size_type __size_type;
+ __size_type __len = _Traits::length(__lhs);
__string_type __str;
__str.reserve(__len + __rhs.size());
__str.append(__lhs, __lhs + __len);
@@ -531,16 +532,15 @@ namespace std
operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs)
{
typedef basic_string<_CharT,_Traits,_Alloc> __string_type;
+ typedef typename __string_type::size_type __size_type;
__string_type __str;
- __string_type::size_type __len = __rhs.size();
+ __size_type __len = __rhs.size();
__str.reserve(__len + 1);
__str.append(__string_type::size_type(1), __lhs);
__str.append(__rhs);
return __str;
}
-
-
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>&
basic_string<_CharT, _Traits, _Alloc>::
@@ -556,7 +556,6 @@ namespace std
return *this;
}
-
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 7adb657..6057eca 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -3350,16 +3350,19 @@ fi
done
+
echo $ac_n "checking for wide character support""... $ac_c" 1>&6
-echo "configure:3356: checking for wide character support" >&5
+echo "configure:3357: checking for wide character support" >&5
if test $has_weof = "yes" && test $has_wchar_minmax = "yes"; then
+ libinst_wstring_la="libinst-wstring.la"
cat >> confdefs.h <<\EOF
#define _GLIBCPP_USE_WCHAR_T 1
EOF
echo "$ac_t""ok" 1>&6
else
+ libinst_wstring_la=""
echo "$ac_t"""not specializing for wchar_t"" 1>&6
fi
@@ -3378,17 +3381,17 @@ fi
ac_safe=`echo "ctype.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ctype.h""... $ac_c" 1>&6
-echo "configure:3382: checking for ctype.h" >&5
+echo "configure:3385: checking for ctype.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 3387 "configure"
+#line 3390 "configure"
#include "confdefs.h"
#include <ctype.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3392: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3395: \"$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*
@@ -3409,9 +3412,9 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
ctype_default=yes
echo $ac_n "checking for gnu-linux <ctype>""... $ac_c" 1>&6
-echo "configure:3413: checking for gnu-linux <ctype>" >&5
+echo "configure:3416: checking for gnu-linux <ctype>" >&5
cat > conftest.$ac_ext <<EOF
-#line 3415 "configure"
+#line 3418 "configure"
#include "confdefs.h"
#include <ctype.h>
int main() {
@@ -3422,7 +3425,7 @@ int
+ __ctype_tolower[a] + __ctype_toupper[a] + __ctype_b[a];}
; return 0; }
EOF
-if { (eval echo configure:3426: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3429: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
\
ctype_linux=yes
@@ -3441,9 +3444,9 @@ rm -f conftest*
if test $ctype_default = "yes"; then
echo $ac_n "checking for solaris 2.6 or 2.7 <ctype>""... $ac_c" 1>&6
-echo "configure:3445: checking for solaris 2.6 or 2.7 <ctype>" >&5
+echo "configure:3448: checking for solaris 2.6 or 2.7 <ctype>" >&5
cat > conftest.$ac_ext <<EOF
-#line 3447 "configure"
+#line 3450 "configure"
#include "confdefs.h"
#include <ctype.h>
int main() {
@@ -3454,7 +3457,7 @@ int
+ __trans_lower[a] + __trans_upper[a] + __ctype_mask[a];}
; return 0; }
EOF
-if { (eval echo configure:3458: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3461: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
\
ctype_solaris=yes
@@ -3469,7 +3472,7 @@ rm -f conftest*
if test $ctype_solaris = "yes"; then
echo $ac_n "checking for version""... $ac_c" 1>&6
-echo "configure:3473: checking for version" >&5
+echo "configure:3476: checking for version" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -3478,14 +3481,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 3482 "configure"
+#line 3485 "configure"
#include "confdefs.h"
#include <ctype.h>
int main() {
typedef long* __to_type; __to_type const& _M_toupper = __trans_upper;
; return 0; }
EOF
-if { (eval echo configure:3489: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3492: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
\
ctype_solaris26=yes
@@ -3517,9 +3520,9 @@ cross_compiling=$ac_cv_prog_cc_cross
if test $ctype_default = "yes"; then
echo $ac_n "checking for solaris 2.5.1 <ctype>""... $ac_c" 1>&6
-echo "configure:3521: checking for solaris 2.5.1 <ctype>" >&5
+echo "configure:3524: checking for solaris 2.5.1 <ctype>" >&5
cat > conftest.$ac_ext <<EOF
-#line 3523 "configure"
+#line 3526 "configure"
#include "confdefs.h"
#include <ctype.h>
int main() {
@@ -3529,7 +3532,7 @@ int
+ __ctype[a];}
; return 0; }
EOF
-if { (eval echo configure:3533: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3536: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
\
ctype_solaris25=yes
@@ -3549,9 +3552,9 @@ rm -f conftest*
if test $ctype_default = "yes"; then
echo $ac_n "checking for aix <ctype>""... $ac_c" 1>&6
-echo "configure:3553: checking for aix <ctype>" >&5
+echo "configure:3556: checking for aix <ctype>" >&5
cat > conftest.$ac_ext <<EOF
-#line 3555 "configure"
+#line 3558 "configure"
#include "confdefs.h"
#include <ctype.h>
int main() {
@@ -3562,7 +3565,7 @@ int
+ _VALC('a') + _IS('c', 0);}
; return 0; }
EOF
-if { (eval echo configure:3566: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
\
ctype_aix=yes
@@ -3582,9 +3585,9 @@ rm -f conftest*
if test $ctype_default = "yes"; then
echo $ac_n "checking for newlib <ctype>""... $ac_c" 1>&6
-echo "configure:3586: checking for newlib <ctype>" >&5
+echo "configure:3589: checking for newlib <ctype>" >&5
cat > conftest.$ac_ext <<EOF
-#line 3588 "configure"
+#line 3591 "configure"
#include "confdefs.h"
#include <ctype.h>
int main() {
@@ -3594,7 +3597,7 @@ int
+ _ctype_[a];}
; return 0; }
EOF
-if { (eval echo configure:3598: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
\
ctype_newlib=yes
@@ -3628,17 +3631,17 @@ fi
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3632: checking for $ac_hdr" >&5
+echo "configure:3635: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3637 "configure"
+#line 3640 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3642: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3645: \"$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*
@@ -3667,12 +3670,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3671: checking for $ac_func" >&5
+echo "configure:3674: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3676 "configure"
+#line 3679 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3695,7 +3698,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3720,7 +3723,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:3724: checking for working mmap" >&5
+echo "configure:3727: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3728,7 +3731,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 3732 "configure"
+#line 3735 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -3868,7 +3871,7 @@ main()
}
EOF
-if { (eval echo configure:3872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3875: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -3931,19 +3934,19 @@ fi
if test $ac_cv_header_locale_h = yes; then
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:3935: checking for LC_MESSAGES" >&5
+echo "configure:3938: 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 3940 "configure"
+#line 3943 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
-if { (eval echo configure:3947: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3950: \"$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
@@ -4187,6 +4190,7 @@ s%@ctype_include_dir@%$ctype_include_dir%g
s%@LIBMATHOBJS@%$LIBMATHOBJS%g
s%@USE_LONG_DOUBLE@%$USE_LONG_DOUBLE%g
s%@LIBSTRINGOBJS@%$LIBSTRINGOBJS%g
+s%@libinst_wstring_la@%$libinst_wstring_la%g
s%@CANADIAN_TRUE@%$CANADIAN_TRUE%g
s%@CANADIAN_FALSE@%$CANADIAN_FALSE%g
s%@NULL_TARGET_TRUE@%$NULL_TARGET_TRUE%g
diff --git a/libstdc++-v3/docs/17_intro/howto.html b/libstdc++-v3/docs/17_intro/howto.html
index d55c286..25642b1 100644
--- a/libstdc++-v3/docs/17_intro/howto.html
+++ b/libstdc++-v3/docs/17_intro/howto.html
@@ -9,7 +9,7 @@
<TITLE>libstdc++-v3 HOWTO: Chapter 17</TITLE>
<LINK REL="home" HREF="http://sourceware.cygnus.com/libstdc++/docs/18_support/">
<LINK REL=StyleSheet HREF="../lib3styles.css">
-<!-- $Id: howto.html,v 1.10 2000/04/18 22:05:49 pme Exp $ -->
+<!-- $Id: howto.html,v 1.1 2000/04/21 20:33:31 bkoz Exp $ -->
</HEAD>
<BODY>
@@ -29,6 +29,7 @@
<LI><A HREF="#2">The Standard C++ header files</A>
<LI><A HREF="#3">Thread-safety</A>
<LI><A HREF="#4"><TT>&lt;foo&gt;</TT> vs <TT>&lt;foo.h&gt;</TT></A>
+ <LI><A HREF="porting-howto.html">Porting-howto</A>
</UL>
<HR>
@@ -146,7 +147,7 @@
Comments and suggestions are welcome, and may be sent to
<A HREF="mailto:pme@sourceware.cygnus.com">Phil Edwards</A> or
<A HREF="mailto:gdr@egcs.cygnus.com">Gabriel Dos Reis</A>.
-<BR> $Id: howto.html,v 1.10 2000/04/18 22:05:49 pme Exp $
+<BR> $Id: howto.html,v 1.1 2000/04/21 20:33:31 bkoz Exp $
</EM></P>
diff --git a/libstdc++-v3/libio/Makefile.in b/libstdc++-v3/libio/Makefile.in
index 80cbf5f..2ea9877 100644
--- a/libstdc++-v3/libio/Makefile.in
+++ b/libstdc++-v3/libio/Makefile.in
@@ -100,6 +100,7 @@ WERRORSUPPRESS = @WERRORSUPPRESS@
cpu_include_dir = @cpu_include_dir@
ctype_include_dir = @ctype_include_dir@
glibcpp_basedir = @glibcpp_basedir@
+libinst_wstring_la = @libinst_wstring_la@
AUTOMAKE_OPTIONS = 1.3 cygnus
diff --git a/libstdc++-v3/math/Makefile.in b/libstdc++-v3/math/Makefile.in
index 79f40e2..e2c4d2d 100644
--- a/libstdc++-v3/math/Makefile.in
+++ b/libstdc++-v3/math/Makefile.in
@@ -100,6 +100,7 @@ WERRORSUPPRESS = @WERRORSUPPRESS@
cpu_include_dir = @cpu_include_dir@
ctype_include_dir = @ctype_include_dir@
glibcpp_basedir = @glibcpp_basedir@
+libinst_wstring_la = @libinst_wstring_la@
AUTOMAKE_OPTIONS = 1.3 cygnus
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
index 770c482..7eb5a97 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
@@ -34,6 +34,7 @@ toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
endif
toolexeclib_LTLIBRARIES = libstdc++.la
+EXTRA_LTLIBRARIES = libinst-string.la libinst-wstring.la
WERROR = -Werror
@@ -212,8 +213,7 @@ sources = \
complex.cc complexf.cc complexl.cc complex_io.cc \
stdexcept.cc ios.cc stdstreams.cc strstream.cc \
locale.cc localename.cc \
- locale-inst.cc stl-inst.cc misc-inst.cc valarray-inst.cc \
- $(string_sources) $(wstring_sources)
+ locale-inst.cc stl-inst.cc misc-inst.cc valarray-inst.cc
VPATH += $(top_srcdir) $(top_srcdir)/std $(top_srcdir)/src
VPATH += $(top_srcdir)/@ctype_include_dir@
@@ -224,10 +224,18 @@ EXTRA_sources = string-inst.cc
libstdc___la_SOURCES = $(sources)
-libstdc___la_LIBADD = ../math/libmath.la ../libio/libio.la
+libinst_string_la_SOURCES = $(string_sources)
+
+libinst_wstring_la_SOURCES = $(wstring_sources)
+
+libstdc___la_LIBADD = \
+ ../math/libmath.la ../libio/libio.la \
+ libinst-string.la @libinst_wstring_la@
libstdc___la_LDFLAGS = -version-info 3:0:0 -lm
+libstdc___la_DEPENDENCIES = $(libstdc___la_LIBADD)
+
# We cannot use the default rules to install headers since we cannot
# statically decide which headers to install. So we have our own special
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
index 2536173..0ffa592 100644
--- a/libstdc++-v3/src/Makefile.in
+++ b/libstdc++-v3/src/Makefile.in
@@ -99,6 +99,7 @@ WERRORSUPPRESS = @WERRORSUPPRESS@
cpu_include_dir = @cpu_include_dir@
ctype_include_dir = @ctype_include_dir@
glibcpp_basedir = @glibcpp_basedir@
+libinst_wstring_la = @libinst_wstring_la@
AUTOMAKE_OPTIONS = 1.3 gnits
MAINT_CHARSET = latin1
@@ -110,6 +111,7 @@ MAINT_CHARSET = latin1
@USE_LIBDIR_FALSE@$(exec_prefix)/$(target_alias)
toolexeclib_LTLIBRARIES = libstdc++.la
+EXTRA_LTLIBRARIES = libinst-string.la libinst-wstring.la
WERROR = -Werror
# OPTIMIZE_CXXFLAGS = -O3 -fstrict-aliasing -fsquangle -fnew-exceptions \
@@ -295,8 +297,7 @@ sources = \
complex.cc complexf.cc complexl.cc complex_io.cc \
stdexcept.cc ios.cc stdstreams.cc strstream.cc \
locale.cc localename.cc \
- locale-inst.cc stl-inst.cc misc-inst.cc valarray-inst.cc \
- $(string_sources) $(wstring_sources)
+ locale-inst.cc stl-inst.cc misc-inst.cc valarray-inst.cc
VPATH = $(top_srcdir) $(top_srcdir)/std $(top_srcdir)/src $(top_srcdir)/@ctype_include_dir@
@@ -305,10 +306,19 @@ EXTRA_sources = string-inst.cc
libstdc___la_SOURCES = $(sources)
-libstdc___la_LIBADD = ../math/libmath.la ../libio/libio.la
+libinst_string_la_SOURCES = $(string_sources)
+
+libinst_wstring_la_SOURCES = $(wstring_sources)
+
+libstdc___la_LIBADD = \
+ ../math/libmath.la ../libio/libio.la \
+ libinst-string.la @libinst_wstring_la@
+
libstdc___la_LDFLAGS = -version-info 3:0:0 -lm
+libstdc___la_DEPENDENCIES = $(libstdc___la_LIBADD)
+
# We cannot use the default rules to install headers since we cannot
# statically decide which headers to install. So we have our own special
# installation routine here.
@@ -323,11 +333,9 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
-libstdc___la_DEPENDENCIES = ../math/libmath.la ../libio/libio.la
-libstdc___la_OBJECTS = limitsMEMBERS.lo c++io.lo cmath.lo complex.lo \
-complexf.lo complexl.lo complex_io.lo stdexcept.lo ios.lo stdstreams.lo \
-strstream.lo locale.lo localename.lo locale-inst.lo stl-inst.lo \
-misc-inst.lo valarray-inst.lo stringMAIN.lo stringCTORNC.lo \
+libinst_string_la_LDFLAGS =
+libinst_string_la_LIBADD =
+libinst_string_la_OBJECTS = stringMAIN.lo stringCTORNC.lo \
stringCTORAL.lo stringCTORCPR.lo stringCTORCPRAL.lo stringCTORPRAL.lo \
stringCTORPAL.lo stringCTORDUPAL.lo stringCTORPP.lo stringCTORII.lo \
stringMUTATE.lo stringRESERVE.lo stringSWAP.lo stringSLOP.lo \
@@ -341,21 +349,28 @@ stringRFIND.lo stringRFINDC.lo stringFFO.lo stringFLO.lo stringFFNO.lo \
stringFLNO.lo stringFLNOC.lo stringCOMPARE.lo stringCOMPARE2.lo \
stringCOMPAREP.lo stringCOMPAREP2.lo stringADDPS.lo stringADDCS.lo \
stringEXTRACT.lo stringINSERT.lo stringGETLINE.lo stringSCOPY.lo \
-stringEQ.lo wstringMAIN.lo wstringCTORNC.lo wstringCTORAL.lo \
-wstringCTORCPR.lo wstringCTORCPRAL.lo wstringCTORPRAL.lo \
-wstringCTORPAL.lo wstringCTORDUPAL.lo wstringCTORPP.lo wstringCTORII.lo \
-wstringMUTATE.lo wstringRESERVE.lo wstringSWAP.lo wstringSLOP.lo \
-wstringRESIZE.lo wstringAPPCOPY.lo wstringAPPCPR.lo wstringAPPPR.lo \
-wstringAPPDUP.lo wstringAPPII.lo wstringASSCP.lo wstringASSII.lo \
-wstringINSII.lo wstringREPRR.lo wstringREPIIDUP.lo wstringREPII.lo \
-wstringREPIII.lo wstringREP4I.lo wstringREPIIPP.lo wstringREPIIPP2.lo \
-wstringCOPY.lo wstringCONII.lo wstringCONIIF.lo wstringCONPPF.lo \
-wstringCONPPF2.lo wstringCONSC.lo wstringFIND.lo wstringFINDC.lo \
-wstringRFIND.lo wstringRFINDC.lo wstringFFO.lo wstringFLO.lo \
-wstringFFNO.lo wstringFLNO.lo wstringFLNOC.lo wstringCOMPARE.lo \
-wstringCOMPARE2.lo wstringCOMPAREP.lo wstringCOMPAREP2.lo \
-wstringADDPS.lo wstringADDCS.lo wstringEXTRACT.lo wstringINSERT.lo \
-wstringGETLINE.lo wstringSCOPY.lo wstringEQ.lo
+stringEQ.lo
+libinst_wstring_la_LDFLAGS =
+libinst_wstring_la_LIBADD =
+libinst_wstring_la_OBJECTS = wstringMAIN.lo wstringCTORNC.lo \
+wstringCTORAL.lo wstringCTORCPR.lo wstringCTORCPRAL.lo \
+wstringCTORPRAL.lo wstringCTORPAL.lo wstringCTORDUPAL.lo \
+wstringCTORPP.lo wstringCTORII.lo wstringMUTATE.lo wstringRESERVE.lo \
+wstringSWAP.lo wstringSLOP.lo wstringRESIZE.lo wstringAPPCOPY.lo \
+wstringAPPCPR.lo wstringAPPPR.lo wstringAPPDUP.lo wstringAPPII.lo \
+wstringASSCP.lo wstringASSII.lo wstringINSII.lo wstringREPRR.lo \
+wstringREPIIDUP.lo wstringREPII.lo wstringREPIII.lo wstringREP4I.lo \
+wstringREPIIPP.lo wstringREPIIPP2.lo wstringCOPY.lo wstringCONII.lo \
+wstringCONIIF.lo wstringCONPPF.lo wstringCONPPF2.lo wstringCONSC.lo \
+wstringFIND.lo wstringFINDC.lo wstringRFIND.lo wstringRFINDC.lo \
+wstringFFO.lo wstringFLO.lo wstringFFNO.lo wstringFLNO.lo \
+wstringFLNOC.lo wstringCOMPARE.lo wstringCOMPARE2.lo wstringCOMPAREP.lo \
+wstringCOMPAREP2.lo wstringADDPS.lo wstringADDCS.lo wstringEXTRACT.lo \
+wstringINSERT.lo wstringGETLINE.lo wstringSCOPY.lo wstringEQ.lo
+libstdc___la_OBJECTS = limitsMEMBERS.lo c++io.lo cmath.lo complex.lo \
+complexf.lo complexl.lo complex_io.lo stdexcept.lo ios.lo stdstreams.lo \
+strstream.lo locale.lo localename.lo locale-inst.lo stl-inst.lo \
+misc-inst.lo valarray-inst.lo
CXXFLAGS = @CXXFLAGS@
CXXLD = $(CXX)
DIST_COMMON = Makefile.am Makefile.in
@@ -365,8 +380,8 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
-SOURCES = $(libstdc___la_SOURCES)
-OBJECTS = $(libstdc___la_OBJECTS)
+SOURCES = $(libinst_string_la_SOURCES) $(libinst_wstring_la_SOURCES) $(libstdc___la_SOURCES)
+OBJECTS = $(libinst_string_la_OBJECTS) $(libinst_wstring_la_OBJECTS) $(libstdc___la_OBJECTS)
all: all-redirect
.SUFFIXES:
@@ -442,6 +457,12 @@ distclean-libtool:
maintainer-clean-libtool:
+libinst-string.la: $(libinst_string_la_OBJECTS) $(libinst_string_la_DEPENDENCIES)
+ $(CXXLINK) $(libinst_string_la_LDFLAGS) $(libinst_string_la_OBJECTS) $(libinst_string_la_LIBADD) $(LIBS)
+
+libinst-wstring.la: $(libinst_wstring_la_OBJECTS) $(libinst_wstring_la_DEPENDENCIES)
+ $(CXXLINK) $(libinst_wstring_la_LDFLAGS) $(libinst_wstring_la_OBJECTS) $(libinst_wstring_la_LIBADD) $(LIBS)
+
libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES)
$(CXXLINK) -rpath $(toolexeclibdir) $(libstdc___la_LDFLAGS) $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD) $(LIBS)
.cc.o:
diff --git a/libstdc++-v3/src/string-inst.cc b/libstdc++-v3/src/string-inst.cc
index 451ffa5..28467ec 100644
--- a/libstdc++-v3/src/string-inst.cc
+++ b/libstdc++-v3/src/string-inst.cc
@@ -280,8 +280,7 @@ namespace std
#ifdef CONSC
template
C*
- S::_S_construct<S::iterator>
- (S::size_type, C, const allocator<C>&);
+ S::_S_construct(S::size_type, C, S::allocator_type const&);
#endif
#ifdef FIND