re PR libstdc++/78723 ([variant] P0393r3: "Making variant greater equal again" is...
[gcc.git] / libstdc++-v3 / ChangeLog
index fde7f341444e0ebfbe21e9dd0d0781ef2a23cfe6..5ce466fa9ec72b17e73d5afdacea1bccfe6a8050 100644 (file)
@@ -1,5 +1,510 @@
+2017-02-15  Tim Shen  <timshen@google.com>
+
+       PR libstdc++/78723
+       * include/std/variant (operator<(), operator>(), operator<=(),
+       operator>=(), operator==(), operator!=()): Implement P0393R3.
+       * testsuite/20_util/variant/compile.cc: Adjust tests.
+       * testsuite/20_util/variant/run.cc: Adjust tests.
+
+2017-02-15  Tim Shen  <timshen@google.com>
+
+       PR libstdc++/79513
+       * include/std/variant (visit()): Forward variant types to the return
+       type detection code.
+       * testsuite/20_util/variant/compile.cc: Add test cases.
+
+2017-02-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR libstdc++/79348
+       * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
+
+2017-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/79348
+       * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
+       * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
+       * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
+       * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Likewise.
+       * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
+       * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Likewise.
+       * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
+       * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
+
+2017-02-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/79486
+       * include/std/future (__future_base::_Task_state::_M_run)
+       (__future_base::_Task_state::_M_run_delayed): Use lvalue types in
+       result_of expressions.
+       * testsuite/30_threads/packaged_task/79486.cc: New.
+
+2017-02-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/79467
+       * include/bits/shared_ptr_base.h (__shared_ptr(_Yp*, _Deleter))
+       (__shared_ptr(_Yp*, _Deleter, _Alloc)): Use lvalue types in
+       __is_callable check.
+       * testsuite/20_util/shared_ptr/cons/79467.cc: New.
+
+       * include/bits/atomic_base.h: Re-indent.
+
+2017-02-10  Gerald Pfeifer  <gerald@pfeifer.com> 
+
+       * doc/xml/manual/profile_mode.xml: Update a paper reference. 
+
+2017-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * src/c++11/snprintf_lite.cc (__err): Use https for bug reporting.
+
+2017-02-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/policy_data_structures.xml: Fix spelling of author's
+       name.
+       * doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove
+       broken links to texts that are no longer online.
+       * doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and
+       LCPC 2006 paper.
+       * doc/xml/manual/using.xml: Update links to memory model information.
+       * doc/xml/manual/using_exceptions.xml: Update link to "Appendix E:
+       Standard-Library Exception Safety".
+       * doc/html/*: Regenerate.
+
+2017-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
+       
+       * doc/xml/manual/profile_mode.xml: Unbreak link to
+       "Optimizing Sorting with Machine Learning Algorithms".
+
+2017-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
+       
+       * src/c++11/snprintf_lite.cc (__err): Update bug reporting URL.
+
+2017-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
+       
+       * doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++
+       Migration Guide".
+
+2017-02-07  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/html/ext/lwg-active.html: Remove.
+       * doc/html/ext/lwg-closed.html: Ditto.
+       * doc/html/ext/lwg-defects.html: Ditto.
+
+       * doc/Makefile.am (xml_extradir): Remove.
+       (xml_extra): Ditto.
+       (stamp-html-docbook-lwg): Remove recipe...
+       (stamp-html-docbook-data): ...and its use here.
+       * doc/Makefile.in: Regenerate.
+
+       * doc/xml/manual/intro.xml: Shorten two paragraphs explaining
+       the relationship to the upstream working group.
+       Replace a local link to ../ext/lwg-active.html by the upstream one.
+       Replace all reference to ../ext/lwg-defects.html by a new entity
+       &DR; which refers to the upstream address.
+
+2017-02-07  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/status_cxx2017.xml: Fix link to N4284.
+
+2017-02-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/79323
+       * testsuite/20_util/duration/literals/range.cc: Prune extra output
+       at -O0.
+
+2017-02-06  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/documentation_hacking.xml: Update URL of the
+       DocBook Element Reference.  Use that term as link description
+       instead of "online".
+       epubcheck has moved to GitHub.
+       Remove obsolete link to DocBook Publishing Tools.
+
+2017-02-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/66145
+       * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override
+       so new ios::failure can be caught even when old ABI is the default.
+       * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
+       * testsuite/27_io/basic_istream/extractors_arithmetic/char/
+       exceptions_failbit.cc: Likewise.
+       * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
+       exceptions_failbit.cc: Likewise.
+       * testsuite/27_io/basic_istream/extractors_other/char/
+       exceptions_null.cc: Likewise.
+       * testsuite/27_io/basic_istream/extractors_other/wchar_t/
+       exceptions_null.cc: Likewise.
+       * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
+       * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
+       * testsuite/27_io/basic_ostream/inserters_other/char/
+       exceptions_null.cc: Likewise.
+       * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
+       exceptions_null.cc: Likewise.
+       * testsuite/27_io/ios_base/storage/2.cc: Likewise.
+
+       PR libstdc++/60936
+       * src/c++11/Makefile.am: Add new files.
+       * src/c++11/Makefile.in: Regenerate.
+       * src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
+       (operator<<, operator>>, getline): Move explicit instantiations to ...
+       * src/c++11/cow-string-io-inst.cc: ... new file.
+       * src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
+       (operator<<, operator>>, getline): Move explicit instantiations to ...
+       * src/c++11/cow-wstring-io-inst.cc: ... new file.
+       * src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error)
+       (__throw_future_error, __throw_bad_function_call):
+       (__throw_regex_error): Move functions for C++11 exceptions to the
+       files that define the exception types.
+       * src/c++11/functional.cc (__throw_bad_function_call): Move here.
+       * src/c++11/future.cc (__throw_future_error): Likewise.
+       * src/c++11/ios.cc (__throw_ios_failure): Likewise.
+       * src/c++11/regex.cc (__throw_regex_error): Likewise.
+       * src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal
+       representation directly instead of calling __int_to_char.
+       * src/c++11/sso_string.cc (__sso_string): New file for definition
+       of __sso_string type.
+       * src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
+       explicit instantiations of narrow string I/O functions.
+       * src/c++11/system_error.cc (__throw_system_error): Move here.
+       (__sso_string): Move to new file.
+       * src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
+       explicit instantiations of wide string I/O functions.
+       * src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<)
+       (operator>>, getline): Remove explicit instantiations from here.
+
+2017-02-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
+
+2017-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.host: Separate Solaris/SPARC and x86 baselines.
+       * config/abi/post/solaris2.10/baseline_symbols.txt: Move ...
+       * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here.
+       * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ...
+       * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
+       ... here.
+       * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ...
+       * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here.
+       * config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file.
+       * config/abi/post/solaris2.11/baseline_symbols.txt: Move ...
+       * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here.
+       * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ...
+       * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
+       ... here.
+       * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ...
+       * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here.
+       * config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file.
+
+       * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
+       * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
+       * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
+       * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
+       * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
+       * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
+
+2017-02-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/78346
+       * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator
+       not its referent.
+       (_Iter_comp_to_iter): Likewise.
+       * testsuite/25_algorithms/search/78346.cc: New test.
+
+       PR libstdc++/79254
+       * config/abi/pre/gnu.ver: Remove recently added symbols.
+       * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
+       (basic_string::_M_copy_assign): Remove.
+       (basic_string::operator=(const basic_string&)): Don't dispatch to
+       _M_copy_assign. If source object is small just deallocate, otherwise
+       perform new allocation before making any changes.
+       * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
+       (basic_string::_M_copy_assign(const basic_string&, true_type)):
+       Remove.
+       * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
+       Test cases where the allocators are equal or the string is small.
+       * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
+       Likewise.
+
+2017-01-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       Implement LWG 2825, LWG 2756 breaks class template argument
+       deduction for optional.
+       * include/std/optional: Add a deduction guide.
+       * testsuite/20_util/optional/cons/deduction_guide.cc: New.
+
+2017-01-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/79254
+       * config/abi/pre/gnu.ver: Add new symbols.
+       * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
+       (basic_string::_M_copy_assign): New overloaded functions to perform
+       copy assignment.
+       (basic_string::operator=(const basic_string&)): Dispatch to
+       _M_copy_assign.
+       * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
+       (basic_string::_M_copy_assign(const basic_string&, true_type)):
+       Define, performing rollback on exception.
+       * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
+       Test exception-safety guarantee.
+       * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
+       Likewise.
+       * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
+       std::swap visible.
+
+2017-01-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/70607
+       * include/tr1/complex (conj): Remove using-declaration and restore
+       overloads, reverting previous change.
+
+       * testsuite/23_containers/list/operations/78389.cc: Fix for C++11
+       mode.
+       * testsuite/23_containers/priority_queue/requirements/constructible.cc:
+       Mark as unsupported in C++98 mode.
+       * testsuite/23_containers/queue/requirements/constructible.cc:
+       Likewise.
+       * testsuite/23_containers/stack/requirements/constructible.cc:
+       Likewise.
+       * testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode.
+
+       PR libstdc++/79243
+       * include/bits/c++config (literals::string_view_literals::__7): Add.
+       Only declare versioned namespaces for the relevant C++ dialects.
+       * include/experimental/bits/erase_if.h (fundamentals_v2::__detail):
+       Add versioning macros.
+       * include/experimental/bits/lfts_config.h:
+       (fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add.
+       * include/experimental/string_view (fundamentals_v2::__detail):
+       Add versioning macros.
+       (fundamentals_v2::__detail::__identity): Remove.
+       (fundamentals_v2::__detail::__idt): Use common_type instead of
+       __detail::__identity.
+       * include/std/string_view (__detail::__identity, __detail::__idt):
+       Likewise.
+       (literals::string_view_literals): Fix nesting of versioning macros.
+
+       PR libstdc++/79190
+       * libsupc++/del_opa.cc (operator delete(void*, std::align_val_t))
+       [!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN
+       && !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]:
+       Retrieve original pointer value allocated by malloc.
+       * libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC
+       && !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN
+       && !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)):
+       Define, adjusting pointer value allocated by malloc and storing for
+       retrieval by operator delete.
+
+2017-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * libsupc++/eh_atomics.h: Update copyright years.
+       * testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years.
+
+2017-01-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/61791
+       PR libstdc++/70607
+       * include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR.
+       (proj(T), conj(T)): Change return types per DR 1522.
+       * include/tr1/complex (conj): Remove overloads and use std::conj.
+       * testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to...
+       * testsuite/26_numerics/complex/dr781.cc: ... this, and update.
+       * testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test
+       real(T) and imag(T). Allow testing for C++11 too.
+
+2017-01-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/79206
+       * include/experimental/string_view (operator==): Check sizes first.
+       * include/std/string_view (operator==): Likewise.
+
+2017-01-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/experimental/array/make_array.cc: Restore <functional>
+       inclusion.
+
+2017-01-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * testsuite/29_atomics/atomic/69301.cc: Require atomic builtins.
+
+2017-01-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/79195
+       * include/experimental/array (__make_array_elem): New class template
+       and partial specialization.
+       (__is_reference_wrapper): Move into __make_array_elem specialization.
+       (make_array): Use __make_array_elem to determine element type and move
+       static assertion into specialization. Qualify std::forward call.
+       (to_array): Add exception specifiation.
+       * testsuite/experimental/array/make_array.cc: Test argument types
+       without a common type.
+       * testsuite/experimental/array/neg.cc: Adjust expected error message.
+
+2017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/debug.xml: code.google.com uses https now.
+
+2017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
+       
+       * doc/xml/manual/test.xml: Fix link into gccint online manual.
+
+2017-01-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       Make poisoned hashes SFINAE away the call operator of the hash.
+       * include/bits/functional_hash.h
+       (__poison_hash::__enable_hash_call): New.
+       * include/std/optional (__optional_hash_call_base): New.
+       (hash<optional<_Tp>>): Derive from the new base,
+       move the hash function into that base.
+       * include/std/variant (__variant_hash_call_base_impl): New.
+       (__variant_hash_call_base): Likewise.
+       (hash<variant<_Types...>>): Derive from the new base,
+       move the hash function into that base.
+       * testsuite/20_util/optional/hash.cc: Add tests for is_callable.
+       * testsuite/20_util/variant/hash.cc: Likewise.
+
+2017-01-20  Joe Seymour  <joe.s@somniumtech.com>
+
+       * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
+       * configure: Regenerate.
+
+2017-01-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/69240
+       * include/bits/random.h (uniform_real_distribution::param_type)
+       (normal_distribution::param_type, lognormal_distribution::param_type)
+       (gamma_distribution::param_type, chi_squared_distribution::param_type)
+       (cauchy_distribution::param_type, fisher_f_distribution::param_type)
+       (student_t_distribution::param_type)
+       (bernoulli_distribution::param_type, binomial_distribution::param_type)
+       (geometric_distribution::param_type)
+       (negative_binomial_distribution::param_type)
+       (poisson_distribution::param_type)
+       (exponential_distribution::param_type)
+       (weibull_distribution::param_type)
+       (extreme_value_distribution::param_type)
+       (discrete_distribution::param_type)
+       (piecewise_constant_distribution::param_type)
+       (piecewise_linear_distribution::param_type): Define operator!=.
+       * include/bits/uniform_int_dist.h
+       (uniform_int_distribution::param_type): Likewise.
+       * include/ext/random (beta_distribution::param_type)
+       (rice_distribution::param_type, nakagami_distribution::param_type)
+       (pareto_distribution::param_type, k_distribution::param_type)
+       (arcsine_distribution::param_type, hoyt_distribution::param_type)
+       (triangular_distribution::param_type)
+       (von_mises_distribution::param_type)
+       (hypergeometric_distribution::param_type)
+       (logistic_distribution::param_type)
+       (uniform_on_sphere_distribution::param_type)
+       (uniform_inside_sphere_distribution::param_type): Likewise.
+       * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
+       Test construction with param_type.
+       * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/26_numerics/random/extreme_value_distribution/cons/
+       parms.cc: Likewise.
+       * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/26_numerics/random/negative_binomial_distribution/cons/
+       parms.cc: Likewise.
+       * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
+       * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
+       * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
+       * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
+       * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
+       * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
+       * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
+       * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
+       * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
+       * testsuite/ext/random/triangular_distribution/cons/parms.cc:
+       Likewise.
+       * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
+       parms.cc: Likewise.
+       * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
+
+       PR libstdc++/72792
+       * include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
+       (__allocator_traits_base::__size_type): Remove.
+       (allocator_traits::_Ptr): New class template to detect const and void
+       pointer types without instantiating pointer_traits::rebind
+       unnecessarily.
+       (allocator_traits::_Diff): Likewise for detecting difference_type.
+       (allocator_traits::_Size): New class template to detect size_type
+       without instantiating make_unsigned unnecessarily.
+       * include/bits/ptr_traits.h (pointer_traits::element_type): Use
+       __detected_or_t instead of __detected_or_t_.
+       * include/std/type_traits (__detected_or_t_): Remove.
+       * testsuite/20_util/allocator_traits/members/pointers.cc: New test.
+
+       PR libstdc++/72792
+       PR libstdc++/72793
+       * include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
+       Replace with class template using void_t.
+       (__alloc_rebind): Define in terms of
+       __allocator_traits_base::__rebind.
+       (allocator_traits): Remove unconditional static_assert for
+       rebind_alloc.
+       * include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
+       (pointer_traits::__rebind): Replace with class template using void_t.
+       (pointer_traits::rebind): Define in terms of __rebind.
+       (pointer_traits): Remove unconditional static_assert for rebind.
+       * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
+       * testsuite/20_util/pointer_traits/rebind.cc: New test.
+
+       PR libstdc++/69321
+       * include/experimental/any (__any_caster): Avoid instantiating
+       manager function for types that can't be stored in any.
+       * include/std/any (__any_caster): Likewise.
+       * testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type.
+       * testsuite/experimental/any/misc/any_cast.cc: Likewise.
+
+       PR libstdc++/64903
+       * include/bits/stl_algo.h (is_partitioned): Use increment instead of
+       std::advance.
+
 2017-01-19  Jonathan Wakely  <jwakely@redhat.com>
 
+       PR libstdc++/79156
+       * include/bits/shared_ptr_base.h (__enable_shared_from_this_base):
+       Fix return type.
+       (__enable_shared_from_this): Declare __shared_ptr as a friend.
+       * testsuite/ext/shared_ptr/1.cc: New test.
+
+       PR libstdc++/64903
+       * include/bits/stl_algo.h (is_partitioned): Don't retest the partition
+       point.
+       * testsuite/25_algorithms/is_partitioned/2.cc: New test.
+
+       * doc/xml/manual/abi.xml: Fix typo.
+       * doc/html/manual/abi.html: Likewise.
+
        PR libstdc++/67085
        * include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add
        converting constructors from _Iter_less_iter.