2001-02-27 Benjamin Kosnik * testsuite/19_diagnostics/stdexceptions.cc (test03): Fix. 2001-02-26 Benjamin Kosnik libstdc++/1972 libstdc++/2089 * include/bits/std_stdexcept.h (logic_error::logic_error): Use string object, not reference. (runtime_error::runtime_error): Same. * testsuite/19_diagnostics/stdexceptions.cc: New file. 2001-02-26 Phil Edwards * acinclude.m4 (GLIBCPP_CONFIGURE): Update required compiler version. (GLIBCPP_CHECK_COMPILER_FEATURES): Can safely assume new diagnostics. Remove WFMT_FLAGS. * configure.in: Replace WFMT_FLAGS with diagnostics options. * libsupc++/Makefile.am: Likewise. * src/Makefile.am: Likewise. * aclocal.m4: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. * libio/Makefile.in: Regenerated. * libmath/Makefile.in: Regenerated. * libsupc++/Makefile.in: Regenerated. * src/Makefile.in: Regenerated. 2001-02-26 Phil Edwards Fixes libstdc++/2079 * include/backward/iomanip.h: Expose manipulators to global namespace. * include/backward/iostream.h: Also expose std::ws. 2001-02-25 Greg Freemyer * libmath/mathconf.h (GET_LDOUBLE_MSW64): Fix thinko. 2001-02-23 Benjamin Kosnik * include/bits/codecvt.h: Use __builtin_alloca. * include/bits/ostream.tcc: Same. * include/bits/fstream.tcc: Same. 2001-02-23 Alexandre Oliva * mknumeric_limits (CC): Use VAR=${VAR=...} form. 2001-02-23 David Edelsohn * mknumeric_limits (CC): Use $BUILD_DIR/../../gcc/xgcc 2001-02-23 Phil Edwards c++/2052 * include/backward/iostream.h: Expose std::flush in old headers. 2001-02-23 Gabriel Dos Reis * mknumeric_limits: Remove special-casing on target. Use gcc instead of g++ to build gen-num-limits.cc 2001-02-22 Benjamin Kosnik * tests_flags.in (CXXFLAGS): Add -rpath to gcc build dir. * include/bits/codecvt.h: Use alloca instead of __extension__ for the time being. * include/bits/ostream.tcc: Same. * include/bits/std_ostream.h: Same. * include/bits/fstream.tcc: Same. * include/bits/locale_facets.tcc: Add typename. * include/bits/c++config (_GLIBCPP_FULLY_COMPLIANT_HEADERS): Enable. 2001-02-21 Phil Edwards * tests_flags.in: Remove -n flag from call to echo. 2001-02-20 Benjamin Kosnik * config/c_locale_gnu.h: Add clocale include. 2001-02-20 Phil Edwards * include/bits/stl_config.h: Remove file. * src/Makefile.am (base_headers): Remove from list. * configure: Regenerate. * Makefile.in: Ditto. * libio/Makefile.in: Ditto. * libmath/Makefile.in: Ditto. * libsupc++/Makefile.in: Ditto. * src/Makefile.in: Ditto. * include/bits/c++config: Move relevant macros to here. * include/backward/alloc.h: Include c++config.h instead. * include/backward/function.h: Ditto. * include/backward/heap.h: Ditto. * include/backward/pair.h: Ditto. * include/bits/pthread_allocimpl.h: Ditto. * include/bits/std_functional.h: Ditto. * include/bits/std_iterator.h: Ditto. * include/bits/std_numeric.h: Ditto. * include/bits/std_utility.h: Ditto. * include/bits/stl_algobase.h: Ditto. * include/bits/type_traits.h: Ditto. * src/stl-inst.cc: Ditto. 2001-02-19 Gabriel Dos Reis * include/bits/basic_file.h: Add #pragma system_header * include/bits/basic_ios.h: Ditto. * include/bits/basic_string.h: Ditto. * include/bits/char_traits.h: Ditto. * include/bits/codecvt.h: Ditto. * include/bits/cpp_type_traits.h: Ditto. * include/bits/fpos.h: Ditto. * include/bits/gslice.h: Ditto. * include/bits/gslice_array.h: Ditto. * include/bits/indirect_array.h: Ditto. * include/bits/ios_base.h: Ditto. * include/bits/limits_generic.h: Ditto. * include/bits/locale_facets.h: Ditto. * include/bits/localefwd.h: Ditto. * include/bits/mask_array.h: Ditto. * include/bits/sbuf_iter.h: Ditto. * include/bits/sequence_concepts.h: Ditto. * include/bits/slice.h: Ditto. * include/bits/slice_array.h: Ditto. * include/bits/std_algorithm.h: Likewise. * include/bits/std_bitset.h: Likewise. * include/bits/std_complex.h: Likewise. * include/bits/std_deque.h: Likewise. * include/bits/std_fstream.h: Likewise. * include/bits/std_functional.h: Likewise. * include/bits/std_iomanip.h: Likewise. * include/bits/std_ios.h: Likewise. * include/bits/std_iosfwd.h: Likewise. * include/bits/std_iostream.h: Likewise. * include/bits/std_istream.h: Likewise. * include/bits/std_iterator.h: Likewise. * include/bits/std_list.h: Likewise. * include/bits/std_locale.h: Likewise. * include/bits/std_map.h: Likewise. * include/bits/std_memory.h: Likewise. * include/bits/std_numeric.h: Likewise. * include/bits/std_ostream.h: Likewise. * include/bits/std_queue.h: Likewise. * include/bits/std_set.h: Likewise. * include/bits/std_sstream.h: Likewise. * include/bits/std_stack.h: Likewise. * include/bits/std_stdexcept.h: Likewise. * include/bits/std_streambuf.h: Likewise. * include/bits/std_string.h: Likewise. * include/bits/std_utility.h: Likewise. * include/bits/std_valarray.h: Likewise. * include/bits/std_vector.h: Likewise. * include/bits/stringfwd.h: Likewise. * include/bits/type_traits.h: Likewise. * include/bits/valarray_array.h: Likewise. * include/bits/valarray_meta.h: Likewise. 2001-02-19 Andreas Jaeger * config/cpu/sparc/sparc64/bits/atomicity.h (__compare_and_swap): Fix typo. 2001-02-16 Greg Bumgardner libstdc++/1734 * include/bits/std_ostream.h: Replaced usage of _Traits::_S_eos() with _CharT() as per section 17.2.2.1.3. * include/bits/char_traits.h: Removed non-standard methods that cannot be used elsewhere. libstdc++/1885 * include/bits/basic_ios.h: Uncommented #include of bits/basic_ios.tcc libstdc++/1897 * include/bits/codecvt.h: See next... * include/bits/fstream.tcc: See next... * include/bits/ostream.tcc: Add __extension__ to variable-length arrays. libstdc++/1967 * include/bits/localefwd.h: Changed int counter type to size_t. libstdc++/1968 * include/bits/std_fstream.h: Added typedef for __ctype_type. 2001-02-16 Benjamin Kosnik * testsuite/21_strings/char_traits.cc: Move to ... * testsuite/21_strings/char_traits_requirements.cc: ..here. * testsuite/21_strings/char_traits-int_type.cc: Move to ... * testsuite/21_strings/char_traits_typedefs.cc: ..here. 2001-02-16 Gabriel Dos Reis * libmath/mathconf.h (FINITE_P, INFINITE_P): Remove macro definitions. 2001-02-15 Benjamin Kosnik * include/bits/c++config: Revert. 2001-02-15 Mark Mitchell * include/bits/istream.tcc: Use ios_base::iostate in place of iostate throughout. Insert `typename' keyword where necessary. * include/bits/ostream.tcc: Insert `typename' keyword where necessary. 2001-02-15 Jeffrey Oldham * include/bits/c++config (_GLIBCPP_FULLY_COMPLIANT_HEADERS): Define so library is compliant. 2001-02-15 Anthony Green * acinclude.m4 (glibcpp_toolexeclibdir): Fix test for cross compilation. * aclocal.m4: Regenerate. * configure: Regenerate. 2001-02-15 Rodney Brown * acinclude.m4 (GLIBCPP_CHECK_MATH_DECL_1): Include ieeefp.h for fpclass on UnixWare{2,7}. * aclocal.m4: Regenerate. * configure: Regenerate. * mkcheck.in (size_command): Do without GNU-grep when using size from binutils. 2001-02-15 Mark Mitchell Remove old ABI support from libsupc++. * libsupc++/cxxabi.h: Remove conditionally compiled code. * libsupc++/exception_support.cc: Likewise. * libsupc++/pure.cc: Likewise. * libsupc++/tinfo.cc: Likewise. * libsupc++/tinfo.h: Likewise. * libsupc++/tinfo2.cc: Likewise. * libsupc++/typeinfo: Likewise. * libsupc++/vec.cc: Likewise. 2001-02-15 Benjamin Kosnik Add support for -fno-exceptions. * include/bits/exception_support.h: Remove. * include/bits/basic_string.h: Remove exception_support. (string::_M_check): Replace __OUTOFRANGE with __throw_out_of_range. (string::at): Same. (string::substr): Same. * include/bits/basic_string.tcc (string::reserve): Replace __LENGTHERROR with __throw_length_error. (string::_S_create): Same. (string::resize): Same. (string::_M_replace): Same. (string::replace): Same. (string::copy): Replace __OUTOFRANGE with __throw_out_of_range. (string::compare): Same. * include/bits/stl_vector.h: Remove exception_support. * src/Makefile.am (base_headers): Remove here. * src/Makefile.in: Regenerate. * include/bits/stl_range_errors.h: Remove. * include/bits/stl_deque.h: Use __throw_range_error. * include/bits/std_deque.h: Include functexcept.h. * include/bits/std_vector.h: Same. * src/Makefile.am (base_headers): Remove here. * src/Makefile.in: Regenerate. * include/ext/stl_bvector.h (class __BVECTOR): Use __throw_range_error. * include/ext/bvector: Remove stl_range_errors.h * include/bits/c++config (_GLIBCPP_USE_EXCEPTIONS): Remove. * include/bits/functexcept.h: New file. * src/functexcept.cc: New file. Definitions for function-based exception routines. * src/Makefile.am (sources): Add functexcept.cc. * src/Makefile.in: Regenerate. * include/bits/stl_config.h (__STL_USE_EXCEPTIONS): Wrap with __EXCEPTIONS. * include/bits/localefwd.h: Include functexcept.h. * include/bits/std_iosfwd.h: Same. * include/bits/basic_ios.h: Use __throw_ios_failure instead of throw basic_ios::failure. * include/bits/fstream.tcc (filebuf::_M_allocate_buffers): Use __throw_exception_again. (filebuf::_M_filebuf_init): Same. * include/bits/streambuf.tcc (__copy_streambufs): Same. * include/bits/ostream.tcc (ostream::operator<<): Same. * include/bits/istream.tcc (istream::operator>>): Same. * include/bits/basic_string.tcc (string::_M_mutate): Same. (string::_S_construct): Same. (string::_M_clone): Same. * include/bits/locale_facets.tcc (use_facet(const locale&)): Use __throw_bad_cast. (num_put<_CharT, _OutIter>::do_put): Use __throw_exception_again. * src/localename.cc (locale::_Imp::_Imp(const _Impl&, size_t): Use __throw_exception_again. (locale::_Imp::_Imp(string, size_t): Same. (locale::_Imp::_M_replace_facet): Use __throw_runtime_error. * src/locale.cc (locale::_M_coalesce): Use __throw_exception_again. (locale::locale(const char*)): Use __throw_runtime_error. (locale::classic): Use __throw_exception_again. (locale::_S_normalize_category): Use __throw_runtime_error. * src/stdexcept.cc: Remove cruft. * libsupc++/exception_defines.h: New file. * libsupc++/new_opnt.cc: Include exception_defines.h. * libsupc++/vec.cc: Same. (__cxa_vec_new2): Use __throw_exception_again. (__cxa_vec_new3): Same. (__cxa_vec_ctor): Same. (__cxa_vec_delete3): Same. (__cxa_vec_cctor): Same. (__cxa_vec_delete2): Same. (__cxa_vec_dtor): Same. * libsupc++/exception_support.cc: Include exception_defines.h. Only compile exception-handling bits if __EXCEPTIONS is defined. Remove old ABI support. * libsupc++/new_op.cc (new): Include exception_defines.h. Use std::__throw_bad_alloc() instead of throw bad_alloc. * libsupc++/Makefile.am: Add exception_defines.h. * libsupc++/Makefile.in: Reformat. * libsupc++/*: Format. 2001-02-15 Phil Edwards * docs/html/configopts.html: Minor updates and typo fixes. * docs/html/faq/index.html: Updates of the "not really bugs" list. * docs/html/faq/index.txt: Regenerated. 2001-02-15 Gabriel Dos Reis * testsuite/lib/libstdc++.exp: Lift, temporarily, out of dejagnu/dg.exp. Adapt to log options used to run testcases. 2001-02-13 Gabriel Dos Reis * testsuite/lib/libstdc++.exp(dg-test): Lift temporarily from dejagnu/dg.exp. 2001-02-13 Dirk Mueller Phil Edwards * include/backward/function.h: Do not use rel_ops for older headers either. * include/backward/pair.h: Likewise. 2001-02-12 Mark Mitchell * src/locale.cc: Remove bogus locale::id definitions. 2001-02-11 Gabriel Dos Reis * include/bits/std_valarray.h: #undef _DEFINE_LOGICAL_OPERATOR, not _DEFINE_VALARRAY_OPERATOR which is not existent. * include/bits/valarray_meta.h (_RefFunClos<>_RefRunClos): Fix thinko in member initialisation. 2001-02-11 Gabriel Dos Reis * include/bits/std_valarray.h(valarray<>::shift): Avoid comparaison between signed and unsigned integer types. (valarray<>::cshift): Reformat. 2001-02-11 Alexandre Oliva * src/gen-num-limits.cc: Use sigsetjmp and siglongjmp if available. * mknumeric_limits: Compile it with -DHAVE_CONFIG_H. * configure.in: Test for sigsetjmp. * configure, config.h.in: Rebuilt. 2001-02-11 Gabriel Dos Reis * src/valarray-inst.cc (gslice::_Indexer::_Indexer): Don't flip lengths and strides. (__gslice_to_index): Document. 2001-02-11 Gabriel Dos Reis * include/bits/char_traits.h char_traits::int_type: Change to `int' to match 21.1.3.1/2. * testsuite/21_strings/char_traits-int_type.C: New test. 2001-02-10 Gabriel Dos Reis * testsuite/Makefile.am: New file. 2001-02-09 Nathan Sidwell * include/c_shadow/bits/std_cstdlib.h (lldiv_t): Fix typo. 2001-02-08 Loren J. Rittle * src/locale-inst.cc (fill_n): Instantiate with size_t arguments. 2001-02-08 David Edelsohn * configure.target (aix4*): Remove extra set of brackets. 2001-02-07 Benjamin Kosnik Clean up stdexcept. * include/bits/stringfwd.h: New file. * include/bits/stl_string_fwd.h: Remove. * include/bits/localefwd.h: Remove declaration for allocator. * include/bits/std_iosfwd: Same. * include/bits/std_string.h: Include it. * include/bits/std_ios.h: Remove include. * include/bits/basic_string.h: Tweak. * libsupc++/new: Format. * src/Makefile.am (base_headers): Add stringfwd.h, remove stl_string_fwd.h * src/Makefile.in: Regenerate. * include/bits/std_stdexcept.h: Rewrite. * src/stdexcept.cc: Same. 2001-02-06 Benjamin Kosnik * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Deal with library install locations too. * aclocal.m4: Regenerate. * 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 * docs/html/configopts.html: Fix HTML markup. * docs/html/install.html: Bring up to date. * docs/html/17_intro/C++STYLE: Add global variable conventions. * docs/html/21_strings/howto.html: More notes. * docs/html/22_locale/howto.html: Fix HTML markup. * docs/html/27_io/howto.html: More notes. * docs/html/27_io/binary_iostreams_kanze.txt: New file. * docs/html/27_io/binary_iostreams_kuehl.txt: New file. 2001-02-06 Jeffrey Oldham * src/misc-inst.cc (_S_pad_char): Modify declaration's parameters to match header files. (_S_output_float): Likewise. (_S_copy_streambufs): Likewise. 2001-02-06 Hyman Rosen Phil Edwards * include/bits/std_istream.h (op>> signed,unsigned char): Must use reinterpret_cast, not static_cast. 2001-02-06 Benjamin Kosnik * acinclude.m4 (gxx_include_dir): Quote, fix regression. * aclocal.m4: Regenerate. * configure: Regenerate. 2001-02-05 Benjamin Kosnik * include/bits/locale_facets.h (class moneypunct): Fix typos. * libsupc++/pure.cc: Revert. 2001-02-05 Benjamin Kosnik * acinclude.m4 (GLIBCPP_CHECK_MATH_DECL_1): New macro. (GLIBCPP_CHECK_MATH_DECL_2): New macro. (GLIBCPP_CHECK_MATH_DECL_3): New macro. (GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1): Use it, check for _* too. (GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2): Same. (GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3): Same. (GLIBCPP_CHECK_MATH_SUPPORT): Remove explicit checks for _* versions. * aclocal.m4: Regenerate. * configure: Regenerate. 2001-02-05 Mark Mitchell * include/bits/locale_facets.tcc: Remove `static' keyword on function definitions. * include/bits/std_streambuf.h: Likewise. * src/Makefile.am: Remove use of -fimplicit-templates. * src/Makefile.in: Regenerated. * src/locale-inst.cc: Explicitly instantiate more functions. * src/misc-inst.cc: Likewise. * src/string-inst.cc: Likewise. 2001-02-05 Benjamin Kosnik * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): New macro. Consolidate all the bits to do with where includes might be installed. * aclocal.m4: Regenerate. * configure.in: Use it. * configure: Regenerate. * src/Makefile.am (targetincludep): Use simplified rules. (targetincludep): Rename gxx_target_include_dir. (myincludep): Rename gxx_include_dir. * src/Makefile.in: Regenerate. * libsupc++/Makefile.am: Use simplified rules. * libsupc++/Makefile.in: Regenerate. 2001-02-05 Benjamin Kosnik * include/c_std/bits/std_cerrno.h: Correct date format for copyright. * include/c_std/bits/std_cctype.h: Same. * include/c_std/bits/std_cassert.h: Same. * include/c_std/bits/std_cstdarg.h: Same. * include/c_std/bits/std_cstddef.h: Same. * include/c_std/bits/std_cstdio.h: Undefine all names brought into namespace std. * include/c_std/bits/std_ctime.h: Same. * include/c_std/bits/std_clocale.h: Same. * include/c_std/bits/std_cmath.h: Same. * include/c_std/bits/std_csetjmp.h: Same. * include/c_std/bits/std_csignal.h: Same. * include/c_std/bits/std_cstring.h: Same. * include/c_std/bits/std_cstdlib.h: Same. * include/c_std/bits/std_cwchar.h: Same. 2001-02-05 Phil Edwards * testsuite/27_io/ios_base_members_static.cc: Swap order of tests. 2001-02-05 Mark Mitchell * src/string-inst.cc (string::_M_replace): Explicitly instantiate. (string::_S_construct): Likewise. 2001-02-05 Gabriel Dos Reis * testsuite/config/default.exp: New file. * testsuite/config: New directory. 2001-02-04 Mark Mitchell * libsupc++/typeinfo (__GXX_MERGED_TYPEINFO_NAMES): New macro. * libsupc++/tinfo.cc (std::typeinfo::operator==): Use strcmp whenever !__GXX_MERGED_TYPEINFO_NAMES. * libsupc++/tinfo2.cc (std::typeinfo::before): Likewise. 2001-02-03 Alexandre Oliva Gerald Pfeifer * Makefile.am (mkinstalldirs): Set. * src/Makefile.am (mkinstalldirs): Set. * libmath/Makefile.am (mkinstalldirs): Set. * libsup++/Makefile.am (mkinstalldirs): Set. * libio/Makefile.am (mkinstalldirs): Set. * */Makefile.in: Regenerate. 2001-02-03 Benjamin Kosnik * include/bits/stl_threads.h (struct _STL_mutex_lock): Same. * include/bits/localefwd.h: More initialization cleanups. 2001-02-03 Jeffrey A Law * include/bits/ios_base.h (_S_ios_fmtflags_end): Initialize correctly targets with 16bit ints. (_S_ios_openmode_end): Similarly. (_S_ios_iostate_end): Similarly. (_S_ios_Seekdir_end): Similarly. 2001-02-02 Phil Edwards * mkcheck.in: Also limit virtual memory size, for mmap-based mallocs. 2001-02-01 Alexandre Oliva * configure.in (toplevel_srcdir, auxdir): Set. * acinclude.m4 (glibcpp_basedir): Set based on auxdir. * aclocal.m4, configure, Makefile.in: Rebuilt. * libio/Makefile.in, math/Makefile.in, src/Makefile.in: Likewise. * libsupc++-v3/Makefile.am (INCLUDES): Use toplevel_srcdir. * libsupc++-v3/Makefile.in: Rebuilt. * libsupc++-v3/configure.in, libsupc++-v3/configure: Removed. * libsupc++-v3/aclocal.m4, libsupc++-v3/config.h.in: Likewise. 2001-01-30 Benjamin Kosnik * config/c_locale_generic.cc: Remove langinfo include. 2001-01-29 Benjamin Kosnik Preliminary named locales. * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): New macro. * aclocal.m4: Regenerate. * configure.in: Use it. * configure: Regerate. * src/Makefile.am (sources): Add c++locale.cc. (build_headers): Add c++locale.h. * src/Makefile.in: Regenerate. * config/c_locale_gnu.h: New file. * config/c_locale_gnu.cc: New file. Non-inline member functions for named locales, gnu-specific. * config/c_locale_generic.h: New file. * config/c_locale_generic.cc: New file. Non-inline member functions for named locales, generic version. * docs/html/configopts.html: Add documentation on new options. * include/bits/locale_facets.h (class _Messages): Remove. (class _Moneypunct): Remove. * src/locale-inst.cc: Remove. * include/bits/locale_facets.h (class _Collate): Remove. * src/locale-inst.cc (std): Remove. * src/locale.cc: And here. * include/bits/localefwd.h (locale::_M_coalesce): New function. Correctly put together multi-name locales. (_Impl(const _Impl&, category, size_t)): Remove. * include/bits/localefwd.h (locale::_Impl): Remove _M_construct_* member functions. (_M_normalize_category_names): Remove. (_M_replace_categories): Fix. * src/localename.cc (locale::_Impl::_M_construct_collate): Remove. (locale::_Impl::_M_construct_ctype): Remove. (locale::_Impl::_M_construct_monetary): Remove. (locale::_Impl::_M_construct_numeric): Remove. (locale::_Impl::_M_construct_time): Remove. (locale::_Impl::_M_construct_messages): Remove. * include/bits/locale_facets.h (_Bad_use_facet): Remove. (_Use_facet_failure_handle): Remove. * src/locale.cc: Remove definitions. * src/locale-inst.cc: And here. * testsuite/22_locale/ctor_copy_dtor.cc (test01): Fixup. Add tests. * src/localename.cc (locale::facet::_S_create_c_locale): Properly create and error-check underlying locale object. (locale::facet::_S_destroy_c_locale): Add, take care of properly tearing down underlying locale object. * include/bits/localefwd.h (locale::facet): Declare. * testsuite/22_locale/members.cc: Don't test "fr_FR" locale for correctness, as glibc apparently has incorrect info in it. Test with it when it works again..... * include/bits/localefwd.h (locale::_Impl::__vec_string): Remove. Number of categories is fixed at six, so just simplify and make this an array of strings. (locale::_Impl::_M_has_name): Remove. (locale::_Impl::_M_name): Remove. (locale::_Impl::_M_category_names): Turns into... (locale::_Impl::_M_names): ...this. (locale::_Impl::_M_has_same_name()): New function. * src/localename.cc (locale::_Impl::~_Impl()): Remove here. (locale::_Impl::_Impl(size_t __refs, string __str)): Simplify signature. * src/locale.cc (locale::name()): Construct mangled name accurately reflecting combined locale categories. * src/locale.cc (locale::classic()): Don't initialize here. * src/localename.cc (locale::_Impl::_Impl(size_t __num, size_t __refs, bool __has_name, string __str): Do it here. * include/bits/localefwd.h: _S_categories_num to _S_num_categories. _S_facets_num to _S_num_facets. (locale::id::id()): Explicitly set _M_index to zero. * src/locale.cc: Same. * src/locale.cc: (locale::locale(const char*)): Construct named locales uniquely. * src/locale.cc: Remove numpunct_byname ctors. * testsuite/22_locale/numpunct_byname.cc: New file. * testsuite/22_locale/numpunct.cc: New file. * include/bits/localefwd.h (class locale): Change data members to protected, from private. (_Impl::_M_get_c_locale): Add member function. (locale::facet::_M_get_global_impl()): Add member function. * include/bits/locale_facets.h (numpunct::_M_init): Change to take a __c_locale pointer. (numpunct::numpunct( __c_locale*, size_t)): Add additonal ctor for named locales. * testsuite/22_locale/members.cc: New file, test name and combine. * include/bits/locale_facets.h (class numpunct): Remove class _Punct and _Numpunct. Rewrite class numpunct to be correct for named locales. * include/bits/localefwd.h (locale::_Imp::_M_c_locale): Add. * src/localename.cc (_Impl::~_Impl()): Call __frelocale. (_Imp::_Impl(size_t, size_t, bool, string)) Initialize _M_c_locale. * src/locale-inst.cc: Remove _Numpunct, _Punct instantiations. * testsuite/22_locale/numpunct_char_members.cc: New file. 2001-01-28 Gabriel Dos Reis * testsuite/README: Add more comment. * testsuite/lib/libstdc++.exp: Tweak comment. 2001-01-26 Benjamin Kosnik * libsupc++/pure.cc (writestr): Just use cstdio and std::fputs. 2001-01-25 Loren J. Rittle * testsuite/21_strings/inserters_extractors.cc: Remove explicit reference to 'testsuite/'. 2001-01-25 Richard Henderson * config/cpu/alpha/bits/atomicity.h: Remove tricky .subsetion bits. Fixes Tru64 build issues. 2001-01-25 Michael Sokolov * acinclude.m4 (GLIBCPP_CHECK_GNU_MAKE): Bourne shell portability bug (use ${MAKE-make}, not ${MAKE:-make}). * aclocal.m4, configure: Regenerate. 2001-01-25 Mark Mitchell * src/ios.cc: Remove accidental inclusion of in last checkin. * src/Makefile.am (sources): Add globals.cc. * src/Makefile.in: Regenerated. * src/globals.cc: New file. * src/ios.cc (cin): Don't define here, just declare extern. (cout): Likewise. (cerr): Likewise. (clog): Likewise. (wcin): Likewise. (wcout): Likewise. (wcerr): Likewise. (wclog): Likewise. 2001-01-25 Phil Edwards * include/bits/std_iterator.h: Do not include stl_relops.h. * include/bits/std_numeric.h: Ditto. * include/bits/stl_algobase.h: Ditto. * include/bits/stl_relops.h: Add comment warning about problems. 2001-01-25 Gabriel Dos Reis * testsuite/27_io/*.cc: Remove explicit reference to 'testsuite/' in testcases. Prepare for the DejaGnu based framework. * mkcheck.in: Adjust call to tests_flags. Don't mmkdir testsuite directory -- it is now mkcheck working directory. * tests_flags.in: Remove reference to $(top_srcdir). Use ${SRC_DIR} instead. * Makefile.am (check, check-install): Change mkcheck invocation logic. * Makefile.in: Regenerate. 2001-01-24 Mark Mitchell * config/os/aix/bits/atomicity.h (__compare_and_swap): Remove. (__always_swap): Likewise. 2001-01-23 Chris Demetriou * libsupc++/exception_support.cc (__terminate_func): Remove declaration. (__terminate_func_ptr): New typedef. (__terminate, __terminate_set_func): New extern function prototypes. (std::terminate): Use __terminate function. (std::set_terminate): Use __terminate_set_func function. 2001-01-23 Benjamin Kosnik * configure.target: Just use os_include_dir always. * configure.in: Remove calls to GLIBCPP_CHECK_CTYPE_SUPPORT. Link atomicity files and ctype files here. * configure: Regenerate. * acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Remove. (GLIBCPP_ENABLE_ATOMICITY): Remove. * aclocal.m4: Regenerate. 2001-01-23 Chris Demetriou * configure.in: Place definition of MULTISUBDIR in libsupc++/Makefile as is done for src/Makefile. * configure: Regenerate. 2001-01-23 Phil Edwards * acinclude.m4: Cosmetic changes only. * aclocal.m4: Regenerated. * configure: Regenerated. * configure.target: Update documented list of changed variables. * docs/html/install.html: Fix typo. * docs/html/20_util/howto.html: More notes on auto_ptr. * docs/html/27_io/howto.html: More notes on streabufs. * docs/html/faq/index.html: Add rel_ops problem and mention the DEC as(1) .subsection difficulty. * docs/html/faq/index.txt: Regenerated. 2001-01-23 Mark Mitchell * ainclude.m4 (GLIBCPP_CHEC_MATH_DECLS_AND_LINKAGE_1): New macro. (GLIBCPP_CHECK_MATH_SUPPORT): Use it. (GLIBCPP_CHECK_TYPE_SUPPORT): Don't autoconf ctype information if its already provided in config.target. * aclocal.m4: Regenerated. * configure: Likewise. * configure.target: Set ctype_include_dir for lots of systems. * libsupc++/Makefile.am: Explicitly include --tag disable-shared. * libsupc++/Makefile.in: Regenerated. 2001-01-23 Gabriel Dos Reis * testsuite/lib/libstdc++.exp: Improve. Add support for @xxx# keyword capability. * testsuite/README: Add comment. 2001-01-21 Phil Edwards * docs/html/configopts.html: Update for current status. Fix HTML. * docs/html/install.html: Update for current status. 2001-01-20 Gabriel Dos Reis * testsuite/libstdc++.tests/tests.exp: New file. * testsuite/lib/libstdc++.exp: Itou. * testsuite/README: Itou. 2001-01-20 Gabriel Dos Reis * tests_flags.in: Just output the bare minimum to run tests. Let's the caller do its own arrangement. * mkcheck.in: Rename INC_PATH to INCLUDES. Adjust flags computations. 2001-01-19 Gabriel Dos Reis * testsuite/17_intro: Prepare testcases for new style DejaGnu framework. 2001-01-18 Gabriel Dos Reis * testsuite/libstdc++.tests, testsuite/lib: New directories. 2001-01-17 Loren J. Rittle * mkcheck.in: Construct file names that match $objdir structure. * testsuite/27_io/filebuf_members-1.txt: New file. * testsuite/27_io/ifstream_members-1.txt: New file. * testsuite/27_io/ostream_inserter_char-1.txt: New file. * testsuite/27_io/ios_base_members_static.cc (test02): Add test. * testsuite/27_io/ios_base_members_static-1.tst: Add expected output. 2001-01-17 Peter Schmid * testsuite/27_io/istream_sentry.cc (test02): Fix. 2001-01-17 Benjamin Kosnik libstdc++/1605 * include/bits/ios_base.h (ios_base::failure): Tighten up throw specs. * src/ios.cc (ios_base::failure): Make definitions match. * libsupc++/typeinfo (class bad_typeid): Add throw specs. (class bad_cast): Same. * libsupc++/exception (class exception): Add throw specs. * libsupc++/exception_support.cc (set_terminate): Add throw specs. (set_unexpected): Same. (uncaught_exception): Same. (what): Same. * docs/html/17_intro/C++STYLE (classname): Fix. 2001-01-16 Mark Mitchell * src/gen-num-limits.cc (INSTANTIATIONS): New macro. Use it do explicitly instantiate predicate and value for all the builtin Ts. 2001-01-16 Nathan Sidwell * libsupc++/exception_support.cc (__cp_pop_exception): Fix uninitialized thinko in last change. 2001-01-16 Mark Mitchell * libsupc++/exception_support.cc (__cp_pop_exception): Change prototype. 2001-01-16 Benjamin Kosnik * docs/html/17_intro/C++STYLE (classname): Add more existing and stylish patterns. libstdc++/944 * include/bits/istream.tcc (istream::sentry::sentry()): Set failbit if the state of the stream is not good. * testsuite/27_io/istream_sentry.cc (test02): Add test. * testsuite/27_io/istream_manip.cc (test01): Modify. libstdc++/1019 reported by Paolo Carlini * include/bits/istream.tcc (operator>>(istream&, string&)): Fix. * testsuite/21_strings/inserters_extractors.cc (test08): Add test. libstdc++/1057 * include/bits/std_streambuf.h (setp): Set _M_buf_size correctly. * include/bits/streambuf.tcc (xsputn): Remove outside if clause. (xsgetn): Same. Simplify. * testsuite/27_io/streambuf.cc (test04): Add testcases. reported by Larry Evans * include/bits/streambuf.tcc (streambuf::xsputn): Just check for equality with eof on returned value from overflow. 2001-01-14 Andreas Jaeger * libio/libio.h: Add test for glibc 2.0. 2001-01-12 Benjamin Kosnik * config/os/djgpp/bits/*: Fix dates. * include/bits/basic_string.h (_S_find(const _CharT* __beg, const _CharT* __end, _CharT __c): Remove. * include/bits/basic_string.tcc: Substitute traits::find for _S_find. * include/bits/char_traits.h: Tweak. 2001-01-12 Laurynas Biveinis * acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): check for DJGPP (LIB_AC_PROG_CXX): replace [/\\] with [\\/] to work around older bash bug. * aclocal.m4: regenerated. * configure.target: set os_include_dir to config/os/djgpp under DJGPP. * configure: regenerated. * config/os/djgpp, config/os/djgpp/bits: new directories. * config/os/djgpp/bits/ctype_base.h, config/os/djgpp/bits/ctype_inline.h, config/os/djgpp/bits/ctype_noninline.h, config/os/djgpp/bits/os_defines.h: new files. 2001-01-11 Joseph S. Myers * include/c_std/bits/std_cstdio.h: Undef printf. 2001-01-10 Benjamin Kosnik * src/ios.cc: Fix typo: change cout->wcout. * src/Makefile.am (targetincludep): Fix for version-specific-libs. * src/Makefile.in: Regenerate. 2001-01-10 Peter Schmid * include/bits/std_complex.h: Fix a typo. 2001-01-09 Benjamin Kosnik Fixes for libstdc++/1576 * src/stdstreams.cc: Initialize with NULL filebuf. Delete file, move contents into.... * src/ios.cc: ...Here. Put defines for iostreams objects and initialization routines into one file to simplify DSO interaction. * include/bits/std_iostream.h: Touch. * include/bits/ios_base.h (_S_synched_with_stdio): Make static. * src/Makefile.am (sources): Remove stdstreams.cc. * src/Makefile.in: Regenerate. 2001-01-10 Gabriel Dos Reis * tests_flags.in (check_directory): Fix typo. 2001-01-09 Peter Schmid * include/bits/std_complex.h: Fix a typo. 2001-01-09 Loren J. Rittle * config/os/bsd/freebsd/bits/ctype_inline.h (is): (Make right code path:) Remove magic constants and restructure to handle ctype.h bit mask layout changes more gracefully. (Make fast code path:) Use __maskrune (), if available. (is): Remove special case for digit and xdigit masks. 2001-01-09 Robert Lipe * include/c_std/bits/std_ctime.h: Undefine difftime. 2001-01-09 Alexandre Oliva * src/gen-num-limits.cc (signal_adapter): New template function. (signal_handler): Use it, instead of signal. (traps): Likewise. Install SIGTRAP handler too. Don't require both tests to trap to set trap_flag. 2001-01-08 Benjamin Kosnik * include/bits/fpos.h (fpos:::fpos(streamoff __pos)): Explicitly initialize mbstate_t member, name offset data members *off, not pos. * include/bits/fstream.tcc (filebuf::filebuf): Same. 2001-01-08 Benjamin Kosnik reported by Chris G. Demetriou * configure.in: Change -linux-* to -linux*. * configure: Regenerate. 2001-01-05 Benjamin Kosnik 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 * config/c_io_stdio.cc (__basic_file<_CharT>::sys_open()): On systems that support it, call dup() before fdopen(). 2001-01-03 Benjamin Kosnik * include/c_std/bits/std_cwctype.h: Include std_cwchar.h for wint_t. * testsuite/17_intro/header_cwctype.cc (main): New file. * src/Makefile.am (base_headers): Change. * include/bits/std_string.h: And here. * include/bits/string.tcc: Tweaks, move to... * include/bits/basic_string.tcc: ...Here. * src/string-inst.cc: Simplify, just instantiate the whole class, not member-by-member. 2001-01-02 Benjamin Kosnik * 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, add commentary. 2001-01-01 Benjamin Kosnik * include/c_std/bits/std_cwchar.h: Same. * testsuite/17_intro/header_cwchar.cc: Same. * include/c_std/bits/std_ctime.h: Same. * testsuite/17_intro/header_ctime.cc: Same. * include/c_std/bits/std_cstdlib.h: Same. Clean up undefs, make consistent with cwchar and cmath, etc. * testsuite/17_intro/header_cstdlib.cc: Same. * include/c_std/bits/std_cstdio.h: Same here. * testsuite/17_intro/header_cstring.cc: Same. * include/c_std/bits/std_cstring.h: Include std_cstddef.h for size_t. * testsuite/17_intro/header_cstring.cc: New file. Check for size_t in namespace std. * include/c_std/bits/std_cwchar.h: Explicit checks for mbstate_t. * acconfig.h (HAVE_MBSTATE_T): Add. * config.h.in: Regenerate. * acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Always test for mbstate_t. * aclocal.m4: Regenerate. * configure: Regenerate. * testsuite/17_intro/headers_c++.cc: New file. * testsuite/17_intro/headers_c.cc: Small changes. 2001-01-01 David Billinghurst * tests_flags.in: Fix typo in usage. * tests_flags.in: Set target specific LIBS for cygwin.