2001-01-05 Benjamin Kosnik <bkoz@redhat.com>
Fix 27_io/filebuf_members.cc
* src/localename.cc (locale::_Impl::_Impl(const _Impl& __imp,
const string& __name, category __cat, size_t __refs): Set
_M_has_name with _M_name.
* include/bits/localefwd.h (locale::operator!=): Protect member
function call with this->.
* src/locale.cc (locale::operator==): Make fast checks first.
* include/bits/basic_ios.tcc (basic_ios::init): Simplify.
* include/bits/ios_base.h (_M_synced_with_stdio): Add data member
to ios_base::Init.
* src/ios.cc (ios_base::Init::Init): Initialize here.
(ios_base::sync_with_stdio): Set here.
2001-01-04 Loren J. Rittle <ljrittle@acm.org>
* config/c_io_stdio.cc (__basic_file<_CharT>::sys_open()): On
systems that support it, call dup() before fdopen().
From-SVN: r38742
2001-01-02 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCPP_ENABLD_CSTDIO): Add in default value.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* include/bits/c++config (__GLIBCPP__): Bump version number.
* ChangeLog: Start new log for year 2001
* ChangeLog-2000: New file.
* docs/html/configopts.html: Make sure default values are current,
From-SVN: r38663
Attempt to make locale visible in gdb.
* include/bits/std_locale.h: Remove codecvt.h include.
* include/bits/locale_facets.h: Add here, after ctype decls.
* include/bits/codecvt.h: Remove std namespace, as assumed to be
in std now.
* include/bits/locale_facets.h: Consistently move generic static
member definitions directly after generic facet declarations.
* include/bits/locale_facets.tcc: From here.
* src/locale.cc: Organize locale::id static definitions for
required facets.
* src/codecvt.cc (codecvt<char...>): Remove locale::id definition.
(codecvt<wchar_t...>): Same.
* src/localename: And here.
* include/bits/localefwd.h (_Count_ones): Change _S_count to _M_count.
Same for _M_halfcount.
From-SVN: r38450
2000-12-22 Benjamin Kosnik <bkoz@fillmore.redhat.com>
Attempt to make locale visible in gdb.
* include/bits/std_locale.h: Remove codecvt.h include.
* include/bits/locale_facets.h: Add here, after ctype decls.
* include/bits/codecvt.h: Remove std namespace, as assumed to be
in std now.
* include/bits/locale_facets.h: Consistently move generic static
member definitions directly after generic facet declarations.
* include/bits/locale_facets.tcc: From here.
* src/locale.cc: Organize locale::id static definitions for
required facets.
* src/codecvt.cc (codecvt<char...>): Remove locale::id definition.
(codecvt<wchar_t...>): Same.
* src/localename: And here.
* include/bits/localefwd.h (_Count_ones): Change _S_count to _M_count.
Same for _M_halfcount.
(std): make locale::_Impl protected. CHANGE BACK
From-SVN: r38449
2000-12-14 Benjamin Kosnik <bkoz@redhat.com>
* include/c/bits/*.h: Remove include_next, replace with include,
as include_next does not work host-x-host, and include_next not
necessary.
From-SVN: r38256
2000-12-13 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (ctype<char>): Remove throw specs not in
base class signature.
From-SVN: r38249
* src/cmath.cc: Remove.
* src/Makefile.am (c_base_headers): Add bits/cmath.tcc.
(sources): Remove cmath.cc
* src/Makefile.in: Regenerate.
* include/c/bits/std_cmath.h (__cmath_power<>): Declare.
(__cmath_abs<>): New function.
(abs, fabs): Use __cmath_abs when no direct support is available.
(__pow_helper<>): New function.
(pow): Define here. Use __pow_helper<>.
* include/c/bits/cmath.tcc: New file.
From-SVN: r37901
2000-11-22 Benjamin Kosnik <bkoz@redhat.com>
Make deprecated strstream header consistent with new and new.h.
* include/backward/strstream.h: Add. Use using declarations to
scope strstreambuf, istrstream, ostrstream, strstream to global
scope.
* include/backward/strstream: Remove using declarations.
* src/Makefile.am (base_headers): Add strstream.
* src/Makefile.in: Regenerate.
* include/backward/new.h (_CPP_BACKWARD_NEW_H): Change macro guard
to be consistent with other headers.
From-SVN: r37692
2000-11-22 Benjamin Kosnik <bkoz@redhat.com>
Make deprecated strstream header consistent with new and new.h.
* include/backward/strstream.h: Add. Use using declarations to
scope strstreambuf, istrstream, ostrstream, strstream to global
scope.
* include/backward/strstream: Remove using declarations.
* src/Makefile.am (base_headers): Add strstream.
* src/Makefile.in: Regenerate.
* include/backward/new.h (_CPP_BACKWARD_NEW_H): Change macro guard
to be consistent with other headers.
From-SVN: r37682
2000-11-21 Gabriel Dos Reis <gdr@codesourcery.com>
* include/bits/std_complex.h (complex<double>): Constructor
complex<double>::complex(const complex<float>&) is not explicit;
since it is a promotion.
(complex<long double>): Constructors taking complex<float> and
complex<double> are not explicit.
From-SVN: r37599
2000-11-20 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/std_complex.h: Tweaks, include cmath for abs overloads.
* src/complex.cc: Remove cmath include, formatting tweaks, remove
dead code.
* include/c/bits/std_cmath.h: Formatting tweaks.
* testsuite/26_numerics/complex_value.cc: New file, for catching
bits gleaned from libstdc++/106.
* testsuite/23_containers/vector_ctor.cc (test02): Add test from
libstdc++/102.
From-SVN: r37591
2000-11-17 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* include/bits/stl_tree.h: Overload operators == and != to be able
to handle the case (const_iterator,iterator) and
(iterator,const_iterator), thus fixing libstdc++/737 and the like.
From-SVN: r37531
* mkcheckin.in: Move check for bash version 2 later in the file.
* include/bits/basic_string.h (basic_string::_Rep::_S_max_size):
Make it const.
(basic_string::_Rep::_S_terminal): Likewise.
* include/bits/string.tcc (basic_string::_Rep::_S_max_size):
Likewise.
(basic_string::_Rep::_S_terminal): Likewise.
From-SVN: r37490
2000-11-14 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPOR): Set LIBS back to
initial value.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* include/bits/c++config (__GLIBCPP__): Set release version for 2.91.
From-SVN: r37457
2000-11-12 Brent Verner <brent@rcfile.org>
* include/c_std/bits/wrap_langinfo.h: New file.
* include/c_std/langinfo.h: New file.
* include/bits/codecvt.h (__enc_trants::__enc_traits()): Bring in
CODESET from _C_legacy::CODESET if using shadow headers.
From-SVN: r37436
2000-11-10 Phil Edwards <pme@sources.redhat.com>
* include/bits/codecvt.h (__iconv_adaptor): New adaptor function,
courtesy of Alexandre Oliva, to handle const/non-const signatures.
(codecvt::do_out): Use.
(codecvt::do_in): And here.
From-SVN: r37379
* include/c/bits/std_cctype.h: Undefine macros that conflict
with function names defined in this file.
* include/c/bits/std_cstdio.h: Likewise.
From-SVN: r37221
2000-11-02 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* src/locale.cc: Match orderings for static members.
* include/bits/fstream.tcc: Fixes for cin.
From-SVN: r37200
* include/c/bits/std_cwctype.h: #undef possible function-like
macro definitions of iswxxx functions, which might be brought in
by <wctype.h>. Those macro definitions prevent build on some
linux-based systems.
* include/bits/std_complex.h (complex<>): Comment out friend
declarations of abs<> specializations.
(abs): Define primary template.
* src/complex.cc (abs): Comment out specialization definition.
From-SVN: r37157
* config/c_io_libio.cc (basic_file<char>::__basic_file):
Don't pass a NULL _IO_wide_data to _IO_no_init when
_GLIBCPP_USE_WCHAR_T is not defined.
* config/c_io_libio.h (_IO_codecvt): Don't declare when
_GLIBCPP_USE_WCHAR_T is not defined.
* config/c_io_libio_codecvt.c: Don't compile it
when _GLIBCPP_USE_WCHAR_T is not defined.
* include/bits/codecvt.h (codecvt<_InternT, _ExternT, __enc_traits):
Don't define this specialization when _GLIBCPP_USE_WCHAR_T
is not defined.
* include/bits/locale_facets.h (<bits/std_cwctype.h>): Don't
include it when _GLIBCPP_USE_WCHAR_T is not defined.
* src/codecvt.cc (__enc_traits::_S_max_size): Don't define
when _GLIBCPP_USE_WCHAR_T is not defined.
* src/localename.cc (locale::_Impl::_M_construct_collate):
Don't call wide-character functions when _GLIBCPP_USE_WCHAR_T is
not defined.
(locale::_Impl::_M_construct_ctype): Likewise.
(locale::_Impl::_M_construct_monetary): Likewise.
(locale::_Impl::_M_construct_numeric): Likewise.
(locale::_Impl::_M_construct_time): Likewise.
(locale::_Impl::_M_construct_messages): Likewise.
* iofopen.c (_IO_new_fopen): Don't define `_IO_wide_data wd'
if _GLIBCPP_USE_WCHAR_T is not defined.
* iofwide.c: Don't define codecvt functions when
_GLIBCPP_USE_WCHAR_T is not defined.
(_IO_fwide): Don't try to put the stream in wide mode when
_GLIBCPP_USE_WCHAR_T is not defined.
* libio.h (_IO_wide_data): Define it as an incomplete struct
when _GLIBCPP_USE_WCHAR_T is not defined.
* wfiledoalloc.c: Don't define anything when
_GLIBCPP_USE_WCHAR_T is not defined.
* wfileops.c: Likewise.
* wgenops.c: Likewise.
From-SVN: r37131
2000-10-26 Benjamin Kosnik <bkoz@redhat.com>
* include/c/bits/std_cmath.h: Fix double declarations in namespace std.
Clean up naming, consistency in "C" library autoconf testing.
* acinclude.m4 (GLIBCPP_CHECK_CTYPE): For consistency, change to
GLIBCPP_CHECK_CTYPE_SUPPORT.
(GLIBCPP_CHECK_STDLIB_SUPPORT): Add.
* aclocal.m4: Regenerate.
* configure.in: And here.
Add call to GLIBCPP_CHECK_STDLIB_SUPPORT.
* configure: Regenerate.
2000-10-26 David Edelsohn <edelsohn@gnu.org>
* acinclude.m4 (GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2): New macro.
(GLIBCPP_CHECK_MATH_SUPPORT): Use it to test for strtold.
From-SVN: r37083
2000-10-25 Phil Edwards <pme@sources.redhat.com>
* configure.in: Check for gconv.h.
* libio/wfileops.c: Wrap gconv.h in HAVE_GCONV_H.
* config/c_io_libio_codecvt.c: Change __mbstate_t to __c_mbstate_t.
* libio/_G_config.h: And here.
* libio/iofwide.c: And here.
* libio/libio.h: And here.
* config/os/solaris/solaris2.7/bits/ctype_noninline.h: Remove
exception specification to match declaration.
* include/bits/locale_facets.tcc: Include bits/std_clocale.h.
From-SVN: r37053
2000-10-23 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/21_strings/compare.cc (test01): Add using declarations.
* include/c_std/bits/std_cerrno.h: And here.
* include/c_std/bits/std_cassert.h: Tweaks.
* mkcheck.in: Simplify.
* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Simplify.
(GLIBCPP_ENABLE_LONG_LONG): Same.
* aclocal.m4: Regenerate.
* src/Makefile.am (c_shadow_headers): Add features.h,
bits/wrap_features.h.
* src/Makefile.in: Regenerate.
* include/c_std/features.h: New file.
* include/c_std/bits/wrap_features.h (_CPP_WRAP_FEATURES_H): New
file. Need to have c++config.h included before this file so
_ISOC99_SOURCE around.
* include/c_std/sys/cdefs.h: Hack.
* include/c_std/stdlib.h: Same, use c++config.h.
* include/c_std/bits/std_cstdlib.h: Use _GLIBCPP_HAVE_STRTOLD.
* include/c_std/bits/std_cassert.h: Fix.
* include/c_std/bits/std_cerrno.h: Make consistent.
* include/c_std/bits/std_csetjmp.h (setjmp): Unscope global
declaration from ::_C_legacy to _C_legacy.
* include/c_std/bits/std_cstdio.h: same with printf.
* include/c_std/stdio.h: And here.
* include/c_std/bits/std_cstdlib.h: abort, exit comment.
* include/c_std/stdlib.h: Same here.
From-SVN: r37035
2000-10-23 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/21_strings/compare.cc (test01): Add using declarations.
* include/c_std/bits/std_cerrno.h: And here.
* include/c_std/bits/std_cassert.h: Tweaks.
* mkcheck.in: Simplify.
* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Simplify.
(GLIBCPP_ENABLE_LONG_LONG): Same.
* aclocal.m4: Regenerate.
* src/Makefile.am (c_shadow_headers): Add features.h,
bits/wrap_features.h.
* src/Makefile.in: Regenerate.
* include/c_std/features.h: New file.
* include/c_std/bits/wrap_features.h (_CPP_WRAP_FEATURES_H): New
file. Need to have c++config.h included before this file so
_ISOC99_SOURCE around.
* include/c_std/sys/cdefs.h: Hack.
* include/c_std/stdlib.h: Same, use c++config.h.
* include/c_std/bits/std_cstdlib.h: Use _GLIBCPP_HAVE_STRTOLD.
* include/c_std/bits/std_cassert.h: Fix.
* include/c_std/bits/std_cerrno.h: Make consistent.
* include/c_std/bits/std_csetjmp.h (setjmp): Unscope global
declaration from ::_C_legacy to _C_legacy.
* include/c_std/bits/std_cstdio.h: same with printf.
* include/c_std/stdio.h: And here.
* include/c_std/bits/std_cstdlib.h: abort, exit comment.
* include/c_std/stdlib.h: Same here.
From-SVN: r37034
2000-10-19 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* testsuite/22_locale/codecvt_unicode_char.cc (test01): Adjust
creation of state_type for unicode_codecvt to take into account
the byte order markings. Add distinct tests for UCS-2BE and UCS-2LE.
* testsuite/22_locale/codecvt_unicode_wchar_t.cc (test01): Same.
* include/bits/codecvt.h (__enc_traits): Add support for encodings
that need a byte order marker. Needed for correct unicode support.
* src/locale.cc: Remove explicit qualification std::.
(locale::locale(const char* __name)): Revert, as named locale
support not finished.
* src/localename.cc (locale::_Impl:: _Impl(size_t __numfacets,
size_t __refs, bool __has_name = false, string __name): Move
default argument...
* include/bits/localefwd.h: Here.
From-SVN: r36959
2000-10-16 Benjamin Kosnik <bkoz@gnu.org>
Shadow headers would work if libsupc++ was strict about namespaces.
This only possible if g++ maps std::size_t -> size_t. (Hint hint.)
* include/c_std/assert.h: Add guards.
* include/c_std/bits/std_climits.h: Correct typo.
* include/c_std/ctype.h: Remove #error.
* libio/libioP.h: Break up extern "C" bits around includes.
* libio/libio.h: Only include C headers, or else _C_legacy namespaces
will be nested.
* libio/libioP.h: Same here.
From-SVN: r36900
2000-10-11 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* libsupc++/Makefile.am: Use it.
* libio/Makefile.am: Use it.
* libmath/Makefile.am: Use it.
* src/Makefile.am: Use it.
* Makefile.am (AM_MAKEFLAGS): Remove includes.
* acinclude.m4 (GLIBCPP_EXPORT_INCLUES): Move include macros here.
(GLIBCPP_EXPORT_FLAGS): Move CXX flag setting here.
* configure.in: Use it.
* mkcheck.in (SRC_DIR): Use C_INCLUDE_DIR.
* src/Makefile.am (CXXCOMPILE): Remove.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.am (CXXCOMPILE): Same here.
* libsupc++/Makefile.in: Regenerate.
* include/c_std/*: Merge with shadow.
* include/c_std/bits/*: Same.
From-SVN: r36851
2000-10-11 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* libsupc++/Makefile.am: Use it.
* libio/Makefile.am: Use it.
* libmath/Makefile.am: Use it.
* src/Makefile.am: Use it.
* Makefile.am (AM_MAKEFLAGS): Remove includes.
* acinclude.m4 (GLIBCPP_EXPORT_INCLUES): Move include macros here.
(GLIBCPP_EXPORT_FLAGS): Move CXX flag setting here.
* configure.in: Use it.
* mkcheck.in (SRC_DIR): Use C_INCLUDE_DIR.
* src/Makefile.am (CXXCOMPILE): Remove.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.am (CXXCOMPILE): Same here.
* libsupc++/Makefile.in: Regenerate.
* include/c_std/*: Merge with shadow.
* include/c_std/bits/*: Same.
20
From-SVN: r36850
2000-10-05 Brent Verner <brent@rcfile.org>
* bits/istream.tcc [basic_istream::get(basic_streambuf&)]: Removed
test for _M_gcount < in_avail(), as in_avail() only reports info
for current buffer, causing method to return at end of buffer.
* testsuite/27_io/istream_unformatted.cc [test07()]: New test.
* testsuite/27_io/istream_unformatted-3.txt: New file.
* testsuite/27_io/istream_unformatted-3.tst: New file.
From-SVN: r36752