diff options
author | redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-09 18:38:40 +0000 |
---|---|---|
committer | redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-09 18:38:40 +0000 |
commit | 85b55045bd0d5b643d49829ea79378dc899881de (patch) | |
tree | 1bdbe433b1e8157ec36a2eeb9c1c4b4a611b05a6 /libstdc++-v3/ChangeLog-2013 | |
parent | 6e5c480bff2a16e3e1632043eb201e4743061dbd (diff) | |
download | gcc-85b55045bd0d5b643d49829ea79378dc899881de.tar.gz |
Rotate libstdc++-v3/ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206479 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/ChangeLog-2013')
-rw-r--r-- | libstdc++-v3/ChangeLog-2013 | 4599 |
1 files changed, 4599 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog-2013 b/libstdc++-v3/ChangeLog-2013 new file mode 100644 index 00000000000..33f2c9510ba --- /dev/null +++ b/libstdc++-v3/ChangeLog-2013 @@ -0,0 +1,4599 @@ +2013-12-22 Hans-Peter Nilsson <hp@axis.com> + + * testsuite/20_util/hash/chi2_quality.h: Break out from + chi2_quality.cc. + * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Ditto. + * testsuite/20_util/hash/chi2_q_document_words.cc: Ditto. + * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Ditto. Increase + SAMPLES to 35000 for simulator targets. + * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Ditto. + * testsuite/20_util/hash/chi2_q_uniform_random.cc: Ditto. + * testsuite/20_util/hash/chi2_quality.cc: Remove. + +2013-12-10 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/20_util/is_base_of/value.cc: Add test. + + * include/std/fstream: Tiny formatting tweak. + +2013-12-09 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/59427 + * include/bits/fstream.tcc (basic_filebuf<>::overflow, + basic_filebuf<>::xsputn): Per lwg/596, ios_base::app implies + ios_base:out. + * include/std/fstream (basic_filebuf<>::_M_set_buffer): Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: New. + * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise. + +2013-12-09 Renlin Li <Renlin.Li@arm.com> + + * testsuite/20_util/hash/chi2_quality.cc: Change -DSAMPLES=30000. + +2013-12-08 Jonathan Wakely <jwakely.gcc@gmail.com> + + * testsuite/30_threads/async/async.cc: Fix race condition in test. + +2013-12-08 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/20_util/add_const/requirements/explicit_instantiation.cc: + New. + * testsuite/20_util/add_const/value.cc: Likewise. + * testsuite/20_util/add_cv/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/add_cv/value.cc: Likewise. + * testsuite/20_util/add_pointer/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/add_pointer/value.cc: Likewise. + * testsuite/20_util/add_volatile/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/add_volatile/value.cc: Likewise. + * testsuite/20_util/alignment_of/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/alignment_of/requirements/typedefs.cc: Likewise. + * testsuite/20_util/alignment_of/value.cc: Likewise. + * testsuite/20_util/extent/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/extent/requirements/typedefs.cc: Likewise. + * testsuite/20_util/extent/value.cc: Likewise. + * testsuite/20_util/has_virtual_destructor/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/has_virtual_destructor/requirements/ + typedefs.cc: Likewise. + * testsuite/20_util/has_virtual_destructor/value.cc: Likewise. + * testsuite/20_util/is_abstract/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_abstract/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_abstract/value.cc: Likewise. + * testsuite/20_util/is_arithmetic/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/is_arithmetic/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_arithmetic/value.cc: Likewise. + * testsuite/20_util/is_array/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_array/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_array/value.cc: Likewise. + * testsuite/20_util/is_base_of/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_base_of/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_base_of/value.cc: Likewise. + * testsuite/20_util/is_class/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_class/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_class/value.cc: Likewise. + * testsuite/20_util/is_const/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_const/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_const/value.cc: Likewise. + * testsuite/20_util/is_empty/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_empty/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_empty/value.cc: Likewise. + * testsuite/20_util/is_enum/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_enum/requirements/typedefs.cc + * testsuite/20_util/is_enum/value.cc: Likewise. + * testsuite/20_util/is_pointer/requirements/explicit_instantiation.cc + * testsuite/20_util/is_pointer/value.cc: Likewise. + * testsuite/20_util/is_polymorphic/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/is_polymorphic/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_polymorphic/value.cc: Likewise. + * testsuite/20_util/is_same/requirements/explicit_instantiation.cc + * testsuite/20_util/is_same/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_same/value.cc: Likewise. + * testsuite/20_util/is_union/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/is_union/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_union/value.cc: Likewise. + * testsuite/20_util/is_void/requirements/explicit_instantiation.cc + * testsuite/20_util/is_void/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_void/value.cc: Likewise. + * testsuite/20_util/is_volatile/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/is_volatile/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_volatile/value.cc: Likewise. + * testsuite/20_util/rank/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/rank/requirements/typedefs.cc: Likewise. + * testsuite/20_util/rank/value.cc: Likewise. + * testsuite/20_util/remove_all_extents/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/remove_all_extents/value.cc: Likewise. + * testsuite/20_util/remove_const/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/remove_const/value.cc: Likewise. + * testsuite/20_util/remove_cv/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/remove_cv/value.cc: Likewise. + * testsuite/20_util/remove_extent/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/remove_extent/value.cc: Likewise. + * testsuite/20_util/remove_pointer/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/remove_pointer/value.cc: Likewise. + * testsuite/20_util/remove_volatile/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/remove_volatile/value.cc: Likewise. + +2013-12-06 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/util/testsuite_tr1.h (test_category, test_property, + test_relationship): constexpr in c++11 mode. + * testsuite/20_util/add_lvalue_reference/value.cc: Use static_assert + and change to dg-do compile testcase. + * testsuite/20_util/add_rvalue_reference/value.cc: Likewise. + * testsuite/20_util/aligned_storage/value.cc: Likewise. + * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. + * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. + * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. + * testsuite/20_util/is_compound/value.cc: Likewise. + * testsuite/20_util/is_constructible/value.cc: Likewise. + * testsuite/20_util/is_convertible/value.cc: Likewise. + * testsuite/20_util/is_copy_assignable/value.cc: Likewise. + * testsuite/20_util/is_copy_constructible/value.cc: Likewise. + * testsuite/20_util/is_floating_point/value.cc: Likewise. + * testsuite/20_util/is_function/value.cc: Likewise. + * testsuite/20_util/is_fundamental/value.cc: Likewise. + * testsuite/20_util/is_integral/value.cc: Likewise. + * testsuite/20_util/is_literal_type/value.cc: Likewise. + * testsuite/20_util/is_lvalue_reference/value.cc: Likewise. + * testsuite/20_util/is_member_function_pointer/value.cc: Likewise. + * testsuite/20_util/is_member_object_pointer/value.cc: Likewise. + * testsuite/20_util/is_member_pointer/value.cc: Likewise. + * testsuite/20_util/is_move_assignable/value.cc: Likewise. + * testsuite/20_util/is_move_constructible/value.cc: Likewise. + * testsuite/20_util/is_nothrow_assignable/value.cc: Likewise. + * testsuite/20_util/is_nothrow_constructible/value.cc: Likewise. + * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise. + * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise. + * testsuite/20_util/is_nothrow_default_constructible/value.cc: Likewise. + * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise. + * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise. + * testsuite/20_util/is_null_pointer/value.cc: Likewise. + * testsuite/20_util/is_object/value.cc: Likewise. + * testsuite/20_util/is_pod/value.cc: Likewise. + * testsuite/20_util/is_reference/value.cc: Likewise. + * testsuite/20_util/is_rvalue_reference/value.cc: Likewise. + * testsuite/20_util/is_scalar/value.cc: Likewise. + * testsuite/20_util/is_signed/value.cc: Likewise. + * testsuite/20_util/is_standard_layout/value.cc: Likewise. + * testsuite/20_util/is_trivial/value.cc: Likewise. + * testsuite/20_util/is_trivially_destructible/value.cc: Likewise. + * testsuite/20_util/is_unsigned/value.cc: Likewise. + * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. + * testsuite/20_util/remove_reference/value.cc: Likewise. + +2013-12-03 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/std/fstream (basic_filebuf::open): Use preformatted text + for table in Doxygen comment. + +2013-12-03 Tim Shen <timshen91@gmail.com> + + * regex_compiler.h: Add todo comment. + * regex_executor.tcc: Likewise. + +2013-11-29 Matthias Klose <doko@ubuntu.com> + + * testsuite/experimental/string_view/requirements/exception, + testsuite/experimental/string_view/capacity/wchar_t, + testsuite/experimental/string_view/capacity/char: Remove empty dirs. + +2013-11-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * testsuite/ext/random/hypergeometric_distribution/operators/values.cc: + Use dg-require-cmath instead. + + * testsuite/ext/random/hypergeometric_distribution/operators/values.cc + (test01): Wrap in _GLIBCXX_USE_C99_MATH_TR1. + +2013-11-22 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/safe_local_iterator.h (_Safe_local_iterator<>): + Remove _M_bucket, use same information in normal local_iterator. + (operator==): Remove redundant _M_can_compare check. + * include/debug/safe_local_iterator.tcc: Adapt. + * include/debug/unordered_set: Likewise. + * include/debug/unordered_map: Likewise. + +2013-11-22 Jakub Jelinek <jakub@redhat.com> + + * testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add 10. + (check-DEJAGNU): Add normal10, run 28_regex/[ab]* + tests as another separate job. + * testsuite/Makefile.in: Regenerated. + +2013-11-22 Jonathan Wakely <jwakely.gcc@gmail.com> + + * acinclude.m4 (libtool_VERSION): Bump. + * configure: Regenerate. + * doc/xml/manual/abi.xml: Update version information. + + PR libstdc++/59247 + * include/bits/c++config (_GLIBCXX_INLINE_VERSION): Declare namespace + std::experimental::__7 as inline. + * include/bits/regex.h (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Do not + enclose namespace __detail. + * include/bits/regex.tcc (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise. + * include/std/iomanip (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise. + * include/ext/pb_ds/tag_and_trait.hpp (detail): Fix comment. + * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number. + +2013-11-22 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/ext/random/hypergeometric_distribution/operators/ + values.cc: Fix further thinkos. + +2013-11-22 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/ext/random/hypergeometric_distribution/operators/ + values.cc: Fix thinkos. + +2013-11-21 Edward Smith-Rowland <3dw4rd@verizon.net> + + * include/experimental/string_view: Rep empty string with unit-length + static constexpr string. Uncomment _GLIBCXX_VISIBILITY. Enforce + invariant of no nullptr string pointer. + * include/experimental/string_view.tcc: Ditto. + * testsuite/experimental/string_view/cons/char/1.cc: data() for empty + string_view is no longer nullptr. + * testsuite/experimental/string_view/cons/wchar_t/1.cc: Ditto. + * testsuite/experimental/string_view/operations/data/char/1.cc: Ditto. + * testsuite/experimental/string_view/operations/data/wchar_t/1.cc: + Ditto. + +2013-11-21 Edward Smith-Rowland <3dw4rd@verizon.net> + + Implement __gnu_cxx::hypergeometric_distribution. + * include/ext/random: Add hypergeometric_distribution. + * include/ext/random.tcc: Add hypergeometric_distribution. + * testsuite/util/testsuite_random.h (hypergeometric_pdf): New pdf + for the hypergeometric discreet distribution; + (lbincoef): New supporting function for binomial coefficients. + * testsuite/ext/random/hypergeometric_distribution/operators/ + serialize.cc: New. + * testsuite/ext/random/hypergeometric_distribution/operators/ + equal.cc: New. + * testsuite/ext/random/hypergeometric_distribution/operators/ + inequal.cc: New. + * testsuite/ext/random/hypergeometric_distribution/operators/ + values.cc: New. + * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: New. + * testsuite/ext/random/hypergeometric_distribution/cons/default.cc: New. + * testsuite/ext/random/hypergeometric_distribution/requirements/ + explicit_instantiation/1.cc: New. + * testsuite/ext/random/hypergeometric_distribution/requirements/ + typedefs.cc: New. + +2013-11-20 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR c++/59173 + * include/ext/pointer.h (pointer_traits<>::rebind<>): Add template + keyword in nested name. + + PR libstdc++/49204 + * include/std/future (__future_base::_State_base): Rename to + __future_base::_State_baseV2. + (__future_base::_State_baseV2::~_State_baseV2): Define as defaulted. + (__future_base::_State_baseV2::_M_run_deferred): Rename to + _M_complete_async. + (__future_base::_State_baseV2::_M_has_deferred): Add new virtual. + (__future_base::_State_baseV2::wait_for): Call _M_has_deferred() to + test for a deferred function, or call _M_complete_async() to join an + async thread that has made the shared state ready. + (__future_base::_State_baseV2::wait_until): Likewise. + (__future_base::_Async_state_common): Rename to _Async_state_commonV2. + (__future_base::_Async_state_commonV2::_M_run_deferred): Rename to + _M_complete_async. + * src/c++11/compatibility-thread-c++0x.cc (__future_base::_State_base): + Export old definition. + (__future_base::_Async_state_common): Likewise. + * src/c++11/future.cc (__future_base::_State_base::~_State_base): + Remove. + * doc/xml/manual/status_cxx2011.xml: Update status. + * testsuite/30_threads/async/async.cc: Test future_status::timeout + and future_status::ready. + * testsuite/30_threads/async/sync.cc: Test future_status::deferred. + +2013-11-20 David Edelsohn <dje.gcc@gmail.com> + + * testsuite/17_intro/static.cc: Ignore AIX TOC reload warnings. + +2013-11-19 Jonathan Wakely <jwakely.gcc@gmail.com> + + * testsuite/23_containers/forward_list/allocator/noexcept.cc: Change + to compile-only test. Adjust swap overload to handle rebound + allocators. + * testsuite/23_containers/map/allocator/noexcept.cc: Likewise. + * testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise. + * testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise. + * testsuite/23_containers/set/allocator/noexcept.cc: Likewise. + * testsuite/23_containers/unordered_map/allocator/noexcept.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: + Likewise. + * testsuite/23_containers/unordered_set/allocator/noexcept.cc: + Likewise. + * testsuite/23_containers/vector/allocator/noexcept.cc: Likewise. + * testsuite/23_containers/vector/allocator/swap.cc: Add elements + before swapping. + + * config/abi/pre/gnu.ver (_ZNSt11regex_errorC*): Export regex_error + constructors. + * testsuite/20_util/addressof/1.cc: Remove { dg-do compile }. + * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise. + * testsuite/20_util/allocator_traits/members/select.cc: Likewise. Fix + failure. + * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise. + * testsuite/28_regex/init-list.cc: Likewise. + * testsuite/28_regex/regex_error/regex_error.cc: Likewise. + * testsuite/28_regex/sub_match/length.cc: Likewise. Add main. + * testsuite/28_regex/sub_match/cast_char.cc: Likewise. Fix test. + * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise. + * testsuite/tr1/7_regular_expressions/regex/cons/char/ + c_string_extended.cc: Delete. + +2013-11-19 Paolo Carlini <paolo.carlini@oracle.com> + + * include/experimental/string_view (_S_max_size): Remove. + (basic_string_view<>::max_size): Adjust. + * testsuite/experimental/string_view/capacity/1.cc: Clean-up. + * testsuite/experimental/string_view/inserters/pod/10081-out.cc: + Likewise. + +2013-11-19 Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/xml/manual/status_cxx2014.xml: Create new table for TS statuses. + +2013-11-18 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/shared_ptr_base.h (_Sp_counted_base<_S_single>): Use + non-atomic operations. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number. + * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. + +2013-11-16 Edward Smith-Rowland <3dw4rd@verizon.net> + + Implement N3762 string_view: a non-owning reference to a string. + * include/Makefile.am: Add string_view and string_view.tcc. + * include/Makefile.in: Regenerate. + * include/experimental/string_view: Implement basic_string_view. + * include/experimental/string_view.tcc: Implement basic_string_view. + * testsuite/experimental/string_view/capacity/1.cc: New. + * testsuite/experimental/string_view/cons/char/1.cc: New. + * testsuite/experimental/string_view/cons/char/2.cc: New. + * testsuite/experimental/string_view/cons/char/3.cc: New. + * testsuite/experimental/string_view/cons/wchar_t/1.cc: New. + * testsuite/experimental/string_view/cons/wchar_t/2.cc: New. + * testsuite/experimental/string_view/cons/wchar_t/3.cc: New. + * testsuite/experimental/string_view/element_access/char/1.cc: New. + * testsuite/experimental/string_view/element_access/char/2.cc: New. + * testsuite/experimental/string_view/element_access/char/empty.cc: New. + * testsuite/experimental/string_view/element_access/char/front_back.cc: + New. + * testsuite/experimental/string_view/element_access/wchar_t/1.cc: New. + * testsuite/experimental/string_view/element_access/wchar_t/2.cc: New. + * testsuite/experimental/string_view/element_access/wchar_t/empty.cc: + New. + * testsuite/experimental/string_view/element_access/wchar_t/ + front_back.cc: New. + * testsuite/experimental/string_view/include.cc: New. + * testsuite/experimental/string_view/inserters/char/1.cc: New. + * testsuite/experimental/string_view/inserters/char/2.cc: New. + * testsuite/experimental/string_view/inserters/char/3.cc: New. + * testsuite/experimental/string_view/inserters/pod/10081-out.cc: New. + * testsuite/experimental/string_view/inserters/wchar_t/1.cc: New. + * testsuite/experimental/string_view/inserters/wchar_t/2.cc: New. + * testsuite/experimental/string_view/inserters/wchar_t/3.cc: New. + * testsuite/experimental/string_view/literals/types.cc: New. + * testsuite/experimental/string_view/literals/values.cc: New. + * testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc: + New. + * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/ + 1.cc: New. + * testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc: + New. + * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/ + 1.cc: New. + * testsuite/experimental/string_view/operations/compare/char/1.cc: New. + * testsuite/experimental/string_view/operations/compare/char/13650.cc: + New. + * testsuite/experimental/string_view/operations/compare/wchar_t/1.cc: + New. + * testsuite/experimental/string_view/operations/compare/wchar_t/ + 13650.cc: New. + * testsuite/experimental/string_view/operations/data/char/1.cc: New. + * testsuite/experimental/string_view/operations/data/wchar_t/1.cc: New. + * testsuite/experimental/string_view/operations/find/char/1.cc: New. + * testsuite/experimental/string_view/operations/find/char/2.cc: New. + * testsuite/experimental/string_view/operations/find/char/3.cc: New. + * testsuite/experimental/string_view/operations/find/char/4.cc: New. + * testsuite/experimental/string_view/operations/find/wchar_t/1.cc: New. + * testsuite/experimental/string_view/operations/find/wchar_t/2.cc: New. + * testsuite/experimental/string_view/operations/find/wchar_t/3.cc: New. + * testsuite/experimental/string_view/operations/find/wchar_t/4.cc: New. + * testsuite/experimental/string_view/operations/rfind/char/1.cc: New. + * testsuite/experimental/string_view/operations/rfind/char/2.cc: New. + * testsuite/experimental/string_view/operations/rfind/char/3.cc: New. + * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc: New. + * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc: New. + * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc: New. + * testsuite/experimental/string_view/operations/substr/char/1.cc: New. + * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc: + New. + * testsuite/experimental/string_view/operators/char/2.cc: New. + * testsuite/experimental/string_view/operators/wchar_t/2.cc: New. + * testsuite/experimental/string_view/range_access/char/1.cc: New. + * testsuite/experimental/string_view/range_access/wchar_t/1.cc: New. + * testsuite/experimental/string_view/requirements/ + explicit_instantiation/1.cc: New. + * testsuite/experimental/string_view/requirements/ + explicit_instantiation/char/1.cc: New. + * testsuite/experimental/string_view/requirements/ + explicit_instantiation/char16_t/1.cc: New. + * testsuite/experimental/string_view/requirements/ + explicit_instantiation/char32_t/1.cc: New. + * testsuite/experimental/string_view/requirements/ + explicit_instantiation/wchar_t/1.cc: New. + * testsuite/experimental/string_view/requirements/typedefs.cc: New. + * testsuite/experimental/string_view/types/1.cc: New. + +2013-11-16 François Dumont <fdumont@gcc.gnu.org> + + * testsuite/23_containers/unordered_set/55043.cc (equal): Add + missing & on rhs parameter. + +2013-11-15 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/stl_bvector.h (vector<bool>::emplace_back()): LWG 2187: + Define. + (vector<bool>::emplace()): Likewise. + * testsuite/23_containers/vector/bool/emplace.cc: New. + +2013-11-15 Ondřej Bílka <neleai@seznam.cz> + Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/xml/manual/build_hacking.xml: Fix documentation typos. + * doc/xml/manual/configure.xml: Likewise. + * include/bits/atomic_base.h: Fix typos in comments. + * include/bits/random.h: Likewise. + * include/ext/cast.h: Likewise. + * libsupc++/cxxabi.h: Likewise. + * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise. + * testsuite/tr1/5_numerical_facilities/special_functions/testcase.h: + Likewise. + * testsuite/util/exception/safety.h: Likewise. + * testsuite/util/testsuite_containers.h: Likewise. + * testsuite/util/testsuite_hooks.cc: Likewise. + +2013-11-15 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/stl_map.h (map): Implement C++11 allocator-aware + container requirements. + * include/bits/stl_multimap.h (multimap): Likewise. + * include/bits/stl_multiset.h (multiset): Likewise. + * include/bits/stl_set.h (set): Likewise. + * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_buffer and + add accessors for value. + (_Rb_tree_iterator, _Rb_tree_const_iterator): Use _Rb_tree_node + accessors. + (_Rb_tree): Use allocator_traits and implement support for sets and + maps the be allocator-aware. + * include/bits/forward_list.h (_Fwd_list_base::_M_create_node): Do + not zero-initialize storage buffer. + * include/bits/hashtable_policy.h (_Hashtable_alloc::_M_allocate_node): + Likewise. + * include/bits/stl_vector.h (vector(vector&&, const allocator_type&)): + Add conditional noexcept specification. + * doc/xml/manual/status_cxx2011.xml: Update status of containers. + * testsuite/util/testsuite_allocator.h: Re-indent. + * testsuite/23_containers/forward_list/allocator/copy.cc: Test + allocator-extended copy constructor. + * testsuite/23_containers/unordered_map/allocator/copy.cc: Likewise. + * testsuite/23_containers/unordered_multimap/allocator/copy.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/allocator/copy.cc: + Likewise. + * testsuite/23_containers/unordered_set/allocator/copy.cc: Likewise. + * testsuite/23_containers/vector/allocator/copy.cc: Likewise. + * testsuite/23_containers/forward_list/allocator/move.cc: New. + * testsuite/23_containers/unordered_map/allocator/move.cc: New. + * testsuite/23_containers/unordered_multimap/allocator/move.cc: New. + * testsuite/23_containers/unordered_multiset/allocator/move.cc: New. + * testsuite/23_containers/unordered_set/allocator/move.cc: New. + * testsuite/23_containers/vector/allocator/move.cc: New. + * testsuite/23_containers/map/allocator/copy.cc: New. + * testsuite/23_containers/map/allocator/copy_assign.cc: New. + * testsuite/23_containers/map/allocator/minimal.cc: New. + * testsuite/23_containers/map/allocator/move.cc: New. + * testsuite/23_containers/map/allocator/move_assign.cc: New. + * testsuite/23_containers/map/allocator/noexcept.cc: New. + * testsuite/23_containers/map/allocator/swap.cc: New. + * testsuite/23_containers/multimap/allocator/copy.cc: New. + * testsuite/23_containers/multimap/allocator/copy_assign.cc: New. + * testsuite/23_containers/multimap/allocator/minimal.cc: New. + * testsuite/23_containers/multimap/allocator/move.cc: New. + * testsuite/23_containers/multimap/allocator/move_assign.cc: New. + * testsuite/23_containers/multimap/allocator/noexcept.cc: New. + * testsuite/23_containers/multimap/allocator/swap.cc: New. + * testsuite/23_containers/multiset/allocator/copy.cc: New. + * testsuite/23_containers/multiset/allocator/copy_assign.cc: New. + * testsuite/23_containers/multiset/allocator/minimal.cc: New. + * testsuite/23_containers/multiset/allocator/move.cc: New. + * testsuite/23_containers/multiset/allocator/move_assign.cc: New. + * testsuite/23_containers/multiset/allocator/noexcept.cc: New. + * testsuite/23_containers/multiset/allocator/swap.cc: New. + * testsuite/23_containers/set/allocator/copy.cc: New. + * testsuite/23_containers/set/allocator/copy_assign.cc: New. + * testsuite/23_containers/set/allocator/minimal.cc: New. + * testsuite/23_containers/set/allocator/move.cc: New. + * testsuite/23_containers/set/allocator/move_assign.cc: New. + * testsuite/23_containers/set/allocator/noexcept.cc: New. + * testsuite/23_containers/set/allocator/swap.cc: New. + * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: + Adjust dg-error line number. + * testsuite/23_containers/vector/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: + Likewise. + +2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + * scripts/extract_symvers.in: Ignore <localentry: > fields + in readelf --symbols output. + +2013-11-14 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/alloc_traits.h (__allow_copy_cons): Remove. + (__check_copy_constructible): Likewise. + * include/bits/unordered_map.h (unordered_map, unordered_multimap): + Do not derive from __check_copy_constructible. + * include/bits/unordered_set.h (unordered_set, unordered_multiset): + Likewise. + * testsuite/23_containers/unordered_map/55043.cc: It is no longer + necessary for is_copy_constructible to be correct to use nested + unordered containers. + * testsuite/23_containers/unordered_multimap/55043.cc: Likewise. + * testsuite/23_containers/unordered_set/55043.cc: Likewise. + * testsuite/23_containers/unordered_multiset/55043.cc: Likewise. + +2013-11-13 Marc Glisse <marc.glisse@inria.fr> + + PR libstdc++/59087 + * include/ext/pod_char_traits.h: Uglify V, I and S. + +2013-11-11 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/54562 + * include/std/mutex (__timed_mutex_impl::__clock_t): Use + high_resolution_clock for absolute timeouts, because + pthread_mutex_timedlock uses CLOCK_REALTIME not CLOCK_MONOTONIC. + (__timed_mutex_impl::_M_try_lock_for): Use steady_clock for relative + timeouts as per [thread.req.timing]. + (__timed_mutex_impl::_M_try_lock_until<Clock,Duration>): Convert to + __clock_t time point instead of using _M_try_lock_for. + +2013-11-09 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/58982 + * include/bits/stl_algobase.h (__copy_move::__copy_m): Use assertion + to prevent using memmove() on non-assignable types. + (__copy_move_backward::__copy_move_b): Likewise. + * include/bits/stl_uninitialized.h (uninitialized_copy + uninitialized_copy_n, uninitialized_fill, uninitialized_fill_n, + __uninitialized_default, __uninitialized_default_n): Check for + assignable as well as trivial. + * testsuite/20_util/specialized_algorithms/uninitialized_copy/ + 58982.cc: New. + * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/ + 58982.cc: New. + * testsuite/20_util/specialized_algorithms/uninitialized_fill/ + 58982.cc: New. + * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/ + 58982.cc: New. + * testsuite/25_algorithms/copy/58982.cc: New. + * testsuite/25_algorithms/copy_n/58982.cc: New. + +2013-11-08 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/safe_iterator.h (_BeforeBeginHelper<>::_S_Is): + Take only a const safe iterator reference. + (_BeforeBeginHelper<>::_S_Is_beginnest): Likewise. + (__get_distance): Take only one type of iterator. + (_Safe_iterator<>::_M_valid_range<>): Not template anymore. + (_Safe_iterator<>::_M_get_sequence()): Return pointer to const + sequence from a const_iterator and a pointer to sequence from an + iterator. + * include/debug/safe_iterator.tcc: Adapt. + * include/debug/safe_local_iterator.h + (_Safe_local_iterator<>::_M_valid_range<>): Not template anymore. + (_Safe_local_iterator<>::_M_get_sequence()): Return pointer to + const sequence from a const_iterator and a pointer to sequence + from an iterator. + * include/debug/safe_local_iterator.tcc: Adapt. + * include/debug/forward_list + (_BeforeBeginHelper<std::__debug::forward_list<>>): Adapt. + +2013-11-08 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/regex_automaton.h (__detail::_State): Split + non-dependent parts into new _State_base. + (__detail::_NFA): Likewise for _NFA_base. Use std::move() to avoid + copies when inserting _MatcherT and _StateT objects. + * include/bits/regex_automaton.tcc: Move member definitions to base + class. Qualify dependent names. + * include/bits/regex_compiler.h (__detail::_Compiler::_M_get_nfa): Make + non-const and use std::move to avoid copying. + * include/bits/regex_compiler.tcc: Likewise. + * include/bits/regex_executor.h (__detail::_Executor::_M_is_word): Use + array, so past-the-end iterator is valid. + + * include/bits/regex_automaton.h (__detail::_State, __detail::_NFA, + __detail::_StateSeq): Remove redundant _CharT template parameters. + * include/bits/regex_automaton.tcc: Likewise. + * include/bits/regex_compiler.h (__detail::_Compiler): Likewise. + (__compile_nfa): Add object generator for _Compiler. + * include/bits/regex_compiler.tcc: Remove _CharT template parameters. + * include/bits/regex_executor.h: Likewise. + * include/bits/regex_executor.tcc: Likewise. + * include/bits/regex.h (basic_regex): Assert char_type matches. Use + __compile_nfa object generator. Remove _CharT template parameter. + + * include/bits/regex_compiler.h (__detail::_AnyMatcher, + __detail::_CharMatcher, __detail::_BracketMatcher): Remove redundant + _CharT template parameters. + * include/bits/regex_compiler.tcc: Likewise. + + * include/bits/regex_compiler.h (__detail::__compile_nfa): Overload + so that std::basic_string<C> and std::vector<C> iterators dispatch to + the const C* compiler. + + * include/bits/regex_compiler.h (__detail::__has_contiguous_iter): + vector<bool> storage is not contiguous. + +2013-11-06 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/regex_automaton.h (_S_opcode_word_boundry): Rename to + _S_opcode_word_boundary. + * include/bits/regex_automaton.tcc: Likewise. + * include/bits/regex_executor.h (__detail::_Executor::_M_word_boundry): + Rename to _M_word_boundary. + * include/bits/regex_executor.tcc: Likewise. + +2013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com> + + N3655 C++1y TransformationTraits Redux + * include/std/type_traits (remove_const_t, remove_volatile_t, + remove_cv_t, add_const_t, add_volatile_t, add_cv_t, remove_reference_t, + add_lvalue_reference_t, add_rvalue_reference_t, make_signed_t, + make_unsigned_t, remove_extent_t, remove_all_extents_t, + remove_pointer_t, add_pointer_t, aligned_storage_t, decay_t, + enable_if_t, conditional_t, common_type_t, underlying_type_t, + result_of_t): Define. + * doc/xml/manual/status_cxx2014.xml: Update. + * testsuite/20_util/add_lvalue_reference/requirements/typedefs-3.cc: + New. + * testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc: + New. + * testsuite/20_util/common_type/requirements/typedefs-3.cc: New. + * testsuite/20_util/conditional/requirements/typedefs-2.cc: New. + * testsuite/20_util/decay/requirements/typedefs-2.cc: New. + * testsuite/20_util/enable_if/requirements/typedefs-2.cc: New. + * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New. + * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New. + * testsuite/20_util/remove_reference/requirements/typedefs.cc: New. + * testsuite/20_util/result_of/requirements/typedefs.cc: New. + * testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New. + * testsuite/20_util/common_type/requirements/typedefs-2.cc: Change to + compile-only test. + * testsuite/20_util/decay/requirements/typedefs.cc: Likewise. + * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise. + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error + line number. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + +2013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/xml/manual/status_cxx2011.xml: Document aligned_union as + missing. + +2013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com> + Paolo Carlini <paolo.carlini@oracle.com> + + * include/experimental/optional: Use __and_<> and __not_<> in + conditions. Style fixes. + (__constexpr_addressof, swap): Make inline. + * testsuite/experimental/optional/cons/copy.cc: Adjust constants for + 32-bit targets. + * testsuite/experimental/optional/cons/move.cc: Likewise. + * testsuite/experimental/optional/cons/value.cc: Likewise. + * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise. + +2013-11-01 Michael Brune <lucdanton@free.fr> + + * include/bits/enable_special_members.h: New. + * include/experimental/optional: New. + * include/Makefile.am: Handle include/experimental. + * include/Makefile.in: Regenerate. + * testsuite/libstdc++-dg/conformance.exp: Run tests from + testsuite/experimental sub-directory. + * testsuite/experimental/optional/assignment/1.cc: New. + * testsuite/experimental/optional/assignment/2.cc: New. + * testsuite/experimental/optional/assignment/3.cc: New. + * testsuite/experimental/optional/assignment/4.cc: New. + * testsuite/experimental/optional/assignment/5.cc: New. + * testsuite/experimental/optional/assignment/6.cc: New. + * testsuite/experimental/optional/cons/copy.cc: New. + * testsuite/experimental/optional/cons/default.cc: New. + * testsuite/experimental/optional/cons/move.cc: New. + * testsuite/experimental/optional/cons/value.cc: New. + * testsuite/experimental/optional/constexpr/cons/default.cc: New. + * testsuite/experimental/optional/constexpr/cons/value.cc: New. + * testsuite/experimental/optional/constexpr/in_place.cc: New. + * testsuite/experimental/optional/constexpr/make_optional.cc: New. + * testsuite/experimental/optional/constexpr/nullopt.cc: New. + * testsuite/experimental/optional/constexpr/observers/1.cc: New. + * testsuite/experimental/optional/constexpr/observers/2.cc: New. + * testsuite/experimental/optional/constexpr/observers/3.cc: New. + * testsuite/experimental/optional/constexpr/observers/4.cc: New. + * testsuite/experimental/optional/constexpr/observers/5.cc: New. + * testsuite/experimental/optional/constexpr/relops/1.cc: New. + * testsuite/experimental/optional/constexpr/relops/2.cc: New. + * testsuite/experimental/optional/constexpr/relops/3.cc: New. + * testsuite/experimental/optional/constexpr/relops/4.cc: New. + * testsuite/experimental/optional/constexpr/relops/5.cc: New. + * testsuite/experimental/optional/constexpr/relops/6.cc: New. + * testsuite/experimental/optional/in_place.cc: New. + * testsuite/experimental/optional/make_optional.cc: New. + * testsuite/experimental/optional/nullopt.cc: New. + * testsuite/experimental/optional/observers/1.cc: New. + * testsuite/experimental/optional/observers/2.cc: New. + * testsuite/experimental/optional/observers/3.cc: New. + * testsuite/experimental/optional/observers/4.cc: New. + * testsuite/experimental/optional/observers/5.cc: New. + * testsuite/experimental/optional/relops/1.cc: New. + * testsuite/experimental/optional/relops/2.cc: New. + * testsuite/experimental/optional/relops/3.cc: New. + * testsuite/experimental/optional/relops/4.cc: New. + * testsuite/experimental/optional/relops/5.cc: New. + * testsuite/experimental/optional/relops/6.cc: New. + * testsuite/experimental/optional/requirements.cc: New. + * testsuite/experimental/optional/swap/1.cc: New. + +2013-11-01 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/stl_function.h (logical_not<void>): Add noexcept. + +2013-11-01 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/58952 + * include/c_global/cstdio: Undef getchar. + +2013-11-01 Jonathan Wakely <jwakely.gcc@gmail.com> + + N3421 C++1y Transparent functors + * include/bits/stl_function.h (plus<void>, minus<void>, + multiplies<void>, divides<void>, modulus<void>, negate<void>, + equal_to<void>, not_equal_to<void>, greater<void>, less<void>, + greater_equal<void>, less_equal<void>, logical_and<void>, + logical_or<void>, logical_not<void>, bit_and<void>, bit_or<void>, + bit_xor<void>, bit_not<void>): Define. + * doc/xml/manual/status_cxx2014.xml: Update. + * testsuite/20_util/function_objects/comparisons_void.cc: New. + +2013-10-31 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/std/tuple (_Index_tuple, _Build_index_tuple): Move to + <utility>. + * include/std/utility (integer_sequence, make_integer_sequence, + index_sequence, make_index_sequence, index_sequence_for): Define. + * doc/xml/manual/status_cxx2014.xml: Update. + * testsuite/20_util/integer_sequence/intseq.cc: New. + * testsuite/20_util/integer_sequence/requirements/typedefs.cc: New. + +2013-10-31 Steve Ellcey <sellcey@mips.com> + + * configure.ac: Add header checks for fenv.h and complex.h. + * configure: Regenerate. + +2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net> + + Implement C++14 digit separators. + * include/include/bits/parse_numbers.h: Change struct _Digit<_Base, '`'> + to struct _Digit<_Base, '\''>. + +2013-10-31 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/20_util/default_delete/48631_neg.cc: Tweak dg-prune. + +2013-10-30 Jonathan Wakely <jwakely.gcc@gmail.com> + + * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Fix + and enable VERIFY tests. + +2013-10-30 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/shared_ptr (__shared_ptr): Assert non-void pointer. + * include/bits/shared_ptr (default_delete): Likewise. + * testsuite/20_util/shared_ptr/cons/58839.cc: Do not use + default_delete<void>. + * testsuite/20_util/shared_ptr/cons/void_neg.cc: New. + * testsuite/20_util/default_delete/void_neg.cc: New. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers. + * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise. + +2013-10-29 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/58839 + * include/bits/shared_ptr_base.h + (__shared_ptr<T>::__shared_ptr(unique_ptr<U,D>&&)): Only use addressof + when unique_ptr<U,D>::pointer is not a built-in pointer type. + * testsuite/20_util/shared_ptr/cons/58839.cc: New. + * testsuite/20_util/enable_shared_from_this/members/assign.cc: New. + * testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: New. + +2013-10-29 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/hashtable.cc (__access_protected_ctor): Define and use + new type instead of _Hashtable_ebo_helper. + * testsuite/23_containers/unordered_set/ + not_default_constructible_hash_neg.cc: Adjust line number. + +2013-10-28 Tim Shen <timshen91@gmail.com> + + * regex_executor.tcc: Add comments. + +2013-10-26 Tim Shen <timshen91@gmail.com> + + * include/bits/regex.h: Remove unnecessary friends. + * include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor + to here. + * include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor; + they are merged into _Executor. Eliminate quantifier tracking part, so + it's faster. + * include/bits/regex_executor.tcc: Implement _Executor. + * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: New. + * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Adjust + duplicate testcases. + * testsuite/performance/28_regex/split.h: New. + * testsuite/performance/28_regex/split_bfs.cc: New. + * testsuite/util/testsuite_regex.h: Adjust behavior of two-executors + agreement judger: do not compare match_results when executor return + false. + +2013-10-25 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/formatter.h (__check_singular): Add const on + iterator reference. + * include/debug/functions.h (__check_singular): Likewise. + (__check_singular(const _Safe_iterator<_Ite, _Seq>&)): Delete. + (__check_dereferenceable(const _Ite&)): Add const on iterator + reference. + (__check_dereferenceable(const _Safe_local_iterator<>&)): New. + * include/debug/safe_iterator.h (__check_singular_aux): Review + comment. + * testsuite/23_containers/vector/debug/debug_functions.cc: New. + * testsuite/23_containers/unordered_set/debug/debug_functions.cc: + New. + +2013-10-23 Chris Jefferson <chris@bubblescope.net> + Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/util/testsuite_containergen.h: New. + * testsuite/util/testsuite_iterators.h (test_container<>::val): Add. + * testsuite/25_algorithms/nth_element/random_test.cc: New, use the + above. + * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise. + * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise. + * testsuite/25_algorithms/sort/random_test.cc: Likewise. + +2013-10-23 Jason Merrill <jason@redhat.com> + + * include/bits/hashtable.h (_Hashtable): Force EBO for _Hash_code_base. + +2013-10-23 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/58850 + * include/std/chrono (minutes, hours): Change typedefs to uniformly + use int64_t. + * testsuite/20_util/duration/arithmetic/58850.cc: New. + +2013-10-23 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/decimal/pr58815.cc: Fix thinko. + +2013-10-23 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/58815 + * include/decimal/decimal (decimal32::operator long long(), + decimal64::operator long long(), decimal128::operator long long()): + Add in c++11 mode per n3407. + * testsuite/decimal/pr58815.cc: New. + +2013-10-22 Edward Smith-Rowland <3dw4rd@verizon.net> + + * include/bits/basic_string.h (operator""s): Remove space between quotes + and literal identifier. + * include/std/chrono (operator""h, operator""min, operator""s, + operator""ms, operator""us, operator""ns): Ditto. + +2013-10-22 Ed Smith-Rowland <3dw4rd@verizon.net> + + Implement N3779 - User-defined Literals for std::complex, + part 2 of UDL for Standard Library Types + * include/std/complex: Add complex literal operators. + * testsuite/26_numerics/complex/literals/types.cc: New. + * testsuite/26_numerics/complex/literals/values.cc: New. + +2013-10-21 Edward Smith-Rowland <3dw4rd@verizon.net> + + PR libstdc++/58804 + PR libstdc++/58729 + * include/tr2/dynamic_bitset + (__dynamic_bitset_base<_WordT, _Alloc>::_M_are_all_aux, + __dynamic_bitset_base<_WordT, _Alloc>::_M_do_count): + Use __builtin_popcountll() instead of __builtin_popcountl(). + * include/tr2/dynamic_bitset.tcc + (__dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_first, + __dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_next): + Use __builtin_ctzll() instead of __builtin_ctzl(). + +2013-10-20 Tim Shen <timshen91@gmail.com> + + * include/bits/regex.h: Remove virtual class _Automaton. + * include/bits/regex_automaton.h: Likewise. + * include/bits/regex.tcc: Adjust comment for policy changing. + * include/bits/regex_executor.h: Update comments of complexity. + * include/bits/regex_executor.tcc: Adjust executor choosing + policy. Now DFS executor is the default one. + * testsuite/util/testsuite_regex.h (regex_match_debug, + regex_search_debug): Adjust for policy changing. + +2013-10-20 Chris Jefferson <chris@bubblescope.net> + Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/58800 + * include/bits/stl_algo.h (__unguarded_partition_pivot): Change + __last - 2 to __last - 1. + * testsuite/25_algorithms/nth_element/58800.cc: New + +2013-10-18 Edward Smith-Rowland <3dw4rd@verizon.net> + + PR libstdc++/58729 + * include/tr2/dynamic_bitset (_M_resize, resize): Use input value + to set bits; (_M_do_left_shift, _M_do_right_shift, _M_do_to_ulong, + _M_do_to_ullong, _M_do_find_first, _M_do_find_next, _M_copy_from_ptr, + operator>>): Move long methods outline to... + * include/tr2/dynamic_bitset.tcc: New. + * include/Makefile.am: Add dynamic_bitset.tcc. + * include/Makefile.in: Add dynamic_bitset.tcc. + * testsuite/tr2/dynamic_bitset/pr58729.cc: New. + +2013-10-18 Tim Shen <timshen91@gmail.com> + + * include/bits/regex_scanner.tcc: (_Scanner<>::_M_scan_normal, + _Scanner<>::_M_eat_escape_ecma, _Scanner<>::_M_eat_escape_posix, + _Scanner<>::_M_eat_escape_awk): Narrow character before finding in maps. + * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc: + New. + +2013-10-17 Tim Shen <timshen91@gmail.com> + + * include/bits/regex.h (regex_token_iterator<>::regex_token_iterator): + Fix initialization orders in initialization list and add explicit braces + for potentially ambiguous(actually not) `else` branch to eliminate + warnings. + * include/bits/regex_automaton.h (_NFA<>::_NFA): Likewise. + * include/bits/regex_compiler.h (_CharMatcher<>::_CharMatcher, + _BracketMatcher<>::_BracketMatcher): Likewise. + * include/bits/regex_compiler.tcc (_Compiler<>::_Compiler, + _Compiler<>::_M_atom): Likewise. + * include/bits/regex_executor.h (_Executor<>::_Executor): Likewise. + * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs, + _Executor<>::_M_word_boundry): Likewise. + * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner, + _Scanner<>::_M_eat_class): Likewise. + * include/bits/regex.tcc (__regex_algo_impl<>, + regex_iterator<>::operator++): Likewise, and remove unused typedef. + +2013-10-16 Tim Shen <timshen91@gmail.com> + + * include/bits/regex.h (regex_token_iterator<>::regex_token_iterator): + Add initialization for _M_has_m1. + * include/bits/regex.tcc (regex_token_iterator<>::operator=): Add return + statment. + +2013-10-15 Diego Novillo <dnovillo@google.com> + + * testsuite/20_util/exchange/1.cc: Add missing function + bodies. + +2013-10-15 Tim Shen <timshen91@gmail.com> + + PR libstdc++/58737 + * include/bits/regex_automaton.h (_Automaton<>::~_Automaton): Fix memory + leak by adding it. + * include/bits/regex_executor.h (_Executor<>::~_Executor): Likewise. + +2013-10-11 H.J. Lu <hongjiu.lu@intel.com> + + * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. + +2013-10-10 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * testsuite/29_atomics/atomic/cons/49445.cc + (dg-require-atomic-builtins): Add. + +2013-10-09 Jonathan Wakely <jwakely.gcc@gmail.com> + + * testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of + aborting. + +2013-10-09 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * testsuite/20_util/shared_ptr/cons/58659.cc: Use __builtin_abort(). + +2013-10-08 Jonathan Wakely <jwakely.gcc@gmail.com> + + * testsuite/*: Remove stray semi-colons after function definitions. + +2013-10-08 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/58659 + * include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)): + Delegate to constructor taking allocator. + (__shared_count::_S_create_from_up): Inline into ... + (__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use + std::conditional instead of constrained overloads. Allocate memory + using the allocator type that will be used for deallocation. + * testsuite/20_util/shared_ptr/cons/58659.cc: New. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust. + +2013-10-08 Tim Shen <timshen91@gmail.com> + + * include/bits/regex_executor.h: Add _TodoList class. + * include/bits/regex_executor.tcc (_BFSExecutor<>::_M_main): Add + _M_match_stack and _M_stack to make everything faster. Break if + _M_stack is empty, to reduce unnecessary idling. + * testsuite/performance/28_regex/split.cc: New. + +2013-10-06 Tim Shen <timshen91@gmail.com> + + * include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator): + Fix compile error. + * include/bits/regex.tcc: (regex_replace<>): Remove default parameter. + +2013-10-06 Tim Shen <timshen91@gmail.com> + + * include/bits/regex.h (__regex_algo_impl<>, regex_match<>, + regex_search<>): New abstract function for regex_match and regex_search. + * include/bits/regex.tcc (__regex_algo_impl<>): Implement. + * include/bits/regex_executor.h + (_Executor<>::_M_lookahead, + _DFSExecutor<>::_M_clone, + _BFSExecutor<>::_M_clone): Let _M_clone to choose which executor to + use. + * include/bits/regex_executor.tcc (__get_executor<>): Update the + definition to support __policy. + * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Use + *_debug. + * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Same. + * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Same. + * testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc: + Same. + * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc: + Same. + * testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc: + Same. + * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Same. + * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Same. + * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Same. + * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc: + Same. + * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same. + * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc: + Same. + * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc: + Same. + * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same. + * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc: + Same. + * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc: + Same. + * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Same. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_bracket_01.cc: Same. + * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc: + Same. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_questionmark.cc: Same. + * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc: + Same. + * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc: + Same. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_dispatch_01.cc: Same. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_range_00_03.cc: Same. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_range_01_03.cc: Same. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_range_02_03.cc: Same. + * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc: + Same. + * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Same. + * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Same. + * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Same. + * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Same. + * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Same. + * testsuite/28_regex/match_results/format.cc: Same. + * testsuite/util/testsuite_regex.h + (regex_match_debug<>, regex_search_debug<>): Implement. + +2013-10-06 Oleg Endo <olegendo@gcc.gnu.org> + Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/58625 + * include/c_global/cmath (signbit): Use __builtin_signbitf and + __builtin_signbitl. + +2013-10-03 Tim Shen <timshen91@gmail.com> + + * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong + backup variable initialization. + +2013-10-03 John Woolverton <jdwoolverton@gmail.com> + + PR libstdc++/58604 + * include/std/vector: Fix garbled line in HP Copyright. + +2013-10-03 Marc Glisse <marc.glisse@inria.fr> + + * libsupc++/del_op.cc (operator delete): Don't test for 0 before free. + * libsupc++/del_opnt.cc (free): Only declare if freestanding. + (operator delete): Qualify free with std::. + +2013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com> + Daniel Krugler <daniel.kruegler@gmail.com> + + PR libstdc++/58569 + * include/std/functional (function::_CheckResult): Move to namespace + scope and rename to __check_func_return_type. + * testsuite/20_util/function/58569.cc: New. + +2013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/58594 + * include/bits/shared_ptr_base.h + (_Sp_counted_ptr_inplace::_M_get_deleter()): Cast away cv-quals. + * testsuite/20_util/shared_ptr/creation/58594.cc: New. + +2013-10-02 Tim Shen <timshen91@gmail.com> + + * include/bits/regex_compiler.h + (_BracketMatcher<>::_M_add_equivalence_class): Implement it correctly. + * include/bits/regex_compiler.tcc (_BracketMatcher<>::operator()): + Add _M_equiv_set support. + * testsuite/28_regex/algorithms/regex_match/extended/ + cstring_bracket_01.cc: Add new "[[=a=]]" testcase. + +2013-10-01 Tim Shen <timshen91@gmail.com> + + * doc/xml/manual/status_cxx2011.xml: Change "is not implemented" to + "is not correctly implemented". + +2013-10-01 Tim Shen <timshen91@gmail.com> + + * doc/xml/manual/status_cxx2011.xml: Update regex status. + * include/bits/regex.h (match_results<>::begin, + match_results<>::cbegin, match_results<>::end, match_results<>::cend): + [28.10.3.13], [28.10.3.14] Always iterate the range [0, size()-2). + +2013-10-01 François Dumont <fdumont@gcc.gnu.org> + + * include/parallel/algobase.h (mismatch, equal): Provide parallel + version for N3671 overloads. + +2013-10-01 Paul Pluzhnikov <ppluzhnikov@google.com> + + * src/c++11/snprintf_lite.cc: Add missing + _GLIBCXX_{BEGIN,END}_NAMESPACE_VERSION + +2013-10-01 Joern Rennecke <joern.rennecke@embecosm.com> + + * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Also check for + _Unwind_SjLj_Register when deciding if to set enable_sjlj_exceptions. + * configure: Regenerate. + +2013-10-01 Tim Shen <timshen91@gmail.com> + + PR libstdc++/58576 + * include/bits/regex_automaton.tcc (_NFA<>::_M_eliminate_dummy) + (_StateSeq<>::_M_clone): Add _S_opcode_subexpr_lookahead branch. + * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: New. + +2013-09-30 Paolo Carlini <paolo.carlini@oracle.com> + + * include/parallel/algo.h (__find_switch): Use __binder2nd. + +2013-09-30 Chris Jefferson <chris@bubblescope.net> + + PR libstdc++/58437 + * include/bits/stl_algo.h (__move_median_first): Rename to + __move_median_to_first, change to take an addition argument. + (__unguarded_partition_pivot): Adjust. + * testsuite/performance/25_algorithms/sort.cc: New. + * testsuite/performance/25_algorithms/sort_heap.cc: Likewise. + * testsuite/performance/25_algorithms/stable_sort.cc: Likewise. + +2013-09-28 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare + inline. + (rotate_copy, stable_partition, partial_sort_copy): Likewise. + (lower_bound, upper_bound, equal_range, inplace_merge): Likewise. + (includes, next_permutation, prev_permutation): Likewise. + (replace_copy, replace_copy_if, is_sorted_until): Likewise. + (minmax_element, is_permutation, adjacent_find): Likewise. + (count, count_if, search, search_n, merge): Likewise. + (set_intersection, set_difference): Likewise. + (set_symmetric_difference, min_element, max_element): Likewise. + * include/bits/stl_algobase.h (lower_bound): Likewise. + (lexicographical_compare, mismatch): Likewise. + +2013-09-28 Tim Shen <timshen91@gmail.com> + + * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix): + Let ordinary char escaping in POSIX be valid. + * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this + change. + +2013-09-27 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/predefined_ops.h: New. + * include/bits/stl_heap.h: Include <bits/predefined_ops.h>. + (__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove + algo duplication. + (__is_heap): Adapt. + (__make_heap): New. + (make_heap): Adapt to use latter. + (__sort_heap): New. + (sort_heap): Adapt to use latter. + * include/bits/algobase.h: Include <bits/predefined_ops.h>. + (__lexicographical_compare_impl): New. + (__lexicographical_compare<false>::__lc): Adapt to use latter. + (lexicographical_compare): Likewise. + (__lower_bound): New. + (lower_bound): Adapt to use latter. + (equal): Use _GLIBCXX_STD_A::equal in N3671 overloads. + (__mismatch): New. + (mismatch): Use latter. + * include/bits/algo.h: Include <bits/predefined_ops.h>. Remove + <functional> include. + (__move_median_first, __find, __find_if, __find_if_not): Remove + algo duplication. + (__find_end): Likewise. + (__search_n): Rename into ... + (__search_n_aux): ... this. + (__search_n): Renew, use latter. + (search_n): Use latter. + (__search): New. + (search): Use latter. + (__find_end): Likewise. + (__remove_copy_if): New. + (remove_copy): Use latter. + (__adjacent_find): New. + (adjacent_find): Use latter. + (__unique): New. + (unique): Use latter. + (__unique_copy): Remove algo duplication. + (__stable_partition): New. + (stable_partition): Use latter. + (__heap_select): Remove algo duplication, use __make_heap. + (__partial_sort): New, use latter. + (partial_sort): Use latter. + (__partial_sort_copy): New. + (partial_sort_copy): Use latter. + (__unguarded_linear_insert, __insertion_sort): Remove algo + duplication. + (__unguarded_insertion_sort, __final_insertion_sort): Likewise. + (__unguarded_partition, __unguarded_partition_pivot): Likewise. + (__partial_sort): New. + (partial_sort): Use latter. + (__sort): New. + (sort): Use latter. + (lower_bound): Use __lower_bound. + (__upper_bound): New. + (upper_bound): Use latter. + (__equal_range): New. + (equal_range): Use latter. + (__move_merge_adaptive, __move_merge_adaptive_backward): Remove + algo duplication. + (__merge_adaptive, __merge_without_buffer): Likewise. + (__inplace_merge): New. + (inplace_merge): Use latter. + (__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove + algo duplication. + (__merge_sort_with_buffer, __stable_sort_adaptive): Likewise. + (__inplace_stable_sort): Likewise. + (__include): New. + (includes): Use latter. + (__next_permutation): New. + (next_permutation): Use latter. + (__prev_permutation): New. + (prev_permutation): Use latter. + (__replace_copy_if): New. + (replace_copy): Use latter. + (__is_sorted_until): New. + (is_sorted_unitl): Use latter. + (__minmax_element): New. + (minmax_element): Use latter. + (__is_permutation): New. + (is_permutation): Use latter. + (__adjacent_find): New. + (adjacent_find): Use latter. + (__count_if): New. + (count): Use latter. + (count_if): Likewise. + (__merge): New. + (merge): Use latter. + (__stable_sort): New. + (stable_sort): Use latter. + (__set_union): New. + (set_union): Use latter. + (__set_intersection): New. + (set_intersection): Use latter. + (__set_difference): New. + (set_difference): Use latter. + (__set_symmetric_difference): New. + (set_symmetric_difference): Use latter. + (__min_element): New. + (min_element): Use latter. + (__max_element): New. + (max_element): Use latter. + * include/Makefile.am: Add predefined_ops.h. + * include/Makefile.in: Regenerate. + * include/parallel/algobase.h (equal, mismatch): Add overloads + from N3671. + * testsuite/25_algorithms/is_permutation/vectorbool.cc: New. + * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise. + * testsuite/25_algorithms/find/vectorbool.cc: Likewise. + * testsuite/25_algorithms/find_if/vectorbool.cc: Likewise. + * testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise. + * testsuite/25_algorithms/heap/vectorbool.cc: Likewise. + * testsuite/25_algorithms/find_end/vectorbool.cc: Likewise. + * testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise. + +2013-09-27 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/57465 + * include/std/functional + (_Function_base::_Base_manager::_M_not_empty_function): Fix overload + for pointers. + * testsuite/20_util/function/cons/57465.cc: New. + +2013-09-26 Tim Shen <timshen91@gmail.com> + + * regex_error.h: Remove _S_error_last to follow the standard. + * regex_scanner.tcc: + (_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to + error_badbrace. + (_Scanner<>::_M_eat_escape_posix): Extended doesn't support + back-reference. + * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: + Move here from ../../extended. + * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: + Likewise. + +2013-09-25 Marc Glisse <marc.glisse@inria.fr> + + PR libstdc++/58338 + * include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after): + Mark as noexcept. + (_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->, + operator++, operator==, operator!=, _M_next]: Likewise. + (_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*, + operator->, operator++, operator==, operator!=, _M_next]: Likewise. + (operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&), + operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)): + Likewise. + * include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base, + _Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base, + _Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&, + const _Node_iterator_base&), operator!=(const _Node_iterator_base&, + const _Node_iterator_base&)): Likewise. + (_Node_iterator) [_Node_iterator, operator*, operator->, operator++]: + Likewise. + (_Node_const_iterator) [_Node_const_iterator, operator*, operator->, + operator++]: Likewise. + * include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator, + operator=, operator*, operator->, operator++, operator--, operator[], + operator+=, operator+, operator-=, operator-, base, operator _Iterator]: + Likewise. + (operator==(const _Safe_iterator&, const _Safe_iterator&), + operator!=(const _Safe_iterator&, const _Safe_iterator&), + operator<(const _Safe_iterator&, const _Safe_iterator&), + operator<=(const _Safe_iterator&, const _Safe_iterator&), + operator>(const _Safe_iterator&, const _Safe_iterator&), + operator>=(const _Safe_iterator&, const _Safe_iterator&), + operator-(const _Safe_iterator&, const _Safe_iterator&), + operator+(difference_type, const _Safe_iterator&)): Likewise. + * include/profile/iterator_tracker.h (__iterator_tracker) + [__iterator_tracker, base, operator _Iterator, operator->, operator++, + operator--, operator=, operator*, operator[], operator+=, operator+, + operator-=, operator-]: Likewise. + (operator==(const __iterator_tracker&, const __iterator_tracker&), + operator!=(const __iterator_tracker&, const __iterator_tracker&), + operator<(const __iterator_tracker&, const __iterator_tracker&), + operator<=(const __iterator_tracker&, const __iterator_tracker&), + operator>(const __iterator_tracker&, const __iterator_tracker&), + operator>=(const __iterator_tracker&, const __iterator_tracker&), + operator-(const __iterator_tracker&, const __iterator_tracker&), + operator+(difference_type, const __iterator_tracker&)): Likewise. + +2013-09-24 Marc Glisse <marc.glisse@inria.fr> + + PR libstdc++/58338 + PR libstdc++/56166 + * include/bits/basic_string.h (basic_string) + [basic_string(basic_string&&)]: Make the noexcept conditional. + [operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265. + [begin(), end(), rbegin(), rend(), clear]: Remove noexcept. + [pop_back]: Comment on the lack of noexcept. + * include/debug/string (basic_string) [basic_string(const _Allocator&), + basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear, + operator[](size_type), pop_back]: Comment out noexcept, until vstring + replaces basic_string. + +2013-09-24 Tim Shen <timshen91@gmail.com> + + * include/Makefile.am: Add regex.tcc. + * include/Makefile.in: Regenerate. + * include/bits/regex.h: Remove definitions to regex.tcc. + * include/bits/regex.tcc: New. + (match_results::format, regex_replace): Implement; + * include/bits/regex_compiler.h: Move _M_flags to the top of class + member list, because other members' initialization depend on it. + * include/bits/regex_compiler.tcc + (_Compiler<>::_Compiler): Adjust member initializations. + (_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier. + * include/bits/regex_executor.h: Remove _RegexT from _*Executor classes. + In the future, all regex classes may refactor to *Impl style. + * include/bits/regex_executor.tcc (_Executor::_M_set_results): + Merge identical code from _*Executor classes. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase + caller for new __get_executors interface. + * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc: + New. + * testsuite/28_regex/match_results/format.cc: New. + * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph + testcase. + * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise. + +2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com> + + * src/c++11/snprintf_lite.cc (__concat_size_t): Use + unsigned long long conditionally. + +2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com> + + * src/c++11/snprintf_lite.cc (__concat_size_t): Use only + std::__int_to_char<unsigned long long>() + +2013-09-21 Paul Pluzhnikov <ppluzhnikov@google.com> + + * include/bits/functexcept.h (__throw_out_of_range_fmt): New. + * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New. + * src/c++11/snprintf_lite.cc: New. + * src/c++11/Makefile.am: Add snprintf_lite.cc. + * src/c++11/Makefile.in: Regenerate. + * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz. + * include/std/array (at): Use __throw_out_of_range_fmt. + * include/debug/array (at): Likewise. + * include/profile/array (at): Likewise. + * include/std/bitset (_M_check_initial_position, _M_check): New. + (bitset::bitset): Use _M_check_initial_position. + (set, reset, flip, test): Use _M_check. + * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt. + * include/bits/stl_vector.h (_M_range_check): Likewise. + * include/bits/stl_bvector.h (_M_range_check): Likewise. + * include/bits/stl_deque.h (_M_range_check): Likewise. + * include/bits/basic_string.h (_M_check, at): Likewise. + * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust. + * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc: + Likewise. + * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc: + Likewise. + * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise. + * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. + * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: + Likewise. + * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc: + Likewise. + * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise. + * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc: + Likewise. + * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise. + * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise. + * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt. + +2013-09-20 Jakub Jelinek <jakub@redhat.com> + + PR testsuite/57605 + * testsuite/lib/libstdc++.exp (libstdc++_init): Prepend + -fdiagnostics-color=never to cxxflags. + +2013-09-20 Marc Glisse <marc.glisse@inria.fr> + + PR libstdc++/58338 + * include/bits/allocator.h (__alloc_swap::_S_do_it, + __shrink_to_fit_aux::_S_do_it): Mark as noexcept. + * include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep, + _M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable, + _M_set_length_and_sharable, _M_dispose]: Likewise. + (basic_string::_Alloc_hider::_Alloc_hider): Likewise. + (basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit, + _M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare, + _S_empty_rep, shrink_to_fit, operator[] const, front const, back const]: + Likewise. + [clear]: Link to PR 56166. + [swap]: Link to PR 58265. + * include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size, + _Deque_iterator, _M_const_cast, operator*, operator->, operator++, + operator--, operator+=, operator+, operator-=, operator-, operator[], + _M_set_node]: Mark as noexcept. + (operator==(const _Deque_iterator&, const _Deque_iterator&), + operator!=(const _Deque_iterator&, const _Deque_iterator&), + operator<(const _Deque_iterator&, const _Deque_iterator&), + operator>(const _Deque_iterator&, const _Deque_iterator&), + operator<=(const _Deque_iterator&, const _Deque_iterator&), + operator>=(const _Deque_iterator&, const _Deque_iterator&), + operator-(const _Deque_iterator&, const _Deque_iterator&), + operator+(ptrdiff_t, const _Deque_iterator&)): Likewise. + (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to + _M_initialize_map. + [~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]: + Mark as noexcept. + (_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&), + _Deque_impl(_Tp_alloc_type&&)]: Likewise. + (deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[], + front, back, pop_front, pop_back, swap]: Likewise. + [deque(), deque(const allocator_type&)]: Merge. + * include/debug/deque (deque) [operator=(deque&&), shrink_to_fit, + operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept. + * include/profile/deque (deque) [operator=(deque&&), operator[], front, + back, pop_front, pop_back, swap]: Likewise. + * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: + Adjust line number. + * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: + Likewise. + * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc: + Likewise. + * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: + Likewise. + +2013-09-20 Alan Modra <amodra@gmail.com> + + * configure: Regenerate. + +2013-09-19 Marc Glisse <marc.glisse@inria.fr> + + PR libstdc++/58338 + * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]: + Mark as noexcept. + (_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->, + operator++, operator--, operator==, operator!=]: Likewise. + (_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast, + operator*, operator->, operator++, operator--, operator==, operator!=]: + Likewise. + (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&), + operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)): + Likewise. + (_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost, + _M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum, + _S_maximum]: Likewise. + * include/debug/string (basic_string) [basic_string(const _Allocator&), + shrink_to_fit, operator[], pop_back]: Likewise. + * include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct, + _M_ibegin, _M_iend, __versa_string(const _Alloc&), + operator=(__versa_string&&), shrink_to_fit, operator[], front, + back, assign(__versa_string&&), swap]: Likewise. + (__versa_string) [__versa_string(), __versa_string(const _Alloc&)]: + Merge. + +2013-09-18 Marc Glisse <marc.glisse@inria.fr> + + PR libstdc++/58338 + * include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator, + _M_const_cast, operator*, operator->, operator++, operator--, + operator[], operator+=, operator+, operator-=, operator-, base]: + Mark as noexcept. + (operator==(const __normal_iterator&, const __normal_iterator&), + operator!=(const __normal_iterator&, const __normal_iterator&), + operator<(const __normal_iterator&, const __normal_iterator&), + operator>(const __normal_iterator&, const __normal_iterator&), + operator<=(const __normal_iterator&, const __normal_iterator&), + operator>=(const __normal_iterator&, const __normal_iterator&), + operator-(const __normal_iterator&, const __normal_iterator&), + operator+(difference_type, const __normal_iterator&)): Likewise. + * include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]: + Likewise. + (list::_M_check_equal_allocators): Abort instead of throwing. + * include/debug/array (array) [operator[], front, back]: Mark as + noexcept. + * include/profile/array (array) [operator[], front, back]: Likewise. + * include/std/array (array) [operator[], front, back]: Likewise. + * include/debug/list (list::splice): Likewise. + * include/profile/list (list::splice): Likewise. + * testsuite/23_containers/list/operations/5.cc: Remove file. + * testsuite/23_containers/list/operations/5.h: Likewise. + +2013-09-18 Tim Shen <timshen91@gmail.com> + + * include/bits/regex.h: Add friend classes. + (match_results<>::position, regex_iterator<>::operator++): + Implement position specification in regex_iterator. + (regex_match<>, regex_search<>): + Move match_results initializations to these function. Remove `todo`. + * include/bits/regex_compiler.tcc: + (_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching. + * include/bits/regex_constants.h: + Fix indentation. Change match_flag_type to enum type. + * include/bits/regex_executor.h: + Merge identical code to the base class _Executor. + Support flags in regex_constants. + * include/bits/regex_executor.tcc: Likewise. + * include/bits/regex_scanner.h: Add comments. + * include/bits/regex_scanner.tcc: Same. + * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: + Add a testcase. + * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New. + * testsuite/28_regex/iterators/regex_iterator/char/ + string_position_01.cc: Remove `xfail`. + * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: + Remove `xfail` and make the case really work. + +2013-09-18 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/performance/25_algorithms/search_n.cc: Fix typo. + +2013-09-18 Marc Glisse <marc.glisse@inria.fr> + + PR libstdc++/58338 + * include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as + noexcept. + * include/bits/stl_list.h (_List_iterator) [_List_iterator, + _M_const_cast, operator*, operator->, operator++, operator--, + operator==, operator!=]: Likewise. + (_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*, + operator->, operator++, operator--, operator==, operator!=]: Likewise. + (operator==(const _List_iterator&, const _List_const_iterator&), + operator!=(const _List_iterator&, const _List_const_iterator&)): + Likewise. + (_List_impl) [_List_impl(const _Node_alloc_type&), + _List_impl(_Node_alloc_type&&)]: Likewise. + (_List_base) [_M_put_node, _List_base(const _Node_alloc_type&), + _List_base(_List_base&&), _M_clear, _M_init]: Likewise. + (list) [list(), list(const allocator_type&)]: Merge. + (list) [list(const allocator_type&), front, back, pop_front, pop_back, + erase, _M_erase]: Mark as noexcept. + * include/debug/list (list) [list(const _Allocator&), front, back, + pop_front, pop_back, _M_erase, erase]: Likewise. + * include/profile/list (list) [list(const _Allocator&), front, back, + pop_front, pop_back, erase]: Likewise. + * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: + Adjust line number. + * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: + Likewise. + * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: + Likewise. + * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: + Likewise. + +2013-09-17 Marc Glisse <marc.glisse@inria.fr> + + PR libstdc++/58338 + * include/bits/stl_vector.h (vector::vector(), + vector::vector(const allocator_type&)): Merge. + (_Vector_impl::_Vector_impl(_Tp_alloc_type const&), + _Vector_impl::_Vector_impl(_Tp_alloc_type&&), + _Vector_impl::_M_swap_data, + _Vector_base::_Vector_base(const allocator_type&), + _Vector_base::_Vector_base(allocator_type&&), + _Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base, + vector::vector(const allocator_type&), vector::operator[], + vector::operator[] const, vector::front, vector::front const, + vector::back, vector::back const, vector::pop_back, + vector::_M_erase_at_end): Mark as noexcept. + * include/debug/vector (vector::vector(const _Allocator&), + vector::operator[], vector::operator[] const, vector::front, + vector::front const, vector::back, vector::back const, vector::pop_back, + _M_requires_reallocation, _M_update_guaranteed_capacity, + _M_invalidate_after_nth): Mark as noexcept. + * include/profile/vector (vector::vector(const _Allocator&), + vector::operator[], vector::operator[] const, vector::front, + vector::front const, vector::back, vector::back const): Mark as + noexcept. + (vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept. + * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: + Adjust line number. + * testsuite/23_containers/vector/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: + Likewise. + +2013-09-14 Tim Shen <timshen91@gmail.com> + + * include/bits/regex.h (regex_match<>, regex_search<>): + Change regex_executor caller. Now use their return value instead + of checking __m[0].matched to find out if it's successful. + (regex_search<>): Move the search logic to regex_executor. + * include/bits/regex_automaton.h: Add some new _Opcode. Refactor + _NFA::_M_insert_*. + * include/bits/regex_automaton.tcc: Add DEBUG dump for new + _Opcode. Refactor _NFA::_M_insert_*. + * include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa): + Use make_shared instead of construct by hand. + * include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion. + * include/bits/regex_constants.h: Fix indentation and line breaking. + * include/bits/regex_executor.h: Add _ResultsEntry to support + greedy/ungreedy mode. Move regex_search logic here. + * include/bits/regex_executor.tcc: Implement assertions and + greedy/ungreedy matching. + * include/bits/regex_scanner.h: Add a new token _S_token_ungreedy. + * include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy. + * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New. + * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New. + * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: + Fix comment. + +2013-09-13 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/58415 + * include/ext/sso_string_base.h (__sso_string_base<>:: + __sso_string_base(__sso_string_base&&)): Fix thinkos about + _M_length vs _M_set_length. + * testsuite/ext/vstring/cons/58415-1.cc: New. + * testsuite/ext/vstring/cons/58415-2.cc: Likewise. + +2013-09-12 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/58403 + * include/bits/stl_iterator.h (__normal_iterator<>::operator[], + operator+=, operator+, operator-=, operator-): Take the argument + by value. + * testsuite/24_iterators/normal_iterator/58403.cc: New. + +2013-09-11 Mitsuru Kariya <kariya_mitsuru@hotmail.com> + Chris Jefferson <chris@bubblescope.net> + + PR libstdc++/58358 + * include/bits/stl_algo.h (search_n): Fix to guarantee a number + of comparisons <= number of elements in the range. + * testsuite/25_algorithms/search_n/58358.cc: New. + * testsuite/25_algorithms/search_n/iterator.cc: Extend. + +2013-09-10 Ed Smith-Rowland <3dw4rd@verizon.net> + + * testsuite/28_regex/traits/wchar_t/value.cc: Change template args + from char to wchar_t, literals from 'x' to L'x'. + +2013-09-10 Kai Tietz <ktietz@redhat.com> + + PR libstdc++/54314 + * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS* + like in gnu.ver. + +2013-09-07 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/58341 + * include/bits/stl_algobase.h (copy_backward): Fix documentation + per DR 1206. + +2013-09-05 Tim Shen <timshen91@gmail.com> + + * include/bits/regex_automaton.h: Add dummy node type. Rewrite + _StateSeq. + * include/bits/regex_automaton.tcc: Implement them. + * include/bits/regex_compiler.h: Rewrite _Compiler to use new + _StateSeq interfaces. + * include/bits/regex_compiler.tcc: Implement them. + * include/bits/regex_scanner.h: Add word boundry assertion token. + * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma): + Support word boundry. + * testsuite/28_regex/algorithms/regex_match/basic/ + string_range_02_03.cc: Remove "xfail". + * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc: + Likewise. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_range_02_03.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/extended/ + cstring_questionmark.cc: Remove xfail and get correct length of + c-string. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_range_00_03.cc: Likewise. + * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc: + New. + * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc: + New. + * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New. + +2013-09-03 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/58302 + * include/bits/random.tcc (negative_binomial_distribution<>:: + operator()(_UniformRandomNumberGenerator&, const param_type&)): + Fix typo in template argument. + * testsuite/26_numerics/random/negative_binomial_distribution/ + operators/58302.cc: New. + +2013-09-02 Tim Shen <timshen91@gmail.com> + + * regex_automaton.h: Rearrange _NFA's layout. + * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher. + Rearrange _BracketMatcher's layout. + (_BracketMatcher<>::_M_add_char): Use set instead of vector for + _M_char_set. + (_BracketMatcher<>::_M_add_collating_element): Likewise. + (_BracketMatcher<>::_M_make_range): Likewise. + * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use + appropriate constructors of matchers above. + * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc: + New. + * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New. + * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc: + New. + * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc: + New. + * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New. + * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc: + New. + * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New. + +2013-08-30 François Dumont <fdumont@gcc.gnu.org> + + PR libstdc++/58148 + * include/debug/functions.h (__foreign_iterator_aux4): Use + sequence const_pointer as common type to compare pointers. Add a + fallback overload in case pointers cannot be cast to sequence + const_pointer. + * testsuite/23_containers/vector/modifiers/insert/58148.cc: New. + +2013-08-30 François Dumont <fdumont@gcc.gnu.org> + + PR libstdc++/58191 + * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add + __gnu_debug::__base calls on iterators passed to internal debug + check. + (__glibcxx_check_partitioned_lower_pred): Likewise. + (__glibcxx_check_partitioned_upper): Likewise. + (__glibcxx_check_partitioned_upper_pred): Likewise. + (__glibcxx_check_sorted): Likewise. + (__glibcxx_check_sorted_pred): Likewise. + (__glibcxx_check_sorted_set): Likewise. + (__glibcxx_check_sorted_set_pred): Likewise. + * include/debug/functions.h (__check_partitioned_lower): + Remove code to detect safe iterators. + (__check_partitioned_upper): Likewise. + (__check_sorted): Likewise. + +2013-08-29 Tim Shen <timshen91@gmail.com> + + * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits. + (regex_iterator<>::regex_iterator): Return nullptr when regex_search + failed. + (regex_token_iterator<>::_M_end_of_seq): Should be defined true when + _M_result is(not isn't) nullptr. + * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference + instead of by value. + * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add + _M_traits to _DFSExecutor. + * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to + _DFSExecutor too. + * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc: + New. + * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/ + wstring_02.cc: New. + +2013-08-26 Tim Shen <timshen91@gmail.com> + + * include/Makefile.am: Add regex_scanner.{h,tcc}. + * include/Makefile.in: Regenerate. + * include/bits/regex.h (match_search): Handle the `__first == __last` + situation correctly. + * include/bits/regex_compiler.h: Move _Scanner... + * include/bits/regex_scanner.h: ...to here. New. + * include/bits/regex_compiler.tcc: Move _Scanner... + * include/bits/regex_scanner.tcc: ...to here, too. New. + * include/bits/regex_executor.tcc: Use value instead of reference for + submatch. + * include/std/regex: Add regex_scanner.h + * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New. + * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New. + * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New. + * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New. + * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New. + +2013-08-22 Tim Shen <timshen91@gmail.com> + + * include/bits/regex.h: Replace 8 spaces in indentation with a tab. + * include/bits/regex_automaton.h: Same. + * include/bits/regex_automaton.tcc: Same. + * include/bits/regex_compiler.h: Same. + * include/bits/regex_compiler.tcc: Same. + * include/bits/regex_constants.h: Same. + * include/bits/regex_executor.h: Same. + * include/bits/regex_executor.tcc: Same. + +2013-08-22 Tim Shen <timshen91@gmail.com> + + * include/bits/regex.h: Executor caller. + * include/bits/regex_executor.h: Fix empty grouping problem. + * include/bits/regex_executor.tcc: Same. + * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc: + New. + +2013-08-20 Phil Muldoon <pmuldoon@redhat.com> + + PR libstdc++/53477 + http://sourceware.org/bugzilla/show_bug.cgi?id=15195 + + * python/libstdcxx/v6/printers.py (Printer.__call__): If a value + is a reference, fetch referenced value. + (RxPrinter.invoke): Ditto. + * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0 + flag. Add referenced value tests. + +2013-08-20 Tim Shen <timshen91@gmail.com> + + * include/bits/regex_constants.h: Add underlying `unsigned int` for + enum syntax_option_type. + +2013-08-18 Tim Shen <timshen91@gmail.com> + + * include/bits/regex_automaton.h: _S_opcode_backref. + * include/bits/regex_automaton.tcc: Backref automaton support. + * include/bits/regex_compiler.tcc: Parsing support. + * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor. + * include/bits/regex_executor.tcc: Add _S_opcode_backref support. + * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New. + +2013-08-16 Tim Shen <timshen91@gmail.com> + + * include/bits/regex.h (regex_traits<>::transform_primary): + Avoid past-the-end dereferences. + +2013-08-14 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/58163 + * include/bits/basic_string.h (basic_string<>::operator[]): Fix + _GLIBCXX_DEBUG_PEDASSERT check vs C++11. + * include/ext/vstring.h: Likewise. + * testsuite/21_strings/basic_string/element_access/char/58163.cc: + New. + * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc: + Likewise. + * testsuite/ext/vstring/element_access/char/58163.cc: Likewise. + * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise. + +2013-08-14 Uros Bizjak <ubizjak@gmail.com> + + * src/c++98/compatibility.cc (_ZTIe): Use + reinterpret_cast<const cast *> to avoid -Wcast-qual warnings. + (_ZTIPe): Ditto. + (ZTIPKe): Ditto. + +2013-08-09 Tim Shen <timshen91@gmail.com> + + * include/bits/regex_constants.h: Change syntax_option_type to enum + type. + +2013-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp. + +2013-08-08 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h (_Hashtable_alloc): New. + (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than + _Hashtable. + (_Before_begin<>): Remove. + * include/bits/hashtable.h (_Hashtable): Inherit from + _Hashtable_alloc and adapt. Restore _M_before_begin field. + * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include. + * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt + access to hashtable before begin. + * testsuite/23_containers/unordered_set/ + not_default_constructible_hash_neg.cc: Adapt dg-error line number. + * testsuite/23_containers/unordered_set/instantiation_neg.cc: + Likewise. + +2013-08-07 Tim Shen <timshen91@gmail.com> + + * include/Makefile.am: Adjust to new files. + * include/Makefile.in: Regenerate. + * include/bits/regex.h: Adjust to new interfaces. + * include/bits/regex_automaton.h: New. + * include/bits/regex_automaton.tcc: New. + * include/bits/regex_compiler.h: Adjust to new files. + * include/bits/regex_compiler.tcc: New. + * include/bits/regex_constants.h: Tail spaces. + * include/bits/regex_error.h: Likewise. + * include/bits/regex_executor.h: New. + * include/bits/regex_executor.tcc: New. + * include/std/regex: Adjust to new files. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_dispatch_01.cc: Adjust to new interfaces. + +2013-08-07 Paolo Carlini <paolo.carlini@oracle.com> + + * include/ext/atomicity.h: Add #pragma GCC system_header. + +2013-08-07 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/58098 + * include/bits/random.h (cauchy_distribution<>::min, + extreme_value_distribution<>::min, normal_distribution<>::min, + student_t_distribution<>::min): Fix. + * include/ext/random (normal_mv_distribution<>::min): Likewise. + * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc: + Adjust. + testsuite/26_numerics/random/cauchy_distribution/cons/default.cc: + Likewise. + * testsuite/26_numerics/random/extreme_value_distribution/cons/ + parms.cc: Likewise. + testsuite/26_numerics/random/extreme_value_distribution/cons/ + default.cc: Likewise. + * testsuite/26_numerics/random/normal_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/normal_distribution/cons/default.cc: + Likewise. + * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc: + Likewise. + * testsuite/26_numerics/random/student_t_distribution/cons/default.cc: + Likewise. + * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise. + * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise. + + * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc: + Minor tweak. + * testsuite/26_numerics/random/exponential_distribution/cons/default.cc: + Likewise. + + * testsuite/ext/von_mises_distribution/*: Move to... + * testsuite/ext/random/von_mises_distribution/*: ... here. + * testsuite/ext/triangular_distribution/*: Move to... + * testsuite/ext/random/triangular_distribution/*: ... here. + +2013-08-06 Caroline Tice <cmtice@google.com> + + * fragment.am: Add XTEMPLATE_FLAGS. + * configure.ac: Add definitions for --enable-vtable-verify. + * acinclude.m4: Add --enable-vtable-verify and + --disable-vtable-verify; define --enable-vtable-verify; define + VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS. + * config/abi/pre/gnu.ver: Export symbols for vtable verification. + * libsupc++/Makefile.am: Define vtv_sources and add it to + libsupc___la_SOURCES and libsupc__convenience_la_SOURCES. + * libsupc++/vtv_stubs.cc: New file. + * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS. + * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add + VTV_CXXLINKFLAGS to CXXLINK. + * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS + to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK. + * src/C++11/Makefile.am: Ditto. + * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify. + * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause + cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS. + * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate + libvtv if --enable-vtable-verify was used; set cxxvtvflags; add + cxxvtvflags to cxx_final. + * testsuite/18_support/bad_exception/23591_thread-1.c: Add + -fvtable-verify=none to compiler flags. + * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none + to compiler flags. + * configure: Regenerated. + * Makefile.in: Regenerated. + * python/Makefile.in: Regenerated. + * include/Makefile.in: Regenerated. + * libsupc++/Makefile.in: Regenerated. + * config.h.in: Regenerated. + * po/Makefile.in: Regenerated. + * src/Makefile.in: Regenerated. + * src/c++98/Makefile.in: Regenerated. + * src/c++11/Makefile.in: Regenerated. + * doc/Makefile.in: Regenerated. + * testsuite/Makefile.in: Regenerated. + +2013-08-06 Paolo Carlini <paolo.carlini@oracle.com> + + Revert the last commit. + +2013-08-06 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h (_Hashtable_alloc): New. + (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than + _Hashtable. + (_Before_begin<>): Remove. + * include/bits/hashtable.h (_Hashtable): Inherit from + _Hashtable_alloc and adapt. Restore _M_before_begin field. + * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt + access to hashtable before begin. + * testsuite/23_containers/unordered_set/ + not_default_constructible_hash_neg.cc: Adapt dg-error line number. + * testsuite/23_containers/unordered_set/instantiation_neg.cc: + Likewise. + +2013-08-03 Tim Shen <timshen91@gmail.com> + + Implement bracket expression. + * include/bits/regex.h: Remove constexpr from "|=", etc. + * include/bits/regex_compiler.h: Parse bracket expression. + * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old + _RangeMatcher). + * include/bits/regex_nfa.tcc: Implement them. + * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: + from regex_search to regex_match. + * testsuite/28_regex/algorithms/regex_match/extended/ + cstring_bracket_01.cc: New. + +2013-08-02 Paolo Carlini <paolo.carlini@oracle.com> + + * include/debug/functions.h (__foreign_iterator_aux4): + Initialize __l and __ge. + +2013-08-02 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/58049 + * include/debug/functions.h: Include <bits/move.h>; minor formatting + changes. + (__foreign_iterator_aux4): Declare __l and __ge constexpr. + * include/debug/safe_iterator.h (_Safe_iterator<>::operator->): + Use __addressof. + * include/debug/safe_local_iterator.h (_Safe_local_iterator<>:: + operator->): Likewise. + +2013-08-01 François Dumont <fdumont@gcc.gnu.org> + + PR libstdc++/57779 + * include/debug/formatter.h (_Debug_msg_id): Add + __msg_insert_itself_range entry. + * include/debug/functions.h (_Insert_range_from_self_is_safe<>): + New, indicate container types supporting self range insertion in + GNU implementation. + (__foreign_iterator): New, check if an iterator points to a given + sequence. + * include/debug/macros.h (__glibcxx_check_insert_range): Add check + using __foreign_iterator. + (__gibcxx_check_insert_range_after): Likewise. + * include/debug/string (_Insert_range_from_self_is_safe<>): + Partially specialized to mark __gnu_debug::basic_string<> as + supporting self range insert. + * include/debug/list (_Insert_range_from_self_is_safe<>): + Partially specialized to mark std::list as supporting self range + insert if _GLIBCXX_DEBUG_PEDANTIC is not defined. + * include/debug/forward_list (_Insert_range_from_self_is_safe<>): + Likewise. + * src/c++11/debug.cc (_S_debug_messages): Add + __msg_insert_itself_range_entry message. + (_Error_formatter::_Parameter::_M_print_description): Display + iterator sequence address rather than sequence address when the + parameter type is an iterator. + (_Error_formatter::_M_print_word): Enhance behavior when + displaying a word with an appended '\n'. + * testsuite/util/debug/checks.h (check_insert4<>): New. + * testsuite/23_containers/deque/debug/insert5_neg.cc: New. + * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise. + * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise. + * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise. + * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc: + Likewise. + +2013-08-01 Fabien Chêne <fabien@gcc.gnu.org> + + PR c++/54537 + * include/tr1/cmath: Remove pow(double,double) overload, remove a + duplicated comment about DR 550. Add a comment to explain the + issue. + * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New. + +2013-07-31 Tim Shen <timshen91@gmail.com> + + Thompson matcher refactored. Fix grouping problem. + * include/bits/regex.h: Use a dispatcher _M_get_matcher(). + * include/bits/regex_compiler.h: Tweak for auto switching. + * include/bits/regex_grep_matcher.h: Class structure. + * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson + matcher) refactoring. + * include/bits/regex_nfa.h: Change _Results's interfaces. + * include/std/regex: Includes <map> and <queue>. + * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: + For both matchers. + * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: + For both matchers. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_dispatch_01.cc: New. + +2013-07-31 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/56627 + * include/bits/stl_bvector.h: Use friend struct hash intead of + friend class hash to work around useless warnings produced by + some compilers. + * include/std/bitset: Likewise. + +2013-07-31 Paolo Carlini <paolo.carlini@oracle.com> + + * src/c++11/functexcept.cc: Do not include the whole <regex>. + * src/c++11/regex.cc: Likewise. + +2013-07-31 Tim Shen <timshen91@gmail.com> + + Revert last commit. + +2013-07-31 Tim Shen <timshen91@gmail.com> + + Thompson matcher refactored. Fix grouping problem. + * include/bits/regex.h: Use a dispatcher _M_get_matcher(). + * include/bits/regex_compiler.h: Tweak for auto switching. + * include/bits/regex_grep_matcher.h: Class structure. + * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson + matcher) refactoring. + * include/bits/regex_nfa.h: Change _Results's interfaces. + * include/std/regex: Includes <map> and <queue>. + * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: + For both matchers. + * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: + For both matchers. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_dispatch_01.cc: New. + +2013-07-30 Paolo Carlini <paolo.carlini@oracle.com> + + Revert last commit. + +2013-07-30 Tim Shen <timshen91@gmail.com> + + Thompson matcher refactored. Fix grouping problem. + * include/bits/regex.h: Use a dispatcher _M_get_matcher(). + * include/bits/regex_compiler.h: Tweak for auto switching. + * include/bits/regex_grep_matcher.h: Class structure. + * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson + matcher) refactoring. + * include/bits/regex_nfa.h: Change _Results's interfaces. + * include/std/regex: Includes <map> and <queue>. + * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: + For both matchers. + * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: + For both matchers. + * testsuite/28_regex/algorithms/regex_match/extended/ + string_dispatch_01.cc: New. + +2013-07-29 Nathan Froyd <froydnj@gcc.gnu.org> + + * include/std/atomic (compare_exchange_weak, compare_exchange_strong): + Add call to __cmpexch_failure_order. + * testsuite/util/testsuite_common_types.h + (compare_exchange_order_lowering): New generator. + * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc: + New test. + +2013-07-25 Paolo Carlini <paolo.carlini@oracle.com> + + * include/std/complex (pow(const complex<>&, int)): Enable in + C++11 mode too. + * testsuite/26_numerics/complex/dr844.cc: Adjust. + * doc/xml/manual/intro.xml: Update. + +2013-07-25 Tim Shen <timshen91@gmail.com> + + Add documents and comments. + * include/bits/regex.h: Documents and comments. + * include/bits/regex_grep_matcher.h: Likewise. + * include/bits/regex_grep_matcher.tcc: Likewise. + * testsuite/28_regex/iterators/regex_iterator/char/ + string_position_01.cc: New. + +2013-07-24 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/57976 + * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and + time_get::do_get. + +2013-07-24 Paolo Carlini <paolo.carlini@oracle.com> + + * include/bits/random.h (random_device): Avoid using the FILE type. + * include/std/random: Do not include <cstdio>. + * src/c++11/random.cc: ... include it here. + (random_device::_M_init, random_device::_M_fini, + random_device::_M_getval): Cast back and forth void* and FILE*. + +2013-07-24 Tim Shen <timshen91@gmail.com> + + Reimplment matcher using Depth-first search(backtracking). + PR libstdc++/53622 + PR libstdc++/57173 + * include/bits/regex.h: regex_match() and regex_search(). + * include/bits/regex_cursor.h: Fix _M_set_pos(). + * include/bits/regex_grep_matcher.h: add _M_dfs_match(). + * include/bits/regex_grep_matcher.tcc: Implement it. + * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New. + * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New. + * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: + Remove xfail. + +2013-07-23 Tim Shen <timshen91@gmail.com> + + Implement regex_iterator and regex_token_iterator. + * include/bits/regex.h: regex_iterator and regex_token_iterator. + * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc: + New. + * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc: + New. + * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc: + New. + * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/ + string_01.cc: New. + +2013-07-23 Paolo Carlini <paolo.carlini@oracle.com> + + * include/std/random: Add back <cstdio> include. + * src/c++11/random.cc: Don't include <cstdio> here. + +2013-07-22 Jason Merrill <jason@redhat.com> + + PR libstdc++/57914 + * libsupc++/atexit_thread.cc (run): Delete cleanup elts. + +2013-07-22 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/57920 + * src/c++11/random.cc (random_device::_M_getval): If possible, use + read instead of std::fread. + * include/std/random: Do not include <cstdio> unnecessarily. + +2013-07-21 Tim Shen <timshen91@gmail.com> + + Partially implement regex_search. + * include/bits/regex.h: regex_search. + * include/bits/regex_grep_matcher.h: _M_search_from_first. + * include/bits/regex_grep_matcher.tcc: Implement it. + * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New. + +2013-07-21 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/54352 + * include/std/condition_variable (condition_variable_any): Move into + inline namespace _V2 and replace mutex member with shared_ptr<mutex>. + * src/c++11/condition_variable.cc (condition_variable_any): Move + definitions to ... + * src/c++11/compatibility-condvar.cc (condition_variable_any): Here. + * src/Makefile.am: Add new source file. + * src/Makefile.in: Regenerate. + +2013-07-09 Tim Shen <timshen91@gmail.com> + + Implement class regex_traits. + * include/bits/regex.h: Implement lookup_classname and + lookup_collatename; modify isctype; partially implement + transform_primary. + * testsuite/28_regex/traits/char/isctype.cc: Add more test cases. + * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise. + * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise. + * testsuite/28_regex/traits/char/transform_primary.cc: Likewise. + * testsuite/28_regex/traits/wchar_t/isctype.cc: New. + * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New. + * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New. + * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New. + +2013-07-07 Ed Smith-Rowland <3dw4rd@verizon.net> + + * doc/xml/manual/status_cxx2014.xml: Add links for papers. + +2013-07-05 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward + pattern. + (_MoveReuseOrAllocNode): Remove. + (_Insert_base): Take a functor defining how the node is generated. + * include/bits/hashtable.h: Adapt. + (operator=(initializer_list<value_type>)): Reuse node if any. + * testsuite/23_containers/unordered_set/instantiation_neg.cc: + Adjust dg-error line number. + * testsuite/23_containers/unordered_set/ + not_default_constructible_hash_neg.cc: Likewise. + +2013-07-05 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc: + Tweak, avoid potential undefined behavior. + * testsuite/23_containers/list/modifiers/insert/const_iterator.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/insert/ + const_iterator.cc: Likewise. + * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc: + Likewise. + +2013-07-04 Veres Lajos <vlajos@gmail.com> + Jonathan Wakely <jwakely.gcc@gmail.com> + + * config/locale/generic/codecvt_members.cc: Fix typo. + * configure.host: Likewise. + * doc/html/manual/policy_data_structures_design.html: Likewise. + * doc/xml/manual/policy_data_structures.xml: Likewise. + * include/bits/hashtable.h: Likewise. + * include/bits/random.h: Likewise. + * include/profile/impl/profiler_trace.h: Likewise. + * testsuite/23_containers/deque/cons/2.cc: Likewise. + * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise. + * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise. + * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise. + +2013-07-04 Ray Chason <chasonr@newsguy.com> + Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/57808 + * include/bits/regex.h (regex_token_iterator<>::operator==, + regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*, + regex_token_iterator<>::operator->): Declare const. + +2013-07-01 Paolo Carlini <paolo.carlini@oracle.com> + + * include/bits/stl_list.h (list<>::insert(iterator, + size_type, const value_type&), list<>::insert(iterator, + initializer_list<>), list<>::insert(iterator, _InputIterator, + _InputIterator), list<>::splice(iterator, list&&), + list<>::splice(iterator, list&), list<>::splice(iterator, list&&, + iterator), list<>::splice(iterator, list&, iterator), + list<>::splice(iterator, list&&, iterator, iterator), + list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11 + signatures to take const_iterator(s). + * include/bits/list.tcc (list<>::insert(const_iterator, size_type, + const value_type&), list<>::insert(const_iterator, _InputIterator, + _InputIterator)): Define. + * include/ext/vstring.h (__versa_string<>::insert(iterator, + size_type, _CharT), __versa_string<>::insert(iterator, + _InputIterator, _InputIterator), __versa_string<>::insert(iterator, + std::initializer_list<>), __versa_string<>::replace(iterator, + iterator, _InputIterator, _InputIterator), __versa_string<>:: + replace(iterator, iterator, std::initializer_list<>)): Adjust C++11 + signatures to take const_iterator(s). + (__versa_string<>::_M_replace_dispatch): Take const_iterators. + * include/ext/vstring.tcc: Likewise. + * include/debug/list: Adjust. + * include/profile/list: Likewise. + * testsuite/23_containers/list/operations/splice/const_iterator.cc: + New. + * testsuite/23_containers/list/modifiers/insert/const_iterator.cc: + Extend. + * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc: + Likewise. + * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc: + Likewise. + * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc: + Likewise. + * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc: + Likewise. + + * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: + Adjust dg-error line number. + * testsuite/23_containers/list/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/list/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: + Likewise. + +2013-06-30 Paolo Carlini <paolo.carlini@oracle.com> + + * include/bits/stl_deque.h (deque<>::insert(iterator, + size_type, const value_type&), deque<>::insert(iterator, + initializer_list<>), deque<>::insert(iterator, _InputIterator, + _InputIterator)): Adjust C++11 signatures to take a const_iterator. + * include/bits/stl_vector.h: Likewise. + * include/bits/stl_bvector.h: Likewise. + * include/debug/deque: Adjust. + * include/debug/vector: Likewise. + * include/profile/deque: Likewise. + * include/profile/vector: Likewise. + * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc: + Extend. + * testsuite/23_containers/vector/bool/modifiers/insert/ + const_iterator.cc: Likewise. + * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc: + Likewise. + + * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: + Adjust dg-error line number. + * testsuite/23_containers/deque/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/deque/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: + Likewise. + * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: + Likewise. + * testsuite/23_containers/vector/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: + Likewise. + +2013-06-29 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h (_Insert_base): Consider hint in + insert methods. + * include/bits/hashtable.h: Likewise. + * testsuite/23_containers/unordered_multimap/insert/hint.cc: New. + * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc: + New. + * testsuite/23_containers/unordered_set/instantiation_neg.cc: + Adjust dg-error line number. + * testsuite/23_containers/unordered_set/ + not_default_constructible_hash_neg.cc: Likewise. + * doc/xml/manual/containers.xml: Document hinting in unordered + containers. + +2013-06-27 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/21_strings/basic_string/operations/*: Move inside + testsuite/21_strings/basic_string/operations/data/. + * testsuite/21_strings/basic_string/compare/*: Move inside + testsuite/21_strings/basic_string/operations/. + * testsuite/21_strings/basic_string/find/*: Likewise. + * testsuite/21_strings/basic_string/rfind/*: Likewise. + * testsuite/21_strings/basic_string/substr/*: Likewise. + +2013-06-27 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/21_strings/basic_string/append/*: Move inside + testsuite/21_strings/basic_string/modifiers/. + * testsuite/21_strings/basic_string/assign/*: Likewise. + * testsuite/21_strings/basic_string/insert/*: Likewise. + * testsuite/21_strings/basic_string/replace/*: Likewise. + * testsuite/21_strings/basic_string/modifiers/pop_back/char/ + pop_back.cc: Rename to 1.cc. + * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/ + pop_back.cc: Likewise. + * testsuite/ext/vstring/assign/*: Move inside + testsuite/ext/vstring/modifiers/. + +2013-06-27 Paolo Carlini <paolo.carlini@oracle.com> + + * include/bits/stl_deque.h (deque<>::insert(iterator, + const value_type&), deque<>::insert(iterator, value_type&&), + deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to + take a const_iterator. + (deque<>::erase): Simplify. + * include/bits/stl_list.h: Likewise. + (_List_iterator<>::_M_const_cast): Add. + * include/bits/stl_vector.h: Likewise. + * include/bits/stl_bvector.h: Likewise. + (_Bit_iterator::_M_const_cast): Add. + * include/bits/deque.tcc: Adjust definitions. + * include/bits/list.tcc: Likewise. + * include/bits/vector.tcc: Likewise. + * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast): + Define trivial version in C++98 mode. + * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT), + __versa_string<>::replace(iterator, iterator, const __versa_string&), + __versa_string<>::replace(iterator, iterator, const _CharT*, + size_type), __versa_string<>::replace(iterator, iterator, + const _CharT*), __versa_string<>::replace(iterator, iterator, + size_type, _CharT)): Adjust C++11 signatures to take a pair of + const_iterators. + * include/debug/deque: Adjust. + * include/debug/list: Likewise. + * include/debug/vector: Likewise. + * include/profile/deque: Likewise. + * include/profile/list: Likewise. + * include/profile/vector: Likewise. + (vector<>::emplace): Add. + * testsuite/util/exception/safety.h: Update. + * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc: + New. + * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc: + Likewise. + * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc: + Likewise. + * testsuite/23_containers/list/modifiers/insert/const_iterator.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/insert/ + const_iterator.cc: Likewise. + * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc: + Likewise. + * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc: + Likewise. + * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc: + Likewise. + * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc: + Likewise. + * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc: + Likewise. + + * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/ + ext/vstring/modifiers/erase/char/. + * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/ + ext/vstring/modifiers/wchar_t/. + * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/ + ext/vstring/modifiers/pop_back/char/. + * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to + testsuite/ext/vstring/modifiers/pop_back/wchar_t/. + + * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: + Adjust dg-error line number. + * testsuite/23_containers/deque/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/deque/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: + Likewise. + * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: + Likewise. + * testsuite/23_containers/list/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/list/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: + Likewise. + * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: + Likewise. + * testsuite/23_containers/vector/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: + Likewise. + +2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net> + + Status page for C++2014 library features + * doc/xml/faq.xml: Add link to new C++14 status page. + * doc/xml/manual/intro.xml: Ditto. + * doc/xml/manual/status_cxx2014.xml: New. + +2013-06-25 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid + spurious fails with check-debug. + * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: + Likewise. + * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise. + * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: + Likewise. + +2013-06-25 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/57704 + * include/bits/char_traits.h (char_traits<char>::lt): Implement + LWG 467. + * testsuite/21_strings/char_traits/requirements/char/57704.cc: New. + +2013-06-24 Bernd Edlinger <bernd.edlinger@hotmail.de> + + PR libstdc++/57691 + * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED, + declare per the letter of the C++ standard in terms of void. + * include/c_std/cstdlib: Likewise. + +2013-06-22 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/57674 + * include/bits/random.h (binomial_distribution<>::_M_waiting): + Add double parameter. + * include/bits/random.tcc (binomial_distribution<>::operator() + (_UniformRandomNumberGenerator&, const param_type&)): Pass + __param._M_q to _M_waiting. + (_M_waiting): Adjust. + * testsuite/26_numerics/random/binomial_distribution/ + operators/values.cc: Add tests. + +2013-06-21 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/57666 + * include/std/valarray (valarray<>::operator=(const _Expr<>&)): + Implement correctly C++11 26.6.2.3/1. + * testsuite/26_numerics/valarray/dr630-3.C: New. + +2013-06-18 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/57641 + * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common + functionality to new __timed_mutex_impl mixin. Overload try_lock_until + to handle conversion between different clocks. Replace constrained + __try_lock_for_impl overloads with conditional increment. + * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin. + * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New. + +2013-06-17 Jonathan Wakely <jwakely.gcc@gmail.com> + Chris Jefferson <chris@bubblescope.net> + + * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671 + dispatch to traditional std::equal for random-access iterators. + (__equal2_aux, __equal2): Remove. + (__equal::equal): Remove unused overloads. + * include/bits/stl_algo.h (is_permutation): Fix typos. + +2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/std/shared_mutex (shared_lock::operator=): Add missing + return statement. + +2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/57263 + * include/bits/forward_list.h (_Fwd_list_base): Convert to/from + allocator's pointer type. + * include/bits/hashtable.h (_Hashtable): Likewise. + * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add. + * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New. + * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New. + * testsuite/23_containers/vector/allocator/ext_ptr.cc: New. + +2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/std/shared_mutex: Implement N3659. + * include/bits/c++14_warning.h: New. + * include/Makefile.am: Add new headers. + * include/Makefile.in: Regenerate. + * testsuite/30_threads/shared_lock/cons/1.cc: New. + * testsuite/30_threads/shared_lock/locking/2.cc: New. + * testsuite/30_threads/shared_lock/cons/2.cc: New. + * testsuite/30_threads/shared_lock/locking/3.cc: New. + * testsuite/30_threads/shared_lock/cons/3.cc: New. + * testsuite/30_threads/shared_lock/locking/4.cc: New. + * testsuite/30_threads/shared_lock/cons/4.cc: New. + * testsuite/30_threads/shared_lock/modifiers/1.cc: New. + * testsuite/30_threads/shared_lock/cons/5.cc: New. + * testsuite/30_threads/shared_lock/modifiers/2.cc: New. + * testsuite/30_threads/shared_lock/cons/6.cc: New. + * testsuite/30_threads/shared_lock/requirements/ + explicit_instantiation.cc: New. + * testsuite/30_threads/shared_lock/locking/1.cc: New. + * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New. + * testsuite/30_threads/shared_mutex/cons/1.cc: New. + * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New. + * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New. + * testsuite/30_threads/shared_mutex/requirements/ + standard_layout.cc: New. + * testsuite/30_threads/shared_mutex/try_lock/1.cc: New. + * testsuite/30_threads/shared_mutex/try_lock/2.cc: New. + +2013-06-15 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/57619 + * include/bits/unordered_map.h (unordered_map<>::insert, + unordered_multimap<>::insert): Use std::forward, not std::move. + * testsuite/23_containers/unordered_map/insert/57619.C: New. + * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise. + +2013-06-14 Alan Modra <amodra@gmail.com> + + * configure.host (abi_baseline_pair): Match powerpc64*. + +2013-06-13 Daniel Krugler <daniel.kruegler@gmail.com> + + * include/std/type_traits (is_function): Support ref-qualified + functions. + (is_copy_constructible, is_move_constructible, is_copy_assignable, + is_move_assignable, is_nothrow_copy_constructible, + is_nothrow_move_constructible, is_nothrow_copy_assignable, + is_nothrow_move_assignable): Implement LWG 2196. + (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement + LWG 2101. + (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove, + unused. + * testsuite/20_util/add_lvalue_reference/value.cc: Extend. + * testsuite/20_util/add_rvalue_reference/value.cc: Likewise. + * testsuite/20_util/decay/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_assignable/value.cc: Likewise. + * testsuite/20_util/is_constructible/value-2.cc: Likewise. + * testsuite/20_util/is_copy_assignable/value.cc: Likewise. + * testsuite/20_util/is_copy_constructible/value.cc: Likewise. + * testsuite/20_util/is_function/value.cc: Likewise. + * testsuite/20_util/is_move_assignable/value.cc: Likewise. + * testsuite/20_util/is_move_constructible/value.cc: Likewise. + * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise. + * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise. + * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise. + * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise. + + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error + line number. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + +2013-06-13 Paolo Carlini <paolo.carlini@oracle.com> + + * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(), + __gnu_cxx::__airy_bi()): Remove. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 10_cyl_bessel_k/airy.cc: Fix. + +2013-06-12 Ed Smith-Rowland <3dw4rd@verizon.net> + + PR libstdc++/56430 + * include/tr1/modified_bessel_func.tcc (__airy): Remove return + from void function. + (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 10_cyl_bessel_k/airy.cc: New. + +2013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net> + + Fix library literals error involving namespace __detail. + * include/std/chrono: Rename __detail to __select_type. Reformat. + * include/bits/basic_string.h: Reformat. + * testsuite/20_util/duration/literals/ns_detail.cc: New. + +2013-06-11 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/56019 + * include/c_global/cstddef (max_align_t): Add to namespace std. + * include/c_std/cstddef: Likewise. + * testsuite/18_support/max_align_t/requirements/1.cc: New. + * testsuite/18_support/max_align_t/requirements/2.cc: Likewise. + +2013-06-10 Benjamin Kosnik <bkoz@redhat.com> + + * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add. + * include/bits/stl_map.h (erase): Use abi_tag when C++11. + * include/bits/stl_multimap.h: Same. + * include/bits/stl_multiset.h: Same. + * include/bits/stl_set.h: Same. + * include/bits/stl_tree.h: Same. + * include/std/complex (real, imag): Use macro for abi_tag. + + * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline. + * testsuite/util/testsuite_containers.h (erase_external): New + declarations. + (erase_external_iterators): Same. + (linkage_check_cxx98_cxx11_erase): Same. + (linkage_check_cxx98_cxx11_erase_iterators): Same. + * testsuite/util/testsuite_shared.cc: Define. + * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New. + * testsuite/23_containers/map/modifiers/erase/ + dr130-linkage-check.cc: New. + * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New. + * testsuite/23_containers/multimap/modifiers/erase/ + dr130-linkage-check.cc: New. + * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New. + * testsuite/23_containers/multiset/modifiers/erase/ + dr130-linkage-check.cc: New. + * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New. + * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc: + New. + * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number. + + * testsuite/23_containers/map/dr130.cc: Move... + * testsuite/23_containers/map/modifiers/dr130.cc: ...here. + * testsuite/23_containers/multimap/dr130.cc: Move ... + * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here. + * testsuite/23_containers/multiset/dr130.cc: Move... + * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here. + * testsuite/23_containers/set/dr130.cc: Move... + * testsuite/23_containers/set/modifiers/dr130.cc: ...here. + +2013-06-10 Thomas Schwinge <thomas@codesourcery.com> + + * testsuite/17_intro/headers/c++1998/49745.cc: Extend current + handling of Linux-based x86 systems to cover all GNU systems. + * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise. + * testsuite/18_support/pthread_guard.cc: Likewise. + * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: + Likewise. + * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: + Likewise. + * testsuite/21_strings/basic_string/pthread18185.cc: Likewise. + * testsuite/21_strings/basic_string/pthread4.cc: Likewise. + * testsuite/22_locale/ctype/is/char/2.cc: Likewise. + * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise. + * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. + * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise. + * testsuite/23_containers/list/pthread1.cc: Likewise. + * testsuite/23_containers/list/pthread5.cc: Likewise. + * testsuite/23_containers/map/pthread6.cc: Likewise. + * testsuite/23_containers/vector/debug/multithreaded_swap.cc: + Likewise. + * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: + Likewise. + * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise. + * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise. + * testsuite/30_threads/async/42819.cc: Likewise. + * testsuite/30_threads/async/49668.cc: Likewise. + * testsuite/30_threads/async/54297.cc: Likewise. + * testsuite/30_threads/async/any.cc: Likewise. + * testsuite/30_threads/async/async.cc: Likewise. + * testsuite/30_threads/async/launch.cc: Likewise. + * testsuite/30_threads/async/sync.cc: Likewise. + * testsuite/30_threads/call_once/39909.cc: Likewise. + * testsuite/30_threads/call_once/49668.cc: Likewise. + * testsuite/30_threads/call_once/call_once1.cc: Likewise. + * testsuite/30_threads/condition_variable/54185.cc: Likewise. + * testsuite/30_threads/condition_variable/cons/1.cc: Likewise. + * testsuite/30_threads/condition_variable/members/1.cc: Likewise. + * testsuite/30_threads/condition_variable/members/2.cc: Likewise. + * testsuite/30_threads/condition_variable/members/53841.cc: + Likewise. + * testsuite/30_threads/condition_variable/native_handle/typesizes.cc: + Likewise. + * testsuite/30_threads/condition_variable_any/50862.cc: Likewise. + * testsuite/30_threads/condition_variable_any/53830.cc: Likewise. + * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise. + * testsuite/30_threads/condition_variable_any/members/1.cc: + Likewise. + * testsuite/30_threads/condition_variable_any/members/2.cc: + Likewise. + * testsuite/30_threads/future/cons/move.cc: Likewise. + * testsuite/30_threads/future/members/45133.cc: Likewise. + * testsuite/30_threads/future/members/get.cc: Likewise. + * testsuite/30_threads/future/members/get2.cc: Likewise. + * testsuite/30_threads/future/members/share.cc: Likewise. + * testsuite/30_threads/future/members/valid.cc: Likewise. + * testsuite/30_threads/future/members/wait.cc: Likewise. + * testsuite/30_threads/future/members/wait_for.cc: Likewise. + * testsuite/30_threads/future/members/wait_until.cc: Likewise. + * testsuite/30_threads/lock/1.cc: Likewise. + * testsuite/30_threads/lock/2.cc: Likewise. + * testsuite/30_threads/lock/3.cc: Likewise. + * testsuite/30_threads/lock/4.cc: Likewise. + * testsuite/30_threads/mutex/cons/1.cc: Likewise. + * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise. + * testsuite/30_threads/mutex/lock/1.cc: Likewise. + * testsuite/30_threads/mutex/native_handle/1.cc: Likewise. + * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise. + * testsuite/30_threads/mutex/try_lock/1.cc: Likewise. + * testsuite/30_threads/mutex/try_lock/2.cc: Likewise. + * testsuite/30_threads/mutex/unlock/1.cc: Likewise. + * testsuite/30_threads/packaged_task/49668.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/1.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/2.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/3.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/move.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/move_assign.cc: + Likewise. + * testsuite/30_threads/packaged_task/members/get_future.cc: + Likewise. + * testsuite/30_threads/packaged_task/members/get_future2.cc: + Likewise. + * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise. + * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise. + * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise. + * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise. + * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise. + * testsuite/30_threads/packaged_task/members/reset.cc: Likewise. + * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise. + * testsuite/30_threads/packaged_task/members/swap.cc: Likewise. + * testsuite/30_threads/packaged_task/members/valid.cc: Likewise. + * testsuite/30_threads/promise/cons/1.cc: Likewise. + * testsuite/30_threads/promise/cons/alloc.cc: Likewise. + * testsuite/30_threads/promise/cons/move.cc: Likewise. + * testsuite/30_threads/promise/cons/move_assign.cc: Likewise. + * testsuite/30_threads/promise/members/get_future.cc: Likewise. + * testsuite/30_threads/promise/members/get_future2.cc: Likewise. + * testsuite/30_threads/promise/members/set_exception.cc: Likewise. + * testsuite/30_threads/promise/members/set_exception2.cc: + Likewise. + * testsuite/30_threads/promise/members/set_value.cc: Likewise. + * testsuite/30_threads/promise/members/set_value2.cc: Likewise. + * testsuite/30_threads/promise/members/set_value3.cc: Likewise. + * testsuite/30_threads/promise/members/swap.cc: Likewise. + * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise. + * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: + Likewise. + * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise. + * testsuite/30_threads/recursive_mutex/native_handle/1.cc: + Likewise. + * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: + Likewise. + * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise. + * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise. + * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: + Likewise. + * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: + Likewise. + * testsuite/30_threads/shared_future/cons/move.cc: Likewise. + * testsuite/30_threads/shared_future/members/45133.cc: Likewise. + * testsuite/30_threads/shared_future/members/get.cc: Likewise. + * testsuite/30_threads/shared_future/members/get2.cc: Likewise. + * testsuite/30_threads/shared_future/members/valid.cc: Likewise. + * testsuite/30_threads/shared_future/members/wait.cc: Likewise. + * testsuite/30_threads/shared_future/members/wait_for.cc: + Likewise. + * testsuite/30_threads/shared_future/members/wait_until.cc: + Likewise. + * testsuite/30_threads/this_thread/1.cc: Likewise. + * testsuite/30_threads/this_thread/2.cc: Likewise. + * testsuite/30_threads/this_thread/3.cc: Likewise. + * testsuite/30_threads/this_thread/4.cc: Likewise. + * testsuite/30_threads/thread/cons/1.cc: Likewise. + * testsuite/30_threads/thread/cons/2.cc: Likewise. + * testsuite/30_threads/thread/cons/3.cc: Likewise. + * testsuite/30_threads/thread/cons/4.cc: Likewise. + * testsuite/30_threads/thread/cons/49668.cc: Likewise. + * testsuite/30_threads/thread/cons/5.cc: Likewise. + * testsuite/30_threads/thread/cons/6.cc: Likewise. + * testsuite/30_threads/thread/cons/7.cc: Likewise. + * testsuite/30_threads/thread/cons/8.cc: Likewise. + * testsuite/30_threads/thread/cons/9.cc: Likewise. + * testsuite/30_threads/thread/cons/moveable.cc: Likewise. + * testsuite/30_threads/thread/members/1.cc: Likewise. + * testsuite/30_threads/thread/members/2.cc: Likewise. + * testsuite/30_threads/thread/members/3.cc: Likewise. + * testsuite/30_threads/thread/members/4.cc: Likewise. + * testsuite/30_threads/thread/members/5.cc: Likewise. + * testsuite/30_threads/thread/members/hardware_concurrency.cc: + Likewise. + * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise. + * testsuite/30_threads/thread/native_handle/typesizes.cc: + Likewise. + * testsuite/30_threads/thread/swap/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: + Likewise. + * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: + Likewise. + * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. + * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. + * testsuite/30_threads/try_lock/1.cc: Likewise. + * testsuite/30_threads/try_lock/2.cc: Likewise. + * testsuite/30_threads/try_lock/3.cc: Likewise. + * testsuite/30_threads/try_lock/4.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/1.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/2.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/3.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/4.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. + * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/1.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/2.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. + * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. + * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. + * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise. + * testsuite/ext/mt_allocator/22309_thread.cc: Likewise. + * testsuite/ext/profile/mh.cc: Likewise. + * testsuite/ext/rope/pthread7-rope.cc: Likewise. + * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: + Likewise. + * testsuite/util/testsuite_performance.h: Extend current handling + of Linux-based systems to cover all glibc-based systems. + +2013-06-09 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/std/mutex (call_once): Remove parentheses to fix error in + c++1y and gnu++1y mode. + * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new + thread to avoid undefined behaviour. + +2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net> + + Simplify and clean up library literals. + * include/std/chrono: Simplify namespace and versioning management. + * include/bits/basic_string.h: Ditto. + * testsuite/20_util/duration/literals/types.cc: Remove bogus comment. + * testsuite/20_util/duration/literals/values.cc: Ditto. + * testsuite/21_strings/basic_string/literals/types.cc: Ditto. + * testsuite/21_strings/basic_string/literals/values.cc: Ditto. + +2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net> + + Implement N3654 - Quoted Strings Library Proposal + * include/std/iomanip: Add quoted(String, Char delim, Char escape) + manipulators and supporting machinery in c++1y mode. + * testsuite/27_io/manipulators/standard/char/quoted.cc: New. + * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New. + +2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG + 2162: Add noexcept. + +2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/stl_algo.h (is_permutation): Add overloads from N3671. + * include/bits/stl_algobase.h (equal, mismatch): Likewise. + * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case. + * testsuite/25_algorithms/equal/2.cc: New. + * testsuite/25_algorithms/equal/check_type2.cc: New. + * testsuite/25_algorithms/is_permutationqual/2.cc: New. + * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New. + * testsuite/25_algorithms/mismatch/2.cc: New. + * testsuite/25_algorithms/mismatch/check_type2.cc: New. + * testsuite/util/testsuite_iterators.h: Fix spelling. + +2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/std/type-traits (integral_constant::operator()): Implement + N3545. + * testsuite/20_util/integral_constant/call_operator.cc: New. + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error + line numbers. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + +2013-06-07 Uros Bizjak <ubizjak@gmail.com> + + * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. + +2013-06-05 Tom Tromey <tromey@redhat.com> + + * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0. + +2013-06-03 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/57419 + * testsuite/20_util/default_delete/48631_neg.cc: Adjust. + +2013-06-01 Ed Smith-Rowland <3dw4rd@verizon.net> + + * include/std/chrono: Collapse redundant 'inline' from 'inline + constexpr'. + * include/std/tuple: Ditto. + * include/bits/move.h: Ditto. + +2013-05-30 Ed Smith-Rowland <3dw4rd@verizon.net> + + Implement N3642 - User-defined Literals for Standard Library Types + * include/bits/parse_numbers.h: New. + * include/std/chrono: Add duration literal operators. + * include/bits/basic_string.h: Add string literal operators. + * include/Makefile.in: Add parse_numbers.h. + * include/Makefile.am: Ditto. + * testsuite/20_util/duration/literals/values.cc: New. + * testsuite/20_util/duration/literals/types.cc: New. + * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust. + * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust. + * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust. + * testsuite/21_strings/basic_string/literals/values.cc: New. + * testsuite/21_strings/basic_string/literals/types.cc: New. + +2013-05-28 Jonathan Wakely <jwakely.gcc@gmail.com> + + * src/c++11/compatibility-chrono.cc (steady_clock::now()): If + !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of + calling non-existent from_time_t. + +2013-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: + Regenerate. + +2013-05-24 Benjamin Kosnik <bkoz@redhat.com> + + * include/std/chrono: Wrap clocks in inline namespace _V2. + * src/c++11/chrono.cc: Same. + * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc + file, with default configure macros selected. + + * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline + namespace. + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up. + + * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: + Regenerated. + * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: + Regenerated. + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: + Regenerated. + * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated. + * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated. + * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated. + * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated. + * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: + Regenerated. + * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated. + * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated. + +2013-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC] + (CLOCK_MONOTONIC): Define. + +2013-05-24 Paolo Carlini <paolo.carlini@oracle.com> + + * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t + overload. + + * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused. + +2013-05-24 Jakub Jelinek <jakub@redhat.com> + + * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, + include unistd.h and sys/syscall.h. If _GLIBCXX_COMPATIBILITY_CXX0X, + don't define system_clock::is_steady, system_clock::now() and + steady_clock::is_steady. + (std::chrono::system_clock::now()): If + _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call + syscall (SYS_clock_gettime, ...) instead of clock_gettime (...). + (std::chrono::system_clock::now()): Likewise. Add weak attribute + if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will + be non-empty. + * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc. + (compatibility-chrono.lo, compatibility-chrono.o): New goals. + * src/c++11/compatibility-chrono.cc: New file. + * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for + syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp). + * testsuite/util/testsuite_abi.cc (check_version): Add + GLIBCXX_3.4.20 version and make it the latest. + * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export + also @@GLIBCXX_3.4.19. Move all symbols so far added for GCC 4.9 to + @@GLIBCXX_3.4.20 instead. + * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: + Regenerated. + * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: + Regenerated. + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: + Regenerated. + * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated. + * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated. + * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated. + * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated. + * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: + Regenerated. + * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated. + * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated. + * config.h.in: Regenerated. + * src/Makefile.in: Regenerated. + * configure: Regenerated. + +2013-05-23 Matthias Klose <doko@ubuntu.com> + + * include/Makefile.am (bits_headers): Remove ${bits_host_headers}. + (ext_headers): Remove ${ext_host_headers}. + (stamp-${host_alias}): Create ${host_builddir}/../ext. + (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}. + (install-headers): Install ${bits_host_headers} and ${ext_host_headers}. + * include/Makefile.in: Regenerate. + * include/ext/random: Include ext/opt_random.h. + +2013-05-22 Jonathan Wakely <jwakely.gcc@gmail.com> + + * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to + enable features if target OS is known to support them. + * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'. + * configure: Regenerate. + +2013-05-21 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/57336 + * include/std/functional (__invoke): Do not form function types with + abstract return type. + * testsuite/20_util/reference_wrapper/invoke-3.cc: New. + +2013-05-19 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/std/tuple (get): Implement N3670. + * include/std/utility (get): Likewise. + * testsuite/20_util/pair/get.cc: Move to ... + * testsuite/20_util/pair/astuple/get.cc: Here. + * testsuite/20_util/pair/astuple/astuple.cc: New. + * testsuite/20_util/pair/astuple/constexpr_get.cc: New. + * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New. + * testsuite/20_util/pair/astuple/get_by_type.cc: New. + * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New. + * testsuite/20_util/pair/astuple/get_neg.cc: New. + * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New. + * testsuite/20_util/tuple/element_access/get2_by_type.cc: New. + * testsuite/20_util/tuple/element_access/get_by_type.cc: New. + +2013-05-19 Paolo Carlini <paolo.carlini@oracle.com> + + * Revert last commit. + +2013-05-19 Matthias Klose <doko@ubuntu.com> + + * include/Makefile.am (bits_headers): Remove ${bits_host_headers}. + (ext_headers): Remove ${ext_host_headers}. + (stamp-${host_alias}): Create ${host_builddir}/../ext. + (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}. + (install-headers): Install ${bits_host_headers} and ${ext_host_headers}. + * include/Makefile.in: Regenerate. + +2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/std/system_error (error_category::error_category()): LWG + 2145: Declare public and constexpr. + * src/c++11/system_error.cc (error_category::error_category()): Move + definition to ... + * src/c++11/compatibility-c++0x.cc: Here. + +2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept. + +2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/unique_ptr.h (make_unique): Declare inline. + (unique_ptr<T[],D>::reset()): Combine two overloads into one. + (default_delete, unique_ptr): Add doxygen comments. + * include/bits/shared_ptr_base.h: Improve doxygen comments. + * include/bits/shared_ptr.h: Likewise. + * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line + number. + * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise. + +2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/xml/manual/status_cxx2011.xml: Fix markup error. + +2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/xml/manual/status_cxx2011.xml: Fix markup error. + +2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/std/utility (exchange): Define. + * testsuite/20_util/exchange/1.cc: New. + +2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/unique_ptr.h (make_unique): Define. + * testsuite/20_util/unique_ptr/creation/single.cc: New. + * testsuite/20_util/unique_ptr/creation/array.cc: New. + * testsuite/20_util/unique_ptr/creation/array_neg.cc: New. + +2013-05-15 François Dumont <fdumont@gcc.gnu.org> + + * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix + rendering of std::tr1 unordered containers iterator. + (StdHashtableIterator): New, render std unordered containers iterator. + * testsuite/libstdc++-prettyprinters/tr1.cc: New. + +2013-05-15 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/basic_string.h (getline): Fix doxygen comments. + +2013-05-14 Paolo Carlini <paolo.carlini@oracle.com> + + * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast): + Use std::pointer_traits. + +2013-05-13 Benjamin Kosnik <bkoz@redhat.com> + + * libsupc++/Makefile.am (sources): Add bad_array_length.cc, + bad_array_new.cc. + * libsupc++/Makefile.in: Regenerate. + * libsupc++/bad_array_length.cc: Tweak. + * libsupc++/bad_array_new.cc: Tweak. + +2013-05-10 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/54577 + * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode. + (_Deque_iterator<>::_M_const_cast): Add. + (deque<>::_M_erase): Declare. + * include/bits/deque.tcc: ... and define. + * include/bits/stl_list.h (erase): Fix signatures in C++11 mode. + (_List_const_iterator<>::_M_const_cast): Add. + * include/bits/list.tcc (erase (iterator)): Fix. + * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast): + Add; include <ext/cast.h>. + * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode. + (vector<>::_M_erase): Declare. + * include/bits/stl_bvector.h: Likewise. + * include/bits/vector.tcc (vector<>::_M_erase): Define. + * include/ext/vstring.h (erase): Fix signatures in C++11 mode. + * include/debug/deque: Adjust. + * include/debug/list: Likewise. + * include/debug/vector: Likewise. + * include/profile/deque: Likewise. + * include/profile/list: Likewise. + * include/profile/vector: Likewise. + * testsuite/util/exception/safety.h (erase_base<deque>, + erase_base<deque>, erase_base<vector>): Remove. + (erase_base<__versa_string>): Update. + * testsuite/ext/vstring/modifiers/char/54577.cc: New. + * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise. + * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise. + * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise. + * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise. + * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: + Adjust dg-error line numbers. + * testsuite/23_containers/deque/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/deque/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: + Likewise. + * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: + Likewise. + * testsuite/23_containers/list/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/list/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/list/requirements/dr438/ + insert_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: + Likewise. + * testsuite/23_containers/vector/requirements/dr438/ + constructor_1_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/ + constructor_2_neg.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: + Likewise. + +2013-05-09 Uros Bizjak <ubizjak@gmail.com> + + * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8. + +2013-05-08 Jason Merrill <jason@redhat.com> + + Add std::bad_array_length (N3639) + * libsupc++/new: Add std::bad_array_length. + * libsupc++/bad_array_length.cc: New. + * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length. + * libsupc++/Makefile.in: Build them. + * config/abi/pre/gnu.ver: Add new symbols. + * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols. + +2013-05-08 Andi Kleen <ak@linux.intel.com> + + PR target/55947 + * libstdc++-v3/include/bits/atomic_base.h + (_GLIBCXX_ALWAYS_INLINE): Add new macro. + (atomic_thread_fence, atomic_signal_fence, test_and_set, + clear, store, load, exchange, compare_exchange_weak) + compare_exchange_strong, fetch_add, fetch_sub, fetch_and, + fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE. + +2013-05-08 Jason Merrill <jason@redhat.com> + + Add std::bad_array_new_length (N2932) + * libsupc++/new: Add std::bad_array_new_length. + * libsupc++/bad_array_new.cc: New. + * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length. + * libsupc++/Makefile.in: Build them. + * config/abi/pre/gnu.ver: Add new symbols. + * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols. + +2013-05-08 Andoni Morales Alastruey <ylatuya@gmail.com> + + PR libstdc++/57212 + * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify + to __MINGW32__. + * include/Makefile.in: Regenerated. + +2013-05-07 François Dumont <fdumont@gcc.gnu.org> + + * include/profile/unordered_base.h: New. + * include/Makefile.am: Add new profile header. + * include/Makefile.in: Regenerate. + * include/profile/impl/profiler.h + (__profcxx_inefficient_hash_is_on): New macro. + * include/profile/unordered_map (std::profile::unordered_map<>): + Use new _Unordered_profile base class. Use default implementations + for special functions. + (std::profile::unordered_multimap<>): Likewise. + * include/profile/unordered_set (std::profile::unordered_set<>): + Likewise. + (std::profile::unordered_multiset<>): Likewise. + * testsuite/23_containers/unordered_multiset/55043.cc: Fix + MoveOnly equality operator signature. + +2013-05-02 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/tr1/4_metaprogramming/integral_constant/requirements/ + constexpr_data.cc: Move... + * testsuite/20_util/integral_constant/requirements/constexpr_data.cc: + ... here. + * testsuite/20_util/integral_constant/requirements/ + explicit_instantiation.cc: New. + * testsuite/20_util/integral_constant/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/integral_constant/static_definition.cc: Likewise. + * testsuite/20_util/integral_constant/true_false_type_typedefs.cc: + Likewise. + * testsuite/20_util/integral_constant/true_false_value.cc: Likewise. + * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise. + +2013-05-02 Paolo Carlini <paolo.carlini@oracle.com> + + * include/std/type_traits (is_null_pointer): Add. + (__is_nullptr_t): Implement in terms of the latter. + (is_fundamental, is_scalar): Adjust. + * testsuite/20_util/is_null_pointer/requirements/ + explicit_instantiation.cc: New. + * testsuite/20_util/is_null_pointer/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/is_null_pointer/value.cc: Likewise. + * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error + line number. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + +2013-05-02 Paolo Carlini <paolo.carlini@oracle.com> + + * include/c_global/cstdio: Add comment about LWG 2249. + * include/c_std/cstdio: Likewise. + +2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix + comment. + * include/std/mutex (__recursive_mutex_base): Likewise. + +2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/51365 + * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to + implement EBO safely. + (_Sp_counted_base::_M_get_deleter): Add noexcept. + (_Sp_counter_ptr): Use noexcept instead of comments. + (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper. + (_Sp_counted_ptr_inplace): Likewise. + * testsuite/20_util/shared_ptr/cons/51365.cc: New. + * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to + custom allocator and test construction with custom allocator. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error + line number. + +2013-04-26 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust + dialect to -std=gnu++11. + +2013-04-26 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h + (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics. + * testsuite/23_containers/unordered_set/insert/move_range.cc: New. + +2013-04-26 Paolo Carlini <paolo.carlini@oracle.com> + + * include/c_global/cstdio (gets): Provide only in C++98 and C++11. + * include/c_std/cstdio (gets): Likewise. + * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust. + +2013-04-25 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/57065 + * include/debug/unordered_map (unordered_map, unordered_multimap): + Fix default allocator type. + * include/profile/unordered_map (unordered_map, unordered_multimap): + Likewise. + * include/bits/unordered_map.h: Fix comments. + +2013-04-24 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/56905 + * libsupc++/exception_ptr.h (copy_exception): Deprecate and + move implementation to make_exception_ptr. + * include/std/future (_State_base::_M_break_promise): Replace + copy_exception with make_exception_ptr. + * testsuite/18_support/exception_ptr/move.cc: Likewise. + * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise. + * testsuite/30_threads/future/members/get2.cc: Likewise. + * testsuite/30_threads/promise/members/set_exception.cc: Likewise. + * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. + * testsuite/30_threads/promise/members/set_value2.cc: Likewise. + * testsuite/30_threads/shared_future/members/get2.cc: Likewise. + +2013-04-22 Jason Merrill <jason@redhat.com> + + * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h. + + * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In + substitution" lines. + + * testsuite/20_util/is_assignable/value.cc: Comment out tests involving + function-cv-quals. + * testsuite/20_util/is_constructible/value-2.cc: Likewise. + * testsuite/20_util/reference_wrapper/result_type.cc: Likewise. + * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise. + +2013-04-22 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h: Add C++11 allocator support. + * include/bits/hashtable.h: Likewise. + * include/bits/unordered_set.h: Likewise. + * include/bits/unordered_map.h: Likewise. + * include/debug/unordered_set: Likewise. + * include/debug/unordered_map: Likewise. + * include/std/unordered_set: Remove bits/algobase.h + include. Replace bits/alloc_traits.h by ext/alloc_traits.h. + * include/std/unordered_map: Likewise. + * include/ext/throw_allocator.h: Add checks on calls to allocator + construct/destroy. + (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw. + (std::hash<__gnu_cxx::throw_value_random>): Likewise. + * testsuite/util/regression/rand/priority_queue + /container_rand_regression_test.tcc: Adapt. + * testsuite/util/regression/rand/assoc + /container_rand_regression_test.tcc: Likewise. + * testsuite/util/testsuite_counter_type.h: Add count of destructors. + * testsuite/23_containers/unordered_set + /not_default_constructible_hash_neg.cc: Adjust dg-error line number. + * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise. + * testsuite/23_containers/unordered_set/allocator/copy.cc: New. + * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New. + * testsuite/23_containers/unordered_set/allocator/minimal.cc: New. + * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New. + * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New. + * testsuite/23_containers/unordered_set/allocator/swap.cc: New. + * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New. + * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc: + New. + * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New. + * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc: + New. + * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New. + * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New. + * testsuite/23_containers/unordered_map/allocator/copy.cc: New. + * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New. + * testsuite/23_containers/unordered_map/allocator/minimal.cc: New. + * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New. + * testsuite/23_containers/unordered_map/allocator/noexcept.cc: + New. + * testsuite/23_containers/unordered_map/allocator/swap.cc: New. + * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New. + * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc: + New. + * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New. + * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc: + New. + * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New. + * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New. + +2013-04-22 Paolo Carlini <paolo.carlini@oracle.com> + + * include/std/type_traits (is_signed): Simplify. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: + Adjust dg-error line numbers. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. + +2013-04-22 Paolo Carlini <paolo.carlini@oracle.com> + + N3669 + * include/std/complex (complex<float>::real, complex<float>::imag, + complex<double>::real, complex<double>::imag, + complex<long double>::real, complex<long double>::imag): Declare + as const member functions. + * include/std/type_traits (integral_constant<>::operator value_type): + Likewise. + +2013-04-22 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/57010 + * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment. + * testsuite/25_algorithms/pop_heap/57010.cc: New. + +2013-04-21 Evgeniy Stepanov <eugenis@google.com> + + * src/c++11/system_error.cc (generic_category_instance): Add + initializer. + (system_category_instance): Likewise. + * src/c++11/future.cc (__fec): Likewise. + +2013-04-20 Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/xml/manual/extensions.xml: Fix anachronism. + +2013-04-09 Tom Tromey <tromey@redhat.com> + + * configure, config.h.in: Rebuild. + * configure.ac: Use GLIBCXX_CHECK_SDT_H. Don't check for + sys/sdt.h. + * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun. + +2013-04-09 Uros Bizjak <ubizjak@gmail.com> + + * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. + +2013-04-08 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>. + +2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/Makefile.am: Add ext/aligned_buffer.h + * include/Makefile.in: Regenerate. + * include/ext/aligned_buffer.h: New. + * include/std/future (_Result): Use __aligned_buffer. + * include/bits/forward_list.h (_Fwd_list_node): Likewise. + * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line + number. + +2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/forward_list.h: Only include required headers. + (forward_list::reference): Define directly, not using __alloc_traits. + (forward_list::const_reference): Likewise. + +2013-04-07 François Dumont <fdumont@gcc.gnu.org> + + * include/std/functional (_Derives_from_unary_function): Remove. + (_Derives_from_binary_function): Remove. + * include/std/type_traits (__sfinae_types): Remove. + (__is_assignable_helper): Adapt. + (__is_convertible_helper): Adapt. + (_GLIBCXX_HAS_NESTED_TYPE): Adapt. + Remove several explicit instantiations of integral_constant. + * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: + Adapt dg-error line number. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. + * testsuite/20_util/bind/ref_neg.cc: Likewise. + +2013-04-05 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/56841 + * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and + get_terminate() accessors. + * libsupc++/eh_throw.cc (__cxa_throw): Likewise. + * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not + available. + * libsupc++/new_handler.cc: Likewise. + +2013-04-04 Jonathan Wakely <jwakely.gcc@gmail.com> + + * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version. + +2013-04-03 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/56834 + * include/debug/array (tuple_size, tuple_element): Do not declare. + * include/profile/array: Likewise. + * testsuite/23_containers/array/tuple_interface/ + tuple_element_debug_neg.cc: Adjust dg-error line number. + +2013-04-03 Jonathan Wakely <jwakely.gcc@gmail.com> + + * libsupc++/exception (get_terminate(), get_unexpected()): Declare. + * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()): + Define. + (set_terminate(terminate_handler)): Set atomically. + (set_unexpected(terminate_handler)): Likewise. + * libsupc++/new (get_new_handler()): Declare. + * libsupc++/new_handler.cc (get_new_handler()): Define. + (set_new_handler(new_handler)): Set atomically. + (__new_handler): Use internal linkage. + * libsupc++/new_op.cc (operator new): Use get_new_handler(). + * libsupc++/new_opnt.cc (operator new): Likewise. + * acinclude.m4: Bump libtool_VERSION to 6:19:0. + * configure: Regenerate. + * libsupc++/Makefile.am: Compile above files with -std=gnu++11. + * libsupc++/Makefile.in: Regenerate. + * config/abi/pre/gnu.ver: Add new exports. + * doc/xml/manual/status_cxx2011.xml: Update. + * testsuite/18_support/headers/exception/synopsis.cc: Check accessors + for handlers. + * testsuite/18_support/headers/new/synopsis.cc: Likewise. + * testsuite/18_support/new_handler.cc: New. + * testsuite/18_support/terminate_handler.cc: New. + * testsuite/18_support/unexpected_handler.cc: New. + +2013-04-02 Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/xml/manual/appendix_contributing.xml: Remove broken link and + defer to general documentation on contributing to GCC. + * doc/html/*: Regenerate. + +2013-03-30 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article. + + * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU + Coding Standards. + + * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer. + + * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL. + + * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link. + + * doc/xml/manual/messages.xml: Adjust link to Java API specs. + + * doc/xml/manual/policy_data_structures: Remove direct link to + IBM Haifa Research Labs. + + * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links + for biblio.maverik_lowerbounds and biblio.nelson96stlpq. + + * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org + papers. + + * doc/xml/manual/shared_ptr.xml: Use canonical address for + www.boost.org. + +2013-03-27 Kai Tietz <ktietz@redhat.com> + + * crossconfig.m4: Add support for cygwin x64 target. + * configure: Regenerated. + +2013-03-25 Kai Tietz <ktietz@redhat.com> + + * testsuite/18_support/50594.cc: For mingw-targets use only static + libstdc++-version. + * testsuite/19_diagnostics/error_category/operators/equal.cc + * testsuite/19_diagnostics/error_code/cons/1.cc + * testsuite/19_diagnostics/error_code/operators/bool.cc + * testsuite/19_diagnostics/error_code/operators/equal.cc + * testsuite/19_diagnostics/error_code/operators/not_equal.cc + * testsuite/19_diagnostics/error_condition/cons/1.cc + * testsuite/19_diagnostics/error_condition/operators/bool.cc + * testsuite/19_diagnostics/error_condition/operators/equal.cc + * testsuite/19_diagnostics/error_condition/operators/not_equal.cc + * testsuite/23_containers/set/requirements/exception/basic.cc + * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc + * testsuite/lib/dg-options.exp (dg-additional-options): New option. + +2013-03-24 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/56170 + * include/ext/debug_allocator.h (debug_allocator): Add missing members + to meet allocator requirements. + * testsuite/ext/debug_allocator/56170.cc: New. + +2013-03-22 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/56678 + * include/std/chrono (__is_ratio): Uglify T. + +2013-03-18 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/55977 (partial, std::vector and std::deque bits) + * include/bits/stl_vector.h (_M_range_initialize(_InputIterator, + _InputIterator, std::input_iterator_tag)): Use emplace_back. + * include/bits/deque.tcc (_M_range_initialize(_InputIterator, + _InputIterator, std::input_iterator_tag)): Likewise. + * testsuite/23_containers/vector/cons/55977.cc: New. + * testsuite/23_containers/deque/cons/55977.cc: Likewise. + * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: + Adjust dg-error line number. + * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: + Likewise. + +2013-03-17 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/55979 + * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator, + _InputIterator, __false_type)): Use emplace_back. + * testsuite/23_containers/list/cons/55979.cc: New. + * testsuite/23_containers/list/modifiers/1.h: Adjust. + * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: + Adjust dg-error line number. + +2013-03-16 Jason Merrill <jason@redhat.com> + + PR c++/55017 + * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move. + +2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/56468 + * libsupc++/exception_ptr.h (type_info): Declare. + +2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/56002 + * include/std/mutex (lock_guard, unique_lock, lock): Define without + depending on _GLIBCXX_HAS_GTHREADS. + * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets. + +2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/56492 + * include/std/future (__future_base::_Result): Add result_type + typedef. + (__future_base::_S_allocate_result): Overload for std::allocator. + (__future_base::_Task_setter): Use _Result::result_type instead of + deducing the type from the task. + (__future_base::_Task_state): Store allocator to allow shared state + to be reset. Replace std::function with member of target object type + accessed via ... + (__future_base::_Task_state_base): New abstract base class. + (__future_base::_Task_state_base::_M_run): New virtual function to + invoke type-erased target object. + (__future_base::_Task_state_base::_M_reset): New virtual function to + create new shared_state using same target object and allocator. + (__future_base::__create_task_state): Allocate a new _Task_state. + (packaged_task::packaged_task): Use __create_task_state. + (packaged_task::reset): Use _Task_state_base::_M_reset. + * testsuite/30_threads/packaged_task/cons/56492.cc: New. + +2013-03-15 Tom Tromey <tromey@redhat.com> + + * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected. + (PROBE2): New macro. + * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe. + * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe. + * configure.ac: Check for sys/sdt.h. + * configure, config.h.in: Rebuild. + +2013-03-14 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/56613 + * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use + allocator_traits instead of calling construct directly. + * testsuite/23_containers/map/56613.cc: New. + +2013-03-13 Benjamin Kosnik <bkoz@redhat.com> + + * doc/html/*: Regenerate. + +2013-03-13 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/56609 + * include/std/type_traits (is_fundamental): Add std::nullptr_t. + * testsuite/20_util/is_fundamental/value.cc: Extend. + * testsuite/20_util/is_compound/value.cc: Likewise. + +2013-03-09 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid + -Wunused warnings. + +2013-03-08 Benjamin Kosnik <bkoz@redhat.com> + + * include/bits/memoryfwd.h: New. Centralize forward declarations. + * include/bits/algorithmfwd.h: Consistent comments. + * include/bits/localefwd.h: Same. + * include/ext/vstring_fwd.h: Same. + * include/parallel/algorithmfwd.h: Same. + * include/parallel/numericfwd.h: Same. + * include/std/iosfwd: Same. + + * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator + forward decl. + * include/ext/alloc_traits.h: Remove allocator forward decl. + * include/bits/stl_construct.h: Same. + * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator + forward decl. Consistent comments. + + * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO. + + * include/Makefile.am (bits_headers): Add memoryfwd.h. + * include/Makefile.in: Regenerate. + * configure: Same. + +2013-03-08 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/vector.tcc (vector<>operator=(const vector<>&): + Reset pointers after deallocation when memory can be reused. + * testsuite/23_containers/vector/allocator/minimal.cc: Insert + elements to really challenge C++11 allocator integration. + * testsuite/23_containers/vector/allocator/copy.cc: Likewise. + * testsuite/23_containers/vector/allocator/copy_assign.cc: + Likewise. + * testsuite/23_containers/vector/allocator/move_assign.cc: + Likewise. + * testsuite/23_containers/vector/allocator/swap.cc: Likewise and + swap vector back before checks on memory/personality mapping are + performed. + * testsuite/23_containers/forward_list/allocator/minimal.cc: + Insert element to really challenge C++11 allocator integration. + * testsuite/23_containers/forward_list/allocator/copy.cc: + Likewise. + * testsuite/23_containers/forward_list/allocator/copy_assign.cc: + Likewise. + * testsuite/23_containers/forward_list/allocator/move_assign.cc: + Likewise. + * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise + and swap forward_list back before checks on memory/personality + mapping are performed. + +2013-03-07 Jakub Jelinek <jakub@redhat.com> + + * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. + * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: + Likewise. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. + * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise. + * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise. + +2013-03-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * scripts/extract_symvers.pl: Omit symbols bound to base + versions. + * scripts/extract_symvers.in: Likewise. + * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate. + * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise. + * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise. + * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. + * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. + +2013-03-04 Ulrich Drepper <drepper@gmail.com> + + * include/ext/random (__gnu_cxx::von_mises_distribution<>): + Optimize generation function by pulling computation of __r into the + constructor for param_type. Also compare _M_mu in operator==. + Fix comment. + +2013-03-02 Ulrich Drepper <drepper@gmail.com> + + Add triangular and von Mises distributions. + * include/ext/random: Include <ext/cmath>. + Add __gnu_cxx::triangular_distribution<> and + __gnu_cxx::von_mises_distribution<> classes. + * include/ext/random.tcc: Add out-of-line functions for + __gnu_cxx::triangular_distribution<> and + __gnu_cxx::von_mises_distribution<>. + * testsuite/ext/triangular_distribution/cons/default.cc: New file. + * testsuite/ext/triangular_distribution/cons/parms.cc: New file. + * testsuite/ext/triangular_distribution/operators/serialize.cc: + New file. + * testsuite/ext/triangular_distribution/operators/equal.cc: + New file. + * testsuite/ext/triangular_distribution/operators/inequal.cc: + New file. + * testsuite/ext/triangular_distribution/requirements/typedefs.cc: + New file. + * testsuite/ext/triangular_distribution/requirements/ + explicit_instantiation/1.cc: New file. + * testsuite/ext/von_mises_distribution/cons/default.cc: New file. + * testsuite/ext/von_mises_distribution/cons/parms.cc: New file. + * testsuite/ext/von_mises_distribution/operators/serialize.cc: + New file. + * testsuite/ext/von_mises_distribution/operators/equal.cc: New file. + * testsuite/ext/von_mises_distribution/operators/inequal.cc: + New file. + * testsuite/ext/von_mises_distribution/requirements/typedefs.cc: + New file. + * testsuite/ext/von_mises_distribution/requirements/ + explicit_instantiation/1.cc: New file. + + Add math constants. + * include/Makefile.am (ext_headers): Add cmath. + * include/Makefile.in: Regenerated. + * include/ext/cmath: New file. + +2013-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate. + * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise. + * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise. + * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. + * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. + +2013-02-26 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/56012 + * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion. + * testsuite/29_atomics/atomic/operators/56012.cc: New. + + PR libstdc++/56011 + * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add + missing overload. + * testsuite/29_atomics/atomic/operators/56011.cc: New. + +2013-02-25 Jason Merrill <jason@redhat.com> + + * configure.ac: Check for __cxa_thread_atexit_impl. + * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward + to it if available. + * config.h.in, configure: Regenerate. + +2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/std/streambuf (basic_streambuf): Use injected class name + instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen + group. + +2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/html/faq.html: Fix spelling. + * doc/xml/faq.xml: Likewise. + * include/bits/basic_ios.h: Likewise. + * include/bits/regex.h: Likewise. + * include/std/istream: Likewise. + * include/std/streambuf: Likewise. + +2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com> + + * testsuite/23_containers/unordered_set/55043.cc: Add missing + namespace qualification. + * testsuite/23_containers/unordered_multiset/55043.cc: Likewise. + +2013-02-19 Benjamin Kosnik <bkoz@redhat.com> + + * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to + _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT, + AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1. + * include/bits/stl_pair.h: Add to utilities group. + * include/std/tuple: Same. + * include/std/typeindex: Same. + + * include/bits/stringfwd.h: Fix markup. + * include/std/limits: Same. + * include/std/type_traits: Same. + * include/tr1/memory: Same. + * include/tr1/regex: Same. + * scripts/run_doxygen: Comment. + * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers. + +2013-02-14 Jason Merrill <jason@redhat.com> + + * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole + test if unsupported. + +2013-02-13 Marc Glisse <marc.glisse@inria.fr> + + PR libstdc++/56111 + * include/std/complex (complex): Undefine. + * include/c_compatibility/complex.h (complex): Only undefine if + <complex> has been included. + * testsuite/26_numerics/complex/56111.cc: New testcase. + +2013-02-13 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h (_Hash_code_base): Restore + default constructor protected. + * include/bits/hashtable.h: static assert that _Hash_code_base has + a default constructor available through inheritance. + +2013-02-12 Paolo Carlini <paolo.carlini@oracle.com> + + * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in + C++11 mode. + +2013-02-12 Julian Brown <julian@codesourcery.com> + + * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01): + Don't expect dots after abbreviated weekday names for ru_RU for + glibc versions >= 2.17. + * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01): + Likewise. + +2013-02-12 Paolo Carlini <paolo.carlini@oracle.com> + + * include/bits/random.tcc (__transform): Remove. + (__normalize): Add. + (discrete_distribution<>::param_type::_M_initialize): Adjust. + (piecewise_constant_distribution<>::param_type::_M_initialize): + Likewise. + (piecewise_linear_distribution<>::param_type::_M_initialize): + Likewise. + +2013-02-11 Benjamin Kosnik <bkoz@redhat.com> + + * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o): + Use -fimplicit-templates. + * src/c++11/Makefile.in: Regenerate. + * src/c++11/hashtable_c++0x.cc: Remove instantiation for + std::lower_bound template. + +2013-02-11 Paolo Carlini <paolo.carlini@oracle.com> + + * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare. + * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only + in C++11 mode and if available in the underlying C library. + * testsuite/18_support/quick_exit/quick_exit.cc: Compile with + -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and + _GLIBCXX_HAVE_QUICK_EXIT. + +2013-02-11 Benjamin Kosnik <bkoz@redhat.com> + + * doc/html/*: Regenerate. + +2013-02-11 Jason Merrill <jason@redhat.com> + + * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New. + (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit. + * config.h.in, configure: Regenerate. + * include/c_std/cstdlib: Add atexit and at_quick_exit. + * include/c_global/cstdlib: Add atexit and at_quick_exit. + * testsuite/18_support/quick_exit/quick_exit.cc: New. + +2013-02-11 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/56282 + Revert: + 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net> + + PR libstdc++/56193 + * include/bits/basic_ios.h: Replace operator void*() const + with explicit operator bool() const in C++11 and greater. + * testsuite/27_io/basic_ios/pr56193.cc: New file. + +2013-02-10 François Dumont <fdumont@gcc.gnu.org> + Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/xml/manual/containers.xml: Add section on unordered containers. + * doc/xml/manual/using.xml: Fix incomplete sentence. + +2013-02-10 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/56267 + * include/bits/hashtable.h (__cache_default): Check if hash function + is copy assignable. + * testsuite/23_containers/unordered_set/56267.cc: New. + * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust + dg-error line number. + * testsuite/23_containers/unordered_set/ + not_default_constructible_hash_neg.cc: Likewise. + + PR libstdc++/56278 + * include/bits/hashtable_policy.h (_Hash_code_base): Make default + constructor public. + * testsuite/23_containers/unordered_set/56278.cc: New. + +2013-02-09 François Dumont <fdumont@gcc.gnu.org> + + * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code + simplification. + +2013-02-08 Edward Smith-Rowland <3dw4rd@verizon.net> + + PR libstdc++/56216 + * include/tr1/special_function_util.h: Remove spurious const + from numeric arguments. + * include/tr1/riemann_zeta.tcc: Likewise. + * include/tr1/exp_integral.tcc: Likewise. + * include/tr1/bessel_function.tcc: Likewise. + * include/tr1/hypergeometric.tcc: Likewise. + * include/tr1/modified_bessel_func.tcc: Likewise. + * include/tr1/poly_laguerre.tcc: Likewise. + * include/tr1/gamma.tcc: Likewise. + * include/tr1/legendre_function.tcc: Likewise. + * include/tr1/poly_hermite.tcc: Likewise. + * include/tr1/ell_integral.tcc: Likewise. + * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): + If argument is zero return function value. + * testsuite/tr1/5_numerical_facilities/special_functions/ + 08_cyl_bessel_i/pr56216.cc: New. + +2013-02-07 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/27_io/basic_ios/pr56193.cc: Tweak. + +2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net> + + PR libstdc++/56193 + * include/bits/basic_ios.h: Replace operator void*() const + with explicit operator bool() const in C++11 and greater. + * testsuite/27_io/basic_ios/pr56193.cc: New file. + +2013-02-04 Dodji Seketeli <dodji@redhat.com> + + Add missing explicit instantiation for std::lower_bound template + * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add + missing instantiation for std::lower_bound template. + +2013-02-04 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/functional_hash.h (std::__is_fast_hash<>): New. + * include/bits/basic_string.h: Specialize previous to mark + std::hash for string types as slow. + * include/bits/hashtable.h (__cache_default): Replace is_integral + with __is_fast_hash. + * src/c++11/hash_c++0x.cc: Add type_traits include. + * testsuite/23_containers/unordered_set/instantiation_neg.cc: + Adapt dg-error line number. + * testsuite/23_containers/unordered_set/ + not_default_constructible_hash_neg.cc: Likewise. + +2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org> + Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/56202 (again) + * include/bits/random.tcc (binomial_distribution<>:: + _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko + in previous commit. + + * include/bits/random.h: Fix comment typo. + +2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org> + Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/56202 + * include/bits/random.tcc (binomial_distribution<>:: + _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid + division by zero. + +2013-02-03 Richard Sandiford <rdsandiford@googlemail.com> + + Update copyright years. + * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc, + testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc, + testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc, + testsuite/23_containers/deque/requirements/dr438/insert_neg.cc, + testsuite/23_containers/list/requirements/dr438/assign_neg.cc, + testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc, + testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc, + testsuite/23_containers/list/requirements/dr438/insert_neg.cc, + testsuite/23_containers/vector/requirements/dr438/assign_neg.cc, + testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc, + testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc, + testsuite/23_containers/vector/requirements/dr438/insert_neg.cc, + testsuite/29_atomics/atomic/cons/assign_neg.cc, + testsuite/29_atomics/atomic/cons/copy_neg.cc, + testsuite/29_atomics/atomic_integral/cons/assign_neg.cc, + testsuite/29_atomics/atomic_integral/cons/copy_neg.cc, + testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc, + testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc, + testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: + Update lines in dg error matches. + +2013-02-03 Richard Sandiford <rdsandiford@googlemail.com> + + * config/os/mingw32/ctype_inline.h: Fix copyright typo. + +2013-02-01 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h + (_Prime_rehash_policy::_M_next_bkt) + (_Prime_rehash_policy::_M_need_rehash): Move definition... + * src/c++11/hashtable_c++0x.cc: ... here. + * src/shared/hashtable-aux.cc: Remove c++config.h include. + * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy + symbols. + +2013-01-29 Jason Merrill <jason@redhat.com> + + PR libstdc++/54314 + * config/abi/pre/gnu.ver: Don't export construction vtables. + * config/abi/pre/gnu-versioned-namespace.ver: Likewise. + +2013-01-28 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/56112 + * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace + to construct value_type explicitly before trying to extract the key. + * testsuite/23_containers/unordered_map/cons/56112.cc: New. + +2013-01-28 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h (_Local_iterator_base): Use + _Hashtable_ebo_helper to embed functors into the local_iterator + when necessary. Pass information about functors involved in hash + code by copy. + * include/bits/hashtable.h (__cache_default): Do not cache for + builtin integral types unless the hash functor is not noexcept + qualified or is not default constructible. Adapt static assertions + and local iterator instantiations. + * include/debug/unordered_set + (std::__debug::unordered_set<>::erase): Detect local iterators to + invalidate using contained node rather than generating a dummy + local_iterator instance. + (std::__debug::unordered_multiset<>::erase): Likewise. + * include/debug/unordered_map + (std::__debug::unordered_map<>::erase): Likewise. + (std::__debug::unordered_multimap<>::erase): Likewise. + * testsuite/performance/23_containers/insert_erase/41975.cc: Test + std::tr1 and std versions of unordered_set regardless of any + macro. Add test on default cache behavior. + * testsuite/performance/23_containers/insert/54075.cc: Likewise. + * testsuite/23_containers/unordered_set/instantiation_neg.cc: + Adapt line number. + * testsuite/23_containers/unordered_set/ + not_default_constructible_hash_neg.cc: New. + * testsuite/23_containers/unordered_set/buckets/swap.cc: New. + +2013-01-24 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/56085 + * include/std/complex (pow(const complex<>&, int)): Avoid __n + signed overflow. + +2013-01-22 Jakub Jelinek <jakub@redhat.com> + + * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: + Tightten scan-assembler-times regexps, add dg-additional-options for + ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to + dg-options. + +2013-01-12 Andi Kleen <ak@linux.intel.com> + Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/55233 + * include/bits/atomic_base.h (__memory_order_modifier): Add + __memory_order_mask, __memory_order_modifier_mask, + __memory_order_hle_acquire, __memory_order_hle_release. + (operator|,operator&): Add. + (__cmpexch_failure_order): Rename to __cmpexch_failure_order2. + (__cmpexch_failure_order): Add. + (clear, store, load, compare_exchange_weak, compare_exchange_strong): + Handle flags. + * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: + Add. + +2013-01-19 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/55861 + * include/std/future (_State_base::_S_check(const shared_ptr<T>&)): + Fix return type. + (__basic_future::_M_get_result()): Const qualify. + (shared_future::get()): Likewise. + * testsuite/30_threads/shared_future/members/get.cc: Use const + objects. + +2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/55043 (again) + * include/bits/alloc_traits.h (allocator_traits::construct): Disable + unless construction would be well-formed. + (__allow_copy_cons, __check_copy_constructible): Define. + * include/bits/unordered_map.h (__check_copy_constructible): Use as + base class so copy constructor will be deleted if appropriate. + (is_copy_constructible): Remove specialization. + * include/bits/unordered_set.h: Likewise. + * include/debug/unordered_map.h: Undo previous commit. Default copy + and move constructors. + * include/debug/unordered_set.h: Likewise. + * include/profile/unordered_map.h: Undo previous commit. + * include/profile/unordered_set.h: Likewise. + * testsuite/23_containers/unordered_map/55043.cc: Fix test. + * testsuite/23_containers/unordered_multimap/55043.cc: Likewise. + * testsuite/23_containers/unordered_multiset/55043.cc: Likewise. + * testsuite/23_containers/unordered_set/55043.cc: Likewise. + * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL, + cannot support incomplete types. + * testsuite/23_containers/unordered_multimap/requirements/53339.cc: + Likewise. + +2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/55043 + * include/std/unordered_map: Include alloc_traits.h + * include/std/unordered_set: Likewise. + * include/bits/alloc_traits.h: Define __is_copy_insertable. + * include/bits/unordered_map.h: Use it. + * include/bits/unordered_set.h: Likewise. + * include/debug/unordered_map.h: Likewise. + * include/debug/unordered_set.h: Likewise. + * include/profile/unordered_map.h: Likewise. + * include/profile/unordered_set.h: Likewise. + * include/bits/hashtable.h: Fix comment typos. + * testsuite/23_containers/unordered_map/55043.cc: New. + * testsuite/23_containers/unordered_multimap/55043.cc: New. + * testsuite/23_containers/unordered_multiset/55043.cc: New. + * testsuite/23_containers/unordered_set/55043.cc: New. + +2013-01-03 Janis Johnson <janisjo@codesourcery.com> + + * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running + gdb command. + +2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing. + +2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/55908 + * include/std/functional (_Mem_fn::operator()): Fix constraints to + avoid ambiguity. + * testsuite/20_util/function_objects/mem_fn/55908.cc: New. + * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers. + +2013-01-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR libstdc++/55594 + * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to + Solaris targets. + * configure: Regenerate. + +2013-01-07 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR libstdc++/55847 + * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string. + * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify + string. + + PR libstdc++/55728 + * include/std/functional (bad_function_call::what()): Declare. + * src/c++11/functional.cc (bad_function_call::what()): Define. + * config/abi/pre/gnu.ver (bad_function_call::what()): Export. + * testsuite/20_util/bad_function_call/what.cc: New. + +2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com> + + * include/bits/unordered_map.h: Fix typo in comments. + * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket + counts for unordered associative containers. + +2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/xml/manual/abi.xml: Update library and symbol versions. + +2013-01-06 Richard Sandiford <rdsandiford@googlemail.com> + + * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo + in copyright years. + * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise. + + +Copyright (C) 2013-2014 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. |