[arm] Fix insn type of *thumb1_tablejump
[gcc.git] / libstdc++-v3 / ChangeLog
index f2d08cb08a70a0ba5203ab66485fc0834c2ceb75..3984e9968f6942eb55facc1e63ee5e377fcb0b12 100644 (file)
@@ -1,3 +1,780 @@
+2019-09-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/91748
+       * include/bits/stl_algo.h (for_each_n): Fix random access iterator
+       case.
+       * testsuite/25_algorithms/for_each/for_each_n.cc: Test with random
+       access iterators.
+
+2019-09-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker.__call__):
+       Fix syntax error.
+
+       * testsuite/20_util/result_of/sfinae_friendly_1.cc: Add -Wno-volatile
+       for C++2a and up. Define HAS_52748_FIXED and fix incorrect tests.
+       * testsuite/tr1/3_function_objects/result_of.cc: Add -Wno-volatile
+       for C++2a and up.
+
+2019-09-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/type_traits (__do_common_type_impl): Implement
+       additional COND-RES(CREF(D1), CRED(D2)) condition for C++20.
+       (basic_common_reference, common_reference, common_reference_t): Define
+       for C++20.
+       * testsuite/20_util/common_reference/requirements/alias_decl.cc: New
+       test.
+       * testsuite/20_util/common_reference/requirements/
+       explicit_instantiation.cc: New test.
+       * testsuite/20_util/common_reference/requirements/typedefs.cc: New
+       test.
+
+       * include/std/charconv (to_chars): Rename to __to_chars_i. Define
+       non-template overloads for each signed and unsigned integer type and
+       char. Define deleted overload for bool (LWG 3266).
+       * testsuite/20_util/to_chars/1_neg.cc: Remove.
+       * testsuite/20_util/to_chars/3.cc: New test.
+       * testsuite/20_util/to_chars/lwg3266.cc: New test.
+
+2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
+
+       * acinclude.m4: Handle uclinux*.
+       * configure: Regenerate.
+       * configure.host: Handle uclinux*
+
+2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
+       Mickaël Guêné <mickael.guene@st.com>
+
+       * libsupc++/eh_personality.cc (get_ttype_entry): Add FDPIC
+       support.
+
+2019-09-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/91711
+       * testsuite/23_containers/span/get_neg.cc: Avoid ambiguity due to
+       0ul being a valid null pointer constant.
+
+       * include/std/type_traits (__remove_cv_t): New alias template.
+       (is_void, is_integral, is_floating_point, is_pointer)
+       (is_member_object_pointer, is_member_function_pointer, is_null_pointer)
+       (is_member_point), __is_signed_integer, __is_unsigned_integer)
+       (__make_unsigned_selector, __make_signed_selector, remove_pointer)
+       (__decay_selector): Use __remove_cv_t.
+       (remove_cv): Add partial specializations for cv-qualified types.
+       (__decay_t): New alias template.
+       (__decay_and_strip, __common_type_impl, __result_of_impl): Use
+       __decay_t.
+       (__enable_if_t): Move earlier in the file.
+       (_Require): Use __enable_if_t.
+       (swap(T&, T&)): Use _Require.
+       (swap(T(&)[N])): Use __enable_if_t.
+
+2019-09-09  Edward Smith-Rowland  <3dw4rd@verizon.net>
+
+       Implement C++20 p1424 - 'constexpr' feature macro concerns,
+       Issue 3256 - Feature testing macro for constexpr algorithms,
+       and Issue 3257 - Missing feature testing macro update from P0858.
+       * include/std/version (__cpp_lib_constexpr_algorithms): Bump value.
+       * include/bits/algorithmfwd.h: Ditto.
+       * include/std/utility: Ditto.
+       * testsuite/25_algorithms/constexpr_macro.cc: Ditto.
+       * testsuite/25_algorithms/cpp_lib_constexpr.cc: New check for
+       __cpp_lib_constexpr macro in <algorith>.
+       * testsuite/20_util/exchange/constexpr.cc: Add check for
+       __cpp_lib_constexpr macro in <utility>.
+       * testsuite/25_algorithms/adjacent_find/constexpr.cc: Remove check for
+       __cpp_lib_constexpr_algorithms.
+       * testsuite/25_algorithms/all_of/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/any_of/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/binary_search/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/copy/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/copy_backward/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/copy_if/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/copy_n/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/count/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/count_if/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/equal/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/equal_range/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/fill/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/fill_n/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/find/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/find_end/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/find_first_of/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/find_if/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/find_if_not/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/for_each/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/generate/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/generate_n/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/is_heap/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/is_heap_until/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/is_partitioned/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/is_permutation/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/is_sorted/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/is_sorted_until/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/lower_bound/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/merge/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/mismatch/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/none_of/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/partition_copy/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/partition_point/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/remove/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/remove_copy/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/remove_if/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/replace_copy/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/replace_copy_if/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/replace_if/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/reverse_copy/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/rotate_copy/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/search/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/search_n/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/set_difference/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/set_intersection/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/set_union/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/transform/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/unique/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/unique_copy/constexpr.cc: Ditto.
+       * testsuite/25_algorithms/upper_bound/constexpr.cc: Ditto.
+
+2019-09-09  Edward Smith-Rowland  <3dw4rd@verizon.net>
+
+       Update docs for recent <span> and constexpr lib changes.
+       * doc/xml/manual/status_cxx2020.xml: Update p0202r3, p0858r0, p0879r0,
+       p1023r0, p1085r2 status.
+       * doc/html/manual/status.html: Regenerate.
+
+2019-09-09  Antony Polukhin  <antoshkka@gmail.com>
+
+       * include/bits/charconv.h (__detail::__to_chars_10_impl): Replace
+       final offsets with constants.
+
+2019-09-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/range_access.h (__adl_to_address): Remove.
+       * include/std/span (__is_base_derived_safe_convertible_v): Replace
+       with span::__is_compatible.
+       (__is_std_array_v): Replace with __is_std_array class template and
+       partial specializations.
+       (__is_std_array, __is_std_span): New class templates and partial
+       specializations.
+       (span::__is_compatible): New alias template for SFINAE constraints.
+       (span::span(element_type (&)[N])): Remove redundant constraints. Do
+       not use __adl_data to obtain a pointer.
+       (span::span(array<value_type, N>&)): Likewise.
+       (span::span(const array<value_type, N>&)): Likewise.
+       [_GLIBCXX_P1394] (span::iter_reference_t, span::iterator_t)
+       (span::iter_value_t, span::derived_from): New alias templates for
+       SFINAE constraints, until the equivalents are supported in <concepts>
+       and <iterator>.
+       [_GLIBCXX_P1394] (span::__is_compatible_iterator): New alias template
+       for SFINAE constraints.
+       [_GLIBCXX_P1394] (span::is_compatible_range): New class template for
+       SFINAE constraints.
+       [_GLIBCXX_P1394] (span::span(Range&&)): Improve constraints.
+       [_GLIBCXX_P1394] (span::span(ContiguousIterator, Sentinel)): Likewise.
+       Use std::to_address instead of __adl_to_address.
+       [_GLIBCXX_P1394] (span::span(ContiguousIterator, size_type)): Likewise.
+       [!_GLIBCXX_P1394] (span::__is_compatible_container): New alias
+       template for SFINAE constraints.
+       [!_GLIBCXX_P1394] (span::span(Container&))
+       (span::span(const Container&)): Improve constraints.
+       [!_GLIBCXX_P1394] (span::span(pointer, size_type))
+       (span::span(pointer, pointer)): Remove redundant cast of pointer.
+       (span(const span<OType, OExtent>&)): New constructor.
+
+2019-09-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/range_access.h (ssize): Define for C++20.
+       * testsuite/24_iterators/range_access_cpp20.cc: New test.
+       * doc/xml/manual/status_cxx2020.xml: Update P1227R2 status.
+       * doc/html/*: Regenerate.
+
+2019-09-06  Florian Weimer  <fweimer@redhat.com>
+
+       * configure: Regenerate.
+
+2019-09-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxx2020.xml: Update status for P0122R7 and
+       P1024R3. Remove entry for P0920R2.
+       * include/std/span  (__cpp_lib_span): Change value.
+       (__extent_storage, __extent_storage<dynamic_extent>): Remove default
+       constructor.
+       (span): Replace __extent_storage base class with data member.
+       (span::_S_subspan_extent): New function.
+       (span::empty()): Add nodiscard attribute.
+       (span::front, span::back, span::operator[]): Check preconditions.
+       (span::first, span::last, span::subspan): Add noexcept. Improve
+       precondition checks (LWG 3103).
+       (get): Remove redundant condition from static_assert.
+       (tuple_element<I, span<T, E>>): Fix static_assert message and simplify.
+       (as_writable_bytes): Add inline specifier.
+       * include/std/version (__cpp_lib_span): Change value.
+       * testsuite/23_containers/span/back_neg.cc: Remove stray semi-colon.
+       * testsuite/23_containers/span/front_neg.cc: Likewise.
+       * testsuite/23_containers/span/index_op_neg.cc: Likewise.
+       * testsuite/23_containers/span/last_neg.cc: Improve test.
+       * testsuite/23_containers/span/subspan_neg.cc: Likewise.
+       * testsuite/23_containers/span/1.cc: New test.
+       * testsuite/23_containers/span/2.cc: New test.
+       * testsuite/23_containers/span/back_assert_neg.cc: New test.
+       * testsuite/23_containers/span/first_2_assert_neg.cc: New test.
+       * testsuite/23_containers/span/first_assert_neg.cc: New test.
+       * testsuite/23_containers/span/first_neg.cc: New test.
+       * testsuite/23_containers/span/front_assert_neg.cc: New test.
+       * testsuite/23_containers/span/index_op_assert_neg.cc: New test.
+       * testsuite/23_containers/span/last_2_assert_neg.cc: New test.
+       * testsuite/23_containers/span/last_assert_neg.cc: New test.
+       * testsuite/23_containers/span/subspan_2_assert_neg.cc: New test.
+       * testsuite/23_containers/span/subspan_3_assert_neg.cc: New test.
+       * testsuite/23_containers/span/subspan_4_assert_neg.cc: New test.
+       * testsuite/23_containers/span/subspan_5_assert_neg.cc: New test.
+       * testsuite/23_containers/span/subspan_6_assert_neg.cc: New test.
+       * testsuite/23_containers/span/subspan_assert_neg.cc: New test.
+
+2019-09-05  JeanHeyd Meneide  <phdofthehouse@gmail.com>
+
+       * include/Makefile.am: Add <span> header.
+       * include/Makefile.in: Regenerate.
+       * include/bits/range_access.h (__adl_begin, __adl_end, __adl_cbegin)
+       (__adl_cend, __adl_rbegin, __adl_rend, __adl_crbegin, __adl_crend)
+       (__adl_data, __adl_cdata, __adl_size, __adl_empty, __adl_to_address):
+       New functions for performing argument-dependent lookup of range
+       customization points.
+       * include/bits/stl_iterator.h (__normal_iterator): Add
+       _GLIBCXX20_CONSTEXPR to all functions.
+       * include/std/span: New header.
+       * include/std/version (__cpp_lib_span): Define feature test macro.
+       * testsuite/23_containers/span/contiguous_range_neg.cc: New test.
+       * testsuite/23_containers/span/everything.cc: New test.
+       * testsuite/23_containers/span/get_neg.cc: New test.
+       * testsuite/23_containers/span/last_neg.cc: New test.
+       * testsuite/23_containers/span/subspan_neg.cc: New test.
+       * testsuite/23_containers/span/tuple_element_dynamic_neg.cc: New test.
+       * testsuite/23_containers/span/tuple_element_oob_neg.cc: New test.
+       * testsuite/23_containers/span/tuple_size_neg.cc: New test.
+
+2019-09-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/allocator.xml: Remove URL for bibliography entry.
+       * doc/html/*: Regenerate.
+
+2019-09-04  Mike Crowe  <mac@mcrowe.com>
+
+       PR libstdc++/41861
+       * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_COND_CLOCKWAIT): Check for new
+       pthread_cond_clockwait function.
+       * configure.ac: Use GLIBCXX_CHECK_PTHREAD_COND_CLOCKWAIT.
+       * configure: Regenerate.
+       * config.h.in: Regenerate.
+       * include/std/condition_variable: (condition_variable): Rename
+       __steady_clock_t typedef and add system_clock. Change __clock_t to be
+       a typedef for the preferred clock to convert arbitrary other clocks to.
+       [_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT] (wait_until): Add a steady_clock
+       overload.
+       (wait_until): Change __clock_t overload to use system_clock.
+       [_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT] (__wait_until_impl): Add
+       steady_clock overload that calls pthread_cond_clockwait.
+       (__wait_until_impl): Change __clock_t overload to use system_clock.
+       (condition_variable_any) [_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT]: Use
+       steady_clock for __clock_t if pthread_cond_clockwait is available.
+
+2019-09-04  Mike Crowe  <mac@mcrowe.com>
+
+       * testsuite/30_threads/condition_variable/members/2.cc (test01):
+       Parameterise so that test can be run against an arbitrary clock.
+       (main): Test using std::chrono::steady_clock and a user-defined
+       clock in addition to the previous std::chrono::system_clock.
+       * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
+
+2019-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * crossconfig.m4: Remove references to spu.
+       * configure: Regenerate.
+       * doc/xml/manual/appendix_contributing.xml: Remove references
+       to __ea as "badword" for spu.
+       * doc/html/manual/source_code_style.html: Regenerate.
+       * include/tr1/ell_integral.tcc (__ellint_rd): Do not attempt
+       to avoid __ea (as "badword" for spu).
+       (__ellint_rj): Likewise.
+
+2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR other/79543
+       * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Fix GNU ld --version
+       scanning to conform to the GNU Coding Standards.
+       * configure: Regenerate.
+
+2019-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/memory_resource.cc: Use __constinit keyword.
+
+2019-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/abi.xml: Document 9.x library versions.
+       * doc/html/*: Regenerate.
+
+2019-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/charconv (__detail::__to_chars_2_len): Use std::log2p1.
+       (__detail::__to_chars_8_len): Remove.
+       (__detail::__to_chars_8): Inline length calculation here.
+       (__detail::__from_chars_binary): Use numeric_limits instead of
+       CHAR_BIT.
+
+2019-09-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
+       * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: Likewise.
+       * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
+       * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
+       Likewise.
+
+2019-09-01  François Dumont  <fdumont@gcc.gnu.org>
+
+       * testsuite_files/util/testsuite_performance.h
+       (resource_counter::start): Ignore unused malloc(0) result.
+
+2019-09-01  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/policy_data_structures_biblio.xml (COM: Component
+       Model Object Technologies): Adjust name and link.
+
+2019-08-30  Antony Polukhin  <antoshkka@gmail.com>
+
+       * include/std/charconv (__detail::__to_chars_8)
+       __detail::__to_chars_16): Replace array of precomputed digits with
+       arithmetic operations to avoid CPU cache misses. Remove zero
+       termination from array of digits to allow symbol merge with generic
+       implementation of __detail::__to_chars. Replace final offsets with
+       constants. Use __detail::__to_chars_len_2 instead of a generic
+       __detail::__to_chars_len.
+       (__detail::__to_chars): Remove zero termination from array of digits.
+       (__detail::__to_chars_2): Leading digit is always '1'.
+
+2019-08-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/23_containers/vector/cons/89164_c++17.cc: Fix errors.
+
+2019-08-30  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
+
+2019-08-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/89164
+       * include/bits/stl_algobase.h (__copy_move): Give descriptive names
+       to template parameters.
+       * include/bits/stl_uninitialized.h (uninitialized_copy)
+       (uninitialized_fill, uninitialized_fill_n): Add static assertions to
+       diagnose invalid uses.
+       * testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc:
+       Adjust expected error.
+       * testsuite/20_util/specialized_algorithms/uninitialized_copy/89164.cc:
+       New test.
+       * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
+       89164.cc: New test.
+       * testsuite/20_util/specialized_algorithms/uninitialized_fill/89164.cc:
+       New test.
+       * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
+       89164.cc: New test.
+       * testsuite/23_containers/vector/cons/89164.cc: New test.
+       * testsuite/23_containers/vector/cons/89164_c++17.cc: New test.
+
+2019-08-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/91067
+       * acinclude.m4 (libtool_VERSION): Bump to 6:28:0.
+       * configure: Regenerate.
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.28): Add new version. Export
+       missing symbols.
+       * testsuite/27_io/filesystem/iterators/91067.cc: Test move
+       constructors.
+       * testsuite/util/testsuite_abi.cc: Add new symbol version.
+
+2019-08-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
+
+2019-08-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
+       * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
+       * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
+
+2019-08-23  Joseph Myers  <joseph@codesourcery.com>
+
+       * src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
+       (std::filesystem::__gnu_posix::lstat): Add return type.
+
+2019-08-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/doxygen/user.cfg.in (INPUT): Remove profile mode headers.
+
+       * include/std/numeric (reduce): Fix Doxygen markup.
+
+       PR libstdc++/91371
+       * include/std/type_traits (is_function): Simplify definition. Remove
+       partial specializations for function types.
+       (__is_referenceable): Simplify definition.
+       * testsuite/20_util/bind/91371.cc: New test.
+       * testsuite/20_util/is_function/91371.cc: New test.
+       * testsuite/20_util/is_function/value.cc: Check more pointer types.
+       * testsuite/20_util/is_member_function_pointer/91371.cc: New test.
+       * testsuite/20_util/is_object/91371.cc: New test.
+
+2019-08-16  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
+
+2019-08-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/91456
+       * include/bits/std_function.h (__check_func_return_type): Remove.
+       (function::_Callable): Use std::__is_invocable_impl instead of
+       __check_func_return_type.
+       * include/std/type_traits (__is_invocable_impl): Add another defaulted
+       template parameter. Define a separate partial specialization for
+       INVOKE and INVOKE<void>. For INVOKE<R> replace is_convertible check
+       with a check that models delayed temporary materialization.
+       * testsuite/20_util/function/91456.cc: New test.
+       * testsuite/20_util/is_invocable/91456.cc: New test.
+
+2019-08-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/type_traits (__is_nullptr_t): Add deprecated attribute.
+
+2019-08-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
+
+       Implement C++20 p0879 - Constexpr for swap and swap related functions.
+       * include/std/version (__cpp_lib_constexpr_swap_algorithms): New macro.
+       * include/bits/algorithmfwd.h (__cpp_lib_constexpr_swap_algorithms):
+       New macro.
+       (iter_swap, make_heap, next_permutation, partial_sort_copy, pop_heap)
+       (prev_permutation, push_heap, reverse, rotate, sort_heap, swap)
+       (swap_ranges, nth_element, partial_sort, sort): Add constexpr.
+       * include/bits/move.h (swap): Add constexpr.
+       * include/bits/stl_algo.h (__move_median_to_first, __reverse, reverse)
+       (__gcd, __rotate, rotate, __partition, __heap_select)
+       (__partial_sort_copy, partial_sort_copy, __unguarded_partition)
+       (__unguarded_partition_pivot, __partial_sort, __introsort_loop, __sort)
+       (__introselect, __chunk_insertion_sort, next_permutation)
+       (prev_permutation, partition, partial_sort, nth_element, sort)
+       (__iter_swap::iter_swap, iter_swap, swap_ranges): Add constexpr.
+       * include/bits/stl_algobase.h (__iter_swap::iter_swap, iter_swap)
+       (swap_ranges): Add constexpr.
+       * include/bits/stl_heap.h (__push_heap, push_heap, __adjust_heap,
+       __pop_heap, pop_heap, __make_heap, make_heap, __sort_heap, sort_heap):
+       Add constexpr.
+       * include/std/type_traits (swap): Add constexpr.
+       * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Add constexpr.
+       * testsuite/25_algorithms/iter_swap/constexpr.cc: New test.
+       * testsuite/25_algorithms/make_heap/constexpr.cc: New test.
+       * testsuite/25_algorithms/next_permutation/constexpr.cc: New test.
+       * testsuite/25_algorithms/nth_element/constexpr.cc: New test.
+       * testsuite/25_algorithms/partial_sort/constexpr.cc: New test.
+       * testsuite/25_algorithms/partial_sort_copy/constexpr.cc: New test.
+       * testsuite/25_algorithms/partition/constexpr.cc: New test.
+       * testsuite/25_algorithms/pop_heap/constexpr.cc: New test.
+       * testsuite/25_algorithms/prev_permutation/constexpr.cc: New test.
+       * testsuite/25_algorithms/push_heap/constexpr.cc: New test.
+       * testsuite/25_algorithms/reverse/constexpr.cc: New test.
+       * testsuite/25_algorithms/rotate/constexpr.cc: New test.
+       * testsuite/25_algorithms/sort/constexpr.cc: New test.
+       * testsuite/25_algorithms/sort_heap/constexpr.cc: New test.
+       * testsuite/25_algorithms/swap/constexpr.cc: New test.
+       * testsuite/25_algorithms/swap_ranges/constexpr.cc: New test.
+
+2019-08-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/90361
+       * src/c++17/string-inst.cc: Use _GLIBCXX_USE_CXX11_ABI=1 by default.
+
+       * include/std/tuple (__unpack_std_tuple): New variable template and
+       partial specializations.
+       (apply, make_from_tuple): Add noexcept-specifier.
+       * testsuite/20_util/tuple/apply/2.cc: New test.
+       * testsuite/20_util/tuple/make_from_tuple/2.cc: New test.
+
+2019-08-09  Corentin Gay  <gay@adacore.com>
+
+       * testsuite/ext/random/beta_distribution/operators/serialize.cc,
+       testsuite/ext/random/hypergeometric_distribution/operators/serialize.cc,
+       testsuite/ext/random/normal_mv_distribution/operators/serialize.cc,
+       testsuite/ext/random/triangular_distribution/operators/serialize.cc,
+       testsuite/ext/random/von_mises_distribution/operators/serialize.cc:
+       Add call to `VERIFY`.
+
+2019-08-09  Alexandre Oliva <oliva@adacore.com>
+
+       * include/ext/random
+       (normal_mv_distribution::param_type::param_type): New private
+       ctor taking a decomposed varcov matrix, for use by...
+       (operator>>): ... this, befriended.
+       * include/ext/random.tcc (operator>>): Use it.
+       (normal_mv_distribution::param_type::_M_init_lower): Adjust
+       member function name in exception message.
+
+2019-08-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       P0325R4 to_array from LFTS with updates
+       * include/experimental/array (to_array): Qualify call to __to_array.
+       * include/std/array (__cpp_lib_to_array, to_array): Define for C++20.
+       * include/std/version (__cpp_lib_to_array): Likewise.
+       * testsuite/23_containers/array/creation/1.cc: New test.
+       * testsuite/23_containers/array/creation/2.cc: New test.
+       * testsuite/23_containers/array/creation/3_neg.cc: New test.
+       * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
+       Use zero for dg-error line number.
+
+2019-08-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       P1651R0 bind_front should not unwrap reference_wrapper
+       * include/std/functional (bind_front): Don't unwrap reference_wrapper.
+       * include/std/version (__cpp_lib_bind_front): Update value.
+       * testsuite/20_util/function_objects/bind_front/1.cc: Fix test for
+       feature test macro.
+       * testsuite/20_util/function_objects/bind_front/2.cc: New test.
+
+       * include/std/numbers [!__STRICT_ANSI__ && _GLIBCXX_USE_FLOAT128]
+       (e_v, log2e_v, log10e_v, pi_v, inv_pi_v, inv_sqrtpi_v, ln2_v, ln10_v)
+       (sqrt2_v, sqrt3_v, inv_sqrt3, egamma_v, phi_v): Add explicit
+       specializations for __float128.
+       * testsuite/26_numerics/numbers/float128.cc: New test.
+
+2019-08-04  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/documentation_hacking.xml: doxygen.org is now
+       doxygen.nl.
+
+2019-08-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
+
+       Implement C++20 p0202 - Add Constexpr Modifiers to Functions
+       in <algorithm> and <utility> Headers.
+       Implement C++20 p1023 - constexpr comparison operators for std::array.
+       * include/bits/algorithmfwd.h (all_of, any_of, binary_search, copy,
+       copy_backward, copy_if, copy_n, equal_range, fill, find_end,
+       find_if_not, includes, is_heap, is_heap_until, is_partitioned,
+       is_permutation, is_sorted, is_sorted_until, iter_swap, lower_bound,
+       none_of, partition_copy, partition_point, remove, remove_if,
+       remove_copy, remove_copy_if, replace_copy, replace_copy_if,
+       reverse_copy, rotate_copy, uunique, upper_bound, adjacent_find, count,
+       count_if, equal, find, find_first_of, find_if, for_each, generate,
+       generate_n, lexicographical_compare, merge, mismatch, replace,
+       replace_if, search, search_n, set_difference, set_intersection,
+       set_symmetric_difference, set_union, transform, unique_copy):
+       Mark constexpr.
+       * include/bits/cpp_type_traits.h (__miter_base): Mark constexpr.
+       * include/bits/predefined_ops.h (_Iter_less_val::operator(),
+       _Val_less_iter::operator(), _Iter_equal_to_iter::operator(),
+       _Iter_equal_to_val::operator(), _Iter_equals_val::operator()):
+        Use const ref instead of ref arg;
+       (_Iter_less_val, __iter_less_val, _Val_less_iter, __val_less_iter,
+       __iter_equal_to_iter, __iter_equal_to_val, __iter_comp_val,
+       _Iter_comp_val, _Val_comp_iter, __val_comp_iter, __iter_equals_val,
+       _Iter_equals_iter, __iter_comp_iter, _Iter_pred, __pred_iter,
+       _Iter_comp_to_val, __iter_comp_val, _Iter_comp_to_iter,
+       __iter_comp_iter): Mark constexpr.
+       * include/bits/stl_algo.h (__find_if, __find_if_not, __find_if_not_n,
+       __search, __search_n_aux, __search_n, __find_end, find_end, all_of,
+       none_of, any_of, find_if_not, is_partitioned, partition_point,
+       __remove_copy_if, remove_copy, remove_copy_if, copy_if, __copy_n,
+       copy_n, partition_copy, __remove_if, remove, remove_if, __adjacent_find,
+       __unique, unique, __unique_copy, reverse_copy, rotate_copy,
+       __unguarded_linear_insert, __insertion_sort, __unguarded_insertion_sort,
+       __final_insertion_sort, lower_bound, __upper_bound, upper_bound,
+       __equal_range, equal_range, binary_search, __includes, includes,
+       __next_permutation, __prev_permutation, __replace_copy_if, replace_copy,
+       replace_copy_if, __count_if, is_sorted, __is_sorted_until,
+       is_sorted_until, __is_permutation, is_permutation, for_each, find,
+       find_if, find_first_of, adjacent_find, count, count_if, search,
+       search_n, transform, replace, replace_if, generate, generate_n,
+       unique_copy, __merge, merge, __set_union, set_union, __set_intersection,
+       set_intersection, __set_difference, set_difference,
+       __set_symmetric_difference, set_symmetric_difference):  Mark constexpr.
+       * include/bits/stl_algobase.h (__memmove, __memcmp): New maybe constexpr
+       wrappers around __builtin_memmove and __builtin_memcmp
+       respectively;
+       (__niter_base, __niter_wrap, __copy_m, __copy_move_a, __copy_move_a2,
+       copy, move, __copy_move_b, __copy_move_backward_a,
+       __copy_move_backward_a2, copy_backward, move_backward, __fill_a, fill,
+       __fill_n_a, fill_n, equal, __lc_rai::__newlast1, __lc_rai::__cnd2,
+       __lexicographical_compare_impl, __lexicographical_compare,
+       __lexicographical_compare<true>::__lc, __lexicographical_compare_aux,
+       __lower_bound, lower_bound, equal, __equal4, lexicographical_compare,
+       __mismatch, mismatch, __is_heap_until, __is_heap, is_heap_until,
+       is_heap): Mark constexpr.
+       * include/bits/stl_heap.h (__is_heap_until, __is_heap, is_heap_until,
+       is_heap): Mark constexpr.
+       * include/bits/stl_iterator.h (__niter_base, __miter_base): Mark constexpr.
+       * include/std/array: Make comparison ops constexpr.
+       * include/std/utility: Make exchange constexpr.
+       * include/std/version (__cpp_lib_constexpr_algorithms): New macro.
+       * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
+       * testsuite/23_containers/array/tuple_interface/
+       tuple_element_neg.cc: Adjust.
+       * testsuite/20_util/exchange/constexpr.cc: New.
+       * testsuite/23_containers/array/comparison_operators/constexpr.cc: New.
+       * testsuite/25_algorithms/constexpr_macro.cc: New.
+       * testsuite/25_algorithms/adjacent_find/constexpr.cc: New.
+       * testsuite/25_algorithms/all_of/constexpr.cc: New.
+       * testsuite/25_algorithms/any_of/constexpr.cc: New.
+       * testsuite/25_algorithms/binary_search/constexpr.cc: New.
+       * testsuite/25_algorithms/copy/constexpr.cc: New.
+       * testsuite/25_algorithms/copy_backward/constexpr.cc: New.
+       * testsuite/25_algorithms/copy_if/constexpr.cc: New.
+       * testsuite/25_algorithms/copy_n/constexpr.cc: New.
+       * testsuite/25_algorithms/count/constexpr.cc: New.
+       * testsuite/25_algorithms/count_if/constexpr.cc: New.
+       * testsuite/25_algorithms/equal/constexpr.cc: New.
+       * testsuite/25_algorithms/equal_range/constexpr.cc: New.
+       * testsuite/25_algorithms/fill/constexpr.cc: New.
+       * testsuite/25_algorithms/fill_n/constexpr.cc: New.
+       * testsuite/25_algorithms/find/constexpr.cc: New.
+       * testsuite/25_algorithms/find_end/constexpr.cc: New.
+       * testsuite/25_algorithms/find_first_of/constexpr.cc: New.
+       * testsuite/25_algorithms/find_if/constexpr.cc: New.
+       * testsuite/25_algorithms/find_if_not/constexpr.cc: New.
+       * testsuite/25_algorithms/for_each/constexpr.cc: New.
+       * testsuite/25_algorithms/generate/constexpr.cc: New.
+       * testsuite/25_algorithms/generate_n/constexpr.cc: New.
+       * testsuite/25_algorithms/is_heap/constexpr.cc: New.
+       * testsuite/25_algorithms/is_heap_until/constexpr.cc: New.
+       * testsuite/25_algorithms/is_partitioned/constexpr.cc: New.
+       * testsuite/25_algorithms/is_permutation/constexpr.cc: New.
+       * testsuite/25_algorithms/is_sorted/constexpr.cc: New.
+       * testsuite/25_algorithms/is_sorted_until/constexpr.cc: New.
+       * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: New.
+       * testsuite/25_algorithms/lower_bound/constexpr.cc: New.
+       * testsuite/25_algorithms/merge/constexpr.cc: New.
+       * testsuite/25_algorithms/mismatch/constexpr.cc: New.
+       * testsuite/25_algorithms/none_of/constexpr.cc: New.
+       * testsuite/25_algorithms/partition_copy/constexpr.cc: New.
+       * testsuite/25_algorithms/partition_point/constexpr.cc: New.
+       * testsuite/25_algorithms/remove/constexpr.cc: New.
+       * testsuite/25_algorithms/remove_copy/constexpr.cc: New.
+       * testsuite/25_algorithms/remove_copy_if/constexpr.cc: New.
+       * testsuite/25_algorithms/remove_if/constexpr.cc: New.
+       * testsuite/25_algorithms/replace_copy/constexpr.cc: New.
+       * testsuite/25_algorithms/replace_copy_if/constexpr.cc: New.
+       * testsuite/25_algorithms/replace_if/constexpr.cc: New.
+       * testsuite/25_algorithms/reverse_copy/constexpr.cc: New.
+       * testsuite/25_algorithms/rotate_copy/constexpr.cc: New.
+       * testsuite/25_algorithms/search/constexpr.cc: New.
+       * testsuite/25_algorithms/search_n/constexpr.cc: New.
+       * testsuite/25_algorithms/set_difference/constexpr.cc: New.
+       * testsuite/25_algorithms/set_intersection/constexpr.cc: New.
+       * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: New.
+       * testsuite/25_algorithms/set_union/constexpr.cc: New.
+       * testsuite/25_algorithms/transform/constexpr.cc: New.
+       * testsuite/25_algorithms/unique/constexpr.cc: New.
+       * testsuite/25_algorithms/unique_copy/constexpr.cc: New.
+       * testsuite/25_algorithms/upper_bound/constexpr.cc: New.
+
+2019-07-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/memory (make_obj_using_allocator): Qualify call to
+       uses_allocator_construction_args.
+
+       P0631R4 Math Constants
+       * include/Makefile.am: Add new header.
+       * include/Makefile.in: Regenerate.
+       * include/precompiled/stdc++.h: Include new header.
+       * include/std/numbers: New header.
+       * include/std/version (__cpp_lib_math_constants): Define.
+       * testsuite/26_numerics/numbers/1.cc: New test.
+       * testsuite/26_numerics/numbers/2.cc: New test.
+       * testsuite/26_numerics/numbers/3.cc: New test.
+       * testsuite/26_numerics/numbers/nonfloat_neg.cc: New test.
+
+       * include/std/bit: Add Doxygen comments.
+
+       PR libstdc++/91308
+       * include/bits/unique_ptr.h (unique_ptr::__safe_conversion_up): Remove
+       constraints on deleter that should only apply to the constructor.
+       (unique_ptr<T[], D>::__safe_conversion_up): Likewise.
+       (unique_ptr<T[], D>::unique_ptr(unique_ptr<U, D>&&)): Restore
+       constraints on deleter here.
+       * testsuite/20_util/unique_ptr/assign/91308.cc: New test.
+
+2019-07-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/51333
+       * libsupc++/cxxabi.h (__gnu_cxx::recursive_init_error): Do not define
+       constructor inline.
+       * libsupc++/guard_error.cc (__gnu_cxx::recursive_init_error): Define
+       constructor.
+       * testsuite/18_support/51333.cc: New test.
+
+2019-07-28  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/documentation_hacking.xml: Fix broken reference
+       to the Doxygen manual. Avoid a "here" link on the way.
+       Fix another broken link to Doxygen docblocks.
+
+2019-07-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/bit (__cpp_lib_endian): Define.
+       * include/std/version (__cpp_lib_endian): Define.
+       * testsuite/26_numerics/endian/2.cc: New.
+       * testsuite/26_numerics/endian/3.cc: New.
+       * testsuite/26_numerics/endian/4.cc: New.
+
+2019-07-26  François Dumont  <fdumont@gcc.gnu.org>
+
+       * testsuite/util/testsuite_iterators.h
+       (bidirectional_iterator_wrapper): Fix type comment.
+       (random_access_iterator_wrapper): Likewise.
+
+2019-07-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/bit (endian): Move definition here as per P1612R1.
+       * include/std/type_traits (endian): Remove definition from here.
+       * testsuite/20_util/endian/1.cc: Rename to ...
+       * testsuite/26_numerics/endian/1.cc: ... here. Adjust header.
+
+2019-07-25  Martin Liska  <mliska@suse.cz>
+           Dominik Infuhr  <dominik.infuehr@theobroma-systems.com>
+
+       PR c++/23383
+       * testsuite/ext/bitmap_allocator/check_delete.cc: Add
+       -fno-allocation-dce.
+       * testsuite/ext/bitmap_allocator/check_new.cc: Likewise.
+       * testsuite/ext/new_allocator/check_delete.cc: Likewise.
+       * testsuite/ext/new_allocator/check_new.cc: Likewise.
+
+2019-07-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/26_numerics/bit/bitops.count/*: Rename to ...
+       * testsuite/26_numerics/bit/bit.count/*: Here.
+
+       * include/std/bit (__rotl, __rotr): Change second parameter from
+       unsigned int to int and handle negative values.
+       (rotl, rotr): Remove check for __STRICT_ANSI__. Change second
+       parameter from unsigned int to int. Add nodiscard attribute.
+       * testsuite/26_numerics/bit/bitops.rot/rotl.cc: Rename to ...
+       * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Here. Test negative
+       shifts.
+       * testsuite/26_numerics/bit/bitops.rot/rotr.cc: Rename to ...
+       * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Here. Test negative
+       shifts.
+
+       * include/std/bit (__ceil2): Make unrepresentable results undefined,
+       as per P1355R2. Add debug assertion. Perform one left shift, not two,
+       so that out of range values cause undefined behaviour. Ensure that
+       shift will still be undefined if left operand is promoted.
+       * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Replace checks for
+       unrepresentable values with checks that they are not core constant
+       expressions.
+       * testsuite/26_numerics/bit/bit.pow.two/ceil2_neg.cc: New test.
+
 2019-07-19  François Dumont  <fdumont@gcc.gnu.org>
 
        * include/bits/stl_tempbuf.h (__detail::__return_temporary_buffer): Fix