+2015-08-12 Caroline Tice <cmtice@google.com>
+
+ PR 66521, Contributed by Eric Gallager
+ * acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and
+ fix the rpath flag to work properly for darwin.
+ * configure: Regenerated.
+
+2015-08-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/appendix_contributing.xml: Update patch email policy.
+ * doc/xml/manual/status_cxx2017.xml: Update status table.
+ * doc/html/manual/*: Regenerate.
+
+2015-08-09 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement N4279, Improved insertion interface for unique-key maps.
+ * include/bits/stl_map.h (try_emplace, insert_or_assign): New.
+ * include/bits/stl_tree.h (_M_get_insert_unique_pos,
+ _M_get_insert_equal_pos, _M_get_insert_hint_unique_pos,
+ _M_get_insert_hint_equal_pos): Make public.
+ * include/bits/unordered_map.h (try_emplace, insert_or_assign): New.
+ * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
+ Likewise.
+ * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
+ * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
+ Likewise.
+
+2015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
+ and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
+ templated assignment
+ * include/bits/unique_ptr.h
+ (__remove_cv, __is_derived_Tp): Remove.
+ (default_delete::default_delete(const default_delete<_Up[]>)):
+ Constrain with array convertibility.
+ (default_delete::operator(_Up*)): Turn into a template,
+ constrain with array convertibility.
+ (__safe_conversion_up): New, single object version.
+ (unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
+ convertibility.
+ (unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
+ is_assignable as a constraint.
+ (__safe_conversion_up): Array version, renamed from __safe_conversion,
+ updated to implement N4089.
+ (__safe_conversion_raw): New.
+ (unique_ptr(_Up)): Turn into a template, constrain with array
+ convertibility.
+ (unique_ptr(_Up,
+ typename conditional<is_reference<deleter_type>::value,
+ deleter_type, const deleter_type&>::type)): Likewise.
+ (unique_ptr(_Up, typename
+ remove_reference<deleter_type>::type&&)): Likewise.
+ (unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
+ (operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
+ is_assignable as a constraint (array version).
+ (reset(_Up)): Turn into a template, constrain with array
+ convertibility.
+ (reset(nullptr_t)): New.
+ * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
+ * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
+ * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
+ * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
+ * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
+ * testsuite/20_util/unique_ptr/dr2228.cc: New.
+ * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.
+
+2015-08-05 Nikolai Bozhenov <n.bozhenov@samsung.com>
+
+ * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove
+ redundant -save-temps option.
+ * testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise.
+ * testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise.
+ * testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise.
+ * testsuite/30_threads/future/cons/constexpr.cc: Likewise.
+ * testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
+
+2015-08-03 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/67078
+ * include/bits/range_access.h (size, empty, data): Fix _N bad name.
+
+2015-07-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/experimental/filesystem/operations/current_path.cc: Use
+ canonical paths for comparisons.
+
+2015-07-30 Tim Shen <timshen@google.com>
+
+ * include/bits/regex_automaton.h (_State_base, _State<>):
+ Remove _TraitsT dependency from _State<>; Make matcher member
+ into the union to reduce struct size.
+ * include/bits/regex_automaton.tcc (_State_base<>::_M_print,
+ _State_base<>::_M_dot, _StateSeq<>::_M_clone):
+ Adjust to fit the interface. Factor out common parts in
+ _M_clone as _State<>::_M_has_alt.
+ * include/bits/regex_executor.h (_Executer<>::_M_lookahead):
+ Only pass state id instead of the whole state.
+ * include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
+ _Executer<>::_M_lookahead): Adjust to fit the interface.
+ * include/std/regex: Include <ext/aligned_buffer.h>
+
+2015-07-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/any (any::operator=(const any&)): Check for
+ self-assignment.
+ * testsuite/experimental/any/assign/self.cc: New.
+ * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
+
+2015-07-29 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/66829
+ * testsuite/lib/libstdc++.exp (v3-build_support): Compile
+ testsuite_shared.cc with -std=gnu++98.
+
+2015-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ * include/bits/range_access.h: Change class to typename in every
+ template.
+ (size, empty, data): New functions from N4280.
+ * testsuite/24_iterators/container_access.cc: New.
+
+ PR libstdc++/60970
+ * include/bits/functional_hash.h (__hash_enum): New.
+ (hash): Derive from __hash_enum.
+ * testsuite/20_util/hash/60970.cc: New.
+
+2015-07-29 Tim Shen <timshen@google.com>
+
+ PR libstdc++/67015
+ * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
+ _BracketMatcher<>::_M_add_collating_element): Change signature
+ to make checking the and of bracket expression easier.
+ * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term):
+ Treat '-' as a valid literal if it's at the end of bracket expression.
+ * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
+ New testcases.
+
+2015-07-24 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
+ (_M_load_and_test_until): Whitespace.
+ (_M_load_and_test): Value-initialize the unused durations.
+ (_M_load_when_equal): Add missing return value.
+
+2015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
+
+ * fragment.am (AM_CPPFLAGS): Add CPPFLAGS.
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Regenerate.
+ * include/Makefile.in: Regenerate.
+ * libsupc++/Makefile.in: Regenerate.
+ * po/Makefile.in: Regenerate.
+ * python/Makefile.in: Regenerate.
+ * src/Makefile.in: Regenerate.
+ * src/c++11/Makefile.in: Regenerate.
+ * src/c++98/Makefile.in: Regenerate.
+ * src/filesystem/Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+
+2015-07-23 DJ Delorie <dj@redhat.com>
+
+ * include/bits/functional_hash.h: Add specializations for __intN
+ types.
+
+ * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds):
+ Guard against values that might exceed size_t's precision.
+
+2015-07-20 Jason Merrill <jason@redhat.com>
+
+ * include/bits/c++config: Fix abi_tag in special modes.
+
+2015-07-19 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2017.xml: Fix URL for N4279.
+ * doc/html/manual/status.html: Regenerate.
+
+2015-07-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle.
+ * doc/html/manual/status.html: Regenerate.
+
+2015-07-16 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/stl_algobase.h (__miter_base): Move...
+ * include/bits/cpp_type_traits.h: ...here.
+ * include/debug/functions.h (__foreign_iterator_aux): Use latter.
+ * testsuite/23_containers/vector/debug/insert7_neg.cc: New.
+
+2015-07-13 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/66855
+ * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override
+ endianness bit in mode.
+ * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New.
+
+ * include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define.
+ * include/bits/forward_list.h (forward_list::swap): Make noexcept
+ unconditional.
+ * include/bits/hashtable.h (_Hashtable::swap): Do not use
+ _S_nothrow_swap().
+ * include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept
+ unconditional.
+ * include/bits/stl_deque.h (deque::swap): Likewise.
+ (swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF.
+ * include/bits/stl_list.h (list::swap): Make noexcept unconditional.
+ (swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF.
+ * include/bits/stl_map.h (map::swap, swap(map&, map&)): Use
+ _GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap.
+ * include/bits/stl_multimap.h (multimap::swap,
+ swap(multimap&, multimap&)): Likewise.
+ * include/bits/stl_multiset.h (multiset::swap,
+ swap(multiset&, multiset&)): Likewise.
+ * include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise.
+ * include/bits/stl_tree.h (_Rb_tree::swap,
+ swap(_Rb_tree&, _Rb_tree&)): Likewise.
+ * include/bits/stl_vector.h (vector::swap): Make noexcept
+ unconditional.
+ (swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF.
+ * include/debug/deque (deque::swap, swap): Likewise.
+ * include/debug/forward_list (swap): Add noexcept.
+ * include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
+ * include/debug/map.h (map::swap, swap): Likewise.
+ * include/debug/multimap.h (multimap::swap, swap): Likewise.
+ * include/debug/multiset.h (multiset::Swap, swap): Likewise.
+ * include/debug/set.h (set::swap, swap): Likewise.
+ * include/debug/unordered_map (unordered_map::swap,
+ unordered_multimap::swap, swap): Likewise.
+ * include/debug/unordered_set (unordered_set::swap,
+ unordered_multiset::swap, swap): Likewise.
+ * include/debug/vector (vector::swap, swap): Likewise.
+ * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()):
+ Remove.
+ * include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
+ * include/profile/forward_list (swap): Add noexcept.
+ * include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF.
+ * include/profile/map.h (map::swap, swap): Likewise.
+ * include/profile/multimap.h (multimap::swap, swap): Likewise.
+ * include/profile/multiset.h (multiset::swap, swap): Likewise.
+ * include/profile/set.h (set::swap, swap): Likewise.
+ * include/profile/unordered_map (swap): Likewise.
+ * include/profile/unordered_set (swap): Likewise.
+ * include/profile/vector (vector::swap, swap): Likewise. Remove
+ overloads for swapping rvalues.
+ * testsuite/23_containers/deque/allocator/noexcept.cc: Update tests
+ for noexcept on swap.
+ * testsuite/23_containers/forward_list/allocator/noexcept.cc:
+ Likewise.
+ * testsuite/23_containers/list/allocator/noexcept.cc: Likewise.
+ * 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/bool/allocator/noexcept.cc: Likewise.
+ * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
+ number.
+
+2015-07-13 John Marino <gnugcc@marino.st>
+
+ * config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK,
+ _GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK,
+ _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define.
+
+2015-07-05 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
+ rehash container.
+ * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
+ Adapt.
+
+2015-07-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2017.xml: Update status table.
+ * doc/html/manual/*: Regenerate.
+
+2015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement std::experimental::fundamentals_v2::propagate_const.
+ * include/Makefile.am: Add propagate_const.
+ * include/Makefile.in: Regenerate.
+ * include/experimental/propagate_const: New.
+ * testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
+ * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
+ * testsuite/experimental/propagate_const/assignment/move_neg.cc:
+ Likewise.
+ * testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
+ * testsuite/experimental/propagate_const/cons/default.cc: Likewise.
+ * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
+ * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
+ * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
+ * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
+ * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
+ * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
+ * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
+ * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
+ * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
+ * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
+ * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
+ * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
+
+2015-07-02 Jonathan Wakely <jwakely@redhat.com>
+
+ * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
+ --with-default-libstdcxx-abi
+ * configure: Regenerate.
+ * doc/xml/manual/configure.xml: Document valid arguments.
+
+2015-07-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
+ to avoid unused variable warning.
+ (__set_and_release): Use __p after __atomic_store to avoid unused
+ variable warning.
+
+2015-07-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/alloc_traits.h (__alloctr_rebind): Remove.
+ (__allocator_traits_base): New base class.
+ (__alloc_rebind): Reimplement in terms of detection idiom.
+ (allocator_traits): Derive from __allocator_traits_base. Reimplement
+ nested types in terms of detection idiom. Simplify SFINAE constraints
+ on overloaded static member functions.
+ * include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead
+ of __alloctr_rebind.
+ * testsuite/20_util/scoped_allocator/propagation.cc: Define rebind.
+ * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
+ dg-error line number.
+
+ * include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
+ __ptrtr_rebind, __ptrtr_not_void): Remove
+ (__get_first_arg, __replace_first_arg, __make_not_void): Define new
+ transformations.
+ (__detected_or_): New detection trait.
+ (pointer_traits): Use new traits.
+ * testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member.
+ * testsuite/20_util/pointer_traits/requirements/
+ explicit_instantiation.cc: Use valid arguments to pointer_traits.
+
+ * doc/xml/manual/status_cxx2017.xml: Update status table.
+ * include/experimental/type_traits (void_t, is_detected,
+ is_detected_v, detected_t, detected_or, detected_or_t,
+ is_detected_exact, is_detected_exact_v, is_detected_convertible,
+ is_detected_convertible_v): Define.
+ * include/std/type_traits (__detector, __detected_or, __detected_or_t,
+ __detected_or_t_): Define.
+ * testsuite/experimental/type_traits/detection.cc: New.
+
+2015-06-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
+ * doc/Makefile.in: Regenerate.
+
+ * include/bits/stl_pair.h: Replace class keyword with typename.
+
+2015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement N4387, "Improving pair and tuple", and LWG 2367.
+
+ * include/bits/stl_pair.h (_ConstructiblePair,
+ _ImplicitlyConvertiblePair, _MoveConstructiblePair,
+ _ImplicitlyMoveConvertiblePair): New.
+ (pair()): Constrain it.
+ (pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
+ pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
+ pair(pair<_U1, _U2>&&)): Make conditionally explicit.
+ * include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
+ (tuple()): Constrain it.
+ (tuple(const _UElements&...), tuple(_UElements&&...),
+ tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
+ tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
+ tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
+ tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
+ tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
+ tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
+ tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
+ tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
+ conditionally explicit.
+ * include/experimental/functional (__boyer_moore_array_base): Name
+ array type explicitly instead of using an empty braced-init-list.
+ * testsuite/20_util/pair/cons/explicit_construct.cc: New.
+ * testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
+ * testsuite/20_util/pair/requirements/dr2367.cc: New.
+ * testsuite/20_util/tuple/cons/explicit_construct.cc: New.
+ * testsuite/20_util/tuple/requirements/dr2367.cc: New.
+
+2015-06-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * configure: Regenerate.
+
+2015-06-29 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
+ to pre-C++11 mode.
+ * include/debug/functions.h
+ (__gnu_debug::__valid_range, __gnu_debug::__base): Move...
+ * include/debug/safe_iterator.h
+ (__gnu_debug::_Sequence_traits): New.
+ (__gnu_debug::__get_distance_from_begin): New.
+ (__gnu_debug::__get_distance_to_end): New.
+ (__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
+ distance information. Add optional check_dereferenceable parameter,
+ default true.
+ (__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
+ default definition...
+ (__gnu_debug::__get_distance): New overload for _Safe_iterator.
+ (__gnu_debug::__unsafe): Likewise.
+ * include/debug/helper_functions.h: ...here. New.
+ (__gnu_debug::__unsafe): New helper function to remove safe iterator
+ layer.
+ * include/debug/stl_iterator.h: New. Include latter.
+ * include/bits/stl_iterator.h: Include latter in debug mode.
+ * include/debug/stl_iterator.tcc: Adapt.
+ * include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
+ overload for _Safe_local_iterator.
+ (__gnu_debug::__unsafe): Likewise.
+ * include/debug/safe_local_iterator.tcc: Adapt.
+ * include/debug/macros.h (__glibcxx_check_valid_range2): New.
+ (__glibcxx_check_insert_range): Add _Dist parameter.
+ (__glibcxx_check_insert_range_after): Likewise.
+ (__glibcxx_check_string, __glibcxx_check_string_len): Implement using
+ _GLIBCXX_DEBUG_PEDASSERT.
+ * include/debug/deque (deque<>::assign): Remove iterator debug layer
+ when possible.
+ (deque<>::insert): Likewise.
+ * include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
+ (forward_list<>::splice_after): Use latter.
+ (forward_list<>::assign): Remove iterator debug layer when possible.
+ (forward_list<>::insert_after): Likewise.
+ (__gnu_debug::_Sequence_traits<>): Partial specialization.
+ * include/debug/list (list<>::assign): Remove iterator debug layer when
+ possible.
+ (list<>::insert): Likewise.
+ [__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
+ * include/debug/map.h (map<>::insert): Remove iterator debug layer when
+ possible.
+ * include/debug/multimap.h (multimap<>::insert): Likewise.
+ * include/debug/set.h (set<>::insert): Likewise.
+ * include/debug/multiset.h (multiset<>::insert): Likewise.
+ * include/debug/string (basic_string<>::append, basic_string<>::assign,
+ basic_string<>::insert, basic_string<>::replace): Likewise.
+ * include/debug/unordered_map
+ (unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
+ * include/debug/unordered_set
+ (unordered_set<>::insert, unordered_multiset<>insert): Likewise.
+ * include/debug/vector
+ (vector<>::assign, vector<>::insert): Likewise.
+ * include/Makefile.am: Add new debug headers.
+ * include/Makefile.in: Regenerate.
+
+2015-06-26 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/intro.xml: Document LWG 2108 status.
+ * include/bits/alloc_traits.h (allocator_traits::is_always_equal):
+ Define.
+ * include/bits/allocator.h (allocator::is_always_equal): Likewise.
+ * include/bits/forward_list.h
+ (forward_list::operator=(forward_list&&)): Use __bool_constant.
+ (forward_list::swap(forward_list&)): Add noexcept.
+ * include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)):
+ Likewise.
+ (_Hashtable::swap(_Hashtable&)): Likewise.
+ * include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
+ Use _Alloc_traits::is_always_equal.
+ (deque::operator=(deque&&)): Likewise.
+ (deque::_M_move_assign1(deque&&, false_type)): Add comment and use
+ __bool_constant.
+ (swap(deque&, deque&)): Add noexcept.
+ * include/bits/stl_list.h (list::operator=(list&&)): Use
+ __bool_constant.
+ (swap(list&, list&)): Add noexcept.
+ * include/bits/stl_map.h (map::swap(map&)): Include _Compare in
+ noexcept.
+ (swap(map&, map&)): Add noexcept.
+ * include/bits/stl_multimap.h (multimap::swap(multimap&)): Include
+ _Compare in noexcept.
+ (swap(multimap&, multimap&)): Add noexcept.
+ * include/bits/stl_multiset.h (multiset::swap(multiset&)): Include
+ _Compare in noexcept.
+ (swap(multiset&, multiset&)): Add noexcept.
+ * include/bits/stl_set.h (set::swap(set&)): Include _Compare in
+ noexcept.
+ (swap(set&, set&)): Add noexcept.
+ * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include
+ _Compare in noexcept.
+ (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use
+ is_always_equal.
+ * include/bits/stl_vector.h (vector::operator=(vector&&)): Use
+ __bool_constant.
+ (swap(vector&, vector&)): Add noexcept.
+ * include/bits/unordered_map.h (swap(unordered_map&, unordered_map&),
+ swap(unordered_multimap& unordered_multimap&)): Add noexcept.
+ * include/bits/unordered_set.h (swap(unordered_set&, unordered_set&),
+ swap(unordered_multiset& unordered_multiset&)): Add noexcept.
+ * include/ext/alloc_traits.h (__allocator_always_compares_equal):
+ Remove.
+ (__alloc_traits::_S_always_equal()): Use is_always_equal instead of
+ __allocator_always_compares_equal.
+ * include/ext/array_allocator.h (array_allocator::is_always_equal):
+ Define.
+ * include/std/scoped_allocator (__any_of, __propagate_on_copy,
+ __propagate_on_move, __propagate_on_swap): Remove.
+ (scoped_allocator_adaptor::propagate_on_container_copy_assignment,
+ scoped_allocator_adaptor::propagate_on_container_move_assignment,
+ scoped_allocator_adaptor::propagate_on_container_swap): Define with
+ __and_ instead of __any_of.
+ (scoped_allocator_adaptor::is_always_equal): Define.
+ * testsuite/20_util/allocator_traits/members/is_always_equal.cc: New.
+ * testsuite/20_util/scoped_allocator/propagation.cc: Make traits
+ derive from true_type or false_type.
+ * testsuite/23_containers/deque/allocator/move_assign-2.cc: Add
+ is_always_equal member and remove the trait specialization.
+ * testsuite/23_containers/vector/52591.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/list/requirements/dr438/assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/list/requirements/dr438/constructor_1_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.
+
+ * include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept.
+ * include/bits/stl_map.h (map::map()): Likewise.
+ * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
+ * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
+ * include/bits/stl_set.h (set::set()): Likewise.
+
+2015-06-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/locale_conv.h (__do_str_codecvt): Set __count.
+
2015-06-24 François Dumont <fdumont@gcc.gnu.org>
* include/bits/basic_string.h (basic_string<>::front()): Add !empty