+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
+ sized deallocation size computation.
+
+2019-07-19 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
+
+2019-07-18 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/stl_tempbuf.h (__detail::__return_temporary_buffer): New.
+ (~_Temporary_buffer()): Use latter.
+ (_Temporary_buffer(_FIterator, size_type)): Likewise.
+
+2019-07-17 Andreas Schwab <schwab@suse.de>
+
+ * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
+
+2019-07-16 Jason Merrill <jason@redhat.com>
+
+ * include/std/memory (uses_allocator_construction_args): Add parens
+ around constraint.
+
+2019-07-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/29_atomics/atomic_float/1.cc: Fix comment.
+
+ * include/experimental/string_view (__detail::__idt): Remove.
+ (operator==, operator!=, operator<, operator>, operator<=, operator>=):
+ Use __type_identity_t instead of __detail::__idt;
+ * include/std/string_view (__detail::__idt): Remove.
+ (operator==, operator!=, operator<, operator>, operator<=, operator>=):
+ Use __type_identity_t instead of __detail::__idt;
+ * include/std/type_traits (__type_identity_t): New alias template.
+
+ * doc/xml/manual/status_cxx2020.xml: Update status for atomic_ref
+ and floating point atomics.
+
+2019-07-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/configure.xml: Improve documentation of
+ --enable-libstdcxx-time option.
+
+ * include/bits/atomic_base.h (__atomic_impl): New namespace for
+ wrappers around atomic built-ins.
+ (__atomic_float, __atomic_ref): New class templates for use as base
+ classes.
+ * include/std/atomic (atomic<float>, atomic<double>)
+ (atomic<long double>): New explicit specializations.
+ (atomic_ref): New class template.
+ (__cpp_lib_atomic_ref): Define.
+ * include/std/version (__cpp_lib_atomic_ref): Define.
+ * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error.
+ * testsuite/29_atomics/atomic_float/1.cc: New test.
+ * testsuite/29_atomics/atomic_float/requirements.cc: New test.
+ * testsuite/29_atomics/atomic_ref/deduction.cc: New test.
+ * testsuite/29_atomics/atomic_ref/float.cc: New test.
+ * testsuite/29_atomics/atomic_ref/generic.cc: New test.
+ * testsuite/29_atomics/atomic_ref/integral.cc: New test.
+ * testsuite/29_atomics/atomic_ref/pointer.cc: New test.
+ * testsuite/29_atomics/atomic_ref/requirements.cc: New test.
+
+2019-07-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/ext/atomicity.h (__exchange_and_add, __atomic_add): Replace
+ throw() with _GLIBCXX_NOTHROW.
+ (__atomic_add_dispatch): Return after performing atomic increment.
+
+2019-07-05 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/ext/atomicity.h [_GLIBCXX_ATOMIC_BUILTINS] (__atomic_add)
+ (__exchange_and_add): Replace static specifier with always_inline
+ attribute.
+ (__exchange_and_add_single, __atomic_add_single): Likewise.
+ (__exchange_and_add_dispatch, __atomic_add_dispatch): Likewise. Also
+ combine !__gthread_active_p() and !__GTHREADS branches.
+
+2019-07-03 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/91067
+ * acinclude.m4 (libtool_VERSION): Bump to 6:27:0.
+ * configure: Regenerate.
+ * config/abi/pre/gnu.ver (GLIBCXX_3.4.27): Add new version. Export
+ missing symbols.
+ * testsuite/27_io/filesystem/iterators/91067.cc: New test.
+ * testsuite/util/testsuite_abi.cc: Add new symbol version.
+
+2019-07-02 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_LAUNDER)
+ (_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED): Use __has_builtin
+ instead of __is_identifier to detect Clang support.
+
2019-07-02 Jim Wilson <jimw@sifive.com>
* configure.ac (BUILD_PDF): Also test for doxygen, dot, xsltproc,