Home | History | Annotate | Line # | Download | only in libstdc++-v3
      1  1.1  mrg 2019-12-30  Corentin Gay  <gay (a] adacore.com>
      2  1.1  mrg 
      3  1.1  mrg 	* acinclude.m4 (vxworks*): New entry. Set ac_has_nanosleep=yes.
      4  1.1  mrg 	* configure: Regenerate.
      5  1.1  mrg 
      6  1.1  mrg 2019-12-30  Jerome Lambourg  <lambourg (a] adacore.com>
      7  1.1  mrg 	    Olivier Hainque  <hainque (a] adacore.com>
      8  1.1  mrg 
      9  1.1  mrg 	* config/os/vxworks/os_defines.h
     10  1.1  mrg 	(NOMINMAX): Always redefine to 1.
     11  1.1  mrg 	(_NO_CPP_INLINES): Likewise.
     12  1.1  mrg 	(_GLIBCXX_USE_WEAK_REF): Define to 1 for RTP on
     13  1.1  mrg 	VxWorks >= 7, to 0 otherwise.
     14  1.1  mrg 	(_GLIBCXX_HAVE_TLS): Define to 1.
     15  1.1  mrg 	For VxWorks >= 7:
     16  1.1  mrg 	(_GLIBCXX_USE_C99_MATH): Define to 1.
     17  1.1  mrg 	(_GLIBCXX_USE_C99_MATH_FP_MACROS_DYNAMIC): Define to 0.
     18  1.1  mrg 	(_HAS_TR1_DECLARATIONS): Redefine to 0.
     19  1.1  mrg 	For VxWorks < 7, RTP:
     20  1.1  mrg 	(_GLIBCXX_INCLUDE_NEXT_C_HEADERS): Define to 1.
     21  1.1  mrg 	(_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC): Redefine to 1.
     22  1.1  mrg 	(__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): Define.
     23  1.1  mrg 	For VxWorks < 7, kernel: #include <vxWorks.h>
     24  1.1  mrg 
     25  1.1  mrg 2019-12-25  Alexandre Oliva <oliva (a] adacore.com>
     26  1.1  mrg 
     27  1.1  mrg 	* crossconfig.m4 (GLIBCXX_CROSSCONFIG) [*-vxworks*]: Define
     28  1.1  mrg 	long double functions as available if declared by math.h.
     29  1.1  mrg 	(GLIBCXX_CHECK_MATH_DECL, GLIBCXX_CHECK_MATH_DECLS): New.
     30  1.1  mrg 	* configure: Rebuild.
     31  1.1  mrg 
     32  1.1  mrg 2019-12-20  Jonathan Wakely  <jwakely (a] redhat.com>
     33  1.1  mrg 
     34  1.1  mrg 	PR libstdc++/92927
     35  1.1  mrg 	* include/bits/alloc_traits.h (__alloc_on_copy, __alloc_on_move)
     36  1.1  mrg 	(__alloc_on_swap): Add inline specifier.
     37  1.1  mrg 
     38  1.1  mrg 2019-12-20  Jerome Lambourg  <lambourg (a] adacore.com>
     39  1.1  mrg 
     40  1.1  mrg 	* acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Test with AC_LANG_CPLUSPLUS.
     41  1.1  mrg 	* configure: Regenerate.
     42  1.1  mrg 
     43  1.1  mrg 2019-12-20  Franois Dumont  <fdumont (a] gcc.gnu.org>
     44  1.1  mrg 
     45  1.1  mrg 	* testsuite/23_containers/map/48101_neg.cc: Add versioned namespace
     46  1.1  mrg 	pattern to tested error message.
     47  1.1  mrg 	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
     48  1.1  mrg 	* testsuite/30_threads/headers/stop_token/synopsis.cc: Add
     49  1.1  mrg 	dg-require-normal-namepace.
     50  1.1  mrg 
     51  1.1  mrg 	* python/libstdcxx/v6/printers.py (lookup_node_type): Remove redundant
     52  1.1  mrg 	call to lookup_node_type.
     53  1.1  mrg 	* testsuite/libstdc++-prettyprinters/80276.cc: Define
     54  1.1  mrg 	_GLIBCXX_USE_CXX11_ABI to 0.
     55  1.1  mrg 	* testsuite/libstdc++-prettyprinters/91997.cc: Use regexp-test to check
     56  1.1  mrg 	'a' content.
     57  1.1  mrg 
     58  1.1  mrg 2019-12-20  Jerome Lambourg  <lambourg (a] adacore.com>
     59  1.1  mrg 
     60  1.1  mrg 	* acinclude.m4 (_GLIBCXX_USE_PTHREAD_RWLOCK_T): Checks that _PTHREADS
     61  1.1  mrg 	is defined after including gthr.h.
     62  1.1  mrg 	* configure: Regenerate.
     63  1.1  mrg 
     64  1.1  mrg 2019-12-12  Jonathan Wakely  <jwakely (a] redhat.com>
     65  1.1  mrg 
     66  1.1  mrg 	* libsupc++/compare (common_comparison_category): Define without using
     67  1.1  mrg 	concepts and optimise for compilation time.
     68  1.1  mrg 	(__detail::__cmp_cat_ids): Remove.
     69  1.1  mrg 	(__detail::__common_cmp_cat): Replace class template and
     70  1.1  mrg 	specializations with constexpr function.
     71  1.1  mrg 
     72  1.1  mrg 2019-12-12  Franois Dumont  <fdumont (a] gcc.gnu.org>
     73  1.1  mrg 
     74  1.1  mrg 	* include/tr1/cctype: Add _GLIBCXX_BEGIN_VERSION_NAMESPACE and
     75  1.1  mrg 	_GLIBCXX_END_VERSION_NAMESPACE.
     76  1.1  mrg 	* include/tr1/cfenv: Likewise.
     77  1.1  mrg 	* include/tr1/cinttypes: Likewise.
     78  1.1  mrg 	* include/tr1/cstdint: Likewise.
     79  1.1  mrg 	* include/tr1/cstdio: Likewise.
     80  1.1  mrg 	* include/tr1/cstdlib: Likewise.
     81  1.1  mrg 	* include/tr1/cwchar: Likewise.
     82  1.1  mrg 	* include/tr1/cwctype: Likewise.
     83  1.1  mrg 
     84  1.1  mrg 	* src/c++11/random.cc: Include <cctype>.
     85  1.1  mrg 	(random_devise::_M_init_pretr1): Qualify isdigit call.
     86  1.1  mrg 
     87  1.1  mrg 2019-12-10  Thomas Rodgers  <trodgers (a] redhat.com>
     88  1.1  mrg 
     89  1.1  mrg 	* include/pstl/glue_numeric_defs.h: Restore enable_if lost during
     90  1.1  mrg 	original import of pstl.
     91  1.1  mrg 	* include/pstl/glue_numeric_impl.h: Likewise.
     92  1.1  mrg 
     93  1.1  mrg 2019-12-10  Jonathan Wakely  <jwakely (a] redhat.com>
     94  1.1  mrg 
     95  1.1  mrg 	(span(ContiguousIterator, Sentinel)): Add conditional noexcept.
     96  1.1  mrg 	* include/std/span (span(ContiguousIterator, size_type)): Change
     97  1.1  mrg 	noexcept to be unconditionally true.
     98  1.1  mrg 	* testsuite/23_containers/span/nothrow_cons.cc: New test.
     99  1.1  mrg 
    100  1.1  mrg 2019-12-10  Franois Dumont  <fdumont (a] gcc.gnu.org>
    101  1.1  mrg 
    102  1.1  mrg 	* include/bits/stl_algobase.h
    103  1.1  mrg 	(__copy_move_a1<>(_II, _II, _OI)): New.
    104  1.1  mrg 	(__copy_move_a1<>(_Deque_iterator<>, _Deque_iterator<>, _OI)): New.
    105  1.1  mrg 	(__copy_move_a1<>(_Deque_iterator<>, _Deque_iterator<>,
    106  1.1  mrg 	_Deque_iterator<>)): New.
    107  1.1  mrg 	(__copy_move_a1<>(_II, _II, _Deque_iterator<>)): New.
    108  1.1  mrg 	(__copy_move_a<>(_II, _II, _OI)): Adapt, call __copy_move_a1<>.
    109  1.1  mrg 	(__copy_move_a<>(const _Safe_iterator<>&, const _Safe_iterator<>&,
    110  1.1  mrg 	_OI)): New.
    111  1.1  mrg 	(__copy_move_a<>(const _Safe_iterator<>&, const _Safe_iterator<>&,
    112  1.1  mrg 	 const _Safe_iterator<>&)): New.
    113  1.1  mrg 	(__copy_move_a<>(_II, _II, const _Safe_iterator<>&)): New.
    114  1.1  mrg 	(copy, move): Adapt, call __copy_move_a.
    115  1.1  mrg 	(__copy_move_backward_a1<>(_II, _II, _OI)): New,
    116  1.1  mrg 	call __copy_move_backward_a2.
    117  1.1  mrg 	(__copy_move_backward_a1<>(_Deque_iterator<>, _Deque_iterator<>, _OI)): New.
    118  1.1  mrg 	(__copy_move_backward_a1<>(_Deque_iterator<>, _Deque_iterator<>,
    119  1.1  mrg 	_Deque_iterator<>)): New.
    120  1.1  mrg 	(__copy_move_backward_a1<>(_II, _II, _Deque_iterator<>)): New.
    121  1.1  mrg 	(__copy_move_backward_a<>(_II, _II, _OI)): Adapt, call
    122  1.1  mrg 	__copy_move_backward_a1<>.
    123  1.1  mrg 	(__copy_move_backward_a<>(const _Safe_iterator<>&, const _Safe_iterator<>&,
    124  1.1  mrg 	_OI)): New.
    125  1.1  mrg 	(__copy_move_backward_a<>(const _Safe_iterator<>&, const _Safe_iterator<>&,
    126  1.1  mrg 	 const _Safe_iterator<>&)): New.
    127  1.1  mrg 	(__copy_move_backward_a<>(_II, _II, const _Safe_iterator<>&)): New.
    128  1.1  mrg 	(copy_backward, move_backward): Adapt, call __copy_move_backward_a<>.
    129  1.1  mrg 	(__fill_a): Rename into...
    130  1.1  mrg 	(__fill_a1): ... this.
    131  1.1  mrg 	(__fill_a1(__normal_iterator<>, __normal_iterator<>, const _Tp&)): New.
    132  1.1  mrg 	(__fill_a1(const _Deque_iterator<>&, const _Deque_iterator<>&, _VTp)):
    133  1.1  mrg 	New.
    134  1.1  mrg 	(__fill_a(_FIte, _FIte, const _Tp&)): New, call __fill_a1.
    135  1.1  mrg 	(__fill_a(const _Safe_iterator<>&, const _Safe_iterator<>&,
    136  1.1  mrg 	const _Tp&)): New.
    137  1.1  mrg 	(fill): Adapt, remove __niter_base usage.
    138  1.1  mrg 	(__fill_n_a): Rename into...
    139  1.1  mrg 	(__fill_n_a1): ...this.
    140  1.1  mrg 	(__fill_n_a(const _Safe_iterator<>&, _Size, const _Tp&,
    141  1.1  mrg 	input_iterator_tag)): New.
    142  1.1  mrg 	(__fill_n_a(_OI, _Size, const _Tp&, output_iterator_tag)): New, call
    143  1.1  mrg 	__fill_n_a1.
    144  1.1  mrg 	(__fill_n_a(_OI, _Size, const _Tp&, random_access_iterator_tag)): New,
    145  1.1  mrg 	call __fill_a.
    146  1.1  mrg 	(__equal_aux): Rename into...
    147  1.1  mrg 	(__equal_aux1): ...this.
    148  1.1  mrg 	(__equal_aux1(_Deque_iterator<>, _Deque_iterator<>, _OI)): New.
    149  1.1  mrg 	(__equal_aux1(_Deque_iterator<>, _Deque_iterator<>,
    150  1.1  mrg 	_Deque_iterator<>)): New.
    151  1.1  mrg 	(__equal_aux1(_II, _II, _Deque_iterator<>)): New.
    152  1.1  mrg 	(__equal_aux(_II1, _II1, _II2)): New, call __equal_aux1.
    153  1.1  mrg 	(__equal_aux(const _Safe_iterator<>&, const _Safe_iterator<>&,
    154  1.1  mrg 	_OI)): New.
    155  1.1  mrg 	(__equal_aux(const _Safe_iterator<>&, const _Safe_iterator<>&,
    156  1.1  mrg 	 const _Safe_iterator<>&)): New.
    157  1.1  mrg 	(__equal_aux(_II, _II, const _Safe_iterator<>&)): New.
    158  1.1  mrg 	(equal(_II1, _II1, _II2)): Adapt.
    159  1.1  mrg 	* include/bits/stl_deque.h
    160  1.1  mrg 	(fill, copy, copy_backward, move, move_backward): Remove.
    161  1.1  mrg 	* include/bits/deque.tcc: Include <bits/stl_algobase.h>.
    162  1.1  mrg 	(__fill_a1): New.
    163  1.1  mrg 	(__copy_move_dit): New.
    164  1.1  mrg 	(__copy_move_a1): New, use latter.
    165  1.1  mrg 	(__copy_move_a1(_II, _II, _Deque_iterator<>)): New.
    166  1.1  mrg 	(__copy_move_backward_dit): New.
    167  1.1  mrg 	(__copy_move_backward_a1): New, use latter.
    168  1.1  mrg 	(__copy_move_backward_a1(_II, _II, _Deque_iterator<>)): New.
    169  1.1  mrg 	(__equal_dit): New.
    170  1.1  mrg 	(__equal_aux1): New, use latter.
    171  1.1  mrg 	(__equal_aux1(_II, _II, _Deque_iterator<>)): New.
    172  1.1  mrg 	* include/std/numeric (__is_random_access_iter): Move...
    173  1.1  mrg 	* include/bits/stl_iterator_base_types.h (__is_random_access_iter): ...
    174  1.1  mrg 	here. Provide pre-C++11 definition.
    175  1.1  mrg 	* include/debug/debug.h (_Safe_iterator<>): New declaration.
    176  1.1  mrg 	* include/debug/safe_iterator.h (_Safe_iterator<>::_M_can_advance): Add
    177  1.1  mrg 	__strict parameter.
    178  1.1  mrg 	* include/debug/safe_iterator.tcc: Include <bits/stl_algobase.h>.
    179  1.1  mrg 	(_Safe_iterator<>::_M_can_advance): Adapt.
    180  1.1  mrg 	(std::__copy_move_a, std::__copy_move_backward_a, __fill_a): New.
    181  1.1  mrg 	(__fill_n_a, __equal_aux): New.
    182  1.1  mrg 	* include/debug/stl_iterator.h (__niter_base): Remove.
    183  1.1  mrg 	* include/debug/vector (__niter_base): Remove.
    184  1.1  mrg 	* testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc:
    185  1.1  mrg 	Include <vector> and <list>. Add benches.
    186  1.1  mrg 	* testsuite/performance/25_algorithms/copy_deque_iterators.cc: Likewise.
    187  1.1  mrg 	* testsuite/performance/25_algorithms/equal_deque_iterators.cc: Likewise.
    188  1.1  mrg 	* testsuite/25_algorithms/copy/debug/1_neg.cc: New.
    189  1.1  mrg 	* testsuite/25_algorithms/copy/deque_iterators/2.cc: New.
    190  1.1  mrg 	* testsuite/25_algorithms/copy/deque_iterators/31.cc: New.
    191  1.1  mrg 	* testsuite/25_algorithms/copy/deque_iterators/32.cc: New.
    192  1.1  mrg 	* testsuite/25_algorithms/copy/deque_iterators/33.cc: New.
    193  1.1  mrg 	* testsuite/25_algorithms/copy/deque_iterators/41.cc: New.
    194  1.1  mrg 	* testsuite/25_algorithms/copy/deque_iterators/42.cc: New.
    195  1.1  mrg 	* testsuite/25_algorithms/copy/deque_iterators/43.cc: New.
    196  1.1  mrg 	* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc (test02):
    197  1.1  mrg 	New.
    198  1.1  mrg 	* testsuite/25_algorithms/copy_backward/deque_iterators/2.cc: New.
    199  1.1  mrg 	* testsuite/25_algorithms/equal/deque_iterators/1.cc: New.
    200  1.1  mrg 	* testsuite/25_algorithms/fill/deque_iterators/1.cc: New.
    201  1.1  mrg 	* testsuite/25_algorithms/move/deque_iterators/2.cc: New.
    202  1.1  mrg 	* testsuite/25_algorithms/move_backward/deque_iterators/2.cc: New.
    203  1.1  mrg 
    204  1.1  mrg 2019-12-10  Jonathan Wakely  <jwakely (a] redhat.com>
    205  1.1  mrg 
    206  1.1  mrg 	PR libstdc++/92886
    207  1.1  mrg 	* include/bits/ios_base.h (std::ios_base::trunc): Fix comment.
    208  1.1  mrg 
    209  1.1  mrg 	* include/std/complex (__cpp_lib_constexpr_complex): Define.
    210  1.1  mrg 	* include/std/version (__cpp_lib_constexpr_complex): Likewise.
    211  1.1  mrg 	* testsuite/26_numerics/complex/1.cc: New test.
    212  1.1  mrg 	* testsuite/26_numerics/complex/2.cc: New test.
    213  1.1  mrg 
    214  1.1  mrg 	* include/std/span: Do not include <tuple> and <utility>.
    215  1.1  mrg 	(tuple_size, tuple_element): Declare.
    216  1.1  mrg 
    217  1.1  mrg 	* include/bits/iterator_concepts.h (indirect_result_t): Do not apply
    218  1.1  mrg 	iter_reference_t to parameter pack.
    219  1.1  mrg 	* testsuite/24_iterators/indirect_callable/projected.cc: New test.
    220  1.1  mrg 
    221  1.1  mrg 2019-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    222  1.1  mrg 
    223  1.1  mrg 	* include/bits/range_access.h (ranges::enable_safe_range): Define.
    224  1.1  mrg 	(ranges::begin, ranges::end, ranges::rbegin, ranges::rend): Constrain
    225  1.1  mrg 	to only accept types satisfying safe_range and treat argument as an
    226  1.1  mrg 	lvalue when calling a member of performing ADL.
    227  1.1  mrg 	(ranges::__detail::__range_impl, ranges::__detail::__forwarding_range):
    228  1.1  mrg 	Remove.
    229  1.1  mrg 	(ranges::range): Adjust definition.
    230  1.1  mrg 	(ranges::safe_range): Define.
    231  1.1  mrg 	(ranges::iterator_t, ranges::range_difference_t): Reorder definitions
    232  1.1  mrg 	to match the synopsis in the working draft.
    233  1.1  mrg 	(ranges::disable_sized_range): Remove duplicate definition.
    234  1.1  mrg 	* include/experimental/string_view (ranges::enable_safe_range): Add
    235  1.1  mrg 	partial specialization for std::experimental::basic_string_view.
    236  1.1  mrg 	* include/std/ranges (ranges::viewable_range, ranges::subrange)
    237  1.1  mrg 	(ranges::empty_view, ranges::iota_view): Use safe_range. Specialize
    238  1.1  mrg 	enable_safe_range.
    239  1.1  mrg 	(ranges::safe_iterator_t, ranges::safe_subrange_t): Define.
    240  1.1  mrg 	* include/std/span (ranges::enable_safe_range): Add partial
    241  1.1  mrg 	specialization for std::span.
    242  1.1  mrg 	* include/std/string_view (ranges::enable_safe_range): Likewise for
    243  1.1  mrg 	std::basic_string_view.
    244  1.1  mrg 	* testsuite/std/ranges/access/begin.cc: Adjust expected results.
    245  1.1  mrg 	* testsuite/std/ranges/access/cbegin.cc: Likewise.
    246  1.1  mrg 	* testsuite/std/ranges/access/cdata.cc: Likewise.
    247  1.1  mrg 	* testsuite/std/ranges/access/cend.cc: Likewise.
    248  1.1  mrg 	* testsuite/std/ranges/access/crbegin.cc: Likewise.
    249  1.1  mrg 	* testsuite/std/ranges/access/crend.cc: Likewise.
    250  1.1  mrg 	* testsuite/std/ranges/access/data.cc: Likewise.
    251  1.1  mrg 	* testsuite/std/ranges/access/end.cc: Likewise.
    252  1.1  mrg 	* testsuite/std/ranges/access/rbegin.cc: Likewise.
    253  1.1  mrg 	* testsuite/std/ranges/access/rend.cc: Likewise.
    254  1.1  mrg 	* testsuite/std/ranges/empty_view.cc: Test ranges::begin and
    255  1.1  mrg 	ranges::end instead of unqualified calls to begin and end.
    256  1.1  mrg 	* testsuite/std/ranges/safe_range.cc: New test.
    257  1.1  mrg 	* testsuite/std/ranges/safe_range_types.cc: New test.
    258  1.1  mrg 	* testsuite/util/testsuite_iterators.h: Add comment about safe_range.
    259  1.1  mrg 
    260  1.1  mrg 	* testsuite/27_io/filesystem/path/concat/strings.cc: Test more cases.
    261  1.1  mrg 
    262  1.1  mrg 	PR libstdc++/92853
    263  1.1  mrg 	* src/c++17/fs_path.cc (filesystem::path::operator+=(const path&)):
    264  1.1  mrg 	Do not process a trailing directory separator twice.
    265  1.1  mrg 	* testsuite/27_io/filesystem/path/concat/92853.cc: New test.
    266  1.1  mrg 	* testsuite/27_io/filesystem/path/concat/path.cc: Test more cases.
    267  1.1  mrg 
    268  1.1  mrg 2019-12-09  Franois Dumont  <fdumont (a] gcc.gnu.org>
    269  1.1  mrg 
    270  1.1  mrg 	* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
    271  1.1  mrg 	Fix static_assert line number.
    272  1.1  mrg 	* testsuite/23_containers/array/tuple_interface/
    273  1.1  mrg 	tuple_element_debug_neg.cc: Likewise.
    274  1.1  mrg 
    275  1.1  mrg 2019-12-07  Andrew Pinski  <apinski (a] marvell.com>
    276  1.1  mrg 
    277  1.1  mrg 	* config/cpu/aarch64/opt/ext/opt_random.h: Wrap around with check
    278  1.1  mrg 	for little-endian like ext/random is done.
    279  1.1  mrg 
    280  1.1  mrg 2019-12-05  Jonathan Wakely  <jwakely (a] redhat.com>
    281  1.1  mrg 
    282  1.1  mrg 	* testsuite/23_containers/span/lwg3255.cc: Fix test. Constructing a
    283  1.1  mrg 	span of non-const elements should not be possible from a const array
    284  1.1  mrg 	or an array of const elements.
    285  1.1  mrg 
    286  1.1  mrg 2019-12-05  JeanHeyd "ThePhD" Meneide  <phdofthehouse (a] gmail.com>
    287  1.1  mrg 
    288  1.1  mrg 	Implement P1872R0 and P1394R0 for std::span
    289  1.1  mrg 	* include/bits/range_access.h (__adl_begin, __adl_end): Remove.
    290  1.1  mrg 	(sentinel_t, range_value_t, range_reference_t)
    291  1.1  mrg 	(range_rvalue_reference_t, __forwarding_range, disable_sized_range)
    292  1.1  mrg 	(output_range, input_range, forward_range, bidirectional_range)
    293  1.1  mrg 	(random_access_range, contiguous_range, common_range): Move here from
    294  1.1  mrg 	<ranges>, to make this the "ranges lite" internal header.
    295  1.1  mrg 	* include/std/ranges: Move basic aliases and concepts to
    296  1.1  mrg 	<bits/range_access.h>.
    297  1.1  mrg 	* include/std/span: Use concepts and ranges:: calls instead of
    298  1.1  mrg 	enable_if and friends.
    299  1.1  mrg 	* include/std/type_traits: Add __is_array_convertible trait.
    300  1.1  mrg 
    301  1.1  mrg 2019-12-05  Jonathan Wakely  <jwakely (a] redhat.com>
    302  1.1  mrg 
    303  1.1  mrg 	* include/bits/stl_algobase.h (lexicographical_compare_three_way):
    304  1.1  mrg 	Define for C++20.
    305  1.1  mrg 	* testsuite/25_algorithms/lexicographical_compare_three_way/1.cc: New
    306  1.1  mrg 	test.
    307  1.1  mrg 	* testsuite/25_algorithms/lexicographical_compare_three_way/
    308  1.1  mrg 	constexpr.cc: New test.
    309  1.1  mrg 
    310  1.1  mrg 	* python/libstdcxx/v6/printers.py (StdCmpCatPrinter): New printer.
    311  1.1  mrg 	* testsuite/libstdc++-prettyprinters/cxx20.cc: New test.
    312  1.1  mrg 
    313  1.1  mrg 	* include/bits/cpp_type_traits.h (__is_byte<char8_t>): Add
    314  1.1  mrg 	specialization.
    315  1.1  mrg 	* include/std/array (operator<=>): Likewise.
    316  1.1  mrg 	* testsuite/23_containers/array/comparison_operators/constexpr.cc:
    317  1.1  mrg 	Test three-way comparisons and arrays of unsigned char.
    318  1.1  mrg 	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
    319  1.1  mrg 	dg-error line numbers.
    320  1.1  mrg 
    321  1.1  mrg 2019-12-03  Jonathan Wakely  <jwakely (a] redhat.com>
    322  1.1  mrg 
    323  1.1  mrg 	* include/bits/stl_pair.h [__cpp_lib_three_way_comparison]
    324  1.1  mrg 	(operator<=>): Define for C++20.
    325  1.1  mrg 	* libsupc++/compare (__cmp2way_res_t): Rename to __cmp3way_res_t,
    326  1.1  mrg 	move into __detail namespace. Do not turn argument types into lvalues.
    327  1.1  mrg 	(__cmp3way_helper): Rename to __cmp3way_res_impl, move into __detail
    328  1.1  mrg 	namespace. Constrain with concepts instead of using void_t.
    329  1.1  mrg 	(compare_three_way_result): Adjust name of base class.
    330  1.1  mrg 	(compare_three_way_result_t): Use __cmp3way_res_impl directly.
    331  1.1  mrg 	(__detail::__3way_cmp_with): Add workaround for PR 91073.
    332  1.1  mrg 	(compare_three_way): Use workaround.
    333  1.1  mrg 	(__detail::__synth3way, __detail::__synth3way_t): Define new helpers
    334  1.1  mrg 	implementing synth-three-way and synth-three-way-result semantics.
    335  1.1  mrg 	* testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc: New
    336  1.1  mrg 	test.
    337  1.1  mrg 
    338  1.1  mrg 	* include/bits/stl_pair.h (pair): Remove stray Doxygen closing marker.
    339  1.1  mrg 
    340  1.1  mrg 	* testsuite/util/slow_clock.h: Fix copyright date.
    341  1.1  mrg 
    342  1.1  mrg 2019-12-02  Mike Crowe  <mac (a] mcrowe.com>
    343  1.1  mrg 
    344  1.1  mrg 	Fix try_lock_until and try_lock_shared_until on arbitrary clock
    345  1.1  mrg 	* include/std/shared_mutex (shared_timed_mutex::try_lock_until)
    346  1.1  mrg 	(shared_timed_mutex::try_lock_shared_until): Loop until the absolute
    347  1.1  mrg 	timeout time is reached as measured against the appropriate clock.
    348  1.1  mrg 	* testsuite/30_threads/shared_timed_mutex/try_lock_until/1.cc: New
    349  1.1  mrg 	file. Test try_lock_until and try_lock_shared_until timeouts against
    350  1.1  mrg 	various clocks.
    351  1.1  mrg 	* testsuite/30_threads/shared_timed_mutex/try_lock_until/1.cc: New
    352  1.1  mrg 	file. Test try_lock_until and try_lock_shared_until timeouts against
    353  1.1  mrg 	various clocks.
    354  1.1  mrg 
    355  1.1  mrg 	Add full steady_clock support to shared_timed_mutex
    356  1.1  mrg 	* acinclude.m4 (GLIBCXX_CHECK_PTHREAD_RWLOCK_CLOCKLOCK): Define
    357  1.1  mrg 	to check for the presence of both pthread_rwlock_clockrdlock and
    358  1.1  mrg 	pthread_rwlock_clockwrlock.
    359  1.1  mrg 	* config.h.in: Regenerate.
    360  1.1  mrg 	* configure.ac: Call GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK.
    361  1.1  mrg 	* configure: Regenerate.
    362  1.1  mrg 	* include/std/shared_mutex (shared_timed_mutex): Define __clock_t as
    363  1.1  mrg 	the best clock to use for relative waits.
    364  1.1  mrg 	(shared_timed_mutex::try_lock_for) Round up wait duration if necessary.
    365  1.1  mrg 	(shared_timed_mutex::try_lock_shared_for): Likewise.
    366  1.1  mrg 	(shared_timed_mutex::try_lock_until): Use existing try_lock_until
    367  1.1  mrg 	implementation for system_clock (which matches __clock_t when
    368  1.1  mrg 	_GLIBCCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK is not defined). Add new
    369  1.1  mrg 	overload for steady_clock that uses pthread_rwlock_clockwrlock if it
    370  1.1  mrg 	is available. Simplify overload for non-standard clock to just call
    371  1.1  mrg 	try_lock_for with a relative timeout.
    372  1.1  mrg 	(shared_timed_mutex::try_lock_shared_until): Likewise.
    373  1.1  mrg 
    374  1.1  mrg 	PR libstdc++/91906 Fix timed_mutex::try_lock_until on arbitrary clock
    375  1.1  mrg 	* include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Loop
    376  1.1  mrg 	until the absolute timeout time is reached as measured against the
    377  1.1  mrg 	appropriate clock.
    378  1.1  mrg 	* testsuite/util/slow_clock.h: New file. Move implementation of
    379  1.1  mrg 	slow_clock test class.
    380  1.1  mrg 	* testsuite/30_threads/condition_variable/members/2.cc: Include
    381  1.1  mrg 	slow_clock from header.
    382  1.1  mrg 	* testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Convert
    383  1.1  mrg 	existing test to templated function so that it can be called with
    384  1.1  mrg 	both system_clock and steady_clock.
    385  1.1  mrg 	* testsuite/30_threads/timed_mutex/try_lock_until/3.cc: Also run test
    386  1.1  mrg 	using slow_clock to test above fix.
    387  1.1  mrg 	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/3.cc:
    388  1.1  mrg 	Likewise.
    389  1.1  mrg 	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/4.cc: Add
    390  1.1  mrg 	new test that try_lock_until behaves as try_lock if the timeout has
    391  1.1  mrg 	already expired or exactly matches the current time.
    392  1.1  mrg 
    393  1.1  mrg 	PR libstdc++/78237 Add full steady_clock support to timed_mutex
    394  1.1  mrg 	* acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define to
    395  1.1  mrg 	detect presence of pthread_mutex_clocklock function.
    396  1.1  mrg 	* config.h.in: Regenerate.
    397  1.1  mrg 	* configure: Regenerate.
    398  1.1  mrg 	* configure.ac: Call GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK.
    399  1.1  mrg 	* include/std/mutex (__timed_mutex_impl): Remove unnecessary __clock_t.
    400  1.1  mrg 	(__timed_mutex_impl::_M_try_lock_for): Use best clock to turn relative
    401  1.1  mrg 	timeout into absolute timeout.
    402  1.1  mrg 	(__timed_mutex_impl::_M_try_lock_until): Keep existing implementation
    403  1.1  mrg 	for system_clock. Add new implementation for steady_clock that calls
    404  1.1  mrg 	_M_clocklock. Modify overload for user-defined clock to use a relative
    405  1.1  mrg 	wait so that it automatically uses the best clock.
    406  1.1  mrg 	[_GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK] (timed_mutex::_M_clocklock):
    407  1.1  mrg 	New member function.
    408  1.1  mrg 	(recursive_timed_mutex::_M_clocklock): Likewise.
    409  1.1  mrg 
    410  1.1  mrg 	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/3.cc:
    411  1.1  mrg 	New test. Ensure that timed_mutex::try_lock_until actually times out
    412  1.1  mrg 	after the specified time when using both system_clock and
    413  1.1  mrg 	steady_clock.
    414  1.1  mrg 	* testsuite/30_threads/timed_mutex/try_lock_until/3.cc: New test.
    415  1.1  mrg 	Likewise but for recursive_timed_mutex.
    416  1.1  mrg 	* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Template
    417  1.1  mrg 	test functions and use them to test both steady_clock and system_clock.
    418  1.1  mrg 	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise. Wrap call
    419  1.1  mrg 	to timed_mutex::try_lock_until in VERIFY macro to check its return
    420  1.1  mrg 	value.
    421  1.1  mrg 
    422  1.1  mrg 2019-11-30  Jonathan Wakely  <jwakely (a] redhat.com>
    423  1.1  mrg 
    424  1.1  mrg 	* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Enable by default for
    425  1.1  mrg 	mingw targets.
    426  1.1  mrg 	* configure: Regenerate.
    427  1.1  mrg 
    428  1.1  mrg 	* include/bits/fs_path.h (u8path(InputIterator, InputIterator))
    429  1.1  mrg 	(u8path(const Source&)) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Simplify
    430  1.1  mrg 	conditions.
    431  1.1  mrg 	* include/experimental/bits/fs_path.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
    432  1.1  mrg 	(__u8path(const Source&, char)): Add overloads for std::string and
    433  1.1  mrg 	types convertible to std::string.
    434  1.1  mrg 	(_Cvt::_S_wconvert): Add a new overload for char8_t strings and use
    435  1.1  mrg 	codecvt_utf8_utf16 to do the correct conversion.
    436  1.1  mrg 
    437  1.1  mrg 2019-11-29  Jonathan Wakely  <jwakely (a] redhat.com>
    438  1.1  mrg 
    439  1.1  mrg 	* include/bits/fs_path.h (path::operator/=): Change template-head to
    440  1.1  mrg 	use typename instead of class.
    441  1.1  mrg 	* include/experimental/bits/fs_path.h (path::operator/=): Likewise.
    442  1.1  mrg 	* include/std/ostream (operator<<): Likewise.
    443  1.1  mrg 
    444  1.1  mrg 2019-11-29  Tom Honermann  <tom (a] honermann.net>
    445  1.1  mrg 
    446  1.1  mrg 	New tests
    447  1.1  mrg 	* testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc:
    448  1.1  mrg 	New test to validate deleted overloads of character and string
    449  1.1  mrg 	inserters for narrow ostreams.
    450  1.1  mrg 	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc:
    451  1.1  mrg 	New test to validate deleted overloads of character and string
    452  1.1  mrg 	inserters for wide ostreams.
    453  1.1  mrg 	* testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: New test
    454  1.1  mrg 	to validate u8path invocations with sequences of char8_t.
    455  1.1  mrg 	* testsuite/experimental/filesystem/path/factory/u8path-char8_t.cc:
    456  1.1  mrg 	New test to validate u8path invocations with sequences of char8_t.
    457  1.1  mrg 
    458  1.1  mrg 	Updates to existing tests
    459  1.1  mrg 	* testsuite/experimental/feat-char8_t.cc: Updated the expected
    460  1.1  mrg 	__cpp_lib_char8_t feature test macro value.
    461  1.1  mrg 	* testsuite/27_io/filesystem/path/factory/u8path.cc: Added testing of
    462  1.1  mrg 	u8path invocation with std::string, std::string_view, and iterators
    463  1.1  mrg 	thereof.
    464  1.1  mrg 	* testsuite/experimental/filesystem/path/factory/u8path.cc: Added
    465  1.1  mrg 	testing of u8path invocation with std::string, std::string_view, and
    466  1.1  mrg 	iterators thereof.
    467  1.1  mrg 
    468  1.1  mrg 	Update feature test macro, add deleted operators, update u8path
    469  1.1  mrg 	* include/bits/c++config: Bumped the value of the __cpp_lib_char8_t
    470  1.1  mrg 	feature test macro.
    471  1.1  mrg 	* include/bits/fs_path.h (u8path): Modified u8path to accept sequences
    472  1.1  mrg 	of char8_t.
    473  1.1  mrg 	* include/experimental/bits/fs_path.h (u8path): Modified u8path to
    474  1.1  mrg 	accept sequences of char8_t.
    475  1.1  mrg 	* include/std/ostream: Added deleted overloads of wchar_t, char8_t,
    476  1.1  mrg 	char16_t, and char32_t for ordinary and wide formatted character and
    477  1.1  mrg 	string inserters.
    478  1.1  mrg 
    479  1.1  mrg 	Decouple constraints for u8path from path constructors
    480  1.1  mrg 	* include/bits/fs_path.h: Moved helper utilities out of
    481  1.1  mrg 	std::filesystem::path into a detail namespace to make them
    482  1.1  mrg 	available for use by u8path.
    483  1.1  mrg 	* include/experimental/bits/fs_path.h: Moved helper utilities out
    484  1.1  mrg 	of std::experimental::filesystem::v1::path into a detail
    485  1.1  mrg 	namespace to make them available for use by u8path.
    486  1.1  mrg 
    487  1.1  mrg 2019-11-29  Jonathan Wakely  <jwakely (a] redhat.com>
    488  1.1  mrg 
    489  1.1  mrg 	PR libstdc++/91997
    490  1.1  mrg 	* python/libstdcxx/v6/printers.py (find_type): Fail more gracefully
    491  1.1  mrg 	if we run out of base classes to look at.
    492  1.1  mrg 	(lookup_templ_spec, lookup_node_type): New utilities to find node
    493  1.1  mrg 	types for node-based containers.
    494  1.1  mrg 	(StdListPrinter.children, NodeIteratorPrinter.__init__)
    495  1.1  mrg 	(NodeIteratorPrinter.to_string, StdSlistPrinter.children)
    496  1.1  mrg 	(StdSlistIteratorPrinter.to_string, StdRbtreeIteratorPrinter.__init__)
    497  1.1  mrg 	(StdMapPrinter.children, StdSetPrinter.children)
    498  1.1  mrg 	(StdForwardListPrinter.children): Use lookup_node_type instead of
    499  1.1  mrg 	find_type.
    500  1.1  mrg 	(StdListIteratorPrinter.__init__, StdFwdListIteratorPrinter.__init__):
    501  1.1  mrg 	Pass name of node type to NodeIteratorPrinter constructor.
    502  1.1  mrg 	(Tr1HashtableIterator.__init__): Rename argument.
    503  1.1  mrg 	(StdHashtableIterator.__init__): Likewise. Use lookup_templ_spec
    504  1.1  mrg 	instead of find_type.
    505  1.1  mrg 	* testsuite/libstdc++-prettyprinters/59161.cc: Remove workaround for
    506  1.1  mrg 	_Node typedef not being present in debuginfo.
    507  1.1  mrg 	* testsuite/libstdc++-prettyprinters/91997.cc: New test.
    508  1.1  mrg 
    509  1.1  mrg 2019-11-26  Franois Dumont  <fdumont (a] gcc.gnu.org>
    510  1.1  mrg 
    511  1.1  mrg 	* include/debug/helper_functions.h (__valid_range_aux): Use C++98
    512  1.1  mrg 	std::input_iterator_tag default constructor invocation.
    513  1.1  mrg 
    514  1.1  mrg 	* include/debug/array (array<>::fill): Add C++20 constexpr.
    515  1.1  mrg 	(array<>::swap): Likewise.
    516  1.1  mrg 
    517  1.1  mrg 	* include/debug/safe_iterator.h
    518  1.1  mrg 	[__cpp_lib_concepts](_Safe_iterator<>::iterator_concept): Define for
    519  1.1  mrg 	C++20.
    520  1.1  mrg 
    521  1.1  mrg 2019-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
    522  1.1  mrg 
    523  1.1  mrg 	* include/bits/iterator_concepts.h (ranges::iter_swap): Fix parameter
    524  1.1  mrg 	types of poison pill overload. Use remove_reference_t when checking
    525  1.1  mrg 	constraints.
    526  1.1  mrg 	* include/bits/stl_iterator.h (move_sentinel): Define for C++20.
    527  1.1  mrg 	(move_iterator): Adjust definitions of nested types for C++20. Add
    528  1.1  mrg 	hidden friends for move_sentinel operations, iter_move and iter_swap.
    529  1.1  mrg 	(common_iterator, counted_iterator): Define for C++20.
    530  1.1  mrg 	* testsuite/24_iterators/move_iterator/cust.cc: New test.
    531  1.1  mrg 	* testsuite/24_iterators/move_iterator/sentinel.cc: New test.
    532  1.1  mrg 	* testsuite/24_iterators/common_iterator/1.cc: New test.
    533  1.1  mrg 	* testsuite/24_iterators/counted_iterator/1.cc: New test.
    534  1.1  mrg 
    535  1.1  mrg 	PR libstdc++/91786
    536  1.1  mrg 	* include/bits/fs_path.h (filesystem_error): Move definition before
    537  1.1  mrg 	the use in u8path.
    538  1.1  mrg 
    539  1.1  mrg 2019-11-24  Franois Dumont  <fdumont (a] gcc.gnu.org>
    540  1.1  mrg 
    541  1.1  mrg 	* include/debug/functions.h: Remove <bits/move.h> include.
    542  1.1  mrg 	(__check_singular_aux, __check_singular): Move...
    543  1.1  mrg 	* include/debug/helper_functions.h:
    544  1.1  mrg 	(__check_singular_aux, __check_singular): ...here.
    545  1.1  mrg 	(__valid_range_aux): Adapt to use latter.
    546  1.1  mrg 	* testsuite/25_algorithms/copy/debug/2_neg.cc: New.
    547  1.1  mrg 
    548  1.1  mrg 2019-11-20  Janne Blomqvist  <jb (a] gcc.gnu.org>
    549  1.1  mrg 
    550  1.1  mrg 	* doc/html/api.html: Use https for gcc.gnu.org.
    551  1.1  mrg 	* doc/xml/api.xml: Likewise.
    552  1.1  mrg 
    553  1.1  mrg 2019-11-19  Jonathan Wakely  <jwakely (a] redhat.com>
    554  1.1  mrg 
    555  1.1  mrg 	* include/bits/regex.h (ranges::__detail::__enable_view_impl): Fix
    556  1.1  mrg 	declaration.
    557  1.1  mrg 	* include/bits/stl_multiset.h (ranges::__detail::__enable_view_impl):
    558  1.1  mrg 	Likewise.
    559  1.1  mrg 	* include/bits/stl_set.h (ranges::__detail::__enable_view_impl):
    560  1.1  mrg 	Likewise.
    561  1.1  mrg 	* include/bits/unordered_set.h (ranges::__detail::__enable_view_impl):
    562  1.1  mrg 	Likewise.
    563  1.1  mrg 	* include/debug/multiset.h (ranges::__detail::__enable_view_impl):
    564  1.1  mrg 	Likewise.
    565  1.1  mrg 	* include/debug/set.h (ranges::__detail::__enable_view_impl): Likewise.
    566  1.1  mrg 	* include/debug/unordered_set (ranges::__detail::__enable_view_impl):
    567  1.1  mrg 	Likewise.
    568  1.1  mrg 
    569  1.1  mrg 2019-11-18  Jonathan Wakely  <jwakely (a] redhat.com>
    570  1.1  mrg 
    571  1.1  mrg 	* include/std/thread: Reduce header dependencies.
    572  1.1  mrg 	(jthread::get_id()): Add missing return.
    573  1.1  mrg 	(jthread::get_stop_token()): Avoid unnecessary stop_source temporary.
    574  1.1  mrg 	(jthread::_S_create): Check is_invocable using decayed types. Add
    575  1.1  mrg 	static assertion.
    576  1.1  mrg 	* testsuite/30_threads/jthread/1.cc: Add dg-require-gthreads.
    577  1.1  mrg 	* testsuite/30_threads/jthread/2.cc: Likewise.
    578  1.1  mrg 	* testsuite/30_threads/jthread/3.cc: New test.
    579  1.1  mrg 	* testsuite/30_threads/jthread/jthread.cc: Add missing directives for
    580  1.1  mrg 	pthread and gthread support. Use VERIFY instead of assert.
    581  1.1  mrg 
    582  1.1  mrg 	* include/bits/alloc_traits.h (allocator_traits::construct)
    583  1.1  mrg 	(allocator_traits::destroy, allocator_traits::max_size): Add unused
    584  1.1  mrg 	attributes to parameters that are not used in C++20.
    585  1.1  mrg 	* include/std/bit (__ceil2): Add braces around assertion to avoid
    586  1.1  mrg 	-Wmissing-braces warning.
    587  1.1  mrg 
    588  1.1  mrg 2019-11-16  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
    589  1.1  mrg 
    590  1.1  mrg 	Repair the <tuple> part of C++20 p1032 Misc constexpr bits.
    591  1.1  mrg 	* include/bits/uses_allocator.h (__uses_alloc0::_Sink::operaror=)
    592  1.1  mrg 	(__use_alloc(const _Alloc&)) : Constexpr.
    593  1.1  mrg 
    594  1.1  mrg 2019-11-17  Jonathan Wakely  <jwakely (a] redhat.com>
    595  1.1  mrg 
    596  1.1  mrg 	* include/std/string_view (basic_string_view(It, End)): Add range
    597  1.1  mrg 	constructor and deduction guide from P1391R4.
    598  1.1  mrg 	* testsuite/21_strings/basic_string_view/cons/char/range.cc: New test.
    599  1.1  mrg 
    600  1.1  mrg 	* include/bits/regex.h (match_results): Specialize __enable_view_impl.
    601  1.1  mrg 	* include/bits/stl_set.h (set): Likewise.
    602  1.1  mrg 	* include/bits/unordered_set.h (unordered_set, unordered_multiset):
    603  1.1  mrg 	Likewise.
    604  1.1  mrg 	* include/debug/multiset.h (__debug::multiset): Likewise.
    605  1.1  mrg 	* include/debug/set.h (__debug::set): Likewise.
    606  1.1  mrg 	* include/debug/unordered_set (__debug::unordered_set)
    607  1.1  mrg 	(__debug::unordered_multiset): Likewise.
    608  1.1  mrg 	* include/std/ranges (ranges::view, ranges::enable_view)
    609  1.1  mrg 	(ranges::view_interface, ranges::subrange, ranges::empty_view)
    610  1.1  mrg 	(ranges::single_view, ranges::views::single, ranges::iota_view)
    611  1.1  mrg 	(ranges::views::iota): Define for C++20.
    612  1.1  mrg 	* testsuite/std/ranges/empty_view.cc: New test.
    613  1.1  mrg 	* testsuite/std/ranges/iota_view.cc: New test.
    614  1.1  mrg 	* testsuite/std/ranges/single_view.cc: New test.
    615  1.1  mrg 	* testsuite/std/ranges/view.cc: New test.
    616  1.1  mrg 
    617  1.1  mrg 2019-11-16  Jonathan Wakely  <jwakely (a] redhat.com>
    618  1.1  mrg 
    619  1.1  mrg 	* include/std/ranges: Revert accidentally committed changes.
    620  1.1  mrg 
    621  1.1  mrg 	* include/std/thread (jthread::jthread()): Use nostopstate constant.
    622  1.1  mrg 	(jthread::jthread(Callable&&, Args&&...)): Use helper function to
    623  1.1  mrg 	create std::thread instead of indirection through a lambda. Use
    624  1.1  mrg 	remove_cvref_t instead of decay_t.
    625  1.1  mrg 	(jthread::joinable(), jthread::get_id(), jthread::native_handle())
    626  1.1  mrg 	(jthread::hardware_concurrency()): Add nodiscard attribute.
    627  1.1  mrg 	(swap(jthread&. jthread&)): Define hidden friend.
    628  1.1  mrg 	(jthread::_S_create): New helper function for constructor.
    629  1.1  mrg 
    630  1.1  mrg 2019-11-15  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
    631  1.1  mrg 
    632  1.1  mrg 	Implement the <tuple> part of C++20 p1032 Misc constexpr bits.
    633  1.1  mrg 	* include/std/tuple (_Head_base, _Tuple_impl(allocator_arg_t,...)
    634  1.1  mrg 	(_M_assign, tuple(allocator_arg_t,...), _Inherited, operator=, _M_swap)
    635  1.1  mrg 	(swap, pair(piecewise_construct_t,): Constexpr.
    636  1.1  mrg 	* (__uses_alloc0::_Sink::operator=, __uses_alloc_t): Constexpr.
    637  1.1  mrg 	* testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: New test.
    638  1.1  mrg 	* testsuite/20_util/tuple/constexpr_swap.cc : New test.
    639  1.1  mrg 	* testsuite/20_util/uses_allocator/69293_neg.cc: Extra error for C++20.
    640  1.1  mrg 	* testsuite/20_util/uses_allocator/cons_neg.cc: : Extra error for C++20.
    641  1.1  mrg 
    642  1.1  mrg 2019-11-15  Jonathan Wakely  <jwakely (a] redhat.com>
    643  1.1  mrg 
    644  1.1  mrg 	* include/std/stop_token: Reduce header dependencies by including
    645  1.1  mrg 	internal headers.
    646  1.1  mrg 	(stop_token::swap(stop_token&), swap(stop_token&, stop_token&)):
    647  1.1  mrg 	Define.
    648  1.1  mrg 	(operator!=(const stop_token&, const stop_token&)): Fix return value.
    649  1.1  mrg 	(stop_token::_Stop_cb::_Stop_cb(Cb&&)): Use std::forward instead of
    650  1.1  mrg 	(stop_token::_Stop_state_t) [_GLIBCXX_HAS_GTHREADS]: Use lock_guard
    651  1.1  mrg 	instead of unique_lock.
    652  1.1  mrg 	[!_GLIBCXX_HAS_GTHREADS]: Do not use mutex.
    653  1.1  mrg 	(stop_token::stop_token(_Stop_state)): Change parameter to lvalue
    654  1.1  mrg 	reference.
    655  1.1  mrg 	(stop_source): Remove unnecessary using-declarations for names only
    656  1.1  mrg 	used once.
    657  1.1  mrg 	(swap(stop_source&, stop_source&)): Define.
    658  1.1  mrg 	(stop_callback(const stop_token&, _Cb&&))
    659  1.1  mrg 	(stop_callback(stop_token&&, _Cb&&)): Replace lambdas with a named
    660  1.1  mrg 	function. Use std::forward instead of std::move. Run callbacks if a
    661  1.1  mrg 	stop request has already been made.
    662  1.1  mrg 	(stop_source::_M_execute()): Remove.
    663  1.1  mrg 	(stop_source::_S_execute(_Stop_cb*)): Define.
    664  1.1  mrg 	* include/std/version (__cpp_lib_jthread): Define conditionally.
    665  1.1  mrg 	* testsuite/30_threads/stop_token/stop_callback.cc: New test.
    666  1.1  mrg 	* testsuite/30_threads/stop_token/stop_source.cc: New test.
    667  1.1  mrg 	* testsuite/30_threads/stop_token/stop_token.cc: Enable test for
    668  1.1  mrg 	immediate execution of callback.
    669  1.1  mrg 
    670  1.1  mrg 2019-11-15  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
    671  1.1  mrg 
    672  1.1  mrg 	Implement the default_searcher part of C++20 p1032 Misc constexpr bits.
    673  1.1  mrg 	* include/std/functional
    674  1.1  mrg 	(default_searcher, default_searcher::operator()): Constexpr.
    675  1.1  mrg 	* testsuite/20_util/function_objects/constexpr_searcher.cc: New.
    676  1.1  mrg 
    677  1.1  mrg 2019-11-15  Jonathan Wakely  <jwakely (a] redhat.com>
    678  1.1  mrg 
    679  1.1  mrg 	* include/bits/iterator_concepts.h (weakly_incrementable): Adjust.
    680  1.1  mrg 	* include/std/concepts (default_constructible): Rename to
    681  1.1  mrg 	default_initializable and require default-list-initialization and
    682  1.1  mrg 	default-initialization to be valid (LWG 3149).
    683  1.1  mrg 	(semiregular): Adjust to new name.
    684  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.defaultconstructible/
    685  1.1  mrg 	1.cc: Rename directory to concept.defaultinitializable and adjust to
    686  1.1  mrg 	new name.
    687  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.defaultinitializable/
    688  1.1  mrg 	lwg3149.cc: New test.
    689  1.1  mrg 	* testsuite/util/testsuite_iterators.h (test_range): Adjust.
    690  1.1  mrg 
    691  1.1  mrg 	* src/c++17/fs_path.cc [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
    692  1.1  mrg 	(is_disk_designator): New helper function.
    693  1.1  mrg 	(path::_Parser::root_path()): Use is_disk_designator.
    694  1.1  mrg 	(path::lexically_relative(const path&)): Implement resolution of
    695  1.1  mrg 	LWG 3070.
    696  1.1  mrg 	* testsuite/27_io/filesystem/path/generation/relative.cc: Check with
    697  1.1  mrg 	path components that look like a root-name.
    698  1.1  mrg 
    699  1.1  mrg 	* doc/doxygen/user.cfg.in: Add <stop_token>.
    700  1.1  mrg 	* include/precompiled/stdc++.h: Likewise.
    701  1.1  mrg 	* include/std/stop_token: Fix definition of std::nostopstate.
    702  1.1  mrg 	* testsuite/30_threads/headers/stop_token/synopsis.cc: New test.
    703  1.1  mrg 	* testsuite/30_threads/headers/thread/types_std_c++20.cc: New test.
    704  1.1  mrg 	* testsuite/30_threads/stop_token/stop_source.cc: New test.
    705  1.1  mrg 	* testsuite/30_threads/stop_token/stop_token.cc: Remove unnecessary
    706  1.1  mrg 	dg-require directives. Remove I/O and inclusion of <iostream>.
    707  1.1  mrg 
    708  1.1  mrg 2019-11-14  Thomas Rodgers  <trodgers (a] redhat.com>
    709  1.1  mrg 
    710  1.1  mrg 	* include/Makefile.am: Add <stop_token> header.
    711  1.1  mrg 	* include/Makefile.in: Regenerate.
    712  1.1  mrg 	* include/std/condition_variable: Add overloads for stop_token support
    713  1.1  mrg 	to condition_variable_any.
    714  1.1  mrg 	* include/std/stop_token: New file.
    715  1.1  mrg 	* include/std/thread: Add jthread type.
    716  1.1  mrg 	* include/std/version (__cpp_lib_jthread): New value.
    717  1.1  mrg 	* testsuite/30_threads/condition_variable_any/stop_token/1.cc: New test.
    718  1.1  mrg 	* testsuite/30_threads/condition_variable_any/stop_token/2.cc: New test.
    719  1.1  mrg 	* testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
    720  1.1  mrg 	New test.
    721  1.1  mrg 	* testsuite/30_threads/jthread/1.cc: New test.
    722  1.1  mrg 	* testsuite/30_threads/jthread/2.cc: New test.
    723  1.1  mrg 	* testsuite/30_threads/jthread/jthread.cc: New test.
    724  1.1  mrg 	* testsuite/30_threads/stop_token/1.cc: New test.
    725  1.1  mrg 	* testsuite/30_threads/stop_token/2.cc: New test.
    726  1.1  mrg 	* testsuite/30_threads/stop_token/stop_token.cc: New test.
    727  1.1  mrg 
    728  1.1  mrg 2019-11-14  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
    729  1.1  mrg 
    730  1.1  mrg 	Implement the <array> part of C++20 p1032 Misc constexpr bits.
    731  1.1  mrg 	* include/std/array (fill, swap): Make constexpr.
    732  1.1  mrg 	* testsuite/23_containers/array/requirements/constexpr_fill.cc: New.
    733  1.1  mrg 	* testsuite/23_containers/array/requirements/constexpr_swap.cc: New.
    734  1.1  mrg 
    735  1.1  mrg 2019-11-14  Jonathan Wakely  <jwakely (a] redhat.com>
    736  1.1  mrg 
    737  1.1  mrg 	* include/bits/iterator_concepts.h (__iter_concept_impl): Add
    738  1.1  mrg 	comments.
    739  1.1  mrg 	(indirect_relation): Rename to indirect_binary_predicate and adjust
    740  1.1  mrg 	definition as per P1716R3.
    741  1.1  mrg 	(indirect_equivalence_relation): Define.
    742  1.1  mrg 	(indirectly_comparable): Adjust definition.
    743  1.1  mrg 	* include/std/concepts (equivalence_relation): Define.
    744  1.1  mrg 	* testsuite/std/concepts/concepts.callable/relation.cc: Add tests for
    745  1.1  mrg 	equivalence_relation.
    746  1.1  mrg 
    747  1.1  mrg 	* include/bits/iterator_concepts.h (disable_sized_sentinel): Rename to
    748  1.1  mrg 	disable_sized_sentinel_for.
    749  1.1  mrg 	* testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: Adjust.
    750  1.1  mrg 
    751  1.1  mrg 2019-11-13  Jonathan Wakely  <jwakely (a] redhat.com>
    752  1.1  mrg 
    753  1.1  mrg 	* libsupc++/compare (strong_order, weak_order, partial_order)
    754  1.1  mrg 	(compare_strong_order_fallback, compare_weak_order_fallback)
    755  1.1  mrg 	(compare_partial_order_fallback): Define customization point objects
    756  1.1  mrg 	for C++20.
    757  1.1  mrg 	* testsuite/18_support/comparisons/algorithms/partial_order.cc: New
    758  1.1  mrg 	test.
    759  1.1  mrg 	* testsuite/18_support/comparisons/algorithms/strong_order.cc: New
    760  1.1  mrg 	test.
    761  1.1  mrg 	* testsuite/18_support/comparisons/algorithms/weak_order.cc: New test.
    762  1.1  mrg 
    763  1.1  mrg 2019-11-11  Gerald Pfeifer  <gerald (a] pfeifer.com>
    764  1.1  mrg 
    765  1.1  mrg 	* doc/xml/gnu/gpl-3.0.xml: Adjust link to "Why not LGPL".
    766  1.1  mrg 
    767  1.1  mrg 2019-11-10  Gerald Pfeifer  <gerald (a] pfeifer.com>
    768  1.1  mrg 
    769  1.1  mrg 	* doc/xml/manual/using.xml: Switch www.hboehm.info to https.
    770  1.1  mrg 
    771  1.1  mrg 2019-11-07  Jonathan Wakely  <jwakely (a] redhat.com>
    772  1.1  mrg 
    773  1.1  mrg 	* doc/doxygen/user.cfg.in (INPUT): Add <compare> header.
    774  1.1  mrg 	* include/precompiled/stdc++.h: Include <compare> header.
    775  1.1  mrg 
    776  1.1  mrg 	* libsupc++/compare (common_comparison_category)
    777  1.1  mrg 	(common_comparison_category_t): Define for C++20.
    778  1.1  mrg 	* testsuite/18_support/comparisons/common/1.cc: New test.
    779  1.1  mrg 
    780  1.1  mrg 	* include/bits/stl_algo.h (for_each_n): Handle negative count.
    781  1.1  mrg 	* testsuite/25_algorithms/for_each/for_each_n_debug.cc: New test.
    782  1.1  mrg 
    783  1.1  mrg 2019-11-07  Jason Merrill  <jason (a] redhat.com>
    784  1.1  mrg 
    785  1.1  mrg 	* libsupc++/compare: Remove strong_equality and weak_equality.
    786  1.1  mrg 
    787  1.1  mrg 2019-11-06  Jonathan Wakely  <jwakely (a] redhat.com>
    788  1.1  mrg 
    789  1.1  mrg 	* include/Makefile.in: Regenerate.
    790  1.1  mrg 	* libsupc++/Makefile.in: Regenerate.
    791  1.1  mrg 	* libsupc++/compare (__3way_builtin_ptr_cmp): Define helper.
    792  1.1  mrg 	(compare_three_way): Add missing implementation.
    793  1.1  mrg 
    794  1.1  mrg 	* include/bits/iterator_concepts.h (unreachable_sentinel_t): Remove
    795  1.1  mrg 	redundant equality operators.
    796  1.1  mrg 	* testsuite/util/testsuite_iterators.h (test_range::sentinel):
    797  1.1  mrg 	Likewise.
    798  1.1  mrg 
    799  1.1  mrg 2019-11-05  Jonathan Wakely  <jwakely (a] redhat.com>
    800  1.1  mrg 
    801  1.1  mrg 	* libsupc++/compare: New header.
    802  1.1  mrg 	* libsupc++/Makefile.am (std_HEADERS): Add compare.
    803  1.1  mrg 	* include/std/version: Define __cpp_lib_three_way_comparison.
    804  1.1  mrg 	* include/std/functional: #include <compare>.
    805  1.1  mrg 
    806  1.1  mrg 	* include/std/version [!_GLIBCXX_HOSTED]: Do not define feature test
    807  1.1  mrg 	macros for features that are only present in hosted builds.
    808  1.1  mrg 
    809  1.1  mrg 	* include/bits/iterator_concepts.h (__iter_without_nested_types):
    810  1.1  mrg 	Remove incorrect comment.
    811  1.1  mrg 
    812  1.1  mrg 2019-10-31  Jonathan Wakely  <jwakely (a] redhat.com>
    813  1.1  mrg 
    814  1.1  mrg 	* doc/html/*: Regenerate.
    815  1.1  mrg 
    816  1.1  mrg 	* include/bits/refwrap.h (reference_wrapper, ref, cref): Add constexpr
    817  1.1  mrg 	specifiers for C++20.
    818  1.1  mrg 	* include/std/functional (_Mem_fn, mem_fn, _Bind, _Bind_result, bind)
    819  1.1  mrg 	(bind_front, _Not_fn, not_fn): Likewise.
    820  1.1  mrg 	* testsuite/20_util/bind/constexpr.cc: New test.
    821  1.1  mrg 	* testsuite/20_util/function_objects/bind_front/constexpr.cc: New test.
    822  1.1  mrg 	* testsuite/20_util/function_objects/mem_fn/constexpr.cc: New test.
    823  1.1  mrg 	* testsuite/20_util/function_objects/not_fn/constexpr.cc: New test.
    824  1.1  mrg 	* testsuite/20_util/reference_wrapper/constexpr.cc: New test.
    825  1.1  mrg 
    826  1.1  mrg 	* doc/doxygen/user.cfg.in: Add new header.
    827  1.1  mrg 	* include/Makefile.am: Add new header.
    828  1.1  mrg 	* include/Makefile.in: Regenerate.
    829  1.1  mrg 	* include/precompiled/stdc++.h: Include new header.
    830  1.1  mrg 	* include/std/ranges: New header.
    831  1.1  mrg 	(ranges::sentinel_t, ranges::range_value_t, ranges::range_reference_t)
    832  1.1  mrg 	(ranges::range_rvalue_reference_t, ranges::sized_range)
    833  1.1  mrg 	(ranges::output_range, ranges::input_ranges, ranges::forward_range)
    834  1.1  mrg 	(ranges::bidirectional_range, ranges::random_access_range)
    835  1.1  mrg 	(ranges::contiguous_range, ranges::common::range): Define.
    836  1.1  mrg 	* testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: Check
    837  1.1  mrg 	that disabled_sized_sentinel can be specialized.
    838  1.1  mrg 	* testsuite/std/ranges/access/begin.cc: Include <ranges> instead of
    839  1.1  mrg 	<iterator>.
    840  1.1  mrg 	* testsuite/std/ranges/access/cbegin.cc: Likewise.
    841  1.1  mrg 	* testsuite/std/ranges/access/cdata.cc: Likewise.
    842  1.1  mrg 	* testsuite/std/ranges/access/cend.cc: Likewise.
    843  1.1  mrg 	* testsuite/std/ranges/access/crbegin.cc: Likewise.
    844  1.1  mrg 	* testsuite/std/ranges/access/crend.cc: Likewise.
    845  1.1  mrg 	* testsuite/std/ranges/access/data.cc: Likewise.
    846  1.1  mrg 	* testsuite/std/ranges/access/empty.cc: Likewise.
    847  1.1  mrg 	* testsuite/std/ranges/access/end.cc: Likewise.
    848  1.1  mrg 	* testsuite/std/ranges/access/end_neg.cc: Likewise.
    849  1.1  mrg 	* testsuite/std/ranges/access/rbegin.cc: Likewise.
    850  1.1  mrg 	* testsuite/std/ranges/access/rend.cc: Likewise.
    851  1.1  mrg 	* testsuite/std/ranges/access/size.cc: Likewise.
    852  1.1  mrg 	* testsuite/std/ranges/access/size_neg.cc: Likewise.
    853  1.1  mrg 	* testsuite/std/ranges/headers/ranges/synopsis.cc: New test.
    854  1.1  mrg 	* testsuite/std/ranges/range.cc: New test.
    855  1.1  mrg 	* testsuite/std/ranges/refinements.cc: New test.
    856  1.1  mrg 	* testsuite/std/ranges/sized.cc: New test.
    857  1.1  mrg 	* testsuite/util/testsuite_iterators.h: Add aliases for range types.
    858  1.1  mrg 	(output_iterator_wrapper::WritableObject::operator=): Add const
    859  1.1  mrg 	qualifier so that output_iterator_wrapper satisfies writable.
    860  1.1  mrg 
    861  1.1  mrg 	* testsuite/20_util/add_pointer/value.cc: Check void types.
    862  1.1  mrg 
    863  1.1  mrg 	* include/bits/range_access.h (__sizable): Rename to __sentinel_size.
    864  1.1  mrg 	Remove workaround for PR c++/92268 and remove redundant requirements
    865  1.1  mrg 	that are already checked by sized_sentinel_for.
    866  1.1  mrg 	* testsuite/std/ranges/access/cend.cc: Fix failures.
    867  1.1  mrg 	* testsuite/std/ranges/access/end.cc: Likewise.
    868  1.1  mrg 
    869  1.1  mrg 	* include/bits/range_access.h (ranges::begin): Combine array and
    870  1.1  mrg 	non-array overloads into one function template. Only use ADL for
    871  1.1  mrg 	classes and enums.
    872  1.1  mrg 	(ranges::end, ranges::size): Likewise. Make unbounded arrays
    873  1.1  mrg 	ill-formed.
    874  1.1  mrg 	(ranges::rbegin, ranges::rend): Only use ADL for classes and enums.
    875  1.1  mrg 	Reformat _S_noexcept() functions to mirror operator() structure.
    876  1.1  mrg 	* testsuite/std/ranges/access/begin.cc: Check incomplete array.
    877  1.1  mrg 	* testsuite/std/ranges/access/end_neg.cc: New test.
    878  1.1  mrg 	* testsuite/std/ranges/access/size.cc: Check array of incomplete type.
    879  1.1  mrg 	* testsuite/std/ranges/access/size_neg.cc: New test.
    880  1.1  mrg 
    881  1.1  mrg 	* testsuite/24_iterators/range_access*.cc: Move to ...
    882  1.1  mrg 	* testsuite/24_iterators/range_access/range_access*.cc: ... here.
    883  1.1  mrg 	* testsuite/24_iterators/range_access/range_access_cpp20_neg.cc: New
    884  1.1  mrg 	test.
    885  1.1  mrg 
    886  1.1  mrg 2019-10-30  Jonathan Wakely  <jwakely (a] redhat.com>
    887  1.1  mrg 
    888  1.1  mrg 	* include/std/concepts (std::ranges::swap): Use a single overload for
    889  1.1  mrg 	the non-array cases, and switch using if-constexpr.
    890  1.1  mrg 
    891  1.1  mrg 	* include/bits/stl_iterator.h (__normal_iterator::iterator_concept):
    892  1.1  mrg 	Guard with __cpp_lib_concepts macro.
    893  1.1  mrg 
    894  1.1  mrg 	* include/std/bit (__cpp_lib_bitops): Define.
    895  1.1  mrg 	* include/std/version (__cpp_lib_constexpr): Remove.
    896  1.1  mrg 	(__cpp_lib_bitops, __cpp_lib_constexpr_dynamic_alloc): Define.
    897  1.1  mrg 	* testsuite/26_numerics/bit/header.cc: New test.
    898  1.1  mrg 	* testsuite/26_numerics/bit/header-2.cc: New test.
    899  1.1  mrg 	* testsuite/20_util/allocator_traits/header.cc: New test.
    900  1.1  mrg 	* testsuite/20_util/allocator_traits/header-2.cc: New test.
    901  1.1  mrg 
    902  1.1  mrg 	* include/bits/stl_iterator.h (namespace __gnu_cxx): Remove
    903  1.1  mrg 	using-declarations for std::iterator and std::iterator_traits.
    904  1.1  mrg 	(__gnu_cxx::__normal_iterator): Qualify iterator_traits.
    905  1.1  mrg 	* include/ext/algorithm (namespace __gnu_cxx): Remove
    906  1.1  mrg 	using-declarations for std names and qualify those names when used.
    907  1.1  mrg 	Also refer to std::min in parentheses to protect against function-like
    908  1.1  mrg 	macros.
    909  1.1  mrg 	* include/ext/rc_string_base.h: Qualify iterator_traits.
    910  1.1  mrg 	* include/ext/sso_string_base.h: Qualify iterator_traits.
    911  1.1  mrg 
    912  1.1  mrg 	PR libstdc++/92272
    913  1.1  mrg 	* include/bits/stl_bvector.h (_Bit_iterator::pointer)
    914  1.1  mrg 	(_Bit_const_iterator::pointer): Define as void for C++20.
    915  1.1  mrg 	* include/bits/stl_iterator.h (reverse_iterator::operator->()): Add
    916  1.1  mrg 	constraints for C++20.
    917  1.1  mrg 	(__normal_iterator::iterator_concept): Define for C++20.
    918  1.1  mrg 	* include/bits/streambuf_iterator.h (istreambuf_iterator::pointer):
    919  1.1  mrg 	Define as void for C++20.
    920  1.1  mrg 	(ostreambuf_iterator::difference_type): Define as ptrdiff_t for C++20.
    921  1.1  mrg 	(ostreambuf_iterator::ostreambuf_iterator()): Add default constructor
    922  1.1  mrg 	for C++20.
    923  1.1  mrg 	* testsuite/23_containers/vector/bool/iterator_c++20.cc: New test.
    924  1.1  mrg 	* testsuite/24_iterators/bidirectional/concept.cc: New test.
    925  1.1  mrg 	* testsuite/24_iterators/bidirectional/tag.cc: New test.
    926  1.1  mrg 	* testsuite/24_iterators/contiguous/concept.cc: New test.
    927  1.1  mrg 	* testsuite/24_iterators/contiguous/tag.cc: New test.
    928  1.1  mrg 	* testsuite/24_iterators/forward/concept.cc: New test.
    929  1.1  mrg 	* testsuite/24_iterators/forward/tag.cc: New test.
    930  1.1  mrg 	* testsuite/24_iterators/input/concept.cc: New test.
    931  1.1  mrg 	* testsuite/24_iterators/input/tag.cc: New test.
    932  1.1  mrg 	* testsuite/24_iterators/istreambuf_iterator/requirements/typedefs.cc:
    933  1.1  mrg 	New test.
    934  1.1  mrg 	* testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc:
    935  1.1  mrg 	New test.
    936  1.1  mrg 	* testsuite/24_iterators/output/concept.cc: New test.
    937  1.1  mrg 	* testsuite/24_iterators/output/tag.cc: New test.
    938  1.1  mrg 	* testsuite/24_iterators/random_access/concept.cc: New test.
    939  1.1  mrg 	* testsuite/24_iterators/random_access/tag.cc: New test.
    940  1.1  mrg 	* testsuite/24_iterators/range_operations/advance_debug_neg.cc: New
    941  1.1  mrg 	test.
    942  1.1  mrg 	* testsuite/24_iterators/random_access_iterator/26020.cc: Move to ...
    943  1.1  mrg 	* testsuite/24_iterators/operations/26020.cc: ... here.
    944  1.1  mrg 	* testsuite/24_iterators/random_access_iterator/
    945  1.1  mrg 	string_vector_iterators.cc: Move to ...
    946  1.1  mrg 	* testsuite/24_iterators/random_access/string_vector_iterators.cc: ...
    947  1.1  mrg 	here.
    948  1.1  mrg 
    949  1.1  mrg 	* testsuite/util/testsuite_iterators.h: Fix typo in __cplusplus check.
    950  1.1  mrg 
    951  1.1  mrg 2019-10-29  Jonathan Wakely  <jwakely (a] redhat.com>
    952  1.1  mrg 
    953  1.1  mrg 	* include/bits/range_access.h (ranges::disable_sized_range)
    954  1.1  mrg 	(ranges::begin, ranges::end, ranges::cbegin, ranges::cend)
    955  1.1  mrg 	(ranges::rbegin, ranges::rend, ranges::crbegin, ranges::crend)
    956  1.1  mrg 	(ranges::size, ranges::empty, ranges::data, ranges::cdata)
    957  1.1  mrg 	(ranges::range, ranges::sized_range, ranges::advance, ranges::distance)
    958  1.1  mrg 	(ranges::next, ranges::prev): Guard with __cpp_lib_concepts.
    959  1.1  mrg 	* include/bits/stl_iterator.h (disable_sized_sentinel): Likewise.
    960  1.1  mrg 
    961  1.1  mrg 	* include/bits/alloc_traits.h (__cpp_lib_constexpr_dynamic_alloc):
    962  1.1  mrg 	Define.
    963  1.1  mrg 	(allocator_traits::_S_construct, allocator_traits::_S_destroy)
    964  1.1  mrg 	(__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Use
    965  1.1  mrg 	_GLIBCXX14_CONSTEXPR instead of constexpr.
    966  1.1  mrg 	* include/bits/stl_construct.h (_Destroy): Likewise.
    967  1.1  mrg 
    968  1.1  mrg 	* include/Makefile.am: Add new header.
    969  1.1  mrg 	* include/Makefile.in: Regenerate.
    970  1.1  mrg 	* include/bits/iterator_concepts.h: New header.
    971  1.1  mrg 	(contiguous_iterator_tag, iter_reference_t, ranges::iter_move)
    972  1.1  mrg 	(iter_rvalue_reference_t, incrementable_traits, iter_difference_t)
    973  1.1  mrg 	(readable_traits, iter_value_t, readable, iter_common_reference_t)
    974  1.1  mrg 	(writable, waekly_incrementable, incrementable)
    975  1.1  mrg 	(input_or_output_iterator, sentinel_for, disable_sized_sentinel)
    976  1.1  mrg 	(sized_sentinel_for, input_iterator, output_iterator)
    977  1.1  mrg 	(forward_iterator, bidirectional_iterator, random_access_iterator)
    978  1.1  mrg 	(contiguous_iterator, indirectly_unary_invocable)
    979  1.1  mrg 	(indirectly_regular_unary_invocable, indirect_unary_predicate)
    980  1.1  mrg 	(indirect_relation, indirect_strict_weak_order, indirect_result_t)
    981  1.1  mrg 	(projected, indirectly_movable, indirectly_movable_storable)
    982  1.1  mrg 	(indirectly_copyable, indirectly_copyable_storable, ranges::iter_swap)
    983  1.1  mrg 	(indirectly_swappable, indirectly_comparable, permutable, mergeable)
    984  1.1  mrg 	(sortable, unreachable_sentinel_t, unreachable_sentinel)
    985  1.1  mrg 	(default_sentinel_t, default_sentinel): Define.
    986  1.1  mrg 	(__detail::__cpp17_iterator, __detail::__cpp17_input_iterator)
    987  1.1  mrg 	(__detail::__cpp17_fwd_iterator, __detail::__cpp17_bidi_iterator)
    988  1.1  mrg 	(__detail::__cpp17_randacc_iterator): Define.
    989  1.1  mrg 	(__iterator_traits): Define constrained specializations.
    990  1.1  mrg 	* include/bits/move.h (move): Only use old concept check for C++98.
    991  1.1  mrg 	* include/bits/range_access.h (ranges::disable_sized_range)
    992  1.1  mrg 	(ranges::begin, ranges::end, ranges::cbegin, ranges::cend)
    993  1.1  mrg 	(ranges::rbegin, ranges::rend, ranges::crbegin, ranges::crend)
    994  1.1  mrg 	(ranges::size, ranges::empty, ranges::data, ranges::cdata): Define
    995  1.1  mrg 	new customization points for C++20.
    996  1.1  mrg 	(ranges::range, ranges::sized_range): Define new concepts for C++20.
    997  1.1  mrg 	(ranges::advance, ranges::distance, ranges::next, ranges::prev):
    998  1.1  mrg 	Define new functions for C++20.
    999  1.1  mrg 	(__adl_end, __adl_cdata, __adl_cbegin, __adl_cend, __adl_rbegin)
   1000  1.1  mrg 	(__adl_rend, __adl_crbegin, __adl_crend, __adl_cdata, __adl_size)
   1001  1.1  mrg 	(__adl_empty): Remove.
   1002  1.1  mrg 	* include/bits/stl_iterator.h (disable_sized_sentinel): Specialize
   1003  1.1  mrg 	for reverse_iterator.
   1004  1.1  mrg 	* include/bits/stl_iterator_base_types.h (contiguous_iterator_tag):
   1005  1.1  mrg 	Define new struct for C++20.
   1006  1.1  mrg 	(iterator_traits<_Tp*>): Constrain partial specialization in C++20.
   1007  1.1  mrg 	* include/std/concepts (__is_class_or_enum): Move to __detail
   1008  1.1  mrg 	namespace.
   1009  1.1  mrg 	* testsuite/20_util/forward/c_neg.cc: Adjust dg-error line number.
   1010  1.1  mrg 	* testsuite/20_util/forward/f_neg.cc: Likewise.
   1011  1.1  mrg 	* testsuite/24_iterators/associated_types/incrementable.traits.cc: New
   1012  1.1  mrg 	test.
   1013  1.1  mrg 	* testsuite/24_iterators/associated_types/readable.traits.cc: New test.
   1014  1.1  mrg 	* testsuite/24_iterators/contiguous/concept.cc: New test.
   1015  1.1  mrg 	* testsuite/24_iterators/contiguous/tag.cc: New test.
   1016  1.1  mrg 	* testsuite/24_iterators/customization_points/iter_move.cc: New test.
   1017  1.1  mrg 	* testsuite/24_iterators/customization_points/iter_swap.cc: New test.
   1018  1.1  mrg 	* testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: New test.
   1019  1.1  mrg 	* testsuite/24_iterators/range_operations/advance.cc: New test.
   1020  1.1  mrg 	* testsuite/24_iterators/range_operations/distance.cc: New test.
   1021  1.1  mrg 	* testsuite/24_iterators/range_operations/next.cc: New test.
   1022  1.1  mrg 	* testsuite/24_iterators/range_operations/prev.cc: New test.
   1023  1.1  mrg 	* testsuite/26_numerics/adjacent_difference/requirements/
   1024  1.1  mrg 	explicit_instantiation/2.cc: Rename types that conflict with C++20
   1025  1.1  mrg 	concepts.
   1026  1.1  mrg 	* testsuite/26_numerics/adjacent_difference/requirements/
   1027  1.1  mrg 	explicit_instantiation/pod.cc: Likewise.
   1028  1.1  mrg 	* testsuite/26_numerics/partial_sum/requirements/
   1029  1.1  mrg 	explicit_instantiation/2.cc: Likewise.
   1030  1.1  mrg 	* testsuite/26_numerics/partial_sum/requirements/
   1031  1.1  mrg 	explicit_instantiation/pod.cc: Likewise.
   1032  1.1  mrg 	* testsuite/experimental/iterator/requirements.cc: Likewise.
   1033  1.1  mrg 	* testsuite/std/ranges/access/begin.cc: New test.
   1034  1.1  mrg 	* testsuite/std/ranges/access/cbegin.cc: New test.
   1035  1.1  mrg 	* testsuite/std/ranges/access/cdata.cc: New test.
   1036  1.1  mrg 	* testsuite/std/ranges/access/cend.cc: New test.
   1037  1.1  mrg 	* testsuite/std/ranges/access/crbegin.cc: New test.
   1038  1.1  mrg 	* testsuite/std/ranges/access/crend.cc: New test.
   1039  1.1  mrg 	* testsuite/std/ranges/access/data.cc: New test.
   1040  1.1  mrg 	* testsuite/std/ranges/access/empty.cc: New test.
   1041  1.1  mrg 	* testsuite/std/ranges/access/end.cc: New test.
   1042  1.1  mrg 	* testsuite/std/ranges/access/rbegin.cc: New test.
   1043  1.1  mrg 	* testsuite/std/ranges/access/rend.cc: New test.
   1044  1.1  mrg 	* testsuite/std/ranges/access/size.cc: New test.
   1045  1.1  mrg 	* testsuite/util/testsuite_iterators.h (contiguous_iterator_wrapper)
   1046  1.1  mrg 	(test_range, test_sized_range): New test utilities.
   1047  1.1  mrg 
   1048  1.1  mrg 	* testsuite/util/testsuite_iterators.h (BoundsContainer::size()): Add
   1049  1.1  mrg 	new member function.
   1050  1.1  mrg 	(WritableObject::operator=): Constrain with enable_if when available.
   1051  1.1  mrg 	(remove_cv): Use std::remove_if when available.
   1052  1.1  mrg 	(test_container::it(int)): Use size().
   1053  1.1  mrg 	(test_container::size()): Use BoundsContainer::size().
   1054  1.1  mrg 
   1055  1.1  mrg 	PR libstdc++/92267
   1056  1.1  mrg 	* include/bits/stl_deque.h (_Deque_iterator(const _Deque_iterator&)):
   1057  1.1  mrg 	Do not define as defaulted.
   1058  1.1  mrg 	* testsuite/23_containers/deque/types/92267.cc: New test.
   1059  1.1  mrg 
   1060  1.1  mrg 2019-10-26  Gerald Pfeifer  <gerald (a] pfeifer.com>
   1061  1.1  mrg 
   1062  1.1  mrg 	* doc/xml/manual/codecvt.xml: Switch pubs.opengroup.org to https.
   1063  1.1  mrg 	* doc/xml/manual/locale.xml (LC_ALL): Ditto.
   1064  1.1  mrg 	* doc/xml/manual/messages.xml: Ditto.
   1065  1.1  mrg 
   1066  1.1  mrg 2019-10-26  John David Anglin  <danglin (a] gcc.gnu.org>
   1067  1.1  mrg 
   1068  1.1  mrg 	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
   1069  1.1  mrg 
   1070  1.1  mrg 2019-10-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1071  1.1  mrg 
   1072  1.1  mrg 	* testsuite/util/testsuite_iterators.h (output_iterator_wrapper)
   1073  1.1  mrg 	(input_iterator_wrapper, forward_iterator_wrapper)
   1074  1.1  mrg 	bidirectional_iterator_wrapper, random_access_iterator_wrapper): Remove
   1075  1.1  mrg 	user-provided copy constructors and copy assignment operators so they
   1076  1.1  mrg 	are defined implicitly.
   1077  1.1  mrg 	(input_iterator_wrapper): Initialize members in default constructor.
   1078  1.1  mrg 	(forward_iterator_wrapper): Remove assignments to members of base.
   1079  1.1  mrg 
   1080  1.1  mrg 	* include/bits/allocator.h: Check __cpp_constexpr_dynamic_alloc
   1081  1.1  mrg 	before making the std::allocator destructor constexpr.
   1082  1.1  mrg 	* testsuite/20_util/allocator/requirements/constexpr.cc: New test.
   1083  1.1  mrg 
   1084  1.1  mrg 	* include/bits/range_cmp.h: Check __cpp_lib_concepts before defining
   1085  1.1  mrg 	concepts. Fix comment.
   1086  1.1  mrg 	* include/bits/allocator.h 
   1087  1.1  mrg 
   1088  1.1  mrg 2019-10-25  Gerald Pfeifer  <gerald (a] pfeifer.com>
   1089  1.1  mrg 
   1090  1.1  mrg 	* doc/xml/manual/policy_data_structures_biblio.xml: Switch
   1091  1.1  mrg 	pubs.opengroup.org to https.
   1092  1.1  mrg 
   1093  1.1  mrg 2019-10-25  Gerald Pfeifer  <gerald (a] pfeifer.com>
   1094  1.1  mrg 
   1095  1.1  mrg 	* doc/xml/gnu/gpl-3.0.xml: Switch www.gnu.org to https.
   1096  1.1  mrg 
   1097  1.1  mrg 2019-09-09  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   1098  1.1  mrg 
   1099  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Add rows and update status.
   1100  1.1  mrg 
   1101  1.1  mrg 2019-10-24  Jonathan Wakely  <jwakely (a] redhat.com>
   1102  1.1  mrg 
   1103  1.1  mrg 	* include/bits/allocator.h (allocator<void>): Restore the explicit
   1104  1.1  mrg 	specialization for C++20, but make its API consistent with the primary
   1105  1.1  mrg 	template.
   1106  1.1  mrg 	(allocator::~allocator()): Restore the destructor for C++20, but make
   1107  1.1  mrg 	it constexpr.
   1108  1.1  mrg 	* testsuite/20_util/allocator/rebind_c++20.cc: Check allocator<void>.
   1109  1.1  mrg 	* testsuite/20_util/allocator/requirements/typedefs_c++20.cc: Likewise.
   1110  1.1  mrg 	* testsuite/20_util/allocator/void.cc: Check that constructors and
   1111  1.1  mrg 	destructors are trivial. Check for converting constructor in C++20.
   1112  1.1  mrg 	* testsuite/ext/malloc_allocator/variadic_construct.cc: Simplify
   1113  1.1  mrg 	dejagnu target selector.
   1114  1.1  mrg 	* testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
   1115  1.1  mrg 
   1116  1.1  mrg 	* include/experimental/executor (__use_future_ct, use_future_t):
   1117  1.1  mrg 	Define partial specializations for std::allocator.
   1118  1.1  mrg 	(__use_future_ch): Overload constructor for completion tokens using
   1119  1.1  mrg 	std::allocator.
   1120  1.1  mrg 
   1121  1.1  mrg 	PR libstdc++/88338 Implement P0898R3, C++20 concepts library
   1122  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Update status.
   1123  1.1  mrg 	* doc/html/*: Regenerate.
   1124  1.1  mrg 	* testsuite/std/concepts/1.cc: New test.
   1125  1.1  mrg 	* testsuite/std/concepts/2.cc: New test.
   1126  1.1  mrg 
   1127  1.1  mrg 	* include/bits/random.h (uniform_random_bit_generator): Define for
   1128  1.1  mrg 	C++20.
   1129  1.1  mrg 	* testsuite/26_numerics/random/concept.cc: New test.
   1130  1.1  mrg 	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
   1131  1.1  mrg 
   1132  1.1  mrg 2019-10-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1133  1.1  mrg 
   1134  1.1  mrg 	* include/std/functional (invoke): Add constexpr for C++20.
   1135  1.1  mrg 	* include/std/version (__cpp_lib_constexpr_invoke): Define.
   1136  1.1  mrg 	* testsuite/20_util/function_objects/invoke/constexpr.cc: New test.
   1137  1.1  mrg 
   1138  1.1  mrg 	PR c++/91369 Implement P0784R7 changes to allocation and construction
   1139  1.1  mrg 	* include/bits/alloc_traits.h: Include <bits/stl_construct.h>.
   1140  1.1  mrg 	(allocator_traits::_S_allocate, allocator_traits::_S_construct)
   1141  1.1  mrg 	(allocator_traits::_S_destroy, allocator_traits::_S_max_size)
   1142  1.1  mrg 	(allocator_traits::_S_select, allocator_traits::allocate)
   1143  1.1  mrg 	(allocator_traits::deallocate, allocator_traits::construct)
   1144  1.1  mrg 	(allocator_traits::destroy, allocator_traits::max_size)
   1145  1.1  mrg 	(allocator_traits::select_on_container_copy_construction)
   1146  1.1  mrg 	(allocator_traits<allocator<T>>): Add constexpr specifier for C++20.
   1147  1.1  mrg 	(allocator_traits<allocator<T>>::construct): Use construct_at.
   1148  1.1  mrg 	(allocator_traits<allocator<T>>::destroy): Use destroy_at.
   1149  1.1  mrg 	(__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Add constexpr
   1150  1.1  mrg 	specifier.
   1151  1.1  mrg 	(_Destroy(ForwardIterator, ForwardIterator, Alloc&))
   1152  1.1  mrg 	(_Destroy(ForwardIterator, ForwardIterator, allocator<T>&)): Move here
   1153  1.1  mrg 	from <bits/stl_construct.h>.
   1154  1.1  mrg 	* include/bits/allocator.h (allocator::~allocator): Remove for C++20.
   1155  1.1  mrg 	(allocator::allocate, allocate::deallocate): Define for C++20 and up.
   1156  1.1  mrg 	(operator==, operator!=): Add constexpr specifier for C++20.
   1157  1.1  mrg 	* include/bits/stl_construct.h: Don't include <ext/alloc_traits.h>.
   1158  1.1  mrg 	(destroy_at): For C++20 add constexpr specifier and support for
   1159  1.1  mrg 	destroying arrays.
   1160  1.1  mrg 	(construct_at): Define new function for C++20.
   1161  1.1  mrg 	(_Construct): Return result of placement new-expression. For C++11 and
   1162  1.1  mrg 	up add constexpr. For C++20 dispatch to std::construct_at during
   1163  1.1  mrg 	constant evaluation.
   1164  1.1  mrg 	(_Destroy(pointer)): Add constexpr specifier. For C++20 dispatch to
   1165  1.1  mrg 	std::destroy_at during constant evaluation.
   1166  1.1  mrg 	(_Destroy_aux::__destroy, _Destroy_n_aux::__destroy_n): Add constexpr
   1167  1.1  mrg 	specifier for C++20.
   1168  1.1  mrg 	(_Destroy(ForwardIterator, ForwardIterator))
   1169  1.1  mrg 	(_Destroy(ForwardIterator, Size)): Likewise. Do not elide trivial
   1170  1.1  mrg 	destructors during constant evaluation.
   1171  1.1  mrg 	(destroy, destroy_n): Add constexpr specifier for C++20.
   1172  1.1  mrg 	(_Destroy(ForwardIterator, ForwardIterator, Alloc&))
   1173  1.1  mrg 	(_Destroy(ForwardIterator, ForwardIterator, allocator<T>&)): Move to
   1174  1.1  mrg 	<bits/alloc_traits.h>, to remove dependency on allocators.
   1175  1.1  mrg 	* include/bits/stl_uninitialized.h: Include <ext/alloc_traits.h>.
   1176  1.1  mrg 	Include <bits/stl_pair.h> instead of <utility>.
   1177  1.1  mrg 	* include/ext/alloc_traits.h: Always include <bits/alloc_traits.h>.
   1178  1.1  mrg 	(__alloc_traits::construct, __alloc_traits::destroy)
   1179  1.1  mrg 	(__alloc_traits::_S_select_on_copy, __alloc_traits::_S_on_swap): Add
   1180  1.1  mrg 	constexpr specifier.
   1181  1.1  mrg 	* include/ext/malloc_allocator.h  (operator==, operator!=): Add
   1182  1.1  mrg 	constexpr specifier for C++20.
   1183  1.1  mrg 	* include/ext/new_allocator.h (operator==, operator!=): Likewise.
   1184  1.1  mrg 	* testsuite/20_util/headers/memory/synopsis.cc: Add constexpr.
   1185  1.1  mrg 	* testsuite/20_util/scoped_allocator/69293_neg.cc: Ignore additional
   1186  1.1  mrg 	errors due to constexpr function called after failed static_assert.
   1187  1.1  mrg 	* testsuite/20_util/specialized_algorithms/construct_at/1.cc: New test.
   1188  1.1  mrg 	* testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
   1189  1.1  mrg 	Ignore additional errors due to constexpr function called after failed
   1190  1.1  mrg 	static_assert.
   1191  1.1  mrg 	* testsuite/23_containers/vector/cons/destructible_neg.cc: Likewise.
   1192  1.1  mrg 
   1193  1.1  mrg 	* testsuite/20_util/bind/91371.cc: Fix test to compile as C++11.
   1194  1.1  mrg 
   1195  1.1  mrg 	* include/debug/helper_functions.h (__valid_range): Change
   1196  1.1  mrg 	_GLIBCXX_CONSTEXPR to _GLIBCXX14_CONSTEXPR.
   1197  1.1  mrg 
   1198  1.1  mrg 	* include/ext/throw_allocator.h (throw_allocator_base): Qualify
   1199  1.1  mrg 	size_t and ptrdiff_t.
   1200  1.1  mrg 
   1201  1.1  mrg 	* include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp:
   1202  1.1  mrg 	Use detail::rebind_traits.
   1203  1.1  mrg 	* include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp:
   1204  1.1  mrg 	Likewise.
   1205  1.1  mrg 	* include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Likewise.
   1206  1.1  mrg 	* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Likewise.
   1207  1.1  mrg 	* include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp: Likewise.
   1208  1.1  mrg 	* include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp: Likewise.
   1209  1.1  mrg 	* include/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp:
   1210  1.1  mrg 	Likewise.
   1211  1.1  mrg 	* include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp:
   1212  1.1  mrg 	Likewise.
   1213  1.1  mrg 	* include/ext/pb_ds/detail/branch_policy/branch_policy.hpp: Likewise.
   1214  1.1  mrg 	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Likewise.
   1215  1.1  mrg 	* include/ext/pb_ds/detail/cond_dealtor.hpp: Likewise.
   1216  1.1  mrg 	* include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp (has_eq_fn): Likewise.
   1217  1.1  mrg 	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Likewise.
   1218  1.1  mrg 	* include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Likewise.
   1219  1.1  mrg 	* include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Likewise.
   1220  1.1  mrg 	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
   1221  1.1  mrg 	left_child_next_sibling_heap_.hpp: Likewise.
   1222  1.1  mrg 	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp:
   1223  1.1  mrg 	Likewise.
   1224  1.1  mrg 	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
   1225  1.1  mrg 	point_const_iterator.hpp: Likewise.
   1226  1.1  mrg 	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Likewise.
   1227  1.1  mrg 	* include/ext/pb_ds/detail/ov_tree_map_/
   1228  1.1  mrg 	constructors_destructor_fn_imps.hpp: Likewise.
   1229  1.1  mrg 	* include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Likewise.
   1230  1.1  mrg 	* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Likewise.
   1231  1.1  mrg 	* include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Likewise.
   1232  1.1  mrg 	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Likewise.
   1233  1.1  mrg 	* include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Likewise.
   1234  1.1  mrg 	* include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Likewise.
   1235  1.1  mrg 	* include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Likewise.
   1236  1.1  mrg 	* include/ext/pb_ds/detail/splay_tree_/node.hpp: Likewise.
   1237  1.1  mrg 	* include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Likewise.
   1238  1.1  mrg 	* include/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp:
   1239  1.1  mrg 	Likewise.
   1240  1.1  mrg 	* include/ext/pb_ds/detail/type_utils.hpp: Fix typo in comment.
   1241  1.1  mrg 	* include/ext/pb_ds/detail/types_traits.hpp (stored_value): Add
   1242  1.1  mrg 	bool parameter to control whether the hash value is stored.
   1243  1.1  mrg 	(select_base_type): New class template and partial specialization.
   1244  1.1  mrg 	(maybe_null_type): Likewise.
   1245  1.1  mrg 	(rebind_traits): New class template.
   1246  1.1  mrg 	(type_base): Remove four nearly identical specializations.
   1247  1.1  mrg 	(type_dispatch): Remove.
   1248  1.1  mrg 	(type_traits): Use select_base_type and maybe_null_type instead of
   1249  1.1  mrg 	type_base to control differences between specializations.
   1250  1.1  mrg 	* include/ext/pb_ds/list_update_policy.hpp: Use detail::rebind_traits.
   1251  1.1  mrg 	* include/ext/pb_ds/priority_queue.hpp: Likewise.
   1252  1.1  mrg 	* include/ext/pb_ds/tree_policy.hpp: Likewise.
   1253  1.1  mrg 	* include/ext/pb_ds/trie_policy.hpp: Likewise.
   1254  1.1  mrg 
   1255  1.1  mrg 	* include/backward/hash_set (hash_set): Use __alloc_traits.
   1256  1.1  mrg 	* include/backward/hashtable.h (_Hashtable): Likewise.
   1257  1.1  mrg 	* include/ext/alloc_traits.h (__alloc_traits::allocate): Add overload
   1258  1.1  mrg 	taking a hint.
   1259  1.1  mrg 	* include/ext/extptr_allocator.h (_ExtPtr_allocator::allocate): Ignore
   1260  1.1  mrg 	hint.
   1261  1.1  mrg 	* include/ext/slist (_Slist_base): Use __alloc_traits.
   1262  1.1  mrg 	* include/tr1/hashtable.h (_Hashtable): Likewise.
   1263  1.1  mrg 	* include/tr1/regex (match_results): Use vector::const_reference
   1264  1.1  mrg 	instead of assuming the allocator defines it.
   1265  1.1  mrg 	* testsuite/backward/hash_map/23528.cc: Use allocator_traits in C++11.
   1266  1.1  mrg 	* testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc: Use
   1267  1.1  mrg 	__gnu_test::max_size.
   1268  1.1  mrg 	* testsuite/tr1/6_containers/unordered_multimap/capacity/
   1269  1.1  mrg 	29134-multimap.cc: Likewise.
   1270  1.1  mrg 	* testsuite/tr1/6_containers/unordered_multiset/capacity/
   1271  1.1  mrg 	29134-multiset.cc: Likewise.
   1272  1.1  mrg 	* testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
   1273  1.1  mrg 	Likewise.
   1274  1.1  mrg 
   1275  1.1  mrg 2019-10-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1276  1.1  mrg 
   1277  1.1  mrg 	* testsuite/util/testsuite_abi.h: Restore use of tr1/unordered_map
   1278  1.1  mrg 	when compiled as C++98.
   1279  1.1  mrg 
   1280  1.1  mrg 	* include/bits/memoryfwd.h (uses_allocator): Do not declare for C++98.
   1281  1.1  mrg 	* testsuite/17_intro/names.cc: Check uses_allocator in C++98.
   1282  1.1  mrg 
   1283  1.1  mrg 	* include/bits/alloc_traits.h
   1284  1.1  mrg 	(allocator_traits<allocator<T>>::allocate): Ignore hint for C++20.
   1285  1.1  mrg 	(allocator_traits<allocator<T>>::construct): Perform placement new
   1286  1.1  mrg 	directly for C++20, instead of calling allocator<T>::construct.
   1287  1.1  mrg 	(allocator_traits<allocator<T>>::destroy): Call destructor directly
   1288  1.1  mrg 	for C++20, instead of calling allocator<T>::destroy.
   1289  1.1  mrg 	(allocator_traits<allocator<T>>::max_size): Return value directly
   1290  1.1  mrg 	for C++20, instead of calling std::allocator<T>::max_size().
   1291  1.1  mrg 	(__do_alloc_on_copy, __do_alloc_on_move, __do_alloc_on_swap): Do not
   1292  1.1  mrg 	define for C++17 and up.
   1293  1.1  mrg 	(__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Use if-constexpr
   1294  1.1  mrg 	for C++17 and up, instead of tag dispatching.
   1295  1.1  mrg 	* include/bits/allocator.h (allocator<void>): Remove for C++20.
   1296  1.1  mrg 	(allocator::pointer, allocator::const_pointer, allocator::reference)
   1297  1.1  mrg 	(allocator::const_reference, allocator::rebind): Remove for C++20.
   1298  1.1  mrg 	* include/bits/basic_string.h (basic_string): Use __alloc_traits to
   1299  1.1  mrg 	rebind allocator.
   1300  1.1  mrg 	* include/bits/memoryfwd.h (allocator<void>): Remove for C++20.
   1301  1.1  mrg 	* include/ext/debug_allocator.h: Use __alloc_traits for rebinding.
   1302  1.1  mrg 	* include/ext/malloc_allocator.h (malloc_allocator::~malloc_allocator)
   1303  1.1  mrg 	(malloc_allocator::pointer, malloc_allocator::const_pointer)
   1304  1.1  mrg 	(malloc_allocator::reference, malloc_allocator::const_reference)
   1305  1.1  mrg 	(malloc_allocator::rebind, malloc_allocator::max_size)
   1306  1.1  mrg 	(malloc_allocator::construct, malloc_allocator::destroy): Do not
   1307  1.1  mrg 	define for C++20.
   1308  1.1  mrg 	(malloc_allocator::_M_max_size): Define new function.
   1309  1.1  mrg 	* include/ext/new_allocator.h (new_allocator::~new_allocator)
   1310  1.1  mrg 	(new_allocator::pointer, new_allocator::const_pointer)
   1311  1.1  mrg 	(new_allocator::reference, new_allocator::const_reference)
   1312  1.1  mrg 	(new_allocator::rebind, new_allocator::max_size)
   1313  1.1  mrg 	(new_allocator::construct, new_allocator::destroy): Do not
   1314  1.1  mrg 	define for C++20.
   1315  1.1  mrg 	(new_allocator::_M_max_size): Define new function.
   1316  1.1  mrg 	* include/ext/rc_string_base.h (__rc_string_base::_Rep): Use
   1317  1.1  mrg 	__alloc_traits to rebind allocator.
   1318  1.1  mrg 	* include/ext/rope (_Rope_rep_base, _Rope_base): Likewise.
   1319  1.1  mrg 	(rope::rope(CharT, const allocator_type&)): Use __alloc_traits
   1320  1.1  mrg 	to construct character.
   1321  1.1  mrg 	* include/ext/slist (_Slist_base): Use __alloc_traits to rebind
   1322  1.1  mrg 	allocator.
   1323  1.1  mrg 	* include/ext/sso_string_base.h (__sso_string_base::_M_max_size):
   1324  1.1  mrg 	Use __alloc_traits.
   1325  1.1  mrg 	* include/ext/throw_allocator.h (throw_allocator): Do not use optional
   1326  1.1  mrg 	members of std::allocator, use __alloc_traits members instead.
   1327  1.1  mrg 	* include/ext/vstring.h (__versa_string): Use __alloc_traits.
   1328  1.1  mrg 	* include/ext/vstring_util.h (__vstring_utility): Likewise.
   1329  1.1  mrg 	* include/std/memory: Include <bits/alloc_traits.h>.
   1330  1.1  mrg 	* testsuite/20_util/allocator/8230.cc: Use __gnu_test::max_size.
   1331  1.1  mrg 	* testsuite/20_util/allocator/rebind_c++20.cc: New test.
   1332  1.1  mrg 	* testsuite/20_util/allocator/requirements/typedefs.cc: Do not check
   1333  1.1  mrg 	for pointer, const_pointer, reference, const_reference or rebind in
   1334  1.1  mrg 	C++20.
   1335  1.1  mrg 	* testsuite/20_util/allocator/requirements/typedefs_c++20.cc: New test.
   1336  1.1  mrg 	* testsuite/23_containers/deque/capacity/29134.cc: Use
   1337  1.1  mrg 	__gnu_test::max_size.
   1338  1.1  mrg 	* testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
   1339  1.1  mrg 	* testsuite/23_containers/list/capacity/29134.cc: Likewise.
   1340  1.1  mrg 	* testsuite/23_containers/map/capacity/29134.cc: Likewise.
   1341  1.1  mrg 	* testsuite/23_containers/multimap/capacity/29134.cc: Likewise.
   1342  1.1  mrg 	* testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
   1343  1.1  mrg 	* testsuite/23_containers/set/capacity/29134.cc: Likewise.
   1344  1.1  mrg 	* testsuite/23_containers/vector/capacity/29134.cc: Likewise.
   1345  1.1  mrg 	* testsuite/ext/malloc_allocator/variadic_construct.cc: Do not run
   1346  1.1  mrg 	test for C++20.
   1347  1.1  mrg 	* testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
   1348  1.1  mrg 	* testsuite/ext/vstring/capacity/29134.cc: Use __gnu_test::max_size.
   1349  1.1  mrg 	* testsuite/util/replacement_memory_operators.h: Do not assume
   1350  1.1  mrg 	Alloc::pointer exists.
   1351  1.1  mrg 	* testsuite/util/testsuite_allocator.h (__gnu_test::max_size): Define
   1352  1.1  mrg 	helper to call max_size for any allocator.
   1353  1.1  mrg 
   1354  1.1  mrg 2019-10-22  Andreas Schwab  <schwab (a] suse.de>
   1355  1.1  mrg 
   1356  1.1  mrg 	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
   1357  1.1  mrg 
   1358  1.1  mrg 2019-10-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1359  1.1  mrg 
   1360  1.1  mrg 	PR libstdc++/92143
   1361  1.1  mrg 	* libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment
   1362  1.1  mrg 	to at least sizeof(void*).
   1363  1.1  mrg 
   1364  1.1  mrg 	* include/bits/range_cmp.h (ranges::less::operator()): Inline the
   1365  1.1  mrg 	logic from std::less::operator() to remove the dependency on it.
   1366  1.1  mrg 
   1367  1.1  mrg 2019-10-17  Jonathan Wakely  <jwakely (a] redhat.com>
   1368  1.1  mrg 
   1369  1.1  mrg 	* doc/doxygen/user.cfg.in (INPUT): Add new C++17 and C++20 headers.
   1370  1.1  mrg 
   1371  1.1  mrg 	* include/Makefile.am: Add new header.
   1372  1.1  mrg 	* include/Makefile.in: Regenerate.
   1373  1.1  mrg 	* include/bits/range_cmp.h: New header for C++20 function objects.
   1374  1.1  mrg 	* include/std/functional: Include new header.
   1375  1.1  mrg 	* testsuite/20_util/function_objects/identity/1.cc: New test.
   1376  1.1  mrg 	* testsuite/20_util/function_objects/range.cmp/equal_to.cc: New test.
   1377  1.1  mrg 	* testsuite/20_util/function_objects/range.cmp/greater.cc: New test.
   1378  1.1  mrg 	* testsuite/20_util/function_objects/range.cmp/greater_equal.cc: New
   1379  1.1  mrg 	test.
   1380  1.1  mrg 	* testsuite/20_util/function_objects/range.cmp/less.cc: New test.
   1381  1.1  mrg 	* testsuite/20_util/function_objects/range.cmp/less_equal.cc: New test.
   1382  1.1  mrg 	* testsuite/20_util/function_objects/range.cmp/not_equal_to.cc: New
   1383  1.1  mrg 	test.
   1384  1.1  mrg 
   1385  1.1  mrg 	PR libstdc++/92124
   1386  1.1  mrg 	* include/bits/forward_list.h
   1387  1.1  mrg 	(_M_move_assign(forward_list&&, false_type)): Do not use
   1388  1.1  mrg 	__make_move_if_noexcept, instead move unconditionally.
   1389  1.1  mrg 	* include/bits/stl_deque.h (_M_move_assign2(deque&&, false_type)):
   1390  1.1  mrg 	Likewise.
   1391  1.1  mrg 	* include/bits/stl_list.h (_M_move_assign(list&&, false_type)):
   1392  1.1  mrg 	Likewise.
   1393  1.1  mrg 	* include/bits/stl_vector.h (_M_move_assign(vector&&, false_type)):
   1394  1.1  mrg 	Likewise.
   1395  1.1  mrg 	* testsuite/23_containers/vector/92124.cc: New test.
   1396  1.1  mrg 
   1397  1.1  mrg 2019-10-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1398  1.1  mrg 
   1399  1.1  mrg 	* include/bits/c++config (_GLIBCXX_BUILTIN_IS_SAME_AS): Define to
   1400  1.1  mrg 	one of __is_same_as or __is_same when available.
   1401  1.1  mrg 	* include/std/concepts (__detail::__same_as): Use std::is_same_v.
   1402  1.1  mrg 	* include/std/type_traits (is_same) [_GLIBCXX_BUILTIN_IS_SAME_AS]:
   1403  1.1  mrg 	Use new macro instead of __is_same_as.
   1404  1.1  mrg 	(is_same) [!_GLIBCXX_BUILTIN_IS_SAME_AS]: Restore partial
   1405  1.1  mrg 	specialization.
   1406  1.1  mrg 	(is_same_v) [_GLIBCXX_BUILTIN_IS_SAME_AS]: Use new macro.
   1407  1.1  mrg 	(is_same_v) [!_GLIBCXX_BUILTIN_IS_SAME_AS]: Use std::is_same.
   1408  1.1  mrg 
   1409  1.1  mrg 2019-10-16  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1410  1.1  mrg 
   1411  1.1  mrg 	* src/c++11/debug.cc (print_field): Replace constness_names <unknown>
   1412  1.1  mrg 	entry with <unknown constness>. Replace state_names <unknown> entry with
   1413  1.1  mrg 	<unknown state>.
   1414  1.1  mrg 
   1415  1.1  mrg 2019-10-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1416  1.1  mrg 
   1417  1.1  mrg 	* include/Makefile.am: Add new header.
   1418  1.1  mrg 	* include/Makefile.in: Regenerate.
   1419  1.1  mrg 	* include/precompiled/stdc++.h: Include <concepts>.
   1420  1.1  mrg 	* include/std/concepts: New header for C++20.
   1421  1.1  mrg 	* include/std/version (__cpp_lib_concepts): Define.
   1422  1.1  mrg 	* scripts/create_testsuite_files: Look for test files in new std
   1423  1.1  mrg 	directory.
   1424  1.1  mrg 	* testsuite/libstdc++-dg/conformance.exp: Likewise.
   1425  1.1  mrg 	* testsuite/std/concepts/concepts.callable/invocable.cc: New test.
   1426  1.1  mrg 	* testsuite/std/concepts/concepts.callable/regular_invocable.cc: New
   1427  1.1  mrg 	test.
   1428  1.1  mrg 	* testsuite/std/concepts/concepts.callable/relation.cc: New test.
   1429  1.1  mrg 	* testsuite/std/concepts/concepts.callable/strictweakorder.cc: New
   1430  1.1  mrg 	test.
   1431  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.arithmetic/
   1432  1.1  mrg 	floating_point.cc: New test.
   1433  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc:
   1434  1.1  mrg 	New test.
   1435  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.arithmetic/
   1436  1.1  mrg 	signed_integral.cc: New test.
   1437  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.arithmetic/
   1438  1.1  mrg 	unsigned_integral.cc: New test.
   1439  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.assignable/1.cc: New
   1440  1.1  mrg 	test.
   1441  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.common/1.cc: New test.
   1442  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.commonref/1.cc: New
   1443  1.1  mrg 	test.
   1444  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.constructible/1.cc:
   1445  1.1  mrg 	New test.
   1446  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.convertible/1.cc:
   1447  1.1  mrg 	New test.
   1448  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc:
   1449  1.1  mrg 	New test.
   1450  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.defaultconstructible/
   1451  1.1  mrg 	1.cc: New test.
   1452  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.derived/1.cc:
   1453  1.1  mrg 	New test.
   1454  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.destructible/1.cc:
   1455  1.1  mrg 	New test.
   1456  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc:
   1457  1.1  mrg 	New test.
   1458  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.same/1.cc:
   1459  1.1  mrg 	New test.
   1460  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc:
   1461  1.1  mrg 	New test.
   1462  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc:
   1463  1.1  mrg 	New test.
   1464  1.1  mrg 	* testsuite/std/concepts/concepts.lang/concept.swappable/
   1465  1.1  mrg 	swappable_with.cc: New test.
   1466  1.1  mrg 	* testsuite/std/concepts/concepts.object/copyable.cc: New test.
   1467  1.1  mrg 	* testsuite/std/concepts/concepts.object/movable.cc: New test.
   1468  1.1  mrg 	* testsuite/std/concepts/concepts.object/regular.cc: New test.
   1469  1.1  mrg 	* testsuite/std/concepts/concepts.object/semiregular.cc: New test.
   1470  1.1  mrg 
   1471  1.1  mrg 	* include/std/type_traits (is_same): Replace partial specialization
   1472  1.1  mrg 	by using __is_same_as built-in in primary template.
   1473  1.1  mrg 	(is_same_v): Use __is_same_as built-in instead of instantiating the
   1474  1.1  mrg 	is_same trait.
   1475  1.1  mrg 
   1476  1.1  mrg 	PR libstdc++/92059
   1477  1.1  mrg 	* include/tr2/dynamic_bitset (__dynamic_bitset_base): Define all
   1478  1.1  mrg 	special member functions as defaulted. Add noexcept to most members.
   1479  1.1  mrg 	(__dynamic_bitset_base(size_t, unsigned long long, const _Alloc&)):
   1480  1.1  mrg 	Mask off unwanted bits in the __val parameter. Avoid undefined left
   1481  1.1  mrg 	shifts.
   1482  1.1  mrg 	(__dynamic_bitset_base::_M_assign): Remove.
   1483  1.1  mrg 	(__dynamic_bitset_base::_M_do_reset): Use std::fill.
   1484  1.1  mrg 	(__dynamic_bitset_base::_M_are_all_aux): Avoid integer promotion when
   1485  1.1  mrg 	block_type has lower rank than int.
   1486  1.1  mrg 	(dynamic_bitset): Add noexcept to most members. Use injected-class-name
   1487  1.1  mrg 	in return types and parameter types.
   1488  1.1  mrg 	(dynamic_bitset::_M_Nb): Add default member initializer.
   1489  1.1  mrg 	(dynamic_bitset(), dynamic_bitset(const dynamic_bitset&)): Define as
   1490  1.1  mrg 	defaulted.
   1491  1.1  mrg 	(dynamic_bitset(dynamic_bitset&&)): Clear source object after move.
   1492  1.1  mrg 	(dynamic_bitset::operator=(const dynamic_bitset&)): Define as
   1493  1.1  mrg 	defaulted.
   1494  1.1  mrg 	(dynamic_bitset::operator=(dynamic_bitset&&)): Add noexcept-specifier.
   1495  1.1  mrg 	Define without using swap, to propagate allocator correctly.
   1496  1.1  mrg 	(dynamic_bitset(const char*, const _Alloc&)): Use strlen.
   1497  1.1  mrg 	(dynamic_bitset::_M_do_sanitize, dynamic_bitset::_M_do_fill): Use
   1498  1.1  mrg 	casts to avoid unwanted integer promotions.
   1499  1.1  mrg 	(dynamic_bitset::_M_copy_from_ptr): Rearrange template parameters and
   1500  1.1  mrg 	add default template arguments and default argument to simplify usage.
   1501  1.1  mrg 	(dynamic_bitset::_M_copy_from_string): Adjust call to _M_copy_from_ptr.
   1502  1.1  mrg 	(operator==(const dynamic_bitset&, const dynamic_bitset&))
   1503  1.1  mrg 	(operator<(const dynamic_bitset&, const dynamic_bitset&)): Use _M_Nb.
   1504  1.1  mrg 	* include/tr2/dynamic_bitset.tcc (dynamic_bitset::_M_copy_from_ptr):
   1505  1.1  mrg 	Adjust template parameters to match declaration.
   1506  1.1  mrg 	* testsuite/tr2/dynamic_bitset/cmp.cc: New test.
   1507  1.1  mrg 	* testsuite/tr2/dynamic_bitset/cons.cc: New test.
   1508  1.1  mrg 	* testsuite/tr2/dynamic_bitset/copy.cc: New test.
   1509  1.1  mrg 	* testsuite/tr2/dynamic_bitset/move.cc: New test.
   1510  1.1  mrg 	* testsuite/tr2/dynamic_bitset/pr92059.cc: New test.
   1511  1.1  mrg 
   1512  1.1  mrg 	* include/bits/charconv.h (__to_chars_len): Avoid -Wsign-compare
   1513  1.1  mrg 	warnings.
   1514  1.1  mrg 
   1515  1.1  mrg 2019-10-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1516  1.1  mrg 
   1517  1.1  mrg 	PR libstdc++/91057
   1518  1.1  mrg 	* src/c++98/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]
   1519  1.1  mrg 	(find_ldbl_sync_facet): Fix parameter type and missing return.
   1520  1.1  mrg 
   1521  1.1  mrg 2019-10-09  Marek Polacek  <polacek (a] redhat.com>
   1522  1.1  mrg 
   1523  1.1  mrg 	PR c++/91364 - P0388R4: Permit conversions to arrays of	unknown bound.
   1524  1.1  mrg 	PR c++/69531 - DR 1307: Differently bounded array parameters.
   1525  1.1  mrg 	PR c++/88128 - DR 330: Qual convs and pointers to arrays of pointers.
   1526  1.1  mrg 	* testsuite/23_containers/span/lwg3255.cc: Adjust test to match the
   1527  1.1  mrg 	post-P0388R4 behavior.
   1528  1.1  mrg 
   1529  1.1  mrg 2019-10-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1530  1.1  mrg 
   1531  1.1  mrg 	PR libstdc++/91057
   1532  1.1  mrg 	* src/c++98/locale.cc (locale::id::_M_id()) [__GTHREADS]: Use atomic
   1533  1.1  mrg 	compare-exchange or double-checked lock to ensure only one thread sets
   1534  1.1  mrg 	the _M_index variable.
   1535  1.1  mrg 	[_GLIBCXX_LONG_DOUBLE_COMPAT]: Call find_ldbl_sync_facet to detect
   1536  1.1  mrg 	facets that share another facet's ID.
   1537  1.1  mrg 	[_GLIBCXX_LONG_DOUBLE_COMPAT] (find_ldbl_sync_facet): New function.
   1538  1.1  mrg 
   1539  1.1  mrg 	PR libstdc++/78552
   1540  1.1  mrg 	* src/c++98/locale_init.cc (locale::classic()): Do not construct a new
   1541  1.1  mrg 	locale object for every call.
   1542  1.1  mrg 	(locale::_S_initialize_once()): Construct C locale here.
   1543  1.1  mrg 
   1544  1.1  mrg 2019-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1545  1.1  mrg 
   1546  1.1  mrg 	* doc/Makefile.am (doc-html-docbook-regenerate): New target.
   1547  1.1  mrg 	(${docbook_outdir}/html): Do not create unused 'html/ext' directory.
   1548  1.1  mrg 	* doc/Makefile.in: Regenerate.
   1549  1.1  mrg 	* doc/xml/manual/documentation_hacking.xml: Document new target.
   1550  1.1  mrg 	* doc/html/*: Regenerate.
   1551  1.1  mrg 
   1552  1.1  mrg 	* doc/xml/manual/allocator.xml: Use archived copy of CUJ article.
   1553  1.1  mrg 	* doc/html/*: Regenerate.
   1554  1.1  mrg 
   1555  1.1  mrg 2019-10-06  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1556  1.1  mrg 
   1557  1.1  mrg 	* include/bits/stl_algo.h
   1558  1.1  mrg 	(__copy_n_a(_IIte, _Size, _OIte)): New.
   1559  1.1  mrg 	(__copy_n_a(istreambuf_iterator<>, _Size, _CharT*)): New declaration.
   1560  1.1  mrg 	(__copy_n(_IIte, _Size, _OIte, input_iterator_tag)): Adapt to use
   1561  1.1  mrg 	latter.
   1562  1.1  mrg 	* include/bits/streambuf_iterator.h (istreambuf_iterator<>): Declare
   1563  1.1  mrg 	std::__copy_n_a friend.
   1564  1.1  mrg 	(__copy_n_a(istreambuf_iterator<>, _Size, _CharT*)): New.
   1565  1.1  mrg 	* testsuite/25_algorithms/copy_n/istreambuf_iterator/1.cc: New.
   1566  1.1  mrg 	* testsuite/25_algorithms/copy_n/istreambuf_iterator/1_neg.cc: New.
   1567  1.1  mrg 	* testsuite/25_algorithms/copy_n/istreambuf_iterator/2_neg.cc: New.
   1568  1.1  mrg 
   1569  1.1  mrg 	* include/bits/stl_iterator_base_types.h (__iterator_category_t): Define
   1570  1.1  mrg 	for C++11.
   1571  1.1  mrg 	(_RequireInputIte): Likewise and use __enable_if_t.
   1572  1.1  mrg 	* include/std/numeric
   1573  1.1  mrg 	(__is_random_access_iter): Use __iterator_category_t.
   1574  1.1  mrg 
   1575  1.1  mrg 	* include/bits/stl_algo.h (copy_n): Add __glibcxx_requires_can_increment
   1576  1.1  mrg 	debug checks.
   1577  1.1  mrg 	* testsuite/25_algorithms/copy_n/debug/1_neg.cc: New.
   1578  1.1  mrg 	* testsuite/25_algorithms/copy_n/debug/2_neg.cc: New.
   1579  1.1  mrg 
   1580  1.1  mrg 2019-10-04  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1581  1.1  mrg 
   1582  1.1  mrg 	* include/debug/forward_list
   1583  1.1  mrg 	(_Sequence_traits<__debug::forward_list<>>::_S_size): Returns __dp_sign
   1584  1.1  mrg 	distance when not empty.
   1585  1.1  mrg 	* include/debug/list (_Sequence_traits<__debug::list<>>::_S_size):
   1586  1.1  mrg 	Likewise.
   1587  1.1  mrg 	* include/debug/helper_functions.h (__dp_sign_max_size): New
   1588  1.1  mrg 	_Distance_precision enum entry.
   1589  1.1  mrg 	(__valid_range_aux(_IIte, _IIte, _Distance_traits<>::__type,
   1590  1.1  mrg 	__false_type)): Adapt.
   1591  1.1  mrg 	* include/debug/safe_iterator.tcc
   1592  1.1  mrg 	(_Safe_iterator<>::_M_get_distance_to(const _Safe_iterator&)): Review
   1593  1.1  mrg 	distance computation.
   1594  1.1  mrg 
   1595  1.1  mrg 2019-10-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1596  1.1  mrg 
   1597  1.1  mrg 	PR libstdc++/81091
   1598  1.1  mrg 	PR libstdc++/91947
   1599  1.1  mrg 	* configure.ac: Use AC_SYS_LARGEFILE to enable 64-bit file APIs.
   1600  1.1  mrg 	* config.h.in: Regenerate:
   1601  1.1  mrg 	* configure: Regenerate:
   1602  1.1  mrg 	* include/Makefile.am (${host_builddir}/largefile-config.h): New
   1603  1.1  mrg 	target to generate config header for filesystem library.
   1604  1.1  mrg 	(${host_builddir}/c++config.h): Rename macros for large file support.
   1605  1.1  mrg 	* include/Makefile.in: Regenerate.
   1606  1.1  mrg 	* src/c++17/fs_dir.cc: Include new config header.
   1607  1.1  mrg 	* src/c++17/fs_ops.cc: Likewise.
   1608  1.1  mrg 	(filesystem::file_size): Use uintmax_t for size.
   1609  1.1  mrg 	* src/filesystem/dir.cc: Include new config header.
   1610  1.1  mrg 	* src/filesystem/ops.cc: Likewise.
   1611  1.1  mrg 	(experimental::filesystem::file_size): Use uintmax_t for size.
   1612  1.1  mrg 
   1613  1.1  mrg 	* testsuite/util/testsuite_abi.h: Use std::unordered_map instead of
   1614  1.1  mrg 	std::tr1::unordered_map.
   1615  1.1  mrg 	* testsuite/util/testsuite_allocator.h: Likewise.
   1616  1.1  mrg 
   1617  1.1  mrg 	* include/tr1/hashtable.h: Add header for __gnu_cxx::__alloc_traits.
   1618  1.1  mrg 
   1619  1.1  mrg 	* include/tr1/hashtable.h (tr1::_Hashtable::_M_allocate_node): Use
   1620  1.1  mrg 	__gnu_cxx::__alloc_traits for allocator construct function.
   1621  1.1  mrg 	(tr1::_Hashtable::_M_deallocate_node): Likewise for destroy function.
   1622  1.1  mrg 
   1623  1.1  mrg 	* include/precompiled/stdc++.h: Include <span> for C++20.
   1624  1.1  mrg 	* testsuite/17_intro/names.cc: Do not define 'e' for C++20.
   1625  1.1  mrg 
   1626  1.1  mrg 2019-10-03  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1627  1.1  mrg 
   1628  1.1  mrg 	* include/parallel/multiway_merge.h (_RAIter3): Replace _C by _Cp.
   1629  1.1  mrg 
   1630  1.1  mrg 2019-10-02  Jonathan Wakely  <jwakely (a] redhat.com>
   1631  1.1  mrg 
   1632  1.1  mrg 	* config/abi/pre/gnu.ver: Tighten up greedy wildcards.
   1633  1.1  mrg 
   1634  1.1  mrg 	* doc/xml/manual/parallel_mode.xml: Add caveat about support for
   1635  1.1  mrg 	recent standards.
   1636  1.1  mrg 	* doc/html/*: Regenerate.
   1637  1.1  mrg 
   1638  1.1  mrg 2019-10-01  Jonathan Wakely  <jwakely (a] redhat.com>
   1639  1.1  mrg 
   1640  1.1  mrg 	* include/experimental/algorithm (experimental::sample): Qualify call
   1641  1.1  mrg 	to __sample correctly.
   1642  1.1  mrg 	* include/parallel/algo.h (sample, for_each_n): Add using-declarations
   1643  1.1  mrg 	for algorithms that don't have parallel implementations.
   1644  1.1  mrg 
   1645  1.1  mrg 	* include/parallel/algobase.h (equal, lexicographical_compare): Add
   1646  1.1  mrg 	_GLIBCXX20_CONSTEXPR and dispatch to sequential algorithm when being
   1647  1.1  mrg 	constant evaluated.
   1648  1.1  mrg 	* include/parallel/algorithmfwd.h (equal, lexicographical_compare):
   1649  1.1  mrg 	Add _GLIBCXX20_CONSTEXPR.
   1650  1.1  mrg 
   1651  1.1  mrg 	* testsuite/17_intro/using_namespace_std_tr1_neg.cc: Skip test for
   1652  1.1  mrg 	parallel mode.
   1653  1.1  mrg 	* testsuite/20_util/hash/84998.cc: Likewise.
   1654  1.1  mrg 	* testsuite/23_containers/deque/types/pmr_typedefs_debug.cc: Likewise.
   1655  1.1  mrg 	* testsuite/23_containers/forward_list/pmr_typedefs_debug.cc: Likewise.
   1656  1.1  mrg 	* testsuite/23_containers/list/pmr_typedefs_debug.cc: Likewise.
   1657  1.1  mrg 	* testsuite/23_containers/map/pmr_typedefs_debug.cc: Likewise.
   1658  1.1  mrg 	* testsuite/23_containers/multimap/pmr_typedefs_debug.cc: Likewise.
   1659  1.1  mrg 	* testsuite/23_containers/multiset/pmr_typedefs_debug.cc: Likewise.
   1660  1.1  mrg 	* testsuite/23_containers/set/pmr_typedefs_debug.cc: Likewise.
   1661  1.1  mrg 	* testsuite/23_containers/unordered_map/pmr_typedefs_debug.cc:
   1662  1.1  mrg 	Likewise.
   1663  1.1  mrg 	* testsuite/23_containers/unordered_multimap/pmr_typedefs_debug.cc:
   1664  1.1  mrg 	Likewise.
   1665  1.1  mrg 	* testsuite/23_containers/unordered_multiset/pmr_typedefs_debug.cc:
   1666  1.1  mrg 	Likewise.
   1667  1.1  mrg 	* testsuite/23_containers/unordered_set/pmr_typedefs_debug.cc:
   1668  1.1  mrg 	Likewise.
   1669  1.1  mrg 	* testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
   1670  1.1  mrg 	Likewise.
   1671  1.1  mrg 	* testsuite/23_containers/vector/types/pmr_typedefs_debug.cc: Likewise.
   1672  1.1  mrg 	* testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
   1673  1.1  mrg 	* testsuite/25_algorithms/copy/86658.cc: Likewise.
   1674  1.1  mrg 	* testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
   1675  1.1  mrg 	* testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
   1676  1.1  mrg 	* testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
   1677  1.1  mrg 	* testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
   1678  1.1  mrg 
   1679  1.1  mrg 	* include/parallel/algo.h: Replace non-reserved names.
   1680  1.1  mrg 	* include/parallel/multiway_merge.h: Likewise.
   1681  1.1  mrg 	* include/parallel/multiway_mergesort.h: Likewise.
   1682  1.1  mrg 	* include/parallel/numericfwd.h: Likewise.
   1683  1.1  mrg 	* testsuite/17_intro/names.cc: Add RAI to test macros.
   1684  1.1  mrg 
   1685  1.1  mrg 2019-09-30  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1686  1.1  mrg 
   1687  1.1  mrg 	* include/debug/array: Add C++20 constexpr to comparison operators.
   1688  1.1  mrg 	* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adapt
   1689  1.1  mrg 	dg-error line numbers.
   1690  1.1  mrg 	* testsuite/23_containers/array/tuple_interface/
   1691  1.1  mrg 	tuple_element_debug_neg.cc: Likewise.
   1692  1.1  mrg 
   1693  1.1  mrg 2019-09-30  Andreas Tobler  <andreast (a] gcc.gnu.org>
   1694  1.1  mrg 
   1695  1.1  mrg 	* include/experimental/internet: Include netinet/in.h if we have
   1696  1.1  mrg 	_GLIBCXX_HAVE_NETINET_IN_H defined.
   1697  1.1  mrg 
   1698  1.1  mrg 	* testsuite/ext/special_functions/airy_ai/check_nan.cc: Ignore the
   1699  1.1  mrg 	FreeBSD warning about lower advertised precision of tgammal.
   1700  1.1  mrg 	* testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
   1701  1.1  mrg 	* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
   1702  1.1  mrg 	* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
   1703  1.1  mrg 	* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
   1704  1.1  mrg 	* testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
   1705  1.1  mrg 	* testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
   1706  1.1  mrg 	* testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
   1707  1.1  mrg 	* testsuite/tr1/5_numerical_facilities/special_functions/
   1708  1.1  mrg 	08_cyl_bessel_i/check_nan.cc: Likewise.
   1709  1.1  mrg 	* testsuite/tr1/5_numerical_facilities/special_functions/
   1710  1.1  mrg 	09_cyl_bessel_j/check_nan.cc: Likewise.
   1711  1.1  mrg 	* testuite/tr1/5_numerical_facilities/special_functions/
   1712  1.1  mrg 	10_cyl_bessel_k/check_nan.cc: Likewise.
   1713  1.1  mrg 	* testsuite/tr1/5_numerical_facilities/special_functions/
   1714  1.1  mrg 	11_cyl_neumann/check_nan.cc: Likewise.
   1715  1.1  mrg 	* testsuite/tr1/5_numerical_facilities/special_functions/
   1716  1.1  mrg 	21_sph_bessel/check_nan.cc: Likewise.
   1717  1.1  mrg 	* testsuite/tr1/5_numerical_facilities/special_functions/
   1718  1.1  mrg 	23_sph_neumann/check_nan.cc: Likewise.
   1719  1.1  mrg 
   1720  1.1  mrg 2019-09-30  Jonathan Wakely  <jwakely (a] redhat.com>
   1721  1.1  mrg 
   1722  1.1  mrg 	* include/std/span (span(element_type(&)[N]))
   1723  1.1  mrg 	(span(array<value_type, N>&), span(const array<value_type, N>&)):
   1724  1.1  mrg 	Deduce array element type to allow safe const conversions (LWG 3255).
   1725  1.1  mrg 	[!_GLIBCXX_P1394] (span(Container&), span(const Container&)): Use
   1726  1.1  mrg 	remove_cv_t on arguments to __is_std_span and __is_std_array.
   1727  1.1  mrg 	* testsuite/23_containers/span/lwg3255.cc: New test.
   1728  1.1  mrg 
   1729  1.1  mrg 	PR libstdc++/77936
   1730  1.1  mrg 	* include/parallel/checkers.h (__is_sorted): Remove unused variable.
   1731  1.1  mrg 
   1732  1.1  mrg 2019-09-28  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1733  1.1  mrg 
   1734  1.1  mrg 	* include/bits/stl_algo.h (merge): Fix documentation.
   1735  1.1  mrg 	* include/debug/functions.h (__check_sorted_aux): Add C++20 constexpr.
   1736  1.1  mrg 	(__check_sorted): Likewise and remove nested irreflexive check.
   1737  1.1  mrg 	(__check_sorted_set_aux, __check_sorted_set): Add C++20 constexpr.
   1738  1.1  mrg 	(__check_partitioned_lower, __check_partitioned_upper): Likewise.
   1739  1.1  mrg 	(_Irreflexive_checker::_S_is_valid): Likewise.
   1740  1.1  mrg 	(__is_irreflexive, __is_irreflexive_pred): Likewise.
   1741  1.1  mrg 	* include/debug/helper_functions.h (__get_distance): Add constexpr.
   1742  1.1  mrg 	(__valid_range_aux): Add C++20 constexpr.
   1743  1.1  mrg 	(__valid_range(_Iter, _Iter, _Distance_traits<_Iter>::__type&)):
   1744  1.1  mrg 	Likewise and add std::is_constant_evaluated check.
   1745  1.1  mrg 	(__valid_range_aux(_Iter, _Iter, std::input_iterator_tag)): New.
   1746  1.1  mrg 	(__valid_range_aux(_Iter, _Iter, std::random_accss_iterator_tag)): New.
   1747  1.1  mrg 	(__valid_range_aux(_Integral, _Integral, std::__true_type)): New,
   1748  1.1  mrg 	use latter.
   1749  1.1  mrg 	(__valid_range(_Iter, _Iter)): Adapt to use latter, add constexpr and
   1750  1.1  mrg 	__builtin_is_contant_evaludated check..
   1751  1.1  mrg 	(__can_advance, __base): Add constexpr.
   1752  1.1  mrg 	* include/debug/macros.h [_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED]
   1753  1.1  mrg 	(_GLIBCXX_DEBUG_VERIFY_COND_AT): New.
   1754  1.1  mrg 	(__glibcxx_check_sorted): Use __glibcxx_check_irreflexive.
   1755  1.1  mrg 	(__glibcxx_check_sorted_pred): Use __glibcxx_check_irreflexive_pred.
   1756  1.1  mrg 	* testsuite/25_algorithms/binary_search/constexpr.cc: Use irreflexive
   1757  1.1  mrg 	std::less.
   1758  1.1  mrg 	* testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise.
   1759  1.1  mrg 	* testsuite/25_algorithms/merge/constexpr.cc: Fix order in camm. Fix
   1760  1.1  mrg 	lambda to be irreflexive.
   1761  1.1  mrg 
   1762  1.1  mrg 2019-09-27  Maciej W. Rozycki  <macro (a] wdc.com>
   1763  1.1  mrg 
   1764  1.1  mrg 	* configure: Regenerate.
   1765  1.1  mrg 
   1766  1.1  mrg 2019-09-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1767  1.1  mrg 
   1768  1.1  mrg 	PR libstdc++/91910
   1769  1.1  mrg 	* src/c++11/debug.cc (_Safe_iterator_base::_M_detach()): Load pointer
   1770  1.1  mrg 	atomically and lock the mutex before accessing the sequence.
   1771  1.1  mrg 	(_Safe_local_iterator_base::_M_detach()): Likewise.
   1772  1.1  mrg 	(_Safe_iterator_base::_M_reset()): Clear _M_sequence atomically.
   1773  1.1  mrg 
   1774  1.1  mrg 2019-09-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1775  1.1  mrg 
   1776  1.1  mrg 	* include/debug/array (to_array): Define for debug mode.
   1777  1.1  mrg 
   1778  1.1  mrg 	* include/bits/stl_pair.h (pair): Add _GLIBCXX20_CONSTEXPR to
   1779  1.1  mrg 	piecewise construction constructor, assignment operators, and swap.
   1780  1.1  mrg 	* include/std/tuple (pair::pair(piecewise_construct_t, tuple, tuple)):
   1781  1.1  mrg 	Add _GLIBCXX20_CONSTEXPR.
   1782  1.1  mrg 	(pair::pair(tuple, tuple, _Index_tuple, _Index_tuple)): Likewise.
   1783  1.1  mrg 	* testsuite/20_util/pair/constexpr_assign.cc: New test.
   1784  1.1  mrg 	* testsuite/20_util/pair/constexpr_swap.cc: New test.
   1785  1.1  mrg 
   1786  1.1  mrg 	* include/experimental/internet (operator==, operator<): Fix loop
   1787  1.1  mrg 	condition to avoid reading past the end of the array.
   1788  1.1  mrg 
   1789  1.1  mrg 	* include/std/array: Remove references to profile mode.
   1790  1.1  mrg 	* include/std/bitset: Likewise.
   1791  1.1  mrg 	* include/std/deque: Likewise.
   1792  1.1  mrg 	* include/std/forward_list: Likewise.
   1793  1.1  mrg 	* include/std/list: Likewise.
   1794  1.1  mrg 	* include/std/map: Likewise.
   1795  1.1  mrg 	* include/std/set: Likewise.
   1796  1.1  mrg 	* include/std/unordered_map: Likewise.
   1797  1.1  mrg 	* include/std/unordered_set: Likewise.
   1798  1.1  mrg 	* include/std/vector: Likewise.
   1799  1.1  mrg 	* testsuite/17_intro/headers/c++1998/profile_mode.cc: New test.
   1800  1.1  mrg 	* testsuite/17_intro/headers/c++2011/profile_mode.cc: New test.
   1801  1.1  mrg 
   1802  1.1  mrg 2019-09-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1803  1.1  mrg 
   1804  1.1  mrg 	* include/bits/regex.h
   1805  1.1  mrg 	(basic_regex::assign(const C*, size_t, flag_type)): Add default
   1806  1.1  mrg 	argument (LWG 3296).
   1807  1.1  mrg 	* testsuite/28_regex/basic_regex/assign/char/lwg3296.cc: New test.
   1808  1.1  mrg 	* testsuite/28_regex/basic_regex/assign/wchar_t/lwg3296.cc: New test.
   1809  1.1  mrg 
   1810  1.1  mrg 2019-09-24  Jonathan Wakely  <jwakely (a] redhat.com>
   1811  1.1  mrg 
   1812  1.1  mrg 	* include/std/variant (variant::index()): Remove impossible case.
   1813  1.1  mrg 
   1814  1.1  mrg 	PR libstdc++/91871
   1815  1.1  mrg 	* testsuite/util/testsuite_hooks.h
   1816  1.1  mrg 	(conversion::iterator_to_const_iterator()): Do not return an invalid
   1817  1.1  mrg 	iterator. Test direct-initialization and direct-list-initialization
   1818  1.1  mrg 	as well as implicit conversion.
   1819  1.1  mrg 
   1820  1.1  mrg 2019-09-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1821  1.1  mrg 
   1822  1.1  mrg 	PR libstdc++/91788 (partial)
   1823  1.1  mrg 	* include/std/variant (variant::index()): Improve codegen for cases
   1824  1.1  mrg 	where conversion to size_t already works correctly.
   1825  1.1  mrg 
   1826  1.1  mrg 2019-09-23  Andreas Schwab  <schwab (a] suse.de>
   1827  1.1  mrg 
   1828  1.1  mrg 	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
   1829  1.1  mrg 
   1830  1.1  mrg 2019-09-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1831  1.1  mrg 
   1832  1.1  mrg 	PR libstdc++/91748
   1833  1.1  mrg 	* include/bits/stl_algo.h (for_each_n): Fix random access iterator
   1834  1.1  mrg 	case.
   1835  1.1  mrg 	* testsuite/25_algorithms/for_each/for_each_n.cc: Test with random
   1836  1.1  mrg 	access iterators.
   1837  1.1  mrg 
   1838  1.1  mrg 2019-09-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1839  1.1  mrg 
   1840  1.1  mrg 	* python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker.__call__):
   1841  1.1  mrg 	Fix syntax error.
   1842  1.1  mrg 
   1843  1.1  mrg 	* testsuite/20_util/result_of/sfinae_friendly_1.cc: Add -Wno-volatile
   1844  1.1  mrg 	for C++2a and up. Define HAS_52748_FIXED and fix incorrect tests.
   1845  1.1  mrg 	* testsuite/tr1/3_function_objects/result_of.cc: Add -Wno-volatile
   1846  1.1  mrg 	for C++2a and up.
   1847  1.1  mrg 
   1848  1.1  mrg 2019-09-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1849  1.1  mrg 
   1850  1.1  mrg 	* include/std/type_traits (__do_common_type_impl): Implement
   1851  1.1  mrg 	additional COND-RES(CREF(D1), CRED(D2)) condition for C++20.
   1852  1.1  mrg 	(basic_common_reference, common_reference, common_reference_t): Define
   1853  1.1  mrg 	for C++20.
   1854  1.1  mrg 	* testsuite/20_util/common_reference/requirements/alias_decl.cc: New
   1855  1.1  mrg 	test.
   1856  1.1  mrg 	* testsuite/20_util/common_reference/requirements/
   1857  1.1  mrg 	explicit_instantiation.cc: New test.
   1858  1.1  mrg 	* testsuite/20_util/common_reference/requirements/typedefs.cc: New
   1859  1.1  mrg 	test.
   1860  1.1  mrg 
   1861  1.1  mrg 	* include/std/charconv (to_chars): Rename to __to_chars_i. Define
   1862  1.1  mrg 	non-template overloads for each signed and unsigned integer type and
   1863  1.1  mrg 	char. Define deleted overload for bool (LWG 3266).
   1864  1.1  mrg 	* testsuite/20_util/to_chars/1_neg.cc: Remove.
   1865  1.1  mrg 	* testsuite/20_util/to_chars/3.cc: New test.
   1866  1.1  mrg 	* testsuite/20_util/to_chars/lwg3266.cc: New test.
   1867  1.1  mrg 
   1868  1.1  mrg 2019-09-10  Christophe Lyon  <christophe.lyon (a] st.com>
   1869  1.1  mrg 
   1870  1.1  mrg 	* acinclude.m4: Handle uclinux*.
   1871  1.1  mrg 	* configure: Regenerate.
   1872  1.1  mrg 	* configure.host: Handle uclinux*
   1873  1.1  mrg 
   1874  1.1  mrg 2019-09-10  Christophe Lyon  <christophe.lyon (a] st.com>
   1875  1.1  mrg 	Mickal Gun <mickael.guene (a] st.com>
   1876  1.1  mrg 
   1877  1.1  mrg 	* libsupc++/eh_personality.cc (get_ttype_entry): Add FDPIC
   1878  1.1  mrg 	support.
   1879  1.1  mrg 
   1880  1.1  mrg 2019-09-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1881  1.1  mrg 
   1882  1.1  mrg 	PR libstdc++/91711
   1883  1.1  mrg 	* testsuite/23_containers/span/get_neg.cc: Avoid ambiguity due to
   1884  1.1  mrg 	0ul being a valid null pointer constant.
   1885  1.1  mrg 
   1886  1.1  mrg 	* include/std/type_traits (__remove_cv_t): New alias template.
   1887  1.1  mrg 	(is_void, is_integral, is_floating_point, is_pointer)
   1888  1.1  mrg 	(is_member_object_pointer, is_member_function_pointer, is_null_pointer)
   1889  1.1  mrg 	(is_member_point), __is_signed_integer, __is_unsigned_integer)
   1890  1.1  mrg 	(__make_unsigned_selector, __make_signed_selector, remove_pointer)
   1891  1.1  mrg 	(__decay_selector): Use __remove_cv_t.
   1892  1.1  mrg 	(remove_cv): Add partial specializations for cv-qualified types.
   1893  1.1  mrg 	(__decay_t): New alias template.
   1894  1.1  mrg 	(__decay_and_strip, __common_type_impl, __result_of_impl): Use
   1895  1.1  mrg 	__decay_t.
   1896  1.1  mrg 	(__enable_if_t): Move earlier in the file.
   1897  1.1  mrg 	(_Require): Use __enable_if_t.
   1898  1.1  mrg 	(swap(T&, T&)): Use _Require.
   1899  1.1  mrg 	(swap(T(&)[N])): Use __enable_if_t.
   1900  1.1  mrg 
   1901  1.1  mrg 2019-09-09  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   1902  1.1  mrg 
   1903  1.1  mrg 	Implement C++20 p1424 - 'constexpr' feature macro concerns,
   1904  1.1  mrg 	Issue 3256 - Feature testing macro for constexpr algorithms,
   1905  1.1  mrg 	and Issue 3257 - Missing feature testing macro update from P0858.
   1906  1.1  mrg 	* include/std/version (__cpp_lib_constexpr_algorithms): Bump value.
   1907  1.1  mrg 	* include/bits/algorithmfwd.h: Ditto.
   1908  1.1  mrg 	* include/std/utility: Ditto.
   1909  1.1  mrg 	* testsuite/25_algorithms/constexpr_macro.cc: Ditto.
   1910  1.1  mrg 	* testsuite/25_algorithms/cpp_lib_constexpr.cc: New check for
   1911  1.1  mrg 	__cpp_lib_constexpr macro in <algorith>.
   1912  1.1  mrg 	* testsuite/20_util/exchange/constexpr.cc: Add check for
   1913  1.1  mrg 	__cpp_lib_constexpr macro in <utility>.
   1914  1.1  mrg 	* testsuite/25_algorithms/adjacent_find/constexpr.cc: Remove check for
   1915  1.1  mrg 	__cpp_lib_constexpr_algorithms.
   1916  1.1  mrg 	* testsuite/25_algorithms/all_of/constexpr.cc: Ditto.
   1917  1.1  mrg 	* testsuite/25_algorithms/any_of/constexpr.cc: Ditto.
   1918  1.1  mrg 	* testsuite/25_algorithms/binary_search/constexpr.cc: Ditto.
   1919  1.1  mrg 	* testsuite/25_algorithms/copy/constexpr.cc: Ditto.
   1920  1.1  mrg 	* testsuite/25_algorithms/copy_backward/constexpr.cc: Ditto.
   1921  1.1  mrg 	* testsuite/25_algorithms/copy_if/constexpr.cc: Ditto.
   1922  1.1  mrg 	* testsuite/25_algorithms/copy_n/constexpr.cc: Ditto.
   1923  1.1  mrg 	* testsuite/25_algorithms/count/constexpr.cc: Ditto.
   1924  1.1  mrg 	* testsuite/25_algorithms/count_if/constexpr.cc: Ditto.
   1925  1.1  mrg 	* testsuite/25_algorithms/equal/constexpr.cc: Ditto.
   1926  1.1  mrg 	* testsuite/25_algorithms/equal_range/constexpr.cc: Ditto.
   1927  1.1  mrg 	* testsuite/25_algorithms/fill/constexpr.cc: Ditto.
   1928  1.1  mrg 	* testsuite/25_algorithms/fill_n/constexpr.cc: Ditto.
   1929  1.1  mrg 	* testsuite/25_algorithms/find/constexpr.cc: Ditto.
   1930  1.1  mrg 	* testsuite/25_algorithms/find_end/constexpr.cc: Ditto.
   1931  1.1  mrg 	* testsuite/25_algorithms/find_first_of/constexpr.cc: Ditto.
   1932  1.1  mrg 	* testsuite/25_algorithms/find_if/constexpr.cc: Ditto.
   1933  1.1  mrg 	* testsuite/25_algorithms/find_if_not/constexpr.cc: Ditto.
   1934  1.1  mrg 	* testsuite/25_algorithms/for_each/constexpr.cc: Ditto.
   1935  1.1  mrg 	* testsuite/25_algorithms/generate/constexpr.cc: Ditto.
   1936  1.1  mrg 	* testsuite/25_algorithms/generate_n/constexpr.cc: Ditto.
   1937  1.1  mrg 	* testsuite/25_algorithms/is_heap/constexpr.cc: Ditto.
   1938  1.1  mrg 	* testsuite/25_algorithms/is_heap_until/constexpr.cc: Ditto.
   1939  1.1  mrg 	* testsuite/25_algorithms/is_partitioned/constexpr.cc: Ditto.
   1940  1.1  mrg 	* testsuite/25_algorithms/is_permutation/constexpr.cc: Ditto.
   1941  1.1  mrg 	* testsuite/25_algorithms/is_sorted/constexpr.cc: Ditto.
   1942  1.1  mrg 	* testsuite/25_algorithms/is_sorted_until/constexpr.cc: Ditto.
   1943  1.1  mrg 	* testsuite/25_algorithms/lexicographical_compare/constexpr.cc: Ditto.
   1944  1.1  mrg 	* testsuite/25_algorithms/lower_bound/constexpr.cc: Ditto.
   1945  1.1  mrg 	* testsuite/25_algorithms/merge/constexpr.cc: Ditto.
   1946  1.1  mrg 	* testsuite/25_algorithms/mismatch/constexpr.cc: Ditto.
   1947  1.1  mrg 	* testsuite/25_algorithms/none_of/constexpr.cc: Ditto.
   1948  1.1  mrg 	* testsuite/25_algorithms/partition_copy/constexpr.cc: Ditto.
   1949  1.1  mrg 	* testsuite/25_algorithms/partition_point/constexpr.cc: Ditto.
   1950  1.1  mrg 	* testsuite/25_algorithms/remove/constexpr.cc: Ditto.
   1951  1.1  mrg 	* testsuite/25_algorithms/remove_copy/constexpr.cc: Ditto.
   1952  1.1  mrg 	* testsuite/25_algorithms/remove_copy_if/constexpr.cc: Ditto.
   1953  1.1  mrg 	* testsuite/25_algorithms/remove_if/constexpr.cc: Ditto.
   1954  1.1  mrg 	* testsuite/25_algorithms/replace_copy/constexpr.cc: Ditto.
   1955  1.1  mrg 	* testsuite/25_algorithms/replace_copy_if/constexpr.cc: Ditto.
   1956  1.1  mrg 	* testsuite/25_algorithms/replace_if/constexpr.cc: Ditto.
   1957  1.1  mrg 	* testsuite/25_algorithms/reverse_copy/constexpr.cc: Ditto.
   1958  1.1  mrg 	* testsuite/25_algorithms/rotate_copy/constexpr.cc: Ditto.
   1959  1.1  mrg 	* testsuite/25_algorithms/search/constexpr.cc: Ditto.
   1960  1.1  mrg 	* testsuite/25_algorithms/search_n/constexpr.cc: Ditto.
   1961  1.1  mrg 	* testsuite/25_algorithms/set_difference/constexpr.cc: Ditto.
   1962  1.1  mrg 	* testsuite/25_algorithms/set_intersection/constexpr.cc: Ditto.
   1963  1.1  mrg 	* testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: Ditto.
   1964  1.1  mrg 	* testsuite/25_algorithms/set_union/constexpr.cc: Ditto.
   1965  1.1  mrg 	* testsuite/25_algorithms/transform/constexpr.cc: Ditto.
   1966  1.1  mrg 	* testsuite/25_algorithms/unique/constexpr.cc: Ditto.
   1967  1.1  mrg 	* testsuite/25_algorithms/unique_copy/constexpr.cc: Ditto.
   1968  1.1  mrg 	* testsuite/25_algorithms/upper_bound/constexpr.cc: Ditto.
   1969  1.1  mrg 
   1970  1.1  mrg 2019-09-09  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   1971  1.1  mrg 
   1972  1.1  mrg 	Update docs for recent <span> and constexpr lib changes.
   1973  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Update p0202r3, p0858r0, p0879r0,
   1974  1.1  mrg 	p1023r0, p1085r2 status.
   1975  1.1  mrg 	* doc/html/manual/status.html: Regenerate.
   1976  1.1  mrg 
   1977  1.1  mrg 2019-09-09  Antony Polukhin  <antoshkka (a] gmail.com>
   1978  1.1  mrg 
   1979  1.1  mrg 	* include/bits/charconv.h (__detail::__to_chars_10_impl): Replace
   1980  1.1  mrg 	final offsets with constants.
   1981  1.1  mrg 
   1982  1.1  mrg 2019-09-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1983  1.1  mrg 
   1984  1.1  mrg 	* include/bits/range_access.h (__adl_to_address): Remove.
   1985  1.1  mrg 	* include/std/span (__is_base_derived_safe_convertible_v): Replace
   1986  1.1  mrg 	with span::__is_compatible.
   1987  1.1  mrg 	(__is_std_array_v): Replace with __is_std_array class template and
   1988  1.1  mrg 	partial specializations.
   1989  1.1  mrg 	(__is_std_array, __is_std_span): New class templates and partial
   1990  1.1  mrg 	specializations.
   1991  1.1  mrg 	(span::__is_compatible): New alias template for SFINAE constraints.
   1992  1.1  mrg 	(span::span(element_type (&)[N])): Remove redundant constraints. Do
   1993  1.1  mrg 	not use __adl_data to obtain a pointer.
   1994  1.1  mrg 	(span::span(array<value_type, N>&)): Likewise.
   1995  1.1  mrg 	(span::span(const array<value_type, N>&)): Likewise.
   1996  1.1  mrg 	[_GLIBCXX_P1394] (span::iter_reference_t, span::iterator_t)
   1997  1.1  mrg 	(span::iter_value_t, span::derived_from): New alias templates for
   1998  1.1  mrg 	SFINAE constraints, until the equivalents are supported in <concepts>
   1999  1.1  mrg 	and <iterator>.
   2000  1.1  mrg 	[_GLIBCXX_P1394] (span::__is_compatible_iterator): New alias template
   2001  1.1  mrg 	for SFINAE constraints.
   2002  1.1  mrg 	[_GLIBCXX_P1394] (span::is_compatible_range): New class template for
   2003  1.1  mrg 	SFINAE constraints.
   2004  1.1  mrg 	[_GLIBCXX_P1394] (span::span(Range&&)): Improve constraints.
   2005  1.1  mrg 	[_GLIBCXX_P1394] (span::span(ContiguousIterator, Sentinel)): Likewise.
   2006  1.1  mrg 	Use std::to_address instead of __adl_to_address.
   2007  1.1  mrg 	[_GLIBCXX_P1394] (span::span(ContiguousIterator, size_type)): Likewise.
   2008  1.1  mrg 	[!_GLIBCXX_P1394] (span::__is_compatible_container): New alias
   2009  1.1  mrg 	template for SFINAE constraints.
   2010  1.1  mrg 	[!_GLIBCXX_P1394] (span::span(Container&))
   2011  1.1  mrg 	(span::span(const Container&)): Improve constraints.
   2012  1.1  mrg 	[!_GLIBCXX_P1394] (span::span(pointer, size_type))
   2013  1.1  mrg 	(span::span(pointer, pointer)): Remove redundant cast of pointer.
   2014  1.1  mrg 	(span(const span<OType, OExtent>&)): New constructor.
   2015  1.1  mrg 
   2016  1.1  mrg 2019-09-06  Jonathan Wakely  <jwakely (a] redhat.com>
   2017  1.1  mrg 
   2018  1.1  mrg 	* include/bits/range_access.h (ssize): Define for C++20.
   2019  1.1  mrg 	* testsuite/24_iterators/range_access_cpp20.cc: New test.
   2020  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Update P1227R2 status.
   2021  1.1  mrg 	* doc/html/*: Regenerate.
   2022  1.1  mrg 
   2023  1.1  mrg 2019-09-06  Florian Weimer  <fweimer (a] redhat.com>
   2024  1.1  mrg 
   2025  1.1  mrg 	* configure: Regenerate.
   2026  1.1  mrg 
   2027  1.1  mrg 2019-09-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2028  1.1  mrg 
   2029  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Update status for P0122R7 and
   2030  1.1  mrg 	P1024R3. Remove entry for P0920R2.
   2031  1.1  mrg 	* include/std/span  (__cpp_lib_span): Change value.
   2032  1.1  mrg 	(__extent_storage, __extent_storage<dynamic_extent>): Remove default
   2033  1.1  mrg 	constructor.
   2034  1.1  mrg 	(span): Replace __extent_storage base class with data member.
   2035  1.1  mrg 	(span::_S_subspan_extent): New function.
   2036  1.1  mrg 	(span::empty()): Add nodiscard attribute.
   2037  1.1  mrg 	(span::front, span::back, span::operator[]): Check preconditions.
   2038  1.1  mrg 	(span::first, span::last, span::subspan): Add noexcept. Improve
   2039  1.1  mrg 	precondition checks (LWG 3103).
   2040  1.1  mrg 	(get): Remove redundant condition from static_assert.
   2041  1.1  mrg 	(tuple_element<I, span<T, E>>): Fix static_assert message and simplify.
   2042  1.1  mrg 	(as_writable_bytes): Add inline specifier.
   2043  1.1  mrg 	* include/std/version (__cpp_lib_span): Change value.
   2044  1.1  mrg 	* testsuite/23_containers/span/back_neg.cc: Remove stray semi-colon.
   2045  1.1  mrg 	* testsuite/23_containers/span/front_neg.cc: Likewise.
   2046  1.1  mrg 	* testsuite/23_containers/span/index_op_neg.cc: Likewise.
   2047  1.1  mrg 	* testsuite/23_containers/span/last_neg.cc: Improve test.
   2048  1.1  mrg 	* testsuite/23_containers/span/subspan_neg.cc: Likewise.
   2049  1.1  mrg 	* testsuite/23_containers/span/1.cc: New test.
   2050  1.1  mrg 	* testsuite/23_containers/span/2.cc: New test.
   2051  1.1  mrg 	* testsuite/23_containers/span/back_assert_neg.cc: New test.
   2052  1.1  mrg 	* testsuite/23_containers/span/first_2_assert_neg.cc: New test.
   2053  1.1  mrg 	* testsuite/23_containers/span/first_assert_neg.cc: New test.
   2054  1.1  mrg 	* testsuite/23_containers/span/first_neg.cc: New test.
   2055  1.1  mrg 	* testsuite/23_containers/span/front_assert_neg.cc: New test.
   2056  1.1  mrg 	* testsuite/23_containers/span/index_op_assert_neg.cc: New test.
   2057  1.1  mrg 	* testsuite/23_containers/span/last_2_assert_neg.cc: New test.
   2058  1.1  mrg 	* testsuite/23_containers/span/last_assert_neg.cc: New test.
   2059  1.1  mrg 	* testsuite/23_containers/span/subspan_2_assert_neg.cc: New test.
   2060  1.1  mrg 	* testsuite/23_containers/span/subspan_3_assert_neg.cc: New test.
   2061  1.1  mrg 	* testsuite/23_containers/span/subspan_4_assert_neg.cc: New test.
   2062  1.1  mrg 	* testsuite/23_containers/span/subspan_5_assert_neg.cc: New test.
   2063  1.1  mrg 	* testsuite/23_containers/span/subspan_6_assert_neg.cc: New test.
   2064  1.1  mrg 	* testsuite/23_containers/span/subspan_assert_neg.cc: New test.
   2065  1.1  mrg 
   2066  1.1  mrg 2019-09-05  JeanHeyd Meneide  <phdofthehouse (a] gmail.com>
   2067  1.1  mrg 
   2068  1.1  mrg 	* include/Makefile.am: Add <span> header.
   2069  1.1  mrg 	* include/Makefile.in: Regenerate.
   2070  1.1  mrg 	* include/bits/range_access.h (__adl_begin, __adl_end, __adl_cbegin)
   2071  1.1  mrg 	(__adl_cend, __adl_rbegin, __adl_rend, __adl_crbegin, __adl_crend)
   2072  1.1  mrg 	(__adl_data, __adl_cdata, __adl_size, __adl_empty, __adl_to_address):
   2073  1.1  mrg 	New functions for performing argument-dependent lookup of range
   2074  1.1  mrg 	customization points.
   2075  1.1  mrg 	* include/bits/stl_iterator.h (__normal_iterator): Add
   2076  1.1  mrg 	_GLIBCXX20_CONSTEXPR to all functions.
   2077  1.1  mrg 	* include/std/span: New header.
   2078  1.1  mrg 	* include/std/version (__cpp_lib_span): Define feature test macro.
   2079  1.1  mrg 	* testsuite/23_containers/span/contiguous_range_neg.cc: New test.
   2080  1.1  mrg 	* testsuite/23_containers/span/everything.cc: New test.
   2081  1.1  mrg 	* testsuite/23_containers/span/get_neg.cc: New test.
   2082  1.1  mrg 	* testsuite/23_containers/span/last_neg.cc: New test.
   2083  1.1  mrg 	* testsuite/23_containers/span/subspan_neg.cc: New test.
   2084  1.1  mrg 	* testsuite/23_containers/span/tuple_element_dynamic_neg.cc: New test.
   2085  1.1  mrg 	* testsuite/23_containers/span/tuple_element_oob_neg.cc: New test.
   2086  1.1  mrg 	* testsuite/23_containers/span/tuple_size_neg.cc: New test.
   2087  1.1  mrg 
   2088  1.1  mrg 2019-09-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2089  1.1  mrg 
   2090  1.1  mrg 	* doc/xml/manual/allocator.xml: Remove URL for bibliography entry.
   2091  1.1  mrg 	* doc/html/*: Regenerate.
   2092  1.1  mrg 
   2093  1.1  mrg 2019-09-04  Mike Crowe  <mac (a] mcrowe.com>
   2094  1.1  mrg 
   2095  1.1  mrg 	PR libstdc++/41861
   2096  1.1  mrg 	* acinclude.m4 (GLIBCXX_CHECK_PTHREAD_COND_CLOCKWAIT): Check for new
   2097  1.1  mrg 	pthread_cond_clockwait function.
   2098  1.1  mrg 	* configure.ac: Use GLIBCXX_CHECK_PTHREAD_COND_CLOCKWAIT.
   2099  1.1  mrg 	* configure: Regenerate.
   2100  1.1  mrg 	* config.h.in: Regenerate.
   2101  1.1  mrg 	* include/std/condition_variable: (condition_variable): Rename
   2102  1.1  mrg 	__steady_clock_t typedef and add system_clock. Change __clock_t to be
   2103  1.1  mrg 	a typedef for the preferred clock to convert arbitrary other clocks to.
   2104  1.1  mrg 	[_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT] (wait_until): Add a steady_clock
   2105  1.1  mrg 	overload.
   2106  1.1  mrg 	(wait_until): Change __clock_t overload to use system_clock.
   2107  1.1  mrg 	[_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT] (__wait_until_impl): Add
   2108  1.1  mrg 	steady_clock overload that calls pthread_cond_clockwait.
   2109  1.1  mrg 	(__wait_until_impl): Change __clock_t overload to use system_clock.
   2110  1.1  mrg 	(condition_variable_any) [_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT]: Use
   2111  1.1  mrg 	steady_clock for __clock_t if pthread_cond_clockwait is available.
   2112  1.1  mrg 
   2113  1.1  mrg 2019-09-04  Mike Crowe  <mac (a] mcrowe.com>
   2114  1.1  mrg 
   2115  1.1  mrg 	* testsuite/30_threads/condition_variable/members/2.cc (test01):
   2116  1.1  mrg 	Parameterise so that test can be run against an arbitrary clock.
   2117  1.1  mrg 	(main): Test using std::chrono::steady_clock and a user-defined
   2118  1.1  mrg 	clock in addition to the previous std::chrono::system_clock.
   2119  1.1  mrg 	* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
   2120  1.1  mrg 
   2121  1.1  mrg 2019-09-03  Ulrich Weigand  <uweigand (a] de.ibm.com>
   2122  1.1  mrg 
   2123  1.1  mrg 	* crossconfig.m4: Remove references to spu.
   2124  1.1  mrg 	* configure: Regenerate.
   2125  1.1  mrg 	* doc/xml/manual/appendix_contributing.xml: Remove references
   2126  1.1  mrg 	to __ea as "badword" for spu.
   2127  1.1  mrg 	* doc/html/manual/source_code_style.html: Regenerate.
   2128  1.1  mrg 	* include/tr1/ell_integral.tcc (__ellint_rd): Do not attempt
   2129  1.1  mrg 	to avoid __ea (as "badword" for spu).
   2130  1.1  mrg 	(__ellint_rj): Likewise.
   2131  1.1  mrg 
   2132  1.1  mrg 2019-09-03  Chung-Lin Tang  <cltang (a] codesourcery.com>
   2133  1.1  mrg 
   2134  1.1  mrg 	PR other/79543
   2135  1.1  mrg 	* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Fix GNU ld --version
   2136  1.1  mrg 	scanning to conform to the GNU Coding Standards.
   2137  1.1  mrg 	* configure: Regenerate.
   2138  1.1  mrg 
   2139  1.1  mrg 2019-09-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2140  1.1  mrg 
   2141  1.1  mrg 	* src/c++17/memory_resource.cc: Use __constinit keyword.
   2142  1.1  mrg 
   2143  1.1  mrg 2019-09-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2144  1.1  mrg 
   2145  1.1  mrg 	* doc/xml/manual/abi.xml: Document 9.x library versions.
   2146  1.1  mrg 	* doc/html/*: Regenerate.
   2147  1.1  mrg 
   2148  1.1  mrg 2019-09-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2149  1.1  mrg 
   2150  1.1  mrg 	* include/std/charconv (__detail::__to_chars_2_len): Use std::log2p1.
   2151  1.1  mrg 	(__detail::__to_chars_8_len): Remove.
   2152  1.1  mrg 	(__detail::__to_chars_8): Inline length calculation here.
   2153  1.1  mrg 	(__detail::__from_chars_binary): Use numeric_limits instead of
   2154  1.1  mrg 	CHAR_BIT.
   2155  1.1  mrg 
   2156  1.1  mrg 2019-09-02  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   2157  1.1  mrg 
   2158  1.1  mrg 	* config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
   2159  1.1  mrg 	* config/abi/post/i386-solaris/amd64/baseline_symbols.txt: Likewise.
   2160  1.1  mrg 	* config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
   2161  1.1  mrg 	* config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
   2162  1.1  mrg 	Likewise.
   2163  1.1  mrg 
   2164  1.1  mrg 2019-09-01  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2165  1.1  mrg 
   2166  1.1  mrg 	* testsuite_files/util/testsuite_performance.h
   2167  1.1  mrg 	(resource_counter::start): Ignore unused malloc(0) result.
   2168  1.1  mrg 
   2169  1.1  mrg 2019-09-01  Gerald Pfeifer  <gerald (a] pfeifer.com>
   2170  1.1  mrg 
   2171  1.1  mrg 	* doc/xml/manual/policy_data_structures_biblio.xml (COM: Component
   2172  1.1  mrg 	Model Object Technologies): Adjust name and link.
   2173  1.1  mrg 
   2174  1.1  mrg 2019-08-30  Antony Polukhin  <antoshkka (a] gmail.com>
   2175  1.1  mrg 
   2176  1.1  mrg 	* include/std/charconv (__detail::__to_chars_8)
   2177  1.1  mrg 	__detail::__to_chars_16): Replace array of precomputed digits with
   2178  1.1  mrg 	arithmetic operations to avoid CPU cache misses. Remove zero
   2179  1.1  mrg 	termination from array of digits to allow symbol merge with generic
   2180  1.1  mrg 	implementation of __detail::__to_chars. Replace final offsets with
   2181  1.1  mrg 	constants. Use __detail::__to_chars_len_2 instead of a generic
   2182  1.1  mrg 	__detail::__to_chars_len.
   2183  1.1  mrg 	(__detail::__to_chars): Remove zero termination from array of digits.
   2184  1.1  mrg 	(__detail::__to_chars_2): Leading digit is always '1'.
   2185  1.1  mrg 
   2186  1.1  mrg 2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
   2187  1.1  mrg 
   2188  1.1  mrg 	* testsuite/23_containers/vector/cons/89164_c++17.cc: Fix errors.
   2189  1.1  mrg 
   2190  1.1  mrg 2019-08-30  Uros Bizjak  <ubizjak (a] gmail.com>
   2191  1.1  mrg 
   2192  1.1  mrg 	* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
   2193  1.1  mrg 
   2194  1.1  mrg 2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
   2195  1.1  mrg 
   2196  1.1  mrg 	PR libstdc++/89164
   2197  1.1  mrg 	* include/bits/stl_algobase.h (__copy_move): Give descriptive names
   2198  1.1  mrg 	to template parameters.
   2199  1.1  mrg 	* include/bits/stl_uninitialized.h (uninitialized_copy)
   2200  1.1  mrg 	(uninitialized_fill, uninitialized_fill_n): Add static assertions to
   2201  1.1  mrg 	diagnose invalid uses.
   2202  1.1  mrg 	* testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc:
   2203  1.1  mrg 	Adjust expected error.
   2204  1.1  mrg 	* testsuite/20_util/specialized_algorithms/uninitialized_copy/89164.cc:
   2205  1.1  mrg 	New test.
   2206  1.1  mrg 	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
   2207  1.1  mrg 	89164.cc: New test.
   2208  1.1  mrg 	* testsuite/20_util/specialized_algorithms/uninitialized_fill/89164.cc:
   2209  1.1  mrg 	New test.
   2210  1.1  mrg 	* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
   2211  1.1  mrg 	89164.cc: New test.
   2212  1.1  mrg 	* testsuite/23_containers/vector/cons/89164.cc: New test.
   2213  1.1  mrg 	* testsuite/23_containers/vector/cons/89164_c++17.cc: New test.
   2214  1.1  mrg 
   2215  1.1  mrg 2019-08-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2216  1.1  mrg 
   2217  1.1  mrg 	PR libstdc++/91067
   2218  1.1  mrg 	* acinclude.m4 (libtool_VERSION): Bump to 6:28:0.
   2219  1.1  mrg 	* configure: Regenerate.
   2220  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.28): Add new version. Export
   2221  1.1  mrg 	missing symbols.
   2222  1.1  mrg 	* testsuite/27_io/filesystem/iterators/91067.cc: Test move
   2223  1.1  mrg 	constructors.
   2224  1.1  mrg 	* testsuite/util/testsuite_abi.cc: Add new symbol version.
   2225  1.1  mrg 
   2226  1.1  mrg 2019-08-29  Jakub Jelinek  <jakub (a] redhat.com>
   2227  1.1  mrg 
   2228  1.1  mrg 	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
   2229  1.1  mrg 	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
   2230  1.1  mrg 
   2231  1.1  mrg 2019-08-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2232  1.1  mrg 
   2233  1.1  mrg 	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
   2234  1.1  mrg 	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
   2235  1.1  mrg 	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
   2236  1.1  mrg 	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
   2237  1.1  mrg 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
   2238  1.1  mrg 	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
   2239  1.1  mrg 	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
   2240  1.1  mrg 
   2241  1.1  mrg 2019-08-23  Joseph Myers  <joseph (a] codesourcery.com>
   2242  1.1  mrg 
   2243  1.1  mrg 	* src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
   2244  1.1  mrg 	(std::filesystem::__gnu_posix::lstat): Add return type.
   2245  1.1  mrg 
   2246  1.1  mrg 2019-08-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2247  1.1  mrg 
   2248  1.1  mrg 	* doc/doxygen/user.cfg.in (INPUT): Remove profile mode headers.
   2249  1.1  mrg 
   2250  1.1  mrg 	* include/std/numeric (reduce): Fix Doxygen markup.
   2251  1.1  mrg 
   2252  1.1  mrg 	PR libstdc++/91371
   2253  1.1  mrg 	* include/std/type_traits (is_function): Simplify definition. Remove
   2254  1.1  mrg 	partial specializations for function types.
   2255  1.1  mrg 	(__is_referenceable): Simplify definition.
   2256  1.1  mrg 	* testsuite/20_util/bind/91371.cc: New test.
   2257  1.1  mrg 	* testsuite/20_util/is_function/91371.cc: New test.
   2258  1.1  mrg 	* testsuite/20_util/is_function/value.cc: Check more pointer types.
   2259  1.1  mrg 	* testsuite/20_util/is_member_function_pointer/91371.cc: New test.
   2260  1.1  mrg 	* testsuite/20_util/is_object/91371.cc: New test.
   2261  1.1  mrg 
   2262  1.1  mrg 2019-08-16  Uros Bizjak  <ubizjak (a] gmail.com>
   2263  1.1  mrg 
   2264  1.1  mrg 	* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
   2265  1.1  mrg 
   2266  1.1  mrg 2019-08-15  Jonathan Wakely  <jwakely (a] redhat.com>
   2267  1.1  mrg 
   2268  1.1  mrg 	PR libstdc++/91456
   2269  1.1  mrg 	* include/bits/std_function.h (__check_func_return_type): Remove.
   2270  1.1  mrg 	(function::_Callable): Use std::__is_invocable_impl instead of
   2271  1.1  mrg 	__check_func_return_type.
   2272  1.1  mrg 	* include/std/type_traits (__is_invocable_impl): Add another defaulted
   2273  1.1  mrg 	template parameter. Define a separate partial specialization for
   2274  1.1  mrg 	INVOKE and INVOKE<void>. For INVOKE<R> replace is_convertible check
   2275  1.1  mrg 	with a check that models delayed temporary materialization.
   2276  1.1  mrg 	* testsuite/20_util/function/91456.cc: New test.
   2277  1.1  mrg 	* testsuite/20_util/is_invocable/91456.cc: New test.
   2278  1.1  mrg 
   2279  1.1  mrg 2019-08-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2280  1.1  mrg 
   2281  1.1  mrg 	* include/std/type_traits (__is_nullptr_t): Add deprecated attribute.
   2282  1.1  mrg 
   2283  1.1  mrg 2019-08-14  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   2284  1.1  mrg 
   2285  1.1  mrg 	Implement C++20 p0879 - Constexpr for swap and swap related functions.
   2286  1.1  mrg 	* include/std/version (__cpp_lib_constexpr_swap_algorithms): New macro.
   2287  1.1  mrg 	* include/bits/algorithmfwd.h (__cpp_lib_constexpr_swap_algorithms):
   2288  1.1  mrg 	New macro.
   2289  1.1  mrg 	(iter_swap, make_heap, next_permutation, partial_sort_copy, pop_heap)
   2290  1.1  mrg 	(prev_permutation, push_heap, reverse, rotate, sort_heap, swap)
   2291  1.1  mrg 	(swap_ranges, nth_element, partial_sort, sort): Add constexpr.
   2292  1.1  mrg 	* include/bits/move.h (swap): Add constexpr.
   2293  1.1  mrg 	* include/bits/stl_algo.h (__move_median_to_first, __reverse, reverse)
   2294  1.1  mrg 	(__gcd, __rotate, rotate, __partition, __heap_select)
   2295  1.1  mrg 	(__partial_sort_copy, partial_sort_copy, __unguarded_partition)
   2296  1.1  mrg 	(__unguarded_partition_pivot, __partial_sort, __introsort_loop, __sort)
   2297  1.1  mrg 	(__introselect, __chunk_insertion_sort, next_permutation)
   2298  1.1  mrg 	(prev_permutation, partition, partial_sort, nth_element, sort)
   2299  1.1  mrg 	(__iter_swap::iter_swap, iter_swap, swap_ranges): Add constexpr.
   2300  1.1  mrg 	* include/bits/stl_algobase.h (__iter_swap::iter_swap, iter_swap)
   2301  1.1  mrg 	(swap_ranges): Add constexpr.
   2302  1.1  mrg 	* include/bits/stl_heap.h (__push_heap, push_heap, __adjust_heap,
   2303  1.1  mrg 	__pop_heap, pop_heap, __make_heap, make_heap, __sort_heap, sort_heap):
   2304  1.1  mrg 	Add constexpr.
   2305  1.1  mrg 	* include/std/type_traits (swap): Add constexpr.
   2306  1.1  mrg 	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Add constexpr.
   2307  1.1  mrg 	* testsuite/25_algorithms/iter_swap/constexpr.cc: New test.
   2308  1.1  mrg 	* testsuite/25_algorithms/make_heap/constexpr.cc: New test.
   2309  1.1  mrg 	* testsuite/25_algorithms/next_permutation/constexpr.cc: New test.
   2310  1.1  mrg 	* testsuite/25_algorithms/nth_element/constexpr.cc: New test.
   2311  1.1  mrg 	* testsuite/25_algorithms/partial_sort/constexpr.cc: New test.
   2312  1.1  mrg 	* testsuite/25_algorithms/partial_sort_copy/constexpr.cc: New test.
   2313  1.1  mrg 	* testsuite/25_algorithms/partition/constexpr.cc: New test.
   2314  1.1  mrg 	* testsuite/25_algorithms/pop_heap/constexpr.cc: New test.
   2315  1.1  mrg 	* testsuite/25_algorithms/prev_permutation/constexpr.cc: New test.
   2316  1.1  mrg 	* testsuite/25_algorithms/push_heap/constexpr.cc: New test.
   2317  1.1  mrg 	* testsuite/25_algorithms/reverse/constexpr.cc: New test.
   2318  1.1  mrg 	* testsuite/25_algorithms/rotate/constexpr.cc: New test.
   2319  1.1  mrg 	* testsuite/25_algorithms/sort/constexpr.cc: New test.
   2320  1.1  mrg 	* testsuite/25_algorithms/sort_heap/constexpr.cc: New test.
   2321  1.1  mrg 	* testsuite/25_algorithms/swap/constexpr.cc: New test.
   2322  1.1  mrg 	* testsuite/25_algorithms/swap_ranges/constexpr.cc: New test.
   2323  1.1  mrg 
   2324  1.1  mrg 2019-08-12  Jonathan Wakely  <jwakely (a] redhat.com>
   2325  1.1  mrg 
   2326  1.1  mrg 	PR libstdc++/90361
   2327  1.1  mrg 	* src/c++17/string-inst.cc: Use _GLIBCXX_USE_CXX11_ABI=1 by default.
   2328  1.1  mrg 
   2329  1.1  mrg 	* include/std/tuple (__unpack_std_tuple): New variable template and
   2330  1.1  mrg 	partial specializations.
   2331  1.1  mrg 	(apply, make_from_tuple): Add noexcept-specifier.
   2332  1.1  mrg 	* testsuite/20_util/tuple/apply/2.cc: New test.
   2333  1.1  mrg 	* testsuite/20_util/tuple/make_from_tuple/2.cc: New test.
   2334  1.1  mrg 
   2335  1.1  mrg 2019-08-09  Corentin Gay  <gay (a] adacore.com>
   2336  1.1  mrg 
   2337  1.1  mrg 	* testsuite/ext/random/beta_distribution/operators/serialize.cc,
   2338  1.1  mrg 	testsuite/ext/random/hypergeometric_distribution/operators/serialize.cc,
   2339  1.1  mrg 	testsuite/ext/random/normal_mv_distribution/operators/serialize.cc,
   2340  1.1  mrg 	testsuite/ext/random/triangular_distribution/operators/serialize.cc,
   2341  1.1  mrg 	testsuite/ext/random/von_mises_distribution/operators/serialize.cc:
   2342  1.1  mrg 	Add call to `VERIFY`.
   2343  1.1  mrg 
   2344  1.1  mrg 2019-08-09  Alexandre Oliva <oliva (a] adacore.com>
   2345  1.1  mrg 
   2346  1.1  mrg 	* include/ext/random
   2347  1.1  mrg 	(normal_mv_distribution::param_type::param_type): New private
   2348  1.1  mrg 	ctor taking a decomposed varcov matrix, for use by...
   2349  1.1  mrg 	(operator>>): ... this, befriended.
   2350  1.1  mrg 	* include/ext/random.tcc (operator>>): Use it.
   2351  1.1  mrg 	(normal_mv_distribution::param_type::_M_init_lower): Adjust
   2352  1.1  mrg 	member function name in exception message.
   2353  1.1  mrg 
   2354  1.1  mrg 2019-08-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2355  1.1  mrg 
   2356  1.1  mrg 	P0325R4 to_array from LFTS with updates
   2357  1.1  mrg 	* include/experimental/array (to_array): Qualify call to __to_array.
   2358  1.1  mrg 	* include/std/array (__cpp_lib_to_array, to_array): Define for C++20.
   2359  1.1  mrg 	* include/std/version (__cpp_lib_to_array): Likewise.
   2360  1.1  mrg 	* testsuite/23_containers/array/creation/1.cc: New test.
   2361  1.1  mrg 	* testsuite/23_containers/array/creation/2.cc: New test.
   2362  1.1  mrg 	* testsuite/23_containers/array/creation/3_neg.cc: New test.
   2363  1.1  mrg 	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
   2364  1.1  mrg 	Use zero for dg-error line number.
   2365  1.1  mrg 
   2366  1.1  mrg 2019-08-06  Jonathan Wakely  <jwakely (a] redhat.com>
   2367  1.1  mrg 
   2368  1.1  mrg 	P1651R0 bind_front should not unwrap reference_wrapper
   2369  1.1  mrg 	* include/std/functional (bind_front): Don't unwrap reference_wrapper.
   2370  1.1  mrg 	* include/std/version (__cpp_lib_bind_front): Update value.
   2371  1.1  mrg 	* testsuite/20_util/function_objects/bind_front/1.cc: Fix test for
   2372  1.1  mrg 	feature test macro.
   2373  1.1  mrg 	* testsuite/20_util/function_objects/bind_front/2.cc: New test.
   2374  1.1  mrg 
   2375  1.1  mrg 	* include/std/numbers [!__STRICT_ANSI__ && _GLIBCXX_USE_FLOAT128]
   2376  1.1  mrg 	(e_v, log2e_v, log10e_v, pi_v, inv_pi_v, inv_sqrtpi_v, ln2_v, ln10_v)
   2377  1.1  mrg 	(sqrt2_v, sqrt3_v, inv_sqrt3, egamma_v, phi_v): Add explicit
   2378  1.1  mrg 	specializations for __float128.
   2379  1.1  mrg 	* testsuite/26_numerics/numbers/float128.cc: New test.
   2380  1.1  mrg 
   2381  1.1  mrg 2019-08-04  Gerald Pfeifer  <gerald (a] pfeifer.com>
   2382  1.1  mrg 
   2383  1.1  mrg 	* doc/xml/manual/documentation_hacking.xml: doxygen.org is now
   2384  1.1  mrg 	doxygen.nl.
   2385  1.1  mrg 
   2386  1.1  mrg 2019-08-01  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   2387  1.1  mrg 
   2388  1.1  mrg 	Implement C++20 p0202 - Add Constexpr Modifiers to Functions
   2389  1.1  mrg 	in <algorithm> and <utility> Headers.
   2390  1.1  mrg 	Implement C++20 p1023 - constexpr comparison operators for std::array.
   2391  1.1  mrg 	* include/bits/algorithmfwd.h (all_of, any_of, binary_search, copy,
   2392  1.1  mrg 	copy_backward, copy_if, copy_n, equal_range, fill, find_end,
   2393  1.1  mrg 	find_if_not, includes, is_heap, is_heap_until, is_partitioned,
   2394  1.1  mrg 	is_permutation, is_sorted, is_sorted_until, iter_swap, lower_bound,
   2395  1.1  mrg 	none_of, partition_copy, partition_point, remove, remove_if,
   2396  1.1  mrg 	remove_copy, remove_copy_if, replace_copy, replace_copy_if,
   2397  1.1  mrg 	reverse_copy, rotate_copy, uunique, upper_bound, adjacent_find, count,
   2398  1.1  mrg 	count_if, equal, find, find_first_of, find_if, for_each, generate,
   2399  1.1  mrg 	generate_n, lexicographical_compare, merge, mismatch, replace,
   2400  1.1  mrg 	replace_if, search, search_n, set_difference, set_intersection,
   2401  1.1  mrg 	set_symmetric_difference, set_union, transform, unique_copy):
   2402  1.1  mrg 	Mark constexpr.
   2403  1.1  mrg 	* include/bits/cpp_type_traits.h (__miter_base): Mark constexpr.
   2404  1.1  mrg 	* include/bits/predefined_ops.h (_Iter_less_val::operator(),
   2405  1.1  mrg 	_Val_less_iter::operator(), _Iter_equal_to_iter::operator(),
   2406  1.1  mrg 	_Iter_equal_to_val::operator(), _Iter_equals_val::operator()):
   2407  1.1  mrg 	 Use const ref instead of ref arg;
   2408  1.1  mrg 	(_Iter_less_val, __iter_less_val, _Val_less_iter, __val_less_iter,
   2409  1.1  mrg 	__iter_equal_to_iter, __iter_equal_to_val, __iter_comp_val,
   2410  1.1  mrg 	_Iter_comp_val, _Val_comp_iter, __val_comp_iter, __iter_equals_val,
   2411  1.1  mrg 	_Iter_equals_iter, __iter_comp_iter, _Iter_pred, __pred_iter,
   2412  1.1  mrg 	_Iter_comp_to_val, __iter_comp_val, _Iter_comp_to_iter,
   2413  1.1  mrg 	__iter_comp_iter): Mark constexpr.
   2414  1.1  mrg 	* include/bits/stl_algo.h (__find_if, __find_if_not, __find_if_not_n,
   2415  1.1  mrg 	__search, __search_n_aux, __search_n, __find_end, find_end, all_of,
   2416  1.1  mrg 	none_of, any_of, find_if_not, is_partitioned, partition_point,
   2417  1.1  mrg 	__remove_copy_if, remove_copy, remove_copy_if, copy_if, __copy_n,
   2418  1.1  mrg 	copy_n, partition_copy, __remove_if, remove, remove_if, __adjacent_find,
   2419  1.1  mrg 	__unique, unique, __unique_copy, reverse_copy, rotate_copy,
   2420  1.1  mrg 	__unguarded_linear_insert, __insertion_sort, __unguarded_insertion_sort,
   2421  1.1  mrg 	__final_insertion_sort, lower_bound, __upper_bound, upper_bound,
   2422  1.1  mrg 	__equal_range, equal_range, binary_search, __includes, includes,
   2423  1.1  mrg 	__next_permutation, __prev_permutation, __replace_copy_if, replace_copy,
   2424  1.1  mrg 	replace_copy_if, __count_if, is_sorted, __is_sorted_until,
   2425  1.1  mrg 	is_sorted_until, __is_permutation, is_permutation, for_each, find,
   2426  1.1  mrg 	find_if, find_first_of, adjacent_find, count, count_if, search,
   2427  1.1  mrg 	search_n, transform, replace, replace_if, generate, generate_n,
   2428  1.1  mrg 	unique_copy, __merge, merge, __set_union, set_union, __set_intersection,
   2429  1.1  mrg 	set_intersection, __set_difference, set_difference,
   2430  1.1  mrg 	__set_symmetric_difference, set_symmetric_difference):  Mark constexpr.
   2431  1.1  mrg 	* include/bits/stl_algobase.h (__memmove, __memcmp): New maybe constexpr
   2432  1.1  mrg 	wrappers around __builtin_memmove and __builtin_memcmp
   2433  1.1  mrg 	respectively;
   2434  1.1  mrg 	(__niter_base, __niter_wrap, __copy_m, __copy_move_a, __copy_move_a2,
   2435  1.1  mrg 	copy, move, __copy_move_b, __copy_move_backward_a,
   2436  1.1  mrg 	__copy_move_backward_a2, copy_backward, move_backward, __fill_a, fill,
   2437  1.1  mrg 	__fill_n_a, fill_n, equal, __lc_rai::__newlast1, __lc_rai::__cnd2,
   2438  1.1  mrg 	__lexicographical_compare_impl, __lexicographical_compare,
   2439  1.1  mrg 	__lexicographical_compare<true>::__lc, __lexicographical_compare_aux,
   2440  1.1  mrg 	__lower_bound, lower_bound, equal, __equal4, lexicographical_compare,
   2441  1.1  mrg 	__mismatch, mismatch, __is_heap_until, __is_heap, is_heap_until,
   2442  1.1  mrg 	is_heap): Mark constexpr.
   2443  1.1  mrg 	* include/bits/stl_heap.h (__is_heap_until, __is_heap, is_heap_until,
   2444  1.1  mrg 	is_heap): Mark constexpr.
   2445  1.1  mrg 	* include/bits/stl_iterator.h (__niter_base, __miter_base): Mark constexpr.
   2446  1.1  mrg 	* include/std/array: Make comparison ops constexpr.
   2447  1.1  mrg 	* include/std/utility: Make exchange constexpr.
   2448  1.1  mrg 	* include/std/version (__cpp_lib_constexpr_algorithms): New macro.
   2449  1.1  mrg 	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
   2450  1.1  mrg 	* testsuite/23_containers/array/tuple_interface/
   2451  1.1  mrg 	tuple_element_neg.cc: Adjust.
   2452  1.1  mrg 	* testsuite/20_util/exchange/constexpr.cc: New.
   2453  1.1  mrg 	* testsuite/23_containers/array/comparison_operators/constexpr.cc: New.
   2454  1.1  mrg 	* testsuite/25_algorithms/constexpr_macro.cc: New.
   2455  1.1  mrg 	* testsuite/25_algorithms/adjacent_find/constexpr.cc: New.
   2456  1.1  mrg 	* testsuite/25_algorithms/all_of/constexpr.cc: New.
   2457  1.1  mrg 	* testsuite/25_algorithms/any_of/constexpr.cc: New.
   2458  1.1  mrg 	* testsuite/25_algorithms/binary_search/constexpr.cc: New.
   2459  1.1  mrg 	* testsuite/25_algorithms/copy/constexpr.cc: New.
   2460  1.1  mrg 	* testsuite/25_algorithms/copy_backward/constexpr.cc: New.
   2461  1.1  mrg 	* testsuite/25_algorithms/copy_if/constexpr.cc: New.
   2462  1.1  mrg 	* testsuite/25_algorithms/copy_n/constexpr.cc: New.
   2463  1.1  mrg 	* testsuite/25_algorithms/count/constexpr.cc: New.
   2464  1.1  mrg 	* testsuite/25_algorithms/count_if/constexpr.cc: New.
   2465  1.1  mrg 	* testsuite/25_algorithms/equal/constexpr.cc: New.
   2466  1.1  mrg 	* testsuite/25_algorithms/equal_range/constexpr.cc: New.
   2467  1.1  mrg 	* testsuite/25_algorithms/fill/constexpr.cc: New.
   2468  1.1  mrg 	* testsuite/25_algorithms/fill_n/constexpr.cc: New.
   2469  1.1  mrg 	* testsuite/25_algorithms/find/constexpr.cc: New.
   2470  1.1  mrg 	* testsuite/25_algorithms/find_end/constexpr.cc: New.
   2471  1.1  mrg 	* testsuite/25_algorithms/find_first_of/constexpr.cc: New.
   2472  1.1  mrg 	* testsuite/25_algorithms/find_if/constexpr.cc: New.
   2473  1.1  mrg 	* testsuite/25_algorithms/find_if_not/constexpr.cc: New.
   2474  1.1  mrg 	* testsuite/25_algorithms/for_each/constexpr.cc: New.
   2475  1.1  mrg 	* testsuite/25_algorithms/generate/constexpr.cc: New.
   2476  1.1  mrg 	* testsuite/25_algorithms/generate_n/constexpr.cc: New.
   2477  1.1  mrg 	* testsuite/25_algorithms/is_heap/constexpr.cc: New.
   2478  1.1  mrg 	* testsuite/25_algorithms/is_heap_until/constexpr.cc: New.
   2479  1.1  mrg 	* testsuite/25_algorithms/is_partitioned/constexpr.cc: New.
   2480  1.1  mrg 	* testsuite/25_algorithms/is_permutation/constexpr.cc: New.
   2481  1.1  mrg 	* testsuite/25_algorithms/is_sorted/constexpr.cc: New.
   2482  1.1  mrg 	* testsuite/25_algorithms/is_sorted_until/constexpr.cc: New.
   2483  1.1  mrg 	* testsuite/25_algorithms/lexicographical_compare/constexpr.cc: New.
   2484  1.1  mrg 	* testsuite/25_algorithms/lower_bound/constexpr.cc: New.
   2485  1.1  mrg 	* testsuite/25_algorithms/merge/constexpr.cc: New.
   2486  1.1  mrg 	* testsuite/25_algorithms/mismatch/constexpr.cc: New.
   2487  1.1  mrg 	* testsuite/25_algorithms/none_of/constexpr.cc: New.
   2488  1.1  mrg 	* testsuite/25_algorithms/partition_copy/constexpr.cc: New.
   2489  1.1  mrg 	* testsuite/25_algorithms/partition_point/constexpr.cc: New.
   2490  1.1  mrg 	* testsuite/25_algorithms/remove/constexpr.cc: New.
   2491  1.1  mrg 	* testsuite/25_algorithms/remove_copy/constexpr.cc: New.
   2492  1.1  mrg 	* testsuite/25_algorithms/remove_copy_if/constexpr.cc: New.
   2493  1.1  mrg 	* testsuite/25_algorithms/remove_if/constexpr.cc: New.
   2494  1.1  mrg 	* testsuite/25_algorithms/replace_copy/constexpr.cc: New.
   2495  1.1  mrg 	* testsuite/25_algorithms/replace_copy_if/constexpr.cc: New.
   2496  1.1  mrg 	* testsuite/25_algorithms/replace_if/constexpr.cc: New.
   2497  1.1  mrg 	* testsuite/25_algorithms/reverse_copy/constexpr.cc: New.
   2498  1.1  mrg 	* testsuite/25_algorithms/rotate_copy/constexpr.cc: New.
   2499  1.1  mrg 	* testsuite/25_algorithms/search/constexpr.cc: New.
   2500  1.1  mrg 	* testsuite/25_algorithms/search_n/constexpr.cc: New.
   2501  1.1  mrg 	* testsuite/25_algorithms/set_difference/constexpr.cc: New.
   2502  1.1  mrg 	* testsuite/25_algorithms/set_intersection/constexpr.cc: New.
   2503  1.1  mrg 	* testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: New.
   2504  1.1  mrg 	* testsuite/25_algorithms/set_union/constexpr.cc: New.
   2505  1.1  mrg 	* testsuite/25_algorithms/transform/constexpr.cc: New.
   2506  1.1  mrg 	* testsuite/25_algorithms/unique/constexpr.cc: New.
   2507  1.1  mrg 	* testsuite/25_algorithms/unique_copy/constexpr.cc: New.
   2508  1.1  mrg 	* testsuite/25_algorithms/upper_bound/constexpr.cc: New.
   2509  1.1  mrg 
   2510  1.1  mrg 2019-07-31  Jonathan Wakely  <jwakely (a] redhat.com>
   2511  1.1  mrg 
   2512  1.1  mrg 	* include/std/memory (make_obj_using_allocator): Qualify call to
   2513  1.1  mrg 	uses_allocator_construction_args.
   2514  1.1  mrg 
   2515  1.1  mrg 	P0631R4 Math Constants
   2516  1.1  mrg 	* include/Makefile.am: Add new header.
   2517  1.1  mrg 	* include/Makefile.in: Regenerate.
   2518  1.1  mrg 	* include/precompiled/stdc++.h: Include new header.
   2519  1.1  mrg 	* include/std/numbers: New header.
   2520  1.1  mrg 	* include/std/version (__cpp_lib_math_constants): Define.
   2521  1.1  mrg 	* testsuite/26_numerics/numbers/1.cc: New test.
   2522  1.1  mrg 	* testsuite/26_numerics/numbers/2.cc: New test.
   2523  1.1  mrg 	* testsuite/26_numerics/numbers/3.cc: New test.
   2524  1.1  mrg 	* testsuite/26_numerics/numbers/nonfloat_neg.cc: New test.
   2525  1.1  mrg 
   2526  1.1  mrg 	* include/std/bit: Add Doxygen comments.
   2527  1.1  mrg 
   2528  1.1  mrg 	PR libstdc++/91308
   2529  1.1  mrg 	* include/bits/unique_ptr.h (unique_ptr::__safe_conversion_up): Remove
   2530  1.1  mrg 	constraints on deleter that should only apply to the constructor.
   2531  1.1  mrg 	(unique_ptr<T[], D>::__safe_conversion_up): Likewise.
   2532  1.1  mrg 	(unique_ptr<T[], D>::unique_ptr(unique_ptr<U, D>&&)): Restore
   2533  1.1  mrg 	constraints on deleter here.
   2534  1.1  mrg 	* testsuite/20_util/unique_ptr/assign/91308.cc: New test.
   2535  1.1  mrg 
   2536  1.1  mrg 2019-07-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2537  1.1  mrg 
   2538  1.1  mrg 	PR libstdc++/51333
   2539  1.1  mrg 	* libsupc++/cxxabi.h (__gnu_cxx::recursive_init_error): Do not define
   2540  1.1  mrg 	constructor inline.
   2541  1.1  mrg 	* libsupc++/guard_error.cc (__gnu_cxx::recursive_init_error): Define
   2542  1.1  mrg 	constructor.
   2543  1.1  mrg 	* testsuite/18_support/51333.cc: New test.
   2544  1.1  mrg 
   2545  1.1  mrg 2019-07-28  Gerald Pfeifer  <gerald (a] pfeifer.com>
   2546  1.1  mrg 
   2547  1.1  mrg 	* doc/xml/manual/documentation_hacking.xml: Fix broken reference
   2548  1.1  mrg 	to the Doxygen manual. Avoid a "here" link on the way.
   2549  1.1  mrg 	Fix another broken link to Doxygen docblocks.
   2550  1.1  mrg 
   2551  1.1  mrg 2019-07-26  Jonathan Wakely  <jwakely (a] redhat.com>
   2552  1.1  mrg 
   2553  1.1  mrg 	* include/std/bit (__cpp_lib_endian): Define.
   2554  1.1  mrg 	* include/std/version (__cpp_lib_endian): Define.
   2555  1.1  mrg 	* testsuite/26_numerics/endian/2.cc: New.
   2556  1.1  mrg 	* testsuite/26_numerics/endian/3.cc: New.
   2557  1.1  mrg 	* testsuite/26_numerics/endian/4.cc: New.
   2558  1.1  mrg 
   2559  1.1  mrg 2019-07-26  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2560  1.1  mrg 
   2561  1.1  mrg 	* testsuite/util/testsuite_iterators.h
   2562  1.1  mrg 	(bidirectional_iterator_wrapper): Fix type comment.
   2563  1.1  mrg 	(random_access_iterator_wrapper): Likewise.
   2564  1.1  mrg 
   2565  1.1  mrg 2019-07-25  Jonathan Wakely  <jwakely (a] redhat.com>
   2566  1.1  mrg 
   2567  1.1  mrg 	* include/std/bit (endian): Move definition here as per P1612R1.
   2568  1.1  mrg 	* include/std/type_traits (endian): Remove definition from here.
   2569  1.1  mrg 	* testsuite/20_util/endian/1.cc: Rename to ...
   2570  1.1  mrg 	* testsuite/26_numerics/endian/1.cc: ... here. Adjust header.
   2571  1.1  mrg 
   2572  1.1  mrg 2019-07-25  Martin Liska  <mliska (a] suse.cz>
   2573  1.1  mrg 	    Dominik Infuhr  <dominik.infuehr (a] theobroma-systems.com>
   2574  1.1  mrg 
   2575  1.1  mrg 	PR c++/23383
   2576  1.1  mrg 	* testsuite/ext/bitmap_allocator/check_delete.cc: Add
   2577  1.1  mrg 	-fno-allocation-dce.
   2578  1.1  mrg 	* testsuite/ext/bitmap_allocator/check_new.cc: Likewise.
   2579  1.1  mrg 	* testsuite/ext/new_allocator/check_delete.cc: Likewise.
   2580  1.1  mrg 	* testsuite/ext/new_allocator/check_new.cc: Likewise.
   2581  1.1  mrg 
   2582  1.1  mrg 2019-07-22  Jonathan Wakely  <jwakely (a] redhat.com>
   2583  1.1  mrg 
   2584  1.1  mrg 	* testsuite/26_numerics/bit/bitops.count/*: Rename to ...
   2585  1.1  mrg 	* testsuite/26_numerics/bit/bit.count/*: Here.
   2586  1.1  mrg 
   2587  1.1  mrg 	* include/std/bit (__rotl, __rotr): Change second parameter from
   2588  1.1  mrg 	unsigned int to int and handle negative values.
   2589  1.1  mrg 	(rotl, rotr): Remove check for __STRICT_ANSI__. Change second
   2590  1.1  mrg 	parameter from unsigned int to int. Add nodiscard attribute.
   2591  1.1  mrg 	* testsuite/26_numerics/bit/bitops.rot/rotl.cc: Rename to ...
   2592  1.1  mrg 	* testsuite/26_numerics/bit/bit.rotate/rotl.cc: Here. Test negative
   2593  1.1  mrg 	shifts.
   2594  1.1  mrg 	* testsuite/26_numerics/bit/bitops.rot/rotr.cc: Rename to ...
   2595  1.1  mrg 	* testsuite/26_numerics/bit/bit.rotate/rotr.cc: Here. Test negative
   2596  1.1  mrg 	shifts.
   2597  1.1  mrg 
   2598  1.1  mrg 	* include/std/bit (__ceil2): Make unrepresentable results undefined,
   2599  1.1  mrg 	as per P1355R2. Add debug assertion. Perform one left shift, not two,
   2600  1.1  mrg 	so that out of range values cause undefined behaviour. Ensure that
   2601  1.1  mrg 	shift will still be undefined if left operand is promoted.
   2602  1.1  mrg 	* testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Replace checks for
   2603  1.1  mrg 	unrepresentable values with checks that they are not core constant
   2604  1.1  mrg 	expressions.
   2605  1.1  mrg 	* testsuite/26_numerics/bit/bit.pow.two/ceil2_neg.cc: New test.
   2606  1.1  mrg 
   2607  1.1  mrg 2019-07-19  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2608  1.1  mrg 
   2609  1.1  mrg 	* include/bits/stl_tempbuf.h (__detail::__return_temporary_buffer): Fix
   2610  1.1  mrg 	sized deallocation size computation.
   2611  1.1  mrg 
   2612  1.1  mrg 2019-07-19  Andreas Schwab  <schwab (a] linux-m68k.org>
   2613  1.1  mrg 
   2614  1.1  mrg 	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
   2615  1.1  mrg 
   2616  1.1  mrg 2019-07-18  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2617  1.1  mrg 
   2618  1.1  mrg 	* include/bits/stl_tempbuf.h (__detail::__return_temporary_buffer): New.
   2619  1.1  mrg 	(~_Temporary_buffer()): Use latter.
   2620  1.1  mrg 	(_Temporary_buffer(_FIterator, size_type)): Likewise.
   2621  1.1  mrg 
   2622  1.1  mrg 2019-07-17  Andreas Schwab  <schwab (a] suse.de>
   2623  1.1  mrg 
   2624  1.1  mrg 	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
   2625  1.1  mrg 
   2626  1.1  mrg 2019-07-16  Jason Merrill  <jason (a] redhat.com>
   2627  1.1  mrg 
   2628  1.1  mrg 	* include/std/memory (uses_allocator_construction_args): Add parens
   2629  1.1  mrg 	around constraint.
   2630  1.1  mrg 
   2631  1.1  mrg 2019-07-12  Jonathan Wakely  <jwakely (a] redhat.com>
   2632  1.1  mrg 
   2633  1.1  mrg 	* testsuite/29_atomics/atomic_float/1.cc: Fix comment.
   2634  1.1  mrg 
   2635  1.1  mrg 	* include/experimental/string_view (__detail::__idt): Remove.
   2636  1.1  mrg 	(operator==, operator!=, operator<, operator>, operator<=, operator>=):
   2637  1.1  mrg 	Use __type_identity_t instead of __detail::__idt;
   2638  1.1  mrg 	* include/std/string_view (__detail::__idt): Remove.
   2639  1.1  mrg 	(operator==, operator!=, operator<, operator>, operator<=, operator>=):
   2640  1.1  mrg 	Use __type_identity_t instead of __detail::__idt;
   2641  1.1  mrg 	* include/std/type_traits (__type_identity_t): New alias template.
   2642  1.1  mrg 
   2643  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Update status for atomic_ref
   2644  1.1  mrg 	and floating point atomics.
   2645  1.1  mrg 
   2646  1.1  mrg 2019-07-11  Jonathan Wakely  <jwakely (a] redhat.com>
   2647  1.1  mrg 
   2648  1.1  mrg 	* doc/xml/manual/configure.xml: Improve documentation of
   2649  1.1  mrg 	--enable-libstdcxx-time option.
   2650  1.1  mrg 
   2651  1.1  mrg 	* include/bits/atomic_base.h (__atomic_impl): New namespace for
   2652  1.1  mrg 	wrappers around atomic built-ins.
   2653  1.1  mrg 	(__atomic_float, __atomic_ref): New class templates for use as base
   2654  1.1  mrg 	classes.
   2655  1.1  mrg 	* include/std/atomic (atomic<float>, atomic<double>)
   2656  1.1  mrg 	(atomic<long double>): New explicit specializations.
   2657  1.1  mrg 	(atomic_ref): New class template.
   2658  1.1  mrg 	(__cpp_lib_atomic_ref): Define.
   2659  1.1  mrg 	* include/std/version (__cpp_lib_atomic_ref): Define.
   2660  1.1  mrg 	* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error.
   2661  1.1  mrg 	* testsuite/29_atomics/atomic_float/1.cc: New test.
   2662  1.1  mrg 	* testsuite/29_atomics/atomic_float/requirements.cc: New test.
   2663  1.1  mrg 	* testsuite/29_atomics/atomic_ref/deduction.cc: New test.
   2664  1.1  mrg 	* testsuite/29_atomics/atomic_ref/float.cc: New test.
   2665  1.1  mrg 	* testsuite/29_atomics/atomic_ref/generic.cc: New test.
   2666  1.1  mrg 	* testsuite/29_atomics/atomic_ref/integral.cc: New test.
   2667  1.1  mrg 	* testsuite/29_atomics/atomic_ref/pointer.cc: New test.
   2668  1.1  mrg 	* testsuite/29_atomics/atomic_ref/requirements.cc: New test.
   2669  1.1  mrg 
   2670  1.1  mrg 2019-07-06  Jonathan Wakely  <jwakely (a] redhat.com>
   2671  1.1  mrg 
   2672  1.1  mrg 	* include/ext/atomicity.h (__exchange_and_add, __atomic_add): Replace
   2673  1.1  mrg 	throw() with _GLIBCXX_NOTHROW.
   2674  1.1  mrg 	(__atomic_add_dispatch): Return after performing atomic increment.
   2675  1.1  mrg 
   2676  1.1  mrg 2019-07-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2677  1.1  mrg 
   2678  1.1  mrg 	* include/ext/atomicity.h [_GLIBCXX_ATOMIC_BUILTINS] (__atomic_add)
   2679  1.1  mrg 	(__exchange_and_add): Replace static specifier with always_inline
   2680  1.1  mrg 	attribute.
   2681  1.1  mrg 	(__exchange_and_add_single, __atomic_add_single): Likewise.
   2682  1.1  mrg 	(__exchange_and_add_dispatch, __atomic_add_dispatch): Likewise. Also
   2683  1.1  mrg 	combine !__gthread_active_p() and !__GTHREADS branches.
   2684  1.1  mrg 
   2685  1.1  mrg 2019-07-03  Jonathan Wakely  <jwakely (a] redhat.com>
   2686  1.1  mrg 
   2687  1.1  mrg 	PR libstdc++/91067
   2688  1.1  mrg 	* acinclude.m4 (libtool_VERSION): Bump to 6:27:0.
   2689  1.1  mrg 	* configure: Regenerate.
   2690  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.27): Add new version. Export
   2691  1.1  mrg 	missing symbols.
   2692  1.1  mrg 	* testsuite/27_io/filesystem/iterators/91067.cc: New test.
   2693  1.1  mrg 	* testsuite/util/testsuite_abi.cc: Add new symbol version.
   2694  1.1  mrg 
   2695  1.1  mrg 2019-07-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2696  1.1  mrg 
   2697  1.1  mrg 	* include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_LAUNDER)
   2698  1.1  mrg 	(_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED): Use __has_builtin
   2699  1.1  mrg 	instead of __is_identifier to detect Clang support.
   2700  1.1  mrg 
   2701  1.1  mrg 2019-07-02  Jim Wilson  <jimw (a] sifive.com>
   2702  1.1  mrg 
   2703  1.1  mrg 	* configure.ac (BUILD_PDF): Also test for doxygen, dot, xsltproc,
   2704  1.1  mrg 	and xmllint.
   2705  1.1  mrg 	* configure: Regenerate.
   2706  1.1  mrg 
   2707  1.1  mrg 2019-06-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2708  1.1  mrg 
   2709  1.1  mrg 	PR libstdc++/91012
   2710  1.1  mrg 	* src/c++17/fs_path.cc (filesystem_error::_Impl): Use a string_view
   2711  1.1  mrg 	for the what_arg parameters.
   2712  1.1  mrg 	(filesystem_error::filesystem_error): Pass system_error::what() to
   2713  1.1  mrg 	the _Impl constructor.
   2714  1.1  mrg 	* testsuite/27_io/filesystem/filesystem_error/cons.cc: Ensure that
   2715  1.1  mrg 	filesystem_error::what() contains system_error::what().
   2716  1.1  mrg 
   2717  1.1  mrg 2019-06-26  Jonathan Wakely  <jwakely (a] redhat.com>
   2718  1.1  mrg 
   2719  1.1  mrg 	* include/std/charconv (chars_format): Define bitmask type.
   2720  1.1  mrg 	* testsuite/20_util/to_chars/chars_format.cc: New test.
   2721  1.1  mrg 
   2722  1.1  mrg 	* include/bits/fs_path.h (path::__is_encoded_char): Use __is_one_of.
   2723  1.1  mrg 	* include/std/bit (_If_is_unsigned_integer_type): Remove.
   2724  1.1  mrg 	(_If_is_unsigned_integer): Use __is_unsigned_integer.
   2725  1.1  mrg 	(rotl(byte, unsigned), rotr(byte, unsigned), countl_zero(byte))
   2726  1.1  mrg 	(countl_one(byte), countr_zero(byte), countr_one(byte))
   2727  1.1  mrg 	(popcount(byte), ispow2(byte), ceil2(byte), floor2(byte))
   2728  1.1  mrg 	(log2p1(byte)): Remove.
   2729  1.1  mrg 	* include/std/charconv (__detail::__is_one_of): Move to <type_traits>.
   2730  1.1  mrg 	(__detail::__is_int_to_chars_type): Remove.
   2731  1.1  mrg 	(__detail::__integer_to_chars_result_type): Use __is_signed_integer
   2732  1.1  mrg 	and __is_unsigned_integer.
   2733  1.1  mrg 	* include/std/type_traits (__is_one_of): Move here from <charconv>.
   2734  1.1  mrg 	(__is_signed_integer, __is_unsigned_integer): New helpers.
   2735  1.1  mrg 	* testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Remove test for
   2736  1.1  mrg 	std::byte overload.
   2737  1.1  mrg 	* testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Likewise.
   2738  1.1  mrg 	* testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Likewise.
   2739  1.1  mrg 	* testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Likewise.
   2740  1.1  mrg 	* testsuite/26_numerics/bit/bitops.count/countl_one.cc: Likewise.
   2741  1.1  mrg 	* testsuite/26_numerics/bit/bitops.count/countl_zero.cc: Likewise.
   2742  1.1  mrg 	* testsuite/26_numerics/bit/bitops.count/countr_one.cc: Likewise.
   2743  1.1  mrg 	* testsuite/26_numerics/bit/bitops.count/countr_zero.cc: Likewise.
   2744  1.1  mrg 	* testsuite/26_numerics/bit/bitops.count/popcount.cc: Likewise.
   2745  1.1  mrg 	* testsuite/26_numerics/bit/bitops.rot/rotl.cc: Likewise.
   2746  1.1  mrg 	* testsuite/26_numerics/bit/bitops.rot/rotr.cc: Likewise.
   2747  1.1  mrg 
   2748  1.1  mrg 2019-06-25  Jonathan Wakely  <jwakely (a] redhat.com>
   2749  1.1  mrg 
   2750  1.1  mrg 	* include/std/numeric (midpoint(T, T)): Avoid std::abs in constexpr
   2751  1.1  mrg 	function.
   2752  1.1  mrg 
   2753  1.1  mrg 2019-06-25  Jakub Jelinek  <jakub (a] redhat.com>
   2754  1.1  mrg 
   2755  1.1  mrg 	* include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN,
   2756  1.1  mrg 	_PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN):
   2757  1.1  mrg 	Define to OpenMP 5.0 pragmas even for GCC 10.0+.
   2758  1.1  mrg 	(_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+.
   2759  1.1  mrg 
   2760  1.1  mrg 2019-06-24  Jonathan Wakely  <jwakely (a] redhat.com>
   2761  1.1  mrg 
   2762  1.1  mrg 	* include/std/numeric (midpoint(T, T)): Change implementation for
   2763  1.1  mrg 	floating-point types to avoid incorrect rounding of denormals.
   2764  1.1  mrg 	* testsuite/26_numerics/midpoint/floating.cc: Add check for correct
   2765  1.1  mrg 	rounding with denormals.
   2766  1.1  mrg 	* testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line numbers.
   2767  1.1  mrg 	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
   2768  1.1  mrg 
   2769  1.1  mrg 	* testsuite/18_support/headers/cfloat/values_c++17.cc: New test.
   2770  1.1  mrg 
   2771  1.1  mrg 2019-06-20  Jonathan Wakely  <jwakely (a] redhat.com>
   2772  1.1  mrg 
   2773  1.1  mrg 	* acinclude.m4 (GLIBCXX_ENABLE_DEBUG): Only do debug build for final
   2774  1.1  mrg 	stage of bootstrap.
   2775  1.1  mrg 	* configure: Regenerate.
   2776  1.1  mrg 
   2777  1.1  mrg 	* include/std/variant (_Variant_storage, _Extra_visit_slot_needed):
   2778  1.1  mrg 	Qualify calls to __never_valueless.
   2779  1.1  mrg 
   2780  1.1  mrg 	* doc/xml/manual/status_cxx2017.xml: Fix outdated reference to
   2781  1.1  mrg 	C++17 working draft.
   2782  1.1  mrg 
   2783  1.1  mrg 	* testsuite/libstdc++-prettyprinters/simple.cc: Use non-palindromic
   2784  1.1  mrg 	vector<bool> for test.
   2785  1.1  mrg 	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
   2786  1.1  mrg 
   2787  1.1  mrg 2019-06-19  Jonathan Wakely  <jwakely (a] redhat.com>
   2788  1.1  mrg 
   2789  1.1  mrg 	* include/bits/stream_iterator.h (istream_iterator::_M_equal()): Make
   2790  1.1  mrg 	private.
   2791  1.1  mrg 	(istream_iterator::_M_read()): Do not check stream state before
   2792  1.1  mrg 	attempting extraction. Set stream pointer to null when extraction
   2793  1.1  mrg 	fails (P0738R2).
   2794  1.1  mrg 	(operator==(const istream_iterator&, const istream_iterator&)): Change
   2795  1.1  mrg 	to be a hidden friend of istream_iterator.
   2796  1.1  mrg 	(operator!=(const istream_iterator&, const istream_iterator&)):
   2797  1.1  mrg 	Likewise.
   2798  1.1  mrg 	(ostream_iterator::ostream_iterator()): Add default constructor.
   2799  1.1  mrg 	(ostream_iterator::ostream_iterator(ostream_type*, const C*)): Use
   2800  1.1  mrg 	addressof.
   2801  1.1  mrg 	* testsuite/24_iterators/istream_iterator/1.cc: New test.
   2802  1.1  mrg 	* testsuite/24_iterators/ostream_iterator/1.cc: New test.
   2803  1.1  mrg 	* testsuite/24_iterators/ostream_iterator/70766.cc: Also check
   2804  1.1  mrg 	constructor taking a string.
   2805  1.1  mrg 	* testsuite/24_iterators/ostream_iterator/requirements/constexpr.cc:
   2806  1.1  mrg 	New test.
   2807  1.1  mrg 
   2808  1.1  mrg 2019-06-19  Michael Weghorn  <m.weghorn (a] posteo.de>
   2809  1.1  mrg 	    Jonathan Wakely  <jwakely (a] redhat.com>
   2810  1.1  mrg 
   2811  1.1  mrg 	PR libstdc++/90945
   2812  1.1  mrg 	* python/libstdcxx/v6/printers.py (StdVectorPrinter._iterator): Use
   2813  1.1  mrg 	values of type bool for vector<bool> elements.
   2814  1.1  mrg 	* testsuite/libstdc++-prettyprinters/simple.cc: Test vector<bool>.
   2815  1.1  mrg 	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
   2816  1.1  mrg 
   2817  1.1  mrg 2019-06-19  Jonathan Wakely  <jwakely (a] redhat.com>
   2818  1.1  mrg 
   2819  1.1  mrg 	PR libstdc++/90920 partially revert r263433
   2820  1.1  mrg 	* include/bits/stl_algo.h (__rotate): Restore checks for empty ranges.
   2821  1.1  mrg 	(rotate): Remove checks.
   2822  1.1  mrg 	* testsuite/25_algorithms/rotate/90920.cc: New test.
   2823  1.1  mrg 
   2824  1.1  mrg 	* include/std/numeric (reduce(Iter, Iter, T, BinOp)): Fix value
   2825  1.1  mrg 	category used in invocable check.
   2826  1.1  mrg 	(reduce(Iter, Iter, T)): Pass initial value as rvalue.
   2827  1.1  mrg 	* testsuite/26_numerics/reduce/2.cc: New test.
   2828  1.1  mrg 
   2829  1.1  mrg 2019-06-18  Jonathan Wakely  <jwakely (a] redhat.com>
   2830  1.1  mrg 
   2831  1.1  mrg 	* include/bits/algorithmfwd.h: Change title of doc group.
   2832  1.1  mrg 	* include/bits/stl_algo.h (for_each_n): Add new C++17 algorithm from
   2833  1.1  mrg 	P0024R2.
   2834  1.1  mrg 	* include/bits/stl_numeric.h: Define doc group and add algos to it.
   2835  1.1  mrg 	* include/std/numeric (__is_random_access_iter): New internal trait.
   2836  1.1  mrg 	(reduce, transform_reduce, exclusive_scan, inclusive_scan)
   2837  1.1  mrg 	(transform_exclusive_scan, transform_inclusive_scan): Likewise.
   2838  1.1  mrg 	* testsuite/25_algorithms/for_each/for_each_n.cc: New test.
   2839  1.1  mrg 	* testsuite/26_numerics/exclusive_scan/1.cc: New test.
   2840  1.1  mrg 	* testsuite/26_numerics/inclusive_scan/1.cc: New test.
   2841  1.1  mrg 	* testsuite/26_numerics/reduce/1.cc: New test.
   2842  1.1  mrg 	* testsuite/26_numerics/transform_exclusive_scan/1.cc: New test.
   2843  1.1  mrg 	* testsuite/26_numerics/transform_inclusive_scan/1.cc: New test.
   2844  1.1  mrg 	* testsuite/26_numerics/transform_reduce/1.cc: New test.
   2845  1.1  mrg 	* testsuite/util/testsuite_iterators.h (test_container::size()): New
   2846  1.1  mrg 	member function.
   2847  1.1  mrg 
   2848  1.1  mrg 	* include/c_global/cstddef (std::byte): Perform arithmetic operations
   2849  1.1  mrg 	in unsigned int to avoid promotion (LWG 2950).
   2850  1.1  mrg 
   2851  1.1  mrg 2019-06-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2852  1.1  mrg 
   2853  1.1  mrg 	* testsuite/20_util/allocator/1.cc: Add sized delete, which fixes a
   2854  1.1  mrg 	failure on AIX.
   2855  1.1  mrg 
   2856  1.1  mrg 	* include/c_global/cmath (__lerp, lerp): Add noexcept (LWG 3201).
   2857  1.1  mrg 
   2858  1.1  mrg 	PR libstdc++/90281 Fix string conversions for filesystem::path
   2859  1.1  mrg 	* include/bits/fs_path.h (u8path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]:
   2860  1.1  mrg 	Use codecvt_utf8_utf16 instead of codecvt_utf8. Use
   2861  1.1  mrg 	__str_codecvt_in_all to fail for partial conversions and throw on
   2862  1.1  mrg 	error.
   2863  1.1  mrg 	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS && _GLIBCXX_USE_CHAR8_T]
   2864  1.1  mrg 	(path::_Cvt<char8_t>): Add explicit specialization.
   2865  1.1  mrg 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_wconvert): Remove
   2866  1.1  mrg 	overloads.
   2867  1.1  mrg 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
   2868  1.1  mrg 	if-constexpr instead of dispatching to _S_wconvert. Use codecvt
   2869  1.1  mrg 	instead of codecvt_utf8. Use __str_codecvt_in_all and
   2870  1.1  mrg 	__str_codecvt_out_all.
   2871  1.1  mrg 	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
   2872  1.1  mrg 	codecvt instead of codecvt_utf8. Use __str_codecvt_out_all.
   2873  1.1  mrg 	(path::_S_str_convert) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
   2874  1.1  mrg 	codecvt_utf8_utf16 instead of codecvt_utf8. Construct return values
   2875  1.1  mrg 	with allocator. Use __str_codecvt_out_all. Fallthrough to POSIX code
   2876  1.1  mrg 	after converting to UTF-8.
   2877  1.1  mrg 	(path::_S_str_convert): Use codecvt instead of codecvt_utf8. Use
   2878  1.1  mrg 	__str_codecvt_in_all.
   2879  1.1  mrg 	(path::string): Fix initialization of string types with different
   2880  1.1  mrg 	allocators.
   2881  1.1  mrg 	(path::u8string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
   2882  1.1  mrg 	codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_out_all.
   2883  1.1  mrg 	* include/bits/locale_conv.h (__do_str_codecvt): Reorder static and
   2884  1.1  mrg 	runtime conditions.
   2885  1.1  mrg 	(__str_codecvt_out_all, __str_codecvt_in_all): New functions that
   2886  1.1  mrg 	return false for partial conversions.
   2887  1.1  mrg 	* include/experimental/bits/fs_path.h (u8path):
   2888  1.1  mrg 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Implement correctly for mingw.
   2889  1.1  mrg 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_wconvert): Add
   2890  1.1  mrg 	missing handling for char8_t. Use codecvt and codecvt_utf8_utf16
   2891  1.1  mrg 	instead of codecvt_utf8. Use __str_codecvt_in_all and
   2892  1.1  mrg 	__str_codecvt_out_all.
   2893  1.1  mrg 	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
   2894  1.1  mrg 	codecvt instead of codecvt_utf8. Use __str_codecvt_out_all.
   2895  1.1  mrg 	(path::string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
   2896  1.1  mrg 	codecvt_utf8_utf16 instead of codecvt_utf8. Construct return values
   2897  1.1  mrg 	with allocator. Use __str_codecvt_out_all and __str_codecvt_in_all.
   2898  1.1  mrg 	(path::string) [!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
   2899  1.1  mrg 	__str_codecvt_in_all.
   2900  1.1  mrg 	(path::u8string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
   2901  1.1  mrg 	codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_out_all.
   2902  1.1  mrg 	* src/c++17/fs_path.cc (path::_S_convert_loc): Use
   2903  1.1  mrg 	__str_codecvt_in_all.
   2904  1.1  mrg 	* src/filesystem/path.cc (path::_S_convert_loc): Likewise.
   2905  1.1  mrg 	* testsuite/27_io/filesystem/path/construct/90281.cc: New test.
   2906  1.1  mrg 	* testsuite/27_io/filesystem/path/factory/u8path.cc: New test.
   2907  1.1  mrg 	* testsuite/27_io/filesystem/path/native/string.cc: Test with empty
   2908  1.1  mrg 	strings and with Unicode characters outside the basic multilingual
   2909  1.1  mrg 	plane.
   2910  1.1  mrg 	* testsuite/27_io/filesystem/path/native/alloc.cc: New test.
   2911  1.1  mrg 	* testsuite/experimental/filesystem/path/construct/90281.cc: New test.
   2912  1.1  mrg 	* testsuite/experimental/filesystem/path/factory/u8path.cc: New test.
   2913  1.1  mrg 	* testsuite/experimental/filesystem/path/native/alloc.cc: New test.
   2914  1.1  mrg 	* testsuite/experimental/filesystem/path/native/string.cc: Test with
   2915  1.1  mrg 	empty strings and with Unicode characters outside the basic
   2916  1.1  mrg 	multilingual plane.
   2917  1.1  mrg 
   2918  1.1  mrg 2019-06-17  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2919  1.1  mrg 	    Jonathan Wakely  <jwakely (a] redhat.com>
   2920  1.1  mrg 
   2921  1.1  mrg 	* include/bits/hashtable.h (struct _Hashtable::_Scoped_node): New type.
   2922  1.1  mrg 	(_Hashtable::_M_insert_unique_node): Add key_type parameter. Don't
   2923  1.1  mrg 	deallocate node if insertion fails.
   2924  1.1  mrg 	(_Hashtable::_M_insert_multi_node): Likewise.
   2925  1.1  mrg 	(_Hashtable::_M_reinsert_node): Pass additional key argument.
   2926  1.1  mrg 	(_Hashtable::_M_reinsert_node_multi): Likewise. Remove FIXME.
   2927  1.1  mrg 	(_Hashtable::_M_extract_node(size_t, __node_base*)): New function.
   2928  1.1  mrg 	(_Hashtable::extract(const_iterator)): Use _M_extract_node.
   2929  1.1  mrg 	(_Hashtable::extract(const _Key&)): Likewise.
   2930  1.1  mrg 	(_Hashtable::_M_merge_unique): Pass additional key argument.
   2931  1.1  mrg 	(_Hashtable::_M_emplace<Args>(true_type, Args&&...)): Likewise. Use
   2932  1.1  mrg 	_Scoped_node.
   2933  1.1  mrg 	(_Hashtable::_M_insert): Likewise.
   2934  1.1  mrg 	* include/bits/hashtable_policy.h (_Map_base::operator[]): Likewise.
   2935  1.1  mrg 	(_Hashtable_alloc): Add comments to functions with misleading names.
   2936  1.1  mrg 
   2937  1.1  mrg 2019-06-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2938  1.1  mrg 
   2939  1.1  mrg 	* testsuite/20_util/bad_function_call/what.cc: Include <string> header
   2940  1.1  mrg 	for std::string.
   2941  1.1  mrg 	* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Likewise.
   2942  1.1  mrg 	* testsuite/20_util/tuple/cons/allocator_with_any.cc: Include <memory>
   2943  1.1  mrg 	header for std::allocator.
   2944  1.1  mrg 	* testsuite/23_containers/array/tuple_interface/tuple_element.cc: Add
   2945  1.1  mrg 	using-declaration for std::size_t.
   2946  1.1  mrg 	* testsuite/23_containers/array/tuple_interface/tuple_size.cc:
   2947  1.1  mrg 	Likewise.
   2948  1.1  mrg 	* testsuite/23_containers/deque/cons/55977.cc: Include <istream> for
   2949  1.1  mrg 	std::istream.
   2950  1.1  mrg 	* testsuite/23_containers/vector/cons/55977.cc: Likewise.
   2951  1.1  mrg 	* testsuite/experimental/map/erasure.cc: Include <string> for
   2952  1.1  mrg 	std::string.
   2953  1.1  mrg 	* testsuite/experimental/unordered_map/erasure.cc: Likewise.
   2954  1.1  mrg 
   2955  1.1  mrg 2019-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2956  1.1  mrg 
   2957  1.1  mrg 	* include/experimental/type_traits (experimental::nonesuch): Use
   2958  1.1  mrg 	pragma to disable -Wctor-dtor-privacy warnings.
   2959  1.1  mrg 	* include/std/type_traits (__is_convertible_helper<From, To, false>)
   2960  1.1  mrg 	(__is_nt_convertible_helper<From, To, false>, __nonesuch): Likewise.
   2961  1.1  mrg 
   2962  1.1  mrg 	* include/std/version (__cpp_lib_bind_front): Add missing macro.
   2963  1.1  mrg 
   2964  1.1  mrg 2019-06-12  Jonathan Wakely  <jwakely (a] redhat.com>
   2965  1.1  mrg 
   2966  1.1  mrg 	* include/std/algorithm (__cpp_lib_parallel_algorithm): Fix value.
   2967  1.1  mrg 	* include/std/memory (__cpp_lib_parallel_algorithm): Likewise.
   2968  1.1  mrg 	* include/std/numeric (__cpp_lib_parallel_algorithm): Likewise.
   2969  1.1  mrg 	* testsuite/25_algorithms/pstl/feature_test.cc: New test.
   2970  1.1  mrg 
   2971  1.1  mrg 	* include/std/variant (get<T>, get<N>, get_if<N>, get_if<T>)
   2972  1.1  mrg 	(variant::emplace): Change static_assert messages from "should be"
   2973  1.1  mrg 	to "must be".
   2974  1.1  mrg 	(hash<monostate>::operator()): Remove name of unused parameter.
   2975  1.1  mrg 
   2976  1.1  mrg 	* include/std/mutex (scoped_lock::~scoped_lock()): Use fold
   2977  1.1  mrg 	expression.
   2978  1.1  mrg 
   2979  1.1  mrg 	* include/Makefile.am: Add new <bits/charconv.h> header.
   2980  1.1  mrg 	* include/Makefile.in: Regenerate.
   2981  1.1  mrg 	* include/bits/basic_string.h (to_string(int), to_string(unsigned))
   2982  1.1  mrg 	(to_string(long), to_string(unsigned long), to_string(long long))
   2983  1.1  mrg 	(to_string(unsigned long long)): Rewrite to use __to_chars_10_impl.
   2984  1.1  mrg 	* include/bits/charconv.h: New header.
   2985  1.1  mrg 	(__detail::__to_chars_len): Move here from <charconv>.
   2986  1.1  mrg 	(__detail::__to_chars_10_impl): New function extracted from
   2987  1.1  mrg 	__detail::__to_chars_10.
   2988  1.1  mrg 	* include/std/charconv (__cpp_lib_to_chars): Add, but comment out.
   2989  1.1  mrg 	(__to_chars_unsigned_type): New class template that reuses
   2990  1.1  mrg 	__make_unsigned_selector_base::__select to pick a type.
   2991  1.1  mrg 	(__unsigned_least_t): Redefine as __to_chars_unsigned_type<T>::type.
   2992  1.1  mrg 	(__detail::__to_chars_len): Move to new header.
   2993  1.1  mrg 	(__detail::__to_chars_10): Add inline specifier. Move code doing the
   2994  1.1  mrg 	output to __detail::__to_chars_10_impl and call that.
   2995  1.1  mrg 	* include/std/version (__cpp_lib_to_chars): Add, but comment out.
   2996  1.1  mrg 	* testsuite/21_strings/basic_string/numeric_conversions/char/
   2997  1.1  mrg 	to_string.cc: Fix reference in comment. Remove unused variable.
   2998  1.1  mrg 	* testsuite/21_strings/basic_string/numeric_conversions/char/
   2999  1.1  mrg 	to_string_int.cc: New test.
   3000  1.1  mrg 
   3001  1.1  mrg 2019-06-09  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   3002  1.1  mrg 
   3003  1.1  mrg 	Fix ConstexprIterator requirements tests - No constexpr algorithms!
   3004  1.1  mrg 	* testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
   3005  1.1  mrg 	Replace copy with hand-rolled loop.
   3006  1.1  mrg 	* testsuite/23_containers/array/requirements/constexpr_iter.cc:
   3007  1.1  mrg 	Ditto.
   3008  1.1  mrg 
   3009  1.1  mrg 2019-06-08  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   3010  1.1  mrg 
   3011  1.1  mrg 	Test for C++20 p0858 - ConstexprIterator requirements.
   3012  1.1  mrg 	* testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
   3013  1.1  mrg 	New test.
   3014  1.1  mrg 	* testsuite/23_containers/array/requirements/constexpr_iter.cc:
   3015  1.1  mrg 	New test.
   3016  1.1  mrg 
   3017  1.1  mrg 2019-06-07  Thomas Rodgers  <trodgers (a] redhat.com>
   3018  1.1  mrg 
   3019  1.1  mrg 	Rename PSTL macro's consistent with libstdc++ (and llvm upstream
   3020  1.1  mrg 	project) standards.
   3021  1.1  mrg 	* include/bits/c++config: Rename all macros of the form __PSTL* to
   3022  1.1  mrg 	_PSTL*.
   3023  1.1  mrg 	* include/std/algorithm: Likewise.
   3024  1.1  mrg 	* include/std/execution: Likewise.
   3025  1.1  mrg 	* include/std/numeric: Likewise.
   3026  1.1  mrg 	* include/std/memory: Likewise.
   3027  1.1  mrg 	* include/pstl/glue_memory_impl.h: Likewise.
   3028  1.1  mrg 	* include/pstl/numeric_impl.h: Likewise.
   3029  1.1  mrg 	* include/pstl/glue_memory_defs.h: Likewise.
   3030  1.1  mrg 	* include/pstl/execution_defs.h: Likewise.
   3031  1.1  mrg 	* include/pstl/utils.h: Likewise.
   3032  1.1  mrg 	* include/pstl/algorithm_fwd.h: Likewise.
   3033  1.1  mrg 	* include/pstl/unseq_backend_simd.h: Likewise.
   3034  1.1  mrg 	* include/pstl/glue_execution_defs.h: Likewise.
   3035  1.1  mrg 	* include/pstl/algorithm_impl.h: Likewise.
   3036  1.1  mrg 	* include/pstl/parallel_impl.h: Likewise.
   3037  1.1  mrg 	* include/pstl/memory_impl.h: Likewise.
   3038  1.1  mrg 	* include/pstl/glue_numeric_defs.h: Likewise.
   3039  1.1  mrg 	* include/pstl/parallel_backend_utils.h: Likewise.
   3040  1.1  mrg 	* include/pstl/glue_algorithm_defs.h: Likewise.
   3041  1.1  mrg 	* include/pstl/parallel_backend.h: Likewise.
   3042  1.1  mrg 	* include/pstl/glue_numeric_impl.h: Likewise.
   3043  1.1  mrg 	* include/pstl/parallel_backend_tbb.h: Likewise.
   3044  1.1  mrg 	* include/pstl/numeric_fwd.h: Likewise.
   3045  1.1  mrg 	* include/pstl/glue_algorithm_impl.h: Likewise.
   3046  1.1  mrg 	* include/pstl/execution_impl.h: Likewise.
   3047  1.1  mrg 	* include/pstl/pstl_config.h: Likewise.
   3048  1.1  mrg 	* testsuite/util/pstl/pstl_test_config.h: Likewise.
   3049  1.1  mrg 	* testsuite/util/pstl/test_utils.h: Likewise.
   3050  1.1  mrg 	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
   3051  1.1  mrg 	Likewise.
   3052  1.1  mrg 	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
   3053  1.1  mrg 	Likewise.
   3054  1.1  mrg 	* testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
   3055  1.1  mrg 	Likewise.
   3056  1.1  mrg 	* testsuite/26_numerics/pstl/numeric_ops/scan.cc: Likewise.
   3057  1.1  mrg 	* testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: Likewise.
   3058  1.1  mrg 	* testsuite/26_numerics/pstl/numeric_ops/reduce.cc: Likewise.
   3059  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: Likewise.
   3060  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
   3061  1.1  mrg 	Likewise.
   3062  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: Likewise.
   3063  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: Likewise.
   3064  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: Likewise.
   3065  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: Likewise.
   3066  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
   3067  1.1  mrg 	Likewise.
   3068  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: Likewise.
   3069  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: Likewise.
   3070  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: Likewise.
   3071  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: Likewise.
   3072  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
   3073  1.1  mrg 	Likewise.
   3074  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: Likewise.
   3075  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: Likewise.
   3076  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
   3077  1.1  mrg 	Likewise.
   3078  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
   3079  1.1  mrg 	Likewise.
   3080  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: Likewise.
   3081  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
   3082  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
   3083  1.1  mrg 	Likewise.
   3084  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
   3085  1.1  mrg 	Likewise.
   3086  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
   3087  1.1  mrg 	Likewise.
   3088  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
   3089  1.1  mrg 	Likewise.
   3090  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
   3091  1.1  mrg 	Likewise.
   3092  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
   3093  1.1  mrg 	Likewise.
   3094  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
   3095  1.1  mrg 	Likewise.
   3096  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
   3097  1.1  mrg 	Likewise.
   3098  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
   3099  1.1  mrg 	Likewise.
   3100  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
   3101  1.1  mrg 	Likewise.
   3102  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
   3103  1.1  mrg 	Likewise.
   3104  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: Likewise.
   3105  1.1  mrg 
   3106  1.1  mrg 	Rename header guards to be consistent with upstream project's
   3107  1.1  mrg 	conventions.
   3108  1.1  mrg 	* include/pstl/glue_memory_impl.h: Rename all macros of the form
   3109  1.1  mrg 	_PSTL_(.*)_H to _PSTL_\U\1_H.
   3110  1.1  mrg 	* include/pstl/numeric_impl.h: Likewise.
   3111  1.1  mrg 	* include/pstl/glue_memory_defs.h: Likewise.
   3112  1.1  mrg 	* include/pstl/execution_defs.h: Likewise.
   3113  1.1  mrg 	* include/pstl/utils.h: Likewise.
   3114  1.1  mrg 	* include/pstl/algorithm_fwd.h: Likewise.
   3115  1.1  mrg 	* include/pstl/unseq_backend_simd.h: Likewise.
   3116  1.1  mrg 	* include/pstl/glue_execution_defs.h: Likewise.
   3117  1.1  mrg 	* include/pstl/algorithm_impl.h: Likewise.
   3118  1.1  mrg 	* include/pstl/parallel_impl.h: Likewise.
   3119  1.1  mrg 	* include/pstl/memory_impl.h: Likewise.
   3120  1.1  mrg 	* include/pstl/glue_numeric_defs.h: Likewise.
   3121  1.1  mrg 	* include/pstl/parallel_backend_utils.h: Likewise.
   3122  1.1  mrg 	* include/pstl/glue_algorithm_defs.h: Likewise.
   3123  1.1  mrg 	* include/pstl/parallel_backend.h: Likewise.
   3124  1.1  mrg 	* include/pstl/glue_numeric_impl.h: Likewise.
   3125  1.1  mrg 	* include/pstl/parallel_backend_tbb.h: Likewise.
   3126  1.1  mrg 	* include/pstl/numeric_fwd.h: Likewise.
   3127  1.1  mrg 	* include/pstl/glue_algorithm_impl.h: Likewise.
   3128  1.1  mrg 	* include/pstl/execution_impl.h: Likewise.
   3129  1.1  mrg 	* include/pstl/pstl_config.h: Likewise.
   3130  1.1  mrg 	* testsuite/util/pstl/pstl_test_config.h: Likewise.
   3131  1.1  mrg 
   3132  1.1  mrg 	Synchronize libstdc++ parallel algorithms with upstream
   3133  1.1  mrg 	project.
   3134  1.1  mrg 	* include/pstl/algorithm_fwd.h: Synchronize with
   3135  1.1  mrg 	upstream PSTL project.
   3136  1.1  mrg 	* include/pstl/algorithm_impl.h: Likewise.
   3137  1.1  mrg 	* include/pstl/execution_defs.h: Likewise.
   3138  1.1  mrg 	* include/pstl/execution_impl.h: Likewise.
   3139  1.1  mrg 	* include/pstl/glue_algorithm_impl.h: Likewise.
   3140  1.1  mrg 	* include/pstl/glue_execution_defs.h: Likewise.
   3141  1.1  mrg 	* include/pstl/numeric_fwd.h: Likewise.
   3142  1.1  mrg 	* include/pstl/numeric_impl.h: Likewise.
   3143  1.1  mrg 	* include/pstl/parallel_backend.h: Likewise.
   3144  1.1  mrg 	* include/pstl/pstl_config.h: Likewise.
   3145  1.1  mrg 	* include/pstl/unseq_backend_simd.h: Likewise.
   3146  1.1  mrg 	* include/pstl/parallel_backend_serial.h: New file.
   3147  1.1  mrg 	* include/Makefile.am (pstl_headers): Add
   3148  1.1  mrg 	parallel_backend_serial.h.
   3149  1.1  mrg 	* include/Makefile.in: Regenerate.
   3150  1.1  mrg 
   3151  1.1  mrg 	Clean up non-conforming names
   3152  1.1  mrg 	* include/pstl/algorithm_impl.h (__parallel_set_union_op):
   3153  1.1  mrg 	Uglfiy copy_range1 and copy_range2
   3154  1.1  mrg 	(__pattern_walk2_n): Rename local n to __n
   3155  1.1  mrg 	* include/pstl/parallel_backend_tbb.h (struct __binary_no_op):
   3156  1.1  mrg 	Rename parameter _T to _Tp.
   3157  1.1  mrg 
   3158  1.1  mrg 	Integrate non-TBB serial backend support
   3159  1.1  mrg 	* include/bits/c++config: Adjust TBB detection logic to select serial
   3160  1.1  mrg 	PSTL backend if no TBB present.
   3161  1.1  mrg 	* testsuite/utils/pstl/test_utils.h: Remove check for
   3162  1.1  mrg 	_PSTL_USE_PAR_POLICIES
   3163  1.1  mrg 
   3164  1.1  mrg 2019-06-07  Jonathan Wakely  <jwakely (a] redhat.com>
   3165  1.1  mrg 
   3166  1.1  mrg 	* testsuite/24_iterators/container_access.cc: Move dg-options before
   3167  1.1  mrg 	dg-do directive so the target check uses the -std option.
   3168  1.1  mrg 
   3169  1.1  mrg 	PR libstdc++/90770
   3170  1.1  mrg 	* configure: Regenerate.
   3171  1.1  mrg 	* src/Makefile.am (stamp-debug): Also test for missing makefile.
   3172  1.1  mrg 	* src/Makefile.in: Regenerate.
   3173  1.1  mrg 
   3174  1.1  mrg 2019-06-06  Jonathan Wakely  <jwakely (a] redhat.com>
   3175  1.1  mrg 
   3176  1.1  mrg 	* include/std/array: Do not include <stdexcept>.
   3177  1.1  mrg 	* include/std/optional: Include <exception> and
   3178  1.1  mrg 	<bits/exception_defines.h> instead of <stdexcept>.
   3179  1.1  mrg 	* testsuite/20_util/function_objects/searchers.cc: Include <cctype>
   3180  1.1  mrg 	for std::isalnum.
   3181  1.1  mrg 	* testsuite/20_util/tuple/cons/deduction.cc: Include <memory> for
   3182  1.1  mrg 	std::allocator.
   3183  1.1  mrg 	* testsuite/23_containers/map/erasure.cc: Include <string>.
   3184  1.1  mrg 	* testsuite/23_containers/unordered_map/erasure.cc: Likewise.
   3185  1.1  mrg 
   3186  1.1  mrg 	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Add
   3187  1.1  mrg 	dg-prune-output for different C++98 diagnostic.
   3188  1.1  mrg 	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
   3189  1.1  mrg 	Likewise.
   3190  1.1  mrg 	* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
   3191  1.1  mrg 	Likewise.
   3192  1.1  mrg 	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
   3193  1.1  mrg 	Likewise.
   3194  1.1  mrg 	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
   3195  1.1  mrg 	Likewise.
   3196  1.1  mrg 	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
   3197  1.1  mrg 	Likewise.
   3198  1.1  mrg 	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
   3199  1.1  mrg 	Likewise.
   3200  1.1  mrg 	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
   3201  1.1  mrg 	Likewise.
   3202  1.1  mrg 	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
   3203  1.1  mrg 	Likewise.
   3204  1.1  mrg 	* testsuite/23_containers/vector/requirements/dr438/
   3205  1.1  mrg 	constructor_1_neg.cc: Likewise.
   3206  1.1  mrg 	* testsuite/23_containers/vector/requirements/dr438/
   3207  1.1  mrg 	constructor_2_neg.cc: Likewise.
   3208  1.1  mrg 	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
   3209  1.1  mrg 	Likewise.
   3210  1.1  mrg 	* testsuite/libstdc++-prettyprinters/compat.cc: Do not run for C++98.
   3211  1.1  mrg 
   3212  1.1  mrg 	* testsuite/23_containers/unordered_map/requirements/debug_container.cc:
   3213  1.1  mrg 	Do not test allocator rebinding extension for C++2a.
   3214  1.1  mrg 	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Change
   3215  1.1  mrg 	dg-do directive for C++17 and C++2a.
   3216  1.1  mrg 
   3217  1.1  mrg 	* testsuite/23_containers/deque/requirements/explicit_instantiation/
   3218  1.1  mrg 	1_c++0x.cc: Remove redundant test.
   3219  1.1  mrg 	* testsuite/23_containers/deque/requirements/explicit_instantiation/
   3220  1.1  mrg 	2.cc: Use target selector instead of preprocessor condition.
   3221  1.1  mrg 	* testsuite/23_containers/deque/requirements/explicit_instantiation/
   3222  1.1  mrg 	3.cc: Do not run test for C++2a.
   3223  1.1  mrg 	* testsuite/23_containers/forward_list/requirements/
   3224  1.1  mrg 	explicit_instantiation/3.cc: Likewise.
   3225  1.1  mrg 	* testsuite/23_containers/forward_list/requirements/
   3226  1.1  mrg 	explicit_instantiation/5.cc: Do not test allocator rebinding extension
   3227  1.1  mrg 	for C++2a.
   3228  1.1  mrg 	* testsuite/23_containers/list/requirements/explicit_instantiation/
   3229  1.1  mrg 	1_c++0x.cc: Remove redundant test.
   3230  1.1  mrg 	* testsuite/23_containers/list/requirements/explicit_instantiation/
   3231  1.1  mrg 	2.cc: Use target selector instead of preprocessor condition.
   3232  1.1  mrg 	* testsuite/23_containers/list/requirements/explicit_instantiation/
   3233  1.1  mrg 	3.cc: Do not run test for C++2a.
   3234  1.1  mrg 	* testsuite/23_containers/list/requirements/explicit_instantiation/
   3235  1.1  mrg 	5.cc: Do not test allocator rebinding extension for C++2a.
   3236  1.1  mrg 	* testsuite/23_containers/map/requirements/explicit_instantiation/
   3237  1.1  mrg 	1_c++0x.cc: Remove redundant test.
   3238  1.1  mrg 	* testsuite/23_containers/map/requirements/explicit_instantiation/
   3239  1.1  mrg 	2.cc: Adjust comment.
   3240  1.1  mrg 	* testsuite/23_containers/map/requirements/explicit_instantiation/
   3241  1.1  mrg 	3.cc: Do not run test for C++2a.
   3242  1.1  mrg 	* testsuite/23_containers/map/requirements/explicit_instantiation/
   3243  1.1  mrg 	5.cc: Do not test allocator rebinding extension for C++2a.
   3244  1.1  mrg 	* testsuite/23_containers/multimap/requirements/explicit_instantiation/
   3245  1.1  mrg 	1_c++0x.cc: Remove redundant test.
   3246  1.1  mrg 	* testsuite/23_containers/multimap/requirements/explicit_instantiation/
   3247  1.1  mrg 	3.cc: Do not run test for C++2a.
   3248  1.1  mrg 	* testsuite/23_containers/multimap/requirements/explicit_instantiation/
   3249  1.1  mrg 	5.cc: Do not test allocator rebinding extension for C++2a.
   3250  1.1  mrg 	* testsuite/23_containers/multiset/requirements/explicit_instantiation/
   3251  1.1  mrg 	3.cc: Do not run test for C++2a.
   3252  1.1  mrg 	* testsuite/23_containers/multiset/requirements/explicit_instantiation/
   3253  1.1  mrg 	5.cc: Do not test allocator rebinding extension for C++2a.
   3254  1.1  mrg 	* testsuite/23_containers/set/requirements/explicit_instantiation/3.cc:
   3255  1.1  mrg 	Do not run test for C++2a.
   3256  1.1  mrg 	* testsuite/23_containers/set/requirements/explicit_instantiation/
   3257  1.1  mrg 	1_c++0x.cc: Remove redundant test.
   3258  1.1  mrg 	* testsuite/23_containers/set/requirements/explicit_instantiation/5.cc:
   3259  1.1  mrg 	Do not test allocator rebinding extension for C++2a.
   3260  1.1  mrg 	* testsuite/23_containers/unordered_map/requirements/
   3261  1.1  mrg 	explicit_instantiation/3.cc: Likewise.
   3262  1.1  mrg 	* testsuite/23_containers/unordered_map/requirements/
   3263  1.1  mrg 	explicit_instantiation/5.cc: Do not test allocator rebinding extension
   3264  1.1  mrg 	for C++2a.
   3265  1.1  mrg 	* testsuite/23_containers/unordered_multimap/requirements/
   3266  1.1  mrg 	explicit_instantiation/3.cc: Do not run test for C++2a.
   3267  1.1  mrg 	* testsuite/23_containers/unordered_multimap/requirements/
   3268  1.1  mrg 	explicit_instantiation/5.cc: Do not test allocator rebinding extension
   3269  1.1  mrg 	for C++2a.
   3270  1.1  mrg 	* testsuite/23_containers/unordered_multiset/requirements/
   3271  1.1  mrg 	explicit_instantiation/3.cc: Do not run test for C++2a.
   3272  1.1  mrg 	* testsuite/23_containers/unordered_multiset/requirements/
   3273  1.1  mrg 	explicit_instantiation/5.cc: Do not test allocator rebinding extension
   3274  1.1  mrg 	for C++2a.
   3275  1.1  mrg 	* testsuite/23_containers/unordered_set/requirements/
   3276  1.1  mrg 	explicit_instantiation/3.cc: Do not run test for C++2a.
   3277  1.1  mrg 	* testsuite/23_containers/unordered_set/requirements/
   3278  1.1  mrg 	explicit_instantiation/5.cc: Do not test allocator rebinding extension
   3279  1.1  mrg 	for C++2a.
   3280  1.1  mrg 	* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
   3281  1.1  mrg 	2.cc: Remove redundant test.
   3282  1.1  mrg 	* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
   3283  1.1  mrg 	3.cc: Do not run test for C++2a.
   3284  1.1  mrg 	* testsuite/23_containers/vector/requirements/explicit_instantiation/
   3285  1.1  mrg 	3.cc: Likewise.
   3286  1.1  mrg 
   3287  1.1  mrg 	* include/std/type_traits (is_empty, is_polymorphic, is_final)
   3288  1.1  mrg 	(is_abstract, is_aggregate): Remove static_assert.
   3289  1.1  mrg 	* testsuite/20_util/is_abstract/incomplete_neg.cc: Check for error
   3290  1.1  mrg 	from builtin only.
   3291  1.1  mrg 	* testsuite/20_util/is_aggregate/incomplete_neg.cc: Likewise. Add
   3292  1.1  mrg 	missing -std=gnu++17 option.
   3293  1.1  mrg 	* testsuite/20_util/is_empty/incomplete_neg.cc: New test.
   3294  1.1  mrg 	* testsuite/20_util/is_final/incomplete_neg.cc: New test.
   3295  1.1  mrg 	* testsuite/20_util/is_polymorphic/incomplete_neg.cc: Check for error
   3296  1.1  mrg 	from builtin only.
   3297  1.1  mrg 
   3298  1.1  mrg 	* testsuite/18_support/set_terminate.cc: Do not run for C++98 mode.
   3299  1.1  mrg 	* testsuite/18_support/set_unexpected.cc: Likewise.
   3300  1.1  mrg 	* testsuite/20_util/is_nothrow_invocable/value.cc: Test converting to
   3301  1.1  mrg 	void.
   3302  1.1  mrg 	* testsuite/20_util/is_nothrow_invocable/value_ext.cc: Fix constexpr
   3303  1.1  mrg 	function to be valid in C++11.
   3304  1.1  mrg 	* testsuite/26_numerics/complex/proj.cc: Do not run for C++98 mode.
   3305  1.1  mrg 	* testsuite/experimental/names.cc: Do not run for C++98 mode. Do not
   3306  1.1  mrg 	include Library Fundamentals or Networking headers in C++11 mode.
   3307  1.1  mrg 	* testsuite/ext/char8_t/atomic-1.cc: Do not run for C++98 mode.
   3308  1.1  mrg 
   3309  1.1  mrg 	* include/std/tuple (_TC): Replace with _TupleConstraints.
   3310  1.1  mrg 	(_TupleConstraints): New helper for SFINAE constraints, with more
   3311  1.1  mrg 	expressive member functions to reduce duplication when used.
   3312  1.1  mrg 	(tuple::_TC2, tuple::_TMC, tuple::_TNTC): Remove.
   3313  1.1  mrg 	(tuple::_TCC): Replace dummy type parameter with bool non-type
   3314  1.1  mrg 	parameter that can be used to check the pack size.
   3315  1.1  mrg 	(tuple::_ImplicitDefaultCtor, tuple::_ExplicitDefaultCtor)
   3316  1.1  mrg 	(tuple::_ImplicitCtor, tuple::_ExplicitCtor): New alias templates for
   3317  1.1  mrg 	checking constraints in constructors.
   3318  1.1  mrg 	(tuple::__valid_args, tuple::_UseOtherCtor, tuple::__use_other_ctor):
   3319  1.1  mrg 	New SFINAE helpers.
   3320  1.1  mrg 	(tuple::tuple): Use new helpers to reduce repitition in constraints.
   3321  1.1  mrg 	(tuple::tuple(allocator_arg_t, const Alloc&)): Constrain.
   3322  1.1  mrg 	(tuple<T1, T2>::_TCC, tuple<T1, T2>::_ImplicitDefaultCtor)
   3323  1.1  mrg 	(tuple<T1, T2>::_ExplicitDefaultCtor, tuple<T1, T2>::_ImplicitCtor)
   3324  1.1  mrg 	(tuple<T1, T2>::_ExplicitCtor): New alias templates for checking
   3325  1.1  mrg 	constraints in constructors.
   3326  1.1  mrg 	(tuple::__is_alloc_arg()): New SFINAE helpers.
   3327  1.1  mrg 	(tuple<T1, T2>::tuple): Use new helpers to reduce repitition in
   3328  1.1  mrg 	constraints.
   3329  1.1  mrg 	(tuple<T1, T2>::tuple(allocator_arg_t, const Alloc&)): Constrain.
   3330  1.1  mrg 	* testsuite/20_util/tuple/cons/90700.cc: New test.
   3331  1.1  mrg 	* testsuite/20_util/tuple/cons/allocators.cc: Add default constructor
   3332  1.1  mrg 	to meet new constraint on allocator-extended default constructor.
   3333  1.1  mrg 
   3334  1.1  mrg 2019-06-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3335  1.1  mrg 
   3336  1.1  mrg 	* include/bits/stl_map.h (map): Disable static assert for C++98 mode.
   3337  1.1  mrg 	* include/bits/stl_multimap.h (multimap): Likewise.
   3338  1.1  mrg 
   3339  1.1  mrg 2019-06-03  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3340  1.1  mrg 
   3341  1.1  mrg 	Rename variables and cleanup comments.
   3342  1.1  mrg 	* include/bits/hashtable_policy.h
   3343  1.1  mrg 	* include/bits/hashtable.h
   3344  1.1  mrg 
   3345  1.1  mrg 2019-06-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3346  1.1  mrg 
   3347  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Add missing row for P0920R2.
   3348  1.1  mrg 	Fix bgcolor for P0340R3.
   3349  1.1  mrg 	* doc/html/*: Regenerate.
   3350  1.1  mrg 
   3351  1.1  mrg 	PR libstdc++/90686
   3352  1.1  mrg 	* doc/xml/manual/status_cxx2014.xml: Document what's missing from
   3353  1.1  mrg 	<experimental/memory_resource>.
   3354  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Document status of P1285R0,
   3355  1.1  mrg 	P0339R6, P0340R3, P1164R1 and P1357R1.
   3356  1.1  mrg 	* doc/html/*: Regenerate.
   3357  1.1  mrg 
   3358  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Document P1463R1 status.
   3359  1.1  mrg 	* include/bits/forward_list.h [__cplusplus > 201703]: Enable
   3360  1.1  mrg 	allocator::value_type assertion for C++2a.
   3361  1.1  mrg 	* include/bits/hashtable.h: Likewise.
   3362  1.1  mrg 	* include/bits/stl_deque.h: Likewise.
   3363  1.1  mrg 	* include/bits/stl_list.h: Likewise.
   3364  1.1  mrg 	* include/bits/stl_map.h: Likewise.
   3365  1.1  mrg 	* include/bits/stl_multimap.h: Likewise.
   3366  1.1  mrg 	* include/bits/stl_multiset.h: Likewise.
   3367  1.1  mrg 	* include/bits/stl_set.h: Likewise.
   3368  1.1  mrg 	* include/bits/stl_vector.h: Likewise.
   3369  1.1  mrg 	* testsuite/23_containers/deque/48101-3_neg.cc: New test.
   3370  1.1  mrg 	* testsuite/23_containers/forward_list/48101-3_neg.cc: New test.
   3371  1.1  mrg 	* testsuite/23_containers/list/48101-3_neg.cc: New test.
   3372  1.1  mrg 	* testsuite/23_containers/map/48101-3_neg.cc: New test.
   3373  1.1  mrg 	* testsuite/23_containers/multimap/48101-3_neg.cc: New test.
   3374  1.1  mrg 	* testsuite/23_containers/multiset/48101-3_neg.cc: New test.
   3375  1.1  mrg 	* testsuite/23_containers/set/48101-3_neg.cc: New test.
   3376  1.1  mrg 	* testsuite/23_containers/unordered_map/48101-3_neg.cc: New test.
   3377  1.1  mrg 	* testsuite/23_containers/unordered_multimap/48101-3_neg.cc: New test.
   3378  1.1  mrg 	* testsuite/23_containers/unordered_multiset/48101-3_neg.cc: New test.
   3379  1.1  mrg 	* testsuite/23_containers/unordered_set/48101-3_neg.cc: New test.
   3380  1.1  mrg 	* testsuite/23_containers/vector/48101-3_neg.cc: New test.
   3381  1.1  mrg 
   3382  1.1  mrg 2019-05-31  Gerald Pfeifer  <gerald (a] pfeifer.com>
   3383  1.1  mrg 
   3384  1.1  mrg 	* doc/xml/manual/allocator.xml: Move hoard.org back to http.
   3385  1.1  mrg 
   3386  1.1  mrg 2019-05-31  Jonathan Wakely  <jwakely (a] redhat.com>
   3387  1.1  mrg 
   3388  1.1  mrg 	* include/std/tuple (tuple<>): Add noexcept to allocator-extended
   3389  1.1  mrg 	constructors.
   3390  1.1  mrg 	(tuple<T1, T2>::__nothrow_default_constructible()): New helper
   3391  1.1  mrg 	function.
   3392  1.1  mrg 	(tuple<T1, T2>::tuple(), explicit tuple<T1, T2>::tuple()): Use helper.
   3393  1.1  mrg 
   3394  1.1  mrg 2019-05-31  Jonathan Wakely  <jwakely (a] redhat.com>
   3395  1.1  mrg 
   3396  1.1  mrg 	* src/c++98/bitmap_allocator.cc: Add using-declaration for size_t.
   3397  1.1  mrg 
   3398  1.1  mrg 	PR libstdc++/90682
   3399  1.1  mrg 	* libsupc++/eh_term_handler.cc: Include eh_term_handler.h to get
   3400  1.1  mrg 	definition of _GLIBCXX_DEFAULT_TERM_HANDLER.
   3401  1.1  mrg 	* libsupc++/eh_term_handler.h: New header defining
   3402  1.1  mrg 	_GLIBCXX_DEFAULT_TERM_HANDLER.
   3403  1.1  mrg 	* libsupc++/eh_terminate.cc: Include eh_term_handler.h.
   3404  1.1  mrg 	(set_terminate): Restore default handler when argument is null.
   3405  1.1  mrg 	(set_unexpected): Likewise.
   3406  1.1  mrg 	* testsuite/18_support/set_terminate.cc: New test.
   3407  1.1  mrg 	* testsuite/18_support/set_unexpected.cc: New test.
   3408  1.1  mrg 
   3409  1.1  mrg 	* include/backward/hashtable.h (size_t, ptrdiff_t)
   3410  1.1  mrg 	(forward_iterator_tag, input_iterator_tag, _Construct, _Destroy)
   3411  1.1  mrg 	(distance, vector, pair, __iterator_category): Remove
   3412  1.1  mrg 	using-declarations that add these names to namespace __gnu_cxx.
   3413  1.1  mrg 	* include/ext/bitmap_allocator.h (size_t, ptrdiff_t): Likewise.
   3414  1.1  mrg 	* include/ext/debug_allocator.h (size_t): Likewise.
   3415  1.1  mrg 	* include/ext/functional (size_t, unary_function, binary_function)
   3416  1.1  mrg 	(mem_fun1_t, const_mem_fun1_t, mem_fun1_ref_t, const_mem_fun1_ref_t):
   3417  1.1  mrg 	Likewise.
   3418  1.1  mrg 	* include/ext/malloc_allocator.h (size_t, ptrdiff_t): Likewise.
   3419  1.1  mrg 	* include/ext/memory (ptrdiff_t, pair, __iterator_category): Likewise.
   3420  1.1  mrg 	* include/ext/mt_allocator.h (size_t, ptrdiff_t): Likewise.
   3421  1.1  mrg 	* include/ext/new_allocator.h (size_t, ptrdiff_t): Likewise.
   3422  1.1  mrg 	* include/ext/numeric (iota): Fix outdated comment.
   3423  1.1  mrg 	* include/ext/pool_allocator.h (size_t, ptrdiff_t): Likewise.
   3424  1.1  mrg 	* include/ext/rb_tree (_Rb_tree, allocator): Likewise.
   3425  1.1  mrg 	* include/ext/rope (size_t, ptrdiff_t, allocator, _Destroy): Likewise.
   3426  1.1  mrg 	* include/ext/ropeimpl.h (size_t, printf, basic_ostream)
   3427  1.1  mrg 	(__throw_length_error, _Destroy, std::__uninitialized_fill_n_a):
   3428  1.1  mrg 	Likewise.
   3429  1.1  mrg 	* include/ext/slist (size_t, ptrdiff_t, _Construct, _Destroy)
   3430  1.1  mrg 	(allocator, __true_type, __false_type): Likewise.
   3431  1.1  mrg 
   3432  1.1  mrg 2019-05-31  Antony Polukhin  <antoshkka (a] gmail.com>
   3433  1.1  mrg 
   3434  1.1  mrg 	PR libstdc++/71579
   3435  1.1  mrg 	* include/std/type_traits __type_identity, __is_complete_or_unbounded):
   3436  1.1  mrg 	New helpers for checking preconditions in traits.
   3437  1.1  mrg 	(is_trivial, is_trivially_copyable, is_standard_layout, is_pod)
   3438  1.1  mrg 	(is_literal_type, is_empty, is_polymorphic, is_final, is_abstract)
   3439  1.1  mrg 	(is_destructible, is_nothrow_destructible, is_constructible)
   3440  1.1  mrg 	(is_default_constructible, is_copy_constructible)
   3441  1.1  mrg 	(is_move_constructible, is_nothrow_default_constructible)
   3442  1.1  mrg 	(is_nothrow_constructible, is_nothrow_copy_constructible)
   3443  1.1  mrg 	(is_nothrow_move_constructible, is_copy_assignable, is_move_assignable)
   3444  1.1  mrg 	(is_nothrow_assignable, is_nothrow_copy_assignable)
   3445  1.1  mrg 	(is_nothrow_move_assignable, is_trivially_constructible)
   3446  1.1  mrg 	(is_trivially_copy_constructible, is_trivially_move_constructible)
   3447  1.1  mrg 	is_trivially_assignable, is_trivially_copy_assignable)
   3448  1.1  mrg 	(is_trivially_move_assignable, is_trivially_destructible)
   3449  1.1  mrg 	(alignment_of, is_swappable, is_nothrow_swappable, is_invocable)
   3450  1.1  mrg 	(is_invocable_r, is_nothrow_invocable)
   3451  1.1  mrg 	(has_unique_object_representations, is_aggregate): Add static_asserts
   3452  1.1  mrg 	to make sure that type traits are not misused with incomplete types.
   3453  1.1  mrg 	(__is_constructible_impl, __is_nothrow_default_constructible_impl)
   3454  1.1  mrg 	(__is_nothrow_constructible_impl, __is_nothrow_assignable_impl): New
   3455  1.1  mrg 	base characteristics without assertions that can be reused in other
   3456  1.1  mrg 	traits.
   3457  1.1  mrg 	* testsuite/20_util/is_complete_or_unbounded/memoization.cc: New test.
   3458  1.1  mrg 	* testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc: New
   3459  1.1  mrg 	test.
   3460  1.1  mrg 	* testsuite/20_util/is_complete_or_unbounded/value.cc: New test.
   3461  1.1  mrg 	* testsuite/20_util/is_abstract/incomplete_neg.cc: New test.
   3462  1.1  mrg 	* testsuite/20_util/is_aggregate/incomplete_neg.cc: New test.
   3463  1.1  mrg 	* testsuite/20_util/is_class/value.cc: Check incomplete type.
   3464  1.1  mrg 	* testsuite/20_util/is_function/value.cc: Likewise.
   3465  1.1  mrg 	* testsuite/20_util/is_move_constructible/incomplete_neg.cc: New test.
   3466  1.1  mrg 	* testsuite/20_util/is_nothrow_move_assignable/incomplete_neg.cc: New
   3467  1.1  mrg 	test.
   3468  1.1  mrg 	* testsuite/20_util/is_polymorphic/incomplete_neg.cc: New test.
   3469  1.1  mrg 	* testsuite/20_util/is_reference/value.cc: Check incomplete types.
   3470  1.1  mrg 	* testsuite/20_util/is_unbounded_array/value.cc: Likewise.
   3471  1.1  mrg 	* testsuite/20_util/is_union/value.cc: Likewise.
   3472  1.1  mrg 	* testsuite/20_util/is_void/value.cc: Likewise.
   3473  1.1  mrg 	* testsuite/util/testsuite_tr1.h: Add incomplete union type.
   3474  1.1  mrg 
   3475  1.1  mrg 2019-05-31  Jonathan Wakely  <jwakely (a] redhat.com>
   3476  1.1  mrg 
   3477  1.1  mrg 	* include/bits/random.h (random_device::_M_init(const char*, size_t)):
   3478  1.1  mrg 	Add new private member function.
   3479  1.1  mrg 	* src/c++11/cow-string-inst.cc (random_device::_M_init(const string&))
   3480  1.1  mrg 	(random_device::_M_init_pretr1(const string&)): Call new private
   3481  1.1  mrg 	member with string data.
   3482  1.1  mrg 	* src/c++11/random.cc (random_device::_M_init(const char*, size_t)):
   3483  1.1  mrg 	Define.
   3484  1.1  mrg 	* testsuite/26_numerics/random/random_device/cons/default-cow.cc: New
   3485  1.1  mrg 	test using COW strings.
   3486  1.1  mrg 	* testsuite/26_numerics/random/random_device/cons/default.cc: Generate
   3487  1.1  mrg 	a value from the device.
   3488  1.1  mrg 	* testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
   3489  1.1  mrg 	Fix typo in token string.
   3490  1.1  mrg 
   3491  1.1  mrg 2019-05-30  Nina Dinka Ranns  <dinka.ranns (a] gmail.com>
   3492  1.1  mrg 
   3493  1.1  mrg 	LWG2788 basic_string spurious use of a default constructible allocator
   3494  1.1  mrg 	* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
   3495  1.1  mrg 	(basic_string::_M_replace_dispatch): Construct temporary string with
   3496  1.1  mrg 	the current allocator.
   3497  1.1  mrg 	* testsuite/21_strings/basic_string/allocator/char/lwg2788.cc: New.
   3498  1.1  mrg 	* testsuite/21_strings/basic_string/allocator/wchar_t/lwg2788.cc: New.
   3499  1.1  mrg 
   3500  1.1  mrg 2019-05-30  Jonathan Wakely  <jwakely (a] redhat.com>
   3501  1.1  mrg 
   3502  1.1  mrg 	* doc/xml/manual/diagnostics.xml: Update list of headers that define
   3503  1.1  mrg 	exception classes.
   3504  1.1  mrg 	* doc/xml/manual/support.xml: Rewrite advice around NULL. Rewrite
   3505  1.1  mrg 	section about new/delete overloads. Improve section on verbose
   3506  1.1  mrg 	terminate handler.
   3507  1.1  mrg 	* doc/html/*: Regenerate.
   3508  1.1  mrg 
   3509  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Add feature-test macro for
   3510  1.1  mrg 	P0811R3. Change status of P1353R0.
   3511  1.1  mrg 	* doc/html/*: Regenerate.
   3512  1.1  mrg 
   3513  1.1  mrg 	* doc/xml/manual/status_cxx2011.xml: Use <variablelist> for
   3514  1.1  mrg 	documentation of implementation-defined types for [thread.req.native].
   3515  1.1  mrg 	* doc/xml/manual/status_cxx2017.xml: Update documentation of
   3516  1.1  mrg 	implementation-defined strings for [variant.bad.access]. Fix typo in
   3517  1.1  mrg 	documentation of implementation-defined support for [fs.conform.9945].
   3518  1.1  mrg 	* doc/html/*: Regenerate.
   3519  1.1  mrg 
   3520  1.1  mrg 2019-05-29  Jonathan Wakely  <jwakely (a] redhat.com>
   3521  1.1  mrg 
   3522  1.1  mrg 	PR libstdc++/85494
   3523  1.1  mrg 	* testsuite/26_numerics/random/random_device/cons/token.cc: Fix test
   3524  1.1  mrg 	that fails on mingw-w64.
   3525  1.1  mrg 
   3526  1.1  mrg 	PR libstdc++/88881
   3527  1.1  mrg 	* src/c++17/fs_ops.cc [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
   3528  1.1  mrg 	(status(const path&, error_code&)): Use parent_path() to remove
   3529  1.1  mrg 	trailing slash.
   3530  1.1  mrg 	(symlink_status(const path&, error_code&)): Duplicate workaround for
   3531  1.1  mrg 	bug in _wstat for paths with trailing slash.
   3532  1.1  mrg 	* testsuite/27_io/filesystem/operations/remove_all.cc: Check path
   3533  1.1  mrg 	with trailing slash.
   3534  1.1  mrg 	* testsuite/27_io/filesystem/operations/status.cc: Likewise.
   3535  1.1  mrg 	* testsuite/27_io/filesystem/operations/symlink_status.cc: Likewise.
   3536  1.1  mrg 
   3537  1.1  mrg 	* src/c++17/fs_path.cc (path::parent_path()): Create whole path at
   3538  1.1  mrg 	once instead of building it iteratively.
   3539  1.1  mrg 
   3540  1.1  mrg 	* testsuite/util/testsuite_api.h: Remove names of unused parameters.
   3541  1.1  mrg 
   3542  1.1  mrg 	PR libstdc++/85494 use rdseed and rand_s in std::random_device
   3543  1.1  mrg 	* acinclude.m4 (GLIBCXX_CHECK_X86_RDSEED): Define macro to check if
   3544  1.1  mrg 	the assembler supports rdseed.
   3545  1.1  mrg 	* config.h.in: Regenerate.
   3546  1.1  mrg 	* configure: Regenerate.
   3547  1.1  mrg 	* configure.ac: Use GLIBCXX_CHECK_X86_RDSEED.
   3548  1.1  mrg 	* config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_CRT_RAND_S): Define.
   3549  1.1  mrg 	* doc/html/*: Regenerate.
   3550  1.1  mrg 	* doc/xml/manual/status_cxx2011.xml: Document new tokens.
   3551  1.1  mrg 	* include/bits/random.h (random_device::random_device()): Always call
   3552  1.1  mrg 	_M_init rather than _M_init_pretr1.
   3553  1.1  mrg 	(random_device::random_device(const string&)): Likewise.
   3554  1.1  mrg 	(random_device::operator()()): Always call _M_getval().
   3555  1.1  mrg 	(random_device::_M_file): Replace first member of union with an
   3556  1.1  mrg 	anonymous struct, with _M_file as its first member.
   3557  1.1  mrg 	* src/c++11/random.cc [_GLIBCXX_X86_RDRAND] (USE_RDRAND): Define.
   3558  1.1  mrg 	[_GLIBCXX_X86_RDSEED] (USE_RDSEED): Define.
   3559  1.1  mrg 	(USE_MT19937): Define if none of the above are defined.
   3560  1.1  mrg 	(USE_POSIX_FILE_IO): Define.
   3561  1.1  mrg 	(_M_strtoul): Remove.
   3562  1.1  mrg 	[USE_RDSEED] (__x86_rdseed): Define new function.
   3563  1.1  mrg 	[_GLIBCXX_USE_CRT_RAND_S] (__winxp_rand_s): Define new function.
   3564  1.1  mrg 	(random_device::_M_init(const string&)): Initialize new union members.
   3565  1.1  mrg 	Add support for "rdseed" and "rand_s" tokens. Decide what the
   3566  1.1  mrg 	"default" token does according to which USE_* macros are defined.
   3567  1.1  mrg 	[USE_POSIX_FILE_IO]: Store a file descriptor.
   3568  1.1  mrg 	[USE_MT19937]: Forward to _M_init_pretr1 instead.
   3569  1.1  mrg 	(random_device::_M_init_pretr1(const string&)) [USE_MT19937]: Inline
   3570  1.1  mrg 	code from _M_strtoul.
   3571  1.1  mrg 	[!USE_MT19937]: Call _M_init, transforming the old default token or
   3572  1.1  mrg 	numeric tokens to "default".
   3573  1.1  mrg 	(random_device::_M_fini()) [USE_POSIX_FILE_IO]: Use close not fclose.
   3574  1.1  mrg 	(random_device::_M_getval()): Use new union members to obtain a
   3575  1.1  mrg 	random number from the stored function pointer or file descriptor.
   3576  1.1  mrg 	[USE_MT19937]: Obtain a value from the mt19937 engine.
   3577  1.1  mrg 	(random_device::_M_getval_pretr1()): Call _M_getval().
   3578  1.1  mrg 	(random_device::_M_getentropy()) [USE_POSIX_FILE_IO]: Use _M_fd
   3579  1.1  mrg 	instead of fileno.
   3580  1.1  mrg 	[!USE_MT19937] (mersenne_twister): Do not instantiate when not needed.
   3581  1.1  mrg 	* testsuite/26_numerics/random/random_device/85494.cc: New test.
   3582  1.1  mrg 
   3583  1.1  mrg 2019-05-28  Jonathan Wakely  <jwakely (a] redhat.com>
   3584  1.1  mrg 
   3585  1.1  mrg 	PR libstdc++/90634
   3586  1.1  mrg 	* include/experimental/bits/fs_path.h (path::path(path&&)): Only call
   3587  1.1  mrg 	_M_split_cmpts() for a path with multiple components.
   3588  1.1  mrg 	(path::_S_is_dir_sep()): Add missing 'static' keyword to function.
   3589  1.1  mrg 	* src/filesystem/path.cc (path::_M_split_cmpts()): Count number of
   3590  1.1  mrg 	components and reserve space in vector. Return early when there is
   3591  1.1  mrg 	only one component.
   3592  1.1  mrg 	* testsuite/27_io/filesystem/path/construct/90634.cc: New test.
   3593  1.1  mrg 	* testsuite/experimental/filesystem/path/construct/90634.cc: New test.
   3594  1.1  mrg 
   3595  1.1  mrg 	* testsuite/util/testsuite_fs.h (compare_paths): Use three-argument
   3596  1.1  mrg 	form of std::equals for C++11 compatibility.
   3597  1.1  mrg 
   3598  1.1  mrg 2019-05-26  Gerald Pfeifer  <gerald (a] pfeifer.com>
   3599  1.1  mrg 
   3600  1.1  mrg 	* doc/xml/manual/appendix_contributing.xml: Update pointer to
   3601  1.1  mrg 	C++ standard at ansi.org.
   3602  1.1  mrg 
   3603  1.1  mrg 2019-05-24  Jonathan Wakely  <jwakely (a] redhat.com>
   3604  1.1  mrg 
   3605  1.1  mrg 	* include/std/numeric (midpoint(T*, T*)): Fix incorrect result.
   3606  1.1  mrg 	* testsuite/26_numerics/midpoint/pointer.cc: Change "compile" test
   3607  1.1  mrg 	to "run".
   3608  1.1  mrg 
   3609  1.1  mrg 	* testsuite/20_util/shared_ptr/cons/alias-rval.cc: Fix test.
   3610  1.1  mrg 	* testsuite/20_util/shared_ptr/cons/alias.cc: Remove unused function.
   3611  1.1  mrg 
   3612  1.1  mrg 2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3613  1.1  mrg 
   3614  1.1  mrg 	* testsuite/20_util/function_objects/invoke/1.cc: Move C++17-specific
   3615  1.1  mrg 	tests to ...
   3616  1.1  mrg 	* testsuite/20_util/function_objects/invoke/3.cc: New test.
   3617  1.1  mrg 	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Change
   3618  1.1  mrg 	"compile" test to "run".
   3619  1.1  mrg 
   3620  1.1  mrg 	* doc/xml/manual/intro.xml: Document LWG DR 2996 change.
   3621  1.1  mrg 	* doc/html/*: Regenerate.
   3622  1.1  mrg 	* include/bits/shared_ptr.h (shared_ptr(shared_ptr&&, T*)): Add
   3623  1.1  mrg 	rvalue aliasing constructor.
   3624  1.1  mrg 	(static_pointer_cast, const_pointer, dynamic_pointer_cast)
   3625  1.1  mrg 	(reinterpret_pointer_cast): Add overloads taking rvalues.
   3626  1.1  mrg 	* include/bits/shared_ptr_base.h (__shared_ptr(__shared_ptr&&, T*)):
   3627  1.1  mrg 	Add rvalue aliasing constructor.
   3628  1.1  mrg 	* testsuite/20_util/shared_ptr/casts/1.cc: Change "compile" test to
   3629  1.1  mrg 	"run" and check return values as well as types.
   3630  1.1  mrg 	* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
   3631  1.1  mrg 	* testsuite/20_util/shared_ptr/casts/rval.cc: New test.
   3632  1.1  mrg 	* testsuite/20_util/shared_ptr/cons/alias-rval.cc: New test.
   3633  1.1  mrg 	* testsuite/20_util/shared_ptr/cons/alias.cc: Remove unused return
   3634  1.1  mrg 	values.
   3635  1.1  mrg 
   3636  1.1  mrg 	* doc/xml/manual/evolution.xml: Document LWG DR 2921 change.
   3637  1.1  mrg 	* doc/xml/manual/intro.xml: Likewise.
   3638  1.1  mrg 	* include/std/future (__create_task_state): Add default arguments
   3639  1.1  mrg 	to make providing an allocator optional.
   3640  1.1  mrg 	(packaged_task::packaged_task(F&&)): Call __create_task_state directly
   3641  1.1  mrg 	instead of delegating to another constructor.
   3642  1.1  mrg 	(packaged_task::packaged_task(allocator_arg_t, const A&, ...)): Do not
   3643  1.1  mrg 	define allocator-extended constructors for C++17 and later.
   3644  1.1  mrg 	* testsuite/30_threads/packaged_task/cons/alloc.cc: Only run test for
   3645  1.1  mrg 	C++11 and C++14.
   3646  1.1  mrg 	* testsuite/30_threads/packaged_task/cons/alloc2.cc: Likewise.
   3647  1.1  mrg 	* testsuite/30_threads/packaged_task/cons/alloc_min.cc: Likewise.
   3648  1.1  mrg 	* testsuite/30_threads/packaged_task/uses_allocator.cc: Likewise.
   3649  1.1  mrg 
   3650  1.1  mrg 2019-05-23  Hans-Peter Nilsson  <hp (a] axis.com>
   3651  1.1  mrg 
   3652  1.1  mrg 	* testsuite/26_numerics/random/poisson_distribution/operators/values.cc:
   3653  1.1  mrg 	Don't run the libstdc++/83237 part on simulator targets.
   3654  1.1  mrg 
   3655  1.1  mrg 2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
   3656  1.1  mrg 
   3657  1.1  mrg 	* doc/xml/manual/status_cxx2017.xml: Add feature test macro for
   3658  1.1  mrg 	P0040R3.
   3659  1.1  mrg 	* doc/html/*: Regenerate.
   3660  1.1  mrg 
   3661  1.1  mrg 	* include/experimental/any (__any_caster): Use RTTI if comparing
   3662  1.1  mrg 	addresses fails, to support non-unique addresses in shared libraries.
   3663  1.1  mrg 	* include/std/any (__any_caster): Likewise.
   3664  1.1  mrg 
   3665  1.1  mrg 	PR libstdc++/90220
   3666  1.1  mrg 	* include/experimental/any (__any_caster): Constrain to only be
   3667  1.1  mrg 	callable for object types. Use remove_cv_t instead of decay_t.
   3668  1.1  mrg 	If the type decays or isn't copy constructible, compare the manager
   3669  1.1  mrg 	function to a dummy specialization.
   3670  1.1  mrg 	(__any_caster): Add overload constrained for non-object types.
   3671  1.1  mrg 	(any::_Manager_internal<_Op>): Add dummy specialization.
   3672  1.1  mrg 	* testsuite/experimental/any/misc/any_cast.cc: Test function types
   3673  1.1  mrg 	and array types.
   3674  1.1  mrg 
   3675  1.1  mrg 2019-05-22  Jonathan Wakely  <jwakely (a] redhat.com>
   3676  1.1  mrg 
   3677  1.1  mrg 	PR libstdc++/90557
   3678  1.1  mrg 	* src/c++17/fs_path.cc (path::_List::operator=(const _List&)): Fix
   3679  1.1  mrg 	reversed arguments to uninitialized_copy_n.
   3680  1.1  mrg 	* testsuite/27_io/filesystem/path/assign/copy.cc: Check that source
   3681  1.1  mrg 	is unchanged by copy assignment.
   3682  1.1  mrg 	* testsuite/util/testsuite_fs.h (compare_paths): Use std::equal to
   3683  1.1  mrg 	compare path components.
   3684  1.1  mrg 
   3685  1.1  mrg 	PR libstdc++/77691
   3686  1.1  mrg 	* include/experimental/memory_resource: Add system header pragma and
   3687  1.1  mrg 	do not define anything unless compiled as C++14 or later.
   3688  1.1  mrg 	(__resource_adaptor_common::__guaranteed_alignment): Remove.
   3689  1.1  mrg 	(__resource_adaptor_imp::do_allocate): If the requested alignment
   3690  1.1  mrg 	is a fundamental alignment then either allocate directly from _M_alloc
   3691  1.1  mrg 	or call the new _M_allocate function.
   3692  1.1  mrg 	(__resource_adaptor_imp::do_deallocate): Likewise for deallocation.
   3693  1.1  mrg 	(__resource_adaptor_imp::_M_allocate): New function that uses a copy
   3694  1.1  mrg 	of the allocator rebound to a POD type with the specified alignment.
   3695  1.1  mrg 	(__resource_adaptor_imp::_M_deallocate): Likewise for deallocation.
   3696  1.1  mrg 	* testsuite/experimental/memory_resource/new_delete_resource.cc:
   3697  1.1  mrg 	Adjust expected allocation sizes.
   3698  1.1  mrg 	* testsuite/experimental/memory_resource/resource_adaptor.cc: Remove
   3699  1.1  mrg 	xfail for Solaris x86.
   3700  1.1  mrg 
   3701  1.1  mrg 2019-05-21  Thomas Rodgers  <trodgers (a] redhat.com>
   3702  1.1  mrg 
   3703  1.1  mrg 	LWG 3062 - Unnecessary decay_t in is_execution_policy_v
   3704  1.1  mrg 	* include/pstl/execution_defs.h (__enable_if_execution_policy):
   3705  1.1  mrg 	Use std::__remove_cvref_t when building with GCC.
   3706  1.1  mrg 
   3707  1.1  mrg 2019-05-21  Jonathan Wakely  <jwakely (a] redhat.com>
   3708  1.1  mrg 
   3709  1.1  mrg 	PR libstdc++/90252
   3710  1.1  mrg 	* testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
   3711  1.1  mrg 	Use "additional_flags" to pass -ltbb to v3_target_compile command.
   3712  1.1  mrg 	Use check_v3_target_prop_cached to cache the result of the test.
   3713  1.1  mrg 
   3714  1.1  mrg 	* doc/xml/manual/shared_ptr.xml: Fix names of lock policy constants.
   3715  1.1  mrg 
   3716  1.1  mrg 2019-05-20  Thomas Rodgers  <trodgers (a] redhat.com>
   3717  1.1  mrg 
   3718  1.1  mrg 	PR libstdc++/90252
   3719  1.1  mrg 	* testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
   3720  1.1  mrg 	Changed v3_target_compile check from preprocess to executable.
   3721  1.1  mrg 	Added "-ltbb" to v3_target_compile flags.
   3722  1.1  mrg 
   3723  1.1  mrg 2019-05-20  Thomas Rodgers  <trodgers (a] redhat.com>
   3724  1.1  mrg 
   3725  1.1  mrg 	* testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
   3726  1.1  mrg 	Add check for Thread Building Blocks 2018 or later.
   3727  1.1  mrg 
   3728  1.1  mrg 2019-05-20  Jonathan Wakely  <jwakely (a] redhat.com>
   3729  1.1  mrg 
   3730  1.1  mrg 	* testsuite/experimental/names.cc: Only include Networking TS headers
   3731  1.1  mrg 	on targets with the necessary Gthreads support.
   3732  1.1  mrg 
   3733  1.1  mrg 2019-05-20  Marek Polacek  <polacek (a] redhat.com>
   3734  1.1  mrg 
   3735  1.1  mrg 	CWG 2094 - volatile scalars are trivially copyable.
   3736  1.1  mrg 	PR c++/85679
   3737  1.1  mrg 	* testsuite/20_util/is_trivially_copyable/value.cc: Change the expected
   3738  1.1  mrg 	result for volatile int.
   3739  1.1  mrg 
   3740  1.1  mrg 2019-05-20  Jonathan Wakely  <jwakely (a] redhat.com>
   3741  1.1  mrg 
   3742  1.1  mrg 	* testsuite/17_intro/names.cc: Do not check 'ptr' on Solaris.
   3743  1.1  mrg 	* testsuite/experimental/names.cc: Include <experimental/filesystem>
   3744  1.1  mrg 	conditionally.
   3745  1.1  mrg 
   3746  1.1  mrg 	PR c++/90532 Ensure __is_constructible(T[]) is false
   3747  1.1  mrg 	* include/std/type_traits (__do_is_default_constructible_impl)
   3748  1.1  mrg 	(__is_default_constructible_atom, __is_default_constructible_safe):
   3749  1.1  mrg 	Remove.
   3750  1.1  mrg 	(is_default_constructible): Use is_constructible.
   3751  1.1  mrg 	* testsuite/20_util/is_constructible/value.cc: Check int[] case.
   3752  1.1  mrg 	* testsuite/20_util/is_default_constructible/value.cc: Likewise.
   3753  1.1  mrg 	* testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
   3754  1.1  mrg 	* testsuite/20_util/is_trivially_default_constructible/value.cc:
   3755  1.1  mrg 	Likewise.
   3756  1.1  mrg 
   3757  1.1  mrg 2019-05-20  Pdraig Brady  <pbrady (a] fb.com>
   3758  1.1  mrg 
   3759  1.1  mrg 	* libstdc++-v3/include/ext/new_allocator.h (deallocate): Pass the size
   3760  1.1  mrg 	to the deallocator with -fsized-deallocation.
   3761  1.1  mrg 
   3762  1.1  mrg 2019-05-20  Jonathan Wakely  <jwakely (a] redhat.com>
   3763  1.1  mrg 
   3764  1.1  mrg 	* testsuite/experimental/memory_resource/new_delete_resource.cc: Fix
   3765  1.1  mrg 	test by passing correct alignment to deallocate function.
   3766  1.1  mrg 
   3767  1.1  mrg 2019-05-18  Jonathan Wakely  <jwakely (a] redhat.com>
   3768  1.1  mrg 
   3769  1.1  mrg 	PR libstdc++/90520
   3770  1.1  mrg 	* python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__):
   3771  1.1  mrg 	Raise exception if unique_ptr tuple member has unknown structure.
   3772  1.1  mrg 	* python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker.__call__):
   3773  1.1  mrg 	Adjust worker to support new __uniq_ptr_data base class. Do not
   3774  1.1  mrg 	assume field called _M_head_impl is the first tuple element.
   3775  1.1  mrg 
   3776  1.1  mrg 2019-05-17  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3777  1.1  mrg 
   3778  1.1  mrg 	* include/bits/stl_deque.h
   3779  1.1  mrg 	(_Deque_iterator<>::__ptr_to): Remove, use std::__ptr_rebind.
   3780  1.1  mrg 	(_Deque_base(_Deque_base&&, const allocator_type&)): New.
   3781  1.1  mrg 	(_Deque_base::_Deque_impl_data): New.
   3782  1.1  mrg 	(_Deque_base::_Deque_impl): Inherit latter.
   3783  1.1  mrg 	(_Deque_base::_Deque_impl::_M_swap_data): Move...
   3784  1.1  mrg 	(_Deque_base::_Deque_impl_data::_M_swap_data): ... here.
   3785  1.1  mrg 	(_Deque_base::_Deque_impl()): Add noexcept qualification.
   3786  1.1  mrg 	(_Deque_base::_Deque_impl(_Deque_impl&&, _Tp_alloc_type&&)): New.
   3787  1.1  mrg 	(_Deque_base::_Deque_impl::_M_get_Tp_allocator()): Remove static_cast.
   3788  1.1  mrg 	(deque<>::deque()): Default.
   3789  1.1  mrg 	(deque<>::deque(deque&&)): Default.
   3790  1.1  mrg 	(deque<>::deque(deque&&, const allocator_type&, false_type)): New.
   3791  1.1  mrg 	(deque<>::deque(deque&&, const allocator_type&, true_type)): New.
   3792  1.1  mrg 	(deque<>::deque(deque&&, const allocator_type&)): Delegate to latters.
   3793  1.1  mrg 	(deque<>::deque<_It>(_It, _It, const allocator_type&)): Use
   3794  1.1  mrg 	_M_range_initialize.
   3795  1.1  mrg 	(deque<>::assign<_It>(_It, _It)): Use _M_assign_aux.
   3796  1.1  mrg 	(deque<>::resize(size_type, const value_type&)): Share a single
   3797  1.1  mrg 	implementation.
   3798  1.1  mrg 	(deque<>::insert<_It>(const_iterator, _It, _It)): Use
   3799  1.1  mrg 	_M_range_insert_aux.
   3800  1.1  mrg 	[__cplusplus >= 201103L](_M_initialize_dispatch): Remove.
   3801  1.1  mrg 	[__cplusplus >= 201103L](_M_assign_dispatch): Remove.
   3802  1.1  mrg 	[__cplusplus >= 201103L](_M_insert_dispatch): Remove.
   3803  1.1  mrg 	* testsuite/23_containers/deque/allocator/default_init.cc: New.
   3804  1.1  mrg 
   3805  1.1  mrg 2019-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   3806  1.1  mrg 
   3807  1.1  mrg 	PR libstdc++/90246
   3808  1.1  mrg 	* include/std/variant (holds_alternative, get, get_if): Improve
   3809  1.1  mrg 	static assertion messages.
   3810  1.1  mrg 	(bad_variant_access::bad_variant_access()): Change default message.
   3811  1.1  mrg 	(__throw_bad_variant_access(bool)): New overload.
   3812  1.1  mrg 	(get): Use new overload.
   3813  1.1  mrg 	(visit, visit<R>): Improve exception message.
   3814  1.1  mrg 
   3815  1.1  mrg 	* testsuite/20_util/variant/compile.cc: Fix narrowing test for ILP32
   3816  1.1  mrg 	targets. Add more cases from P0608R3.
   3817  1.1  mrg 	* testsuite/20_util/variant/run.cc: Add more cases from P0608R3.
   3818  1.1  mrg 
   3819  1.1  mrg 	* include/bits/random.h (seed_seq::param): Fix non-reserved name.
   3820  1.1  mrg 	* include/experimental/type_traits (is_detected_exact)
   3821  1.1  mrg 	(is_detected_exact_v): Likewise.
   3822  1.1  mrg 	* include/pstl/execution_defs.h (is_execution_policy)
   3823  1.1  mrg 	(is_execution_policy_v, __enable_if_execution_policy): Likewise.
   3824  1.1  mrg 	* include/pstl/execution_impl.h (__policy_traits): Likewise.
   3825  1.1  mrg 	* testsuite/17_intro/names.cc: Check for more non-reserved names.
   3826  1.1  mrg 	* testsuite/experimental/names.cc: New test.
   3827  1.1  mrg 
   3828  1.1  mrg 	PR libstdc++/85965
   3829  1.1  mrg 	* include/bits/hashtable.h (_Hashtable::~_Hashtable()): Remove static
   3830  1.1  mrg 	assertions from the destructor.
   3831  1.1  mrg 	* include/bits/hashtable_policy.h (_Hash_code_base::_M_hash_code):
   3832  1.1  mrg 	Move static_assert for hash function to here.
   3833  1.1  mrg 	(_Hash_table_base::_M_equals): Move static_assert for equality
   3834  1.1  mrg 	predicate to here.
   3835  1.1  mrg 	* include/bits/stl_tree.h (_Rb_tree::_S_value(_Const_Link_type)):
   3836  1.1  mrg 	Remove.
   3837  1.1  mrg 	(_Rb_tree::_S_key(_Const_Link_type)): Move assertions here. Access
   3838  1.1  mrg 	the value directly instead of calling _S_value.
   3839  1.1  mrg 	(_Rb_tree::_S_value(_Const_Base_ptr)): Remove.
   3840  1.1  mrg 	(_Rb_tree::_S_key(_Const_Base_ptr)): Do downcast and forward to
   3841  1.1  mrg 	_S_key(_Const_Link_type).
   3842  1.1  mrg 	* testsuite/23_containers/set/85965.cc: Check construction,
   3843  1.1  mrg 	destruction, assignment and size() do not trigger the assertions.
   3844  1.1  mrg 	* testsuite/23_containers/unordered_set/85965.cc: Likewise.
   3845  1.1  mrg 	* testsuite/23_containers/map/48101_neg.cc: Call find and adjust
   3846  1.1  mrg 	expected errors.
   3847  1.1  mrg 	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
   3848  1.1  mrg 	* testsuite/23_containers/multiset/48101_neg.cc: Likewise.
   3849  1.1  mrg 	* testsuite/23_containers/set/48101_neg.cc: Likewise.
   3850  1.1  mrg 	* testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
   3851  1.1  mrg 	* testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
   3852  1.1  mrg 	* testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
   3853  1.1  mrg 	* testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
   3854  1.1  mrg 
   3855  1.1  mrg 	* include/bits/invoke.h [__cplusplus < 201703L] (__invoke_r<void>):
   3856  1.1  mrg 	Use _GLIBCXX14_CONSTEXPR because void functions cannot be constexpr
   3857  1.1  mrg 	in C++11.
   3858  1.1  mrg 
   3859  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Update P0608R3, P0777R1, and
   3860  1.1  mrg 	P1165R1 entries.
   3861  1.1  mrg 	* doc/html/*: Regenerate.
   3862  1.1  mrg 	* include/std/tuple (make_from_tuple): Use remove_reference_t instead
   3863  1.1  mrg 	of decay_t (P0777R1).
   3864  1.1  mrg 
   3865  1.1  mrg 2019-05-17  Franois Dumont  <fdumont (a] gcc.gnu.org>
   3866  1.1  mrg 
   3867  1.1  mrg 	Move from state of allocators (LWG2593)
   3868  1.1  mrg 	* include/bits/stl_deque.h
   3869  1.1  mrg 	(_Deque_base(_Deque_base&&, false_type)): Remove.
   3870  1.1  mrg 	(_Deque_base(_Deque_base&&, true_type)): Remove.
   3871  1.1  mrg 	(_Deque_base(_Deque_base&&)): Adapt.
   3872  1.1  mrg 	(_Deque_base::_M_move_impl()): Remove.
   3873  1.1  mrg 	* testsuite/util/testsuite_allocator.h
   3874  1.1  mrg 	(propagating_allocator(propagating_allocator&&)): Preserve move from
   3875  1.1  mrg 	state.
   3876  1.1  mrg 	* testsuite/23_containers/deque/allocator/move_assign.cc (test02):
   3877  1.1  mrg 	Adapt.
   3878  1.1  mrg 	* testsuite/23_containers/forward_list/allocator/move_assign.cc (test02):
   3879  1.1  mrg 	Adapt.
   3880  1.1  mrg 	* testsuite/23_containers/list/allocator/move_assign.cc (test02): Adapt.
   3881  1.1  mrg 	* testsuite/23_containers/map/allocator/move_assign.cc (test02): Adapt.
   3882  1.1  mrg 	* testsuite/23_containers/multimap/allocator/move_assign.cc (test02):
   3883  1.1  mrg 	Adapt.
   3884  1.1  mrg 	* testsuite/23_containers/multiset/allocator/move_assign.cc (test02):
   3885  1.1  mrg 	Adapt.
   3886  1.1  mrg 	* testsuite/23_containers/set/allocator/move_assign.cc (test02): Adapt.
   3887  1.1  mrg 	* testsuite/23_containers/unordered_map/allocator/move_assign.cc
   3888  1.1  mrg 	(test02): Adapt.
   3889  1.1  mrg 	* testsuite/23_containers/unordered_multimap/allocator/move_assign.cc
   3890  1.1  mrg 	(test02): Adapt.
   3891  1.1  mrg 	* testsuite/23_containers/unordered_multiset/allocator/move_assign.cc
   3892  1.1  mrg 	(test02): Adapt.
   3893  1.1  mrg 	* testsuite/23_containers/unordered_set/allocator/move_assign.cc
   3894  1.1  mrg 	(test02): Adapt.
   3895  1.1  mrg 	* testsuite/23_containers/vector/allocator/move_assign.cc (test02):
   3896  1.1  mrg 	Adapt.
   3897  1.1  mrg 	* testsuite/23_containers/vector/bool/allocator/move_assign.cc (test02):
   3898  1.1  mrg 	Adapt.
   3899  1.1  mrg 	* testsuite/21_strings/basic_string/allocator/char/move_assign.cc
   3900  1.1  mrg 	(test02): Adapt.
   3901  1.1  mrg 	* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc
   3902  1.1  mrg 	(test02): Adapt.
   3903  1.1  mrg 
   3904  1.1  mrg 2019-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3905  1.1  mrg 
   3906  1.1  mrg 	* src/c++17/fs_ops.cc (absolute(const path&, error_code&))
   3907  1.1  mrg 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove bogus assertion.
   3908  1.1  mrg 
   3909  1.1  mrg 	* include/std/variant (__overload_set): Remove.
   3910  1.1  mrg 	(_Arr): New helper.
   3911  1.1  mrg 	(_Build_FUN): New class template to define a single FUN overload,
   3912  1.1  mrg 	with specializations to prevent unwanted conversions, as per P0608R3.
   3913  1.1  mrg 	(_Build_FUNs): New class template to build an overload set of FUN.
   3914  1.1  mrg 	(_FUN_type): New alias template to perform overload resolution.
   3915  1.1  mrg 	(__accepted_type): Use integer_constant base for failure case. Use
   3916  1.1  mrg 	_FUN_type for successful case.
   3917  1.1  mrg 	(variant::__accepted_index): Use _Tp instead of _Tp&&.
   3918  1.1  mrg 	(variant::variant(_Tp&&)): Likewise.
   3919  1.1  mrg 	(variant::operator=(_Tp&&)): Likewise.
   3920  1.1  mrg 
   3921  1.1  mrg 	* include/std/variant (_Variant_storage<false, _Types...>::_M_reset):
   3922  1.1  mrg 	Replace raw visitation with a runtime check for the valueless state
   3923  1.1  mrg 	and a non-raw visitor.
   3924  1.1  mrg 	(_Variant_storage<false, _Types...>::_M_reset_impl): Remove.
   3925  1.1  mrg 	(variant::index()): Remove branch.
   3926  1.1  mrg 	(variant::swap(variant&)): Use valueless_by_exception() instead of
   3927  1.1  mrg 	comparing the index to variant_npos, and add likelihood attribute.
   3928  1.1  mrg 
   3929  1.1  mrg 	* include/bits/hashtable_policy.h (_Equal_helper): Remove.
   3930  1.1  mrg 	(_Hashtable_base::_Equal_hash_code): Define new class template.
   3931  1.1  mrg 	(_Hashtable_base::_M_equals): Use _Equal_hash_code instead of
   3932  1.1  mrg 	_Equal_helper.
   3933  1.1  mrg 
   3934  1.1  mrg 	* include/bits/hashtable_policy.h (_Hashtable_ebo_helper::_S_get):
   3935  1.1  mrg 	Replace with _M_get non-static member function.
   3936  1.1  mrg 	(_Hashtable_ebo_helper::_S_cget): Replace with _M_cget non-static
   3937  1.1  mrg 	member function.
   3938  1.1  mrg 	(_Hash_code_base, _Local_iterator_base, _Hashtable_base):
   3939  1.1  mrg 	(_Hashtable_alloc): Adjust to use non-static members of EBO helper.
   3940  1.1  mrg 
   3941  1.1  mrg 	* include/bits/hashtable_policy.h (_Hash_code_base::_M_swap): Use
   3942  1.1  mrg 	_S_get accessors for members in EBO helpers.
   3943  1.1  mrg 	(_Hash_code_base::_M_extract(), _Hash_code_base::_M_ranged_hash())
   3944  1.1  mrg 	(_Hash_code_base::_M_h1(), _Hash_code_base::_M_h2()): Remove non-const
   3945  1.1  mrg 	overloads.
   3946  1.1  mrg 	(_Hashtable_base::_M_swap): Use _S_get accessors for members in EBO
   3947  1.1  mrg 	helpers.
   3948  1.1  mrg 	(_Hashtable_base::_M_eq()): Remove non-const overload.
   3949  1.1  mrg 
   3950  1.1  mrg 2019-05-15  Jonathan Wakely  <jwakely (a] redhat.com>
   3951  1.1  mrg 
   3952  1.1  mrg 	* include/std/variant (visit, visit<R>): Qualify calls to __do_visit.
   3953  1.1  mrg 
   3954  1.1  mrg 2019-05-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3955  1.1  mrg 
   3956  1.1  mrg 	* testsuite/util/testsuite_allocator.h (NullablePointer::operator bool):
   3957  1.1  mrg 	Fix return value.
   3958  1.1  mrg 
   3959  1.1  mrg 2019-05-14  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   3960  1.1  mrg 
   3961  1.1  mrg 	* config/os/solaris/solaris2.10: Move to ...
   3962  1.1  mrg 	* config/os/solaris: ... this.
   3963  1.1  mrg 	* configure.host (os_include_dir): Adapt.
   3964  1.1  mrg 	(abi_baseline_pair): Remove Solaris 10 handling.
   3965  1.1  mrg 	* config/abi/post/i386-solaris2.10: Remove.
   3966  1.1  mrg 	* config/abi/post/sparc-solaris2.10: Remove.
   3967  1.1  mrg 	* config/abi/post/i386-solaris2.11: Rename to ...
   3968  1.1  mrg 	* config/abi/post/i386-solaris: ... this.
   3969  1.1  mrg 	* config/abi/post/sparc-solaris2.11: Rename to ...
   3970  1.1  mrg 	* config/abi/post/sparc-solaris: ... this.
   3971  1.1  mrg 
   3972  1.1  mrg 	* libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] [__sun]: Remove
   3973  1.1  mrg 	workaround.
   3974  1.1  mrg 
   3975  1.1  mrg 	* testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.10
   3976  1.1  mrg 	xfail.
   3977  1.1  mrg 
   3978  1.1  mrg 2019-05-14  Jonathan Wakely  <jwakely (a] redhat.com>
   3979  1.1  mrg 
   3980  1.1  mrg 	* include/std/variant (__visit_with_index): Remove typedef.
   3981  1.1  mrg 	(__deduce_visit_result): New tag type.
   3982  1.1  mrg 	(__raw_visit, __raw_idx_visit): New helper functions for "raw"
   3983  1.1  mrg 	visitation of possibly-valueless variants, forwarding to __do_visit
   3984  1.1  mrg 	with the relevant tag type.
   3985  1.1  mrg 	(_Variant_storage<false, _Types...>::_M_reset_impl): Use __raw_visit
   3986  1.1  mrg 	and make lambda return void.
   3987  1.1  mrg 	(__variant_construct): Likewise.
   3988  1.1  mrg 	(_Copy_assign_base::operator=, _Move_assign_base::operator=): Use
   3989  1.1  mrg 	__raw_idx_visit and make lambda return void.
   3990  1.1  mrg 	(_Multi_array::__untag_result): Add metafunction to check the function
   3991  1.1  mrg 	pointer type for a tag type that dictates the kind of visitation.
   3992  1.1  mrg 	(_Multi_array<_Ret(*)(_Visitor, _Variants...), __first, __rest...>):
   3993  1.1  mrg 	Use decltype(auto) instead of tagged function pointer type.
   3994  1.1  mrg 	(__gen_vtable_impl): Remove bool non-type parameter and unused
   3995  1.1  mrg 	_Variant_tuple parameter.
   3996  1.1  mrg 	(__gen_vtable_impl::__visit_invoke_impl): Remove.
   3997  1.1  mrg 	(__gen_vtable_impl::__do_visit_invoke): Remove.
   3998  1.1  mrg 	(__gen_vtable_impl::__do_visit_invoke_r): Remove.
   3999  1.1  mrg 	(__gen_vtable_impl::__visit_invoke): Use if-constexpr and __invoke_r
   4000  1.1  mrg 	for the visit<R> case, rather than dispatching to separate functions.
   4001  1.1  mrg 	(_VARIANT_RELATION_FUNCTION_TEMPLATE): Use __raw_idx_visit and make
   4002  1.1  mrg 	lambda return void.
   4003  1.1  mrg 	(variant::swap): Likewise.
   4004  1.1  mrg 	(__do_visit): Replace two non-type template parameters with a single
   4005  1.1  mrg 	type parameter, so that the caller must specify the visitor's return
   4006  1.1  mrg 	type (or one of the tag types).
   4007  1.1  mrg 	(visit): Deduce a return type from the visitor and use the
   4008  1.1  mrg 	__deduce_visit_result tag to enforce that all overloads return the
   4009  1.1  mrg 	same type.
   4010  1.1  mrg 	(visit<R>): Call __do_visit<R> with explicit result type.
   4011  1.1  mrg 	(__variant_hash_call_base_impl::operator()): Use __raw_visit and make
   4012  1.1  mrg 	lambda return void.
   4013  1.1  mrg 
   4014  1.1  mrg 2019-05-14  Nina Dinka Ranns  <dinka.ranns (a] gmail.com>
   4015  1.1  mrg 
   4016  1.1  mrg 	nonesuch is insufficiently useless (lwg2996)
   4017  1.1  mrg 	* include/std/type_traits (struct __nonesuch): Added private base
   4018  1.1  mrg 	class to make __nonesuch not an aggregate and removed deleted default
   4019  1.1  mrg 	constructor.
   4020  1.1  mrg 	* include/bits/stl_pair.h (struct __nonesuch_no_braces): Removed.
   4021  1.1  mrg 	(operator=(const pair&)): Use __nonesuch instead of
   4022  1.1  mrg 	__nonesuch_no_braces.
   4023  1.1  mrg 	(operator=(pair&&)): Likewise
   4024  1.1  mrg 	* include/std/tuple (operator=(const tuple&)): Use __nonesuch instead
   4025  1.1  mrg 	of __nonesuch_no_braces.
   4026  1.1  mrg 	(operator=(tuple&&)): Likewise
   4027  1.1  mrg 	* include/experimental/type_traits (struct nonesuch): Added private
   4028  1.1  mrg 	base class to make nonesuch not an aggregate and removed deleted
   4029  1.1  mrg 	default constructor.
   4030  1.1  mrg 	* testsuite/20_util/nonesuch/nonesuch.cc: New.
   4031  1.1  mrg 	* testsuite/experimental/type_traits/nonesuch.cc: New.
   4032  1.1  mrg 
   4033  1.1  mrg 2019-05-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4034  1.1  mrg 
   4035  1.1  mrg 	* include/bits/std_function.h (_Simple_type_wrapper): Remove.
   4036  1.1  mrg 	(_Function_handler): Remove partial specializations for void return
   4037  1.1  mrg 	types and pointers to member.
   4038  1.1  mrg 	(_Function_handler::_M_manager): Adapt to removal of
   4039  1.1  mrg 	_Simple_type_wrapper.
   4040  1.1  mrg 	(_Function_handler::_M_invoke): Use __invoke_r instead of __invoke.
   4041  1.1  mrg 	* include/std/functional (_Bind_result::__enable_if_void)
   4042  1.1  mrg 	(_Bind_result::__disable_if_void): Remove sfinae helpers.
   4043  1.1  mrg 	(_Bind_result::__call): Use __invoke_r and remove overloads for void
   4044  1.1  mrg 	return types.
   4045  1.1  mrg 	* include/std/future (__future_base::_Task_state::_M_run)
   4046  1.1  mrg 	(__future_base::_Task_state::_M_run_delayed): Use __invoke_r and
   4047  1.1  mrg 	change return type of lambda expressions.
   4048  1.1  mrg 
   4049  1.1  mrg 	* include/bits/invoke.h (__invoke_r): Define new function implementing
   4050  1.1  mrg 	the INVOKE<R> pseudo-function.
   4051  1.1  mrg 	* testsuite/20_util/function_objects/invoke/1.cc: Add more tests.
   4052  1.1  mrg 	* testsuite/20_util/function_objects/invoke/2.cc: New test.
   4053  1.1  mrg 
   4054  1.1  mrg 	* include/std/type_traits (__is_nt_convertible_helper): Define it
   4055  1.1  mrg 	unconditionally, not only for C++20.
   4056  1.1  mrg 	(__is_nothrow_convertible): Define internal trait for use in C++11.
   4057  1.1  mrg 	(__is_nt_invocable_impl: Fix by using __is_nothrow_convertible.
   4058  1.1  mrg 	(is_invocable_r_v, is_nothrow_invocable_r_v): Add missing parameter.
   4059  1.1  mrg 	* testsuite/20_util/is_nothrow_convertible/value_ext.cc: New test.
   4060  1.1  mrg 	* testsuite/20_util/is_nothrow_convertible/value.cc: Check with type
   4061  1.1  mrg 	that has nothrow explicit conversion but potentially-throwing implicit
   4062  1.1  mrg 	conversion.
   4063  1.1  mrg 	* testsuite/20_util/is_nothrow_invocable/value.cc: Likewise.
   4064  1.1  mrg 	* testsuite/20_util/is_nothrow_invocable/value_ext.cc: Fix helper
   4065  1.1  mrg 	function to only consider implicit conversions.
   4066  1.1  mrg 	* testsuite/20_util/tuple/cons/noexcept_specs.cc: Add comment.
   4067  1.1  mrg 
   4068  1.1  mrg 	* include/std/iterator: Include <iosfwd> instead of <istream> and
   4069  1.1  mrg 	<ostream>.
   4070  1.1  mrg 
   4071  1.1  mrg 	* include/bits/stl_tree.h (_Rb_tree::erase(const Key*, const Key*)):
   4072  1.1  mrg 	Remove unused, non-standard function.
   4073  1.1  mrg 
   4074  1.1  mrg 	* include/bits/regex.h (match_results::max_size()): Adjust return
   4075  1.1  mrg 	value to account for prefix/suffix/unmatched subs.
   4076  1.1  mrg 	(match_results::_M_resize(unsigned int)): Use _Base_type::assign to
   4077  1.1  mrg 	reset the contained sub matches.
   4078  1.1  mrg 	(match_results::_M_establish_failed_match(_Bi_iter)): Add new member
   4079  1.1  mrg 	function to set result state following a failed match.
   4080  1.1  mrg 	* include/bits/regex.tcc (__regex_algo_impl): Remove loop to set
   4081  1.1  mrg 	sub_match states after _M_resize. Use _M_establish_failed_match.
   4082  1.1  mrg 
   4083  1.1  mrg 	PR libstdc++/69724
   4084  1.1  mrg 	* include/std/thread (thread::_State_impl, thread::_S_make_state):
   4085  1.1  mrg 	Replace single _Callable parameter with variadic _Args pack, to
   4086  1.1  mrg 	forward them directly to the tuple of decayed copies.
   4087  1.1  mrg 	* testsuite/30_threads/thread/cons/69724.cc: New test.
   4088  1.1  mrg 
   4089  1.1  mrg 2019-05-14  Nina Dinka Ranns  <dinka.ranns (a] gmail.com>
   4090  1.1  mrg 
   4091  1.1  mrg 	Inconsistency wrt Allocators in basic_string assignment (LWG2579)
   4092  1.1  mrg 	* include/bits/basic_string.h: (operator=(const basic_string&):
   4093  1.1  mrg 	Move allocator decision to assign.
   4094  1.1  mrg 	(assign(const basic_string&)): Move allocator decision here.
   4095  1.1  mrg 	* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
   4096  1.1  mrg 	Add tests.
   4097  1.1  mrg 	* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
   4098  1.1  mrg 	Add tests.
   4099  1.1  mrg 
   4100  1.1  mrg 2019-05-14  Jonathan Wakely  <jwakely (a] redhat.com>
   4101  1.1  mrg 
   4102  1.1  mrg 	* testsuite/util/testsuite_allocator.h (memory_resource)
   4103  1.1  mrg 	(default_resource_mgr): Fix indentation.
   4104  1.1  mrg 
   4105  1.1  mrg 	* testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
   4106  1.1  mrg 	Use operator-> to access raw pointer member.
   4107  1.1  mrg 	* testsuite/23_containers/vector/59829.cc: Likewise.
   4108  1.1  mrg 	* testsuite/23_containers/vector/bool/80893.cc: Likewise.
   4109  1.1  mrg 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Use NullablePointer.
   4110  1.1  mrg 	* testsuite/util/testsuite_allocator.h (NullablePointer): New utility
   4111  1.1  mrg 	for tests.
   4112  1.1  mrg 	(PointerBase, PointerBase_void): Derive from NullablePointer and use
   4113  1.1  mrg 	its constructors and equality operators. Change converting
   4114  1.1  mrg 	constructors to use operator-> to access private member of the other
   4115  1.1  mrg 	pointer type.
   4116  1.1  mrg 	(PointerBase_void::operator->()): Add, for access to private member.
   4117  1.1  mrg 	(operator-(PointerBase, PointerBase)): Change to hidden friend.
   4118  1.1  mrg 	(operator==(PointerBase, PointerBase)): Remove.
   4119  1.1  mrg 	(operator!=(PointerBase, PointerBase)): Remove.
   4120  1.1  mrg 
   4121  1.1  mrg 	* python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__): Do
   4122  1.1  mrg 	not assume field called _M_head_impl is the first tuple element.
   4123  1.1  mrg 	* testsuite/libstdc++-prettyprinters/compat.cc: Make tuple
   4124  1.1  mrg 	implementation more accurate.
   4125  1.1  mrg 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Check unique_ptr with
   4126  1.1  mrg 	empty pointer type and non-empty deleter.
   4127  1.1  mrg 
   4128  1.1  mrg 	LWG 2899 - Make is_move_constructible correct for unique_ptr
   4129  1.1  mrg 	* include/bits/unique_ptr.h (__uniq_ptr_impl): Add move constructor,
   4130  1.1  mrg 	move assignment operator.
   4131  1.1  mrg 	(__uniq_ptr_impl::release(), __uniq_ptr_impl::reset(pointer)): Add.
   4132  1.1  mrg 	(__uniq_ptr_data): New class template with conditionally deleted
   4133  1.1  mrg 	special members.
   4134  1.1  mrg 	(unique_ptr, unique_ptr<T[], D>): Change type of data member from
   4135  1.1  mrg 	__uniq_ptr_impl<T, D> to __uniq_ptr_data<T, D>. Define move
   4136  1.1  mrg 	constructor and move assignment operator as defaulted.
   4137  1.1  mrg 	(unique_ptr::release(), unique_ptr<T[], D>::release()): Forward to
   4138  1.1  mrg 	__uniq_ptr_impl::release().
   4139  1.1  mrg 	(unique_ptr::reset(pointer), unique_ptr<T[], D>::reset<U>(U)): Forward
   4140  1.1  mrg 	to __uniq_ptr_impl::reset(pointer).
   4141  1.1  mrg 	* python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__):
   4142  1.1  mrg 	Check for new __uniq_ptr_data type.
   4143  1.1  mrg 	* testsuite/20_util/unique_ptr/dr2899.cc: New test.
   4144  1.1  mrg 
   4145  1.1  mrg 2019-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4146  1.1  mrg 
   4147  1.1  mrg 	PR libstdc++/90454.cc path construction from void*
   4148  1.1  mrg 	* include/bits/fs_path.h (path::_Path): Use remove_pointer so that
   4149  1.1  mrg 	pointers to void are rejected as well as void.
   4150  1.1  mrg 	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
   4151  1.1  mrg 	* testsuite/27_io/filesystem/path/construct/80762.cc: Also check
   4152  1.1  mrg 	pointers to void.
   4153  1.1  mrg 	* testsuite/experimental/filesystem/path/construct/80762.cc: Likewise.
   4154  1.1  mrg 
   4155  1.1  mrg 	* doc/xml/manual/policy_data_structures.xml: Comment out stray
   4156  1.1  mrg 	<remark> elements. Fix formatting of bibliography references.
   4157  1.1  mrg 
   4158  1.1  mrg 2019-05-13  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   4159  1.1  mrg 
   4160  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Document P0811R3 status.
   4161  1.1  mrg 
   4162  1.1  mrg 2019-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   4163  1.1  mrg 
   4164  1.1  mrg 	Remove Profile Mode, deprecated since 7.1.0
   4165  1.1  mrg 	* doc/Makefile.am: Remove XML file for profile mode docs.
   4166  1.1  mrg 	* doc/Makefile.in: Regenerate.
   4167  1.1  mrg 	* doc/xml/authors.xml: Remove authors of profile mode docs.
   4168  1.1  mrg 	* doc/xml/manual/appendix_contributing.xml: Remove mention of profile
   4169  1.1  mrg 	mode.
   4170  1.1  mrg 	* doc/xml/manual/debug.xml: Likewise.
   4171  1.1  mrg 	* doc/xml/manual/evolution.xml: Document removal of profile mode.
   4172  1.1  mrg 	* doc/xml/manual/profile_mode.xml: Remove profile mode docs.
   4173  1.1  mrg 	* doc/xml/manual/spine.xml: Remove profile mode author credit.
   4174  1.1  mrg 	* doc/xml/manual/test.xml: Remove docs for dg-require-profile-mode
   4175  1.1  mrg 	directive.
   4176  1.1  mrg 	* doc/xml/manual/using.xml: Remove docs for profile mode headers and
   4177  1.1  mrg 	macro.
   4178  1.1  mrg 	* doc/html/*: Regenerate.
   4179  1.1  mrg 	* include/Makefile.am: Remove profile mode headers.
   4180  1.1  mrg 	* include/Makefile.in: Regenerate.
   4181  1.1  mrg 	* include/bits/c++config (std::__profile): Remove namespace.
   4182  1.1  mrg 	[_GLIBCXX_PROFILE]: Remove checks for macro.
   4183  1.1  mrg 	* include/profile/array: Remove.
   4184  1.1  mrg 	* include/profile/base.h: Remove.
   4185  1.1  mrg 	* include/profile/bitset: Remove.
   4186  1.1  mrg 	* include/profile/deque: Remove.
   4187  1.1  mrg 	* include/profile/forward_list: Remove.
   4188  1.1  mrg 	* include/profile/impl/profiler.h: Remove.
   4189  1.1  mrg 	* include/profile/impl/profiler_algos.h: Remove.
   4190  1.1  mrg 	* include/profile/impl/profiler_container_size.h: Remove.
   4191  1.1  mrg 	* include/profile/impl/profiler_hash_func.h: Remove.
   4192  1.1  mrg 	* include/profile/impl/profiler_hashtable_size.h: Remove.
   4193  1.1  mrg 	* include/profile/impl/profiler_list_to_slist.h: Remove.
   4194  1.1  mrg 	* include/profile/impl/profiler_list_to_vector.h: Remove.
   4195  1.1  mrg 	* include/profile/impl/profiler_map_to_unordered_map.h: Remove.
   4196  1.1  mrg 	* include/profile/impl/profiler_node.h: Remove.
   4197  1.1  mrg 	* include/profile/impl/profiler_state.h: Remove.
   4198  1.1  mrg 	* include/profile/impl/profiler_trace.h: Remove.
   4199  1.1  mrg 	* include/profile/impl/profiler_vector_size.h: Remove.
   4200  1.1  mrg 	* include/profile/impl/profiler_vector_to_list.h: Remove.
   4201  1.1  mrg 	* include/profile/iterator_tracker.h: Remove.
   4202  1.1  mrg 	* include/profile/list: Remove.
   4203  1.1  mrg 	* include/profile/map: Remove.
   4204  1.1  mrg 	* include/profile/map.h: Remove.
   4205  1.1  mrg 	* include/profile/multimap.h: Remove.
   4206  1.1  mrg 	* include/profile/multiset.h: Remove.
   4207  1.1  mrg 	* include/profile/ordered_base.h: Remove.
   4208  1.1  mrg 	* include/profile/set: Remove.
   4209  1.1  mrg 	* include/profile/set.h: Remove.
   4210  1.1  mrg 	* include/profile/unordered_base.h: Remove.
   4211  1.1  mrg 	* include/profile/unordered_map: Remove.
   4212  1.1  mrg 	* include/profile/unordered_set: Remove.
   4213  1.1  mrg 	* include/profile/vector: Remove.
   4214  1.1  mrg 	* scripts/run_doxygen: Do not process profile mode headers.
   4215  1.1  mrg 	* testsuite/23_containers/array/element_access/60497.cc: Don't use
   4216  1.1  mrg 	profile mode type.
   4217  1.1  mrg 	* testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
   4218  1.1  mrg 	Remove dg-skip-if for profile mode.
   4219  1.1  mrg 	* testsuite/23_containers/forward_list/capacity/1.cc: Remove
   4220  1.1  mrg 	preprocessor check for profile mode.
   4221  1.1  mrg 	* testsuite/23_containers/list/capacity/29134.cc: Likewise.
   4222  1.1  mrg 	* testsuite/23_containers/map/modifiers/extract.cc: Remove dg-skip-if
   4223  1.1  mrg 	for profile mode.
   4224  1.1  mrg 	* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
   4225  1.1  mrg 	Likewise.
   4226  1.1  mrg 	* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
   4227  1.1  mrg 	* testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
   4228  1.1  mrg 	* testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
   4229  1.1  mrg 	* testsuite/23_containers/set/modifiers/extract.cc: Likewise.
   4230  1.1  mrg 	* testsuite/23_containers/unordered_map/modifiers/extract.cc:
   4231  1.1  mrg 	Likewise.
   4232  1.1  mrg 	* testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
   4233  1.1  mrg 	Likewise.
   4234  1.1  mrg 	* testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
   4235  1.1  mrg 	Likewise.
   4236  1.1  mrg 	* testsuite/23_containers/unordered_set/modifiers/extract.cc:
   4237  1.1  mrg 	Likewise.
   4238  1.1  mrg 	* testsuite/23_containers/vector/bool/capacity/29134.cc: Remove
   4239  1.1  mrg 	preprocessor check for profile mode.
   4240  1.1  mrg 	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
   4241  1.1  mrg 	Likewise.
   4242  1.1  mrg 	* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
   4243  1.1  mrg 	Remove dg-skip-if for profile mode.
   4244  1.1  mrg 	* testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
   4245  1.1  mrg 	* testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
   4246  1.1  mrg 	* testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
   4247  1.1  mrg 	* testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
   4248  1.1  mrg 	* testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
   4249  1.1  mrg 	* testsuite/Makefile.am: Remove profile_flags variable and
   4250  1.1  mrg 	* testsuite/Makefile.am: Remove profile_flags variable and
   4251  1.1  mrg 	check-profile target.
   4252  1.1  mrg 	* testsuite/Makefile.in: Regenerate.
   4253  1.1  mrg 	* testsuite/ext/profile/all.cc: Remove.
   4254  1.1  mrg 	* testsuite/ext/profile/mutex_extensions_neg.cc: Remove.
   4255  1.1  mrg 	* testsuite/ext/profile/profiler_algos.cc: Remove.
   4256  1.1  mrg 	* testsuite/ext/profile/replace_new.cc: Remove.
   4257  1.1  mrg 	* testsuite/ext/throw_allocator/deallocate_global.cc: Remove
   4258  1.1  mrg 	preprocessor check for profile mode.
   4259  1.1  mrg 	* testsuite/ext/throw_allocator/deallocate_local.cc: Likewise.
   4260  1.1  mrg 	* testsuite/lib/libstdc++.exp (check_v3_target_profile_mode): Remove.
   4261  1.1  mrg 	(check_v3_target_normal_mode): Do not check for profile mode macro.
   4262  1.1  mrg 	* testsuite/libstdc++-prettyprinters/80276.cc: Remove dg-skip-if for
   4263  1.1  mrg 	profile mode.
   4264  1.1  mrg 	* testsuite/libstdc++-prettyprinters/compat.cc: Likewise.
   4265  1.1  mrg 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
   4266  1.1  mrg 	* testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
   4267  1.1  mrg 	* testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
   4268  1.1  mrg 	* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
   4269  1.1  mrg 	* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
   4270  1.1  mrg 	* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
   4271  1.1  mrg 	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
   4272  1.1  mrg 	* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
   4273  1.1  mrg 	* testsuite/libstdc++-prettyprinters/whatis2.cc: Likewise.
   4274  1.1  mrg 
   4275  1.1  mrg 	Remove array_allocator extension, deprecated since 4.9.0
   4276  1.1  mrg 	* doc/xml/manual/allocator.xml: Remove documentation for
   4277  1.1  mrg 	array_allocator.
   4278  1.1  mrg 	* doc/xml/manual/evolution.xml: Document array_allocator removal.
   4279  1.1  mrg 	* doc/xml/manual/using.xml: Remove header from documentation.
   4280  1.1  mrg 	* include/Makefile.am: Remove <ext/array_allocator.h> header.
   4281  1.1  mrg 	* include/Makefile.in: Regenerate.
   4282  1.1  mrg 	* include/ext/array_allocator.h: Remove.
   4283  1.1  mrg 	* include/precompiled/extc++.h: Do not include removed header.
   4284  1.1  mrg 	* testsuite/ext/array_allocator/1.cc: Remove.
   4285  1.1  mrg 	* testsuite/ext/array_allocator/2.cc: Remove.
   4286  1.1  mrg 	* testsuite/ext/array_allocator/26875.cc: Remove.
   4287  1.1  mrg 	* testsuite/ext/array_allocator/3.cc: Remove.
   4288  1.1  mrg 	* testsuite/ext/array_allocator/check_deallocate_null.cc: Remove.
   4289  1.1  mrg 	* testsuite/ext/array_allocator/check_delete.cc: Remove.
   4290  1.1  mrg 	* testsuite/ext/array_allocator/check_new.cc: Remove.
   4291  1.1  mrg 	* testsuite/ext/array_allocator/variadic_construct.cc: Remove.
   4292  1.1  mrg 	* testsuite/ext/headers.cc: Do not include removed header.
   4293  1.1  mrg 
   4294  1.1  mrg 2019-05-11  Franois Dumont  <fdumont (a] gcc.gnu.org>
   4295  1.1  mrg 
   4296  1.1  mrg 	* include/bits/stl_bvector.h
   4297  1.1  mrg 	(operator==(const _Bit_iterator_base&, const _Bit_iterator_base&)):
   4298  1.1  mrg 	Make hidden friend.
   4299  1.1  mrg 	(operator<(const _Bit_iterator_base&, const _Bit_iterator_base&)):
   4300  1.1  mrg 	Likewise.
   4301  1.1  mrg 	(operator!=(const _Bit_iterator_base&, const _Bit_iterator_base&)):
   4302  1.1  mrg 	Likewise.
   4303  1.1  mrg 	(operator>(const _Bit_iterator_base&, const _Bit_iterator_base&)):
   4304  1.1  mrg 	Likewise.
   4305  1.1  mrg 	(operator<=(const _Bit_iterator_base&, const _Bit_iterator_base&)):
   4306  1.1  mrg 	Likewise.
   4307  1.1  mrg 	(operator>=(const _Bit_iterator_base&, const _Bit_iterator_base&)):
   4308  1.1  mrg 	Likewise.
   4309  1.1  mrg 	(operator-(const _Bit_iterator_base&, const _Bit_iterator_base&)):
   4310  1.1  mrg 	Likewise.
   4311  1.1  mrg 	(_Bit_iterator::operator+(difference_type)): Likewise and allow NRVO
   4312  1.1  mrg 	copy elision.
   4313  1.1  mrg 	(_Bit_iterator::operator-(difference_type)): Likewise.
   4314  1.1  mrg 	(operator+(ptrdiff_t, const _Bit_iterator&)): Make hidden friend.
   4315  1.1  mrg 	(_Bit_const_iterator::operator+(difference_type)): Likewise and allow
   4316  1.1  mrg 	NRVO copy elision.
   4317  1.1  mrg 	(_Bit_const_iterator::operator-(difference_type)): Likewise.
   4318  1.1  mrg 	(operator+(ptrdiff_t, const _Bit_const_iterator&)): Make hidden friend.
   4319  1.1  mrg 
   4320  1.1  mrg 2019-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   4321  1.1  mrg 
   4322  1.1  mrg 	PR libstdc++/81266
   4323  1.1  mrg 	* testsuite/util/thread/all.h: Do not use remove_pointer for
   4324  1.1  mrg 	std::thread::native_handle_type.
   4325  1.1  mrg 
   4326  1.1  mrg 	PR libstdc++/90397
   4327  1.1  mrg 	* include/std/variant (_Variant_storage<false, Types...>::_M_storage())
   4328  1.1  mrg 	(_Variant_storage<true, Types...>::_M_reset()))
   4329  1.1  mrg 	(_Variant_storage<true, Types...>::_M_storage())): Add noexcept.
   4330  1.1  mrg 	(__get_storage): Likewise.
   4331  1.1  mrg 	(variant): Add noexcept to friend declarations for __get and
   4332  1.1  mrg 	__get_storage.
   4333  1.1  mrg 
   4334  1.1  mrg 	PR libstdc++/90388
   4335  1.1  mrg 	* include/bits/unique_ptr.h (default_delete, default_delete<T[]>):
   4336  1.1  mrg 	Use _Require for constraints.
   4337  1.1  mrg 	(operator>(nullptr_t, const unique_ptr<T,D>&)): Implement exactly as
   4338  1.1  mrg 	per the standard.
   4339  1.1  mrg 	(__uniq_ptr_hash): New base class with conditionally-disabled call
   4340  1.1  mrg 	operator.
   4341  1.1  mrg 	(hash<unique_ptr<T,D>>): Derive from __uniq_ptr_hash.
   4342  1.1  mrg 	* testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
   4343  1.1  mrg 	* testsuite/20_util/unique_ptr/hash/90388.cc: New test.
   4344  1.1  mrg 
   4345  1.1  mrg 	* include/bits/shared_ptr.h: Improve docs.
   4346  1.1  mrg 	* include/bits/shared_ptr_base.h: Likewise.
   4347  1.1  mrg 	* include/bits/stl_uninitialized.h: Likewise.
   4348  1.1  mrg 	* include/bits/unique_ptr.h: Likewise.
   4349  1.1  mrg 	* libsupc++/new: Likewise.
   4350  1.1  mrg 
   4351  1.1  mrg 2019-05-09  Franois Dumont  <fdumont (a] gcc.gnu.org>
   4352  1.1  mrg 
   4353  1.1  mrg 	* include/bits/stl_deque.h
   4354  1.1  mrg 	(operator==(const _Deque_iterator<>&, const _Deque_iterator<>&)):
   4355  1.1  mrg 	Make hidden friend.
   4356  1.1  mrg 	(operator!=(const _Deque_iterator<>&, const _Deque_iterator<>&)):
   4357  1.1  mrg 	Likewise.
   4358  1.1  mrg 	(operator<(const _Deque_iterator<>&, const _Deque_iterator<>&)):
   4359  1.1  mrg 	Likewise.
   4360  1.1  mrg 	(operator<=(const _Deque_iterator<>&, const _Deque_iterator<>&)):
   4361  1.1  mrg 	Likewise.
   4362  1.1  mrg 	(operator>(const _Deque_iterator<>&, const _Deque_iterator<>&)):
   4363  1.1  mrg 	Likewise.
   4364  1.1  mrg 	(operator>=(const _Deque_iterator<>&, const _Deque_iterator<>&)):
   4365  1.1  mrg 	Likewise.
   4366  1.1  mrg 	(_Deque_iterator<>::operator+(difference_type)): Likewise and allow NRVO
   4367  1.1  mrg 	copy elision.
   4368  1.1  mrg 	(_Deque_iterator<>::operator-(difference_type)): Likewise.
   4369  1.1  mrg 
   4370  1.1  mrg 2019-05-08  Franois Dumont  <fdumont (a] gcc.gnu.org>
   4371  1.1  mrg 
   4372  1.1  mrg 	PR libstdc++/90277
   4373  1.1  mrg 	* testsuite/23_containers/unordered_multiset/insert/24061-multiset.cc
   4374  1.1  mrg 	(test01): Reserve for number of insertions to avoid rehash during test.
   4375  1.1  mrg 	* testsuite/23_containers/unordered_multimap/insert/24061-multimap.cc
   4376  1.1  mrg 	(test01): Likewise.
   4377  1.1  mrg 	* testsuite/23_containers/unordered_multimap/insert/24061-multimap.cc
   4378  1.1  mrg 	(test01): Likewise.
   4379  1.1  mrg 	(test02): Likewise.
   4380  1.1  mrg 	(test03): Likewise.
   4381  1.1  mrg 
   4382  1.1  mrg 2019-05-08  Jonathan Wakely  <jwakely (a] redhat.com>
   4383  1.1  mrg 
   4384  1.1  mrg 	* include/experimental/bits/fs_path.h: Improve docs.
   4385  1.1  mrg 	* include/experimental/bits/net.h: Fix wrong header name in comment.
   4386  1.1  mrg 	Do not document implementation details.
   4387  1.1  mrg 	* include/experimental/netfwd: Fix doxygen grouping.
   4388  1.1  mrg 
   4389  1.1  mrg 2019-05-07  Jonathan Wakely  <jwakely (a] redhat.com>
   4390  1.1  mrg 
   4391  1.1  mrg 	* include/bits/stl_pair.h: Improve docs.
   4392  1.1  mrg 	* include/std/tuple: Likewise.
   4393  1.1  mrg 
   4394  1.1  mrg 	* doc/doxygen/doxygroups.cc (std::literals): Add documentation for
   4395  1.1  mrg 	inline namespace.
   4396  1.1  mrg 	* include/std/chrono: Improve docs.
   4397  1.1  mrg 	* include/std/ratio: Do not document implementation details.
   4398  1.1  mrg 	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust dg-error
   4399  1.1  mrg 	line numbers.
   4400  1.1  mrg 	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
   4401  1.1  mrg 
   4402  1.1  mrg 	PR libstdc++/89102
   4403  1.1  mrg 	* doc/xml/manual/intro.xml: Document DR 2408 and 2465 changes.
   4404  1.1  mrg 	* include/std/chrono (__duration_common_type_wrapper): Replace with ...
   4405  1.1  mrg 	(__duration_common_type): New helper.
   4406  1.1  mrg 	(common_type<chrono::duration<R1, P2>, chrono::duration<R2, P2>>): Use
   4407  1.1  mrg 	__duration_common_type.
   4408  1.1  mrg 	(__timepoint_common_type_wrapper): Replace with ...
   4409  1.1  mrg 	(__timepoint_common_type): New helper.
   4410  1.1  mrg 	(common_type<chrono::time_point<C, D2>, chrono::time_point<C, D2>>):
   4411  1.1  mrg 	Use __time_point_common_type.
   4412  1.1  mrg 	* include/std/type_traits (common_type<>): Define, as per LWG 2408.
   4413  1.1  mrg 	(__common_type_impl): If either argument is transformed by decay,
   4414  1.1  mrg 	use the common_type of the decayed types.
   4415  1.1  mrg 	(__common_type_impl<_Tp, _Up, _Tp, _Up>): If the types are already
   4416  1.1  mrg 	decayed, use __do_common_type_impl to get the common_type.
   4417  1.1  mrg 	(common_type<_Tp>): Use common_type<_Tp, _Tp>.
   4418  1.1  mrg 	(__do_member_type_wrapper, __member_type_wrapper)
   4419  1.1  mrg 	(__expanded_common_type_wrapper): Remove.
   4420  1.1  mrg 	(__common_type_pack, __common_type_fold): New helpers.
   4421  1.1  mrg 	(common_type<_Tp, _Up, _Vp...>): Use new helpers instead of
   4422  1.1  mrg 	__member_type_wrapper and __expanded_common_type_wrapper.
   4423  1.1  mrg 	* testsuite/20_util/common_type/requirements/explicit_instantiation.cc:
   4424  1.1  mrg 	Test zero-length template argument list.
   4425  1.1  mrg 	* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
   4426  1.1  mrg 	Test single argument cases and argument types that should decay.
   4427  1.1  mrg 	* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
   4428  1.1  mrg 	Adjust expected error.
   4429  1.1  mrg 	* testsuite/20_util/duration/literals/range_neg.cc: Use zero for
   4430  1.1  mrg 	dg-error lineno.
   4431  1.1  mrg 	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
   4432  1.1  mrg 	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
   4433  1.1  mrg 	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
   4434  1.1  mrg 
   4435  1.1  mrg 	* doc/xml/manual/intro.xml: Fix DR 2537 and DR 2566 confusion.
   4436  1.1  mrg 
   4437  1.1  mrg 2019-05-01  Nina Dinka Ranns  <dinka.ranns (a] gmail.com>
   4438  1.1  mrg 
   4439  1.1  mrg 	Make allocator propagation more consistent for
   4440  1.1  mrg 	operator+(basic_string) (P1165R1)
   4441  1.1  mrg 	* include/bits/basic_string.h
   4442  1.1  mrg 	(operator+(basic_string&&, basic_string&&): Changed resulting
   4443  1.1  mrg 	allocator to always be the one from the first parameter.
   4444  1.1  mrg 	* include/bits/basic_string.tcc
   4445  1.1  mrg 	(operator+(const _CharT*, const basic_string&)): Changed
   4446  1.1  mrg 	resulting allocator to be SOCCC on the second parameter's allocator.
   4447  1.1  mrg 	(operator+(_CharT, const basic_string&)): Likewise.
   4448  1.1  mrg 	* testsuite/21_strings/basic_string/allocator/char/operator_plus.cc:
   4449  1.1  mrg 	New.
   4450  1.1  mrg 	* testsuite/21_strings/basic_string/allocator/wchar_t/operator_plus.cc:
   4451  1.1  mrg 	New.
   4452  1.1  mrg 
   4453  1.1  mrg 2019-05-07  Jonathan Wakely  <jwakely (a] redhat.com>
   4454  1.1  mrg 
   4455  1.1  mrg 	* include/bits/regex.h: Improve docs.
   4456  1.1  mrg 	* include/bits/regex.tcc: Do not document implementation details.
   4457  1.1  mrg 
   4458  1.1  mrg 	* testsuite/19_diagnostics/error_code/hash.cc: New test.
   4459  1.1  mrg 
   4460  1.1  mrg 2019-05-06  Franois Dumont  <fdumont (a] gcc.gnu.org>
   4461  1.1  mrg 
   4462  1.1  mrg 	* python/libstdcxx/v6/printers.py (add_one_template_type_printer):
   4463  1.1  mrg 	Add type printer for container types in std::__debug namespace.
   4464  1.1  mrg 	* testsuite/lib/gdb-test.exp (whatis-regexp-test): New.
   4465  1.1  mrg 	(gdb-tests): Use distinct parameters for the type of test and use of
   4466  1.1  mrg 	regex.
   4467  1.1  mrg 	(gdb-test): Check for regex test even if 'whatis' test.
   4468  1.1  mrg 	* testsuite/libstdc++-prettyprinters/80276.cc: Adapt for _GLIBCXX_DEBUG
   4469  1.1  mrg 	mode.
   4470  1.1  mrg 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
   4471  1.1  mrg 	* testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
   4472  1.1  mrg 	* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
   4473  1.1  mrg 	* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
   4474  1.1  mrg 	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
   4475  1.1  mrg 	* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
   4476  1.1  mrg 	* testsuite/libstdc++-prettyprinters/whatis2.cc: Likewise.
   4477  1.1  mrg 
   4478  1.1  mrg 2019-05-04  Jonathan Wakely  <jwakely (a] redhat.com>
   4479  1.1  mrg 
   4480  1.1  mrg 	* include/std/system_error (error_category): Fix comment.
   4481  1.1  mrg 
   4482  1.1  mrg 	PR libstdc++/90299
   4483  1.1  mrg 	* src/c++17/fs_ops.cc (absolute(const path&)): Report an error if the
   4484  1.1  mrg 	argument is an empty path.
   4485  1.1  mrg 	(absolute(const path&, error_code&)): Use invalid_argument as error
   4486  1.1  mrg 	code instead of no_such_file_or_directory.
   4487  1.1  mrg 	* testsuite/27_io/filesystem/operations/absolute.cc: Check handling
   4488  1.1  mrg 	of non-existent paths and empty paths with both overloads of absolute.
   4489  1.1  mrg 
   4490  1.1  mrg 	* include/std/system_error (error_category, error_code)
   4491  1.1  mrg 	(error_condition): Improve docs.
   4492  1.1  mrg 	* libsupc++/exception: Add missing @addtogroup Doxygen command.
   4493  1.1  mrg 	* libsupc++/exception_ptr.h (exception_ptr): Link equality operators
   4494  1.1  mrg 	to class documentation. Suppress documentation for implementation
   4495  1.1  mrg 	details.
   4496  1.1  mrg 	* libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
   4497  1.1  mrg 	Suppress documentation for implementation details.
   4498  1.1  mrg 
   4499  1.1  mrg 	* include/std/system_error (error_code): Remove friend declaration
   4500  1.1  mrg 	for hash<error_code>.
   4501  1.1  mrg 	(hash<error_code>::operator()): Use public member functions to access
   4502  1.1  mrg 	value and category.
   4503  1.1  mrg 	(hash<error_condition>::operator()): Use address of category, not
   4504  1.1  mrg 	its object representation.
   4505  1.1  mrg 	* src/c++11/compatibility-c++0x.cc (hash<error_code>::operator()):
   4506  1.1  mrg 	Use public member functions to access value and category.
   4507  1.1  mrg 	* testsuite/19_diagnostics/error_condition/hash.cc: New test.
   4508  1.1  mrg 
   4509  1.1  mrg 2019-05-04  Franois Dumont  <fdumont (a] gcc.gnu.org>
   4510  1.1  mrg 
   4511  1.1  mrg 	* include/bits/hashtable.h (_Hashtable<>::rehash): Review comment.
   4512  1.1  mrg 	* include/bits/hashtable_policy.h
   4513  1.1  mrg 	(_Prime_rehash_policy::_M_bkt_for_elements): Use __builtin_ceill.
   4514  1.1  mrg 	(_Power2_rehash_policy::_M_bkt_for_elements): Likewise.
   4515  1.1  mrg 	(_Power2_rehash_policy::_M_next_bkt): Enforce returning a result not
   4516  1.1  mrg 	smaller than input value rather than always greater. Preserve
   4517  1.1  mrg 	_M_next_resize if called with 0 input. Use __builtin_floorl.
   4518  1.1  mrg 	(_Power2_rehash_policy::_M_need_rehash): Rehash only if number of
   4519  1.1  mrg 	elements + number of insertions is greater than _M_next_resize. Start
   4520  1.1  mrg 	with 11 buckets if not told otherwise. Use __builtin_floorl.
   4521  1.1  mrg 	(_Rehash_base<>::reserve): Use rehash policy _M_bkt_for_elements.
   4522  1.1  mrg 	* src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
   4523  1.1  mrg 	Preserve _M_next_resize if called with 0 input. Use __builtin_floorl.
   4524  1.1  mrg 	(_Prime_rehash_policy::_M_need_rehash): Start with 11 buckets if not
   4525  1.1  mrg 	told otherwise. Use __builtin_floorl.
   4526  1.1  mrg 	* testsuite/23_containers/unordered_set/hash_policy/71181.cc: Adapt test
   4527  1.1  mrg 	to also validate _Power2_rehash_policy.
   4528  1.1  mrg 	* testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
   4529  1.1  mrg 	Adapt.
   4530  1.1  mrg 
   4531  1.1  mrg 2019-05-03  Jonathan Wakely  <jwakely (a] redhat.com>
   4532  1.1  mrg 
   4533  1.1  mrg 	PR libstdc++/61761
   4534  1.1  mrg 	* testsuite/26_numerics/complex/proj.cc: Don't assume <cmath> defines
   4535  1.1  mrg 	std::copysign.
   4536  1.1  mrg 
   4537  1.1  mrg 	PR libstdc++/52119
   4538  1.1  mrg 	* include/ext/numeric_traits.h (__glibcxx_min): Avoid integer
   4539  1.1  mrg 	overflow warning with -Wpedantic -Wsystem-headers.
   4540  1.1  mrg 
   4541  1.1  mrg 2019-05-02  Jonathan Wakely  <jwakely (a] redhat.com>
   4542  1.1  mrg 
   4543  1.1  mrg 	PR libstdc++/90314
   4544  1.1  mrg 	* include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Use variadic macro.
   4545  1.1  mrg 	* include/bits/move.h (swap): Remove extra parentheses.
   4546  1.1  mrg 
   4547  1.1  mrg 	* include/experimental/bits/lfts_config.h: Improve doc markup.
   4548  1.1  mrg 	* include/experimental/optional: Improve docs.
   4549  1.1  mrg 	(_Has_addressof_mem, _Has_addressof_free, _Has_addressof)
   4550  1.1  mrg 	(__constexpr_addressof): Remove.
   4551  1.1  mrg 	(optional::operator->()): Use std::__addressof().
   4552  1.1  mrg 	* include/std/optional (optional::operator->()): Adjust whitespace.
   4553  1.1  mrg 	* testsuite/experimental/optional/constexpr/observers/2.cc: Check
   4554  1.1  mrg 	that operator-> is still constexpr with overloaded operator&. Change
   4555  1.1  mrg 	to compile-only test.
   4556  1.1  mrg 	* testsuite/experimental/optional/constexpr/observers/3.cc: Change to
   4557  1.1  mrg 	compile-only test.
   4558  1.1  mrg 
   4559  1.1  mrg 	* include/bits/shared_ptr.h: Improve docs.
   4560  1.1  mrg 	* include/bits/shared_ptr_atomic.h: Likewise.
   4561  1.1  mrg 	* include/bits/unique_ptr.h: Likewise. Adjust whitespace.
   4562  1.1  mrg 
   4563  1.1  mrg 	* include/bits/basic_string.h: Fix iterator/index confusion in
   4564  1.1  mrg 	Doxygen comments.
   4565  1.1  mrg 	* include/bits/range_access.h: Fix Doxygen warnings.
   4566  1.1  mrg 	* include/bits/refwrap.h: Do not document implementation details.
   4567  1.1  mrg 	(ref, cref): Group docs with reference_wrapper.
   4568  1.1  mrg 	* include/std/fstream: Fix Doxygen markup.
   4569  1.1  mrg 	* libsupc++/initializer_list (begin, end): Group docs with
   4570  1.1  mrg 	initializer_list.
   4571  1.1  mrg 
   4572  1.1  mrg 	* doc/doxygen/user.cfg.in: Set MARKDOWN_SUPPORT=YES.
   4573  1.1  mrg 
   4574  1.1  mrg 	* include/bits/unique_lock.h: Fix/improve doxygen markup.
   4575  1.1  mrg 	* include/std/mutex: Likewise.
   4576  1.1  mrg 	* include/std/shared_mutex: Likewise.
   4577  1.1  mrg 
   4578  1.1  mrg 	* include/bits/fs_dir.h: Fix/improve doxygen markup.
   4579  1.1  mrg 	* include/bits/fs_fwd.h: Likewise.
   4580  1.1  mrg 	* include/bits/fs_ops.h: Likewise.
   4581  1.1  mrg 	* include/bits/fs_path.h: Likewise.
   4582  1.1  mrg 	* include/std/filesystem: Likewise.
   4583  1.1  mrg 
   4584  1.1  mrg 	* include/experimental/bits/net.h: Fix/improve doxygen markup.
   4585  1.1  mrg 	* include/experimental/buffer: Likewise.
   4586  1.1  mrg 	* include/experimental/executor: Likewise.
   4587  1.1  mrg 	* include/experimental/internet: Likewise.
   4588  1.1  mrg 	* include/experimental/io_context: Likewise.
   4589  1.1  mrg 	* include/experimental/net: Likewise.
   4590  1.1  mrg 	* include/experimental/netfwd: Likewise.
   4591  1.1  mrg 	* include/experimental/socket: Likewise.
   4592  1.1  mrg 	* include/experimental/timer: Likewise.
   4593  1.1  mrg 
   4594  1.1  mrg 	* doc/doxygen/doxygroups.cc: Move description of experimental group
   4595  1.1  mrg 	here.
   4596  1.1  mrg 	* include/experimental/algorithm: Add to libfund-ts doc group.
   4597  1.1  mrg 	* include/experimental/any: Likewise. Do not document implementation
   4598  1.1  mrg 	details.
   4599  1.1  mrg 	* include/experimental/array: Add to libfund-ts doc group.
   4600  1.1  mrg 	* include/experimental/bits/lfts_config.h: Define libfund-ts doc group
   4601  1.1  mrg 	for Library Fundamentals.
   4602  1.1  mrg 	* include/experimental/chrono: Add to libfund-ts doc group.
   4603  1.1  mrg 	* include/experimental/deque: Likewise.
   4604  1.1  mrg 	* include/experimental/forward_list: Likewise.
   4605  1.1  mrg 	* include/experimental/functional: Likewise.
   4606  1.1  mrg 	* include/experimental/iterator: Likewise.
   4607  1.1  mrg 	* include/experimental/list: Likewise.
   4608  1.1  mrg 	* include/experimental/map: Likewise.
   4609  1.1  mrg 	* include/experimental/memory: Likewise.
   4610  1.1  mrg 	* include/experimental/memory_resource: Likewise. Improve docs.
   4611  1.1  mrg 	details.
   4612  1.1  mrg 	* include/experimental/numeric: Add to libfund-ts doc group.
   4613  1.1  mrg 	* include/experimental/optional: Likewise.
   4614  1.1  mrg 	* include/experimental/propagate_const: Likewise.
   4615  1.1  mrg 	* include/experimental/random: Likewise.
   4616  1.1  mrg 	* include/experimental/ratio: Likewise.
   4617  1.1  mrg 	* include/experimental/regex: Likewise.
   4618  1.1  mrg 	* include/experimental/set: Likewise.
   4619  1.1  mrg 	* include/experimental/source_location: Likewise.
   4620  1.1  mrg 	* include/experimental/string: Likewise.
   4621  1.1  mrg 	* include/experimental/string_view: Likewise.
   4622  1.1  mrg 	* include/experimental/system_error: Likewise.
   4623  1.1  mrg 	* include/experimental/tuple: Likewise.
   4624  1.1  mrg 	* include/experimental/type_traits: Likewise.
   4625  1.1  mrg 	* include/experimental/unordered_map: Likewise.
   4626  1.1  mrg 	* include/experimental/unordered_set: Likewise.
   4627  1.1  mrg 	* include/experimental/utility: Likewise.
   4628  1.1  mrg 	* include/experimental/vector: Likewise.
   4629  1.1  mrg 	* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
   4630  1.1  mrg 	* testsuite/experimental/array/neg.cc: Adjust dg-error.
   4631  1.1  mrg 	* testsuite/experimental/propagate_const/assignment/move_neg.cc:
   4632  1.1  mrg 	Likewise.
   4633  1.1  mrg 	* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
   4634  1.1  mrg 	* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
   4635  1.1  mrg 	* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
   4636  1.1  mrg 	* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
   4637  1.1  mrg 	* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
   4638  1.1  mrg 
   4639  1.1  mrg 	* include/experimental/bits/fs_dir.h: Fix Doxygen markup.
   4640  1.1  mrg 	* include/experimental/bits/fs_fwd.h: Improve docs.
   4641  1.1  mrg 	* include/experimental/bits/fs_ops.h: fix Doxygen markup.
   4642  1.1  mrg 	* include/experimental/bits/fs_path.h: Likewise.
   4643  1.1  mrg 	(path, filesystem_error, u8path): Improve docs.
   4644  1.1  mrg 	* include/experimental/filesystem: Link to docs for TS.
   4645  1.1  mrg 
   4646  1.1  mrg 	* config/allocator/new_allocator_base.h (__allocator_base): Add
   4647  1.1  mrg 	workaround for Doxygen bug #6945.
   4648  1.1  mrg 	* include/std/memory: Improve docs. Define group for pointer safety.
   4649  1.1  mrg 	* include/std/scoped_allocator: Improve docs. Use "undocumented"
   4650  1.1  mrg 	conditional to suppress documentation for implementation details.
   4651  1.1  mrg 
   4652  1.1  mrg 	* include/bits/specfun.h: Improve docs.
   4653  1.1  mrg 	* include/tr1/cmath: Likewise. Fix nesting of preprocessor conditions
   4654  1.1  mrg 	and namespaces.
   4655  1.1  mrg 
   4656  1.1  mrg 	* doc/doxygen/doxygroups.cc (std::tr2, std::__gnu_cxx): Improve docs.
   4657  1.1  mrg 	(std::experimental): Add docs.
   4658  1.1  mrg 	* doc/doxygen/user.cfg.in (PREDEFINED): Expand macros for __cxx11
   4659  1.1  mrg 	namespace to nothing when generating docs.
   4660  1.1  mrg 	* include/bits/regex_constants.h (std::regex_constants): Improve docs.
   4661  1.1  mrg 	* include/std/chrono (std::chrono): Likewise.
   4662  1.1  mrg 	* include/std/functional (std::placeholders): Likewise.
   4663  1.1  mrg 	* include/std/thread (std::this_thread): Likewise.
   4664  1.1  mrg 
   4665  1.1  mrg 	* include/parallel/settings.h: Fix Doxygen markup.
   4666  1.1  mrg 
   4667  1.1  mrg 	* include/ext/pb_ds/detail/bin_search_tree_/*_imps.hpp: Do not define
   4668  1.1  mrg 	anything unless PB_DS_CLASS_C_DEC is defined.
   4669  1.1  mrg 	* include/ext/pb_ds/detail/binary_heap_/*_imps.hpp: Likewise.
   4670  1.1  mrg 	* include/ext/pb_ds/detail/binomial_heap_/*_imps.hpp: Likewise.
   4671  1.1  mrg 	* include/ext/pb_ds/detail/binomial_heap_base_/*_imps.hpp: Likewise.
   4672  1.1  mrg 	* include/ext/pb_ds/detail/cc_hash_table_map_/*_imps.hpp: Likewise.
   4673  1.1  mrg 	* include/ext/pb_ds/detail/gp_hash_table_map_/*_imps.hpp: Likewise.
   4674  1.1  mrg 	* include/ext/pb_ds/detail/hash_fn/*_imp.hpp: Likewise.
   4675  1.1  mrg 	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/*_imps.hpp:
   4676  1.1  mrg 	Likewise.
   4677  1.1  mrg 	* include/ext/pb_ds/detail/list_update_map_/*_imps.hpp: Likewise.
   4678  1.1  mrg 	* include/ext/pb_ds/detail/ov_tree_map_/*_imps.hpp: Likewise.
   4679  1.1  mrg 	* include/ext/pb_ds/detail/pairing_heap_/*_imps.hpp: Likewise.
   4680  1.1  mrg 	* include/ext/pb_ds/detail/pat_trie_/*_imps.hpp: Likewise.
   4681  1.1  mrg 	* include/ext/pb_ds/detail/rb_tree_map_/*_imps.hpp: Likewise.
   4682  1.1  mrg 	* include/ext/pb_ds/detail/rc_binomial_heap_/*_imps.hpp: Likewise.
   4683  1.1  mrg 	* include/ext/pb_ds/detail/resize_policy*_imp.hpp: Likewise.
   4684  1.1  mrg 	* include/ext/pb_ds/detail/splay_tree_/*_imps.hpp: Likewise.
   4685  1.1  mrg 	* include/ext/pb_ds/detail/thin_heap_/*_imps.hpp: Likewise.
   4686  1.1  mrg 	* include/ext/pb_ds/detail/trie_policy*_imp.hpp: Likewise.
   4687  1.1  mrg 	* include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp:
   4688  1.1  mrg 	Likewise.
   4689  1.1  mrg 	* include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Likewise.
   4690  1.1  mrg 	* include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp:
   4691  1.1  mrg 	Likewise.
   4692  1.1  mrg 	* include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp:
   4693  1.1  mrg 	Likewise.
   4694  1.1  mrg 
   4695  1.1  mrg 	* doc/doxygen/user.cfg.in: Regenerate with Doxygen 1.8.14 and set
   4696  1.1  mrg 	GROUP_NESTED_COMPOUNDS=YES and SORT_BY_SCOPE_NAME=NO. Add various
   4697  1.1  mrg 	_GLIBCXX_xxx macros and __attribute__(X) to PREDEFINED macros that
   4698  1.1  mrg 	Doxygen expands.
   4699  1.1  mrg 
   4700  1.1  mrg 2019-05-01  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   4701  1.1  mrg 
   4702  1.1  mrg 	* config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate.
   4703  1.1  mrg 	* config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise.
   4704  1.1  mrg 	* config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise.
   4705  1.1  mrg 	* config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise.
   4706  1.1  mrg 	* config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise.
   4707  1.1  mrg 	* config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
   4708  1.1  mrg 	Likewise.
   4709  1.1  mrg 	* config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise.
   4710  1.1  mrg 	* config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
   4711  1.1  mrg 	Likewise.
   4712  1.1  mrg 
   4713  1.1  mrg 2019-05-01  Jonathan Wakely  <jwakely (a] redhat.com>
   4714  1.1  mrg 
   4715  1.1  mrg 	PR libstdc++/61761
   4716  1.1  mrg 	* include/std/complex (__complex_proj): Return parameter unchanged.
   4717  1.1  mrg 	[_GLIBCXX_USE_C99_COMPLEX] (__complex_proj): Change overloads for
   4718  1.1  mrg 	floating-point types to take std::complex arguments.
   4719  1.1  mrg 	[_GLIBCXX_USE_C99_MATH_TR1] (__complex_proj): Add overloads for
   4720  1.1  mrg 	floating-point types.
   4721  1.1  mrg 	* testsuite/26_numerics/complex/proj.cc: New test.
   4722  1.1  mrg 
   4723  1.1  mrg 2019-04-30  Jakub Jelinek  <jakub (a] redhat.com>
   4724  1.1  mrg 
   4725  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Change _Lock_policyE2 exports
   4726  1.1  mrg 	to _Lock_policyE[012].
   4727  1.1  mrg 	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
   4728  1.1  mrg 
   4729  1.1  mrg 2019-04-30  Jonathan Wakely  <jwakely (a] redhat.com>
   4730  1.1  mrg 
   4731  1.1  mrg 	* testsuite/27_io/filesystem/path/decompose/root_path.cc: Remove
   4732  1.1  mrg 	macros accidentally left in.
   4733  1.1  mrg 	* testsuite/27_io/filesystem/path/native/string-char8_t.cc: Remove
   4734  1.1  mrg 	unnecessary -lstdc++fs option. Fix test for mingw.
   4735  1.1  mrg 	* testsuite/experimental/filesystem/path/native/string-char8_t.cc:
   4736  1.1  mrg 	Fix test for mingw.
   4737  1.1  mrg 
   4738  1.1  mrg 2019-04-30  Jakub Jelinek  <jakub (a] redhat.com>
   4739  1.1  mrg 
   4740  1.1  mrg 	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
   4741  1.1  mrg 
   4742  1.1  mrg 2019-04-29  Jonathan Wakely  <jwakely (a] redhat.com>
   4743  1.1  mrg 
   4744  1.1  mrg 	* include/bits/stl_algo.h (generate_n): Adjust doxygen comment.
   4745  1.1  mrg 
   4746  1.1  mrg 	* include/bits/move.h (swap(T&, T&), swap(T (&)[N], T (&)[N])): Use
   4747  1.1  mrg 	_GLIBCXX_NOEXCEPT_IF to simplify declarations.
   4748  1.1  mrg 
   4749  1.1  mrg 	PR libstdc++/71312
   4750  1.1  mrg 	* src/c++11/shared_ptr.cc (get_mutex): Align pool mutexes to 64 bytes.
   4751  1.1  mrg 
   4752  1.1  mrg 	* include/bits/stl_bvector.h (vector<bool>::empty()): Add nodiscard
   4753  1.1  mrg 	attribute.
   4754  1.1  mrg 
   4755  1.1  mrg 	* include/bits/stl_iterator_base_types.h (_Iter_base): Remove unused
   4756  1.1  mrg 	class template and partial specialization.
   4757  1.1  mrg 
   4758  1.1  mrg 	PR libstdc++/87982
   4759  1.1  mrg 	* include/bits/stl_algo.h (generate_n): Convert _Size parameter to
   4760  1.1  mrg 	an integral type.
   4761  1.1  mrg 	* include/bits/stl_algobase.h (__size_to_integer): New overloaded
   4762  1.1  mrg 	functions to convert a value to an integral type.
   4763  1.1  mrg 	(__fill_n_a, __fill_n_a): Assert that __n is already an integral type.
   4764  1.1  mrg 	(fill_n): Convert _Size parameter to an integral type.
   4765  1.1  mrg 	* testsuite/25_algorithms/fill_n/87982.cc: New test.
   4766  1.1  mrg 	* testsuite/25_algorithms/fill_n/87982_neg.cc: New test.
   4767  1.1  mrg 	* testsuite/25_algorithms/fill_n/dr426.cc: New test.
   4768  1.1  mrg 	* testsuite/25_algorithms/generate_n/87982.cc: New test.
   4769  1.1  mrg 	* testsuite/25_algorithms/generate_n/87982_neg.cc: New test.
   4770  1.1  mrg 	* testsuite/25_algorithms/generate_n/dr426.cc: New test.
   4771  1.1  mrg 
   4772  1.1  mrg 2019-04-28  Nina Dinka Ranns  <dinka.ranns (a] gmail.com>
   4773  1.1  mrg 
   4774  1.1  mrg 	Adding noexcept-specification on tuple constructors (LWG 2899)
   4775  1.1  mrg 	* libstdc++-v3/include/std/tuple:
   4776  1.1  mrg 	(tuple()): Add noexcept-specification.
   4777  1.1  mrg 	(tuple(const _Elements&...)): Likewise
   4778  1.1  mrg 	(tuple(_UElements&&...)): Likewise
   4779  1.1  mrg 	(tuple(const tuple<_UElements...>&)): Likewise
   4780  1.1  mrg 	(tuple(tuple<_UElements...>&&)): Likewise
   4781  1.1  mrg 	(tuple(const _T1&, const _T2&)): Likewise
   4782  1.1  mrg 	(tuple(_U1&&, _U2&&)): Likewise
   4783  1.1  mrg 	(tuple(const tuple<_U1, _U2>&): Likewise
   4784  1.1  mrg 	(tuple(tuple<_U1, _U2>&&): Likewise
   4785  1.1  mrg 	(tuple(const pair<_U1, _U2>&): Likewise
   4786  1.1  mrg 	(tuple(pair<_U1, _U2>&&): Likewise
   4787  1.1  mrg 	* libstdc++-v3/testsuite/20_util/tuple/cons/noexcept_specs.cc: New
   4788  1.1  mrg 
   4789  1.1  mrg 2019-04-27  Marc Glisse  <marc.glisse (a] inria.fr>
   4790  1.1  mrg 
   4791  1.1  mrg 	PR libstdc++/87106
   4792  1.1  mrg 	* include/bits/stl_uninitialized.h (__relocate_object_a): Mark the
   4793  1.1  mrg 	arguments with __restrict.
   4794  1.1  mrg 
   4795  1.1  mrg 2019-04-26  H.J. Lu  <hongjiu.lu (a] intel.com>
   4796  1.1  mrg 
   4797  1.1  mrg 	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
   4798  1.1  mrg 
   4799  1.1  mrg 2019-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   4800  1.1  mrg 
   4801  1.1  mrg 	* include/experimental/bits/fs_path.h
   4802  1.1  mrg 	(path::_S_convert_loc<_InputIterator>): Create const std::string to
   4803  1.1  mrg 	avoid redundant call to _S_convert_loc with non-const pointers.
   4804  1.1  mrg 
   4805  1.1  mrg 	* testsuite/20_util/variant/run.cc: Use a new Hashable type to test
   4806  1.1  mrg 	hashing, because pmr::string depends on _GLIBCXX_USE_CXX11_ABI==1.
   4807  1.1  mrg 	* testsuite/21_strings/basic_string/hash/hash.cc
   4808  1.1  mrg 	[!_GLIBCXX_USE_CXX11_ABI]: Don't test pmr strings.
   4809  1.1  mrg 	* testsuite/21_strings/basic_string/hash/hash_char8_t.cc
   4810  1.1  mrg 	[!_GLIBCXX_USE_CXX11_ABI]: Likewise.
   4811  1.1  mrg 
   4812  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace wildcard that matches
   4813  1.1  mrg 	wstring::_M_replace_dispatch with more specific patterns.
   4814  1.1  mrg 	* include/bits/fs_path.h (path::_S_convert_loc<_InputIterator>):
   4815  1.1  mrg 	Create const std::string to avoid redundant call to _S_convert_loc
   4816  1.1  mrg 	with non-const pointers.
   4817  1.1  mrg 	* include/bits/locale_conv.h (__do_str_codecvt): Use if-constexpr to
   4818  1.1  mrg 	avoid unnecessary basic_string::assign instantiations.
   4819  1.1  mrg 
   4820  1.1  mrg 	* include/std/memory (__uses_alloc_args): Add string-literal to
   4821  1.1  mrg 	static_assert, to match the one in __uses_alloc.
   4822  1.1  mrg 	[__cpp_concepts] (_Std_pair): Use C++2a syntax for concept.
   4823  1.1  mrg 	* testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: Check
   4824  1.1  mrg 	for recursive uses-allocator construction of nested pairs.
   4825  1.1  mrg 	* testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:: Add
   4826  1.1  mrg 	comment.
   4827  1.1  mrg 
   4828  1.1  mrg 2019-04-26  Jakub Jelinek  <jakub (a] redhat.com>
   4829  1.1  mrg 
   4830  1.1  mrg 	* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
   4831  1.1  mrg 	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
   4832  1.1  mrg 	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
   4833  1.1  mrg 	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
   4834  1.1  mrg 
   4835  1.1  mrg 	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
   4836  1.1  mrg 	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
   4837  1.1  mrg 	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
   4838  1.1  mrg 	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
   4839  1.1  mrg 	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
   4840  1.1  mrg 	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
   4841  1.1  mrg 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
   4842  1.1  mrg 
   4843  1.1  mrg 2019-04-25  Jonathan Wakely  <jwakely (a] redhat.com>
   4844  1.1  mrg 
   4845  1.1  mrg 	PR libstdc++/90239
   4846  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Amend P0591R4 status.
   4847  1.1  mrg 	* include/std/scoped_allocator [__cplusplus > 201703L]
   4848  1.1  mrg 	(scoped_allocator_adaptor::construct): Define in terms of
   4849  1.1  mrg 	uses_allocator_construction_args, as per P0591R4.
   4850  1.1  mrg 	* testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc: New test.
   4851  1.1  mrg 	* testsuite/util/testsuite_allocator.h: Remove name of unused
   4852  1.1  mrg 	parameter.
   4853  1.1  mrg 
   4854  1.1  mrg 2019-04-24  Jonathan Wakely  <jwakely (a] redhat.com>
   4855  1.1  mrg 
   4856  1.1  mrg 	* doc/xml/manual/status_cxx2017.xml: Document P0024R2 status.
   4857  1.1  mrg 	* doc/html/*: Regenerate.
   4858  1.1  mrg 
   4859  1.1  mrg 	* include/bits/fs_path.h (operator<, operator<=, operator>)
   4860  1.1  mrg 	(operator>=, operator==, operator!=): Make hidden friends, as per
   4861  1.1  mrg 	LWG 3065.
   4862  1.1  mrg 	* testsuite/27_io/filesystem/path/native/string-char8_t.cc: Fix
   4863  1.1  mrg 	string type in test.
   4864  1.1  mrg 	* testsuite/27_io/filesystem/path/native/string.cc: Likewise.
   4865  1.1  mrg 
   4866  1.1  mrg 	* include/std/any (any::any(ValueType&&)): Use __and_v.
   4867  1.1  mrg 	* include/std/numeric (midpoint(T, T, T), midpoint(T*, T*, T*)):
   4868  1.1  mrg 	Likewise.
   4869  1.1  mrg 
   4870  1.1  mrg 	* include/std/tuple (apply): Use remove_reference_t instead of decay_t
   4871  1.1  mrg 	as per P0777R1.
   4872  1.1  mrg 	* include/std/type_traits (__result_of_memfun): Use remove_reference
   4873  1.1  mrg 	instead of __remove_cvref_t and remove redundant is_same check.
   4874  1.1  mrg 	(__inv_unwrap): Use __remove_cvref_t instead of decay_t.
   4875  1.1  mrg 
   4876  1.1  mrg 	* include/experimental/string_view (basic_string_view::pointer)
   4877  1.1  mrg 	(basic_string_view::reference): Fix to refer to non-const value_type.
   4878  1.1  mrg 	* include/bits/basic_string.h (basic_string): Use __sv_check and
   4879  1.1  mrg 	__sv_limit instead of basic_string_view::_M_check and
   4880  1.1  mrg 	basic_string_view::_M_limit.
   4881  1.1  mrg 	* include/std/string_view (__sv_check, __sv_limit): New
   4882  1.1  mrg 	helper functions to replace basic_string_view::_M_check and
   4883  1.1  mrg 	basic_string_view::_M_limit.
   4884  1.1  mrg 	(basic_string_view): Add static assertions to enforce ill-formed
   4885  1.1  mrg 	requirement for traits_type::char_type from P1148R0, and to enforce
   4886  1.1  mrg 	required properties of char-like types.
   4887  1.1  mrg 	(basic_string_view::pointer, basic_string_view::reference): Fix to
   4888  1.1  mrg 	refer to non-const value_type.
   4889  1.1  mrg 	(basic_string_view::operator[], basic_string_view::at)
   4890  1.1  mrg 	(basic_string_view::front, basic_string_view::back)
   4891  1.1  mrg 	(basic_string_view::data): Use const_reference and const_pointer
   4892  1.1  mrg 	typedefs for return types.
   4893  1.1  mrg 	(basic_string_view::_M_check, basic_string_view::_M_limit): Remove.
   4894  1.1  mrg 	(hash<wstring_view>): Fix argument_type typedef.
   4895  1.1  mrg 	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
   4896  1.1  mrg 	char/1.cc: Fix expected return type of basic_string_view::data().
   4897  1.1  mrg 	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
   4898  1.1  mrg 	wchar_t/1.cc: Likewise.
   4899  1.1  mrg 	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
   4900  1.1  mrg 	char/1.cc: Likewise.
   4901  1.1  mrg 	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
   4902  1.1  mrg 	wchar_t/1.cc: Likewise.
   4903  1.1  mrg 	* testsuite/21_strings/basic_string_view/requirements/traits_neg.cc:
   4904  1.1  mrg 	New test.
   4905  1.1  mrg 	* testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
   4906  1.1  mrg 	Check reference and pointer typedefs.
   4907  1.1  mrg 	* testsuite/experimental/string_view/requirements/typedefs.cc:
   4908  1.1  mrg 	Likewise.
   4909  1.1  mrg 	* testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc:
   4910  1.1  mrg 	Fix expected return type of basic_string_view::data().
   4911  1.1  mrg 	* testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
   4912  1.1  mrg 	1.cc: Likewise.
   4913  1.1  mrg 	* testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc:
   4914  1.1  mrg 	Likewise.
   4915  1.1  mrg 	* testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
   4916  1.1  mrg 	1.cc: Likewise.
   4917  1.1  mrg 
   4918  1.1  mrg 	PR libstdc++/90220
   4919  1.1  mrg 	* include/std/any (__any_caster): Use remove_cv_t instead of decay_t.
   4920  1.1  mrg 	Avoid a runtime check for types that can never be stored in std::any.
   4921  1.1  mrg 	* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
   4922  1.1  mrg 	array types.
   4923  1.1  mrg 
   4924  1.1  mrg 	PR libstdc++/90220 (partial)
   4925  1.1  mrg 	* include/std/any (any_cast<T>(any*), any_cast<T>(const any*)): Do
   4926  1.1  mrg 	not attempt ill-formed static_cast to pointers to non-object types.
   4927  1.1  mrg 	* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
   4928  1.1  mrg 	function types.
   4929  1.1  mrg 
   4930  1.1  mrg 	* testsuite/20_util/variant/run.cc: Catch exception by reference to
   4931  1.1  mrg 	prevent -Wcatch-value warning.
   4932  1.1  mrg 
   4933  1.1  mrg 	* include/std/variant (__variant_construct): Use template parameter
   4934  1.1  mrg 	type instead of equivalent decltype-specifier.
   4935  1.1  mrg 	(_Move_ctor_base<false, Types...>::_Move_ctor_base(_Move_ctor_base&&)):
   4936  1.1  mrg 	Replace forward with move.
   4937  1.1  mrg 	(_Move_ctor_base<false, Types...>::_M_destructive_move)
   4938  1.1  mrg 	(_Move_ctor_base<false, Types...>::_M_destructive_copy)
   4939  1.1  mrg 	(_Move_ctor_base<true, Types...>::_M_destructive_move)
   4940  1.1  mrg 	(_Move_ctor_base<true, Types...>::_M_destructive_copy): Only set the
   4941  1.1  mrg 	index after construction succeeds.
   4942  1.1  mrg 	(_Copy_assign_base<false, Types...>::operator=): Remove redundant
   4943  1.1  mrg 	if-constexpr checks that are always true. Use __remove_cvref_t instead
   4944  1.1  mrg 	of remove_reference so that is_nothrow_move_constructible check
   4945  1.1  mrg 	doesn't use a const rvalue parameter. In the potentially-throwing case
   4946  1.1  mrg 	construct a temporary and move assign it, as per LWG 2904.
   4947  1.1  mrg 	(_Move_assign_base<false, Types...>::operator=): Remove redundant
   4948  1.1  mrg 	if-constexpr checks that are always true. Use emplace as per LWG 2904.
   4949  1.1  mrg 	(variant::operator=(T&&)): Only use emplace conditionally, otherwise
   4950  1.1  mrg 	construct a temporary and move assign from it, as per LWG 2904.
   4951  1.1  mrg 	* testsuite/20_util/variant/exception_safety.cc: Check that
   4952  1.1  mrg 	assignment operators have strong exception safety guarantee.
   4953  1.1  mrg 
   4954  1.1  mrg 2019-04-23  Thomas Rodgers <trodgers (a] redhat.com>
   4955  1.1  mrg 
   4956  1.1  mrg 	Document PSTL linker flags
   4957  1.1  mrg 
   4958  1.1  mrg 	* doc/xml/manual/using.xml: Add PSTL linker flags to table 3.1.
   4959  1.1  mrg 
   4960  1.1  mrg 2019-04-23  Jonathan Wakely  <jwakely (a] redhat.com>
   4961  1.1  mrg 
   4962  1.1  mrg 	* include/std/variant (__detail::__variant::_Traits): Make
   4963  1.1  mrg 	_S_trivial_copy_assign depend on _S_trivial_copy_ctor and make
   4964  1.1  mrg 	_S_trivial_move_assign depend on _S_trivial_move_ctor, as per
   4965  1.1  mrg 	P0602R4.
   4966  1.1  mrg 	(__detail::__variant::_Copy_assign_alias): Only depend on
   4967  1.1  mrg 	_S_trivial_copy_assign, which subsumes _S_trivial_copy_ctor now.
   4968  1.1  mrg 	* testsuite/20_util/variant/compile.cc: Correct checks for trivial
   4969  1.1  mrg 	move assignment operators.
   4970  1.1  mrg 
   4971  1.1  mrg 	PR libstdc++/90165
   4972  1.1  mrg 	* include/std/variant (variant::__not_self): New helper for the
   4973  1.1  mrg 	is_same_v<remove_cvref_t<T>, variant>==false constraints.
   4974  1.1  mrg 	(variant::__to_type_impl): Remove.
   4975  1.1  mrg 	(variant::__to_type): Add default argument to check pack size, instead
   4976  1.1  mrg 	of using __to_type_impl.
   4977  1.1  mrg 	(variant::__accepted_type): Add default argument using __not_self.
   4978  1.1  mrg 	(variant::__is_in_place_tag, variant::__not_in_place_tag): New helpers
   4979  1.1  mrg 	for variant(T&&) constructor constraint.
   4980  1.1  mrg 	(variant::variant(T&&)): Use __not_in_place_tag in constraints.
   4981  1.1  mrg 	Extract __accepted_type into a named template parameter for reuse in
   4982  1.1  mrg 	other constraints and in the exception specification.
   4983  1.1  mrg 	(variant::variant(in_place_type_t<T>, Args&&...))
   4984  1.1  mrg 	(variant::variant(in_place_type_t<T>, initializer_list<U>, Args&&...))
   4985  1.1  mrg 	(variant::variant(in_place_index_t<T>, Args&&...))
   4986  1.1  mrg 	(variant::variant(in_place_index_t<T>, initializer_list<U>, Args&&...))
   4987  1.1  mrg 	(variant::operator=T&&)): Remove redundant && from trait arguments.
   4988  1.1  mrg 	* testsuite/20_util/variant/compile.cc: Check variant(T&&) constructor
   4989  1.1  mrg 	isn't used for in_place_type or in_place_index arguments.
   4990  1.1  mrg 
   4991  1.1  mrg 	* include/std/type_traits (unwrap_reference_t): Define for C++2a.
   4992  1.1  mrg 	(unwrap_ref_decay): Remove inheritance from unwrap_reference.
   4993  1.1  mrg 	* testsuite/20_util/unwrap_reference/1.cc: Adjust test to use alias.
   4994  1.1  mrg 
   4995  1.1  mrg 2019-04-23  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   4996  1.1  mrg 	    Bernd Edlinger  <bernd.edlinger (a] hotmail.de>
   4997  1.1  mrg 	    Jakub Jelinek  <jakub (a] redhat.com>
   4998  1.1  mrg 
   4999  1.1  mrg 	PR target/89093
   5000  1.1  mrg 	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Add
   5001  1.1  mrg 	general-regs-only target attribute for ARM.
   5002  1.1  mrg 
   5003  1.1  mrg 2019-04-23  Jonathan Wakely  <jwakely (a] redhat.com>
   5004  1.1  mrg 
   5005  1.1  mrg 	PR libstdc++/87431
   5006  1.1  mrg 	* include/bits/basic_string.h (_Never_valueless_alt): Make partial
   5007  1.1  mrg 	specialization also depend on is_nothrow_move_constructible.
   5008  1.1  mrg 	* include/std/variant (__detail::__variant::__never_valueless()):
   5009  1.1  mrg 	Only true if the variant would have a move assignment operator.
   5010  1.1  mrg 	(__detail::__variant::_Variant_storage<false, T...>::_M_valid()):
   5011  1.1  mrg 	Check __never_valueless<T...>().
   5012  1.1  mrg 	(variant::emplace): Only perform non-throwing move assignments
   5013  1.1  mrg 	for never-valueless alternatives if the variant has a move assignment
   5014  1.1  mrg 	operator.
   5015  1.1  mrg 	* testsuite/20_util/variant/compile.cc: Check that never-valueless
   5016  1.1  mrg 	types can be emplaced into non-assignable variants.
   5017  1.1  mrg 	* testsuite/20_util/variant/run.cc: Check that never-valueless types
   5018  1.1  mrg 	don't get copied when emplaced into non-assignable variants.
   5019  1.1  mrg 
   5020  1.1  mrg 	* include/std/variant (__detail::__variant::__ref_cast): Remove
   5021  1.1  mrg 	unused function.
   5022  1.1  mrg 	(__detail::__variant::_Uninitialized::_M_get)
   5023  1.1  mrg 	(__detail::__variant::__get)
   5024  1.1  mrg 	(__gen_vtable_impl::__element_by_index_or_cookie): Add noexcept.
   5025  1.1  mrg 
   5026  1.1  mrg 2019-04-21  Iain Sandoe  <iain (a] sandoe.co.uk>
   5027  1.1  mrg 
   5028  1.1  mrg 	* testsuite/17_intro/headers/c++1998/charset.cc: Skip for Darwin8
   5029  1.1  mrg 	to Darwin10.
   5030  1.1  mrg 	* testsuite/17_intro/headers/c++2011/charset.cc: Likewise.
   5031  1.1  mrg 	* testsuite/17_intro/headers/c++2014/charset.cc: Likewise.
   5032  1.1  mrg 	* testsuite/17_intro/headers/c++2017/charset.cc: Likewise.
   5033  1.1  mrg 	* testsuite/17_intro/headers/c++2020/charset.cc: Likewise.
   5034  1.1  mrg 
   5035  1.1  mrg 2019-04-20  Thomas Rodgers <trodgers (a] redhat.com>
   5036  1.1  mrg 
   5037  1.1  mrg 	Delegate PSTL configuration to pstl/pstl_config.h
   5038  1.1  mrg 
   5039  1.1  mrg 	* include/bits/c++config: Remove explicit PSTL configuration
   5040  1.1  mrg 	macros and use definitions from <pstl/pstl_config.h>.
   5041  1.1  mrg 
   5042  1.1  mrg 2019-04-20  Thomas Rodgers <trodgers (a] redhat.com>
   5043  1.1  mrg 
   5044  1.1  mrg 	Cleanup algorithm implementations
   5045  1.1  mrg 	* include/pstl/glue_algorithm_impl.h (stable_sort): Forward
   5046  1.1  mrg 	execution policy.
   5047  1.1  mrg 	(mismatch): Forward execution policy.
   5048  1.1  mrg 	(equal): Qualify call to std::equal().
   5049  1.1  mrg 	(partial_sort): Forward execution policy.
   5050  1.1  mrg 	(inplace_merge): Forward execution policy.
   5051  1.1  mrg 
   5052  1.1  mrg 2019-04-19  Thomas Rodgers <trodgers (a] redhat.com>
   5053  1.1  mrg 
   5054  1.1  mrg 	Improve implementation of parallel equal()
   5055  1.1  mrg 	* include/pstl/algorithm_impl.h
   5056  1.1  mrg 	(__internal::__brick_equal): use "4 iterator" version of
   5057  1.1  mrg 	std::equal().
   5058  1.1  mrg 	(__internal::__brick_equal): use simd for random access
   5059  1.1  mrg 	iterators on unsequenced execution policies.
   5060  1.1  mrg 	(__internal::__pattern_equal): add "4 iterator" version
   5061  1.1  mrg 	(__internal::__pattern_equal): dispatch to simd __brick_equal
   5062  1.1  mrg 	for vector-only execution policies.
   5063  1.1  mrg 	(__internal::__pattern_equal): dispatch to __parallel_or for
   5064  1.1  mrg 	parallel execution policies.
   5065  1.1  mrg 	* include/pstl/glue_algorithm_impl.h
   5066  1.1  mrg 	(std::equal): dispatch to "4 iterator" version of
   5067  1.1  mrg 	__internal::__pattern_equal().
   5068  1.1  mrg 
   5069  1.1  mrg 2019-04-17  Jonathan Wakely  <jwakely (a] redhat.com>
   5070  1.1  mrg 
   5071  1.1  mrg 	PR libstdc++/90105
   5072  1.1  mrg 	* include/bits/forward_list.h (operator==): Do not use operator!= to
   5073  1.1  mrg 	compare elements.
   5074  1.1  mrg 	(forward_list<T, A>::sort(Comp)): When elements are equal take the one
   5075  1.1  mrg 	earlier in the list, so that sort is stable.
   5076  1.1  mrg 	* testsuite/23_containers/forward_list/operations/90105.cc: New test.
   5077  1.1  mrg 	* testsuite/23_containers/forward_list/comparable.cc: Test with
   5078  1.1  mrg 	types that meet the minimum EqualityComparable and LessThanComparable
   5079  1.1  mrg 	requirements. Remove irrelevant comment.
   5080  1.1  mrg 
   5081  1.1  mrg 	* include/std/variant (__detail::__variant::_Traits::_S_copy_assign):
   5082  1.1  mrg 	Do not depend on whether all alternative types are move constructible.
   5083  1.1  mrg 	(__detail::__variant::_Copy_assign_base::operator=): Remove cv-quals
   5084  1.1  mrg 	from the operand when deciding whether to perform the assignment.
   5085  1.1  mrg 	* testsuite/20_util/variant/compile.cc (DeletedMoves): Define type
   5086  1.1  mrg 	with deleted move constructor and deleted move assignment operator.
   5087  1.1  mrg 	(default_ctor, copy_ctor, move_ctor, copy_assign, move_assign): Check
   5088  1.1  mrg 	behaviour of variants with DeletedMoves as an alternative.
   5089  1.1  mrg 	* testsuite/20_util/variant/run.cc (DeletedMoves): Define same type.
   5090  1.1  mrg 	(move_ctor, move_assign): Check that moving a variant with a
   5091  1.1  mrg 	DeletedMoves alternative falls back to copying instead of moving.
   5092  1.1  mrg 
   5093  1.1  mrg 	* testsuite/20_util/variant/compile.cc: Remove empty string literals
   5094  1.1  mrg 	from static_assert declarations.
   5095  1.1  mrg 
   5096  1.1  mrg 	* testsuite/20_util/variant/compile.cc (MoveCtorOnly): Fix type to
   5097  1.1  mrg 	actually match its name.
   5098  1.1  mrg 	(MoveCtorAndSwapOnly): Define new type that adds swap to MoveCtorOnly.
   5099  1.1  mrg 	(test_swap()): Fix result for MoveCtorOnly and check
   5100  1.1  mrg 	MoveCtorAndSwapOnly.
   5101  1.1  mrg 
   5102  1.1  mrg 	* include/std/optional (optional::value_or(U&&) &&): Add missing
   5103  1.1  mrg 	constexpr specifier.
   5104  1.1  mrg 	* testsuite/20_util/optional/constexpr/observers/4.cc: Check value_or
   5105  1.1  mrg 	for disengaged optionals and rvalue optionals.
   5106  1.1  mrg 	* testsuite/20_util/optional/observers/4.cc: Likewise.
   5107  1.1  mrg 
   5108  1.1  mrg 2019-04-12  Thomas Rodgers  <trodgers (a] redhat.com>
   5109  1.1  mrg 
   5110  1.1  mrg 	* include/pstl/algorithm_impl.h: Uglify identfiers.
   5111  1.1  mrg 	* include/pstl/numeric_impl.h:  Uglify identfiers.
   5112  1.1  mrg 	* include/pstl/parallel_backend_tbb.h: Uglify identfiers.
   5113  1.1  mrg 
   5114  1.1  mrg 2019-04-11  Thomas Rodgers  <trodgers (a] redhat.com>
   5115  1.1  mrg 
   5116  1.1  mrg 	* include/bits/c++config:
   5117  1.1  mrg 	Add definition for __PSTL_ASSERT.
   5118  1.1  mrg 	Add definition for __PSTL_ASSERT_MSG.
   5119  1.1  mrg 	* include/pstl/algorithm_impl.h: Replace use of assert().
   5120  1.1  mrg 	* include/pstl/numeric_impl.h: Replace use of assert().
   5121  1.1  mrg 	* include/pstl/parallel_backend_tbb.h:
   5122  1.1  mrg 	Replace use of assert().
   5123  1.1  mrg 	Replace use of __TBB_ASSERT().
   5124  1.1  mrg 	* include/pstl/parallel_backend_utils.h: Replace use of assert().
   5125  1.1  mrg 
   5126  1.1  mrg 2019-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5127  1.1  mrg 
   5128  1.1  mrg 	PR libstdc++/90046
   5129  1.1  mrg 	* src/c++17/memory_resource.cc
   5130  1.1  mrg 	(monotonic_buffer_resource::_Chunk::allocate): Increase alignment if
   5131  1.1  mrg 	needed to allow placing a _Chunk at the end of the buffer.
   5132  1.1  mrg 	(monotonic_buffer_resource::_M_new_buffer): Remove static_assert.
   5133  1.1  mrg 
   5134  1.1  mrg 2019-04-10  Jonathan Wakely  <jwakely (a] redhat.com>
   5135  1.1  mrg 
   5136  1.1  mrg 	* doc/xml/faq.xml: Add information about emergency EH pool.
   5137  1.1  mrg 	* doc/xml/manual/debug.xml: Update list of memory debugging tools.
   5138  1.1  mrg 	Move outdated information on mt_allocator to a separate section.
   5139  1.1  mrg 	* doc/xml/manual/evolution.xml: Clarify that GLIBCXX_FORCE_NEW
   5140  1.1  mrg 	doesn't affect the default allocator.
   5141  1.1  mrg 
   5142  1.1  mrg 	* testsuite/lib/libstdc++.exp (check_v3_target_parallel_mode): Fix
   5143  1.1  mrg 	typo.
   5144  1.1  mrg 
   5145  1.1  mrg 	PR libstdc++/89851
   5146  1.1  mrg 	* testsuite/20_util/variant/89851.cc: New test.
   5147  1.1  mrg 
   5148  1.1  mrg 2019-04-09  Jonathan Wakely  <jwakely (a] redhat.com>
   5149  1.1  mrg 
   5150  1.1  mrg 	* include/std/variant: Adjust whitespace. Add comments.
   5151  1.1  mrg 	(_Multi_array): Leave primary template undefined.
   5152  1.1  mrg 	(_Multi_array<_Tp>): Define partial specialization for base case of
   5153  1.1  mrg 	recursion.
   5154  1.1  mrg 	(__gen_vtable_impl, __gen_vtable): Remove redundant && from type
   5155  1.1  mrg 	which is always a reference.
   5156  1.1  mrg 	(__gen_vtable::_S_apply()): Remove function, inline body into
   5157  1.1  mrg 	default member initializer.
   5158  1.1  mrg 	* testsuite/20_util/variant/visit.cc: Test with noncopyable types.
   5159  1.1  mrg 
   5160  1.1  mrg 	* include/std/variant (__variant_idx_cookie): Add member type.
   5161  1.1  mrg 	(__visitor_result_type): Remove.
   5162  1.1  mrg 	(__do_visit): Use invoke_result instead of __visitor_result_type.
   5163  1.1  mrg 	* testsuite/20_util/variant/visit.cc: New test.
   5164  1.1  mrg 
   5165  1.1  mrg 	PR libstdc++/90008
   5166  1.1  mrg 	* include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Remove
   5167  1.1  mrg 	unused capture.
   5168  1.1  mrg 	* testsuite/20_util/variant/90008.cc: New test.
   5169  1.1  mrg 
   5170  1.1  mrg 2019-04-09  Thomas Rodgers  <trodgers (a] redhat.com>
   5171  1.1  mrg 
   5172  1.1  mrg 	* include/pstl/algorithm_impl.h: Add namespace qualification.
   5173  1.1  mrg 	* include/pstl/execution_defs.h: Add namespace qualification.
   5174  1.1  mrg 	* include/pstl/execution_impl.h: Add namespace qualification.
   5175  1.1  mrg 	* include/pstl/numeric_impl.h: Add namespace qualification.
   5176  1.1  mrg 	* include/pstl/parallel_backend_tbb.h: Add namespace qualification.
   5177  1.1  mrg 	* include/pstl/unseq_backend_simd.h: Add namespace qualification.
   5178  1.1  mrg 	* include/pstl/parallel_backend_utils.h: Include <cassert>.
   5179  1.1  mrg 
   5180  1.1  mrg 2019-04-08  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   5181  1.1  mrg 
   5182  1.1  mrg 	Fix visit<R> for variant.
   5183  1.1  mrg 	* include/std/variant (__do_visit): Add a template parameter
   5184  1.1  mrg 	for enforcing same return types for visit.
   5185  1.1  mrg 	(__gen_vtable_impl): Likewise.
   5186  1.1  mrg 	(_S_apply_single_alt): Adjust.
   5187  1.1  mrg 	(__visit_invoke_impl): New. Handle casting to void.
   5188  1.1  mrg 	(__do_visit_invoke): New. Enforces same return types.
   5189  1.1  mrg 	(__do_visit_invoke_r): New. Converts return types.
   5190  1.1  mrg 	(__visit_invoke): Adjust.
   5191  1.1  mrg 	(__gen_vtable):  Add a template parameter for enforcing
   5192  1.1  mrg 	same return types for visit.
   5193  1.1  mrg 	* testsuite/20_util/variant/visit_r.cc: Add a test for a visitor with
   5194  1.1  mrg 	different return types.
   5195  1.1  mrg 	* testsuite/20_util/variant/visit_neg.cc: New. Ensures that
   5196  1.1  mrg 	visitors with different return types don't accidentally
   5197  1.1  mrg 	compile with regular visitation.
   5198  1.1  mrg 
   5199  1.1  mrg 2019-04-08  Christophe Lyon  <christophe.lyon (a] linaro.org>
   5200  1.1  mrg 
   5201  1.1  mrg 	* testsuite/27_io/filesystem/iterators/caching.cc: Add
   5202  1.1  mrg 	dg-require-filesystem-ts.
   5203  1.1  mrg 
   5204  1.1  mrg 2019-04-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5205  1.1  mrg 
   5206  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Update status.
   5207  1.1  mrg 	* include/std/variant (visit<R>): Define for C++2a (P0655R1).
   5208  1.1  mrg 	* testsuite/20_util/variant/visit_r.cc: New test.
   5209  1.1  mrg 
   5210  1.1  mrg 	* include/bits/fs_dir.h (directory_iterator::operator*)
   5211  1.1  mrg 	(directory_iterator::operator->): Add noexcept.
   5212  1.1  mrg 	(operator==, operator!=): Replace namespace-scope equality operators
   5213  1.1  mrg 	for directory iterators with hidden friends.
   5214  1.1  mrg 
   5215  1.1  mrg 	PR libstdc++/89986
   5216  1.1  mrg 	* config/abi/pre/gnu.ver: Add missing exports.
   5217  1.1  mrg 	* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Test
   5218  1.1  mrg 	increment member.
   5219  1.1  mrg 
   5220  1.1  mrg 	* config/abi/pre/gnu.ver: Export new symbols.
   5221  1.1  mrg 	* include/bits/fs_dir.h (recursive_directory_iterator::options())
   5222  1.1  mrg 	(recursive_directory_iterator::recursion_pending())
   5223  1.1  mrg 	(recursive_directory_iterator::disable_recursion_pending()): Remove
   5224  1.1  mrg 	inline definitions. Make noexcept.
   5225  1.1  mrg 	(recursive_directory_iterator::depth())
   5226  1.1  mrg 	(recursive_directory_iterator::operator*())
   5227  1.1  mrg 	(recursive_directory_iterator::operator->()): Make noexcept.
   5228  1.1  mrg 	(recursive_directory_iterator::_M_options)
   5229  1.1  mrg 	(recursive_directory_iterator::_M_pending): Remove data members.
   5230  1.1  mrg 	* src/c++17/fs_path.cc (_Dir_stack): Add constructor and data members.
   5231  1.1  mrg 	(recursive_directory_iterator::recursive_directory_iterator): Remove
   5232  1.1  mrg 	ctor-initializer. Use new constructor for _Dir_stack.
   5233  1.1  mrg 	(recursive_directory_iterator::options())
   5234  1.1  mrg 	(recursive_directory_iterator::recursion_pending())
   5235  1.1  mrg 	(recursive_directory_iterator::disable_recursion_pending()): Add
   5236  1.1  mrg 	non-inline definitions.
   5237  1.1  mrg 	(recursive_directory_iterator::depth()): Make noexcept.
   5238  1.1  mrg 	(recursive_directory_iterator::increment(error_code&))
   5239  1.1  mrg 	(recursive_directory_iterator::pop(error_code&)): Adjust to new
   5240  1.1  mrg 	location of options and recursion_pending members.
   5241  1.1  mrg 	* testsuite/27_io/filesystem/iterators/recursion_pending.cc: New test.
   5242  1.1  mrg 	* testsuite/util/testsuite_fs.h (__gnu_test::scoped_file): Add
   5243  1.1  mrg 	user-declared move constructor and assignment operator, to make the
   5244  1.1  mrg 	type move-only.
   5245  1.1  mrg 
   5246  1.1  mrg 	* src/c++17/fs_dir.cc (_Dir::advance(bool, error_code&)): Handle
   5247  1.1  mrg 	d_type == DT_UNKNOWN immediately.
   5248  1.1  mrg 	(_Dir::should_recurse(bool, error_code&)): Remove file_type::unknown
   5249  1.1  mrg 	handling here.
   5250  1.1  mrg 	* testsuite/27_io/filesystem/iterators/caching.cc: New test.
   5251  1.1  mrg 
   5252  1.1  mrg 	* include/bits/fs_path.h (path::operator=(path&&)): Check for self
   5253  1.1  mrg 	assignment.
   5254  1.1  mrg 	* src/c++17/fs_path.cc (path::operator=(const path&)): Likewise.
   5255  1.1  mrg 	* testsuite/27_io/filesystem/path/assign/copy.cc: Test self
   5256  1.1  mrg 	assignment.
   5257  1.1  mrg 
   5258  1.1  mrg 	PR libstdc++/87431 (again)
   5259  1.1  mrg 	* include/bits/basic_string.h (__variant::_Never_valueless_alt):
   5260  1.1  mrg 	Define partial specialization for basic_string.
   5261  1.1  mrg 	* include/bits/shared_ptr.h (_Never_valueless_alt): Likewise for
   5262  1.1  mrg 	shared_ptr and weak_ptr.
   5263  1.1  mrg 	* include/bits/std_function.h (_Never_valueless_alt): Likewise for
   5264  1.1  mrg 	function.
   5265  1.1  mrg 	* include/bits/stl_vector.h (_Never_valueless_alt): Likewise for
   5266  1.1  mrg 	vector.
   5267  1.1  mrg 	* include/bits/unique_ptr.h (_Never_valueless_alt): Likewise for
   5268  1.1  mrg 	unique_ptr.
   5269  1.1  mrg 	* include/debug/vector (_Never_valueless_alt): Likewise for debug
   5270  1.1  mrg 	vector.
   5271  1.1  mrg 	* include/std/any (_Never_valueless_alt): Define explicit
   5272  1.1  mrg 	specialization for any.
   5273  1.1  mrg 	* include/std/variant (_Never_valueless_alt): Define primary template.
   5274  1.1  mrg 	(__never_valueless): Use _Never_valueless_alt instead of
   5275  1.1  mrg 	is_trivially_copyable.
   5276  1.1  mrg 	(variant::emplace<N>(Args&&...)): Add special case for non-throwing
   5277  1.1  mrg 	initializations to avoid try-catch overhead. Add special case for
   5278  1.1  mrg 	scalars produced by potentially-throwing conversions. Use
   5279  1.1  mrg 	_Never_valueless_alt instead of is_trivially_copyable for the
   5280  1.1  mrg 	remaining strong exception-safety cases.
   5281  1.1  mrg 	(variant::emplace<N>(initializer_list<U>, Args&&...)): Likewise.
   5282  1.1  mrg 	* testsuite/20_util/variant/87431.cc: Run both test functions.
   5283  1.1  mrg 	* testsuite/20_util/variant/exception_safety.cc: New test.
   5284  1.1  mrg 	* testsuite/20_util/variant/run.cc: Use pmr::string instead of string,
   5285  1.1  mrg 	so the variant becomes valueless.
   5286  1.1  mrg 
   5287  1.1  mrg 2019-04-03  Jonathan Wakely  <jwakely (a] redhat.com>
   5288  1.1  mrg 
   5289  1.1  mrg 	PR libstdc++/85184
   5290  1.1  mrg 	* include/std/variant (_Copy_assign_base, _Move_assign_base, variant):
   5291  1.1  mrg 	Remove assertions.
   5292  1.1  mrg 	(variant::emplace<_Tp>): Return result of emplace<N> directly.
   5293  1.1  mrg 
   5294  1.1  mrg 	* include/std/string (__hash_string_base): New class template defining
   5295  1.1  mrg 	operator() for hashing strings.
   5296  1.1  mrg 	(hash<pmr::string>, hash<pmr::u8string>, hash<pmr::u16string>)
   5297  1.1  mrg 	(hash<pmr::u32string>, hash<pmr::wstring>): Define for C++17.
   5298  1.1  mrg 	* testsuite/21_strings/basic_string/hash/hash.cc: New test.
   5299  1.1  mrg 	* testsuite/21_strings/basic_string/hash/hash_char8_t.cc: New test.
   5300  1.1  mrg 
   5301  1.1  mrg 2019-04-01  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   5302  1.1  mrg 
   5303  1.1  mrg 	Use single-visitation in variant assignment and swap and relops.
   5304  1.1  mrg 	Also use indices instead of types when checking whether
   5305  1.1  mrg 	variants hold the same thing.
   5306  1.1  mrg 	* include/std/variant (__do_visit): Add a template parameter
   5307  1.1  mrg 	for index visitation, invoke with indices if index visitation
   5308  1.1  mrg 	is used.
   5309  1.1  mrg 	(__variant_idx_cookie): New.
   5310  1.1  mrg 	(__visit_with_index): Likewise.
   5311  1.1  mrg 	(_Copy_assign_base::operator=): Do single-visitation with
   5312  1.1  mrg 	an index visitor.
   5313  1.1  mrg 	(_Move_assign_base::operator=): Likewise.
   5314  1.1  mrg 	(_Extra_visit_slot_needed): Adjust.
   5315  1.1  mrg 	(__visit_invoke): Call with indices if it's an index visitor.
   5316  1.1  mrg 	(relops): Do single-visitation with an index visitor.
   5317  1.1  mrg 	(swap): Likewise.
   5318  1.1  mrg 	(__visitor_result_type): New.
   5319  1.1  mrg 
   5320  1.1  mrg 2019-03-30  Eric Botcazou  <ebotcazou (a] adacore.com>
   5321  1.1  mrg 
   5322  1.1  mrg 	* src/c++17/fs_ops.cc (fs::permissions): Use std::errc::not_supported.
   5323  1.1  mrg 
   5324  1.1  mrg 2019-03-28  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   5325  1.1  mrg 
   5326  1.1  mrg 	Don't revisit a variant we are already visiting.
   5327  1.1  mrg 	* include/std/variant (__variant_construct_single): New.
   5328  1.1  mrg 	(__variant_construct): Use it.
   5329  1.1  mrg 	(_M_destructive_move): Likewise.
   5330  1.1  mrg 	(_M_destructive_copy): Likewise.
   5331  1.1  mrg 	(_Copy_assign_base::operator=): Adjust.
   5332  1.1  mrg 	(_Move_assign_base::operator=): Likewise.
   5333  1.1  mrg 	(swap): Likewise.
   5334  1.1  mrg 
   5335  1.1  mrg 2019-03-26  Jonathan Wakely  <jwakely (a] redhat.com>
   5336  1.1  mrg 
   5337  1.1  mrg 	PR libstdc++/85965
   5338  1.1  mrg 	* include/bits/hashtable.h (_Hashtable): Move static assertions to
   5339  1.1  mrg 	destructor so they are not evaluated until the _Key type is complete.
   5340  1.1  mrg 	* include/bits/stl_tree.h (_Rb_tree): Likewise.
   5341  1.1  mrg 	* testsuite/23_containers/set/85965.cc: New test.
   5342  1.1  mrg 	* testsuite/23_containers/unordered_set/85965.cc: New test.
   5343  1.1  mrg 	* testsuite/23_containers/map/48101_neg.cc: Replace "here" errors
   5344  1.1  mrg 	with regexp matching the corresponding _Rb_tree specialization.
   5345  1.1  mrg 	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
   5346  1.1  mrg 	* testsuite/23_containers/multiset/48101_neg.cc: Remove "here" error.
   5347  1.1  mrg 	* testsuite/23_containers/set/48101_neg.cc: Likewise.
   5348  1.1  mrg 	* testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
   5349  1.1  mrg 	* testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
   5350  1.1  mrg 	* testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
   5351  1.1  mrg 	* testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
   5352  1.1  mrg 
   5353  1.1  mrg 2019-03-26  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   5354  1.1  mrg 
   5355  1.1  mrg 	PR libstdc++/89825
   5356  1.1  mrg 	Fix based on a suggestion by Antony Polukhin.
   5357  1.1  mrg 	* include/std/variant (__never_valueless): New.
   5358  1.1  mrg 	(_M_valid): Use it.
   5359  1.1  mrg 	(_Extra_visit_slot_needed): New.
   5360  1.1  mrg 	(_Multi_array): Use it.
   5361  1.1  mrg 	(_S_apply_all_alts): Likewise.
   5362  1.1  mrg 
   5363  1.1  mrg 2019-03-26  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   5364  1.1  mrg 
   5365  1.1  mrg 	PR libstdc++/89824
   5366  1.1  mrg 	Fix based on a suggestion by Antony Polukhin.
   5367  1.1  mrg 	* include/std/variant (__gen_vtable): Don't reserve an
   5368  1.1  mrg 	additional table slot, _Multi_array already does that.
   5369  1.1  mrg 
   5370  1.1  mrg 2019-03-26  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   5371  1.1  mrg 
   5372  1.1  mrg 	PR libstdc++/89816
   5373  1.1  mrg 	Fix based on a suggestion by Antony Polukhin.
   5374  1.1  mrg 	* include/std/variant (__variant_construct): Capture a pointer
   5375  1.1  mrg 	to the storage and visit just one variant.
   5376  1.1  mrg 
   5377  1.1  mrg 2019-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
   5378  1.1  mrg 
   5379  1.1  mrg 	* doc/xml/manual/backwards_compatibility.xml: Remove link to
   5380  1.1  mrg 	Doxygen-generated pages with unstable URL.
   5381  1.1  mrg 	* doc/xml/manual/concurrency_extensions.xml: Likewise.
   5382  1.1  mrg 	* doc/xml/manual/extensions.xml: Likewise.
   5383  1.1  mrg 	* doc/xml/manual/parallel_mode.xml: Likewise.
   5384  1.1  mrg 	* doc/xml/manual/support.xml: Likewise.
   5385  1.1  mrg 
   5386  1.1  mrg 	* include/bits/stl_algobase.h (__lg): Do arithmetic on type int to
   5387  1.1  mrg 	avoid -Wconversion warnings.
   5388  1.1  mrg 
   5389  1.1  mrg 2019-03-21  Thomas Rodgers  <trodgers (a] redhat.com>
   5390  1.1  mrg 
   5391  1.1  mrg 	* include/Makefile.am (std_header): Add ${std_srcdir}/execution.
   5392  1.1  mrg 	(pstl_srcdir, pstl_builddir, pstl_headers): New variables.
   5393  1.1  mrg 	(allstamped): Add stamp-pstl.
   5394  1.1  mrg 	(install-headers): Add ptsl_builddir.
   5395  1.1  mrg 	* include/Makefile.in: Regenerate.
   5396  1.1  mrg 	* include/bits/c++config: Add pstl configuration.
   5397  1.1  mrg 	* include/pstl/LICENSE.txt: New file.
   5398  1.1  mrg 	* include/pstl/algorithm_fwd.h: New file.
   5399  1.1  mrg 	* include/pstl/algorithm_impl.h: New file.
   5400  1.1  mrg 	* include/pstl/execution_defs.h: New file.
   5401  1.1  mrg 	* include/pstl/execution_impl.h: New file.
   5402  1.1  mrg 	* include/pstl/glue_algorithm_defs.h: New file.
   5403  1.1  mrg 	* include/pstl/glue_algorithm_impl.h: New file.
   5404  1.1  mrg 	* include/pstl/glue_execution_defs.h: New file.
   5405  1.1  mrg 	* include/pstl/glue_memory_defs.h: New file.
   5406  1.1  mrg 	* include/pstl/glue_memory_impl.h: New file.
   5407  1.1  mrg 	* include/pstl/glue_numeric_defs.h: New file.
   5408  1.1  mrg 	* include/pstl/glue_numeric_impl.h: New file.
   5409  1.1  mrg 	* include/pstl/memory_impl.h: New file.
   5410  1.1  mrg 	* include/pstl/numeric_fwd.h: New file.
   5411  1.1  mrg 	* include/pstl/numeric_impl.h: New file.
   5412  1.1  mrg 	* include/pstl/parallel_backend.h: New file.
   5413  1.1  mrg 	* include/pstl/parallel_backend_tbb.h: New file.
   5414  1.1  mrg 	* include/pstl/parallel_backend_utils.h: New file.
   5415  1.1  mrg 	* include/pstl/parallel_impl.h: New file.
   5416  1.1  mrg 	* include/pstl/pstl_config.h: New file.
   5417  1.1  mrg 	* include/pstl/unseq_backend_simd.h: New file.
   5418  1.1  mrg 	* include/pstl/utils.h: New file.
   5419  1.1  mrg 	* include/std/algorithm: Include parallel algorithm implementations.
   5420  1.1  mrg 	* include/std/execution: New file.
   5421  1.1  mrg 	* include/std/memory: Include parallel algorithm implementations.
   5422  1.1  mrg 	* include/std/numeric: Include parallel algorithm implementations.
   5423  1.1  mrg 	* include/std/version: Add parallel algorithms feature test macro.
   5424  1.1  mrg 	* testsuite/util/pstl/pstl_test_config.h: New file.
   5425  1.1  mrg 	* testsuite/util/pstl/test_utils.h: New file.
   5426  1.1  mrg 	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: New file.
   5427  1.1  mrg 	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: New file.
   5428  1.1  mrg 	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: New file.
   5429  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: New file.
   5430  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_merge/merge.cc: New file.
   5431  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: New file.
   5432  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: New file.
   5433  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: New file.
   5434  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: New file.
   5435  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: New file.
   5436  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: New file.
   5437  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: New file.
   5438  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: New file.
   5439  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: New file.
   5440  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: New file.
   5441  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: New file.
   5442  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: New file.
   5443  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: New file.
   5444  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: New file.
   5445  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: New file.
   5446  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: New file.
   5447  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: New file.
   5448  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: New file.
   5449  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: New file.
   5450  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: New file.
   5451  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: New file.
   5452  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: New file.
   5453  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: New file.
   5454  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: New file.
   5455  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: New file.
   5456  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: New file.
   5457  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: New file.
   5458  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: New file.
   5459  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: New file.
   5460  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: New file.
   5461  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: New file.
   5462  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: New file.
   5463  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: New file.
   5464  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: New file.
   5465  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_sorting/includes.cc: New file.
   5466  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: New file.
   5467  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: New file.
   5468  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: New file.
   5469  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: New file.
   5470  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: New file.
   5471  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: New file.
   5472  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_sorting/set.cc: New file.
   5473  1.1  mrg 	* testsuite/25_algorithms/pstl/alg_sorting/sort.cc: New file.
   5474  1.1  mrg 	* testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: New file.
   5475  1.1  mrg 	* testsuite/26_numerics/pstl/numeric_ops/reduce.cc: New file.
   5476  1.1  mrg 	* testsuite/26_numerics/pstl/numeric_ops/scan.cc: New file.
   5477  1.1  mrg 	* testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: New file.
   5478  1.1  mrg 	* testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: New file.
   5479  1.1  mrg 	* testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: New file.
   5480  1.1  mrg 	* testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: New file.
   5481  1.1  mrg 	* testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: New file.
   5482  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: New file.
   5483  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_merge/merge.cc: New file.
   5484  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: New file.
   5485  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: New file.
   5486  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: New file.
   5487  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: New file.
   5488  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: New file.
   5489  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: New file.
   5490  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: New file.
   5491  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: New file.
   5492  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: New file.
   5493  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: New file.
   5494  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: New file.
   5495  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: New file.
   5496  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: New file.
   5497  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: New file.
   5498  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: New file.
   5499  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: New file.
   5500  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: New file.
   5501  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: New file.
   5502  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: New file.
   5503  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: New file.
   5504  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: New file.
   5505  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: New file.
   5506  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: New file.
   5507  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: New file.
   5508  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: New file.
   5509  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: New file.
   5510  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: New file.
   5511  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: New file.
   5512  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: New file.
   5513  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: New file.
   5514  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: New file.
   5515  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: New file.
   5516  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: New file.
   5517  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: New file.
   5518  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/includes.cc: New file.
   5519  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: New file.
   5520  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: New file.
   5521  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: New file.
   5522  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: New file.
   5523  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: New file.
   5524  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: New file.
   5525  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/set.cc: New file.
   5526  1.1  mrg 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/sort.cc: New file.
   5527  1.1  mrg 	* testsuite/testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: New file.
   5528  1.1  mrg 	* testsuite/testsuite/26_numerics/pstl/numeric_ops/reduce.cc: New file.
   5529  1.1  mrg 	* testsuite/testsuite/26_numerics/pstl/numeric_ops/scan.cc: New file.
   5530  1.1  mrg 	* testsuite/testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: New file.
   5531  1.1  mrg 	* testsuite/testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: New file.
   5532  1.1  mrg 
   5533  1.1  mrg 2019-03-21  Jonathan Wakely  <jwakely (a] redhat.com>
   5534  1.1  mrg 
   5535  1.1  mrg 	* include/c_compatibility/math.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]
   5536  1.1  mrg 	(assoc_laguerre, assoc_laguerref, assoc_laguerrel, assoc_legendre)
   5537  1.1  mrg 	(assoc_legendref, assoc_legendrel, beta, betaf, betal, comp_ellint_1)
   5538  1.1  mrg 	(comp_ellint_1f, comp_ellint_1l, comp_ellint_2, comp_ellint_2f)
   5539  1.1  mrg 	(comp_ellint_2l, comp_ellint_3, comp_ellint_3f, comp_ellint_3l)
   5540  1.1  mrg 	(cyl_bessel_i, cyl_bessel_if, cyl_bessel_il, cyl_bessel_j)
   5541  1.1  mrg 	(cyl_bessel_jf, cyl_bessel_jl, cyl_bessel_k, cyl_bessel_kf)
   5542  1.1  mrg 	(cyl_bessel_kl, cyl_neumann, cyl_neumannf, cyl_neumannl, ellint_1)
   5543  1.1  mrg 	(ellint_1f, ellint_1l, ellint_2, ellint_2f, ellint_2l, ellint_3)
   5544  1.1  mrg 	(ellint_3f, ellint_3l, expint, expintf, expintl, hermite, hermitef)
   5545  1.1  mrg 	(hermitel, laguerre, laguerref, laguerrel, legendre, legendref)
   5546  1.1  mrg 	(legendrel, riemann_zeta, riemann_zetaf, riemann_zetal, sph_bessel)
   5547  1.1  mrg 	(sph_besself, sph_bessell, sph_legendre, sph_legendref, sph_legendrel)
   5548  1.1  mrg 	(sph_neumann, sph_neumannf, sph_neumannl): Only add using-declarations
   5549  1.1  mrg 	when the special functions IS is enabled, not for C++17.
   5550  1.1  mrg 	* testsuite/26_numerics/headers/cmath/functions_global_c++17.cc:
   5551  1.1  mrg 	Replace with ...
   5552  1.1  mrg 	* testsuite/26_numerics/headers/cmath/functions_global.cc: New test,
   5553  1.1  mrg 	without checks for special functions in C++17.
   5554  1.1  mrg 	* testsuite/26_numerics/headers/cmath/special_functions_global.cc:
   5555  1.1  mrg 	New test.
   5556  1.1  mrg 
   5557  1.1  mrg 	PR libstdc++/88066
   5558  1.1  mrg 	* include/backward/hash_map: Use <> for includes not "".
   5559  1.1  mrg 	* include/backward/hash_set: Likewise.
   5560  1.1  mrg 	* include/backward/strstream: Likewise.
   5561  1.1  mrg 	* include/tr1/bessel_function.tcc: Likewise.
   5562  1.1  mrg 	* include/tr1/exp_integral.tcc: Likewise.
   5563  1.1  mrg 	* include/tr1/legendre_function.tcc: Likewise.
   5564  1.1  mrg 	* include/tr1/modified_bessel_func.tcc: Likewise.
   5565  1.1  mrg 	* include/tr1/riemann_zeta.tcc: Likewise.
   5566  1.1  mrg 
   5567  1.1  mrg 2019-03-19  Jonathan Wakely  <jwakely (a] redhat.com>
   5568  1.1  mrg 
   5569  1.1  mrg 	* doc/xml/manual/allocator.xml: Link to table documenting evolution
   5570  1.1  mrg 	of extension allocators.
   5571  1.1  mrg 	* doc/xml/manual/evolution.xml: Use angle brackets for header names.
   5572  1.1  mrg 	Document new headers in 7.2, 8.1 and 9.1 releases.
   5573  1.1  mrg 	* doc/xml/manual/using.xml: Adjust link target for new_allocator.
   5574  1.1  mrg 	* doc/html/*: Regenerate.
   5575  1.1  mrg 
   5576  1.1  mrg 2019-03-12  John David Anglin  <dave.anglin (a] bell.net>
   5577  1.1  mrg 
   5578  1.1  mrg 	PR libstdc++/89461
   5579  1.1  mrg 	* testsuite/lib/libstdc++.exp: Locate libatomic.
   5580  1.1  mrg 	* testsuite/lib/dg-options.exp (add_options_for_libatomic): New.
   5581  1.1  mrg 	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
   5582  1.1  mrg 	libatomic options.
   5583  1.1  mrg 	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
   5584  1.1  mrg 	* testsuite/experimental/net/timer/waitable/cons.cc: Likewise.
   5585  1.1  mrg 	* testsuite/experimental/net/timer/waitable/dest.cc: Likewise.
   5586  1.1  mrg 	* testsuite/experimental/net/timer/waitable/ops.cc: Likewise.
   5587  1.1  mrg 
   5588  1.1  mrg 2019-03-11  Jonathan Wakely  <jwakely (a] redhat.com>
   5589  1.1  mrg 
   5590  1.1  mrg 	PR libstdc++/89460
   5591  1.1  mrg 	* configure.ac: Check for sockatmark.
   5592  1.1  mrg 	* crossconfig.m4: Check for sockatmark.
   5593  1.1  mrg 	* config.h.in: Regenerate.
   5594  1.1  mrg 	* configure: Regenerate.
   5595  1.1  mrg 	* include/experimental/internet (address_v4::_S_hton): Rename
   5596  1.1  mrg 	overloaded functions to _S_hton_16 and _S_ntoh_16.
   5597  1.1  mrg 	(address_v4::_S_ntoh): Rename to _S_ntoh_16 and _S_ntoh_32.
   5598  1.1  mrg 	(basic_endpoint): Adjust calls to _S_hton and _S_ntoh.
   5599  1.1  mrg 	* include/experimental/socket (basic_socket::at_mark): Check
   5600  1.1  mrg 	_GLIBCXX_HAVE_SOCKATMARK.
   5601  1.1  mrg 
   5602  1.1  mrg 	* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Use
   5603  1.1  mrg 	const variables instead of macros.
   5604  1.1  mrg 
   5605  1.1  mrg 	PR libstdc++/89629
   5606  1.1  mrg 	* libsupc++/hash_bytes.cc [__SIZEOF_SIZE_T__ == 8] (_Hash_bytes):
   5607  1.1  mrg 	Use correct type for len_aligned.
   5608  1.1  mrg 	* testsuite/20_util/hash/89629.cc: New test.
   5609  1.1  mrg 
   5610  1.1  mrg 2019-03-11  Jakub Jelinek  <jakub (a] redhat.com>
   5611  1.1  mrg 
   5612  1.1  mrg 	PR libstdc++/89641
   5613  1.1  mrg 	* include/std/atomic (atomic<T>::store, atomic<T>::load,
   5614  1.1  mrg 	atomic<T>::exchange, atomic<T>::compare_exchange_weak,
   5615  1.1  mrg 	atomic<T>::compare_exchange_strong): Cast __m or __s and __f to int.
   5616  1.1  mrg 	* include/bits/atomic_base.h (__atomic_base<T>::operator++,
   5617  1.1  mrg 	__atomic_base<T>::operator--, __atomic_base<T>::operator+=,
   5618  1.1  mrg 	__atomic_base<T>::operator-=, __atomic_base<T>::operator&=,
   5619  1.1  mrg 	__atomic_base<T>::operator|=, __atomic_base<T>::operator^=,
   5620  1.1  mrg 	__atomic_base<T*>::operator++, __atomic_base<T*>::operator--,
   5621  1.1  mrg 	__atomic_base<T*>::operator+=, __atomic_base<T*>::operator-=): Cast
   5622  1.1  mrg 	memory_order_seq_cst to int.
   5623  1.1  mrg 
   5624  1.1  mrg 2019-03-08  Jonathan Wakely  <jwakely (a] redhat.com>
   5625  1.1  mrg 
   5626  1.1  mrg 	* doc/xml/manual/using.xml: Use link element instead of xref.
   5627  1.1  mrg 	* doc/html/*: Regenerate.
   5628  1.1  mrg 
   5629  1.1  mrg 	* include/bits/fs_path.h (path::format): Add fixed underlying type.
   5630  1.1  mrg 
   5631  1.1  mrg 2019-03-08  Franois Dumont  <fdumont (a] gcc.gnu.org>
   5632  1.1  mrg 
   5633  1.1  mrg 	PR libstdc++/89477
   5634  1.1  mrg 	* include/debug/map.h (map): Use _RequireNotAllocator to constrain
   5635  1.1  mrg 	parameters in deduction guides.
   5636  1.1  mrg 	* include/debug/multimap.h (multimap): Likewise.
   5637  1.1  mrg 	* include/debug/set.h (multimap): Likewise.
   5638  1.1  mrg 	* include/debug/multiset.h (multimap): Likewise.
   5639  1.1  mrg 	* include/debug/unordered_map (unordered_map): Likewise.
   5640  1.1  mrg 	(unordered_multimap): Likewise.
   5641  1.1  mrg 	* include/debug/unordered_set (unordered_set): Likewise.
   5642  1.1  mrg 	(unordered_multiset): Likewise.
   5643  1.1  mrg 
   5644  1.1  mrg 	PR libstdc++/89608
   5645  1.1  mrg 	* include/debug/unordered_map (unordered_map<>::_M_check_rehashed):
   5646  1.1  mrg 	Invalidate all iterators in case of rehash.
   5647  1.1  mrg 	(unordered_multimap<>::_M_check_rehashed): Likewise.
   5648  1.1  mrg 	* include/debug/unordered_set
   5649  1.1  mrg 	(unordered_set<>::_M_check_rehashed): Likewise.
   5650  1.1  mrg 	(unordered_multiset<>::_M_check_rehashed): Likewise.
   5651  1.1  mrg 	* testsuite/23_containers/unordered_set/debug/89608_neg.cc: New.
   5652  1.1  mrg 
   5653  1.1  mrg 2019-03-07  Andreas Schwab  <schwab (a] suse.de>
   5654  1.1  mrg 
   5655  1.1  mrg 	* config/abi/post/riscv64-linux-gnu: New directory.
   5656  1.1  mrg 	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: New file.
   5657  1.1  mrg 
   5658  1.1  mrg 2019-03-07  Jonathan Wakely  <jwakely (a] redhat.com>
   5659  1.1  mrg 
   5660  1.1  mrg 	* testsuite/20_util/function_objects/bind_front/1.cc: Change from
   5661  1.1  mrg 	compile test to run. Fix typo.
   5662  1.1  mrg 
   5663  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Update C++20 status.
   5664  1.1  mrg 	* doc/html/*: Regenerate.
   5665  1.1  mrg 
   5666  1.1  mrg 	P0356R5 Simplified partial function application
   5667  1.1  mrg 	* include/std/functional [C++20] (_Bind_front, _Bind_front_t): Define
   5668  1.1  mrg 	helpers for bind_front.
   5669  1.1  mrg 	(bind_front, __cpp_lib_bind_front): Define.
   5670  1.1  mrg 	* testsuite/20_util/function_objects/bind_front/1.cc: New test.
   5671  1.1  mrg 
   5672  1.1  mrg 2019-03-06  Jonathan Wakely  <jwakely (a] redhat.com>
   5673  1.1  mrg 
   5674  1.1  mrg 	* include/std/type_traits (__cpp_lib_bounded_array_traits): Define.
   5675  1.1  mrg 	* include/std/version (__cpp_lib_bounded_array_traits): Likewise.
   5676  1.1  mrg 	* testsuite/20_util/is_bounded_array/value.cc: Check for macro.
   5677  1.1  mrg 	* testsuite/20_util/is_unbounded_array/value.cc: Likewise.
   5678  1.1  mrg 
   5679  1.1  mrg 2019-03-06  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   5680  1.1  mrg 
   5681  1.1  mrg 	PR libstdc++/86655 - std::assoc_legendre should not constrain
   5682  1.1  mrg 	the value of m (or x).
   5683  1.1  mrg 	* include/tr1/legendre_function.tcc (__assoc_legendre_p,
   5684  1.1  mrg 	__sph_legendre): If degree > order Don't throw, return 0.
   5685  1.1  mrg 	(__legendre_p, __assoc_legendre_p): Don't constrain x either.
   5686  1.1  mrg 	* testsuite/special_functions/02_assoc_legendre/pr86655.cc: New test.
   5687  1.1  mrg 	* testsuite/special_functions/20_sph_legendre/pr86655.cc: New test.
   5688  1.1  mrg 	* testsuite/tr1/5_numerical_facilities/special_functions/
   5689  1.1  mrg 	02_assoc_legendre/pr86655.cc: New test.
   5690  1.1  mrg 	* testsuite/tr1/5_numerical_facilities/special_functions/
   5691  1.1  mrg 	22_sph_legendre/pr86655.cc: New test.
   5692  1.1  mrg 
   5693  1.1  mrg 2019-03-06  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   5694  1.1  mrg 
   5695  1.1  mrg 	Rewrite variant.
   5696  1.1  mrg 	Also PR libstdc++/85517
   5697  1.1  mrg 	* include/std/variant (__do_visit): New.
   5698  1.1  mrg 	(__variant_cast): Likewise.
   5699  1.1  mrg 	(__variant_cookie): Likewise.
   5700  1.1  mrg 	(__erased_*): Remove.
   5701  1.1  mrg 	(_Variant_storage::_S_vtable): Likewise.
   5702  1.1  mrg 	(_Variant_storage::__M_reset_impl): Adjust to use __do_visit.
   5703  1.1  mrg 	(_Variant_storage::__M_reset): Adjust.
   5704  1.1  mrg 	(__variant_construct): New.
   5705  1.1  mrg 	(_Copy_ctor_base(const _Copy_ctor_base&)): Adjust to use
   5706  1.1  mrg 	__variant_construct.
   5707  1.1  mrg 	(_Move_ctor_base(_Move_ctor_base&&)): Likewise.
   5708  1.1  mrg 	(_Move_ctor_base::__M_destructive_copy): New.
   5709  1.1  mrg 	(_Move_ctor_base::__M_destructive_move): Adjust to use
   5710  1.1  mrg 	__variant_construct.
   5711  1.1  mrg 	(_Copy_assign_base::operator=): Adjust to use __do_visit.
   5712  1.1  mrg 	(_Copy_assign_alias): Adjust to check both copy assignment
   5713  1.1  mrg 	and copy construction for triviality.
   5714  1.1  mrg 	(_Move_assign_base::operator=): Adjust to use __do_visit.
   5715  1.1  mrg 	(_Multi_array): Add support for visitors that accept and return
   5716  1.1  mrg 	a __variant_cookie.
   5717  1.1  mrg 	(__gen_vtable_impl::_S_apply_all_alts): Likewise.
   5718  1.1  mrg 	(__gen_vtable_impl::_S_apply_single_alt): Likewise.
   5719  1.1  mrg 	(__gen_vtable_impl::__element_by_index_or_cookie): New. Generate
   5720  1.1  mrg 	a __variant_cookie temporary for a variant that is valueless and..
   5721  1.1  mrg 	(__gen_vtable_impl::__visit_invoke): ..adjust here.
   5722  1.1  mrg 	(__gen_vtable::_Array_type): Conditionally make space for
   5723  1.1  mrg 	the __variant_cookie visitor case.
   5724  1.1  mrg 	(__variant_construct_by_index): New.
   5725  1.1  mrg 	(get_if): Adjust to use std::addressof.
   5726  1.1  mrg 	(relops): Adjust to use __do_visit.
   5727  1.1  mrg 	(variant): Add __variant_cast and __variant_construct_by_index
   5728  1.1  mrg 	as friends.
   5729  1.1  mrg 	(variant::emplace): Use _M_reset() and __variant_construct_by_index
   5730  1.1  mrg 	instead of self-destruction.
   5731  1.1  mrg 	(variant::swap): Adjust to use __do_visit.
   5732  1.1  mrg 	(visit): Reimplement in terms of __do_visit.
   5733  1.1  mrg 	(__variant_hash_call_base_impl::operator()): Adjust to use __do_visit.
   5734  1.1  mrg 	* testsuite/20_util/variant/compile.cc: Adjust.
   5735  1.1  mrg 	* testsuite/20_util/variant/run.cc: Likewise.
   5736  1.1  mrg 
   5737  1.1  mrg 2019-03-06  Jonathan Wakely  <jwakely (a] redhat.com>
   5738  1.1  mrg 
   5739  1.1  mrg 	* include/bits/c++config.h (_cpp_lib_char8_t): Add L suffix to
   5740  1.1  mrg 	constant.
   5741  1.1  mrg 	* testsuite/experimental/feat-char8_t.cc: Likewise.
   5742  1.1  mrg 
   5743  1.1  mrg 	 * include/std/type_traits [C++20] (is_bounded_array)
   5744  1.1  mrg 	 (is_unbounded_array, is_bounded_array_v, is_unbounded_array_v):
   5745  1.1  mrg 	 Define.
   5746  1.1  mrg 	 * testsuite/20_util/is_bounded_array/requirements/
   5747  1.1  mrg 	 explicit_instantiation.cc: New test.
   5748  1.1  mrg 	 * testsuite/20_util/is_bounded_array/requirements/typedefs.cc: New
   5749  1.1  mrg 	 test.
   5750  1.1  mrg 	 * testsuite/20_util/is_bounded_array/value.cc: New test.
   5751  1.1  mrg 	 * testsuite/20_util/is_unbounded_array/requirements/
   5752  1.1  mrg 	 explicit_instantiation.cc: New test.
   5753  1.1  mrg 	 * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc: New
   5754  1.1  mrg 	 * test.
   5755  1.1  mrg 	 * testsuite/20_util/is_unbounded_array/value.cc: New test.
   5756  1.1  mrg 
   5757  1.1  mrg 	* include/bits/ptr_traits.h [C++20] (pointer_traits<T*>::pointer_to):
   5758  1.1  mrg 	Add constexpr.
   5759  1.1  mrg 	* testsuite/20_util/pointer_traits/pointer_to_constexpr.cc: New test.
   5760  1.1  mrg 
   5761  1.1  mrg 2019-03-05  Jonathan Wakely  <jwakely (a] redhat.com>
   5762  1.1  mrg 
   5763  1.1  mrg 	* include/c_compatibility/math.h [C++20] (lerp): Add using
   5764  1.1  mrg 	declaration.
   5765  1.1  mrg 	* include/c_global/cmath [C++20] (__cpp_lib_interpolate): Define.
   5766  1.1  mrg 	(__lerp): Define function template to implement lerp.
   5767  1.1  mrg 	(lerp(float, float, float), lerp(double, double, double))
   5768  1.1  mrg 	(lerp(long double, long double, long double)): Define for C++20.
   5769  1.1  mrg 	* include/std/numeric [C++20] (__cpp_lib_interpolate): Define.
   5770  1.1  mrg 	(midpoint(T, T), midpoint(T*, T*)): Define.
   5771  1.1  mrg 	* include/std::version [C++20] (__cpp_lib_interpolate): Define.
   5772  1.1  mrg 	* testsuite/26_numerics/lerp.cc: New test.
   5773  1.1  mrg 	* testsuite/26_numerics/midpoint/floating.cc: New test.
   5774  1.1  mrg 	* testsuite/26_numerics/midpoint/integral.cc: New test.
   5775  1.1  mrg 	* testsuite/26_numerics/midpoint/pointer.cc: New test.
   5776  1.1  mrg 
   5777  1.1  mrg 2019-03-04  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   5778  1.1  mrg 
   5779  1.1  mrg 	PR libstdc++/88996 Implement P0439R0
   5780  1.1  mrg 	Make std::memory_order a scoped enumeration.
   5781  1.1  mrg 	* include/bits/atomic_base.h: For C++20 make memory_order a scoped enum,
   5782  1.1  mrg 	add variables for the old enumerators.  Adjust calls.
   5783  1.1  mrg 	* testsuite/29_atomics/headers/atomic/types_std_c++2a.cc: New test.
   5784  1.1  mrg 	* testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: New test.
   5785  1.1  mrg 
   5786  1.1  mrg 2019-03-04  Jonathan Wakely  <jwakely (a] redhat.com>
   5787  1.1  mrg 
   5788  1.1  mrg 	* testsuite/26_numerics/bit/bitops.rot/rotl.cc: Remove bogus dg-do
   5789  1.1  mrg 	directive.
   5790  1.1  mrg 
   5791  1.1  mrg 	* include/std/memory_resource (polymorphic_allocator): Add default
   5792  1.1  mrg 	template argument for C++20.
   5793  1.1  mrg 	(polymorphic_allocator::allocate_bytes)
   5794  1.1  mrg 	(polymorphic_allocator::deallocate_bytes)
   5795  1.1  mrg 	(polymorphic_allocator::allocate_object)
   5796  1.1  mrg 	(polymorphic_allocator::deallocate_object)
   5797  1.1  mrg 	(polymorphic_allocator::new_object)
   5798  1.1  mrg 	(polymorphic_allocator::delete_object): New member functions for
   5799  1.1  mrg 	C++20.
   5800  1.1  mrg 	* testsuite/20_util/polymorphic_allocator/allocate_object.cc: New
   5801  1.1  mrg 	test.
   5802  1.1  mrg 
   5803  1.1  mrg 2019-03-03  Jonathan Wakely  <jwakely (a] redhat.com>
   5804  1.1  mrg 
   5805  1.1  mrg 	PR libstdc++/89562
   5806  1.1  mrg 	* src/filesystem/ops-common.h (do_copy_file): Open files in binary
   5807  1.1  mrg 	mode for mingw.
   5808  1.1  mrg 
   5809  1.1  mrg 2019-03-01  Jonathan Wakely  <jwakely (a] redhat.com>
   5810  1.1  mrg 
   5811  1.1  mrg 	* testsuite/util/testsuite_allocator.h (__gnu_test::memory_resource)
   5812  1.1  mrg 	[!__cpp_sized_deallocation]: Do not pass size to operator delete.
   5813  1.1  mrg 
   5814  1.1  mrg 	* include/std/memory (uses_allocator_construction_args): New set of
   5815  1.1  mrg 	overloaded functions.
   5816  1.1  mrg 	(make_obj_using_allocator, uninitialized_construct_using_allocator):
   5817  1.1  mrg 	New functions.
   5818  1.1  mrg 	* include/std/memory_resource (polymorphic_allocator::construct)
   5819  1.1  mrg 	[__cplusplus > 201703l]: Replace all overloads with a single function
   5820  1.1  mrg 	using uses_allocator_construction_args.
   5821  1.1  mrg 	* testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: New
   5822  1.1  mrg 	test.
   5823  1.1  mrg 	* testsuite/20_util/uses_allocator/make_obj.cc: New test.
   5824  1.1  mrg 
   5825  1.1  mrg 2019-02-27  Jonathan Wakely  <jwakely (a] redhat.com>
   5826  1.1  mrg 
   5827  1.1  mrg 	PR libstdc++/89466
   5828  1.1  mrg 	* acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Reorder check for local
   5829  1.1  mrg 	stylesheet directories before check for xsltproc. Try to use
   5830  1.1  mrg 	xmlcatalog to find local stylesheet directory before trying hardcoded
   5831  1.1  mrg 	paths. Add path used by suse to hardcoded paths. Adjust xsltproc
   5832  1.1  mrg 	check to look for the same stylesheet as doc/Makefile.am uses. Don't
   5833  1.1  mrg 	use xsltproc if xmlcatalog fails to find a local stylesheet.
   5834  1.1  mrg 	* configure.ac: Check for xmlcatalog.
   5835  1.1  mrg 	* Makefile.in: Regenerate.
   5836  1.1  mrg 	* configure: Likewise.
   5837  1.1  mrg 	* doc/Makefile.in: Likewise.
   5838  1.1  mrg 	* include/Makefile.in: Likewise.
   5839  1.1  mrg 	* libsupc++/Makefile.in: Likewise.
   5840  1.1  mrg 	* po/Makefile.in: Likewise.
   5841  1.1  mrg 	* python/Makefile.in: Likewise.
   5842  1.1  mrg 	* src/Makefile.in: Likewise.
   5843  1.1  mrg 	* src/c++11/Makefile.in: Likewise.
   5844  1.1  mrg 	* src/c++17/Makefile.in: Likewise.
   5845  1.1  mrg 	* src/c++98/Makefile.in: Likewise.
   5846  1.1  mrg 	* src/filesystem/Makefile.in: Likewise.
   5847  1.1  mrg 	* testsuite/Makefile.in: Likewise.
   5848  1.1  mrg 
   5849  1.1  mrg 2019-02-26  Jonathan Wakely  <jwakely (a] redhat.com>
   5850  1.1  mrg 
   5851  1.1  mrg 	PR libstdc++/89477
   5852  1.1  mrg 	* include/bits/alloc_traits.h (_RequireNotAllocator): New helper for
   5853  1.1  mrg 	container deduction guides.
   5854  1.1  mrg 	* include/bits/hashtable.h (_RequireNotAllocatorOrIntegral): Likewise.
   5855  1.1  mrg 	* include/bits/stl_map.h (map): Use _RequireNotAllocator to constrain
   5856  1.1  mrg 	parameters in deduction guides.
   5857  1.1  mrg 	* include/bits/stl_multimap.h (multimap): Likewise.
   5858  1.1  mrg 	* include/bits/stl_multiset.h (multiset): Likewise.
   5859  1.1  mrg 	* include/bits/stl_queue.h (queue, priority_queue): Likewise.
   5860  1.1  mrg 	* include/bits/stl_set.h (set): Likewise.
   5861  1.1  mrg 	* include/bits/stl_stack.h (stack): Likewise.
   5862  1.1  mrg 	* include/bits/unordered_map.h (unordered_map, unordered_multimap):
   5863  1.1  mrg 	use _RequireNotAllocator and _RequireNotAllocatorOrIntegral to
   5864  1.1  mrg 	constrain parameters in deduction guides.
   5865  1.1  mrg 	* include/bits/unordered_set.h (unordered_set, unordered_multiset):
   5866  1.1  mrg 	Likewise.
   5867  1.1  mrg 	* testsuite/23_containers/map/cons/deduction.cc: Test additional
   5868  1.1  mrg 	deduction cases.
   5869  1.1  mrg 	* testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
   5870  1.1  mrg 	* testsuite/23_containers/set/cons/deduction.cc: Likewise.
   5871  1.1  mrg 	* testsuite/23_containers/unordered_map/cons/deduction.cc: Likewise.
   5872  1.1  mrg 	* testsuite/23_containers/unordered_multimap/cons/deduction.cc:
   5873  1.1  mrg 	Likewise.
   5874  1.1  mrg 	* testsuite/23_containers/unordered_multiset/cons/deduction.cc:
   5875  1.1  mrg 	Likewise.
   5876  1.1  mrg 	* testsuite/23_containers/unordered_set/cons/deduction.cc: Likewise.
   5877  1.1  mrg 
   5878  1.1  mrg 	PR libstdc++/89416
   5879  1.1  mrg 	* include/bits/alloc_traits.h (__is_alloc_insertable_impl): Change
   5880  1.1  mrg 	to class template and partial specialization using void_t.
   5881  1.1  mrg 	(__is_copy_insertable, __is_move_insertable): Adjust base class.
   5882  1.1  mrg 
   5883  1.1  mrg 2019-02-24  Jonathan Wakely  <jwakely (a] redhat.com>
   5884  1.1  mrg 
   5885  1.1  mrg 	PR libstdc++/89416
   5886  1.1  mrg 	* include/bits/alloc_traits.h (__is_alloc_insertable_impl): Make
   5887  1.1  mrg 	copy and move members public.
   5888  1.1  mrg 
   5889  1.1  mrg 2019-02-23  Jonathan Wakely  <jwakely (a] redhat.com>
   5890  1.1  mrg 
   5891  1.1  mrg 	* include/std/type_traits (__underlying_type_impl): New helper to
   5892  1.1  mrg 	make underlying_type SFINAE-friendly.
   5893  1.1  mrg 	(underlying_type): Derive from __underlying_type_impl.
   5894  1.1  mrg 	* testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New
   5895  1.1  mrg 	test.
   5896  1.1  mrg 
   5897  1.1  mrg 	PR libstdc++/89446
   5898  1.1  mrg 	* include/bits/char_traits.h (__constant_char_array): Check index is
   5899  1.1  mrg 	in range before dereferencing.
   5900  1.1  mrg 	(char_traits<char>::compare, char_traits<char>::find)
   5901  1.1  mrg 	(char_traits<char8_t>::compare, char_traits<char8_t>::find): Return
   5902  1.1  mrg 	immediately if n is zero.
   5903  1.1  mrg 	(char_traits<wchar_t>::compare, char_traits<wchar_t>::find): Likewise.
   5904  1.1  mrg 	Remove workarounds for PR 67026.
   5905  1.1  mrg 	* testsuite/21_strings/basic_string_view/operators/char/89446.cc:
   5906  1.1  mrg 	New test.
   5907  1.1  mrg 	* testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc:
   5908  1.1  mrg 	New test.
   5909  1.1  mrg 
   5910  1.1  mrg 2019-02-22  Eric Botcazou  <ebotcazou (a] adacore.com>
   5911  1.1  mrg 
   5912  1.1  mrg 	* config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Adjust.
   5913  1.1  mrg 	* config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: Likewise.
   5914  1.1  mrg 
   5915  1.1  mrg 2019-02-22  Jakub Jelinek  <jakub (a] redhat.com>
   5916  1.1  mrg 
   5917  1.1  mrg 	PR libstdc++/89402
   5918  1.1  mrg 	* src/c++98/compatibility-ldbl.cc (_ZNKSt4hashIeEclEe): Change return
   5919  1.1  mrg 	type to std::size_t and argument to type to long double.
   5920  1.1  mrg 
   5921  1.1  mrg 2019-02-22  Eric Botcazou  <ebotcazou (a] adacore.com>
   5922  1.1  mrg 
   5923  1.1  mrg 	* configure.host (abi_baseline_pair): Adjust for SPARC64/Linux.
   5924  1.1  mrg 	* config/abi/post/sparc64-linux-gnu: New directory.
   5925  1.1  mrg 	* config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: New file.
   5926  1.1  mrg 	* config/abi/post/sparc64-linux-gnu/32: New directory.
   5927  1.1  mrg 	* config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: New file.
   5928  1.1  mrg 
   5929  1.1  mrg 2019-02-21  Jonathan Wakely  <jwakely (a] redhat.com>
   5930  1.1  mrg 
   5931  1.1  mrg 	* testsuite/29_atomics/headers/atomic/types_std_c++20.cc: New test.
   5932  1.1  mrg 	* testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc: New
   5933  1.1  mrg 	test.
   5934  1.1  mrg 
   5935  1.1  mrg 2019-02-22  Tom Honermann  <tom (a] honermann.net>
   5936  1.1  mrg 
   5937  1.1  mrg 	* python/libstdcxx/v6/printers.py (register_type_printers): Add type
   5938  1.1  mrg 	printers for u8string and u8string_view.
   5939  1.1  mrg 
   5940  1.1  mrg 2019-02-22  Tom Honermann  <tom (a] honermann.net>
   5941  1.1  mrg 
   5942  1.1  mrg 	* testsuite/18_support/byte/ops.cc: Validate
   5943  1.1  mrg 	std::to_integer<char8_t>, std::to_integer<char16_t>, and
   5944  1.1  mrg 	std::to_integer<char32_t>.
   5945  1.1  mrg 	* testsuite/18_support/numeric_limits/dr559.cc: Validate
   5946  1.1  mrg 	std::numeric_limits<char8_t>.
   5947  1.1  mrg 	* testsuite/18_support/numeric_limits/lowest.cc: Validate
   5948  1.1  mrg 	std::numeric_limits<char8_t>::lowest().
   5949  1.1  mrg 	* testsuite/18_support/numeric_limits/max_digits10.cc: Validate
   5950  1.1  mrg 	std::numeric_limits<char8_t>::max_digits10.
   5951  1.1  mrg 	* testsuite/18_support/type_info/fundamental.cc: Validate
   5952  1.1  mrg 	typeinfo for char8_t.
   5953  1.1  mrg 	* testsuite/20_util/from_chars/1_c++20_neg.cc: New test, validating
   5954  1.1  mrg 	std::from_chars with char8_t.
   5955  1.1  mrg 	* testsuite/20_util/hash/requirements/explicit_instantiation.cc:
   5956  1.1  mrg 	Validate explicit instantiation of std::hash<char8_t>.
   5957  1.1  mrg 	* testsuite/20_util/is_integral/value.cc: Validate
   5958  1.1  mrg 	std::is_integral<char8_t>.
   5959  1.1  mrg 	* testsuite/20_util/make_signed/requirements/typedefs-4.cc:
   5960  1.1  mrg 	Validate std::make_signed<char8_t>.
   5961  1.1  mrg 	* testsuite/21_strings/basic_string/cons/char/deduction.cc:
   5962  1.1  mrg 	Validate u8string construction from char8_t sources.
   5963  1.1  mrg 	* testsuite/21_strings/basic_string/types/pmr_typedefs.cc: Validate
   5964  1.1  mrg 	std::pmr::u8string.
   5965  1.1  mrg 	* testsuite/21_strings/basic_string_view/operations/compare/
   5966  1.1  mrg 	char/70483.cc: Validate substr operations on u8string_view.
   5967  1.1  mrg 	* testsuite/21_strings/basic_string_view/typedefs.cc: Validate that
   5968  1.1  mrg 	the u8string_view typedef is defined.
   5969  1.1  mrg 	* testsuite/21_strings/char_traits/requirements/
   5970  1.1  mrg 	constexpr_functions.cc: Validate char_traits<char8_t> constexpr
   5971  1.1  mrg 	member functions.
   5972  1.1  mrg 	* testsuite/21_strings/char_traits/requirements/
   5973  1.1  mrg 	constexpr_functions_c++17.cc: Validate char_traits<char8_t> C++17
   5974  1.1  mrg 	constexpr member functions.
   5975  1.1  mrg 	* testsuite/21_strings/headers/string/types_std_c++0x.cc: Validate
   5976  1.1  mrg 	that the u8string typedef is defined.
   5977  1.1  mrg 	* testsuite/22_locale/locale/cons/unicode.cc: Validate the presence
   5978  1.1  mrg 	of the std::codecvt<char16_t, char8_t, std::mbstate_t> and
   5979  1.1  mrg 	std::codecvt<char32_t, char8_t, std::mbstate_t> facets.
   5980  1.1  mrg 	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Update line
   5981  1.1  mrg 	numbers.
   5982  1.1  mrg 	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
   5983  1.1  mrg 	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
   5984  1.1  mrg 	Likewise.
   5985  1.1  mrg 	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
   5986  1.1  mrg 	* testsuite/29_atomics/atomic_integral/is_always_lock_free.cc:
   5987  1.1  mrg 	Validate std::atomic<char8_t>::is_always_lock_free
   5988  1.1  mrg 	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
   5989  1.1  mrg 	Update line numbers.
   5990  1.1  mrg 	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
   5991  1.1  mrg 	Likewise.
   5992  1.1  mrg 	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
   5993  1.1  mrg 	Likewise.
   5994  1.1  mrg 	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
   5995  1.1  mrg 	Validate std::experimental::pmr::u8string.
   5996  1.1  mrg 	* testsuite/experimental/string_view/typedefs.cc: Validate that the
   5997  1.1  mrg 	u8string_view typedef is defined.
   5998  1.1  mrg 	* testsuite/util/testsuite_common_types.h: Add char8_t, char16_t and
   5999  1.1  mrg 	char32_t to the typelists.
   6000  1.1  mrg 
   6001  1.1  mrg 2019-02-22  Tom Honermann  <tom (a] honermann.net>
   6002  1.1  mrg 
   6003  1.1  mrg 	* include/ext/typelist.h: Constrain a partial specialization of
   6004  1.1  mrg 	typelist::detail::append_ to only match chain<T1,T2>.
   6005  1.1  mrg 
   6006  1.1  mrg 2019-02-21  Jonathan Wakely  <jwakely (a] redhat.com>
   6007  1.1  mrg 
   6008  1.1  mrg 	PR libstdc++/89416
   6009  1.1  mrg 	* include/bits/alloc_traits.h (__is_alloc_insertable_impl): Replace
   6010  1.1  mrg 	class template with class. Replace move and copy member types with
   6011  1.1  mrg 	member alias templates, so they are only instantiated when needed.
   6012  1.1  mrg 	(__is_copy_insertable, __is_move_insertable): Adjust base class.
   6013  1.1  mrg 	* testsuite/23_containers/vector/modifiers/push_back/89130.cc: Enable
   6014  1.1  mrg 	test for C++11/14/17 as well.
   6015  1.1  mrg 	* testsuite/23_containers/vector/modifiers/push_back/89416.cc: New
   6016  1.1  mrg 	test.
   6017  1.1  mrg 
   6018  1.1  mrg 2019-02-20  Jakub Jelinek  <jakub (a] redhat.com>
   6019  1.1  mrg 
   6020  1.1  mrg 	PR libstdc++/89402
   6021  1.1  mrg 	* src/c++98/compatibility-ldbl.cc (_ZNKSt4hashIeEclEe): Add
   6022  1.1  mrg 	_GLIBCXX_PURE to the alias declaration.
   6023  1.1  mrg 
   6024  1.1  mrg 2019-02-19  Jonathan Wakely  <jwakely (a] redhat.com>
   6025  1.1  mrg 
   6026  1.1  mrg 	* testsuite/21_strings/basic_string/literals/types.cc
   6027  1.1  mrg 	[_GLIBCXX_USE_CHAR8_T]: Adjust expected string type for u8 literal.
   6028  1.1  mrg 	* testsuite/21_strings/basic_string/literals/values.cc
   6029  1.1  mrg 	[_GLIBCXX_USE_CHAR8_T]: Likewise.
   6030  1.1  mrg 	* testsuite/22_locale/codecvt/char16_t.cc: Adjust for u8 literals
   6031  1.1  mrg 	potentially having different type.
   6032  1.1  mrg 	* testsuite/22_locale/codecvt/char32_t.cc: Likewise.
   6033  1.1  mrg 	* testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: Cast u8 literal
   6034  1.1  mrg 	to char.
   6035  1.1  mrg 	* testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: Likewise.
   6036  1.1  mrg 	* testsuite/22_locale/codecvt/utf8.cc: Likewise.
   6037  1.1  mrg 	* testsuite/22_locale/conversions/string/2.cc: Remove u8 prefix from
   6038  1.1  mrg 	string literals only using basic character set.
   6039  1.1  mrg 	* testsuite/22_locale/conversions/string/3.cc: Likewise. Cast other
   6040  1.1  mrg 	u8 literals to char.
   6041  1.1  mrg 	* testsuite/29_atomics/headers/atomic/macros.cc [_GLIBCXX_USE_CHAR8_T]:
   6042  1.1  mrg 	Test ATOMIC_CHAR8_T_LOCK_FREE.
   6043  1.1  mrg 	Add missing #error to ATOMIC_CHAR16_T_LOCK_FREE test.
   6044  1.1  mrg 	* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc
   6045  1.1  mrg 	[_GLIBCXX_USE_CHAR8_T]: Check for std::atomic_char8_t.
   6046  1.1  mrg 	* testsuite/experimental/string_view/literals/types.cc
   6047  1.1  mrg 	[_GLIBCXX_USE_CHAR8_T]: Adjust expected string_view type for u8
   6048  1.1  mrg 	literal.
   6049  1.1  mrg 	* testsuite/experimental/string_view/literals/values.cc
   6050  1.1  mrg 	[_GLIBCXX_USE_CHAR8_T]: Likewise.
   6051  1.1  mrg 
   6052  1.1  mrg 2019-02-19  Tom Honermann  <tom (a] honermann.net>
   6053  1.1  mrg 
   6054  1.1  mrg 	* testsuite/18_support/numeric_limits/char8_t.cc: New test cloned
   6055  1.1  mrg 	from char16_32_t.cc; validates numeric_limits<char8_t>.
   6056  1.1  mrg 	* testsuite/21_strings/basic_string/literals/types-char8_t.cc: New
   6057  1.1  mrg 	test cloned from types.cc; validates operator""s for char8_t
   6058  1.1  mrg 	returns u8string.
   6059  1.1  mrg 	* testsuite/21_strings/basic_string/literals/values-char8_t.cc: New
   6060  1.1  mrg 	test cloned from values.cc; validates construction and comparison
   6061  1.1  mrg 	of u8string values.
   6062  1.1  mrg 	* testsuite/21_strings/basic_string/requirements/
   6063  1.1  mrg 	/explicit_instantiation/char8_t/1.cc: New test cloned from
   6064  1.1  mrg 	char16_t/1.cc; validates explicit instantiation of
   6065  1.1  mrg 	basic_string<char8_t>.
   6066  1.1  mrg 	* testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
   6067  1.1  mrg 	New test cloned from types.cc; validates operator""sv for char8_t
   6068  1.1  mrg 	returns u8string_view.
   6069  1.1  mrg 	* testsuite/21_strings/basic_string_view/literals/
   6070  1.1  mrg 	values-char8_t.cc: New test cloned from values.cc; validates
   6071  1.1  mrg 	construction and comparison of u8string_view values.
   6072  1.1  mrg 	* testsuite/21_strings/basic_string_view/requirements/
   6073  1.1  mrg 	explicit_instantiation/char8_t/1.cc: New test cloned from
   6074  1.1  mrg 	char16_t/1.cc; validates explicit instantiation of
   6075  1.1  mrg 	basic_string_view<char8_t>.
   6076  1.1  mrg 	* testsuite/21_strings/char_traits/requirements/char8_t/65049.cc:
   6077  1.1  mrg 	New test cloned from char16_t/65049.cc; validates that
   6078  1.1  mrg 	char_traits<char8_t> is not vulnerable to the concerns in PR65049.
   6079  1.1  mrg 	* testsuite/21_strings/char_traits/requirements/char8_t/
   6080  1.1  mrg 	typedefs.cc: New test cloned from char16_t/typedefs.cc; validates
   6081  1.1  mrg 	that char_traits<char8_t> member typedefs are present and correct.
   6082  1.1  mrg 	* testsuite/21_strings/char_traits/requirements/
   6083  1.1  mrg 	explicit_instantiation/char8_t/1.cc: New test cloned from
   6084  1.1  mrg 	char16_t/1.cc; validates explicit instantiation of
   6085  1.1  mrg 	char_traits<char8_t>.
   6086  1.1  mrg 	* testsuite/22_locale/codecvt/char16_t-char8_t.cc: New test cloned
   6087  1.1  mrg 	from char16_t.cc: validates
   6088  1.1  mrg 	codecvt<char16_t, char8_t, mbstate_t>.
   6089  1.1  mrg 	* testsuite/22_locale/codecvt/char32_t-char8_t.cc: New test cloned
   6090  1.1  mrg 	from char32_t.cc: validates
   6091  1.1  mrg 	codecvt<char32_t, char8_t, mbstate_t>.
   6092  1.1  mrg 	* testsuite/22_locale/codecvt/utf8-char8_t.cc: New test cloned from
   6093  1.1  mrg 	utf8.cc; validates codecvt<char16_t, char8_t, std::mbstate_t> and
   6094  1.1  mrg 	codecvt<char32_t, char8_t, std::mbstate_t>.
   6095  1.1  mrg 	* testsuite/27_io/filesystem/path/native/string-char8_t.cc: New
   6096  1.1  mrg 	test cloned from string.cc; validates filesystem::path construction
   6097  1.1  mrg 	from char8_t input.
   6098  1.1  mrg 	* testsuite/experimental/feat-char8_t.cc: New test; validates that
   6099  1.1  mrg 	the __cpp_lib_char8_t feature test macro is defined with the
   6100  1.1  mrg 	correct value.
   6101  1.1  mrg 	* testsuite/experimental/filesystem/path/native/string-char8_t.cc:
   6102  1.1  mrg 	New test cloned from string.cc; validates filesystem::path
   6103  1.1  mrg 	construction from char8_t input.
   6104  1.1  mrg 	* testsuite/experimental/string_view/literals/types-char8_t.cc: New
   6105  1.1  mrg 	test cloned from types.cc; validates operator""sv for char8_t
   6106  1.1  mrg 	returns u8string_view.
   6107  1.1  mrg 	* testsuite/experimental/string_view/literals/values-char8_t.cc:
   6108  1.1  mrg 	New test cloned from values.cc; validates construction and
   6109  1.1  mrg 	comparison of u8string_view values.
   6110  1.1  mrg 	* testsuite/experimental/string_view/requirements/
   6111  1.1  mrg 	explicit_instantiation/char8_t/1.cc: New test cloned from
   6112  1.1  mrg 	char16_t/1.cc; validates explicit instantiation of
   6113  1.1  mrg 	basic_string_view<char8_t>.
   6114  1.1  mrg 	* testsuite/ext/char8_t/atomic-1.cc: New test; validates that
   6115  1.1  mrg 	ATOMIC_CHAR8_T_LOCK_FREE is not defined if char8_t support is not
   6116  1.1  mrg 	enabled.
   6117  1.1  mrg 
   6118  1.1  mrg 2019-02-19  Tom Honermann  <tom (a] honermann.net>
   6119  1.1  mrg 
   6120  1.1  mrg 	P0482R5 char8_t: Standard library support
   6121  1.1  mrg 	* config/abi/pre/gnu-versioned-namespace.ver (CXXABI_2.0): Add
   6122  1.1  mrg 	typeinfo symbols for char8_t.
   6123  1.1  mrg 	* config/abi/pre/gnu.ver: Add CXXABI_1.3.12.
   6124  1.1  mrg 	(GLIBCXX_3.4.26): Add symbols for specializations of
   6125  1.1  mrg 	numeric_limits and codecvt that involve char8_t.
   6126  1.1  mrg 	(CXXABI_1.3.12): Add typeinfo symbols for char8_t.
   6127  1.1  mrg 	* include/bits/atomic_base.h: Add atomic_char8_t.
   6128  1.1  mrg 	* include/bits/basic_string.h: Add std::hash<u8string> and
   6129  1.1  mrg 	operator""s(const char8_t*, size_t).
   6130  1.1  mrg 	* include/bits/c++config: Define _GLIBCXX_USE_CHAR8_T and
   6131  1.1  mrg 	__cpp_lib_char8_t.
   6132  1.1  mrg 	* include/bits/char_traits.h: Add char_traits<char8_t>.
   6133  1.1  mrg 	* include/bits/codecvt.h: Add
   6134  1.1  mrg 	codecvt<char16_t, char8_t, mbstate_t>,
   6135  1.1  mrg 	codecvt<char32_t, char8_t, mbstate_t>,
   6136  1.1  mrg 	codecvt_byname<char16_t, char8_t, mbstate_t>, and
   6137  1.1  mrg 	codecvt_byname<char32_t, char8_t, mbstate_t>.
   6138  1.1  mrg 	* include/bits/cpp_type_traits.h: Add __is_integer<char8_t> to
   6139  1.1  mrg 	recognize char8_t as an integral type.
   6140  1.1  mrg 	* include/bits/fs_path.h: (path::__is_encoded_char): Recognize
   6141  1.1  mrg 	char8_t.
   6142  1.1  mrg 	(path::u8string): Return std::u8string when char8_t support is
   6143  1.1  mrg 	enabled.
   6144  1.1  mrg 	(path::generic_u8string): Likewise.
   6145  1.1  mrg 	(path::_S_convert): Handle conversion from char8_t input.
   6146  1.1  mrg 	(path::_S_str_convert): Likewise.
   6147  1.1  mrg 	* include/bits/functional_hash.h: Add hash<char8_t>.
   6148  1.1  mrg 	* include/bits/locale_conv.h (__str_codecvt_out): Add overloads for
   6149  1.1  mrg 	char8_t.
   6150  1.1  mrg 	* include/bits/locale_facets.h (_GLIBCXX_NUM_UNICODE_FACETS): Bump
   6151  1.1  mrg 	for new char8_t specializations.
   6152  1.1  mrg 	* include/bits/localefwd.h: Add missing declarations of
   6153  1.1  mrg 	codecvt<char16_t, char, mbstate_t> and
   6154  1.1  mrg 	codecvt<char32_t, char, mbstate_t>.  Add char8_t declarations
   6155  1.1  mrg 	codecvt<char16_t, char8_t, mbstate_t> and
   6156  1.1  mrg 	codecvt<char32_t, char8_t, mbstate_t>.
   6157  1.1  mrg 	* include/bits/postypes.h: Add u8streampos
   6158  1.1  mrg 	* include/bits/stringfwd.h: Add declarations of
   6159  1.1  mrg 	char_traits<char8_t> and u8string.
   6160  1.1  mrg 	* include/c_global/cstddef: Add __byte_operand<char8_t>.
   6161  1.1  mrg 	* include/experimental/bits/fs_path.h (path::__is_encoded_char):
   6162  1.1  mrg 	Recognize char8_t.
   6163  1.1  mrg 	(path::u8string): Return std::u8string when char8_t support is
   6164  1.1  mrg 	enabled.
   6165  1.1  mrg 	(path::generic_u8string): Likewise.
   6166  1.1  mrg 	(path::_S_convert): Handle conversion from char8_t input.
   6167  1.1  mrg 	(path::_S_str_convert): Likewise.
   6168  1.1  mrg 	* include/experimental/string: Add u8string.
   6169  1.1  mrg 	* include/experimental/string_view: Add u8string_view,
   6170  1.1  mrg 	hash<experimental::u8string_view>, and
   6171  1.1  mrg 	operator""sv(const char8_t*, size_t).
   6172  1.1  mrg 	* include/std/atomic: Add atomic<char8_t> and atomic_char8_t.
   6173  1.1  mrg 	* include/std/charconv (__is_int_to_chars_type): Recognize char8_t
   6174  1.1  mrg 	as a character type.
   6175  1.1  mrg 	* include/std/limits: Add numeric_limits<char8_t>.
   6176  1.1  mrg 	* include/std/string_view: Add u8string_view,
   6177  1.1  mrg 	hash<experimental::u8string_view>, and
   6178  1.1  mrg 	operator""sv(const char8_t*, size_t).
   6179  1.1  mrg 	* include/std/type_traits: Add __is_integral_helper<char8_t>,
   6180  1.1  mrg 	__make_unsigned<char8_t>, and __make_signed<char8_t>.
   6181  1.1  mrg 	* libsupc++/atomic_lockfree_defines.h: Define
   6182  1.1  mrg 	ATOMIC_CHAR8_T_LOCK_FREE.
   6183  1.1  mrg 	* src/c++11/Makefile.am: Compile with -fchar8_t when compiling
   6184  1.1  mrg 	codecvt.cc and limits.cc so that char8_t specializations of
   6185  1.1  mrg 	numeric_limits and codecvt and emitted.
   6186  1.1  mrg 	* src/c++11/Makefile.in: Likewise.
   6187  1.1  mrg 	* src/c++11/codecvt.cc: Define members of
   6188  1.1  mrg 	codecvt<char16_t, char8_t, mbstate_t>,
   6189  1.1  mrg 	codecvt<char32_t, char8_t, mbstate_t>,
   6190  1.1  mrg 	codecvt_byname<char16_t, char8_t, mbstate_t>, and
   6191  1.1  mrg 	codecvt_byname<char32_t, char8_t, mbstate_t>.
   6192  1.1  mrg 	* src/c++11/limits.cc: Define members of
   6193  1.1  mrg 	numeric_limits<char8_t>.
   6194  1.1  mrg 	* src/c++98/Makefile.am: Compile with -fchar8_t when compiling
   6195  1.1  mrg 	locale_init.cc and localename.cc.
   6196  1.1  mrg 	* src/c++98/Makefile.in: Likewise.
   6197  1.1  mrg 	* src/c++98/locale_init.cc: Add initialization for the
   6198  1.1  mrg 	codecvt<char16_t, char8_t, mbstate_t> and
   6199  1.1  mrg 	codecvt<char32_t, char8_t, mbstate_t> facets.
   6200  1.1  mrg 	* src/c++98/localename.cc: Likewise.
   6201  1.1  mrg 	* testsuite/util/testsuite_abi.cc: Validate ABI bump.
   6202  1.1  mrg 
   6203  1.1  mrg 2019-02-18  Wilco Dijkstra  <wdijkstr (a] arm.com>
   6204  1.1  mrg 
   6205  1.1  mrg 	* 27_io/filesystem/operations/all.cc: Add dg-require-filesystem-ts.
   6206  1.1  mrg 	* 27_io/filesystem/operations/resize_file.cc: Likewise.
   6207  1.1  mrg 	* 27_io/filesystem/path/generation/normal2.cc: Likewise.
   6208  1.1  mrg 
   6209  1.1  mrg 2019-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   6210  1.1  mrg 
   6211  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Update P0887R1 status.
   6212  1.1  mrg 	* doc/html/*: Regenerate.
   6213  1.1  mrg 
   6214  1.1  mrg 	* doc/xml/manual/status_cxx2017.xml: Add P0063R3 to status table.
   6215  1.1  mrg 	* doc/html/*: Regenerate.
   6216  1.1  mrg 
   6217  1.1  mrg 	* doc/xml/manual/intro.xml: Document LWG 2586 status.
   6218  1.1  mrg 	* include/bits/uses_allocator.h (__uses_alloc): Use const lvalue
   6219  1.1  mrg 	allocator type in is_constructible checks.
   6220  1.1  mrg 	* testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
   6221  1.1  mrg 	* testsuite/20_util/scoped_allocator/dr2586.cc: New test.
   6222  1.1  mrg 	* testsuite/20_util/tuple/cons/allocators.cc: Add test using
   6223  1.1  mrg 	problematic type from LWG 2586 discussion.
   6224  1.1  mrg 	* testsuite/20_util/uses_allocator/69293_neg.cc: Adjust dg-error.
   6225  1.1  mrg 	* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
   6226  1.1  mrg 
   6227  1.1  mrg 	* configure.ac: Check for C11 timespec_get function.
   6228  1.1  mrg 	* crossconfig.m4 (freebsd, linux, gnu, cygwin, solaris, netbsd)
   6229  1.1  mrg 	(openbsd): Likewise
   6230  1.1  mrg 	* config.h.in: Regenerate.
   6231  1.1  mrg 	* configure: Regenerate.
   6232  1.1  mrg 	* include/c_global/ctime (timespec, timespec_get): Add to namespace
   6233  1.1  mrg 	std for C++17 and up.
   6234  1.1  mrg 
   6235  1.1  mrg 	* doc/xml/manual/intro.xml: Document LWG 2537 status.
   6236  1.1  mrg 	* include/bits/stl_queue.h
   6237  1.1  mrg 	(priority_queue(const Compare&, const Container&, const Alloc&))
   6238  1.1  mrg 	(priority_queue(const Compare&, Container&&, const Alloc&)): Call
   6239  1.1  mrg 	make_heap.
   6240  1.1  mrg 	* testsuite/23_containers/priority_queue/dr2537.cc: New test.
   6241  1.1  mrg 
   6242  1.1  mrg 	* doc/xml/manual/intro.xml: Document LWG 2566 status.
   6243  1.1  mrg 	* include/bits/stl_queue.h (queue, priority_queue): Add static
   6244  1.1  mrg 	assertions to enforce LWG 2566 requirement on value_type.
   6245  1.1  mrg 	* include/bits/stl_stack.h (stack): Likewise.
   6246  1.1  mrg 
   6247  1.1  mrg 	PR middle-end/89303
   6248  1.1  mrg 	* testsuite/20_util/enable_shared_from_this/89303.cc: New test.
   6249  1.1  mrg 
   6250  1.1  mrg 	* doc/xml/manual/intro.xml: Document LWG 2735 status.
   6251  1.1  mrg 	* include/bits/std_abs.h: Add comment about LWG 2735.
   6252  1.1  mrg 	* testsuite/26_numerics/headers/cstdlib/dr2735.cc: New test.
   6253  1.1  mrg 
   6254  1.1  mrg 2019-02-13  Jonathan Wakely  <jwakely (a] redhat.com>
   6255  1.1  mrg 
   6256  1.1  mrg 	PR libstdc++/89345
   6257  1.1  mrg 	* include/std/version [__cpp_impl_destroying_delete]
   6258  1.1  mrg 	(__cpp_lib_destroying_delete): Only define for C++2a and later.
   6259  1.1  mrg 	* libsupc++/new [__cpp_impl_destroying_delete]
   6260  1.1  mrg 	(__cpp_lib_destroying_delete): Likewise.
   6261  1.1  mrg 	(destroying_delete_t, destroying_delete): Likewise, but define even
   6262  1.1  mrg 	when __cpp_impl_destroying_delete is not defined.
   6263  1.1  mrg 	* testsuite/18_support/destroying_delete.cc: New test.
   6264  1.1  mrg 
   6265  1.1  mrg 2019-02-11  Jonathan Wakely  <jwakely (a] redhat.com>
   6266  1.1  mrg 
   6267  1.1  mrg 	PR libstdc++/89023
   6268  1.1  mrg 	* testsuite/17_intro/headers/c++2011/parallel_mode.cc: New test.
   6269  1.1  mrg 	* testsuite/17_intro/headers/c++2014/parallel_mode.cc: New test.
   6270  1.1  mrg 	* testsuite/17_intro/headers/c++2017/parallel_mode.cc: New test.
   6271  1.1  mrg 	* testsuite/28_regex/headers/regex/parallel_mode.cc: Remove.
   6272  1.1  mrg 
   6273  1.1  mrg 2019-02-09  Jonathan Wakely  <jwakely (a] redhat.com>
   6274  1.1  mrg 
   6275  1.1  mrg 	PR libstdc++/71044
   6276  1.1  mrg 	* include/bits/fs_path.h (path::has_root_name)
   6277  1.1  mrg 	(path::has_root_directory, path::has_root_path)
   6278  1.1  mrg 	(path::has_relative_path, path::has_parent_path)
   6279  1.1  mrg 	(path::has_filename, path::has_stem, path::has_extension)
   6280  1.1  mrg 	(path::is_absolute, path::is_relative, path::_M_find_extension): Add
   6281  1.1  mrg 	noexcept.
   6282  1.1  mrg 	* src/c++17/fs_path.cc (path::has_root_name)
   6283  1.1  mrg 	(path::has_root_directory, path::has_root_path)
   6284  1.1  mrg 	(path::has_relative_path, path::has_parent_path)
   6285  1.1  mrg 	(path::has_filename, path::_M_find_extension): Add noexcept.
   6286  1.1  mrg 
   6287  1.1  mrg 2019-02-06  Jonathan Wakely  <jwakely (a] redhat.com>
   6288  1.1  mrg 
   6289  1.1  mrg 	PR libstdc++/89102 (partial)
   6290  1.1  mrg 	* include/std/type_traits (common_type<>): Define.
   6291  1.1  mrg 	(common_type<T>): Derive from common_type<T, T>.
   6292  1.1  mrg 	* testsuite/20_util/common_type/requirements/explicit_instantiation.cc:
   6293  1.1  mrg 	Test zero-length template argument list.
   6294  1.1  mrg 	* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
   6295  1.1  mrg 	Test additional single argument cases.
   6296  1.1  mrg 	* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
   6297  1.1  mrg 	Adjust expected error.
   6298  1.1  mrg 
   6299  1.1  mrg 2019-02-05  Jonathan Wakely  <jwakely (a] redhat.com>
   6300  1.1  mrg 
   6301  1.1  mrg 	PR libstdc++/89128
   6302  1.1  mrg 	* include/bits/stl_queue.h (queue, priority_queue): Add deduction
   6303  1.1  mrg 	guides.
   6304  1.1  mrg 	* include/bits/stl_stack.h (stack): Likewise.
   6305  1.1  mrg 	* testsuite/23_containers/priority_queue/deduction.cc: New test.
   6306  1.1  mrg 	* testsuite/23_containers/queue/deduction.cc: New test.
   6307  1.1  mrg 	* testsuite/23_containers/stack/deduction.cc: New test.
   6308  1.1  mrg 
   6309  1.1  mrg 	PR libstdc++/89194
   6310  1.1  mrg 	* include/std/type_traits (__is_convertible_helper)
   6311  1.1  mrg 	(__is_convertible_helper<_From, _To, false>): Revert changes to
   6312  1.1  mrg 	support is_nothrow_convertible.
   6313  1.1  mrg 	(__is_nt_convertible_helper): New helper.
   6314  1.1  mrg 	(is_nothrow_convertible): Use __is_nt_convertible_helper.
   6315  1.1  mrg 
   6316  1.1  mrg 	* testsuite/23_containers/vector/modifiers/push_back/49836.cc: Restore
   6317  1.1  mrg 	use of CopyConsOnlyType, but also test DelAnyAssign for completeness.
   6318  1.1  mrg 
   6319  1.1  mrg 	PR libstdc++/89130
   6320  1.1  mrg 	* include/bits/alloc_traits.h (__is_copy_insertable_impl): Rename to
   6321  1.1  mrg 	__is_alloc_insertable_impl. Replace single type member with two
   6322  1.1  mrg 	members, one for each of copy and move insertable.
   6323  1.1  mrg 	(__is_move_insertable): New trait for internal use.
   6324  1.1  mrg 	* include/bits/stl_vector.h (vector::_S_nothrow_relocate(true_type))
   6325  1.1  mrg 	(vector::_S_nothrow_relocate(true_type)): New functions to
   6326  1.1  mrg 	conditionally check if __relocate_a can throw.
   6327  1.1  mrg 	(vector::_S_use_relocate()): Dispatch to _S_nothrow_relocate based
   6328  1.1  mrg 	on __is_move_insertable.
   6329  1.1  mrg 	(vector::_S_do_relocate): New overloaded functions to conditionally
   6330  1.1  mrg 	call __relocate_a.
   6331  1.1  mrg 	(vector::_S_relocate): New function that dispatches to _S_do_relocate
   6332  1.1  mrg 	based on _S_use_relocate.
   6333  1.1  mrg 	* include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
   6334  1.1  mrg 	(vector::_M_default_append): Call _S_relocate instead of __relocate_a.
   6335  1.1  mrg 	* testsuite/23_containers/vector/modifiers/push_back/89130.cc: New.
   6336  1.1  mrg 
   6337  1.1  mrg 	PR libstdc++/89090
   6338  1.1  mrg 	* include/bits/stl_uninitialized.h (__relocate_a_1): Make unused
   6339  1.1  mrg 	parameter unnamed. Add message to static assertion.
   6340  1.1  mrg 	* include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
   6341  1.1  mrg 	(vector::_M_default_append): Use _GLIBCXX17_CONSTEXPR for if constexpr
   6342  1.1  mrg 	in C++11 code.
   6343  1.1  mrg 
   6344  1.1  mrg 2019-02-05  Marc Glisse  <marc.glisse (a] inria.fr>
   6345  1.1  mrg 
   6346  1.1  mrg 	PR libstdc++/87106
   6347  1.1  mrg 	* include/bits/stl_uninitialized.h (__is_trivially_relocatable):
   6348  1.1  mrg 	Rename...
   6349  1.1  mrg 	(__is_bitwise_relocatable): ... to this.
   6350  1.1  mrg 	(__relocate_a_1): Adapt.
   6351  1.1  mrg 	* include/bits/stl_deque.h (__is_trivially_relocatable): Rename...
   6352  1.1  mrg 	(__is_bitwise_relocatable): ... to this.
   6353  1.1  mrg 
   6354  1.1  mrg 2019-01-30  Jonathan Wakely  <jwakely (a] redhat.com>
   6355  1.1  mrg 
   6356  1.1  mrg 	PR libstdc++/89117
   6357  1.1  mrg 	* src/c++17/fs_path.cc (path::replace_extension): Erase extension from
   6358  1.1  mrg 	final component as well as from _M_pathname. Append the dot using
   6359  1.1  mrg 	operator+= instead of only to _M_pathname.
   6360  1.1  mrg 	(path::_M_find_extension): Reformat slightly.
   6361  1.1  mrg 	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
   6362  1.1  mrg 	Add more test cases.
   6363  1.1  mrg 
   6364  1.1  mrg 2019-01-30  Ulrich Drepper  <drepper (a] redhat.com>
   6365  1.1  mrg 
   6366  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Update P0600 entry.
   6367  1.1  mrg 
   6368  1.1  mrg 2019-01-29  Jonathan Wakely  <jwakely (a] redhat.com>
   6369  1.1  mrg 
   6370  1.1  mrg 	* testsuite/26_numerics/headers/complex/synopsis.cc: Remove incorrect
   6371  1.1  mrg 	constexpr specifiers from arg and proj.
   6372  1.1  mrg 
   6373  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Add missing exports for
   6374  1.1  mrg 	__shared_ptr instantiations used by gcc4-compatible ABI.
   6375  1.1  mrg 
   6376  1.1  mrg 	* include/experimental/forward_list (experimental::erase): Qualify
   6377  1.1  mrg 	call to erase_if.
   6378  1.1  mrg 	* include/experimental/list (experimental::erase): Likewise.
   6379  1.1  mrg 	* include/std/forward_list (std::erase): Likewise.
   6380  1.1  mrg 	* include/std/list (std::erase): Likewise.
   6381  1.1  mrg 
   6382  1.1  mrg 	* testsuite/20_util/reference_wrapper/result_type.cc: Disable for
   6383  1.1  mrg 	C++2a.
   6384  1.1  mrg 	* testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
   6385  1.1  mrg 	* testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
   6386  1.1  mrg 	* testsuite/20_util/reference_wrapper/typedefs.cc: Likewise.
   6387  1.1  mrg 	* testsuite/30_threads/async/54297.cc: Suppress nodiscard warning.
   6388  1.1  mrg 	* testsuite/ext/array_allocator/26875.cc: Likewise.
   6389  1.1  mrg 	* testsuite/ext/pool_allocator/allocate_chunk.cc: Likewise.
   6390  1.1  mrg 	* testsuite/util/replacement_memory_operators.h: Likewise.
   6391  1.1  mrg 	* testsuite/util/testsuite_allocator.h: Likewise.
   6392  1.1  mrg 
   6393  1.1  mrg 	* include/std/memory_resource (__pool_resource::_M_unpooled): Use
   6394  1.1  mrg 	normal mode vector, even for debug mode.
   6395  1.1  mrg 	* include/std/vector [_GLIBCXX_DEBUG] (_GLIBCXX_STD_C::pmr::vector):
   6396  1.1  mrg 	Define alias template for normal mode vector.
   6397  1.1  mrg 
   6398  1.1  mrg 2019-01-28  Jonathan Wakely  <jwakely (a] redhat.com>
   6399  1.1  mrg 
   6400  1.1  mrg 	PR libstdc++/68737
   6401  1.1  mrg 	* config/locale/generic/c_locale.h (__convert_from_v)
   6402  1.1  mrg 	[_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
   6403  1.1  mrg 	* config/os/hpux/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
   6404  1.1  mrg 	* include/bits/locale_facets.tcc (num_put::_M_insert_float)
   6405  1.1  mrg 	[_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
   6406  1.1  mrg 
   6407  1.1  mrg 2019-01-24  Jonathan Wakely  <jwakely (a] redhat.com>
   6408  1.1  mrg 
   6409  1.1  mrg 	PR libstdc++/88840
   6410  1.1  mrg 	* include/bits/stl_vector.h (vector::__use_relocate): Replace static
   6411  1.1  mrg 	data member with static member function _S_use_relocate().
   6412  1.1  mrg 	* include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
   6413  1.1  mrg 	(vector::_M_default_append): Use _S_use_relocate() instead of
   6414  1.1  mrg 	__use_relocate.
   6415  1.1  mrg 
   6416  1.1  mrg 	* testsuite/27_io/filesystem/path/compare/strings.cc: Only compare
   6417  1.1  mrg 	sign of results.
   6418  1.1  mrg 
   6419  1.1  mrg 2019-01-22  Jonathan Wakely  <jwakely (a] redhat.com>
   6420  1.1  mrg 
   6421  1.1  mrg 	PR libstdc++/88740
   6422  1.1  mrg 	* testsuite/util/testsuite_hooks.h [stderr] (VERIFY): Use fprintf to
   6423  1.1  mrg 	write to stderr instead of using printf.
   6424  1.1  mrg 
   6425  1.1  mrg 2019-01-21  Jakub Jelinek  <jakub (a] redhat.com>
   6426  1.1  mrg 
   6427  1.1  mrg 	PR libstdc++/86590
   6428  1.1  mrg 	* include/bits/char_traits.h (__constant_string_p,
   6429  1.1  mrg 	__constant_char_array_p): Use __builtin_is_constant_evaluated if
   6430  1.1  mrg 	available.
   6431  1.1  mrg 
   6432  1.1  mrg 2019-01-20  Ulrich Drepper  <drepper (a] redhat.com>
   6433  1.1  mrg 
   6434  1.1  mrg 	Implement C++20 P0600r1.
   6435  1.1  mrg 	* include/backward/hash_map: Add nodiscard attribute to empty.
   6436  1.1  mrg 	* include/backward/hash_set: Likewise.
   6437  1.1  mrg 	* backward/hashtable.h: Likewise.
   6438  1.1  mrg 	* include/bits/basic_string.h: Likewise.
   6439  1.1  mrg 	* include/bits/forward_list.h: Likewise.
   6440  1.1  mrg 	* include/bits/hashtable.h: Likewise.
   6441  1.1  mrg 	* include/bits/regex.h: Likewise.
   6442  1.1  mrg 	* include/bits/stl_deque.h: Likewise.
   6443  1.1  mrg 	* include/bits/stl_list.h: Likewise.
   6444  1.1  mrg 	* include/bits/stl_map.h: Likewise.
   6445  1.1  mrg 	* include/bits/stl_multimap.h: Likewise.
   6446  1.1  mrg 	* include/bits/stl_multiset.h: Likewise.
   6447  1.1  mrg 	* include/bits/stl_queue.h: Likewise.
   6448  1.1  mrg 	* include/bits/stl_set.h: Likewise.
   6449  1.1  mrg 	* include/bits/stl_stack.h: Likewise.
   6450  1.1  mrg 	* include/bits/stl_tree.h: Likewise.
   6451  1.1  mrg 	* include/bits/stl_vector.h: Likewise.
   6452  1.1  mrg 	* include/bits/unordered_map.h: Likewise.
   6453  1.1  mrg 	* include/bits/unordered_set.h: Likewise.
   6454  1.1  mrg 	* include/debug/array: Likewise.
   6455  1.1  mrg 	* include/experimental/any: Likewise.
   6456  1.1  mrg 	* include/experimental/bits/fs_path.h: Likewise.
   6457  1.1  mrg 	* include/experimental/internet: Likewise.
   6458  1.1  mrg 	* include/experimental/string_view: Likewise.
   6459  1.1  mrg 	* include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp:
   6460  1.1  mrg 	Likewise.
   6461  1.1  mrg 	* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp:
   6462  1.1  mrg 	Likewise.
   6463  1.1  mrg 	* include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp:
   6464  1.1  mrg 	Likewise.
   6465  1.1  mrg 	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp:
   6466  1.1  mrg 	Likewise.
   6467  1.1  mrg 	* include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp:
   6468  1.1  mrg 	Likewise.
   6469  1.1  mrg 	* include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp:
   6470  1.1  mrg 	Likewise.
   6471  1.1  mrg 	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp:
   6472  1.1  mrg 	Likewise.
   6473  1.1  mrg 	* include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp:
   6474  1.1  mrg 	Likewise.
   6475  1.1  mrg 	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
   6476  1.1  mrg 	info_fn_imps.hpp: Likewise.
   6477  1.1  mrg 	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
   6478  1.1  mrg 	left_child_next_sibling_heap_.hpp: Likewise.
   6479  1.1  mrg 	* include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp:
   6480  1.1  mrg 	Likewise.
   6481  1.1  mrg 	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp:
   6482  1.1  mrg 	Likewise.
   6483  1.1  mrg 	* include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp:
   6484  1.1  mrg 	Likewise.
   6485  1.1  mrg 	* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hp:
   6486  1.1  mrg 	Likewise.
   6487  1.1  mrg 	* include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp:
   6488  1.1  mrg 	Likewise.
   6489  1.1  mrg 	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp:
   6490  1.1  mrg 	Likewise.
   6491  1.1  mrg 	* include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp:
   6492  1.1  mrg 	Likewise.
   6493  1.1  mrg 	* include/ext/pb_ds/detail/tree_trace_base.hpp: Likewise.
   6494  1.1  mrg 	* include/ext/pb_ds/trie_policy.hpp: Likewise.
   6495  1.1  mrg 	* include/ext/rope: Likewise.
   6496  1.1  mrg 	* include/ext/slist: Likewise.
   6497  1.1  mrg 	* include/ext/vstring.h: Likewise.
   6498  1.1  mrg 	* include/profile/array: Likewise.
   6499  1.1  mrg 	* include/std/array: Likewise.
   6500  1.1  mrg 	* include/tr1/array: Likewise.
   6501  1.1  mrg 	* include/tr1/hashtable.h: Likewise.
   6502  1.1  mrg 	* include/tr1/regex: Likewise.
   6503  1.1  mrg 	* include/tr2/dynamic_bitset: Likewise.
   6504  1.1  mrg 	* include/bits/alloc_traits.h: Add nodiscard attribute to
   6505  1.1  mrg 	allocate.
   6506  1.1  mrg 	* include/experimental/memory_resource: Likewise.
   6507  1.1  mrg 	* include/ext/alloc_traits.h: Likewise.
   6508  1.1  mrg 	* include/ext/array_allocator.h: Likewise.
   6509  1.1  mrg 	* include/ext/bitmap_allocator.h: Likewise.
   6510  1.1  mrg 	* include/ext/debug_allocator.h: Likewise.
   6511  1.1  mrg 	* include/ext/extptr_allocator.h: Likewise.
   6512  1.1  mrg 	* include/ext/mt_allocator.h: Likewise.
   6513  1.1  mrg 	* include/ext/new_allocator.h: Likewise.
   6514  1.1  mrg 	* include/ext/pool_allocator.h: Likewise.
   6515  1.1  mrg 	* include/ext/throw_allocator.h: Likewise.
   6516  1.1  mrg 	* include/std/scoped_allocator: Likewise.
   6517  1.1  mrg 	* libsupc++/eh_alloc.cc: Likewise.
   6518  1.1  mrg 	* include/std/future: Add nodiscard attribute to async.
   6519  1.1  mrg 	* libsupc++/new: Add nodiscard attribute to new.
   6520  1.1  mrg 
   6521  1.1  mrg 2019-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   6522  1.1  mrg 
   6523  1.1  mrg 	PR libstdc++/87514
   6524  1.1  mrg 	PR libstdc++/87520
   6525  1.1  mrg 	PR libstdc++/88782
   6526  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export new symbol.
   6527  1.1  mrg 	* include/bits/shared_ptr.h
   6528  1.1  mrg 	(shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...))
   6529  1.1  mrg 	(allocate_shared): Change to use new tag type.
   6530  1.1  mrg 	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_eq):
   6531  1.1  mrg 	Declare new member function.
   6532  1.1  mrg 	(_Sp_alloc_shared_tag): Define new type.
   6533  1.1  mrg 	(_Sp_counted_ptr_inplace): Declare __shared_count<_Lp> as a friend.
   6534  1.1  mrg 	(_Sp_counted_ptr_inplace::_M_get_deleter) [!__cpp_rtti]: Use
   6535  1.1  mrg 	_Sp_make_shared_tag::_S_eq to check type_info.
   6536  1.1  mrg 	(__shared_count(Ptr, Deleter),__shared_count(Ptr, Deleter, Alloc)):
   6537  1.1  mrg 	Constrain to prevent being called with _Sp_alloc_shared_tag.
   6538  1.1  mrg 	(__shared_count(_Sp_make_shared_tag, const _Alloc&, Args&&...)):
   6539  1.1  mrg 	Replace constructor with ...
   6540  1.1  mrg 	(__shared_count(Tp*&, _Sp_alloc_shared_tag<_Alloc>, Args&&...)): Use
   6541  1.1  mrg 	reference parameter so address of the new object can be returned to
   6542  1.1  mrg 	the caller. Obtain the allocator from the tag type.
   6543  1.1  mrg 	(__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Replace
   6544  1.1  mrg 	constructor with ...
   6545  1.1  mrg 	(__shared_ptr(_Sp_alloc_shared_tag<Alloc>, Args&&...)): Pass _M_ptr
   6546  1.1  mrg 	to the __shared_count constructor.
   6547  1.1  mrg 	(__allocate_shared): Change to use new tag type.
   6548  1.1  mrg 	* src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq): Define.
   6549  1.1  mrg 
   6550  1.1  mrg 2019-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   6551  1.1  mrg 
   6552  1.1  mrg 	* src/c++17/fs_ops.cc
   6553  1.1  mrg 	(equivalent(const path&, const path&, error_code&))
   6554  1.1  mrg 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use GetFileInformationByHandle to
   6555  1.1  mrg 	compare files instead of relying on incomplete info returned by stat.
   6556  1.1  mrg 
   6557  1.1  mrg 	PR libstdc++/88884
   6558  1.1  mrg 	* src/c++17/fs_ops.cc (absolute(const path&, error_code&)): Do nothing
   6559  1.1  mrg 	if the path is already absolute.
   6560  1.1  mrg 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Normalize root-directory.
   6561  1.1  mrg 	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Pass error_code to current_path.
   6562  1.1  mrg 
   6563  1.1  mrg 	PR libstdc++/88881
   6564  1.1  mrg 	* src/c++17/fs_ops.cc (canonical(const path&, error_code&))
   6565  1.1  mrg 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Normalize path, to match behaviour
   6566  1.1  mrg 	of filesystem::exists.
   6567  1.1  mrg 	(create_directories(const path&, error_code&)): Add assertions.
   6568  1.1  mrg 	(status(const path&, error_code&)) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]:
   6569  1.1  mrg 	Add workaround for bug in _wstat for paths with trailing slash.
   6570  1.1  mrg 	* testsuite/27_io/filesystem/operations/create_directories.cc: Adjust
   6571  1.1  mrg 	for expected behaviour on mingw.
   6572  1.1  mrg 	* testsuite/experimental/filesystem/operations/create_directories.cc:
   6573  1.1  mrg 	Likewise.
   6574  1.1  mrg 	* testsuite/27_io/filesystem/operations/temp_directory_path.cc: Use
   6575  1.1  mrg 	"TMP" instead of "TMPDIR" and clean environment before each test. Do
   6576  1.1  mrg 	not test permissions on mingw targets.
   6577  1.1  mrg 
   6578  1.1  mrg 2019-01-16  Jonathan Wakely  <jwakely (a] redhat.com>
   6579  1.1  mrg 
   6580  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Add exports for fstream
   6581  1.1  mrg 	constructors and open members taking wide strings. Fix patterns for
   6582  1.1  mrg 	filesystem::path members to match wstring_view parameters. Add
   6583  1.1  mrg 	exports for shared_ptr members used by directory iterators.
   6584  1.1  mrg 	* src/c++17/fs_ops.cc (remove(const path&, error_code&)): Clear the
   6585  1.1  mrg 	error code parameter if the file doesn't exist.
   6586  1.1  mrg 	* src/filesystem/ops.cc (remove(const path&, error_code&)):
   6587  1.1  mrg 	Likewise.
   6588  1.1  mrg 	* testsuite/27_io/filesystem/operations/canonical.cc: Fix expected
   6589  1.1  mrg 	values for mingw targets, where "/" is not an absolute path. Do not
   6590  1.1  mrg 	test symlinks on mingw targets.
   6591  1.1  mrg 	* testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
   6592  1.1  mrg 	* testsuite/27_io/filesystem/operations/copy.cc: Do not test symlinks
   6593  1.1  mrg 	on mingw targets.
   6594  1.1  mrg 	* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
   6595  1.1  mrg 	* testsuite/27_io/filesystem/operations/create_directories.cc: Check
   6596  1.1  mrg 	that each component of the path is created.
   6597  1.1  mrg 	* testsuite/experimental/filesystem/operations/create_directories.cc:
   6598  1.1  mrg 	Likewise.
   6599  1.1  mrg 	* testsuite/27_io/filesystem/operations/exists.cc: Do not test
   6600  1.1  mrg 	permissions on mingw targets.
   6601  1.1  mrg 	* testsuite/experimental/filesystem/operations/exists.cc: Likewise.
   6602  1.1  mrg 	* testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
   6603  1.1  mrg 	* testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
   6604  1.1  mrg 	* testsuite/27_io/filesystem/operations/permissions.cc: XFAIL for
   6605  1.1  mrg 	mingw targets.
   6606  1.1  mrg 	* testsuite/experimental/filesystem/operations/permissions.cc:
   6607  1.1  mrg 	Likewise.
   6608  1.1  mrg 	* testsuite/27_io/filesystem/operations/remove.cc: Do not test
   6609  1.1  mrg 	symlinks or permissions on mingw targets.
   6610  1.1  mrg 	* testsuite/experimental/filesystem/operations/remove.cc: Likewise.
   6611  1.1  mrg 	* testsuite/27_io/filesystem/operations/remove_all.cc: Do not test
   6612  1.1  mrg 	symlinks on mingw targets.
   6613  1.1  mrg 	* testsuite/experimental/filesystem/operations/remove_all.cc:
   6614  1.1  mrg 	Likewise.
   6615  1.1  mrg 	* testsuite/27_io/filesystem/operations/status.cc: Do not test
   6616  1.1  mrg 	permissions on mingw targets.
   6617  1.1  mrg 	* testsuite/27_io/filesystem/operations/weakly_canonical.cc: Do not
   6618  1.1  mrg 	test symlinks on mingw targets.
   6619  1.1  mrg 	* testsuite/experimental/filesystem/operations/space.cc: Fix test
   6620  1.1  mrg 	for mingw targets.
   6621  1.1  mrg 
   6622  1.1  mrg 2019-02-14  Ulrich Drepper  <drepper (a] redhat.com>
   6623  1.1  mrg 
   6624  1.1  mrg 	PR libstdc++/88738
   6625  1.1  mrg 	Warn about unused comparisons of shared_ptr/unique_ptr
   6626  1.1  mrg 	* include/bits/c++config [_GLIBCXX_NODISCARD]: Define.
   6627  1.1  mrg 	* include/bits/shared_ptr.h: Use it for operator ==, !=,
   6628  1.1  mrg 	<, <=, >, >= for shared_ptr.
   6629  1.1  mrg 	* include/bits/unique_ptr.h: Likewise for unique_ptr.
   6630  1.1  mrg 
   6631  1.1  mrg 2019-01-15  Jonathan Wakely  <jwakely (a] redhat.com>
   6632  1.1  mrg 
   6633  1.1  mrg 	* include/bits/shared_ptr_base.h (__cpp_lib_shared_ptr_arrays): Define
   6634  1.1  mrg 	as 201611L, because P0497R0 changes are supported.
   6635  1.1  mrg 	* include/std/version (__cpp_lib_shared_ptr_arrays): Likewise.
   6636  1.1  mrg 
   6637  1.1  mrg 	* include/bits/erase_if.h [__cplusplus > 201703L]
   6638  1.1  mrg 	(__cpp_lib_erase_if): Only define for C++2a.
   6639  1.1  mrg 	* include/std/iterator [__cplusplus >= 201402L && !_GLIBCXX_DEBUG]
   6640  1.1  mrg 	(__cpp_lib_null_iterators): Define.
   6641  1.1  mrg 	* include/std/version [__cplusplus >= 201402L && !_GLIBCXX_DEBUG]
   6642  1.1  mrg 	(__cpp_lib_null_iterators): Define.
   6643  1.1  mrg 	[__cpp_impl_destroying_delete] (__cpp_lib_destroying_delete): Define.
   6644  1.1  mrg 
   6645  1.1  mrg 	* doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
   6646  1.1  mrg 	status.
   6647  1.1  mrg 	* include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
   6648  1.1  mrg 	Define.
   6649  1.1  mrg 	* include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3
   6650  1.1  mrg 	changes are supported.
   6651  1.1  mrg 	* include/std/optional (__cpp_lib_optional): Likewise.
   6652  1.1  mrg 	* include/std/variant (__cpp_lib_variant): Likewise.
   6653  1.1  mrg 	* include/std/version [!__STRICT_ANSI__]
   6654  1.1  mrg 	(__cpp_lib_uncaught_exceptions): Define as long integer.
   6655  1.1  mrg 	[__cplusplus >= 201703L] (__cpp_lib_any)
   6656  1.1  mrg 	(__cpp_lib_raw_memory_algorithms, __cpp_lib_uncaught_exceptions)
   6657  1.1  mrg 	(__cpp_lib_variant): Define for C++17.
   6658  1.1  mrg 	[__cplusplus >= 201703L] (__cpp_lib_optional): Update value and define
   6659  1.1  mrg 	as long integer.
   6660  1.1  mrg 	* libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long
   6661  1.1  mrg 	integer.
   6662  1.1  mrg 
   6663  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Update P1123R0 status.
   6664  1.1  mrg 
   6665  1.1  mrg 2019-01-12  Jonathan Wakely  <jwakely (a] redhat.com>
   6666  1.1  mrg 
   6667  1.1  mrg 	PR libstdc++/88811
   6668  1.1  mrg 	PR libstdc++/83306
   6669  1.1  mrg 	* src/filesystem/path.cc: Fix typo. If first path is empty, show []
   6670  1.1  mrg 	before second path.
   6671  1.1  mrg 	* testsuite/experimental/filesystem/filesystem_error/cons.cc: New
   6672  1.1  mrg 	test.
   6673  1.1  mrg 
   6674  1.1  mrg 2019-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   6675  1.1  mrg 
   6676  1.1  mrg 	* doc/xml/manual/intro.xml: Include new section.
   6677  1.1  mrg 	* doc/xml/manual/status_cxx2017.xml: Document more
   6678  1.1  mrg 	implementation-defined properties of the library.
   6679  1.1  mrg 	* doc/xml/manual/status_cxx2020.xml: Document C++2a status.
   6680  1.1  mrg 	* doc/html/*: Regenerate.
   6681  1.1  mrg 
   6682  1.1  mrg 	* include/bits/refwrap.h [__cplusplus > 201703L]
   6683  1.1  mrg 	(_Refwrap_base_arg1, _Refwrap_base_arg2, _Reference_wrapper_base)
   6684  1.1  mrg 	(_Reference_wrapper_base_memfun): Do not define for C++2a.
   6685  1.1  mrg 	(reference_wrapper): Do not derive from _Reference_wrapper_base_memfun
   6686  1.1  mrg 	for C++2a.
   6687  1.1  mrg 	(reference_wrapper::operator()): Add static assertion.
   6688  1.1  mrg 	* testsuite/20_util/reference_wrapper/incomplete.cc: New test.
   6689  1.1  mrg 
   6690  1.1  mrg 	* include/std/chrono (duration_values::zero(), duration_values::min())
   6691  1.1  mrg 	(duration_values::max()): Add noexcept.
   6692  1.1  mrg 	(duration::zero(), duration::min(), duration::max()): Likewise.
   6693  1.1  mrg 	(time_point::zero(), time_point::min(), time_point::max()): Likewise.
   6694  1.1  mrg 	* testsuite/20_util/duration/requirements/noexcept.cc: New test.
   6695  1.1  mrg 	* testsuite/20_util/time_point/requirements/noexcept.cc: New test.
   6696  1.1  mrg 
   6697  1.1  mrg 	* include/std/version (__cpp_lib_erase_if): Move to C++20 group.
   6698  1.1  mrg 
   6699  1.1  mrg 2019-01-11  Jakub Jelinek  <jakub (a] redhat.com>
   6700  1.1  mrg 
   6701  1.1  mrg 	* include/std/type_traits (__cpp_lib_is_constant_evaluated): Define.
   6702  1.1  mrg 	* include/std/version (__cpp_lib_is_constant_evaluated): Define.
   6703  1.1  mrg 
   6704  1.1  mrg 2019-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   6705  1.1  mrg 
   6706  1.1  mrg 	PR libstdc++/88802
   6707  1.1  mrg 	* include/bits/functional_hash.h (hash<nullptr_t>): Define
   6708  1.1  mrg 	specialization for C++17 (P0513R0, LWG 2817).
   6709  1.1  mrg 	* testsuite/20_util/hash/nullptr.cc: New test.
   6710  1.1  mrg 
   6711  1.1  mrg 	PR libstdc++/88125
   6712  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.6): Remove unused duplicate
   6713  1.1  mrg 	pattern for std::basic_stringbuf::str().
   6714  1.1  mrg 
   6715  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Correct recent changes to
   6716  1.1  mrg 	basic_ostream::operator<< patterns.
   6717  1.1  mrg 
   6718  1.1  mrg 2019-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   6719  1.1  mrg 
   6720  1.1  mrg 	* testsuite/27_io/filesystem/operations/last_write_time.cc: Fix
   6721  1.1  mrg 	test failures on targets with 32-bit time_t.
   6722  1.1  mrg 
   6723  1.1  mrg 	* include/bits/erase_if.h: Define __cpp_lib_erase_if.
   6724  1.1  mrg 	* include/std/deque: Likewise.
   6725  1.1  mrg 	* include/std/forward_list: Likewise.
   6726  1.1  mrg 	* include/std/list: Likewise.
   6727  1.1  mrg 	* include/std/string: Likewise.
   6728  1.1  mrg 	* include/std/vector: Likewise.
   6729  1.1  mrg 	* include/std/version: Likewise.
   6730  1.1  mrg 	* testsuite/21_strings/basic_string/erasure.cc: Test macro.
   6731  1.1  mrg 	* testsuite/23_containers/deque/erasure.cc: Likewise.
   6732  1.1  mrg 	* testsuite/23_containers/forward_list/erasure.cc: Likewise.
   6733  1.1  mrg 	* testsuite/23_containers/list/erasure.cc: Likewise.
   6734  1.1  mrg 	* testsuite/23_containers/map/erasure.cc: Likewise.
   6735  1.1  mrg 	* testsuite/23_containers/set/erasure.cc: Likewise.
   6736  1.1  mrg 	* testsuite/23_containers/unordered_map/erasure.cc: Likewise.
   6737  1.1  mrg 	* testsuite/23_containers/unordered_set/erasure.cc: Likewise.
   6738  1.1  mrg 	* testsuite/23_containers/vector/erasure.cc: Likewise.
   6739  1.1  mrg 
   6740  1.1  mrg 	* include/experimental/internet [AI_NUMERICSERV]
   6741  1.1  mrg 	(resolver_base::numeric_service): Define conditionally.
   6742  1.1  mrg 	* testsuite/experimental/net/internet/resolver/base.cc: Test it
   6743  1.1  mrg 	conditionally.
   6744  1.1  mrg 	* testsuite/experimental/net/internet/resolver/ops/lookup.cc:
   6745  1.1  mrg 	Likewise.
   6746  1.1  mrg 
   6747  1.1  mrg 2019-01-10  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   6748  1.1  mrg 	    Jonathan Wakely  <jwakely (a] redhat.com>
   6749  1.1  mrg 
   6750  1.1  mrg 	Implement LWG 2221
   6751  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Tighten patterns.
   6752  1.1  mrg 	(GLIBCXX_3.4.26): Add new exports.
   6753  1.1  mrg 	* include/Makefile.am: Add ostream-inst.cc. Move string-inst.cc to
   6754  1.1  mrg 	correct list of sources.
   6755  1.1  mrg 	* include/Makefile.in: Regenerate.
   6756  1.1  mrg 	* include/std/ostream (operator<<(nullptr_t)): New member function.
   6757  1.1  mrg 	* src/c++17/ostream-inst.cc: New file.
   6758  1.1  mrg 	* testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc: New
   6759  1.1  mrg 	test.
   6760  1.1  mrg 
   6761  1.1  mrg 2019-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   6762  1.1  mrg 
   6763  1.1  mrg 	* testsuite/util/testsuite_fs.h (nonexistent_path): Include name
   6764  1.1  mrg 	of the source file containing the caller.
   6765  1.1  mrg 	* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Remove
   6766  1.1  mrg 	directories created by test.
   6767  1.1  mrg 	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
   6768  1.1  mrg 	Likewise.
   6769  1.1  mrg 	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
   6770  1.1  mrg 	Likewise.
   6771  1.1  mrg 	* testsuite/experimental/filesystem/iterators/
   6772  1.1  mrg 	recursive_directory_iterator.cc: Likewise.
   6773  1.1  mrg 
   6774  1.1  mrg 2019-01-10  Jakub Jelinek  <jakub (a] redhat.com>
   6775  1.1  mrg 
   6776  1.1  mrg 	PR tree-optimization/88775
   6777  1.1  mrg 	* include/bits/stl_function.h (greater<_Tp*>::operator(),
   6778  1.1  mrg 	less<_Tp*>::operator(), greater_equal<_Tp*>::operator(),
   6779  1.1  mrg 	less_equal<_Tp*>::operator()): Use __builtin_is_constant_evaluated
   6780  1.1  mrg 	instead of __builtin_constant_p if available.  Don't bother with
   6781  1.1  mrg 	the pointer comparison in C++11 and earlier.
   6782  1.1  mrg 
   6783  1.1  mrg 2019-01-09  Sandra Loosemore  <sandra (a] codesourcery.com>
   6784  1.1  mrg 
   6785  1.1  mrg 	PR other/16615
   6786  1.1  mrg 
   6787  1.1  mrg 	* include/ext/bitmap_allocator.h: Mechanically replace "can not"
   6788  1.1  mrg 	with "cannot".
   6789  1.1  mrg 
   6790  1.1  mrg 2019-01-09  Jonathan Wakely  <jwakely (a] redhat.com>
   6791  1.1  mrg 
   6792  1.1  mrg 	* testsuite/libstdc++-prettyprinters/cxx17.cc: Fix expected output
   6793  1.1  mrg 	for filesystem::path. Give variables more distinctive names.
   6794  1.1  mrg 
   6795  1.1  mrg 	* include/std/optional (_Optional_payload_base::_M_copy_assign): New
   6796  1.1  mrg 	member function to perform non-trivial assignment.
   6797  1.1  mrg 	(_Optional_payload_base::_M_move_assign): Likewise.
   6798  1.1  mrg 	(_Optional_payload<T, true, false, true>::operator=)
   6799  1.1  mrg 	(_Optional_payload<T, true, true, false>::operator=)
   6800  1.1  mrg 	(_Optional_payload<T, true, false, false>::operator=): Call
   6801  1.1  mrg 	_M_copy_assign and/or _M_move_assign to do non-trivial assignments.
   6802  1.1  mrg 
   6803  1.1  mrg 	PR libstdc++/88204
   6804  1.1  mrg 	* testsuite/26_numerics/complex/operators/more_constexpr.cc: Do not
   6805  1.1  mrg 	test std::complex<long double> if long double format is IBM128.
   6806  1.1  mrg 	* testsuite/26_numerics/complex/requirements/more_constexpr.cc:
   6807  1.1  mrg 	Likewise.
   6808  1.1  mrg 
   6809  1.1  mrg 2019-01-08  Jonathan Wakely  <jwakely (a] redhat.com>
   6810  1.1  mrg 
   6811  1.1  mrg 	* testsuite/libstdc++-prettyprinters/compat.cc: Test printer support
   6812  1.1  mrg 	for old std::unique_ptr layout.
   6813  1.1  mrg 	* testsuite/libstdc++-prettyprinters/cxx17.cc: Fix std::variant test
   6814  1.1  mrg 	to become valueless. Add filesystem::path tests.
   6815  1.1  mrg 
   6816  1.1  mrg 	PR libstdc++/87855
   6817  1.1  mrg 	* include/std/optional (_Optional_payload_base): New class template
   6818  1.1  mrg 	for common code hoisted from _Optional_payload specializations. Use
   6819  1.1  mrg 	a template for the union, to allow a partial specialization for
   6820  1.1  mrg 	types with non-trivial destructors. Add constructors for in-place
   6821  1.1  mrg 	initialization to the union.
   6822  1.1  mrg 	(_Optional_payload(bool, const _Optional_payload&)): Use _M_construct
   6823  1.1  mrg 	to perform non-trivial copy construction, instead of relying on
   6824  1.1  mrg 	non-standard copy elision in a delegating constructor.
   6825  1.1  mrg 	(_Optional_payload(bool, _Optional_payload&&)): Likewise for
   6826  1.1  mrg 	non-trivial move construction.
   6827  1.1  mrg 	(_Optional_payload): Derive from _Optional_payload_base and use it
   6828  1.1  mrg 	for everything except the non-trivial assignment operators, which are
   6829  1.1  mrg 	defined as needed.
   6830  1.1  mrg 	(_Optional_payload<false, C, M>): Derive from the specialization
   6831  1.1  mrg 	_Optional_payload<true, false, false> and add a destructor.
   6832  1.1  mrg 	(_Optional_base_impl::_M_destruct, _Optional_base_impl::_M_reset):
   6833  1.1  mrg 	Forward to corresponding members of _Optional_payload.
   6834  1.1  mrg 	(_Optional_base_impl::_M_is_engaged, _Optional_base_impl::_M_get):
   6835  1.1  mrg 	Hoist common members from _Optional_base.
   6836  1.1  mrg 	(_Optional_base): Make all members and base class public.
   6837  1.1  mrg 	(_Optional_base::_M_get, _Optional_base::_M_is_engaged): Move to
   6838  1.1  mrg 	_Optional_base_impl.
   6839  1.1  mrg 	* python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Add
   6840  1.1  mrg 	support for new std::optional layout.
   6841  1.1  mrg 	* testsuite/libstdc++-prettyprinters/compat.cc: New test.
   6842  1.1  mrg 
   6843  1.1  mrg 	PR libstdc++/88066
   6844  1.1  mrg 	* include/bits/locale_conv.h: Use <> for includes not "".
   6845  1.1  mrg 	* include/ext/random: Likewise.
   6846  1.1  mrg 	* include/ext/vstring.h: Likewise.
   6847  1.1  mrg 
   6848  1.1  mrg 2019-01-08  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   6849  1.1  mrg 
   6850  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Tighten existing patterns.
   6851  1.1  mrg 	(GLIBCXX_3.4.21): Likewise.
   6852  1.1  mrg 
   6853  1.1  mrg 2019-01-08  Jonathan Wakely  <jwakely (a] redhat.com>
   6854  1.1  mrg 
   6855  1.1  mrg 	PR libstdc++/88749
   6856  1.1  mrg 	* src/filesystem/ops.cc (last_write_time): Fix preprocessor condition
   6857  1.1  mrg 	to match the one that controls whether utimbuf and utime are declared.
   6858  1.1  mrg 
   6859  1.1  mrg 2019-01-07  Jonathan Wakely  <jwakely (a] redhat.com>
   6860  1.1  mrg 
   6861  1.1  mrg 	PR libstdc++/87787
   6862  1.1  mrg 	* include/bits/char_traits.h (char_traits::move): Do not pass null
   6863  1.1  mrg 	pointers to memmove.
   6864  1.1  mrg 	* include/bits/locale_facets.h
   6865  1.1  mrg 	(ctype<char>::widen(const char*, const char*, char*)): Do not
   6866  1.1  mrg 	pass null pointers to memcpy.
   6867  1.1  mrg 	(ctype<char>::narrow(const char*, const char*, char, char*)):
   6868  1.1  mrg 	Likewise.
   6869  1.1  mrg 	(ctype<char>::do_widen(const char*, const char*, char*)):
   6870  1.1  mrg 	Likewise.
   6871  1.1  mrg 	(ctype<char>::do_narrow(const char*, const char*, char, char*)):
   6872  1.1  mrg 	Likewise.
   6873  1.1  mrg 
   6874  1.1  mrg 	* doc/xml/manual/spine.xml: Update copyright years.
   6875  1.1  mrg 	* doc/xml/manual/status_cxx2017.xml: Adjust note about -lstdc++fs.
   6876  1.1  mrg 	* doc/xml/manual/using.xml: Remove requirement to link with -lstdc++fs
   6877  1.1  mrg 	for C++17 filesystem library.
   6878  1.1  mrg 	* doc/html/*: Regenerate.
   6879  1.1  mrg 
   6880  1.1  mrg 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for truncate.
   6881  1.1  mrg 	* config.h.in: Regenerate.
   6882  1.1  mrg 	* config/abi/pre/gnu.ver: Order patterns for filesystem operations
   6883  1.1  mrg 	alphabetically and add missing entries for copy_symlink,
   6884  1.1  mrg 	hard_link_count, rename, and resize_file.
   6885  1.1  mrg 	* configure: Regenerate.
   6886  1.1  mrg 	* src/c++17/fs_ops.cc (resize_file): Remove #if so posix::truncate is
   6887  1.1  mrg 	used unconditionally.
   6888  1.1  mrg 	* src/filesystem/ops-common.h (__gnu_posix::truncate)
   6889  1.1  mrg 	[!_GLIBCXX_HAVE_TRUNCATE]: Provide fallback definition that only
   6890  1.1  mrg 	supports truncating to zero length.
   6891  1.1  mrg 	* testsuite/27_io/filesystem/operations/all.cc: New test.
   6892  1.1  mrg 	* testsuite/27_io/filesystem/operations/resize_file.cc: New test.
   6893  1.1  mrg 
   6894  1.1  mrg 2019-01-06  Jonathan Wakely  <jwakely (a] redhat.com>
   6895  1.1  mrg 
   6896  1.1  mrg 	PR libstdc++/86756
   6897  1.1  mrg 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for utime and
   6898  1.1  mrg 	lstat and define _GLIBCXX_USE_UTIME and _GLIBCXX_USE_LSTAT.
   6899  1.1  mrg 	* config.h.in: Regenerate.
   6900  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export symbols for
   6901  1.1  mrg 	remaining std::filesystem types and functions.
   6902  1.1  mrg 	* configure: Regenerate.
   6903  1.1  mrg 	* src/c++17/Makefile.am: Add C++17 filesystem sources.
   6904  1.1  mrg 	* src/c++17/Makefile.in: Regenerate.
   6905  1.1  mrg 	* src/c++17/cow-fs_dir.cc: Move src/filesystem/cow-std-dir.cc to
   6906  1.1  mrg 	here, and change name of included file.
   6907  1.1  mrg 	* src/c++17/cow-fs_ops.cc: Move src/filesystem/cow-std-ops.cc to
   6908  1.1  mrg 	here, and change name of included file.
   6909  1.1  mrg 	* src/c++17/fs_dir.cc: Move src/filesystem/std-dir.cc to here. Change
   6910  1.1  mrg 	path to dir-common.h.
   6911  1.1  mrg 	* src/c++17/fs_ops.cc: Move src/filesystem/std-ops.cc to here. Change
   6912  1.1  mrg 	path to ops-common.h. Disable -Wunused-parameter warnings.
   6913  1.1  mrg 	(internal_file_clock): Define unconditionally.
   6914  1.1  mrg 	[!_GLIBCXX_HAVE_SYS_STAT_H] (internal_file_clock::from_stat): Do not
   6915  1.1  mrg 	define.
   6916  1.1  mrg 	(do_copy_file, do_space): Move definitions to ops.common.h.
   6917  1.1  mrg 	(copy, file_size, hard_link_count, last_write_time, space): Only
   6918  1.1  mrg 	perform operation when _GLIBCXX_HAVE_SYS_STAT_H is defined, otherwise
   6919  1.1  mrg 	report an error.
   6920  1.1  mrg 	(last_write_time, read_symlink): Remove unused attributes from
   6921  1.1  mrg 	parameters.
   6922  1.1  mrg 	* src/filesystem/Makefile.am: Remove C++17 filesystem sources.
   6923  1.1  mrg 	* src/filesystem/Makefile.in: Regenerate.
   6924  1.1  mrg 	* src/filesystem/cow-std-dir.cc: Move to src/c++17/cow-fs_dir.cc.
   6925  1.1  mrg 	* src/filesystem/cow-std-ops.cc: Move to src/c++17/cow-fs_ops.cc.
   6926  1.1  mrg 	* src/filesystem/std-dir.cc: Move to src/c++17/fs_dir.cc.
   6927  1.1  mrg 	* src/filesystem/std-ops.cc: Move to src/c++17/fs_ops.cc.
   6928  1.1  mrg 	* src/filesystem/dir-common.h [!_GLIBCXX_HAVE_DIRENT_H]: Define
   6929  1.1  mrg 	dummy types and functions instead of using #error.
   6930  1.1  mrg 	* src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H]: Use #error.
   6931  1.1  mrg 	* src/filesystem/ops-common.h [!_GLIBCXX_USE_LSTAT] (lstat): Define
   6932  1.1  mrg 	in terms of stat.
   6933  1.1  mrg 	[!_GLIBCXX_HAVE_UNISTD_H]: Define dummy types and functions.
   6934  1.1  mrg 	(do_copy_file, do_space): Move definitions here from std-ops.cc.
   6935  1.1  mrg 	* src/filesystem/ops.cc: Adjust calls to do_copy_file and do_space
   6936  1.1  mrg 	to account for new namespace.
   6937  1.1  mrg 	* testsuite/27_io/filesystem/directory_entry/86597.cc: Remove
   6938  1.1  mrg 	-lstdc++fs from dg-options.
   6939  1.1  mrg 	* testsuite/27_io/filesystem/directory_entry/lwg3171.cc: Likewise.
   6940  1.1  mrg 	* testsuite/27_io/filesystem/file_status/1.cc: Likewise.
   6941  1.1  mrg 	* testsuite/27_io/filesystem/filesystem_error/cons.cc: Likewise.
   6942  1.1  mrg 	* testsuite/27_io/filesystem/filesystem_error/copy.cc: Likewise.
   6943  1.1  mrg 	* testsuite/27_io/filesystem/iterators/directory_iterator.cc:
   6944  1.1  mrg 	Likewise.
   6945  1.1  mrg 	* testsuite/27_io/filesystem/iterators/pop.cc: Likewise.
   6946  1.1  mrg 	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
   6947  1.1  mrg 	Likewise.
   6948  1.1  mrg 	* testsuite/27_io/filesystem/operations/absolute.cc: Likewise.
   6949  1.1  mrg 	* testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
   6950  1.1  mrg 	* testsuite/27_io/filesystem/operations/copy.cc: Likewise.
   6951  1.1  mrg 	* testsuite/27_io/filesystem/operations/copy_file.cc: Likewise.
   6952  1.1  mrg 	* testsuite/27_io/filesystem/operations/create_directories.cc:
   6953  1.1  mrg 	Likewise.
   6954  1.1  mrg 	* testsuite/27_io/filesystem/operations/create_directory.cc: Likewise.
   6955  1.1  mrg 	* testsuite/27_io/filesystem/operations/create_symlink.cc: Likewise.
   6956  1.1  mrg 	* testsuite/27_io/filesystem/operations/current_path.cc: Likewise.
   6957  1.1  mrg 	* testsuite/27_io/filesystem/operations/equivalent.cc: Likewise.
   6958  1.1  mrg 	* testsuite/27_io/filesystem/operations/exists.cc: Likewise.
   6959  1.1  mrg 	* testsuite/27_io/filesystem/operations/file_size.cc: Likewise.
   6960  1.1  mrg 	* testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
   6961  1.1  mrg 	* testsuite/27_io/filesystem/operations/last_write_time.cc: Likewise.
   6962  1.1  mrg 	* testsuite/27_io/filesystem/operations/permissions.cc: Likewise.
   6963  1.1  mrg 	* testsuite/27_io/filesystem/operations/proximate.cc: Likewise.
   6964  1.1  mrg 	* testsuite/27_io/filesystem/operations/read_symlink.cc: Likewise.
   6965  1.1  mrg 	* testsuite/27_io/filesystem/operations/relative.cc: Likewise.
   6966  1.1  mrg 	* testsuite/27_io/filesystem/operations/remove.cc: Likewise.
   6967  1.1  mrg 	* testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
   6968  1.1  mrg 	* testsuite/27_io/filesystem/operations/space.cc: Likewise.
   6969  1.1  mrg 	* testsuite/27_io/filesystem/operations/status.cc: Likewise.
   6970  1.1  mrg 	* testsuite/27_io/filesystem/operations/symlink_status.cc: Likewise.
   6971  1.1  mrg 	* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
   6972  1.1  mrg 	Likewise.
   6973  1.1  mrg 	* testsuite/27_io/filesystem/operations/weakly_canonical.cc: Likewise.
   6974  1.1  mrg 
   6975  1.1  mrg 
   6976  1.1  mrg 	PR libstdc++/86756
   6977  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Make various patterns for
   6978  1.1  mrg 	typeinfo and vtables less greedy.
   6979  1.1  mrg 	(GLIBCXX_3.4.26): Export symbols for std::filesystem::path.
   6980  1.1  mrg 	* src/c++17/Makefile.am: Add fs_path.cc and cow-fs_path.cc.
   6981  1.1  mrg 	* src/c++17/Makefile.in: Regenerate.
   6982  1.1  mrg 	* src/c++17/cow-fs_path.cc: Move src/filesystem/cow-std-path.cc to
   6983  1.1  mrg 	here, and change name of included file.
   6984  1.1  mrg 	* src/c++17/fs_path.cc: Move src/filesystem/std-path.cc to here.
   6985  1.1  mrg 	* src/filesystem/Makefile.am: Remove std-path.cc and cow-std-path.cc
   6986  1.1  mrg 	from sources.
   6987  1.1  mrg 	* src/filesystem/Makefile.in: Regenerate.
   6988  1.1  mrg 	* src/filesystem/cow-std-path.cc: Move to src/c++17/cow-fs_path.cc.
   6989  1.1  mrg 	* src/filesystem/std-path.cc: Move to src/c++17/fs_path.cc.
   6990  1.1  mrg 	* testsuite/27_io/filesystem/path/append/path.cc: Remove -lstdc++fs
   6991  1.1  mrg 	from dg-options and remove dg-require-filesystem-ts.
   6992  1.1  mrg 	* testsuite/27_io/filesystem/path/append/source.cc: Likewise.
   6993  1.1  mrg 	* testsuite/27_io/filesystem/path/assign/assign.cc: Likewise.
   6994  1.1  mrg 	* testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
   6995  1.1  mrg 	* testsuite/27_io/filesystem/path/compare/compare.cc: Likewise.
   6996  1.1  mrg 	* testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
   6997  1.1  mrg 	* testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
   6998  1.1  mrg 	* testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
   6999  1.1  mrg 	* testsuite/27_io/filesystem/path/concat/path.cc: Likewise.
   7000  1.1  mrg 	* testsuite/27_io/filesystem/path/concat/strings.cc: Likewise.
   7001  1.1  mrg 	* testsuite/27_io/filesystem/path/construct/80762.cc: Likewise.
   7002  1.1  mrg 	* testsuite/27_io/filesystem/path/construct/copy.cc: Likewise.
   7003  1.1  mrg 	* testsuite/27_io/filesystem/path/construct/default.cc: Likewise.
   7004  1.1  mrg 	* testsuite/27_io/filesystem/path/construct/format.cc: Likewise.
   7005  1.1  mrg 	* testsuite/27_io/filesystem/path/construct/locale.cc: Likewise.
   7006  1.1  mrg 	* testsuite/27_io/filesystem/path/construct/range.cc: Likewise.
   7007  1.1  mrg 	* testsuite/27_io/filesystem/path/construct/string_view.cc: Likewise.
   7008  1.1  mrg 	* testsuite/27_io/filesystem/path/decompose/extension.cc: Likewise.
   7009  1.1  mrg 	* testsuite/27_io/filesystem/path/decompose/filename.cc: Likewise.
   7010  1.1  mrg 	* testsuite/27_io/filesystem/path/decompose/parent_path.cc: Likewise.
   7011  1.1  mrg 	* testsuite/27_io/filesystem/path/decompose/relative_path.cc: Likewise.
   7012  1.1  mrg 	* testsuite/27_io/filesystem/path/decompose/root_directory.cc:
   7013  1.1  mrg 	Likewise.
   7014  1.1  mrg 	* testsuite/27_io/filesystem/path/decompose/root_name.cc: Likewise.
   7015  1.1  mrg 	* testsuite/27_io/filesystem/path/decompose/root_path.cc: Likewise.
   7016  1.1  mrg 	* testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise.
   7017  1.1  mrg 	* testsuite/27_io/filesystem/path/generation/normal.cc: Likewise.
   7018  1.1  mrg 	* testsuite/27_io/filesystem/path/generation/normal2.cc: Likewise.
   7019  1.1  mrg 	* testsuite/27_io/filesystem/path/generation/proximate.cc: Likewise.
   7020  1.1  mrg 	* testsuite/27_io/filesystem/path/generation/relative.cc: Likewise.
   7021  1.1  mrg 	* testsuite/27_io/filesystem/path/generic/generic_string.cc: Likewise.
   7022  1.1  mrg 	* testsuite/27_io/filesystem/path/itr/components.cc: Likewise.
   7023  1.1  mrg 	* testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise.
   7024  1.1  mrg 	* testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise.
   7025  1.1  mrg 	* testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
   7026  1.1  mrg 	Likewise.
   7027  1.1  mrg 	* testsuite/27_io/filesystem/path/modifiers/remove_filename.cc:
   7028  1.1  mrg 	Likewise.
   7029  1.1  mrg 	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
   7030  1.1  mrg 	Likewise.
   7031  1.1  mrg 	* testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
   7032  1.1  mrg 	Likewise.
   7033  1.1  mrg 	* testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise.
   7034  1.1  mrg 	* testsuite/27_io/filesystem/path/native/string.cc: Likewise.
   7035  1.1  mrg 	* testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise.
   7036  1.1  mrg 	* testsuite/27_io/filesystem/path/nonmember/hash_value.cc: Likewise.
   7037  1.1  mrg 	* testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
   7038  1.1  mrg 	* testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
   7039  1.1  mrg 	* testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
   7040  1.1  mrg 	* testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
   7041  1.1  mrg 	* testsuite/27_io/filesystem/path/query/has_relative_path.cc: Likewise.
   7042  1.1  mrg 	* testsuite/27_io/filesystem/path/query/has_root_directory.cc:
   7043  1.1  mrg 	Likewise.
   7044  1.1  mrg 	* testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
   7045  1.1  mrg 	* testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
   7046  1.1  mrg 	* testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
   7047  1.1  mrg 	* testsuite/27_io/filesystem/path/query/is_absolute.cc: Likewise.
   7048  1.1  mrg 	* testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
   7049  1.1  mrg 
   7050  1.1  mrg 	PR libstdc++/87431
   7051  1.1  mrg 	* include/std/variant (_Variant_storage<true, _Types...>::_M_valid):
   7052  1.1  mrg 	Check is_trivially_copyable instead of is_scalar.
   7053  1.1  mrg 	(variant::emplace<N, Args>(Args&&...)): If construction of the new
   7054  1.1  mrg 	contained value can throw and its type is trivially copyable then
   7055  1.1  mrg 	construct into a temporary variant and move from it, to provide the
   7056  1.1  mrg 	strong exception safety guarantee.
   7057  1.1  mrg 	(variant::emplace<N, U, Args>(initializer_list<U>, Args&&...)):
   7058  1.1  mrg 	Likewise.
   7059  1.1  mrg 	* testsuite/20_util/variant/87431.cc: New test.
   7060  1.1  mrg 	* testsuite/20_util/variant/run.cc: Adjust test so that throwing
   7061  1.1  mrg 	conversion causes valueless state.
   7062  1.1  mrg 
   7063  1.1  mrg 	PR libstdc++/88607
   7064  1.1  mrg 	* testsuite/17_intro/headers/c++1998/charset.cc: New test.
   7065  1.1  mrg 	* testsuite/17_intro/headers/c++2011/charset.cc: New test.
   7066  1.1  mrg 	* testsuite/17_intro/headers/c++2014/charset.cc: New test.
   7067  1.1  mrg 	* testsuite/17_intro/headers/c++2017/charset.cc: New test.
   7068  1.1  mrg 	* testsuite/17_intro/headers/c++2020/charset.cc: New test.
   7069  1.1  mrg 
   7070  1.1  mrg 2019-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   7071  1.1  mrg 
   7072  1.1  mrg 	* include/bits/fs_fwd.h (__file_clock): Define new clock.
   7073  1.1  mrg 	(file_time_type): Redefine in terms of __file_clock.
   7074  1.1  mrg 	* src/filesystem/ops-common.h (file_time): Add FIXME comment about
   7075  1.1  mrg 	overflow.
   7076  1.1  mrg 	* src/filesystem/std-ops.cc (is_set(perm_options, perm_options)): Give
   7077  1.1  mrg 	internal linkage.
   7078  1.1  mrg 	(internal_file_lock): New helper type for accessing __file_clock.
   7079  1.1  mrg 	(do_copy_file): Use internal_file_lock to convert system time to
   7080  1.1  mrg 	file_time_type.
   7081  1.1  mrg 	(last_write_time(const path&, error_code&)): Likewise.
   7082  1.1  mrg 	(last_write_time(const path&, file_time_type, error_code&)): Likewise.
   7083  1.1  mrg 
   7084  1.1  mrg 2019-01-04  Jonathan Wakely  <jwakely (a] redhat.com>
   7085  1.1  mrg 
   7086  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Make patterns less greedy
   7087  1.1  mrg 	for const member functions of std::basic_string.
   7088  1.1  mrg 	(GLIBCXX_3.4.26): Export member functions of std::basic_string added
   7089  1.1  mrg 	in C++17.
   7090  1.1  mrg 	* include/bits/basic_string.h (basic_string(__sv_wrapper, const A&)):
   7091  1.1  mrg 	Make non-standard constructor private.
   7092  1.1  mrg 	[!_GLIBCXX_USE_CXX11_ABI] (basic_string(__sv_wrapper, const A&)):
   7093  1.1  mrg 	Likewise.
   7094  1.1  mrg 	* include/bits/basic_string.tcc (std::string, std::wstring): Declare
   7095  1.1  mrg 	explicit instantiations for C++17 as well as earlier dialects.
   7096  1.1  mrg 	* src/c++17/Makefile.am: Add new source files.
   7097  1.1  mrg 	* src/c++17/Makefile.in: Regenerate.
   7098  1.1  mrg 	* src/c++17/cow-string-inst.cc: New file defining explicit
   7099  1.1  mrg 	instantiations for basic_string member functions added in C++17.
   7100  1.1  mrg 	* src/c++17/string-inst.cc: Likewise.
   7101  1.1  mrg 
   7102  1.1  mrg 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export allocator-extended
   7103  1.1  mrg 	copy/move constructors for old std::basic_string.
   7104  1.1  mrg 	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
   7105  1.1  mrg 	(basic_string::reference, basic_string::const_reference): Define
   7106  1.1  mrg 	as plain references for C++11 and later.
   7107  1.1  mrg 	(basic_string::basic_string()): Put constructor body outside
   7108  1.1  mrg 	preprocessor conditional groups.
   7109  1.1  mrg 	(basic_string::basic_string(basic_string&&)): Move _Alloc_hider
   7110  1.1  mrg 	instead of copying it.
   7111  1.1  mrg 	(basic_string::basic_string(const basic_string&, const _Alloc&)):
   7112  1.1  mrg 	Define.
   7113  1.1  mrg 	(basic_string::basic_string(basic_string&&, const _Alloc&)):
   7114  1.1  mrg 	Define.
   7115  1.1  mrg 	* include/bits/fs_path.h [!_GLIBCXX_USE_CXX11_ABI]: Remove special
   7116  1.1  mrg 	cases for old basic_string.
   7117  1.1  mrg 	* testsuite/21_strings/basic_string/cons/char/8.cc: Test
   7118  1.1  mrg 	allocator-extended constructors unconditionally. Add extra members to
   7119  1.1  mrg 	allocator type when using old string ABI.
   7120  1.1  mrg 	* testsuite/21_strings/basic_string/allocator/71964.cc: Enable test
   7121  1.1  mrg 	for old string ABI.
   7122  1.1  mrg 	* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
   7123  1.1  mrg 
   7124  1.1  mrg 	* testsuite/23_containers/list/61347.cc: Avoid spurious failure when
   7125  1.1  mrg 	-fno-inline added to test flags.
   7126  1.1  mrg 
   7127  1.1  mrg 	* testsuite/21_strings/basic_string/requirements/
   7128  1.1  mrg 	explicit_instantiation/debug.cc: Remove XFAIL for old ABI.
   7129  1.1  mrg 
   7130  1.1  mrg 	* testsuite/27_io/filesystem/filesystem_error/copy.cc: Fix static
   7131  1.1  mrg 	assertion failures with old std::string ABI.
   7132  1.1  mrg 
   7133  1.1  mrg 	* include/bits/fs_path.h (path::_List::erase): Replace both overloads
   7134  1.1  mrg 	with ...
   7135  1.1  mrg 	(path::pop_back(), path::_M_erase_from(const_iterator)): New member
   7136  1.1  mrg 	functions that will only erase elements at the end.
   7137  1.1  mrg 	* src/filesystem/std-path.cc (path::_List::_Impl::pop_back()): Define.
   7138  1.1  mrg 	(path::_List::_Impl::_M_erase_from(const_iterator)): Define.
   7139  1.1  mrg 	(path::_List::operator=(const _List&)): Use _M_erase_from(p) instead
   7140  1.1  mrg 	of erase(p, end()).
   7141  1.1  mrg 	(path::_List::pop_back()): Define.
   7142  1.1  mrg 	(path::_List::_M_erase_from(const_iterator)): Define.
   7143  1.1  mrg 	(path::operator/=(const path&)): Use pop_back to remove last component
   7144  1.1  mrg 	and _M_erase_from to remove multiple components.
   7145  1.1  mrg 	(path::_M_append(basic_string_view<value_type>)): Likewise.
   7146  1.1  mrg 	(path::operator+=(const path&)): Likewise.
   7147  1.1  mrg 	(path::_M_concat(basic_string_view<value_type>)): Likewise.
   7148  1.1  mrg 	(path::remove_filename()): Likewise.
   7149  1.1  mrg 	(path::lexically_normal()): Use _List::_Impl iterators instead of
   7150  1.1  mrg 	path::iterator. Use pop_back to remove components from the end. Clear
   7151  1.1  mrg 	trailing filename, instead of using erase(const_iterator) to remove
   7152  1.1  mrg 	a non-final component.
   7153  1.1  mrg 	* testsuite/27_io/filesystem/path/generation/normal.cc: Test
   7154  1.1  mrg 	additional cases.
   7155  1.1  mrg 	* testsuite/27_io/filesystem/path/generation/normal2.cc: New test.
   7156  1.1  mrg 
   7157  1.1  mrg 	* src/filesystem/std-path.cc (path::operator+=(const path&)): Fix
   7158  1.1  mrg 	incorrect treatment of empty filename after trailing slash.
   7159  1.1  mrg 	* testsuite/27_io/filesystem/path/concat/path.cc: Test problem case.
   7160  1.1  mrg 
   7161  1.1  mrg 	* testsuite/21_strings/basic_string/modifiers/assign/char/
   7162  1.1  mrg 	move_assign_optim.cc: Avoid spurious failure when -fno-inline added
   7163  1.1  mrg 	to test flags.
   7164  1.1  mrg 	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
   7165  1.1  mrg 	move_assign_optim.cc: Likewise.
   7166  1.1  mrg 
   7167  1.1  mrg 2019-01-03  Jonathan Wakely  <jwakely (a] redhat.com>
   7168  1.1  mrg 	    Jakub Jelinek  <jakub (a] redhat.com>
   7169  1.1  mrg 
   7170  1.1  mrg 	PR libstdc++/88607
   7171  1.1  mrg 	* include/experimental/memory: Replace UTF-8 quote characters.
   7172  1.1  mrg 	* include/std/future: Replace UTF-8 "em dash" characters.
   7173  1.1  mrg 
   7174  1.1  mrg 2019-01-03  Jonathan Wakely  <jwakely (a] redhat.com>
   7175  1.1  mrg 
   7176  1.1  mrg 	PR libstdc++/88607
   7177  1.1  mrg 	* include/bits/forward_list.h: Replace UTF-8 "ligature fi" character.
   7178  1.1  mrg 	* include/debug/forward_list: Likewise.
   7179  1.1  mrg 	* include/experimental/bits/shared_ptr.h: Remove UTF-8 "section sign"
   7180  1.1  mrg 	character.
   7181  1.1  mrg 	* include/experimental/chrono: Likewise.
   7182  1.1  mrg 	* include/experimental/functional: Likewise.
   7183  1.1  mrg 	* include/experimental/ratio: Likewise.
   7184  1.1  mrg 	* include/experimental/system_error: Likewise.
   7185  1.1  mrg 	* include/experimental/tuple: Likewise.
   7186  1.1  mrg 	* include/experimental/type_traits: Likewise.
   7187  1.1  mrg 	* include/parallel/workstealing.h: Replace UTF-8 "en dash" character.
   7188  1.1  mrg 	* include/parallel/multiseq_selection.h: Likewise.
   7189  1.1  mrg 
   7190  1.1  mrg 	PR libstdc++/88681
   7191  1.1  mrg 	* config/abi/pre/gnu.ver: Add missing exports.
   7192  1.1  mrg 	* testsuite/22_locale/collate_byname/88681.cc: New test.
   7193  1.1  mrg 	* testsuite/22_locale/time_get/get/char/88681.cc: New test.
   7194  1.1  mrg 	* testsuite/22_locale/time_get/get/wchar_t/88681.cc: New test.
   7195  1.1  mrg 
   7196  1.1  mrg 2019-01-02  Jonathan Wakely  <jwakely (a] redhat.com>
   7197  1.1  mrg 
   7198  1.1  mrg 	* testsuite/23_containers/map/cons/deduction.cc: Test deduction from
   7199  1.1  mrg 	initializer_list<value_type> and from input iterator ranges.
   7200  1.1  mrg 	* testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
   7201  1.1  mrg 
   7202  1.1  mrg 	* testsuite/experimental/string_view/element_access/char/empty.cc:
   7203  1.1  mrg 	Fix year range in copyright header.
   7204  1.1  mrg 
   7205  1.1  mrg 2019-01-02  Joel Brobecker  <brobecker (a] adacore.com>
   7206  1.1  mrg 
   7207  1.1  mrg 	* testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
   7208  1.1  mrg 	Fix year range in copyright header.
   7209  1.1  mrg 
   7210  1.1  mrg 2019-01-01  Jakub Jelinek  <jakub (a] redhat.com>
   7211  1.1  mrg 
   7212  1.1  mrg 	Update copyright years.
   7213  1.1  mrg 
   7215  1.1  mrg Copyright (C) 2019-2020 Free Software Foundation, Inc.
   7216  1.1  mrg 
   7217  1.1  mrg Copying and distribution of this file, with or without modification,
   7218  1.1  mrg are permitted in any medium without royalty provided the copyright
   7219           notice and this notice are preserved.
   7220