2005-01-26 Paolo Carlini * include/ext/mt_allocator.h (struct __per_type_pool_policy<,, false>::_S_get_pool, struct __per_type_pool_policy<,, true>::_S_get_pool): Scale _M_chunk_size too with sizeof(_Tp), otherwise the allocator breaks down as soon as sizeof(_Tp) >~ _S_chunk_size / 128; reduce to 64 the multiplier for _M_max_bytes (safer wrt _Binmap_type being a short); trivial reformattings. * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: New. 2005-01-26 Paolo Carlini * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Add ac_c99_complex to the final test for enable_c99, thus robustifying it; remove duplicate final test on ac_99_math. * configure: Regenerate. * include/std/std_complex.h: Remove usages of the dead _GLIBCXX_BUGGY_COMPLEX macro. * testsuite/26_numerics/cmath/19322.cc: Protect with _GLIBCXX_USE_C99_MATH instead of the stronger _GLIBCXX_USE_C99, since only C99 math facilities are involved. * testsuite/26_numerics/cmath/c99_classification_macros_c++.cc: Likewise. 2005-01-25 Loren J. Rittle * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Map FreeBSD to darwin instead of generic. Change autoconf report to "darwin or freebsd". * configure: Regenerate. * config/os/bsd/freebsd/ctype_inline.h (ctype::do_is): Add. (ctype::do_scan_is): Likewise. (ctype::do_scan_not): Likewise. 2005-01-25 Benjamin Kosnik * acinclude.m4 (GLIBCXX_ENABLE_C99): Test for complex math functions, and enable _GLIBCXX_USE_C99_COMPLEX_MATH if they exist. * acconfig.h: Add _GLIBCXX_USE_C99_COMPLEX_MATH. * config.h.in: Regenerate. * configure: Regenerate. * include/std/std_complex.h: Protect complex builtins with _GLIBCXX_USE_C99_COMPLEX_MATH. 2005-01-24 Paolo Carlini * include/tr1/type_traits: Implement is_signed and is_unsigned. * testsuite/tr1/4_metaprogramming/type_properties/ is_signed/is_signed.cc: New. * testsuite/tr1/4_metaprogramming/type_properties/ is_signed/typedefs.cc: Likewise. * testsuite/tr1/4_metaprogramming/type_properties/ is_unsigned/is_unsigned.cc: Likewise. * testsuite/tr1/4_metaprogramming/type_properties/ is_unsigned/typedefs.cc: Likewise. 2005-01-23 Paolo Carlini * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 34. 2005-01-23 Paolo Carlini * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: New. * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise. * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/flush/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/4402.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/6.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/9555-oa.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ wchar_t/exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/6.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/9555-oc.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/9318-out.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/9424-out.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/ wchar_t/9555-oo.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ error_failbit.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/wchar_t/ 2346-fstream.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/wchar_t/ 2346-sstream.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/tellp/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise. * testsuite/data/wostream_inserter_char-1.tst: Likewise. * testsuite/data/wostream_inserter_char-1.txt: Likewise. * testsuite/data/wostream_inserter_other-1.tst: Likewise. * testsuite/data/wostream_inserter_other-2.tst: Likewise. * testsuite/data/wostream_seeks-1.tst: Likewise. * testsuite/27_io/basic_ostream/endl/char/1.cc: Minor tweaks. * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise. * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise. * testsuite/27_io/basic_ostream/flush/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ char/2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ char/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ char/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ char/4402.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ char/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/ char/6.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ char/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ 2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ 5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ error_failbit.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise. * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise. 2005-01-23 Paolo Carlini * include/tr1/type_traits (aligned_storage): Use __aligned__ instead of aligned. 2005-01-23 Paolo Carlini Andreas Jaeger PR libstdc++/19343 * include/bits/functexcept.h: Mark the helpers as 'noreturn'. 2005-01-21 Loren J. Rittle * testsuite/27_io/basic_filebuf/open/char/9507.cc: Allow lseek on fifo to succeed. Thus, check for consistent report. 2005-01-21 Volker Reichelt PR libstdc++/19510 * include/bits/stl_list.h (_List_iterator): Initialize _M_node in constructor. (_List_const_iterator): Likewise. * include/bits/stl_tree.h (_Rb_tree_iterator): Likewise. (_Rb_tree_const_iterator): Likewise. * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers. * testsuite/23_containers/set/operators/1_neg.cc: Likewise. 2005-01-20 Benjamin Kosnik * testsuite/Makefile.am (check-compile): New. * testsuite/Makefile.in: Regenerate. * scripts/check_compile_time: New. * scripts/check_performance: Tweaks. 2005-01-19 Paolo Carlini PR libstdc++/19535 * include/tr1/utility (struct __pair_get<1>::__get, __const_get): Fix typo in the return type. * testsuite/tr1/6_containers/utility/19535.cc: New. 2005-01-19 Loren J. Rittle * include/ext/array_allocator.h (array_allocator<>::allocate): Avoid __used. Use __array_used instead. * docs/html/17_intro/BADNAMES: Add list for FreeBSD. 2005-01-18 David Edelsohn * config/os/aix/os_defines.h (_XOPEN_SOURCE): Delete. (_XOPEN_SOURCE_EXTENDED): Delete. 2005-01-18 Benjamin Kosnik * testsuite/testsuite_performance.h (time_counter::start): Clear. Tweaks. (clear_counters): Inline. (start_counters): Inline. (stop_counters): Inline. * testsuite/performance/20_util/allocator/map_thread.cc: Return. * testsuite/performance/20_util/allocator/insert.cc: Remove bogus return, add return. * testsuite/performance/20_util/allocator/map_thread.cc: Same. 2005-01-17 Paolo Carlini PR libstdc++/19433 * include/bits/stl_tree.h (_Rb_tree<>::insert_unique(iterator, const _Val&), _Rb_tree<>::insert_equal(iterator, const _Val&)): Obtain amortized constant complexity if t is inserted right after p - not before p - as per Table 69. * testsuite/performance/23_containers/set_insert_from_sorted.cc: New. * testsuite/23_containers/multiset/insert/2.cc: New. * testsuite/23_containers/set/insert/1.cc: Likewise. * testsuite/performance/23_containers/set_create_from_sorted.cc: Simplify. * include/bits/stl_tree.h: Add a few missing std:: qualifications. 2005-01-16 Jonathan Wakely * include/ext/rope: Qualify calls to std::copy() by sequence_buffer. * testsuite/ext/rope/4.cc: Add. 2005-01-16 Lorenz Minder Paolo Carlini PR libstdc++/19322 * include/c_std/std_cmath.h: Define the C99 classification facilities directly inside namespace std:. * testsuite/26_numerics/cmath/19322.cc: New. 2005-01-15 David Edelsohn * config/os/aix/os_defines.h (_G_USING_THUNKS): Delete. 2005-01-14 Paolo Carlini PR libstdc++/19422 * include/bits/stl_tree.h (_Rb_tree<>::insert_equal(_II, _II), _Rb_tree<>::insert_unique(_II, _II)): Use insert_equal (insert_unique, respectively) with hint (end()). * testsuite/performance/23_containers/set_create_from_sorted.cc: New. 2005-01-13 Geoffrey Keating * configure.host (darwin): On darwin8 or later, no need to build libstdc++ with -flat_namespace. 2005-01-13 Jonathan Wakely * docs/doxygen/user.cfg.in: Set HAVE_DOT back to YES. 2005-01-13 Paolo Carlini * testsuite/26_numerics/cmath/c99_classification_macros_c++.cc: Re-enable commented-out test for double type. 2005-01-11 Paolo Carlini Benjamin Kosnik * src/istream.cc (basic_istream::ignore(streamsize), basic_istream::ignore(streamsize, int_type), basic_istream::ignore(streamsize), basic_istream::ignore(streamsize, int_type)): In case more than numeric_limits::max() chars are skipped, set _M_gcount = max(). * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize, int_type)): Likewise; keep simple, don't forward. 2005-01-11 Paolo Carlini * src/istream.cc (basic_istream::ignore(streamsize), basic_istream::ignore(streamsize, int_type), basic_istream::ignore(streamsize), basic_istream::ignore(streamsize, int_type)): Revert 2005-01-05 change: actually, the previous behavior is conforming and consistent with that of get(char_type*, streamsize, char_type), albeit slightly different from that of 3.3/3.4 in a corner case due to the use of snextc. * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize, int_type)): Likewise. * testsuite/27_io/basic_istream/ignore/char/4.cc: Remove. * testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise. 2005-01-11 Paolo Carlini * include/tr1/type_traits: Implement alignment_of and aligned_storage. * testsuite/tr1/4_metaprogramming/other_transformations/ aligned_storage/aligned_storage.cc: New. * testsuite/tr1/4_metaprogramming/other_transformations/ aligned_storage/typedefs.cc: Likewise. * testsuite/tr1/4_metaprogramming/type_properties/ alignment_of/alignment_of.cc: Likewise. * testsuite/tr1/4_metaprogramming/type_properties/ alignment_of/typedefs.cc: Likewise. 2005-01-10 Paolo Carlini * Makefile.in: Regenerate. * libmath/Makefile.in: Likewise. * libsupc++/Makefile.in: Likewise. * po/Makefile.in: Likewise. * src/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. 2005-01-10 Paolo Carlini * include/bits/stl_algobase.h (lexicographical_compare): Fix concept check. 2005-01-07 Benjamin Kosnik * acinclude.m4: Remove CCODECVT_H. * configure: Regenerate. * include/Makefile.am (host_headers_extra): Move to... (ext_headers): ...here. * include/Makefile.in: Regenerate. * include/ext/enc_filebuf: Remove enc_filebuf, consolidate enc_traits to... * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Move... * include/ext/codecvt_specializations.h: ...here. Remove _GLIBCXX_USE___ENC_TRAITS. (__enc_traits): To __encoding_state, put in __gnu_cxx namespace. (enc_char_traits): To __encoding_char_traits, put in __gnu_cxx namespace. * config/locale/generic/codecvt_specializations.h: Remove. * include/bits/codecvt.h: Remove codecvt_specializations.h include. * src/codecvt.cc: Remove __enc_traits::_S_max_size. 2005-01-06 Benjamin Kosnik * include/bits/fstream.tcc: Remove unnecessary qualifications for uglified data members of basic_filebuf, including _M_buf, _M_buf_size, _M_mode, _M_pback_init. * include/std/std_fstream.h: Same. 2005-01-05 Benjamin Kosnik * testsuite/testsuite_hooks.h: (copy_constructor::mark_call): Use __throw_runtime_error. (assignment_operator::mark_call): Same. * testsuite/testsuite_hooks.cc (verify_demangle): Same. (locale_data): Remove, just use runtime_error directly. (environment_variable): Same. (not_found): Same. (run_tests_wrapped_locale): Use __throw_runtime_error. (run_tests_wrapped_env): Same. (semaphore::semaphore): Same. (semaphore::signal): Same. (semaphore::wait): Same. * testsuite/testsuite_abi.h (symbol_error): Remove, use logic_error. * testsuite/testsuite_abi.cc (get_symbol): Use __throw_logic_error. (create_symbols): Use __throw_runtime_error. * src/bitmap_allocator.cc: Use __throw_bad_alloc. 2005-01-05 Mark Mitchell * testsuite/27_io/basic_filebuf/open/char/9507.cc: Remove child process. 2005-01-05 Paolo Carlini * src/istream.cc (basic_istream::ignore(streamsize), basic_istream::ignore(streamsize, int_type), basic_istream::ignore(streamsize), basic_istream::ignore(streamsize, int_type)): At the end, first check _M_gcount vs __n. * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize, int_type)): Likewise. * testsuite/27_io/basic_istream/ignore/char/4.cc: New. * testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise. 2005-01-03 Mark Mitchell * testsuite/testsuite_hooks.cc: Use __throw_exception_again instead of just throw. * testsuite/testsuite_hooks.cc: Update coypright and follow style guidelines. * testsuite/testsuite_hooks.h: Likewise. * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use semaphores, not sleep. * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise. * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise. * testsuite/27_io/objects/char/7.cc: Likewise. * testsuite/27_io/objects/char/9661-1.cc: Likewise. * testsuite/27_io/objects/wchar_t/7.cc: Likewise. * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise. * configure.ac: Check for sys/ipc.h and sys/sem.h. * config.h.in: Regenerated. * configure: Likewise. * testsuite/testsuite_hooks.cc (_GLIBCXX_SYSV_SEM): Conditionally define. (sys/types.h): Include. (sys/ipc.h): Likewise. (sys/sem.h): Likewise. (__gnu_test::semun): New type. (__gnu_test::semaphore::sempaphore): New function. (__gnu_test::semaphore::~semaphore): Likewise. (__gnu_test::semaphore::wait): Likewise. (__gnu_test::semaphore::signal): Likewise. * testsuite/testsuite_hooks.h (__gnu_test::semaphore): New class. * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use semaphores, not sleep. * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise. * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise. * testsuite/27_io/objects/char/7.cc: Likewise. * testsuite/27_io/objects/char/9661-1.cc: Likewise. * testsuite/27_io/objects/wchar_t/7.cc: Likewise. * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise. 2005-01-03 Paolo Carlini * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize, int_type)): Reset _M_gcount to numeric_limits::min(). * src/istream.cc (basic_istream::ignore(streamsize, int_type), basic_istream::ignore(streamsize, int_type)): Likewise. * src/istream.cc (basic_istream::ignore(streamsize), basic_istream::ignore(streamsize)): Likewise; fix a typo. 2005-01-02 Paolo Carlini * src/istream.cc (basic_istream::ignore(streamsize), basic_istream::ignore(streamsize, int_type), basic_istream::ignore(streamsize), basic_istream::ignore(streamsize, int_type)): Avoid _M_gcount overflows. * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize, int_type)): Likewise; use snextc in the main loop, consistently with the specializations above. 2005-01-02 Chris Jefferson * include/bits/stl_algobase.h (mismatch): Correct concept check. 2005-01-01 Paolo Carlini * testsuite/ext/enc_filebuf/char/13189.cc: Fix, first include testsuite_hooks.h, to know whether including ext/enc_filebuf.h. * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise. 2005-01-01 Paolo Carlini * testsuite/27_io/basic_istream/extractors_character/char/1.cc: Fix, null-terminate array1 at the outset. * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc: Likewise.