Home | History | Annotate | Line # | Download | only in libstdc++-v3
ChangeLog revision 1.1.1.19
      1 2020-03-12  Release Manager
      2 
      3 	* GCC 9.3.0 released.
      4 
      5 2020-03-06  Jonathan Wakely  <jwakely (a] redhat.com>
      6 
      7 	Backport from mainline
      8 	2020-03-06  Jonathan Wakely  <jwakely (a] redhat.com>
      9 
     10 	PR libstdc++/94069
     11 	* include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
     12 	(__shared_mutex_pthread::__shared_mutex_pthread()): Remove incorrect
     13 	second argument to __glibcxx_rwlock_init.
     14 	* testsuite/30_threads/shared_timed_mutex/94069.cc: New test.
     15 
     16 2020-03-05  Jonathan Wakely  <jwakely (a] redhat.com>
     17 
     18 	Backport from mainline
     19 	2020-03-05  Jonathan Wakely  <jwakely (a] redhat.com>
     20 
     21 	* testsuite/27_io/filesystem/operations/all.cc: Mark unused variable.
     22 	* testsuite/27_io/filesystem/operations/copy.cc: Fix typo.
     23 	* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
     24 	* testsuite/27_io/filesystem/operations/file_size.cc: Use correct type
     25 	for return value, and in comparison.
     26 	* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
     27 
     28 	Backport from mainline
     29 	2019-09-27  Jonathan Wakely  <jwakely (a] redhat.com>
     30 
     31 	PR libstdc++/91910
     32 	* src/c++11/debug.cc (_Safe_iterator_base::_M_detach()): Load pointer
     33 	atomically and lock the mutex before accessing the sequence.
     34 	(_Safe_local_iterator_base::_M_detach()): Likewise.
     35 	(_Safe_iterator_base::_M_reset()): Clear _M_sequence atomically.
     36 
     37 	Backport from mainline
     38 	2019-06-17  Jonathan Wakely  <jwakely (a] redhat.com>
     39 
     40 	* include/c_global/cmath (__lerp, lerp): Add noexcept (LWG 3201).
     41 
     42 	Backport from mainline
     43 	2019-11-07  Jonathan Wakely  <jwakely (a] redhat.com>
     44 
     45 	* include/bits/stl_algo.h (for_each_n): Handle negative count.
     46 	* testsuite/25_algorithms/for_each/for_each_n_debug.cc: New test.
     47 
     48 	Backport from mainline
     49 	2020-01-28  Jonathan Wakely  <jwakely (a] redhat.com>
     50 
     51 	PR libstdc++/93470
     52 	* include/bits/refwrap.h (reference_wrapper::operator()): Restrict
     53 	static assertion to object types.
     54 
     55 2020-01-28  Jonathan Wakely  <jwakely (a] redhat.com>
     56 
     57 	PR libstdc++/93325
     58 	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Use AC_SEARCH_LIBS for
     59 	clock_gettime instead of explicit glibc version check.
     60 	* configure: Regenerate.
     61 
     62 2020-03-01  H.J. Lu  <hongjiu.lu (a] intel.com>
     63 
     64 	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
     65 
     66 2020-02-29  John David Anglin  <danglin (a] gcc.gnu.org>
     67 
     68 	* testsuite/17_intro/headers/c++1998/charset.cc: Skip on *-*-hpux*.
     69 	* testsuite/17_intro/headers/c++2011/charset.cc: Likewise.
     70 	* testsuite/17_intro/headers/c++2014/charset.cc: Likewise.
     71 	* testsuite/17_intro/headers/c++2017/charset.cc: Likewise.
     72 	* testsuite/17_intro/headers/c++2020/charset.cc: Likewise.
     73 
     74 2020-02-26  Jonathan Wakely  <jwakely (a] redhat.com>
     75 
     76 	Backport from mainline
     77 	2020-01-09  Jonathan Wakely  <jwakely (a] redhat.com>
     78 
     79 	PR libstdc++/93205
     80 	* include/bits/random.h (operator>>): Check stream operation succeeds.
     81 	* include/bits/random.tcc (operator>>): Likewise.
     82 	(__extract_params): New function to fill a vector from a stream.
     83 	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
     84 
     85 	Backport from mainline
     86 	2019-12-10  Jonathan Wakely  <jwakely (a] redhat.com>
     87 
     88 	PR libstdc++/92886
     89 	* include/bits/ios_base.h (std::ios_base::trunc): Fix comment.
     90 
     91 	Backport from mainline
     92 	2020-01-28  Jonathan Wakely  <jwakely (a] redhat.com>
     93 
     94 	PR libstdc++/93325
     95 	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Use AC_SEARCH_LIBS for
     96 	clock_gettime instead of explicit glibc version check.
     97 	* configure: Regenerate.
     98 
     99 	Backport from mainline
    100 	2020-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
    101 
    102 	PR libstdc++/93562
    103 	* include/bits/unique_ptr.h (__uniq_ptr_impl::swap): Define.
    104 	(unique_ptr::swap, unique_ptr<T[], D>::swap): Call it.
    105 	* testsuite/20_util/unique_ptr/modifiers/93562.cc: New test.
    106 
    107 	Backport from mainline
    108 	2020-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
    109 
    110 	PR libstdc++/92376
    111 	* include/bits/c++config: Only do PSTL config when the header is
    112 	present, to fix freestanding.
    113 	* libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation
    114 	functions if they were detected by configure.
    115 
    116 	Backport from mainline
    117 	2019-10-09  Jonathan Wakely  <jwakely (a] redhat.com>
    118 
    119 	PR libstdc++/78552
    120 	* src/c++98/locale_init.cc (locale::classic()): Do not construct a new
    121 	locale object for every call.
    122 	(locale::_S_initialize_once()): Construct C locale here.
    123 
    124 2020-01-24  Jonathan Wakely  <jwakely (a] redhat.com>
    125 
    126 	Backport from mainline
    127 	2020-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
    128 
    129 	PR libstdc++/91947
    130 	* include/Makefile.am (${host_builddir}/largefile-config.h): Simplify
    131 	rule.
    132 	* include/Makefile.in: Regenerate.
    133 
    134 	Backport from mainline
    135 	2020-01-20  Jonathan Wakely  <jwakely (a] redhat.com>
    136 
    137 	* doc/xml/faq.xml: Fix grammar.
    138 	* doc/xml/manual/appendix_contributing.xml: Improve instructions.
    139 	* doc/xml/manual/spine.xml: Update copyright years.
    140 	* doc/html/*: Regenerate.
    141 
    142 2020-01-19  Eric S. Raymond <esr (a] thyrsus.com>
    143 	    Sandra Loosemore  <sandra (a] codesourcery.com>
    144 
    145 	Partial backport from mainline:
    146 
    147 	2020-01-19  Eric S. Raymond <esr (a] thyrsus.com>
    148 	* doc/xml/faq.xml: Update for SVN -> Git transition.
    149 	* doc/xml/manual/appendix_contributing.xml: Likewise.
    150 
    151 2020-01-13  Jonathan Wakely  <jwakely (a] redhat.com>
    152 
    153 	Backport from mainlne
    154 	2019-10-04  Jonathan Wakely  <jwakely (a] redhat.com>
    155 
    156 	PR libstdc++/81091
    157 	PR libstdc++/91947
    158 	* configure.ac: Use AC_SYS_LARGEFILE to enable 64-bit file APIs.
    159 	* config.h.in: Regenerate:
    160 	* configure: Regenerate:
    161 	* include/Makefile.am (${host_builddir}/largefile-config.h): New
    162 	target to generate config header for filesystem library.
    163 	(${host_builddir}/c++config.h): Rename macros for large file support.
    164 	* include/Makefile.in: Regenerate.
    165 	* src/c++17/fs_dir.cc: Include new config header.
    166 	* src/c++17/fs_ops.cc: Likewise.
    167 	(filesystem::file_size): Use uintmax_t for size.
    168 	* src/filesystem/dir.cc: Include new config header.
    169 	* src/filesystem/ops.cc: Likewise.
    170 	(experimental::filesystem::file_size): Use uintmax_t for size.
    171 
    172 	* doc/xml/manual/status_cxx1998.xml: Replace incorrect statement
    173 	about documenting mainline.
    174 	* doc/xml/manual/status_cxx2011.xml: Likewise.
    175 	* doc/xml/manual/status_cxx2014.xml: Likewise.
    176 	* doc/xml/manual/status_cxx2017.xml: Likewise.
    177 	* doc/xml/manual/status_cxx2020.xml: Likewise.
    178 	* doc/xml/manual/status_cxxtr1.xml: Likewise.
    179 	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
    180 	* doc/html/*: Regenerate.
    181 
    182 2020-01-09  Jonathan Wakely  <jwakely (a] redhat.com>
    183 
    184 	PR libstdc++/93208
    185 	* config/abi/pre/gnu.ver: Add new exports.
    186 	* include/std/memory_resource (memory_resource::~memory_resource()):
    187 	Do not define inline.
    188 	(monotonic_buffer_resource::~monotonic_buffer_resource()): Likewise.
    189 	* src/c++17/memory_resource.cc (memory_resource::~memory_resource()):
    190 	Define.
    191 	(monotonic_buffer_resource::~monotonic_buffer_resource()): Define.
    192 	* testsuite/20_util/monotonic_buffer_resource/93208.cc: New test.
    193 
    194 2020-01-08  Jonathan Wakely  <jwakely (a] redhat.com>
    195 
    196 	PR libstdc++/93201
    197 	* src/c++17/fs_ops.cc (remove_all(const path&, error_code&)): Check
    198 	result of recursive call before incrementing iterator.
    199 	* src/filesystem/ops.cc (remove_all(const path&, error_code&)):
    200 	Likewise.
    201 	* testsuite/27_io/filesystem/operations/remove_all.cc: Check errors
    202 	are reported correctly.
    203 	* testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
    204 
    205 2019-12-11  Jonathan Wakely  <jwakely (a] redhat.com>
    206 
    207 	Backport from mainline
    208 	2019-11-25  Jonathan Wakely  <jwakely (a] redhat.com>
    209 
    210 	PR libstdc++/91786
    211 	* include/bits/fs_path.h (filesystem_error): Move definition before
    212 	the use in u8path.
    213 
    214 2019-12-10  Thomas Rodgers  <trodgers (a] redhat.com>
    215 
    216 	Backport from mainline
    217 	2019-12-10  Thomas Rodgers  <trodgers (a] redhat.com>
    218 
    219 	* include/pstl/glue_numeric_defs.h: Restore enable_if lost during
    220 	original import of pstl.
    221 	* include/pstl/glue_numeric_impl.h: Likewise.
    222 
    223 2019-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    224 
    225 	Backport from mainline
    226 	2019-12-09  Jonathan Wakely  <jwakely (a] redhat.com>
    227 
    228 	PR libstdc++/92853
    229 	* src/c++17/fs_path.cc (filesystem::path::operator+=(const path&)):
    230 	Do not process a trailing directory separator twice.
    231 	* testsuite/27_io/filesystem/path/concat/92853.cc: New test.
    232 	* testsuite/27_io/filesystem/path/concat/path.cc: Test more cases.
    233 	* testsuite/27_io/filesystem/path/concat/strings.cc: Test more cases.
    234 
    235 2019-11-22  Jonathan Wakely  <jwakely (a] redhat.com>
    236 
    237 	Backport from mainline
    238 	2019-10-29  Jonathan Wakely  <jwakely (a] redhat.com>
    239 
    240 	PR libstdc++/92267
    241 	* include/bits/stl_deque.h (_Deque_iterator(const _Deque_iterator&)):
    242 	Do not define as defaulted.
    243 	* testsuite/23_containers/deque/types/92267.cc: New test.
    244 
    245 2019-10-28  John David Anglin  <danglin (a] gcc.gnu.org>
    246 
    247 	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
    248 
    249 2019-10-24  Jonathan Wakely  <jwakely (a] redhat.com>
    250 
    251 	Backport from mainline
    252 	2019-05-31  Jonathan Wakely  <jwakely (a] redhat.com>
    253 
    254 	PR libstdc++/90682
    255 	* libsupc++/eh_term_handler.cc: Include eh_term_handler.h to get
    256 	definition of _GLIBCXX_DEFAULT_TERM_HANDLER.
    257 	* libsupc++/eh_term_handler.h: New header defining
    258 	_GLIBCXX_DEFAULT_TERM_HANDLER.
    259 	* libsupc++/eh_terminate.cc: Include eh_term_handler.h.
    260 	(set_terminate): Restore default handler when argument is null.
    261 	(set_unexpected): Likewise.
    262 	* testsuite/18_support/set_terminate.cc: New test.
    263 	* testsuite/18_support/set_unexpected.cc: New test.
    264 
    265 	Backport from mainline
    266 	2019-05-01  Jonathan Wakely  <jwakely (a] redhat.com>
    267 
    268 	PR libstdc++/61761
    269 	* include/std/complex (__complex_proj): Return parameter unchanged.
    270 	[_GLIBCXX_USE_C99_COMPLEX] (__complex_proj): Change overloads for
    271 	floating-point types to take std::complex arguments.
    272 	[_GLIBCXX_USE_C99_MATH_TR1] (__complex_proj): Add overloads for
    273 	floating-point types.
    274 	* testsuite/26_numerics/complex/proj.cc: New test.
    275 
    276 	Backport from mainline
    277 	2019-06-06  Jonathan Wakely  <jwakely (a] redhat.com>
    278 
    279 	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Add
    280 	dg-prune-output for different C++98 diagnostic.
    281 	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
    282 	Likewise.
    283 	* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
    284 	Likewise.
    285 	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
    286 	Likewise.
    287 	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
    288 	Likewise.
    289 	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
    290 	Likewise.
    291 	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
    292 	Likewise.
    293 	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
    294 	Likewise.
    295 	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
    296 	Likewise.
    297 	* testsuite/23_containers/vector/requirements/dr438/
    298 	constructor_1_neg.cc: Likewise.
    299 	* testsuite/23_containers/vector/requirements/dr438/
    300 	constructor_2_neg.cc: Likewise.
    301 	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
    302 	Likewise.
    303 	* testsuite/libstdc++-prettyprinters/compat.cc: Do not run for C++98.
    304 
    305 	Backport from mainline
    306 	2019-06-06  Jonathan Wakely  <jwakely (a] redhat.com>
    307 
    308 	* testsuite/20_util/is_nothrow_invocable/value.cc: Test converting to
    309 	void.
    310 	* testsuite/experimental/names.cc: Do not run for C++98 mode. Do not
    311 	include Library Fundamentals or Networking headers in C++11 mode.
    312 	* testsuite/ext/char8_t/atomic-1.cc: Do not run for C++98 mode.
    313 
    314 	Backport from mainline
    315 	2019-05-14  Jonathan Wakely  <jwakely (a] redhat.com>
    316 
    317 	* testsuite/util/testsuite_allocator.h (memory_resource)
    318 	(default_resource_mgr): Fix indentation.
    319 
    320 	Backport from mainline
    321 	2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
    322 
    323 	PR libstdc++/89164
    324 	* include/bits/stl_algobase.h (__copy_move): Give descriptive names
    325 	to template parameters.
    326 	* include/bits/stl_uninitialized.h (uninitialized_copy)
    327 	(uninitialized_fill, uninitialized_fill_n): Add static assertions to
    328 	diagnose invalid uses.
    329 	* testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc:
    330 	Adjust expected error.
    331 	* testsuite/20_util/specialized_algorithms/uninitialized_copy/89164.cc:
    332 	New test.
    333 	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
    334 	89164.cc: New test.
    335 	* testsuite/20_util/specialized_algorithms/uninitialized_fill/89164.cc:
    336 	New test.
    337 	* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
    338 	89164.cc: New test.
    339 	* testsuite/23_containers/vector/cons/89164.cc: New test.
    340 	* testsuite/23_containers/vector/cons/89164_c++17.cc: New test.
    341 
    342 	Backport from mainline
    343 	2019-10-22  Jonathan Wakely  <jwakely (a] redhat.com>
    344 
    345 	* include/bits/memoryfwd.h (uses_allocator): Do not declare for C++98.
    346 	* testsuite/17_intro/names.cc: Check uses_allocator in C++98.
    347 
    348 	Backport from mainline
    349 	2019-10-18  Jonathan Wakely  <jwakely (a] redhat.com>
    350 
    351 	PR libstdc++/92143
    352 	* libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment
    353 	to at least sizeof(void*).
    354 
    355 	Backport from mainline
    356 	2019-06-06  Jonathan Wakely  <jwakely (a] redhat.com>
    357 
    358 	* testsuite/23_containers/unordered_map/requirements/debug_container.cc:
    359 	Do not test allocator rebinding extension for C++2a.
    360 	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Change
    361 	dg-do directive for C++17 and C++2a.
    362 
    363 	Backport from mainline
    364 	2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
    365 
    366 	* testsuite/20_util/function_objects/invoke/1.cc: Add more tests.
    367 	Move C++17-specific tests to ...
    368 	* testsuite/20_util/function_objects/invoke/3.cc: New test.
    369 	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Change
    370 	"compile" test to "run".
    371 
    372 	Backport from mainline
    373 	2019-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
    374 
    375 	* doc/Makefile.am (doc-html-docbook-regenerate): New target.
    376 	(${docbook_outdir}/html): Do not create unused 'html/ext' directory.
    377 	* doc/Makefile.in: Regenerate.
    378 	* doc/xml/manual/documentation_hacking.xml: Document new target.
    379 	* doc/html/*: Regenerate.
    380 
    381 	* doc/xml/manual/allocator.xml: Use archived copy of CUJ article.
    382 
    383 	Backport from mainline
    384 	2019-05-31  Gerald Pfeifer  <gerald (a] pfeifer.com>
    385 
    386 	* doc/xml/manual/allocator.xml: Move hoard.org back to http.
    387 
    388 	Backport from mainline
    389 	2019-08-15  Jonathan Wakely  <jwakely (a] redhat.com>
    390 
    391 	PR libstdc++/91456
    392 	* include/bits/std_function.h (__check_func_return_type): Remove.
    393 	(function::_Callable): Use std::__is_invocable_impl instead of
    394 	__check_func_return_type.
    395 	* include/std/type_traits (__is_invocable_impl): Add another defaulted
    396 	template parameter. Define a separate partial specialization for
    397 	INVOKE and INVOKE<void>. For INVOKE<R> replace is_convertible check
    398 	with a check that models delayed temporary materialization.
    399 	* testsuite/20_util/function/91456.cc: New test.
    400 	* testsuite/20_util/is_invocable/91456.cc: New test.
    401 
    402 	Backport from mainline
    403 	2019-09-30  Andreas Tobler  <andreast (a] gcc.gnu.org>
    404 
    405 	* include/experimental/internet: Include netinet/in.h if we have
    406 	_GLIBCXX_HAVE_NETINET_IN_H defined.
    407 
    408 	Backport from mainline
    409 	2019-09-26  Jonathan Wakely  <jwakely (a] redhat.com>
    410 
    411 	* include/experimental/internet (operator==, operator<): Fix loop
    412 	condition to avoid reading past the end of the array.
    413 
    414 	Backport from mainline
    415 	2019-08-06  Jonathan Wakely  <jwakely (a] redhat.com>
    416 
    417 	P1651R0 bind_front should not unwrap reference_wrapper
    418 	* include/std/functional (bind_front): Don't unwrap reference_wrapper.
    419 	* include/std/version (__cpp_lib_bind_front): Update value.
    420 	* testsuite/20_util/function_objects/bind_front/1.cc: Fix test for
    421 	feature test macro.
    422 	* testsuite/20_util/function_objects/bind_front/2.cc: New test.
    423 
    424 	Backport from mainline
    425 	2019-10-11  Jonathan Wakely  <jwakely (a] redhat.com>
    426 
    427 	PR libstdc++/92059
    428 	* include/tr2/dynamic_bitset (__dynamic_bitset_base): Define all
    429 	special member functions as defaulted. Add noexcept to most members.
    430 	(__dynamic_bitset_base(size_t, unsigned long long, const _Alloc&)):
    431 	Mask off unwanted bits in the __val parameter. Avoid undefined left
    432 	shifts.
    433 	(__dynamic_bitset_base::_M_assign): Remove.
    434 	(__dynamic_bitset_base::_M_do_reset): Use std::fill.
    435 	(__dynamic_bitset_base::_M_are_all_aux): Avoid integer promotion when
    436 	block_type has lower rank than int.
    437 	(dynamic_bitset): Add noexcept to most members. Use injected-class-name
    438 	in return types and parameter types.
    439 	(dynamic_bitset::_M_Nb): Add default member initializer.
    440 	(dynamic_bitset(), dynamic_bitset(const dynamic_bitset&)): Define as
    441 	defaulted.
    442 	(dynamic_bitset(dynamic_bitset&&)): Clear source object after move.
    443 	(dynamic_bitset::operator=(const dynamic_bitset&)): Define as
    444 	defaulted.
    445 	(dynamic_bitset::operator=(dynamic_bitset&&)): Add noexcept-specifier.
    446 	Define without using swap, to propagate allocator correctly.
    447 	(dynamic_bitset(const char*, const _Alloc&)): Use strlen.
    448 	(dynamic_bitset::_M_do_sanitize, dynamic_bitset::_M_do_fill): Use
    449 	casts to avoid unwanted integer promotions.
    450 	(dynamic_bitset::_M_copy_from_ptr): Rearrange template parameters and
    451 	add default template arguments and default argument to simplify usage.
    452 	(dynamic_bitset::_M_copy_from_string): Adjust call to _M_copy_from_ptr.
    453 	(operator==(const dynamic_bitset&, const dynamic_bitset&))
    454 	(operator<(const dynamic_bitset&, const dynamic_bitset&)): Use _M_Nb.
    455 	* include/tr2/dynamic_bitset.tcc (dynamic_bitset::_M_copy_from_ptr):
    456 	Adjust template parameters to match declaration.
    457 	* testsuite/tr2/dynamic_bitset/cmp.cc: New test.
    458 	* testsuite/tr2/dynamic_bitset/cons.cc: New test.
    459 	* testsuite/tr2/dynamic_bitset/copy.cc: New test.
    460 	* testsuite/tr2/dynamic_bitset/move.cc: New test.
    461 	* testsuite/tr2/dynamic_bitset/pr92059.cc: New test.
    462 
    463 2019-09-12  Jonathan Wakely  <jwakely (a] redhat.com>
    464 
    465 	PR libstdc++/91748
    466 	* include/bits/stl_algo.h (for_each_n): Fix random access iterator
    467 	case.
    468 	* testsuite/25_algorithms/for_each/for_each_n.cc: Test with random
    469 	access iterators.
    470 
    471 2019-09-11  Jonathan Wakely  <jwakely (a] redhat.com>
    472 
    473 	* python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker.__call__):
    474 	Fix syntax error.
    475 
    476 2019-09-09  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
    477 
    478 	Update docs for p858 - Constexpr iterator changes available since 9.1.
    479 	* doc/xml/manual/status_cxx2020.xml: Update p0858r0 status.
    480 
    481 2019-09-02  Jonathan Wakely  <jwakely (a] redhat.com>
    482 
    483 	* doc/xml/manual/abi.xml: Document 9.x library versions.
    484 	* doc/html/*: Regenerate.
    485 
    486 2019-09-02  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
    487 
    488 	* config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate.
    489 	* config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise.
    490 	* config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise.
    491 	* config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise.
    492 	* config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise.
    493 	* config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
    494 	Likewise.
    495 	* config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise.
    496 	* config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
    497 	Likewise.
    498 
    499 2019-08-29  Jonathan Wakely  <jwakely (a] redhat.com>
    500 
    501 	PR libstdc++/91067
    502 	* acinclude.m4 (libtool_VERSION): Bump to 6:28:0.
    503 	* configure: Regenerate.
    504 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.28): Add new version. Export
    505 	missing symbols.
    506 	* testsuite/27_io/filesystem/iterators/91067.cc: Test move
    507 	constructors.
    508 	* testsuite/util/testsuite_abi.cc: Add new symbol version.
    509 
    510 2019-08-29  Jakub Jelinek  <jakub (a] redhat.com
    511 
    512 	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
    513 	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
    514 
    515 2019-08-28  Jonathan Wakely  <jwakely (a] redhat.com>
    516 
    517 	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
    518 	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
    519 	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
    520 	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
    521 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
    522 	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
    523 	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
    524 
    525 2019-08-23  Joseph Myers  <joseph (a] codesourcery.com>
    526 
    527 	* src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
    528 	(std::filesystem::__gnu_posix::lstat): Add return type.
    529 
    530 2019-08-20  Jonathan Wakely  <jwakely (a] redhat.com>
    531 
    532 	* include/std/numeric (reduce): Fix Doxygen markup.
    533 
    534 	Backport from mainline
    535 	2019-06-19  Jonathan Wakely  <jwakely (a] redhat.com>
    536 
    537 	* include/std/numeric (reduce(Iter, Iter, T, BinOp)): Fix value
    538 	category used in invocable check.
    539 	(reduce(Iter, Iter, T)): Pass initial value as rvalue.
    540 	* testsuite/26_numerics/reduce/2.cc: New test.
    541 
    542 	Backport from mainline
    543 	2019-06-18  Jonathan Wakely  <jwakely (a] redhat.com>
    544 
    545 	* include/bits/algorithmfwd.h: Change title of doc group.
    546 	* include/bits/stl_algo.h (for_each_n): Add new C++17 algorithm from
    547 	P0024R2.
    548 	* include/bits/stl_numeric.h: Define doc group and add algos to it.
    549 	* include/std/numeric (__is_random_access_iter): New internal trait.
    550 	(reduce, transform_reduce, exclusive_scan, inclusive_scan)
    551 	(transform_exclusive_scan, transform_inclusive_scan): Likewise.
    552 	* testsuite/25_algorithms/for_each/for_each_n.cc: New test.
    553 	* testsuite/26_numerics/exclusive_scan/1.cc: New test.
    554 	* testsuite/26_numerics/inclusive_scan/1.cc: New test.
    555 	* testsuite/26_numerics/reduce/1.cc: New test.
    556 	* testsuite/26_numerics/transform_exclusive_scan/1.cc: New test.
    557 	* testsuite/26_numerics/transform_inclusive_scan/1.cc: New test.
    558 	* testsuite/26_numerics/transform_reduce/1.cc: New test.
    559 	* testsuite/util/testsuite_iterators.h (test_container::size()): New
    560 	member function.
    561 
    562 2019-08-20  Uros Bizjak  <ubizjak (a] gmail.com>
    563 
    564 	* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
    565 
    566 2019-08-13  Jonathan Wakely  <jwakely (a] redhat.com>
    567 
    568 	Backport from mainline
    569 	2019-08-12  Jonathan Wakely  <jwakely (a] redhat.com>
    570 
    571 	PR libstdc++/90361
    572 	* src/c++17/string-inst.cc: Use _GLIBCXX_USE_CXX11_ABI=1 by default.
    573 
    574 2019-08-12  Release Manager
    575 
    576 	* GCC 9.2.0 released.
    577 
    578 2019-07-31  Jonathan Wakely  <jwakely (a] redhat.com>
    579 
    580 	* testsuite/26_numerics/midpoint/floating.cc: Use standard macros
    581 	instead of GCC-specific ones.
    582 
    583 	Backport from mainline
    584 	2019-06-24  Jonathan Wakely  <jwakely (a] redhat.com>
    585 
    586 	* testsuite/18_support/headers/cfloat/values_c++17.cc: New test.
    587 
    588 2019-07-31  Jonathan Wakely  <jwakely (a] redhat.com>
    589 
    590 	Backport from mainline
    591 	2019-07-31  Jonathan Wakely  <jwakely (a] redhat.com>
    592 
    593 	* include/std/memory (make_obj_using_allocator): Qualify call to
    594 	uses_allocator_construction_args.
    595 
    596 2019-07-31  Jonathan Wakely  <jwakely (a] redhat.com>
    597 
    598 	Backport from mainline
    599 	2019-07-31  Jonathan Wakely  <jwakely (a] redhat.com>
    600 
    601 	PR libstdc++/91308
    602 	* include/bits/unique_ptr.h (unique_ptr::__safe_conversion_up): Remove
    603 	constraints on deleter that should only apply to the constructor.
    604 	(unique_ptr<T[], D>::__safe_conversion_up): Likewise.
    605 	(unique_ptr<T[], D>::unique_ptr(unique_ptr<U, D>&&)): Restore
    606 	constraints on deleter here.
    607 	* testsuite/20_util/unique_ptr/assign/91308.cc: New test.
    608 
    609 2019-07-31  Jonathan Wakely  <jwakely (a] redhat.com>
    610 
    611 	Backport from mainline
    612 	2019-07-29  Jonathan Wakely  <jwakely (a] redhat.com>
    613 
    614 	PR libstdc++/51333
    615 	* libsupc++/cxxabi.h (__gnu_cxx::recursive_init_error): Do not define
    616 	constructor inline.
    617 	* libsupc++/guard_error.cc (__gnu_cxx::recursive_init_error): Define
    618 	constructor.
    619 	* testsuite/18_support/51333.cc: New test.
    620 
    621 2019-07-26  Jonathan Wakely  <jwakely (a] redhat.com>
    622 
    623 	Backport from mainline
    624 	2019-07-26  Jonathan Wakely  <jwakely (a] redhat.com>
    625 
    626 	* include/std/bit (__cpp_lib_endian): Define.
    627 	* include/std/version (__cpp_lib_endian): Define.
    628 	* testsuite/26_numerics/endian/2.cc: New.
    629 	* testsuite/26_numerics/endian/3.cc: New.
    630 	* testsuite/26_numerics/endian/4.cc: New.
    631 
    632 2019-07-26  Jonathan Wakely  <jwakely (a] redhat.com>
    633 
    634 	Backport from mainline
    635 	2019-07-25  Jonathan Wakely  <jwakely (a] redhat.com>
    636 
    637 	* include/std/bit (endian): Move definition here as per P1612R1.
    638 	* include/std/type_traits (endian): Remove definition from here.
    639 	* testsuite/20_util/endian/1.cc: Rename to ...
    640 	* testsuite/26_numerics/endian/1.cc: ... here. Adjust header.
    641 
    642 2019-07-26  Jonathan Wakely  <jwakely (a] redhat.com>
    643 
    644 	Backport from mainline
    645 	2019-07-22  Jonathan Wakely  <jwakely (a] redhat.com>
    646 
    647 	* include/std/bit (__rotl, __rotr): Change second parameter from
    648 	unsigned int to int and handle negative values.
    649 	(rotl, rotr): Remove check for __STRICT_ANSI__. Change second
    650 	parameter from unsigned int to int. Add nodiscard attribute.
    651 	* testsuite/26_numerics/bit/bitops.rot/rotl.cc: Rename to ...
    652 	* testsuite/26_numerics/bit/bit.rotate/rotl.cc: Here. Test negative
    653 	shifts.
    654 	* testsuite/26_numerics/bit/bitops.rot/rotr.cc: Rename to ...
    655 	* testsuite/26_numerics/bit/bit.rotate/rotr.cc: Here. Test negative
    656 	shifts.
    657 
    658 2019-07-26  Jonathan Wakely  <jwakely (a] redhat.com>
    659 
    660 	Backport from mainline
    661 	2019-07-22  Jonathan Wakely  <jwakely (a] redhat.com>
    662 
    663 	* include/std/bit (__ceil2): Make unrepresentable results undefined,
    664 	as per P1355R2. Add debug assertion. Perform one left shift, not two,
    665 	so that out of range values cause undefined behaviour. Ensure that
    666 	shift will still be undefined if left operand is promoted.
    667 	* testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Replace checks for
    668 	unrepresentable values with checks that they are not core constant
    669 	expressions.
    670 	* testsuite/26_numerics/bit/bit.pow.two/ceil2_neg.cc: New test.
    671 
    672 2019-07-26  Jonathan Wakely  <jwakely (a] redhat.com>
    673 
    674 	Backport from mainline (partial)
    675 	2019-06-26  Jonathan Wakely  <jwakely (a] redhat.com>
    676 
    677 	* include/std/bit (rotl(byte, unsigned), rotr(byte, unsigned))
    678 	(countl_zero(byte), countl_one(byte), countr_zero(byte))
    679 	(countr_one(byte), popcount(byte), ispow2(byte), ceil2(byte))
    680 	(floor2(byte), log2p1(byte)): Remove.
    681 	* testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Remove test for
    682 	std::byte overload.
    683 	* testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Likewise.
    684 	* testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Likewise.
    685 	* testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Likewise.
    686 	* testsuite/26_numerics/bit/bitops.count/countl_one.cc: Likewise.
    687 	* testsuite/26_numerics/bit/bitops.count/countl_zero.cc: Likewise.
    688 	* testsuite/26_numerics/bit/bitops.count/countr_one.cc: Likewise.
    689 	* testsuite/26_numerics/bit/bitops.count/countr_zero.cc: Likewise.
    690 	* testsuite/26_numerics/bit/bitops.count/popcount.cc: Likewise.
    691 	* testsuite/26_numerics/bit/bitops.rot/rotl.cc: Likewise.
    692 	* testsuite/26_numerics/bit/bitops.rot/rotr.cc: Likewise.
    693 	
    694 2019-07-26  Jonathan Wakely  <jwakely (a] redhat.com>
    695 
    696 	Backport from mainline
    697 	2019-07-16  Jason Merrill  <jason (a] redhat.com>
    698 
    699 	* include/std/memory (uses_allocator_construction_args): Add parens
    700 	around constraint.
    701 
    702 2019-07-26  Jonathan Wakely  <jwakely (a] redhat.com>
    703 
    704 	Backport from mainline
    705 	2019-07-02  Jonathan Wakely  <jwakely (a] redhat.com>
    706 
    707 	* include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_LAUNDER)
    708 	(_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED): Use __has_builtin
    709 	instead of __is_identifier to detect Clang support.
    710 
    711 2019-07-26  Jonathan Wakely  <jwakely (a] redhat.com>
    712 
    713 	Backport from mainline
    714 	2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
    715 
    716 	* doc/xml/manual/status_cxx2017.xml: Add feature test macro for
    717 	P0040R3.
    718 	* doc/html/*: Regenerate.
    719 
    720 2019-07-26  Jonathan Wakely  <jwakely (a] redhat.com>
    721 
    722 	Backport from mainline
    723 	2019-06-20  Jonathan Wakely  <jwakely (a] redhat.com>
    724 
    725 	* doc/xml/manual/status_cxx2017.xml: Fix outdated reference to
    726 	C++17 working draft.
    727 
    728 2019-07-26  Jonathan Wakely  <jwakely (a] redhat.com>
    729 
    730 	Backport from mainline
    731 	2019-06-25  Jonathan Wakely  <jwakely (a] redhat.com>
    732 
    733 	* include/std/numeric (midpoint(T, T)): Avoid std::abs in constexpr
    734 	function.
    735 
    736 	Backport from mainline
    737 	2019-06-24  Jonathan Wakely  <jwakely (a] redhat.com>
    738 
    739 	* include/std/numeric (midpoint(T, T)): Change implementation for
    740 	floating-point types to avoid incorrect rounding of denormals.
    741 	* testsuite/26_numerics/midpoint/floating.cc: Add check for correct
    742 	rounding with denormals.
    743 	* testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line numbers.
    744 	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
    745 
    746 2019-07-03  Jonathan Wakely  <jwakely (a] redhat.com>
    747 
    748 	PR libstdc++/91067
    749 	* acinclude.m4 (libtool_VERSION): Bump to 6:27:0.
    750 	* configure: Regenerate.
    751 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.27): Add new version. Export
    752 	missing symbols.
    753 	* testsuite/27_io/filesystem/iterators/91067.cc: New test.
    754 	* testsuite/util/testsuite_abi.cc: Add new symbol version.
    755 
    756 	Backport from mainline
    757 	2019-07-02  Jonathan Wakely  <jwakely (a] redhat.com>
    758 
    759 	* include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_LAUNDER)
    760 	(_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED): Use __has_builtin
    761 	instead of __is_identifier to detect Clang support.
    762 
    763 2019-06-27  Jonathan Wakely  <jwakely (a] redhat.com>
    764 
    765 	PR libstdc++/85494 use rand_s in std::random_device
    766 	* config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_CRT_RAND_S): Define.
    767 	* src/c++11/cow-string-inst.cc (random_device::_M_init_pretr1)
    768 	[_GLIBCXX_USE_CRT_RAND_S]: Do nothing if rand_s will be used.
    769 	* src/c++11/random.cc [_GLIBCXX_USE_CRT_RAND_S] (__winxp_rand_s):
    770 	Define new function.
    771 	(random_device::_M_init_pretr1) [_GLIBCXX_USE_CRT_RAND_S]: Do nothing
    772 	if rand_s will be used.
    773 	(random_device::_M_getval_pretr1) [_GLIBCXX_USE_CRT_RAND_S]: Use
    774 	__winxp_rand_s().
    775 	* testsuite/26_numerics/random/random_device/85494.cc: New test.
    776 
    777 	PR libstdc++/91012
    778 	* src/c++17/fs_path.cc (filesystem_error::_Impl): Use a string_view
    779 	for the what_arg parameters.
    780 	(filesystem_error::filesystem_error): Pass system_error::what() to
    781 	the _Impl constructor.
    782 	* testsuite/27_io/filesystem/filesystem_error/cons.cc: Ensure that
    783 	filesystem_error::what() contains system_error::what().
    784 
    785 2019-06-21  Jonathan Wakely  <jwakely (a] redhat.com>
    786 
    787 	Backport from mainline
    788 	2019-06-19  Jonathan Wakely  <jwakely (a] redhat.com>
    789 
    790 	PR libstdc++/90920 partially revert r263433
    791 	* include/bits/stl_algo.h (__rotate): Restore checks for empty ranges.
    792 	(rotate): Remove checks.
    793 	* testsuite/25_algorithms/rotate/90920.cc: New test.
    794 
    795 2019-06-17  Jonathan Wakely  <jwakely (a] redhat.com>
    796 
    797 	PR libstdc++/90281 Fix string conversions for filesystem::path
    798 	* include/bits/fs_path.h (u8path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]:
    799 	Use codecvt_utf8_utf16 instead of codecvt_utf8. Use
    800 	__str_codecvt_in_all to fail for partial conversions and throw on
    801 	error.
    802 	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS && _GLIBCXX_USE_CHAR8_T]
    803 	(path::_Cvt<char8_t>): Add explicit specialization.
    804 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_wconvert): Remove
    805 	overloads.
    806 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
    807 	if-constexpr instead of dispatching to _S_wconvert. Use codecvt
    808 	instead of codecvt_utf8. Use __str_codecvt_in_all and
    809 	__str_codecvt_out_all.
    810 	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
    811 	codecvt instead of codecvt_utf8. Use __str_codecvt_out_all.
    812 	(path::_S_str_convert) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
    813 	codecvt_utf8_utf16 instead of codecvt_utf8. Construct return values
    814 	with allocator. Use __str_codecvt_out_all. Fallthrough to POSIX code
    815 	after converting to UTF-8.
    816 	(path::_S_str_convert): Use codecvt instead of codecvt_utf8. Use
    817 	__str_codecvt_in_all.
    818 	(path::string): Fix initialization of string types with different
    819 	allocators.
    820 	(path::u8string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
    821 	codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_out_all.
    822 	* include/bits/locale_conv.h (__do_str_codecvt): Reorder static and
    823 	runtime conditions.
    824 	(__str_codecvt_out_all, __str_codecvt_in_all): New functions that
    825 	return false for partial conversions.
    826 	* include/experimental/bits/fs_path.h (u8path):
    827 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Implement correctly for mingw.
    828 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_wconvert): Add
    829 	missing handling for char8_t. Use codecvt and codecvt_utf8_utf16
    830 	instead of codecvt_utf8. Use __str_codecvt_in_all and
    831 	__str_codecvt_out_all.
    832 	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
    833 	codecvt instead of codecvt_utf8. Use __str_codecvt_out_all.
    834 	(path::string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
    835 	codecvt_utf8_utf16 instead of codecvt_utf8. Construct return values
    836 	with allocator. Use __str_codecvt_out_all and __str_codecvt_in_all.
    837 	(path::string) [!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
    838 	__str_codecvt_in_all.
    839 	(path::u8string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
    840 	codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_out_all.
    841 	* src/c++17/fs_path.cc (path::_S_convert_loc): Use
    842 	__str_codecvt_in_all.
    843 	* src/filesystem/path.cc (path::_S_convert_loc): Likewise.
    844 	* testsuite/27_io/filesystem/path/construct/90281.cc: New test.
    845 	* testsuite/27_io/filesystem/path/factory/u8path.cc: New test.
    846 	* testsuite/27_io/filesystem/path/native/string.cc: Test with empty
    847 	strings and with Unicode characters outside the basic multilingual
    848 	plane.
    849 	* testsuite/27_io/filesystem/path/native/alloc.cc: New test.
    850 	* testsuite/experimental/filesystem/path/construct/90281.cc: New test.
    851 	* testsuite/experimental/filesystem/path/factory/u8path.cc: New test.
    852 	* testsuite/experimental/filesystem/path/native/alloc.cc: New test.
    853 	* testsuite/experimental/filesystem/path/native/string.cc: Test with
    854 	empty strings and with Unicode characters outside the basic
    855 	multilingual plane.
    856 
    857 2019-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
    858 
    859 	Backport from mainline
    860 	2019-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
    861 
    862 	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace wildcard that matches
    863 	wstring::_M_replace_dispatch with more specific patterns.
    864 	* include/bits/fs_path.h (path::_S_convert_loc<_InputIterator>):
    865 	Create const std::string to avoid redundant call to _S_convert_loc
    866 	with non-const pointers.
    867 	* include/bits/locale_conv.h (__do_str_codecvt): Use if-constexpr to
    868 	avoid unnecessary basic_string::assign instantiations.
    869 
    870 2019-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
    871 
    872 	Backport from mainline
    873 	2019-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
    874 
    875 	* include/experimental/bits/fs_path.h
    876 	(path::_S_convert_loc<_InputIterator>): Create const std::string to
    877 	avoid redundant call to _S_convert_loc with non-const pointers.
    878 
    879 2019-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
    880 
    881 	Backport from mainline
    882 	2019-05-29  Jonathan Wakely  <jwakely (a] redhat.com>
    883 
    884 	PR libstdc++/88881
    885 	* src/c++17/fs_ops.cc [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
    886 	(status(const path&, error_code&)): Use parent_path() to remove
    887 	trailing slash.
    888 	(symlink_status(const path&, error_code&)): Duplicate workaround for
    889 	bug in _wstat for paths with trailing slash.
    890 	* testsuite/27_io/filesystem/operations/remove_all.cc: Check path
    891 	with trailing slash.
    892 	* testsuite/27_io/filesystem/operations/status.cc: Likewise.
    893 	* testsuite/27_io/filesystem/operations/symlink_status.cc: Likewise.
    894 
    895 2019-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
    896 
    897 	Backport from mainline
    898 	2019-05-29  Jonathan Wakely  <jwakely (a] redhat.com>
    899 
    900 	* src/c++17/fs_path.cc (path::parent_path()): Create whole path at
    901 	once instead of building it iteratively.
    902 
    903 2019-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
    904 
    905 	Backport from mainline
    906 	2019-05-07  Jonathan Wakely  <jwakely (a] redhat.com>
    907 
    908 	* doc/xml/manual/intro.xml: Fix DR 2537 and DR 2566 confusion.
    909 
    910 2019-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
    911 
    912 	Backport from mainline
    913 	2019-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
    914 
    915 	* include/std/version (__cpp_lib_bind_front): Add missing macro.
    916 
    917 2019-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
    918 
    919 	Backport from mainline
    920 	2019-06-12  Jonathan Wakely  <jwakely (a] redhat.com>
    921 
    922 	* include/std/algorithm (__cpp_lib_parallel_algorithm): Fix value.
    923 	* include/std/memory (__cpp_lib_parallel_algorithm): Likewise.
    924 	* include/std/numeric (__cpp_lib_parallel_algorithm): Likewise.
    925 	* testsuite/25_algorithms/pstl/feature_test.cc: New test.
    926 
    927 2019-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
    928 
    929 	Backport from mainline
    930 	2019-06-07  Jonathan Wakely  <jwakely (a] redhat.com>
    931 
    932 	PR libstdc++/90770
    933 	* src/Makefile.am (stamp-debug): Also test for missing makefile.
    934 	* src/Makefile.in: Regenerate.
    935 
    936 2019-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
    937 
    938 	Backport from mainline
    939 	2019-05-21  Jonathan Wakely  <jwakely (a] redhat.com>
    940 
    941 	PR libstdc++/90252
    942 	* testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
    943 	Use "additional_flags" to pass -ltbb to v3_target_compile command.
    944 	Use check_v3_target_prop_cached to cache the result of the test.
    945 
    946 	Backport from mainline
    947 	2019-05-20  Thomas Rodgers  <trodgers (a] redhat.com>
    948 
    949 	PR libstdc++/90252
    950 	* testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
    951 	Changed v3_target_compile check from preprocess to executable.
    952 	Added "-ltbb" to v3_target_compile flags.
    953 
    954 	Backport from mainline
    955 	2019-05-20  Thomas Rodgers  <trodgers (a] redhat.com>
    956 
    957 	* testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
    958 	Add check for Thread Building Blocks 2018 or later.
    959 
    960 2019-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
    961 
    962 	Backport from mainline
    963 	2019-05-21  Jonathan Wakely  <jwakely (a] redhat.com>
    964 
    965 	* doc/xml/manual/shared_ptr.xml: Fix names of lock policy constants.
    966 
    967 2019-06-11  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
    968 
    969 	Fix ConstexprIterator requirements tests - No constexpr algorithms!
    970 	* testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
    971 	Replace copy with hand-rolled loop.
    972 	* testsuite/23_containers/array/requirements/constexpr_iter.cc:
    973 	Ditto.
    974 
    975 2019-06-09  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
    976 
    977 	Test for C++20 p0858 - ConstexprIterator requirements.
    978 	* testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
    979 	New test.
    980 	* testsuite/23_containers/array/requirements/constexpr_iter.cc:
    981 	New test.
    982 
    983 2019-06-05  Jakub Jelinek  <jakub (a] redhat.com>
    984 
    985 	Backported from mainline
    986 	2019-05-29  Jakub Jelinek  <jakub (a] redhat.com>
    987 
    988 	PR c++/90598
    989 	2019-05-02  Jonathan Wakely  <jwakely (a] redhat.com>
    990 
    991 	* testsuite/experimental/propagate_const/requirements2.cc: Adjust
    992 	dg-error.
    993 
    994 2019-06-03  Jonathan Wakely  <jwakely (a] redhat.com>
    995 
    996 	PR libstdc++/90700
    997 	* include/std/tuple
    998 	(tuple(allocator_arg_t, const A&, const tuple<UTypes...>&)): Fix
    999 	value category of template argument to _TC::_NonNestedTuple.
   1000 	* testsuite/20_util/tuple/cons/90700.cc: New test.
   1001 
   1002 	PR libstdc++/90686
   1003 	* doc/xml/manual/status_cxx2014.xml: Document what's missing from
   1004 	<experimental/memory_resource>.
   1005 	* doc/xml/manual/status_cxx2020.xml: Document status of P0777R1,
   1006 	P0339R6, P0340R3, P1164R1 and P1357R1.
   1007 	* doc/html/*: Regenerate.
   1008 
   1009 	* include/std/tuple (make_from_tuple): Use remove_reference_t instead
   1010 	of decay_t (P0777R1).
   1011 
   1012 2019-05-30  Jonathan Wakely  <jwakely (a] redhat.com>
   1013 
   1014 	* doc/xml/manual/status_cxx2017.xml: Fix typo in documentation of
   1015 	implementation-defined support for [fs.conform.9945].
   1016 	* doc/xml/manual/status_cxx2020.xml: Add feature-test macro for
   1017 	P0811R3. Change status of P1353R0.
   1018 	* doc/html/*: Regenerate.
   1019 
   1020 2019-05-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1021 
   1022 	Backport from mainline
   1023 	2019-05-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1024 
   1025 	PR libstdc++/90634
   1026 	* include/experimental/bits/fs_path.h (path::path(path&&)): Only call
   1027 	_M_split_cmpts() for a path with multiple components.
   1028 	(path::_S_is_dir_sep()): Add missing 'static' keyword to function.
   1029 	* src/filesystem/path.cc (path::_M_split_cmpts()): Count number of
   1030 	components and reserve space in vector. Return early when there is
   1031 	only one component.
   1032 	* testsuite/27_io/filesystem/path/construct/90634.cc: New test.
   1033 	* testsuite/experimental/filesystem/path/construct/90634.cc: New test.
   1034 
   1035 	Backport from mainline
   1036 	2019-05-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1037 
   1038 	* testsuite/util/testsuite_fs.h (compare_paths): Use three-argument
   1039 	form of std::equals for C++11 compatibility.
   1040 
   1041 2019-05-24  Jonathan Wakely  <jwakely (a] redhat.com>
   1042 
   1043 	Backport from mainline
   1044 	2019-05-24  Jonathan Wakely  <jwakely (a] redhat.com>
   1045 
   1046 	* include/std/numeric (midpoint(T*, T*)): Fix incorrect result.
   1047 	* testsuite/26_numerics/midpoint/pointer.cc: Change "compile" test
   1048 	to "run".
   1049 
   1050 	Backport from mainline
   1051 	2019-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   1052 
   1053 	* include/bits/random.h (seed_seq::param): Fix non-reserved name.
   1054 	* include/experimental/type_traits (is_detected_exact)
   1055 	(is_detected_exact_v): Likewise.
   1056 	* include/pstl/execution_defs.h (is_execution_policy)
   1057 	(is_execution_policy_v, __enable_if_execution_policy): Likewise.
   1058 	* include/pstl/execution_impl.h (__policy_traits): Likewise.
   1059 	* testsuite/17_intro/names.cc: Check for more non-reserved names.
   1060 	* testsuite/experimental/names.cc: New test.
   1061 
   1062 	Backport from mainline
   1063 	2019-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   1064 
   1065 	PR libstdc++/85965
   1066 	* include/bits/hashtable.h (_Hashtable::~_Hashtable()): Remove static
   1067 	assertions from the destructor.
   1068 	* include/bits/hashtable_policy.h (_Hash_code_base::_M_hash_code):
   1069 	Move static_assert for hash function to here.
   1070 	(_Hash_table_base::_M_equals): Move static_assert for equality
   1071 	predicate to here.
   1072 	* include/bits/stl_tree.h (_Rb_tree::_S_key(_Const_Link_type)): Move
   1073 	assertions here. Access the value directly instead of calling _S_value.
   1074 	(_Rb_tree::_S_key(_Const_Base_ptr)): Do downcast and forward to
   1075 	_S_key(_Const_Link_type).
   1076 	* testsuite/23_containers/set/85965.cc: Check construction,
   1077 	destruction, assignment and size() do not trigger the assertions.
   1078 	* testsuite/23_containers/unordered_set/85965.cc: Likewise.
   1079 	* testsuite/23_containers/map/48101_neg.cc: Call find and adjust
   1080 	expected errors.
   1081 	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
   1082 	* testsuite/23_containers/multiset/48101_neg.cc: Likewise.
   1083 	* testsuite/23_containers/set/48101_neg.cc: Likewise.
   1084 	* testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
   1085 	* testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
   1086 	* testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
   1087 	* testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
   1088 
   1089 2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1090 
   1091 	Backport from mainline
   1092 	2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1093 
   1094 	* include/experimental/any (__any_caster): Use RTTI if comparing
   1095 	addresses fails, to support non-unique addresses in shared libraries.
   1096 	* include/std/any (__any_caster): Likewise.
   1097 	* testsuite/experimental/any/misc/any_cast_neg.cc: Use 0 for dg-error
   1098 	line number.
   1099 
   1100 	Backport from mainline
   1101 	2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1102 
   1103 	PR libstdc++/90220
   1104 	* include/experimental/any (__any_caster): Constrain to only be
   1105 	callable for object types. Use remove_cv_t instead of decay_t.
   1106 	If the type decays or isn't copy constructible, compare the manager
   1107 	function to a dummy specialization.
   1108 	(__any_caster): Add overload constrained for non-object types.
   1109 	(any::_Manager_internal<_Op>): Add dummy specialization.
   1110 	* testsuite/experimental/any/misc/any_cast.cc: Test function types
   1111 	and array types.
   1112 
   1113 2019-05-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1114 
   1115 	Backport from mainline
   1116 	2019-05-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1117 
   1118 	PR libstdc++/90557
   1119 	* src/c++17/fs_path.cc (path::_List::operator=(const _List&)): Fix
   1120 	reversed arguments to uninitialized_copy_n.
   1121 	* testsuite/27_io/filesystem/path/assign/copy.cc: Check that source
   1122 	is unchanged by copy assignment.
   1123 	* testsuite/util/testsuite_fs.h (compare_paths): Use std::equal to
   1124 	compare path components.
   1125 
   1126 2019-05-20  Jonathan Wakely  <jwakely (a] redhat.com>
   1127 
   1128 	Backported from mainline
   1129 	2019-05-20  Jonathan Wakely  <jwakely (a] redhat.com>
   1130 
   1131 	PR c++/90532 Ensure __is_constructible(T[]) is false
   1132 	* include/std/type_traits (__do_is_default_constructible_impl)
   1133 	(__is_default_constructible_atom, __is_default_constructible_safe):
   1134 	Remove.
   1135 	(is_default_constructible): Use is_constructible.
   1136 	* testsuite/20_util/is_constructible/value.cc: Check int[] case.
   1137 	* testsuite/20_util/is_default_constructible/value.cc: Likewise.
   1138 	* testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
   1139 	* testsuite/20_util/is_trivially_default_constructible/value.cc:
   1140 	Likewise.
   1141 
   1142 2019-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1143 
   1144 	Backport from mainline
   1145 	2019-05-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1146 
   1147 	* src/c++17/fs_ops.cc (absolute(const path&, error_code&))
   1148 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove bogus assertion.
   1149 
   1150 	Backport from mainline
   1151 	2019-05-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1152 
   1153 	PR libstdc++/90299
   1154 	* src/c++17/fs_ops.cc (absolute(const path&)): Report an error if the
   1155 	argument is an empty path.
   1156 	(absolute(const path&, error_code&)): Use invalid_argument as error
   1157 	code instead of no_such_file_or_directory.
   1158 	* testsuite/27_io/filesystem/operations/absolute.cc: Check handling
   1159 	of non-existent paths and empty paths with both overloads of absolute.
   1160 
   1161 2019-05-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1162 
   1163 	Backport from mainline
   1164 	2019-04-30  Jonathan Wakely  <jwakely (a] redhat.com>
   1165 
   1166 	* testsuite/27_io/filesystem/path/decompose/root_path.cc: Remove
   1167 	macros accidentally left in.
   1168 	* testsuite/27_io/filesystem/path/native/string-char8_t.cc: Remove
   1169 	unnecessary -lstdc++fs option. Fix test for mingw.
   1170 	* testsuite/experimental/filesystem/path/native/string-char8_t.cc:
   1171 	Fix test for mingw.
   1172 
   1173 	Backport from mainline
   1174 	2019-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1175 
   1176 	PR libstdc++/90454.cc path construction from void*
   1177 	* include/bits/fs_path.h (path::_Path): Use remove_pointer so that
   1178 	pointers to void are rejected as well as void.
   1179 	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
   1180 	* testsuite/27_io/filesystem/path/construct/80762.cc: Also check
   1181 	pointers to void.
   1182 	* testsuite/experimental/filesystem/path/construct/80762.cc: Likewise.
   1183 
   1184 2019-05-13  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   1185 
   1186 	* doc/xml/manual/status_cxx2020.xml: Document P0811R3 status.
   1187 
   1188 2019-05-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1189 
   1190 	Backport from mainline
   1191 	2019-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1192 
   1193 	PR libstdc++/81266
   1194 	* testsuite/util/thread/all.h: Do not use remove_pointer for
   1195 	std::thread::native_handle_type.
   1196 
   1197 2019-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1198 
   1199 	PR libstdc++/90397
   1200 	* include/std/variant (variant): Add noexcept to friend declaration.
   1201 
   1202 	Backport from mainline
   1203 	2019-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1204 
   1205 	* include/std/memory (__uses_alloc_args): Add string-literal to
   1206 	static_assert, to match the one in __uses_alloc.
   1207 	[__cpp_concepts] (_Std_pair): Use C++2a syntax for concept.
   1208 	* testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: Check
   1209 	for recursive uses-allocator construction of nested pairs.
   1210 	* testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:: Add
   1211 	comment.
   1212 
   1213 	Backport from mainline
   1214 	2019-04-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1215 
   1216 	PR libstdc++/90239
   1217 	* doc/xml/manual/status_cxx2020.xml: Amend P0591R4 status.
   1218 	* include/std/scoped_allocator [__cplusplus > 201703L]
   1219 	(scoped_allocator_adaptor::construct): Define in terms of
   1220 	uses_allocator_construction_args, as per P0591R4.
   1221 	* testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc: New test.
   1222 	* testsuite/util/testsuite_allocator.h: Remove name of unused
   1223 	parameter.
   1224 	* doc/html/*: Regenerate.
   1225 
   1226 2019-05-03  Release Manager
   1227 
   1228 	* GCC 9.1.0 released.
   1229 
   1230 2019-05-01  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1231 
   1232 	* config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate.
   1233 	* config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise.
   1234 	* config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise.
   1235 	* config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise.
   1236 	* config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise.
   1237 	* config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
   1238 	Likewise.
   1239 	* config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise.
   1240 	* config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
   1241 	Likewise.
   1242 
   1243 2019-04-30  Jakub Jelinek  <jakub (a] redhat.com>
   1244 
   1245 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Change _Lock_policyE2 exports
   1246 	to _Lock_policyE[012].
   1247 	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
   1248 
   1249 	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
   1250 
   1251 2019-04-26  H.J. Lu  <hongjiu.lu (a] intel.com>
   1252 
   1253 	Backport from mainline
   1254 	2019-04-26  H.J. Lu  <hongjiu.lu (a] intel.com>
   1255 
   1256 	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
   1257 
   1258 2019-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1259 
   1260 	Backport from mainline
   1261 	2019-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1262 
   1263 	* testsuite/20_util/variant/run.cc: Use a new Hashable type to test
   1264 	hashing, because pmr::string depends on _GLIBCXX_USE_CXX11_ABI==1.
   1265 	* testsuite/21_strings/basic_string/hash/hash.cc
   1266 	[!_GLIBCXX_USE_CXX11_ABI]: Don't test pmr strings.
   1267 	* testsuite/21_strings/basic_string/hash/hash_char8_t.cc
   1268 	[!_GLIBCXX_USE_CXX11_ABI]: Likewise.
   1269 
   1270 2019-04-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1271 
   1272 	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace wildcard that matches
   1273 	wstring::_M_replace_dispatch with more specific patterns.
   1274 
   1275 2019-04-26  Jakub Jelinek  <jakub (a] redhat.com>
   1276 
   1277 	* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
   1278 	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
   1279 	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
   1280 	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
   1281 
   1282 	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
   1283 	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
   1284 	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
   1285 	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
   1286 	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
   1287 	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
   1288 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
   1289 
   1290 2019-04-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1291 
   1292 	PR libstdc++/90239
   1293 	* doc/xml/manual/status_cxx2020.xml: Correct status of P0591R4.
   1294 	* doc/html/*: Regenerate.
   1295 
   1296 2019-04-24  Jonathan Wakely  <jwakely (a] redhat.com>
   1297 
   1298 	* doc/xml/manual/status_cxx2017.xml: Document P0024R2 status.
   1299 	* doc/html/*: Regenerate.
   1300 
   1301 	* include/bits/fs_path.h (operator<, operator<=, operator>)
   1302 	(operator>=, operator==, operator!=): Make hidden friends, as per
   1303 	LWG 3065.
   1304 	* testsuite/27_io/filesystem/path/native/string-char8_t.cc: Fix
   1305 	string type in test.
   1306 	* testsuite/27_io/filesystem/path/native/string.cc: Likewise.
   1307 
   1308 	* include/std/any (any::any(ValueType&&)): Use __and_v.
   1309 	* include/std/numeric (midpoint(T, T, T), midpoint(T*, T*, T*)):
   1310 	Likewise.
   1311 
   1312 	* include/std/tuple (apply): Use remove_reference_t instead of decay_t
   1313 	as per P0777R1.
   1314 	* include/std/type_traits (__result_of_memfun): Use remove_reference
   1315 	instead of __remove_cvref_t and remove redundant is_same check.
   1316 	(__inv_unwrap): Use __remove_cvref_t instead of decay_t.
   1317 
   1318 	* include/experimental/string_view (basic_string_view::pointer)
   1319 	(basic_string_view::reference): Fix to refer to non-const value_type.
   1320 	* include/bits/basic_string.h (basic_string): Use __sv_check and
   1321 	__sv_limit instead of basic_string_view::_M_check and
   1322 	basic_string_view::_M_limit.
   1323 	* include/std/string_view (__sv_check, __sv_limit): New
   1324 	helper functions to replace basic_string_view::_M_check and
   1325 	basic_string_view::_M_limit.
   1326 	(basic_string_view): Add static assertions to enforce ill-formed
   1327 	requirement for traits_type::char_type from P1148R0, and to enforce
   1328 	required properties of char-like types.
   1329 	(basic_string_view::pointer, basic_string_view::reference): Fix to
   1330 	refer to non-const value_type.
   1331 	(basic_string_view::operator[], basic_string_view::at)
   1332 	(basic_string_view::front, basic_string_view::back)
   1333 	(basic_string_view::data): Use const_reference and const_pointer
   1334 	typedefs for return types.
   1335 	(basic_string_view::_M_check, basic_string_view::_M_limit): Remove.
   1336 	(hash<wstring_view>): Fix argument_type typedef.
   1337 	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
   1338 	char/1.cc: Fix expected return type of basic_string_view::data().
   1339 	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
   1340 	wchar_t/1.cc: Likewise.
   1341 	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
   1342 	char/1.cc: Likewise.
   1343 	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
   1344 	wchar_t/1.cc: Likewise.
   1345 	* testsuite/21_strings/basic_string_view/requirements/traits_neg.cc:
   1346 	New test.
   1347 	* testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
   1348 	Check reference and pointer typedefs.
   1349 	* testsuite/experimental/string_view/requirements/typedefs.cc:
   1350 	Likewise.
   1351 	* testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc:
   1352 	Fix expected return type of basic_string_view::data().
   1353 	* testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
   1354 	1.cc: Likewise.
   1355 	* testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc:
   1356 	Likewise.
   1357 	* testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
   1358 	1.cc: Likewise.
   1359 
   1360 	PR libstdc++/90220
   1361 	* include/std/any (__any_caster): Use remove_cv_t instead of decay_t.
   1362 	Avoid a runtime check for types that can never be stored in std::any.
   1363 	* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
   1364 	array types.
   1365 
   1366 	PR libstdc++/90220 (partial)
   1367 	* include/std/any (any_cast<T>(any*), any_cast<T>(const any*)): Do
   1368 	not attempt ill-formed static_cast to pointers to non-object types.
   1369 	* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
   1370 	function types.
   1371 
   1372 	* testsuite/20_util/variant/run.cc: Catch exception by reference to
   1373 	prevent -Wcatch-value warning.
   1374 
   1375 	* include/std/variant (__variant_construct): Use template parameter
   1376 	type instead of equivalent decltype-specifier.
   1377 	(_Move_ctor_base<false, Types...>::_Move_ctor_base(_Move_ctor_base&&)):
   1378 	Replace forward with move.
   1379 	(_Move_ctor_base<false, Types...>::_M_destructive_move)
   1380 	(_Move_ctor_base<false, Types...>::_M_destructive_copy)
   1381 	(_Move_ctor_base<true, Types...>::_M_destructive_move)
   1382 	(_Move_ctor_base<true, Types...>::_M_destructive_copy): Only set the
   1383 	index after construction succeeds.
   1384 	(_Copy_assign_base<false, Types...>::operator=): Remove redundant
   1385 	if-constexpr checks that are always true. Use __remove_cvref_t instead
   1386 	of remove_reference so that is_nothrow_move_constructible check
   1387 	doesn't use a const rvalue parameter. In the potentially-throwing case
   1388 	construct a temporary and move assign it, as per LWG 2904.
   1389 	(_Move_assign_base<false, Types...>::operator=): Remove redundant
   1390 	if-constexpr checks that are always true. Use emplace as per LWG 2904.
   1391 	(variant::operator=(T&&)): Only use emplace conditionally, otherwise
   1392 	construct a temporary and move assign from it, as per LWG 2904.
   1393 	* testsuite/20_util/variant/exception_safety.cc: Check that
   1394 	assignment operators have strong exception safety guarantee.
   1395 
   1396 2019-04-23  Thomas Rodgers <trodgers (a] redhat.com>
   1397 
   1398 	Document PSTL linker flags
   1399 
   1400 	* doc/xml/manual/using.xml: Add PSTL linker flags to table 3.1.
   1401 	
   1402 2019-04-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1403 
   1404 	* include/std/variant (__detail::__variant::_Traits): Make
   1405 	_S_trivial_copy_assign depend on _S_trivial_copy_ctor and make
   1406 	_S_trivial_move_assign depend on _S_trivial_move_ctor, as per
   1407 	P0602R4.
   1408 	(__detail::__variant::_Copy_assign_alias): Only depend on
   1409 	_S_trivial_copy_assign, which subsumes _S_trivial_copy_ctor now.
   1410 	* testsuite/20_util/variant/compile.cc: Correct checks for trivial
   1411 	move assignment operators.
   1412 
   1413 	PR libstdc++/90165
   1414 	* include/std/variant (variant::__not_self): New helper for the
   1415 	is_same_v<remove_cvref_t<T>, variant>==false constraints.
   1416 	(variant::__to_type_impl): Remove.
   1417 	(variant::__to_type): Add default argument to check pack size, instead
   1418 	of using __to_type_impl.
   1419 	(variant::__accepted_type): Add default argument using __not_self.
   1420 	(variant::__is_in_place_tag, variant::__not_in_place_tag): New helpers
   1421 	for variant(T&&) constructor constraint.
   1422 	(variant::variant(T&&)): Use __not_in_place_tag in constraints.
   1423 	Extract __accepted_type into a named template parameter for reuse in
   1424 	other constraints and in the exception specification.
   1425 	(variant::variant(in_place_type_t<T>, Args&&...))
   1426 	(variant::variant(in_place_type_t<T>, initializer_list<U>, Args&&...))
   1427 	(variant::variant(in_place_index_t<T>, Args&&...))
   1428 	(variant::variant(in_place_index_t<T>, initializer_list<U>, Args&&...))
   1429 	(variant::operator=T&&)): Remove redundant && from trait arguments.
   1430 	* testsuite/20_util/variant/compile.cc: Check variant(T&&) constructor
   1431 	isn't used for in_place_type or in_place_index arguments.
   1432 
   1433 	* include/std/type_traits (unwrap_reference_t): Define for C++2a.
   1434 	(unwrap_ref_decay): Remove inheritance from unwrap_reference.
   1435 	* testsuite/20_util/unwrap_reference/1.cc: Adjust test to use alias.
   1436 
   1437 2019-04-23  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   1438 	    Bernd Edlinger  <bernd.edlinger (a] hotmail.de>
   1439 	    Jakub Jelinek  <jakub (a] redhat.com>
   1440 
   1441 	PR target/89093
   1442 	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Add
   1443 	general-regs-only target attribute for ARM.
   1444 
   1445 2019-04-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1446 
   1447 	PR libstdc++/87431
   1448 	* include/bits/basic_string.h (_Never_valueless_alt): Make partial
   1449 	specialization also depend on is_nothrow_move_constructible.
   1450 	* include/std/variant (__detail::__variant::__never_valueless()):
   1451 	Only true if the variant would have a move assignment operator.
   1452 	(__detail::__variant::_Variant_storage<false, T...>::_M_valid()):
   1453 	Check __never_valueless<T...>().
   1454 	(variant::emplace): Only perform non-throwing move assignments
   1455 	for never-valueless alternatives if the variant has a move assignment
   1456 	operator.
   1457 	* testsuite/20_util/variant/compile.cc: Check that never-valueless
   1458 	types can be emplaced into non-assignable variants.
   1459 	* testsuite/20_util/variant/run.cc: Check that never-valueless types
   1460 	don't get copied when emplaced into non-assignable variants.
   1461 
   1462 	* include/std/variant (__detail::__variant::__ref_cast): Remove
   1463 	unused function.
   1464 	(__detail::__variant::_Uninitialized::_M_get)
   1465 	(__detail::__variant::__get)
   1466 	(__gen_vtable_impl::__element_by_index_or_cookie): Add noexcept.
   1467 
   1468 2019-04-21  Iain Sandoe  <iain (a] sandoe.co.uk>
   1469 
   1470 	* testsuite/17_intro/headers/c++1998/charset.cc: Skip for Darwin8
   1471 	to Darwin10.
   1472 	* testsuite/17_intro/headers/c++2011/charset.cc: Likewise.
   1473 	* testsuite/17_intro/headers/c++2014/charset.cc: Likewise.
   1474 	* testsuite/17_intro/headers/c++2017/charset.cc: Likewise.
   1475 	* testsuite/17_intro/headers/c++2020/charset.cc: Likewise.
   1476 
   1477 2019-04-20  Thomas Rodgers <trodgers (a] redhat.com>
   1478 
   1479 	Delegate PSTL configuration to pstl/pstl_config.h
   1480 
   1481 	* include/bits/c++config: Remove explicit PSTL configuration
   1482 	macros and use definitions from <pstl/pstl_config.h>.
   1483 	
   1484 2019-04-20  Thomas Rodgers <trodgers (a] redhat.com>
   1485 
   1486 	Cleanup algorithm implementations
   1487 	* include/pstl/glue_algorithm_impl.h (stable_sort): Forward
   1488 	execution policy.
   1489 	(mismatch): Forward execution policy.
   1490 	(equal): Qualify call to std::equal().
   1491 	(partial_sort): Forward execution policy.
   1492 	(inplace_merge): Forward execution policy.
   1493 	
   1494 2019-04-19  Thomas Rodgers <trodgers (a] redhat.com>
   1495 	
   1496 	Improve implementation of parallel equal()
   1497 	* include/pstl/algorithm_impl.h
   1498 	(__internal::__brick_equal): use "4 iterator" version of
   1499 	std::equal().
   1500 	(__internal::__brick_equal): use simd for random access
   1501 	iterators on unsequenced execution policies.
   1502 	(__internal::__pattern_equal): add "4 iterator" version
   1503 	(__internal::__pattern_equal): dispatch to simd __brick_equal
   1504 	for vector-only execution policies.
   1505 	(__internal::__pattern_equal): dispatch to __parallel_or for
   1506 	parallel execution policies.
   1507 	* include/pstl/glue_algorithm_impl.h
   1508 	(std::equal): dispatch to "4 iterator" version of
   1509 	__internal::__pattern_equal().
   1510 	
   1511 2019-04-17  Jonathan Wakely  <jwakely (a] redhat.com>
   1512 
   1513 	PR libstdc++/90105
   1514 	* include/bits/forward_list.h (operator==): Do not use operator!= to
   1515 	compare elements.
   1516 	(forward_list<T, A>::sort(Comp)): When elements are equal take the one
   1517 	earlier in the list, so that sort is stable.
   1518 	* testsuite/23_containers/forward_list/operations/90105.cc: New test.
   1519 	* testsuite/23_containers/forward_list/comparable.cc: Test with
   1520 	types that meet the minimum EqualityComparable and LessThanComparable
   1521 	requirements. Remove irrelevant comment.
   1522 
   1523 	* include/std/variant (__detail::__variant::_Traits::_S_copy_assign):
   1524 	Do not depend on whether all alternative types are move constructible.
   1525 	(__detail::__variant::_Copy_assign_base::operator=): Remove cv-quals
   1526 	from the operand when deciding whether to perform the assignment.
   1527 	* testsuite/20_util/variant/compile.cc (DeletedMoves): Define type
   1528 	with deleted move constructor and deleted move assignment operator.
   1529 	(default_ctor, copy_ctor, move_ctor, copy_assign, move_assign): Check
   1530 	behaviour of variants with DeletedMoves as an alternative.
   1531 	* testsuite/20_util/variant/run.cc (DeletedMoves): Define same type.
   1532 	(move_ctor, move_assign): Check that moving a variant with a
   1533 	DeletedMoves alternative falls back to copying instead of moving.
   1534 
   1535 	* testsuite/20_util/variant/compile.cc: Remove empty string literals
   1536 	from static_assert declarations.
   1537 
   1538 	* testsuite/20_util/variant/compile.cc (MoveCtorOnly): Fix type to
   1539 	actually match its name.
   1540 	(MoveCtorAndSwapOnly): Define new type that adds swap to MoveCtorOnly.
   1541 	(test_swap()): Fix result for MoveCtorOnly and check
   1542 	MoveCtorAndSwapOnly.
   1543 
   1544 	* include/std/optional (optional::value_or(U&&) &&): Add missing
   1545 	constexpr specifier.
   1546 	* testsuite/20_util/optional/constexpr/observers/4.cc: Check value_or
   1547 	for disengaged optionals and rvalue optionals.
   1548 	* testsuite/20_util/optional/observers/4.cc: Likewise.
   1549 
   1550 2019-04-12  Thomas Rodgers  <trodgers (a] redhat.com>
   1551 	
   1552 	* include/pstl/algorithm_impl.h: Uglify identfiers.
   1553 	* include/pstl/numeric_impl.h:  Uglify identfiers.
   1554 	* include/pstl/parallel_backend_tbb.h: Uglify identfiers.
   1555 
   1556 2019-04-11  Thomas Rodgers  <trodgers (a] redhat.com>
   1557 
   1558 	* include/bits/c++config:
   1559 	Add definition for __PSTL_ASSERT.
   1560 	Add definition for __PSTL_ASSERT_MSG.
   1561 	* include/pstl/algorithm_impl.h: Replace use of assert().
   1562 	* include/pstl/numeric_impl.h: Replace use of assert().
   1563 	* include/pstl/parallel_backend_tbb.h:
   1564 	Replace use of assert().
   1565 	Replace use of __TBB_ASSERT().
   1566 	* include/pstl/parallel_backend_utils.h: Replace use of assert().
   1567 
   1568 2019-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1569 
   1570 	PR libstdc++/90046
   1571 	* src/c++17/memory_resource.cc
   1572 	(monotonic_buffer_resource::_Chunk::allocate): Increase alignment if
   1573 	needed to allow placing a _Chunk at the end of the buffer.
   1574 	(monotonic_buffer_resource::_M_new_buffer): Remove static_assert.
   1575 
   1576 2019-04-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1577 
   1578 	* doc/xml/faq.xml: Add information about emergency EH pool.
   1579 	* doc/xml/manual/debug.xml: Update list of memory debugging tools.
   1580 	Move outdated information on mt_allocator to a separate section.
   1581 	* doc/xml/manual/evolution.xml: Clarify that GLIBCXX_FORCE_NEW
   1582 	doesn't affect the default allocator.
   1583 
   1584 	* testsuite/lib/libstdc++.exp (check_v3_target_parallel_mode): Fix
   1585 	typo.
   1586 
   1587 	PR libstdc++/89851
   1588 	* testsuite/20_util/variant/89851.cc: New test.
   1589 
   1590 2019-04-09  Jonathan Wakely  <jwakely (a] redhat.com>
   1591 
   1592 	* include/std/variant: Adjust whitespace. Add comments.
   1593 	(_Multi_array): Leave primary template undefined.
   1594 	(_Multi_array<_Tp>): Define partial specialization for base case of
   1595 	recursion.
   1596 	(__gen_vtable_impl, __gen_vtable): Remove redundant && from type
   1597 	which is always a reference.
   1598 	(__gen_vtable::_S_apply()): Remove function, inline body into
   1599 	default member initializer.
   1600 	* testsuite/20_util/variant/visit.cc: Test with noncopyable types.
   1601 
   1602 	* include/std/variant (__variant_idx_cookie): Add member type.
   1603 	(__visitor_result_type): Remove.
   1604 	(__do_visit): Use invoke_result instead of __visitor_result_type.
   1605 	* testsuite/20_util/variant/visit.cc: New test.
   1606 
   1607 	PR libstdc++/90008
   1608 	* include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Remove
   1609 	unused capture.
   1610 	* testsuite/20_util/variant/90008.cc: New test.
   1611 
   1612 2019-04-09  Thomas Rodgers  <trodgers (a] redhat.com>
   1613 
   1614 	* include/pstl/algorithm_impl.h: Add namespace qualification.
   1615 	* include/pstl/execution_defs.h: Add namespace qualification.
   1616 	* include/pstl/execution_impl.h: Add namespace qualification.
   1617 	* include/pstl/numeric_impl.h: Add namespace qualification.
   1618 	* include/pstl/parallel_backend_tbb.h: Add namespace qualification.
   1619 	* include/pstl/unseq_backend_simd.h: Add namespace qualification.
   1620 	* include/pstl/parallel_backend_utils.h: Include <cassert>.
   1621 
   1622 2019-04-08  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   1623 
   1624 	Fix visit<R> for variant.
   1625 	* include/std/variant (__do_visit): Add a template parameter
   1626 	for enforcing same return types for visit.
   1627 	(__gen_vtable_impl): Likewise.
   1628 	(_S_apply_single_alt): Adjust.
   1629 	(__visit_invoke_impl): New. Handle casting to void.
   1630 	(__do_visit_invoke): New. Enforces same return types.
   1631 	(__do_visit_invoke_r): New. Converts return types.
   1632 	(__visit_invoke): Adjust.
   1633 	(__gen_vtable):  Add a template parameter for enforcing
   1634 	same return types for visit.
   1635 	* testsuite/20_util/variant/visit_r.cc: Add a test for a visitor with
   1636 	different return types.
   1637 	* testsuite/20_util/variant/visit_neg.cc: New. Ensures that
   1638 	visitors with different return types don't accidentally
   1639 	compile with regular visitation.
   1640 
   1641 2019-04-08  Christophe Lyon  <christophe.lyon (a] linaro.org>
   1642 
   1643 	* testsuite/27_io/filesystem/iterators/caching.cc: Add
   1644 	dg-require-filesystem-ts.
   1645 
   1646 2019-04-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1647 
   1648 	* doc/xml/manual/status_cxx2020.xml: Update status.
   1649 	* include/std/variant (visit<R>): Define for C++2a (P0655R1).
   1650 	* testsuite/20_util/variant/visit_r.cc: New test.
   1651 
   1652 	* include/bits/fs_dir.h (directory_iterator::operator*)
   1653 	(directory_iterator::operator->): Add noexcept.
   1654 	(operator==, operator!=): Replace namespace-scope equality operators
   1655 	for directory iterators with hidden friends.
   1656 
   1657 	PR libstdc++/89986
   1658 	* config/abi/pre/gnu.ver: Add missing exports.
   1659 	* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Test
   1660 	increment member.
   1661 
   1662 	* config/abi/pre/gnu.ver: Export new symbols.
   1663 	* include/bits/fs_dir.h (recursive_directory_iterator::options())
   1664 	(recursive_directory_iterator::recursion_pending())
   1665 	(recursive_directory_iterator::disable_recursion_pending()): Remove
   1666 	inline definitions. Make noexcept.
   1667 	(recursive_directory_iterator::depth())
   1668 	(recursive_directory_iterator::operator*())
   1669 	(recursive_directory_iterator::operator->()): Make noexcept.
   1670 	(recursive_directory_iterator::_M_options)
   1671 	(recursive_directory_iterator::_M_pending): Remove data members.
   1672 	* src/c++17/fs_path.cc (_Dir_stack): Add constructor and data members.
   1673 	(recursive_directory_iterator::recursive_directory_iterator): Remove
   1674 	ctor-initializer. Use new constructor for _Dir_stack.
   1675 	(recursive_directory_iterator::options())
   1676 	(recursive_directory_iterator::recursion_pending())
   1677 	(recursive_directory_iterator::disable_recursion_pending()): Add
   1678 	non-inline definitions.
   1679 	(recursive_directory_iterator::depth()): Make noexcept.
   1680 	(recursive_directory_iterator::increment(error_code&))
   1681 	(recursive_directory_iterator::pop(error_code&)): Adjust to new
   1682 	location of options and recursion_pending members.
   1683 	* testsuite/27_io/filesystem/iterators/recursion_pending.cc: New test.
   1684 	* testsuite/util/testsuite_fs.h (__gnu_test::scoped_file): Add
   1685 	user-declared move constructor and assignment operator, to make the
   1686 	type move-only.
   1687 
   1688 	* src/c++17/fs_dir.cc (_Dir::advance(bool, error_code&)): Handle
   1689 	d_type == DT_UNKNOWN immediately.
   1690 	(_Dir::should_recurse(bool, error_code&)): Remove file_type::unknown
   1691 	handling here.
   1692 	* testsuite/27_io/filesystem/iterators/caching.cc: New test.
   1693 
   1694 	* include/bits/fs_path.h (path::operator=(path&&)): Check for self
   1695 	assignment.
   1696 	* src/c++17/fs_path.cc (path::operator=(const path&)): Likewise.
   1697 	* testsuite/27_io/filesystem/path/assign/copy.cc: Test self
   1698 	assignment.
   1699 
   1700 	PR libstdc++/87431 (again)
   1701 	* include/bits/basic_string.h (__variant::_Never_valueless_alt):
   1702 	Define partial specialization for basic_string.
   1703 	* include/bits/shared_ptr.h (_Never_valueless_alt): Likewise for
   1704 	shared_ptr and weak_ptr.
   1705 	* include/bits/std_function.h (_Never_valueless_alt): Likewise for
   1706 	function.
   1707 	* include/bits/stl_vector.h (_Never_valueless_alt): Likewise for
   1708 	vector.
   1709 	* include/bits/unique_ptr.h (_Never_valueless_alt): Likewise for
   1710 	unique_ptr.
   1711 	* include/debug/vector (_Never_valueless_alt): Likewise for debug
   1712 	vector.
   1713 	* include/std/any (_Never_valueless_alt): Define explicit
   1714 	specialization for any.
   1715 	* include/std/variant (_Never_valueless_alt): Define primary template.
   1716 	(__never_valueless): Use _Never_valueless_alt instead of
   1717 	is_trivially_copyable.
   1718 	(variant::emplace<N>(Args&&...)): Add special case for non-throwing
   1719 	initializations to avoid try-catch overhead. Add special case for
   1720 	scalars produced by potentially-throwing conversions. Use
   1721 	_Never_valueless_alt instead of is_trivially_copyable for the
   1722 	remaining strong exception-safety cases.
   1723 	(variant::emplace<N>(initializer_list<U>, Args&&...)): Likewise.
   1724 	* testsuite/20_util/variant/87431.cc: Run both test functions.
   1725 	* testsuite/20_util/variant/exception_safety.cc: New test.
   1726 	* testsuite/20_util/variant/run.cc: Use pmr::string instead of string,
   1727 	so the variant becomes valueless.
   1728 
   1729 2019-04-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1730 
   1731 	PR libstdc++/85184
   1732 	* include/std/variant (_Copy_assign_base, _Move_assign_base, variant):
   1733 	Remove assertions.
   1734 	(variant::emplace<_Tp>): Return result of emplace<N> directly.
   1735 
   1736 	* include/std/string (__hash_string_base): New class template defining
   1737 	operator() for hashing strings.
   1738 	(hash<pmr::string>, hash<pmr::u8string>, hash<pmr::u16string>)
   1739 	(hash<pmr::u32string>, hash<pmr::wstring>): Define for C++17.
   1740 	* testsuite/21_strings/basic_string/hash/hash.cc: New test.
   1741 	* testsuite/21_strings/basic_string/hash/hash_char8_t.cc: New test.
   1742 
   1743 2019-04-01  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   1744 
   1745 	Use single-visitation in variant assignment and swap and relops.
   1746 	Also use indices instead of types when checking whether
   1747 	variants hold the same thing.
   1748 	* include/std/variant (__do_visit): Add a template parameter
   1749 	for index visitation, invoke with indices if index visitation
   1750 	is used.
   1751 	(__variant_idx_cookie): New.
   1752 	(__visit_with_index): Likewise.
   1753 	(_Copy_assign_base::operator=): Do single-visitation with
   1754 	an index visitor.
   1755 	(_Move_assign_base::operator=): Likewise.
   1756 	(_Extra_visit_slot_needed): Adjust.
   1757 	(__visit_invoke): Call with indices if it's an index visitor.
   1758 	(relops): Do single-visitation with an index visitor.
   1759 	(swap): Likewise.
   1760 	(__visitor_result_type): New.
   1761 
   1762 2019-03-30  Eric Botcazou  <ebotcazou (a] adacore.com>
   1763 
   1764 	* src/c++17/fs_ops.cc (fs::permissions): Use std::errc::not_supported.
   1765 
   1766 2019-03-28  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   1767 
   1768 	Don't revisit a variant we are already visiting.
   1769 	* include/std/variant (__variant_construct_single): New.
   1770 	(__variant_construct): Use it.
   1771 	(_M_destructive_move): Likewise.
   1772 	(_M_destructive_copy): Likewise.
   1773 	(_Copy_assign_base::operator=): Adjust.
   1774 	(_Move_assign_base::operator=): Likewise.
   1775 	(swap): Likewise.
   1776 
   1777 2019-03-26  Jonathan Wakely  <jwakely (a] redhat.com>
   1778 
   1779 	PR libstdc++/85965
   1780 	* include/bits/hashtable.h (_Hashtable): Move static assertions to
   1781 	destructor so they are not evaluated until the _Key type is complete.
   1782 	* include/bits/stl_tree.h (_Rb_tree): Likewise.
   1783 	* testsuite/23_containers/set/85965.cc: New test.
   1784 	* testsuite/23_containers/unordered_set/85965.cc: New test.
   1785 	* testsuite/23_containers/map/48101_neg.cc: Replace "here" errors
   1786 	with regexp matching the corresponding _Rb_tree specialization.
   1787 	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
   1788 	* testsuite/23_containers/multiset/48101_neg.cc: Remove "here" error.
   1789 	* testsuite/23_containers/set/48101_neg.cc: Likewise.
   1790 	* testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
   1791 	* testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
   1792 	* testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
   1793 	* testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
   1794 
   1795 2019-03-26  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   1796 
   1797 	PR libstdc++/89825
   1798 	Fix based on a suggestion by Antony Polukhin.
   1799 	* include/std/variant (__never_valueless): New.
   1800 	(_M_valid): Use it.
   1801 	(_Extra_visit_slot_needed): New.
   1802 	(_Multi_array): Use it.
   1803 	(_S_apply_all_alts): Likewise.
   1804 
   1805 2019-03-26  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   1806 
   1807 	PR libstdc++/89824
   1808 	Fix based on a suggestion by Antony Polukhin.
   1809 	* include/std/variant (__gen_vtable): Don't reserve an
   1810 	additional table slot, _Multi_array already does that.
   1811 
   1812 2019-03-26  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   1813 
   1814 	PR libstdc++/89816
   1815 	Fix based on a suggestion by Antony Polukhin.
   1816 	* include/std/variant (__variant_construct): Capture a pointer
   1817 	to the storage and visit just one variant.
   1818 
   1819 2019-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1820 
   1821 	* doc/xml/manual/backwards_compatibility.xml: Remove link to
   1822 	Doxygen-generated pages with unstable URL.
   1823 	* doc/xml/manual/concurrency_extensions.xml: Likewise.
   1824 	* doc/xml/manual/extensions.xml: Likewise.
   1825 	* doc/xml/manual/parallel_mode.xml: Likewise.
   1826 	* doc/xml/manual/support.xml: Likewise.
   1827 
   1828 	* include/bits/stl_algobase.h (__lg): Do arithmetic on type int to
   1829 	avoid -Wconversion warnings.
   1830 
   1831 2019-03-21  Thomas Rodgers  <trodgers (a] redhat.com>
   1832 	
   1833 	* include/Makefile.am (std_header): Add ${std_srcdir}/execution.
   1834 	(pstl_srcdir, pstl_builddir, pstl_headers): New variables.
   1835 	(allstamped): Add stamp-pstl.
   1836 	(install-headers): Add ptsl_builddir.
   1837 	* include/Makefile.in: Regenerate.
   1838 	* include/bits/c++config: Add pstl configuration.
   1839 	* include/pstl/LICENSE.txt: New file.
   1840 	* include/pstl/algorithm_fwd.h: New file.
   1841 	* include/pstl/algorithm_impl.h: New file.
   1842 	* include/pstl/execution_defs.h: New file.
   1843 	* include/pstl/execution_impl.h: New file.
   1844 	* include/pstl/glue_algorithm_defs.h: New file.
   1845 	* include/pstl/glue_algorithm_impl.h: New file.
   1846 	* include/pstl/glue_execution_defs.h: New file.
   1847 	* include/pstl/glue_memory_defs.h: New file.
   1848 	* include/pstl/glue_memory_impl.h: New file.
   1849 	* include/pstl/glue_numeric_defs.h: New file.
   1850 	* include/pstl/glue_numeric_impl.h: New file.
   1851 	* include/pstl/memory_impl.h: New file.
   1852 	* include/pstl/numeric_fwd.h: New file.
   1853 	* include/pstl/numeric_impl.h: New file.
   1854 	* include/pstl/parallel_backend.h: New file.
   1855 	* include/pstl/parallel_backend_tbb.h: New file.
   1856 	* include/pstl/parallel_backend_utils.h: New file.
   1857 	* include/pstl/parallel_impl.h: New file.
   1858 	* include/pstl/pstl_config.h: New file.
   1859 	* include/pstl/unseq_backend_simd.h: New file.
   1860 	* include/pstl/utils.h: New file.
   1861 	* include/std/algorithm: Include parallel algorithm implementations.
   1862 	* include/std/execution: New file.
   1863 	* include/std/memory: Include parallel algorithm implementations.
   1864 	* include/std/numeric: Include parallel algorithm implementations.
   1865 	* include/std/version: Add parallel algorithms feature test macro.
   1866 	* testsuite/util/pstl/pstl_test_config.h: New file.
   1867 	* testsuite/util/pstl/test_utils.h: New file.
   1868 	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: New file.
   1869 	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: New file.
   1870 	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: New file.
   1871 	* testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: New file.
   1872 	* testsuite/25_algorithms/pstl/alg_merge/merge.cc: New file.
   1873 	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: New file.
   1874 	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: New file.
   1875 	* testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: New file.
   1876 	* testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: New file.
   1877 	* testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: New file.
   1878 	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: New file.
   1879 	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: New file.
   1880 	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: New file.
   1881 	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: New file.
   1882 	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: New file.
   1883 	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: New file.
   1884 	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: New file.
   1885 	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: New file.
   1886 	* testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: New file.
   1887 	* testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: New file.
   1888 	* testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: New file.
   1889 	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: New file.
   1890 	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: New file.
   1891 	* testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: New file.
   1892 	* testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: New file.
   1893 	* testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: New file.
   1894 	* testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: New file.
   1895 	* testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: New file.
   1896 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: New file.
   1897 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: New file.
   1898 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: New file.
   1899 	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: New file.
   1900 	* testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: New file.
   1901 	* testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: New file.
   1902 	* testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: New file.
   1903 	* testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: New file.
   1904 	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: New file.
   1905 	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: New file.
   1906 	* testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: New file.
   1907 	* testsuite/25_algorithms/pstl/alg_sorting/includes.cc: New file.
   1908 	* testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: New file.
   1909 	* testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: New file.
   1910 	* testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: New file.
   1911 	* testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: New file.
   1912 	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: New file.
   1913 	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: New file.
   1914 	* testsuite/25_algorithms/pstl/alg_sorting/set.cc: New file.
   1915 	* testsuite/25_algorithms/pstl/alg_sorting/sort.cc: New file.
   1916 	* testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: New file.
   1917 	* testsuite/26_numerics/pstl/numeric_ops/reduce.cc: New file.
   1918 	* testsuite/26_numerics/pstl/numeric_ops/scan.cc: New file.
   1919 	* testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: New file.
   1920 	* testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: New file.
   1921 	* testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: New file.
   1922 	* testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: New file.
   1923 	* testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: New file.
   1924 	* testsuite/testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: New file.
   1925 	* testsuite/testsuite/25_algorithms/pstl/alg_merge/merge.cc: New file.
   1926 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: New file.
   1927 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: New file.
   1928 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: New file.
   1929 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: New file.
   1930 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: New file.
   1931 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: New file.
   1932 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: New file.
   1933 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: New file.
   1934 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: New file.
   1935 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: New file.
   1936 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: New file.
   1937 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: New file.
   1938 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: New file.
   1939 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: New file.
   1940 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: New file.
   1941 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: New file.
   1942 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: New file.
   1943 	* testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: New file.
   1944 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: New file.
   1945 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: New file.
   1946 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: New file.
   1947 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: New file.
   1948 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: New file.
   1949 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: New file.
   1950 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: New file.
   1951 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: New file.
   1952 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: New file.
   1953 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: New file.
   1954 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: New file.
   1955 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: New file.
   1956 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: New file.
   1957 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: New file.
   1958 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: New file.
   1959 	* testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: New file.
   1960 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/includes.cc: New file.
   1961 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: New file.
   1962 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: New file.
   1963 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: New file.
   1964 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: New file.
   1965 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: New file.
   1966 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: New file.
   1967 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/set.cc: New file.
   1968 	* testsuite/testsuite/25_algorithms/pstl/alg_sorting/sort.cc: New file.
   1969 	* testsuite/testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: New file.
   1970 	* testsuite/testsuite/26_numerics/pstl/numeric_ops/reduce.cc: New file.
   1971 	* testsuite/testsuite/26_numerics/pstl/numeric_ops/scan.cc: New file.
   1972 	* testsuite/testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: New file.
   1973 	* testsuite/testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: New file.
   1974 
   1975 2019-03-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1976 
   1977 	* include/c_compatibility/math.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]
   1978 	(assoc_laguerre, assoc_laguerref, assoc_laguerrel, assoc_legendre)
   1979 	(assoc_legendref, assoc_legendrel, beta, betaf, betal, comp_ellint_1)
   1980 	(comp_ellint_1f, comp_ellint_1l, comp_ellint_2, comp_ellint_2f)
   1981 	(comp_ellint_2l, comp_ellint_3, comp_ellint_3f, comp_ellint_3l)
   1982 	(cyl_bessel_i, cyl_bessel_if, cyl_bessel_il, cyl_bessel_j)
   1983 	(cyl_bessel_jf, cyl_bessel_jl, cyl_bessel_k, cyl_bessel_kf)
   1984 	(cyl_bessel_kl, cyl_neumann, cyl_neumannf, cyl_neumannl, ellint_1)
   1985 	(ellint_1f, ellint_1l, ellint_2, ellint_2f, ellint_2l, ellint_3)
   1986 	(ellint_3f, ellint_3l, expint, expintf, expintl, hermite, hermitef)
   1987 	(hermitel, laguerre, laguerref, laguerrel, legendre, legendref)
   1988 	(legendrel, riemann_zeta, riemann_zetaf, riemann_zetal, sph_bessel)
   1989 	(sph_besself, sph_bessell, sph_legendre, sph_legendref, sph_legendrel)
   1990 	(sph_neumann, sph_neumannf, sph_neumannl): Only add using-declarations
   1991 	when the special functions IS is enabled, not for C++17.
   1992 	* testsuite/26_numerics/headers/cmath/functions_global_c++17.cc:
   1993 	Replace with ...
   1994 	* testsuite/26_numerics/headers/cmath/functions_global.cc: New test,
   1995 	without checks for special functions in C++17.
   1996 	* testsuite/26_numerics/headers/cmath/special_functions_global.cc:
   1997 	New test.
   1998 
   1999 	PR libstdc++/88066
   2000 	* include/backward/hash_map: Use <> for includes not "".
   2001 	* include/backward/hash_set: Likewise.
   2002 	* include/backward/strstream: Likewise.
   2003 	* include/tr1/bessel_function.tcc: Likewise.
   2004 	* include/tr1/exp_integral.tcc: Likewise.
   2005 	* include/tr1/legendre_function.tcc: Likewise.
   2006 	* include/tr1/modified_bessel_func.tcc: Likewise.
   2007 	* include/tr1/riemann_zeta.tcc: Likewise.
   2008 
   2009 2019-03-19  Jonathan Wakely  <jwakely (a] redhat.com>
   2010 
   2011 	* doc/xml/manual/allocator.xml: Link to table documenting evolution
   2012 	of extension allocators.
   2013 	* doc/xml/manual/evolution.xml: Use angle brackets for header names.
   2014 	Document new headers in 7.2, 8.1 and 9.1 releases.
   2015 	* doc/xml/manual/using.xml: Adjust link target for new_allocator.
   2016 	* doc/html/*: Regenerate.
   2017 
   2018 2019-03-12  John David Anglin  <dave.anglin (a] bell.net>
   2019 
   2020 	PR libstdc++/89461
   2021 	* testsuite/lib/libstdc++.exp: Locate libatomic.
   2022 	* testsuite/lib/dg-options.exp (add_options_for_libatomic): New.
   2023 	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
   2024 	libatomic options.
   2025 	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
   2026 	* testsuite/experimental/net/timer/waitable/cons.cc: Likewise.
   2027 	* testsuite/experimental/net/timer/waitable/dest.cc: Likewise.
   2028 	* testsuite/experimental/net/timer/waitable/ops.cc: Likewise.
   2029 
   2030 2019-03-11  Jonathan Wakely  <jwakely (a] redhat.com>
   2031 
   2032 	PR libstdc++/89460
   2033 	* configure.ac: Check for sockatmark.
   2034 	* crossconfig.m4: Check for sockatmark.
   2035 	* config.h.in: Regenerate.
   2036 	* configure: Regenerate.
   2037 	* include/experimental/internet (address_v4::_S_hton): Rename
   2038 	overloaded functions to _S_hton_16 and _S_ntoh_16.
   2039 	(address_v4::_S_ntoh): Rename to _S_ntoh_16 and _S_ntoh_32.
   2040 	(basic_endpoint): Adjust calls to _S_hton and _S_ntoh.
   2041 	* include/experimental/socket (basic_socket::at_mark): Check
   2042 	_GLIBCXX_HAVE_SOCKATMARK.
   2043 
   2044 	* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Use
   2045 	const variables instead of macros.
   2046 
   2047 	PR libstdc++/89629
   2048 	* libsupc++/hash_bytes.cc [__SIZEOF_SIZE_T__ == 8] (_Hash_bytes):
   2049 	Use correct type for len_aligned.
   2050 	* testsuite/20_util/hash/89629.cc: New test.
   2051 
   2052 2019-03-11  Jakub Jelinek  <jakub (a] redhat.com>
   2053 
   2054 	PR libstdc++/89641
   2055 	* include/std/atomic (atomic<T>::store, atomic<T>::load,
   2056 	atomic<T>::exchange, atomic<T>::compare_exchange_weak,
   2057 	atomic<T>::compare_exchange_strong): Cast __m or __s and __f to int.
   2058 	* include/bits/atomic_base.h (__atomic_base<T>::operator++,
   2059 	__atomic_base<T>::operator--, __atomic_base<T>::operator+=,
   2060 	__atomic_base<T>::operator-=, __atomic_base<T>::operator&=,
   2061 	__atomic_base<T>::operator|=, __atomic_base<T>::operator^=,
   2062 	__atomic_base<T*>::operator++, __atomic_base<T*>::operator--,
   2063 	__atomic_base<T*>::operator+=, __atomic_base<T*>::operator-=): Cast
   2064 	memory_order_seq_cst to int.
   2065 
   2066 2019-03-08  Jonathan Wakely  <jwakely (a] redhat.com>
   2067 
   2068 	* doc/xml/manual/using.xml: Use link element instead of xref.
   2069 	* doc/html/*: Regenerate.
   2070 
   2071 	* include/bits/fs_path.h (path::format): Add fixed underlying type.
   2072 
   2073 2019-03-08  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2074 
   2075 	PR libstdc++/89477
   2076 	* include/debug/map.h (map): Use _RequireNotAllocator to constrain
   2077 	parameters in deduction guides.
   2078 	* include/debug/multimap.h (multimap): Likewise.
   2079 	* include/debug/set.h (multimap): Likewise.
   2080 	* include/debug/multiset.h (multimap): Likewise.
   2081 	* include/debug/unordered_map (unordered_map): Likewise.
   2082 	(unordered_multimap): Likewise.
   2083 	* include/debug/unordered_set (unordered_set): Likewise.
   2084 	(unordered_multiset): Likewise.
   2085 
   2086 	PR libstdc++/89608
   2087 	* include/debug/unordered_map (unordered_map<>::_M_check_rehashed):
   2088 	Invalidate all iterators in case of rehash.
   2089 	(unordered_multimap<>::_M_check_rehashed): Likewise.
   2090 	* include/debug/unordered_set
   2091 	(unordered_set<>::_M_check_rehashed): Likewise.
   2092 	(unordered_multiset<>::_M_check_rehashed): Likewise.
   2093 	* testsuite/23_containers/unordered_set/debug/89608_neg.cc: New.
   2094 
   2095 2019-03-07  Andreas Schwab  <schwab (a] suse.de>
   2096 
   2097 	* config/abi/post/riscv64-linux-gnu: New directory.
   2098 	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: New file.
   2099 
   2100 2019-03-07  Jonathan Wakely  <jwakely (a] redhat.com>
   2101 
   2102 	* testsuite/20_util/function_objects/bind_front/1.cc: Change from
   2103 	compile test to run. Fix typo.
   2104 
   2105 	* doc/xml/manual/status_cxx2020.xml: Update C++20 status.
   2106 	* doc/html/*: Regenerate.
   2107 
   2108 	P0356R5 Simplified partial function application
   2109 	* include/std/functional [C++20] (_Bind_front, _Bind_front_t): Define
   2110 	helpers for bind_front.
   2111 	(bind_front, __cpp_lib_bind_front): Define.
   2112 	* testsuite/20_util/function_objects/bind_front/1.cc: New test.
   2113 
   2114 2019-03-06  Jonathan Wakely  <jwakely (a] redhat.com>
   2115 
   2116 	* include/std/type_traits (__cpp_lib_bounded_array_traits): Define.
   2117 	* include/std/version (__cpp_lib_bounded_array_traits): Likewise.
   2118 	* testsuite/20_util/is_bounded_array/value.cc: Check for macro.
   2119 	* testsuite/20_util/is_unbounded_array/value.cc: Likewise.
   2120 
   2121 2019-03-06  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   2122 
   2123 	PR libstdc++/86655 - std::assoc_legendre should not constrain
   2124 	the value of m (or x).
   2125 	* include/tr1/legendre_function.tcc (__assoc_legendre_p,
   2126 	__sph_legendre): If degree > order Don't throw, return 0.
   2127 	(__legendre_p, __assoc_legendre_p): Don't constrain x either.
   2128 	* testsuite/special_functions/02_assoc_legendre/pr86655.cc: New test.
   2129 	* testsuite/special_functions/20_sph_legendre/pr86655.cc: New test.
   2130 	* testsuite/tr1/5_numerical_facilities/special_functions/
   2131 	02_assoc_legendre/pr86655.cc: New test.
   2132 	* testsuite/tr1/5_numerical_facilities/special_functions/
   2133 	22_sph_legendre/pr86655.cc: New test.
   2134 
   2135 2019-03-06  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   2136 
   2137 	Rewrite variant.
   2138 	Also PR libstdc++/85517
   2139 	* include/std/variant (__do_visit): New.
   2140 	(__variant_cast): Likewise.
   2141 	(__variant_cookie): Likewise.
   2142 	(__erased_*): Remove.
   2143 	(_Variant_storage::_S_vtable): Likewise.
   2144 	(_Variant_storage::__M_reset_impl): Adjust to use __do_visit.
   2145 	(_Variant_storage::__M_reset): Adjust.
   2146 	(__variant_construct): New.
   2147 	(_Copy_ctor_base(const _Copy_ctor_base&)): Adjust to use
   2148 	__variant_construct.
   2149 	(_Move_ctor_base(_Move_ctor_base&&)): Likewise.
   2150 	(_Move_ctor_base::__M_destructive_copy): New.
   2151 	(_Move_ctor_base::__M_destructive_move): Adjust to use
   2152 	__variant_construct.
   2153 	(_Copy_assign_base::operator=): Adjust to use __do_visit.
   2154 	(_Copy_assign_alias): Adjust to check both copy assignment
   2155 	and copy construction for triviality.
   2156 	(_Move_assign_base::operator=): Adjust to use __do_visit.
   2157 	(_Multi_array): Add support for visitors that accept and return
   2158 	a __variant_cookie.
   2159 	(__gen_vtable_impl::_S_apply_all_alts): Likewise.
   2160 	(__gen_vtable_impl::_S_apply_single_alt): Likewise.
   2161 	(__gen_vtable_impl::__element_by_index_or_cookie): New. Generate
   2162 	a __variant_cookie temporary for a variant that is valueless and..
   2163 	(__gen_vtable_impl::__visit_invoke): ..adjust here.
   2164 	(__gen_vtable::_Array_type): Conditionally make space for
   2165 	the __variant_cookie visitor case.
   2166 	(__variant_construct_by_index): New.
   2167 	(get_if): Adjust to use std::addressof.
   2168 	(relops): Adjust to use __do_visit.
   2169 	(variant): Add __variant_cast and __variant_construct_by_index
   2170 	as friends.
   2171 	(variant::emplace): Use _M_reset() and __variant_construct_by_index
   2172 	instead of self-destruction.
   2173 	(variant::swap): Adjust to use __do_visit.
   2174 	(visit): Reimplement in terms of __do_visit.
   2175 	(__variant_hash_call_base_impl::operator()): Adjust to use __do_visit.
   2176 	* testsuite/20_util/variant/compile.cc: Adjust.
   2177 	* testsuite/20_util/variant/run.cc: Likewise.
   2178 
   2179 2019-03-06  Jonathan Wakely  <jwakely (a] redhat.com>
   2180 
   2181 	* include/bits/c++config.h (_cpp_lib_char8_t): Add L suffix to
   2182 	constant.
   2183 	* testsuite/experimental/feat-char8_t.cc: Likewise.
   2184 
   2185 	 * include/std/type_traits [C++20] (is_bounded_array)
   2186 	 (is_unbounded_array, is_bounded_array_v, is_unbounded_array_v):
   2187 	 Define.
   2188 	 * testsuite/20_util/is_bounded_array/requirements/
   2189 	 explicit_instantiation.cc: New test.
   2190 	 * testsuite/20_util/is_bounded_array/requirements/typedefs.cc: New
   2191 	 test.
   2192 	 * testsuite/20_util/is_bounded_array/value.cc: New test.
   2193 	 * testsuite/20_util/is_unbounded_array/requirements/
   2194 	 explicit_instantiation.cc: New test.
   2195 	 * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc: New
   2196 	 * test.
   2197 	 * testsuite/20_util/is_unbounded_array/value.cc: New test.
   2198 
   2199 	* include/bits/ptr_traits.h [C++20] (pointer_traits<T*>::pointer_to):
   2200 	Add constexpr.
   2201 	* testsuite/20_util/pointer_traits/pointer_to_constexpr.cc: New test.
   2202 
   2203 2019-03-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2204 
   2205 	* include/c_compatibility/math.h [C++20] (lerp): Add using
   2206 	declaration.
   2207 	* include/c_global/cmath [C++20] (__cpp_lib_interpolate): Define.
   2208 	(__lerp): Define function template to implement lerp.
   2209 	(lerp(float, float, float), lerp(double, double, double))
   2210 	(lerp(long double, long double, long double)): Define for C++20.
   2211 	* include/std/numeric [C++20] (__cpp_lib_interpolate): Define.
   2212 	(midpoint(T, T), midpoint(T*, T*)): Define.
   2213 	* include/std::version [C++20] (__cpp_lib_interpolate): Define.
   2214 	* testsuite/26_numerics/lerp.cc: New test.
   2215 	* testsuite/26_numerics/midpoint/floating.cc: New test.
   2216 	* testsuite/26_numerics/midpoint/integral.cc: New test.
   2217 	* testsuite/26_numerics/midpoint/pointer.cc: New test.
   2218 
   2219 2019-03-04  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   2220 
   2221 	PR libstdc++/88996 Implement P0439R0
   2222 	Make std::memory_order a scoped enumeration.
   2223 	* include/bits/atomic_base.h: For C++20 make memory_order a scoped enum,
   2224 	add variables for the old enumerators.  Adjust calls.
   2225 	* testsuite/29_atomics/headers/atomic/types_std_c++2a.cc: New test.
   2226 	* testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: New test.
   2227 
   2228 2019-03-04  Jonathan Wakely  <jwakely (a] redhat.com>
   2229 
   2230 	* testsuite/26_numerics/bit/bitops.rot/rotl.cc: Remove bogus dg-do
   2231 	directive.
   2232 
   2233 	* include/std/memory_resource (polymorphic_allocator): Add default
   2234 	template argument for C++20.
   2235 	(polymorphic_allocator::allocate_bytes)
   2236 	(polymorphic_allocator::deallocate_bytes)
   2237 	(polymorphic_allocator::allocate_object)
   2238 	(polymorphic_allocator::deallocate_object)
   2239 	(polymorphic_allocator::new_object)
   2240 	(polymorphic_allocator::delete_object): New member functions for
   2241 	C++20.
   2242 	* testsuite/20_util/polymorphic_allocator/allocate_object.cc: New
   2243 	test.
   2244 
   2245 2019-03-03  Jonathan Wakely  <jwakely (a] redhat.com>
   2246 
   2247 	PR libstdc++/89562
   2248 	* src/filesystem/ops-common.h (do_copy_file): Open files in binary
   2249 	mode for mingw.
   2250 
   2251 2019-03-01  Jonathan Wakely  <jwakely (a] redhat.com>
   2252 
   2253 	* testsuite/util/testsuite_allocator.h (__gnu_test::memory_resource)
   2254 	[!__cpp_sized_deallocation]: Do not pass size to operator delete.
   2255 
   2256 	* include/std/memory (uses_allocator_construction_args): New set of
   2257 	overloaded functions.
   2258 	(make_obj_using_allocator, uninitialized_construct_using_allocator):
   2259 	New functions.
   2260 	* include/std/memory_resource (polymorphic_allocator::construct)
   2261 	[__cplusplus > 201703l]: Replace all overloads with a single function
   2262 	using uses_allocator_construction_args.
   2263 	* testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: New
   2264 	test.
   2265 	* testsuite/20_util/uses_allocator/make_obj.cc: New test.
   2266 
   2267 2019-02-27  Jonathan Wakely  <jwakely (a] redhat.com>
   2268 
   2269 	PR libstdc++/89466
   2270 	* acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Reorder check for local
   2271 	stylesheet directories before check for xsltproc. Try to use
   2272 	xmlcatalog to find local stylesheet directory before trying hardcoded
   2273 	paths. Add path used by suse to hardcoded paths. Adjust xsltproc
   2274 	check to look for the same stylesheet as doc/Makefile.am uses. Don't
   2275 	use xsltproc if xmlcatalog fails to find a local stylesheet.
   2276 	* configure.ac: Check for xmlcatalog.
   2277 	* Makefile.in: Regenerate.
   2278 	* configure: Likewise.
   2279 	* doc/Makefile.in: Likewise.
   2280 	* include/Makefile.in: Likewise.
   2281 	* libsupc++/Makefile.in: Likewise.
   2282 	* po/Makefile.in: Likewise.
   2283 	* python/Makefile.in: Likewise.
   2284 	* src/Makefile.in: Likewise.
   2285 	* src/c++11/Makefile.in: Likewise.
   2286 	* src/c++17/Makefile.in: Likewise.
   2287 	* src/c++98/Makefile.in: Likewise.
   2288 	* src/filesystem/Makefile.in: Likewise.
   2289 	* testsuite/Makefile.in: Likewise.
   2290 
   2291 2019-02-26  Jonathan Wakely  <jwakely (a] redhat.com>
   2292 
   2293 	PR libstdc++/89477
   2294 	* include/bits/alloc_traits.h (_RequireNotAllocator): New helper for
   2295 	container deduction guides.
   2296 	* include/bits/hashtable.h (_RequireNotAllocatorOrIntegral): Likewise.
   2297 	* include/bits/stl_map.h (map): Use _RequireNotAllocator to constrain
   2298 	parameters in deduction guides.
   2299 	* include/bits/stl_multimap.h (multimap): Likewise.
   2300 	* include/bits/stl_multiset.h (multiset): Likewise.
   2301 	* include/bits/stl_queue.h (queue, priority_queue): Likewise.
   2302 	* include/bits/stl_set.h (set): Likewise.
   2303 	* include/bits/stl_stack.h (stack): Likewise.
   2304 	* include/bits/unordered_map.h (unordered_map, unordered_multimap):
   2305 	use _RequireNotAllocator and _RequireNotAllocatorOrIntegral to
   2306 	constrain parameters in deduction guides.
   2307 	* include/bits/unordered_set.h (unordered_set, unordered_multiset):
   2308 	Likewise.
   2309 	* testsuite/23_containers/map/cons/deduction.cc: Test additional
   2310 	deduction cases.
   2311 	* testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
   2312 	* testsuite/23_containers/set/cons/deduction.cc: Likewise.
   2313 	* testsuite/23_containers/unordered_map/cons/deduction.cc: Likewise.
   2314 	* testsuite/23_containers/unordered_multimap/cons/deduction.cc:
   2315 	Likewise.
   2316 	* testsuite/23_containers/unordered_multiset/cons/deduction.cc:
   2317 	Likewise.
   2318 	* testsuite/23_containers/unordered_set/cons/deduction.cc: Likewise.
   2319 
   2320 	PR libstdc++/89416
   2321 	* include/bits/alloc_traits.h (__is_alloc_insertable_impl): Change
   2322 	to class template and partial specialization using void_t.
   2323 	(__is_copy_insertable, __is_move_insertable): Adjust base class.
   2324 
   2325 2019-02-24  Jonathan Wakely  <jwakely (a] redhat.com>
   2326 
   2327 	PR libstdc++/89416
   2328 	* include/bits/alloc_traits.h (__is_alloc_insertable_impl): Make
   2329 	copy and move members public.
   2330 
   2331 2019-02-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2332 
   2333 	* include/std/type_traits (__underlying_type_impl): New helper to
   2334 	make underlying_type SFINAE-friendly.
   2335 	(underlying_type): Derive from __underlying_type_impl.
   2336 	* testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New
   2337 	test.
   2338 
   2339 	PR libstdc++/89446
   2340 	* include/bits/char_traits.h (__constant_char_array): Check index is
   2341 	in range before dereferencing.
   2342 	(char_traits<char>::compare, char_traits<char>::find)
   2343 	(char_traits<char8_t>::compare, char_traits<char8_t>::find): Return
   2344 	immediately if n is zero.
   2345 	(char_traits<wchar_t>::compare, char_traits<wchar_t>::find): Likewise.
   2346 	Remove workarounds for PR 67026.
   2347 	* testsuite/21_strings/basic_string_view/operators/char/89446.cc:
   2348 	New test.
   2349 	* testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc:
   2350 	New test.
   2351 
   2352 2019-02-22  Eric Botcazou  <ebotcazou (a] adacore.com>
   2353 
   2354 	* config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Adjust.
   2355 	* config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: Likewise.
   2356 
   2357 2019-02-22  Jakub Jelinek  <jakub (a] redhat.com>
   2358 
   2359 	PR libstdc++/89402
   2360 	* src/c++98/compatibility-ldbl.cc (_ZNKSt4hashIeEclEe): Change return
   2361 	type to std::size_t and argument to type to long double.
   2362 
   2363 2019-02-22  Eric Botcazou  <ebotcazou (a] adacore.com>
   2364 
   2365 	* configure.host (abi_baseline_pair): Adjust for SPARC64/Linux.
   2366 	* config/abi/post/sparc64-linux-gnu: New directory.
   2367 	* config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: New file.
   2368 	* config/abi/post/sparc64-linux-gnu/32: New directory.
   2369 	* config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: New file.
   2370 
   2371 2019-02-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2372 
   2373 	* testsuite/29_atomics/headers/atomic/types_std_c++20.cc: New test.
   2374 	* testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc: New
   2375 	test.
   2376 
   2377 2019-02-22  Tom Honermann  <tom (a] honermann.net>
   2378 
   2379 	* python/libstdcxx/v6/printers.py (register_type_printers): Add type
   2380 	printers for u8string and u8string_view.
   2381 
   2382 2019-02-22  Tom Honermann  <tom (a] honermann.net>
   2383 
   2384 	* testsuite/18_support/byte/ops.cc: Validate
   2385 	std::to_integer<char8_t>, std::to_integer<char16_t>, and
   2386 	std::to_integer<char32_t>.
   2387 	* testsuite/18_support/numeric_limits/dr559.cc: Validate
   2388 	std::numeric_limits<char8_t>.
   2389 	* testsuite/18_support/numeric_limits/lowest.cc: Validate
   2390 	std::numeric_limits<char8_t>::lowest().
   2391 	* testsuite/18_support/numeric_limits/max_digits10.cc: Validate
   2392 	std::numeric_limits<char8_t>::max_digits10.
   2393 	* testsuite/18_support/type_info/fundamental.cc: Validate
   2394 	typeinfo for char8_t.
   2395 	* testsuite/20_util/from_chars/1_c++20_neg.cc: New test, validating
   2396 	std::from_chars with char8_t.
   2397 	* testsuite/20_util/hash/requirements/explicit_instantiation.cc:
   2398 	Validate explicit instantiation of std::hash<char8_t>.
   2399 	* testsuite/20_util/is_integral/value.cc: Validate
   2400 	std::is_integral<char8_t>.
   2401 	* testsuite/20_util/make_signed/requirements/typedefs-4.cc:
   2402 	Validate std::make_signed<char8_t>.
   2403 	* testsuite/21_strings/basic_string/cons/char/deduction.cc:
   2404 	Validate u8string construction from char8_t sources.
   2405 	* testsuite/21_strings/basic_string/types/pmr_typedefs.cc: Validate
   2406 	std::pmr::u8string.
   2407 	* testsuite/21_strings/basic_string_view/operations/compare/
   2408 	char/70483.cc: Validate substr operations on u8string_view.
   2409 	* testsuite/21_strings/basic_string_view/typedefs.cc: Validate that
   2410 	the u8string_view typedef is defined.
   2411 	* testsuite/21_strings/char_traits/requirements/
   2412 	constexpr_functions.cc: Validate char_traits<char8_t> constexpr
   2413 	member functions.
   2414 	* testsuite/21_strings/char_traits/requirements/
   2415 	constexpr_functions_c++17.cc: Validate char_traits<char8_t> C++17
   2416 	constexpr member functions.
   2417 	* testsuite/21_strings/headers/string/types_std_c++0x.cc: Validate
   2418 	that the u8string typedef is defined.
   2419 	* testsuite/22_locale/locale/cons/unicode.cc: Validate the presence
   2420 	of the std::codecvt<char16_t, char8_t, std::mbstate_t> and
   2421 	std::codecvt<char32_t, char8_t, std::mbstate_t> facets.
   2422 	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Update line
   2423 	numbers.
   2424 	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
   2425 	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
   2426 	Likewise.
   2427 	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
   2428 	* testsuite/29_atomics/atomic_integral/is_always_lock_free.cc:
   2429 	Validate std::atomic<char8_t>::is_always_lock_free
   2430 	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
   2431 	Update line numbers.
   2432 	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
   2433 	Likewise.
   2434 	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
   2435 	Likewise.
   2436 	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
   2437 	Validate std::experimental::pmr::u8string.
   2438 	* testsuite/experimental/string_view/typedefs.cc: Validate that the
   2439 	u8string_view typedef is defined.
   2440 	* testsuite/util/testsuite_common_types.h: Add char8_t, char16_t and
   2441 	char32_t to the typelists.
   2442 
   2443 2019-02-22  Tom Honermann  <tom (a] honermann.net>
   2444 
   2445 	* include/ext/typelist.h: Constrain a partial specialization of
   2446 	typelist::detail::append_ to only match chain<T1,T2>.
   2447 
   2448 2019-02-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2449 
   2450 	PR libstdc++/89416
   2451 	* include/bits/alloc_traits.h (__is_alloc_insertable_impl): Replace
   2452 	class template with class. Replace move and copy member types with
   2453 	member alias templates, so they are only instantiated when needed.
   2454 	(__is_copy_insertable, __is_move_insertable): Adjust base class.
   2455 	* testsuite/23_containers/vector/modifiers/push_back/89130.cc: Enable
   2456 	test for C++11/14/17 as well.
   2457 	* testsuite/23_containers/vector/modifiers/push_back/89416.cc: New
   2458 	test.
   2459 
   2460 2019-02-20  Jakub Jelinek  <jakub (a] redhat.com>
   2461 
   2462 	PR libstdc++/89402
   2463 	* src/c++98/compatibility-ldbl.cc (_ZNKSt4hashIeEclEe): Add
   2464 	_GLIBCXX_PURE to the alias declaration.
   2465 
   2466 2019-02-19  Jonathan Wakely  <jwakely (a] redhat.com>
   2467 
   2468 	* testsuite/21_strings/basic_string/literals/types.cc
   2469 	[_GLIBCXX_USE_CHAR8_T]: Adjust expected string type for u8 literal.
   2470 	* testsuite/21_strings/basic_string/literals/values.cc
   2471 	[_GLIBCXX_USE_CHAR8_T]: Likewise.
   2472 	* testsuite/22_locale/codecvt/char16_t.cc: Adjust for u8 literals
   2473 	potentially having different type.
   2474 	* testsuite/22_locale/codecvt/char32_t.cc: Likewise.
   2475 	* testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: Cast u8 literal
   2476 	to char.
   2477 	* testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: Likewise.
   2478 	* testsuite/22_locale/codecvt/utf8.cc: Likewise.
   2479 	* testsuite/22_locale/conversions/string/2.cc: Remove u8 prefix from
   2480 	string literals only using basic character set.
   2481 	* testsuite/22_locale/conversions/string/3.cc: Likewise. Cast other
   2482 	u8 literals to char.
   2483 	* testsuite/29_atomics/headers/atomic/macros.cc [_GLIBCXX_USE_CHAR8_T]:
   2484 	Test ATOMIC_CHAR8_T_LOCK_FREE.
   2485 	Add missing #error to ATOMIC_CHAR16_T_LOCK_FREE test.
   2486 	* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc
   2487 	[_GLIBCXX_USE_CHAR8_T]: Check for std::atomic_char8_t.
   2488 	* testsuite/experimental/string_view/literals/types.cc
   2489 	[_GLIBCXX_USE_CHAR8_T]: Adjust expected string_view type for u8
   2490 	literal.
   2491 	* testsuite/experimental/string_view/literals/values.cc
   2492 	[_GLIBCXX_USE_CHAR8_T]: Likewise.
   2493 
   2494 2019-02-19  Tom Honermann  <tom (a] honermann.net>
   2495 
   2496 	* testsuite/18_support/numeric_limits/char8_t.cc: New test cloned
   2497 	from char16_32_t.cc; validates numeric_limits<char8_t>.
   2498 	* testsuite/21_strings/basic_string/literals/types-char8_t.cc: New
   2499 	test cloned from types.cc; validates operator""s for char8_t
   2500 	returns u8string.
   2501 	* testsuite/21_strings/basic_string/literals/values-char8_t.cc: New
   2502 	test cloned from values.cc; validates construction and comparison
   2503 	of u8string values.
   2504 	* testsuite/21_strings/basic_string/requirements/
   2505 	/explicit_instantiation/char8_t/1.cc: New test cloned from
   2506 	char16_t/1.cc; validates explicit instantiation of
   2507 	basic_string<char8_t>.
   2508 	* testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
   2509 	New test cloned from types.cc; validates operator""sv for char8_t
   2510 	returns u8string_view.
   2511 	* testsuite/21_strings/basic_string_view/literals/
   2512 	values-char8_t.cc: New test cloned from values.cc; validates
   2513 	construction and comparison of u8string_view values.
   2514 	* testsuite/21_strings/basic_string_view/requirements/
   2515 	explicit_instantiation/char8_t/1.cc: New test cloned from
   2516 	char16_t/1.cc; validates explicit instantiation of
   2517 	basic_string_view<char8_t>.
   2518 	* testsuite/21_strings/char_traits/requirements/char8_t/65049.cc:
   2519 	New test cloned from char16_t/65049.cc; validates that
   2520 	char_traits<char8_t> is not vulnerable to the concerns in PR65049.
   2521 	* testsuite/21_strings/char_traits/requirements/char8_t/
   2522 	typedefs.cc: New test cloned from char16_t/typedefs.cc; validates
   2523 	that char_traits<char8_t> member typedefs are present and correct.
   2524 	* testsuite/21_strings/char_traits/requirements/
   2525 	explicit_instantiation/char8_t/1.cc: New test cloned from
   2526 	char16_t/1.cc; validates explicit instantiation of
   2527 	char_traits<char8_t>.
   2528 	* testsuite/22_locale/codecvt/char16_t-char8_t.cc: New test cloned
   2529 	from char16_t.cc: validates
   2530 	codecvt<char16_t, char8_t, mbstate_t>.
   2531 	* testsuite/22_locale/codecvt/char32_t-char8_t.cc: New test cloned
   2532 	from char32_t.cc: validates
   2533 	codecvt<char32_t, char8_t, mbstate_t>.
   2534 	* testsuite/22_locale/codecvt/utf8-char8_t.cc: New test cloned from
   2535 	utf8.cc; validates codecvt<char16_t, char8_t, std::mbstate_t> and
   2536 	codecvt<char32_t, char8_t, std::mbstate_t>.
   2537 	* testsuite/27_io/filesystem/path/native/string-char8_t.cc: New
   2538 	test cloned from string.cc; validates filesystem::path construction
   2539 	from char8_t input.
   2540 	* testsuite/experimental/feat-char8_t.cc: New test; validates that
   2541 	the __cpp_lib_char8_t feature test macro is defined with the
   2542 	correct value.
   2543 	* testsuite/experimental/filesystem/path/native/string-char8_t.cc:
   2544 	New test cloned from string.cc; validates filesystem::path
   2545 	construction from char8_t input.
   2546 	* testsuite/experimental/string_view/literals/types-char8_t.cc: New
   2547 	test cloned from types.cc; validates operator""sv for char8_t
   2548 	returns u8string_view.
   2549 	* testsuite/experimental/string_view/literals/values-char8_t.cc:
   2550 	New test cloned from values.cc; validates construction and
   2551 	comparison of u8string_view values.
   2552 	* testsuite/experimental/string_view/requirements/
   2553 	explicit_instantiation/char8_t/1.cc: New test cloned from
   2554 	char16_t/1.cc; validates explicit instantiation of
   2555 	basic_string_view<char8_t>.
   2556 	* testsuite/ext/char8_t/atomic-1.cc: New test; validates that
   2557 	ATOMIC_CHAR8_T_LOCK_FREE is not defined if char8_t support is not
   2558 	enabled.
   2559 
   2560 2019-02-19  Tom Honermann  <tom (a] honermann.net>
   2561 
   2562 	P0482R5 char8_t: Standard library support
   2563 	* config/abi/pre/gnu-versioned-namespace.ver (CXXABI_2.0): Add
   2564 	typeinfo symbols for char8_t.
   2565 	* config/abi/pre/gnu.ver: Add CXXABI_1.3.12.
   2566 	(GLIBCXX_3.4.26): Add symbols for specializations of
   2567 	numeric_limits and codecvt that involve char8_t.
   2568 	(CXXABI_1.3.12): Add typeinfo symbols for char8_t.
   2569 	* include/bits/atomic_base.h: Add atomic_char8_t.
   2570 	* include/bits/basic_string.h: Add std::hash<u8string> and
   2571 	operator""s(const char8_t*, size_t).
   2572 	* include/bits/c++config: Define _GLIBCXX_USE_CHAR8_T and
   2573 	__cpp_lib_char8_t.
   2574 	* include/bits/char_traits.h: Add char_traits<char8_t>.
   2575 	* include/bits/codecvt.h: Add
   2576 	codecvt<char16_t, char8_t, mbstate_t>,
   2577 	codecvt<char32_t, char8_t, mbstate_t>,
   2578 	codecvt_byname<char16_t, char8_t, mbstate_t>, and
   2579 	codecvt_byname<char32_t, char8_t, mbstate_t>.
   2580 	* include/bits/cpp_type_traits.h: Add __is_integer<char8_t> to
   2581 	recognize char8_t as an integral type.
   2582 	* include/bits/fs_path.h: (path::__is_encoded_char): Recognize
   2583 	char8_t.
   2584 	(path::u8string): Return std::u8string when char8_t support is
   2585 	enabled.
   2586 	(path::generic_u8string): Likewise.
   2587 	(path::_S_convert): Handle conversion from char8_t input.
   2588 	(path::_S_str_convert): Likewise.
   2589 	* include/bits/functional_hash.h: Add hash<char8_t>.
   2590 	* include/bits/locale_conv.h (__str_codecvt_out): Add overloads for
   2591 	char8_t.
   2592 	* include/bits/locale_facets.h (_GLIBCXX_NUM_UNICODE_FACETS): Bump
   2593 	for new char8_t specializations.
   2594 	* include/bits/localefwd.h: Add missing declarations of
   2595 	codecvt<char16_t, char, mbstate_t> and
   2596 	codecvt<char32_t, char, mbstate_t>.  Add char8_t declarations
   2597 	codecvt<char16_t, char8_t, mbstate_t> and
   2598 	codecvt<char32_t, char8_t, mbstate_t>.
   2599 	* include/bits/postypes.h: Add u8streampos
   2600 	* include/bits/stringfwd.h: Add declarations of
   2601 	char_traits<char8_t> and u8string.
   2602 	* include/c_global/cstddef: Add __byte_operand<char8_t>.
   2603 	* include/experimental/bits/fs_path.h (path::__is_encoded_char):
   2604 	Recognize char8_t.
   2605 	(path::u8string): Return std::u8string when char8_t support is
   2606 	enabled.
   2607 	(path::generic_u8string): Likewise.
   2608 	(path::_S_convert): Handle conversion from char8_t input.
   2609 	(path::_S_str_convert): Likewise.
   2610 	* include/experimental/string: Add u8string.
   2611 	* include/experimental/string_view: Add u8string_view,
   2612 	hash<experimental::u8string_view>, and
   2613 	operator""sv(const char8_t*, size_t).
   2614 	* include/std/atomic: Add atomic<char8_t> and atomic_char8_t.
   2615 	* include/std/charconv (__is_int_to_chars_type): Recognize char8_t
   2616 	as a character type.
   2617 	* include/std/limits: Add numeric_limits<char8_t>.
   2618 	* include/std/string_view: Add u8string_view,
   2619 	hash<experimental::u8string_view>, and
   2620 	operator""sv(const char8_t*, size_t).
   2621 	* include/std/type_traits: Add __is_integral_helper<char8_t>,
   2622 	__make_unsigned<char8_t>, and __make_signed<char8_t>.
   2623 	* libsupc++/atomic_lockfree_defines.h: Define
   2624 	ATOMIC_CHAR8_T_LOCK_FREE.
   2625 	* src/c++11/Makefile.am: Compile with -fchar8_t when compiling
   2626 	codecvt.cc and limits.cc so that char8_t specializations of
   2627 	numeric_limits and codecvt and emitted.
   2628 	* src/c++11/Makefile.in: Likewise.
   2629 	* src/c++11/codecvt.cc: Define members of
   2630 	codecvt<char16_t, char8_t, mbstate_t>,
   2631 	codecvt<char32_t, char8_t, mbstate_t>,
   2632 	codecvt_byname<char16_t, char8_t, mbstate_t>, and
   2633 	codecvt_byname<char32_t, char8_t, mbstate_t>.
   2634 	* src/c++11/limits.cc: Define members of
   2635 	numeric_limits<char8_t>.
   2636 	* src/c++98/Makefile.am: Compile with -fchar8_t when compiling
   2637 	locale_init.cc and localename.cc.
   2638 	* src/c++98/Makefile.in: Likewise.
   2639 	* src/c++98/locale_init.cc: Add initialization for the
   2640 	codecvt<char16_t, char8_t, mbstate_t> and
   2641 	codecvt<char32_t, char8_t, mbstate_t> facets.
   2642 	* src/c++98/localename.cc: Likewise.
   2643 	* testsuite/util/testsuite_abi.cc: Validate ABI bump.
   2644 
   2645 2019-02-18  Wilco Dijkstra  <wdijkstr (a] arm.com>
   2646 
   2647 	* 27_io/filesystem/operations/all.cc: Add dg-require-filesystem-ts.
   2648 	* 27_io/filesystem/operations/resize_file.cc: Likewise.
   2649 	* 27_io/filesystem/path/generation/normal2.cc: Likewise.
   2650 
   2651 2019-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2652 
   2653 	* doc/xml/manual/status_cxx2020.xml: Update P0887R1 status.
   2654 	* doc/html/*: Regenerate.
   2655 
   2656 	* doc/xml/manual/status_cxx2017.xml: Add P0063R3 to status table.
   2657 	* doc/html/*: Regenerate.
   2658 
   2659 	* doc/xml/manual/intro.xml: Document LWG 2586 status.
   2660 	* include/bits/uses_allocator.h (__uses_alloc): Use const lvalue
   2661 	allocator type in is_constructible checks.
   2662 	* testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
   2663 	* testsuite/20_util/scoped_allocator/dr2586.cc: New test.
   2664 	* testsuite/20_util/tuple/cons/allocators.cc: Add test using
   2665 	problematic type from LWG 2586 discussion.
   2666 	* testsuite/20_util/uses_allocator/69293_neg.cc: Adjust dg-error.
   2667 	* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
   2668 
   2669 	* configure.ac: Check for C11 timespec_get function.
   2670 	* crossconfig.m4 (freebsd, linux, gnu, cygwin, solaris, netbsd)
   2671 	(openbsd): Likewise
   2672 	* config.h.in: Regenerate.
   2673 	* configure: Regenerate.
   2674 	* include/c_global/ctime (timespec, timespec_get): Add to namespace
   2675 	std for C++17 and up.
   2676 
   2677 	* doc/xml/manual/intro.xml: Document LWG 2537 status.
   2678 	* include/bits/stl_queue.h
   2679 	(priority_queue(const Compare&, const Container&, const Alloc&))
   2680 	(priority_queue(const Compare&, Container&&, const Alloc&)): Call
   2681 	make_heap.
   2682 	* testsuite/23_containers/priority_queue/dr2537.cc: New test.
   2683 
   2684 	* doc/xml/manual/intro.xml: Document LWG 2566 status.
   2685 	* include/bits/stl_queue.h (queue, priority_queue): Add static
   2686 	assertions to enforce LWG 2566 requirement on value_type.
   2687 	* include/bits/stl_stack.h (stack): Likewise.
   2688 
   2689 	PR middle-end/89303
   2690 	* testsuite/20_util/enable_shared_from_this/89303.cc: New test.
   2691 
   2692 	* doc/xml/manual/intro.xml: Document LWG 2735 status.
   2693 	* include/bits/std_abs.h: Add comment about LWG 2735.
   2694 	* testsuite/26_numerics/headers/cstdlib/dr2735.cc: New test.
   2695 
   2696 2019-02-13  Jonathan Wakely  <jwakely (a] redhat.com>
   2697 
   2698 	PR libstdc++/89345
   2699 	* include/std/version [__cpp_impl_destroying_delete]
   2700 	(__cpp_lib_destroying_delete): Only define for C++2a and later.
   2701 	* libsupc++/new [__cpp_impl_destroying_delete]
   2702 	(__cpp_lib_destroying_delete): Likewise.
   2703 	(destroying_delete_t, destroying_delete): Likewise, but define even
   2704 	when __cpp_impl_destroying_delete is not defined.
   2705 	* testsuite/18_support/destroying_delete.cc: New test.
   2706 
   2707 2019-02-11  Jonathan Wakely  <jwakely (a] redhat.com>
   2708 
   2709 	PR libstdc++/89023
   2710 	* testsuite/17_intro/headers/c++2011/parallel_mode.cc: New test.
   2711 	* testsuite/17_intro/headers/c++2014/parallel_mode.cc: New test.
   2712 	* testsuite/17_intro/headers/c++2017/parallel_mode.cc: New test.
   2713 	* testsuite/28_regex/headers/regex/parallel_mode.cc: Remove.
   2714 
   2715 2019-02-09  Jonathan Wakely  <jwakely (a] redhat.com>
   2716 
   2717 	PR libstdc++/71044
   2718 	* include/bits/fs_path.h (path::has_root_name)
   2719 	(path::has_root_directory, path::has_root_path)
   2720 	(path::has_relative_path, path::has_parent_path)
   2721 	(path::has_filename, path::has_stem, path::has_extension)
   2722 	(path::is_absolute, path::is_relative, path::_M_find_extension): Add
   2723 	noexcept.
   2724 	* src/c++17/fs_path.cc (path::has_root_name)
   2725 	(path::has_root_directory, path::has_root_path)
   2726 	(path::has_relative_path, path::has_parent_path)
   2727 	(path::has_filename, path::_M_find_extension): Add noexcept.
   2728 
   2729 2019-02-06  Jonathan Wakely  <jwakely (a] redhat.com>
   2730 
   2731 	PR libstdc++/89102 (partial)
   2732 	* include/std/type_traits (common_type<>): Define.
   2733 	(common_type<T>): Derive from common_type<T, T>.
   2734 	* testsuite/20_util/common_type/requirements/explicit_instantiation.cc:
   2735 	Test zero-length template argument list.
   2736 	* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
   2737 	Test additional single argument cases.
   2738 	* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
   2739 	Adjust expected error.
   2740 
   2741 2019-02-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2742 
   2743 	PR libstdc++/89128
   2744 	* include/bits/stl_queue.h (queue, priority_queue): Add deduction
   2745 	guides.
   2746 	* include/bits/stl_stack.h (stack): Likewise.
   2747 	* testsuite/23_containers/priority_queue/deduction.cc: New test.
   2748 	* testsuite/23_containers/queue/deduction.cc: New test.
   2749 	* testsuite/23_containers/stack/deduction.cc: New test.
   2750 
   2751 	PR libstdc++/89194
   2752 	* include/std/type_traits (__is_convertible_helper)
   2753 	(__is_convertible_helper<_From, _To, false>): Revert changes to
   2754 	support is_nothrow_convertible.
   2755 	(__is_nt_convertible_helper): New helper.
   2756 	(is_nothrow_convertible): Use __is_nt_convertible_helper.
   2757 
   2758 	* testsuite/23_containers/vector/modifiers/push_back/49836.cc: Restore
   2759 	use of CopyConsOnlyType, but also test DelAnyAssign for completeness.
   2760 
   2761 	PR libstdc++/89130
   2762 	* include/bits/alloc_traits.h (__is_copy_insertable_impl): Rename to
   2763 	__is_alloc_insertable_impl. Replace single type member with two
   2764 	members, one for each of copy and move insertable.
   2765 	(__is_move_insertable): New trait for internal use.
   2766 	* include/bits/stl_vector.h (vector::_S_nothrow_relocate(true_type))
   2767 	(vector::_S_nothrow_relocate(true_type)): New functions to
   2768 	conditionally check if __relocate_a can throw.
   2769 	(vector::_S_use_relocate()): Dispatch to _S_nothrow_relocate based
   2770 	on __is_move_insertable.
   2771 	(vector::_S_do_relocate): New overloaded functions to conditionally
   2772 	call __relocate_a.
   2773 	(vector::_S_relocate): New function that dispatches to _S_do_relocate
   2774 	based on _S_use_relocate.
   2775 	* include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
   2776 	(vector::_M_default_append): Call _S_relocate instead of __relocate_a.
   2777 	* testsuite/23_containers/vector/modifiers/push_back/89130.cc: New.
   2778 
   2779 	PR libstdc++/89090
   2780 	* include/bits/stl_uninitialized.h (__relocate_a_1): Make unused
   2781 	parameter unnamed. Add message to static assertion.
   2782 	* include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
   2783 	(vector::_M_default_append): Use _GLIBCXX17_CONSTEXPR for if constexpr
   2784 	in C++11 code.
   2785 
   2786 2019-02-05  Marc Glisse  <marc.glisse (a] inria.fr>
   2787 
   2788 	PR libstdc++/87106
   2789 	* include/bits/stl_uninitialized.h (__is_trivially_relocatable):
   2790 	Rename...
   2791 	(__is_bitwise_relocatable): ... to this.
   2792 	(__relocate_a_1): Adapt.
   2793 	* include/bits/stl_deque.h (__is_trivially_relocatable): Rename...
   2794 	(__is_bitwise_relocatable): ... to this.
   2795 
   2796 2019-01-30  Jonathan Wakely  <jwakely (a] redhat.com>
   2797 
   2798 	PR libstdc++/89117
   2799 	* src/c++17/fs_path.cc (path::replace_extension): Erase extension from
   2800 	final component as well as from _M_pathname. Append the dot using
   2801 	operator+= instead of only to _M_pathname.
   2802 	(path::_M_find_extension): Reformat slightly.
   2803 	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
   2804 	Add more test cases.
   2805 
   2806 2019-01-30  Ulrich Drepper  <drepper (a] redhat.com>
   2807 
   2808 	* doc/xml/manual/status_cxx2020.xml: Update P0600 entry.
   2809 
   2810 2019-01-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2811 
   2812 	* testsuite/26_numerics/headers/complex/synopsis.cc: Remove incorrect
   2813 	constexpr specifiers from arg and proj.
   2814 
   2815 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Add missing exports for
   2816 	__shared_ptr instantiations used by gcc4-compatible ABI.
   2817 
   2818 	* include/experimental/forward_list (experimental::erase): Qualify
   2819 	call to erase_if.
   2820 	* include/experimental/list (experimental::erase): Likewise.
   2821 	* include/std/forward_list (std::erase): Likewise.
   2822 	* include/std/list (std::erase): Likewise.
   2823 
   2824 	* testsuite/20_util/reference_wrapper/result_type.cc: Disable for
   2825 	C++2a.
   2826 	* testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
   2827 	* testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
   2828 	* testsuite/20_util/reference_wrapper/typedefs.cc: Likewise.
   2829 	* testsuite/30_threads/async/54297.cc: Suppress nodiscard warning.
   2830 	* testsuite/ext/array_allocator/26875.cc: Likewise.
   2831 	* testsuite/ext/pool_allocator/allocate_chunk.cc: Likewise.
   2832 	* testsuite/util/replacement_memory_operators.h: Likewise.
   2833 	* testsuite/util/testsuite_allocator.h: Likewise.
   2834 
   2835 	* include/std/memory_resource (__pool_resource::_M_unpooled): Use
   2836 	normal mode vector, even for debug mode.
   2837 	* include/std/vector [_GLIBCXX_DEBUG] (_GLIBCXX_STD_C::pmr::vector):
   2838 	Define alias template for normal mode vector.
   2839 
   2840 2019-01-28  Jonathan Wakely  <jwakely (a] redhat.com>
   2841 
   2842 	PR libstdc++/68737
   2843 	* config/locale/generic/c_locale.h (__convert_from_v)
   2844 	[_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
   2845 	* config/os/hpux/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
   2846 	* include/bits/locale_facets.tcc (num_put::_M_insert_float)
   2847 	[_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
   2848 
   2849 2019-01-24  Jonathan Wakely  <jwakely (a] redhat.com>
   2850 
   2851 	PR libstdc++/88840
   2852 	* include/bits/stl_vector.h (vector::__use_relocate): Replace static
   2853 	data member with static member function _S_use_relocate().
   2854 	* include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
   2855 	(vector::_M_default_append): Use _S_use_relocate() instead of
   2856 	__use_relocate.
   2857 
   2858 	* testsuite/27_io/filesystem/path/compare/strings.cc: Only compare
   2859 	sign of results.
   2860 
   2861 2019-01-22  Jonathan Wakely  <jwakely (a] redhat.com>
   2862 
   2863 	PR libstdc++/88740
   2864 	* testsuite/util/testsuite_hooks.h [stderr] (VERIFY): Use fprintf to
   2865 	write to stderr instead of using printf.
   2866 
   2867 2019-01-21  Jakub Jelinek  <jakub (a] redhat.com>
   2868 
   2869 	PR libstdc++/86590
   2870 	* include/bits/char_traits.h (__constant_string_p,
   2871 	__constant_char_array_p): Use __builtin_is_constant_evaluated if
   2872 	available.
   2873 
   2874 2019-01-20  Ulrich Drepper  <drepper (a] redhat.com>
   2875 
   2876 	Implement C++20 P0600r1.
   2877 	* include/backward/hash_map: Add nodiscard attribute to empty.
   2878 	* include/backward/hash_set: Likewise.
   2879 	* backward/hashtable.h: Likewise.
   2880 	* include/bits/basic_string.h: Likewise.
   2881 	* include/bits/forward_list.h: Likewise.
   2882 	* include/bits/hashtable.h: Likewise.
   2883 	* include/bits/regex.h: Likewise.
   2884 	* include/bits/stl_deque.h: Likewise.
   2885 	* include/bits/stl_list.h: Likewise.
   2886 	* include/bits/stl_map.h: Likewise.
   2887 	* include/bits/stl_multimap.h: Likewise.
   2888 	* include/bits/stl_multiset.h: Likewise.
   2889 	* include/bits/stl_queue.h: Likewise.
   2890 	* include/bits/stl_set.h: Likewise.
   2891 	* include/bits/stl_stack.h: Likewise.
   2892 	* include/bits/stl_tree.h: Likewise.
   2893 	* include/bits/stl_vector.h: Likewise.
   2894 	* include/bits/unordered_map.h: Likewise.
   2895 	* include/bits/unordered_set.h: Likewise.
   2896 	* include/debug/array: Likewise.
   2897 	* include/experimental/any: Likewise.
   2898 	* include/experimental/bits/fs_path.h: Likewise.
   2899 	* include/experimental/internet: Likewise.
   2900 	* include/experimental/string_view: Likewise.
   2901 	* include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp:
   2902 	Likewise.
   2903 	* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp:
   2904 	Likewise.
   2905 	* include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp:
   2906 	Likewise.
   2907 	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp:
   2908 	Likewise.
   2909 	* include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp:
   2910 	Likewise.
   2911 	* include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp:
   2912 	Likewise.
   2913 	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp:
   2914 	Likewise.
   2915 	* include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp:
   2916 	Likewise.
   2917 	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
   2918 	info_fn_imps.hpp: Likewise.
   2919 	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
   2920 	left_child_next_sibling_heap_.hpp: Likewise.
   2921 	* include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp:
   2922 	Likewise.
   2923 	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp:
   2924 	Likewise.
   2925 	* include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp:
   2926 	Likewise.
   2927 	* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hp:
   2928 	Likewise.
   2929 	* include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp:
   2930 	Likewise.
   2931 	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp:
   2932 	Likewise.
   2933 	* include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp:
   2934 	Likewise.
   2935 	* include/ext/pb_ds/detail/tree_trace_base.hpp: Likewise.
   2936 	* include/ext/pb_ds/trie_policy.hpp: Likewise.
   2937 	* include/ext/rope: Likewise.
   2938 	* include/ext/slist: Likewise.
   2939 	* include/ext/vstring.h: Likewise.
   2940 	* include/profile/array: Likewise.
   2941 	* include/std/array: Likewise.
   2942 	* include/tr1/array: Likewise.
   2943 	* include/tr1/hashtable.h: Likewise.
   2944 	* include/tr1/regex: Likewise.
   2945 	* include/tr2/dynamic_bitset: Likewise.
   2946 	* include/bits/alloc_traits.h: Add nodiscard attribute to
   2947 	allocate.
   2948 	* include/experimental/memory_resource: Likewise.
   2949 	* include/ext/alloc_traits.h: Likewise.
   2950 	* include/ext/array_allocator.h: Likewise.
   2951 	* include/ext/bitmap_allocator.h: Likewise.
   2952 	* include/ext/debug_allocator.h: Likewise.
   2953 	* include/ext/extptr_allocator.h: Likewise.
   2954 	* include/ext/mt_allocator.h: Likewise.
   2955 	* include/ext/new_allocator.h: Likewise.
   2956 	* include/ext/pool_allocator.h: Likewise.
   2957 	* include/ext/throw_allocator.h: Likewise.
   2958 	* include/std/scoped_allocator: Likewise.
   2959 	* libsupc++/eh_alloc.cc: Likewise.
   2960 	* include/std/future: Add nodiscard attribute to async.
   2961 	* libsupc++/new: Add nodiscard attribute to new.
   2962 
   2963 2019-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
   2964 
   2965 	PR libstdc++/87514
   2966 	PR libstdc++/87520
   2967 	PR libstdc++/88782
   2968 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export new symbol.
   2969 	* include/bits/shared_ptr.h
   2970 	(shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...))
   2971 	(allocate_shared): Change to use new tag type.
   2972 	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_eq):
   2973 	Declare new member function.
   2974 	(_Sp_alloc_shared_tag): Define new type.
   2975 	(_Sp_counted_ptr_inplace): Declare __shared_count<_Lp> as a friend.
   2976 	(_Sp_counted_ptr_inplace::_M_get_deleter) [!__cpp_rtti]: Use
   2977 	_Sp_make_shared_tag::_S_eq to check type_info.
   2978 	(__shared_count(Ptr, Deleter),__shared_count(Ptr, Deleter, Alloc)):
   2979 	Constrain to prevent being called with _Sp_alloc_shared_tag.
   2980 	(__shared_count(_Sp_make_shared_tag, const _Alloc&, Args&&...)):
   2981 	Replace constructor with ...
   2982 	(__shared_count(Tp*&, _Sp_alloc_shared_tag<_Alloc>, Args&&...)): Use
   2983 	reference parameter so address of the new object can be returned to
   2984 	the caller. Obtain the allocator from the tag type.
   2985 	(__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Replace
   2986 	constructor with ...
   2987 	(__shared_ptr(_Sp_alloc_shared_tag<Alloc>, Args&&...)): Pass _M_ptr
   2988 	to the __shared_count constructor.
   2989 	(__allocate_shared): Change to use new tag type.
   2990 	* src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq): Define.
   2991 
   2992 2019-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2993 
   2994 	* src/c++17/fs_ops.cc
   2995 	(equivalent(const path&, const path&, error_code&))
   2996 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use GetFileInformationByHandle to
   2997 	compare files instead of relying on incomplete info returned by stat.
   2998 
   2999 	PR libstdc++/88884
   3000 	* src/c++17/fs_ops.cc (absolute(const path&, error_code&)): Do nothing
   3001 	if the path is already absolute.
   3002 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Normalize root-directory.
   3003 	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Pass error_code to current_path.
   3004 
   3005 	PR libstdc++/88881
   3006 	* src/c++17/fs_ops.cc (canonical(const path&, error_code&))
   3007 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Normalize path, to match behaviour
   3008 	of filesystem::exists.
   3009 	(create_directories(const path&, error_code&)): Add assertions.
   3010 	(status(const path&, error_code&)) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]:
   3011 	Add workaround for bug in _wstat for paths with trailing slash.
   3012 	* testsuite/27_io/filesystem/operations/create_directories.cc: Adjust
   3013 	for expected behaviour on mingw.
   3014 	* testsuite/experimental/filesystem/operations/create_directories.cc:
   3015 	Likewise.
   3016 	* testsuite/27_io/filesystem/operations/temp_directory_path.cc: Use
   3017 	"TMP" instead of "TMPDIR" and clean environment before each test. Do
   3018 	not test permissions on mingw targets.
   3019 
   3020 2019-01-16  Jonathan Wakely  <jwakely (a] redhat.com>
   3021 
   3022 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Add exports for fstream
   3023 	constructors and open members taking wide strings. Fix patterns for
   3024 	filesystem::path members to match wstring_view parameters. Add
   3025 	exports for shared_ptr members used by directory iterators.
   3026 	* src/c++17/fs_ops.cc (remove(const path&, error_code&)): Clear the
   3027 	error code parameter if the file doesn't exist.
   3028 	* src/filesystem/ops.cc (remove(const path&, error_code&)):
   3029 	Likewise.
   3030 	* testsuite/27_io/filesystem/operations/canonical.cc: Fix expected
   3031 	values for mingw targets, where "/" is not an absolute path. Do not
   3032 	test symlinks on mingw targets.
   3033 	* testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
   3034 	* testsuite/27_io/filesystem/operations/copy.cc: Do not test symlinks
   3035 	on mingw targets.
   3036 	* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
   3037 	* testsuite/27_io/filesystem/operations/create_directories.cc: Check
   3038 	that each component of the path is created.
   3039 	* testsuite/experimental/filesystem/operations/create_directories.cc:
   3040 	Likewise.
   3041 	* testsuite/27_io/filesystem/operations/exists.cc: Do not test
   3042 	permissions on mingw targets.
   3043 	* testsuite/experimental/filesystem/operations/exists.cc: Likewise.
   3044 	* testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
   3045 	* testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
   3046 	* testsuite/27_io/filesystem/operations/permissions.cc: XFAIL for
   3047 	mingw targets.
   3048 	* testsuite/experimental/filesystem/operations/permissions.cc:
   3049 	Likewise.
   3050 	* testsuite/27_io/filesystem/operations/remove.cc: Do not test
   3051 	symlinks or permissions on mingw targets.
   3052 	* testsuite/experimental/filesystem/operations/remove.cc: Likewise.
   3053 	* testsuite/27_io/filesystem/operations/remove_all.cc: Do not test
   3054 	symlinks on mingw targets.
   3055 	* testsuite/experimental/filesystem/operations/remove_all.cc:
   3056 	Likewise.
   3057 	* testsuite/27_io/filesystem/operations/status.cc: Do not test
   3058 	permissions on mingw targets.
   3059 	* testsuite/27_io/filesystem/operations/weakly_canonical.cc: Do not
   3060 	test symlinks on mingw targets.
   3061 	* testsuite/experimental/filesystem/operations/space.cc: Fix test
   3062 	for mingw targets.
   3063 
   3064 2019-02-14  Ulrich Drepper  <drepper (a] redhat.com>
   3065 
   3066 	PR libstdc++/88738
   3067 	Warn about unused comparisons of shared_ptr/unique_ptr
   3068 	* include/bits/c++config [_GLIBCXX_NODISCARD]: Define.
   3069 	* include/bits/shared_ptr.h: Use it for operator ==, !=,
   3070 	<, <=, >, >= for shared_ptr.
   3071 	* include/bits/unique_ptr.h: Likewise for unique_ptr.
   3072 
   3073 2019-01-15  Jonathan Wakely  <jwakely (a] redhat.com>
   3074 
   3075 	* include/bits/shared_ptr_base.h (__cpp_lib_shared_ptr_arrays): Define
   3076 	as 201611L, because P0497R0 changes are supported.
   3077 	* include/std/version (__cpp_lib_shared_ptr_arrays): Likewise.
   3078 
   3079 	* include/bits/erase_if.h [__cplusplus > 201703L]
   3080 	(__cpp_lib_erase_if): Only define for C++2a.
   3081 	* include/std/iterator [__cplusplus >= 201402L && !_GLIBCXX_DEBUG]
   3082 	(__cpp_lib_null_iterators): Define.
   3083 	* include/std/version [__cplusplus >= 201402L && !_GLIBCXX_DEBUG]
   3084 	(__cpp_lib_null_iterators): Define.
   3085 	[__cpp_impl_destroying_delete] (__cpp_lib_destroying_delete): Define.
   3086 
   3087 	* doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
   3088 	status.
   3089 	* include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
   3090 	Define.
   3091 	* include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3
   3092 	changes are supported.
   3093 	* include/std/optional (__cpp_lib_optional): Likewise.
   3094 	* include/std/variant (__cpp_lib_variant): Likewise.
   3095 	* include/std/version [!__STRICT_ANSI__]
   3096 	(__cpp_lib_uncaught_exceptions): Define as long integer.
   3097 	[__cplusplus >= 201703L] (__cpp_lib_any)
   3098 	(__cpp_lib_raw_memory_algorithms, __cpp_lib_uncaught_exceptions)
   3099 	(__cpp_lib_variant): Define for C++17.
   3100 	[__cplusplus >= 201703L] (__cpp_lib_optional): Update value and define
   3101 	as long integer.
   3102 	* libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long
   3103 	integer.
   3104 
   3105 	* doc/xml/manual/status_cxx2020.xml: Update P1123R0 status.
   3106 
   3107 2019-01-12  Jonathan Wakely  <jwakely (a] redhat.com>
   3108 
   3109 	PR libstdc++/88811
   3110 	PR libstdc++/83306
   3111 	* src/filesystem/path.cc: Fix typo. If first path is empty, show []
   3112 	before second path.
   3113 	* testsuite/experimental/filesystem/filesystem_error/cons.cc: New
   3114 	test.
   3115 
   3116 2019-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   3117 
   3118 	* doc/xml/manual/intro.xml: Include new section.
   3119 	* doc/xml/manual/status_cxx2017.xml: Document more
   3120 	implementation-defined properties of the library.
   3121 	* doc/xml/manual/status_cxx2020.xml: Document C++2a status.
   3122 	* doc/html/*: Regenerate.
   3123 
   3124 	* include/bits/refwrap.h [__cplusplus > 201703L]
   3125 	(_Refwrap_base_arg1, _Refwrap_base_arg2, _Reference_wrapper_base)
   3126 	(_Reference_wrapper_base_memfun): Do not define for C++2a.
   3127 	(reference_wrapper): Do not derive from _Reference_wrapper_base_memfun
   3128 	for C++2a.
   3129 	(reference_wrapper::operator()): Add static assertion.
   3130 	* testsuite/20_util/reference_wrapper/incomplete.cc: New test.
   3131 
   3132 	* include/std/chrono (duration_values::zero(), duration_values::min())
   3133 	(duration_values::max()): Add noexcept.
   3134 	(duration::zero(), duration::min(), duration::max()): Likewise.
   3135 	(time_point::zero(), time_point::min(), time_point::max()): Likewise.
   3136 	* testsuite/20_util/duration/requirements/noexcept.cc: New test.
   3137 	* testsuite/20_util/time_point/requirements/noexcept.cc: New test.
   3138 
   3139 	* include/std/version (__cpp_lib_erase_if): Move to C++20 group.
   3140 
   3141 2019-01-11  Jakub Jelinek  <jakub (a] redhat.com>
   3142 
   3143 	* include/std/type_traits (__cpp_lib_is_constant_evaluated): Define.
   3144 	* include/std/version (__cpp_lib_is_constant_evaluated): Define.
   3145 
   3146 2019-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
   3147 
   3148 	PR libstdc++/88802
   3149 	* include/bits/functional_hash.h (hash<nullptr_t>): Define
   3150 	specialization for C++17 (P0513R0, LWG 2817).
   3151 	* testsuite/20_util/hash/nullptr.cc: New test.
   3152 
   3153 	PR libstdc++/88125
   3154 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.6): Remove unused duplicate
   3155 	pattern for std::basic_stringbuf::str().
   3156 
   3157 	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Correct recent changes to
   3158 	basic_ostream::operator<< patterns.
   3159 
   3160 2019-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   3161 
   3162 	* testsuite/27_io/filesystem/operations/last_write_time.cc: Fix
   3163 	test failures on targets with 32-bit time_t.
   3164 
   3165 	* include/bits/erase_if.h: Define __cpp_lib_erase_if.
   3166 	* include/std/deque: Likewise.
   3167 	* include/std/forward_list: Likewise.
   3168 	* include/std/list: Likewise.
   3169 	* include/std/string: Likewise.
   3170 	* include/std/vector: Likewise.
   3171 	* include/std/version: Likewise.
   3172 	* testsuite/21_strings/basic_string/erasure.cc: Test macro.
   3173 	* testsuite/23_containers/deque/erasure.cc: Likewise.
   3174 	* testsuite/23_containers/forward_list/erasure.cc: Likewise.
   3175 	* testsuite/23_containers/list/erasure.cc: Likewise.
   3176 	* testsuite/23_containers/map/erasure.cc: Likewise.
   3177 	* testsuite/23_containers/set/erasure.cc: Likewise.
   3178 	* testsuite/23_containers/unordered_map/erasure.cc: Likewise.
   3179 	* testsuite/23_containers/unordered_set/erasure.cc: Likewise.
   3180 	* testsuite/23_containers/vector/erasure.cc: Likewise.
   3181 
   3182 	* include/experimental/internet [AI_NUMERICSERV]
   3183 	(resolver_base::numeric_service): Define conditionally.
   3184 	* testsuite/experimental/net/internet/resolver/base.cc: Test it
   3185 	conditionally.
   3186 	* testsuite/experimental/net/internet/resolver/ops/lookup.cc:
   3187 	Likewise.
   3188 
   3189 2019-01-10  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   3190 	    Jonathan Wakely  <jwakely (a] redhat.com>
   3191 
   3192 	Implement LWG 2221
   3193 	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Tighten patterns.
   3194 	(GLIBCXX_3.4.26): Add new exports.
   3195 	* include/Makefile.am: Add ostream-inst.cc. Move string-inst.cc to
   3196 	correct list of sources.
   3197 	* include/Makefile.in: Regenerate.
   3198 	* include/std/ostream (operator<<(nullptr_t)): New member function.
   3199 	* src/c++17/ostream-inst.cc: New file.
   3200 	* testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc: New
   3201 	test.
   3202 
   3203 2019-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
   3204 
   3205 	* testsuite/util/testsuite_fs.h (nonexistent_path): Include name
   3206 	of the source file containing the caller.
   3207 	* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Remove
   3208 	directories created by test.
   3209 	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
   3210 	Likewise.
   3211 	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
   3212 	Likewise.
   3213 	* testsuite/experimental/filesystem/iterators/
   3214 	recursive_directory_iterator.cc: Likewise.
   3215 
   3216 2019-01-10  Jakub Jelinek  <jakub (a] redhat.com>
   3217 
   3218 	PR tree-optimization/88775
   3219 	* include/bits/stl_function.h (greater<_Tp*>::operator(),
   3220 	less<_Tp*>::operator(), greater_equal<_Tp*>::operator(),
   3221 	less_equal<_Tp*>::operator()): Use __builtin_is_constant_evaluated
   3222 	instead of __builtin_constant_p if available.  Don't bother with
   3223 	the pointer comparison in C++11 and earlier.
   3224 
   3225 2019-01-09  Sandra Loosemore  <sandra (a] codesourcery.com>
   3226 
   3227 	PR other/16615
   3228 
   3229 	* include/ext/bitmap_allocator.h: Mechanically replace "can not"
   3230 	with "cannot".
   3231 
   3232 2019-01-09  Jonathan Wakely  <jwakely (a] redhat.com>
   3233 
   3234 	* testsuite/libstdc++-prettyprinters/cxx17.cc: Fix expected output
   3235 	for filesystem::path. Give variables more distinctive names.
   3236 
   3237 	* include/std/optional (_Optional_payload_base::_M_copy_assign): New
   3238 	member function to perform non-trivial assignment.
   3239 	(_Optional_payload_base::_M_move_assign): Likewise.
   3240 	(_Optional_payload<T, true, false, true>::operator=)
   3241 	(_Optional_payload<T, true, true, false>::operator=)
   3242 	(_Optional_payload<T, true, false, false>::operator=): Call
   3243 	_M_copy_assign and/or _M_move_assign to do non-trivial assignments.
   3244 
   3245 	PR libstdc++/88204
   3246 	* testsuite/26_numerics/complex/operators/more_constexpr.cc: Do not
   3247 	test std::complex<long double> if long double format is IBM128.
   3248 	* testsuite/26_numerics/complex/requirements/more_constexpr.cc:
   3249 	Likewise.
   3250 
   3251 2019-01-08  Jonathan Wakely  <jwakely (a] redhat.com>
   3252 
   3253 	* testsuite/libstdc++-prettyprinters/compat.cc: Test printer support
   3254 	for old std::unique_ptr layout.
   3255 	* testsuite/libstdc++-prettyprinters/cxx17.cc: Fix std::variant test
   3256 	to become valueless. Add filesystem::path tests.
   3257 
   3258 	PR libstdc++/87855
   3259 	* include/std/optional (_Optional_payload_base): New class template
   3260 	for common code hoisted from _Optional_payload specializations. Use
   3261 	a template for the union, to allow a partial specialization for
   3262 	types with non-trivial destructors. Add constructors for in-place
   3263 	initialization to the union.
   3264 	(_Optional_payload(bool, const _Optional_payload&)): Use _M_construct
   3265 	to perform non-trivial copy construction, instead of relying on
   3266 	non-standard copy elision in a delegating constructor.
   3267 	(_Optional_payload(bool, _Optional_payload&&)): Likewise for
   3268 	non-trivial move construction.
   3269 	(_Optional_payload): Derive from _Optional_payload_base and use it
   3270 	for everything except the non-trivial assignment operators, which are
   3271 	defined as needed.
   3272 	(_Optional_payload<false, C, M>): Derive from the specialization
   3273 	_Optional_payload<true, false, false> and add a destructor.
   3274 	(_Optional_base_impl::_M_destruct, _Optional_base_impl::_M_reset):
   3275 	Forward to corresponding members of _Optional_payload.
   3276 	(_Optional_base_impl::_M_is_engaged, _Optional_base_impl::_M_get):
   3277 	Hoist common members from _Optional_base.
   3278 	(_Optional_base): Make all members and base class public.
   3279 	(_Optional_base::_M_get, _Optional_base::_M_is_engaged): Move to
   3280 	_Optional_base_impl.
   3281 	* python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Add
   3282 	support for new std::optional layout.
   3283 	* testsuite/libstdc++-prettyprinters/compat.cc: New test.
   3284 
   3285 	PR libstdc++/88066
   3286 	* include/bits/locale_conv.h: Use <> for includes not "".
   3287 	* include/ext/random: Likewise.
   3288 	* include/ext/vstring.h: Likewise.
   3289 
   3290 2019-01-08  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   3291 
   3292 	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Tighten existing patterns.
   3293 	(GLIBCXX_3.4.21): Likewise.
   3294 
   3295 2019-01-08  Jonathan Wakely  <jwakely (a] redhat.com>
   3296 
   3297 	PR libstdc++/88749
   3298 	* src/filesystem/ops.cc (last_write_time): Fix preprocessor condition
   3299 	to match the one that controls whether utimbuf and utime are declared.
   3300 
   3301 2019-01-07  Jonathan Wakely  <jwakely (a] redhat.com>
   3302 
   3303 	PR libstdc++/87787
   3304 	* include/bits/char_traits.h (char_traits::move): Do not pass null
   3305 	pointers to memmove.
   3306 	* include/bits/locale_facets.h
   3307 	(ctype<char>::widen(const char*, const char*, char*)): Do not
   3308 	pass null pointers to memcpy.
   3309 	(ctype<char>::narrow(const char*, const char*, char, char*)):
   3310 	Likewise.
   3311 	(ctype<char>::do_widen(const char*, const char*, char*)):
   3312 	Likewise.
   3313 	(ctype<char>::do_narrow(const char*, const char*, char, char*)):
   3314 	Likewise.
   3315 
   3316 	* doc/xml/manual/spine.xml: Update copyright years.
   3317 	* doc/xml/manual/status_cxx2017.xml: Adjust note about -lstdc++fs.
   3318 	* doc/xml/manual/using.xml: Remove requirement to link with -lstdc++fs
   3319 	for C++17 filesystem library.
   3320 	* doc/html/*: Regenerate.
   3321 
   3322 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for truncate.
   3323 	* config.h.in: Regenerate.
   3324 	* config/abi/pre/gnu.ver: Order patterns for filesystem operations
   3325 	alphabetically and add missing entries for copy_symlink,
   3326 	hard_link_count, rename, and resize_file.
   3327 	* configure: Regenerate.
   3328 	* src/c++17/fs_ops.cc (resize_file): Remove #if so posix::truncate is
   3329 	used unconditionally.
   3330 	* src/filesystem/ops-common.h (__gnu_posix::truncate)
   3331 	[!_GLIBCXX_HAVE_TRUNCATE]: Provide fallback definition that only
   3332 	supports truncating to zero length.
   3333 	* testsuite/27_io/filesystem/operations/all.cc: New test.
   3334 	* testsuite/27_io/filesystem/operations/resize_file.cc: New test.
   3335 
   3336 2019-01-06  Jonathan Wakely  <jwakely (a] redhat.com>
   3337 
   3338 	PR libstdc++/86756
   3339 	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for utime and
   3340 	lstat and define _GLIBCXX_USE_UTIME and _GLIBCXX_USE_LSTAT.
   3341 	* config.h.in: Regenerate.
   3342 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export symbols for
   3343 	remaining std::filesystem types and functions.
   3344 	* configure: Regenerate.
   3345 	* src/c++17/Makefile.am: Add C++17 filesystem sources.
   3346 	* src/c++17/Makefile.in: Regenerate.
   3347 	* src/c++17/cow-fs_dir.cc: Move src/filesystem/cow-std-dir.cc to
   3348 	here, and change name of included file.
   3349 	* src/c++17/cow-fs_ops.cc: Move src/filesystem/cow-std-ops.cc to
   3350 	here, and change name of included file.
   3351 	* src/c++17/fs_dir.cc: Move src/filesystem/std-dir.cc to here. Change
   3352 	path to dir-common.h.
   3353 	* src/c++17/fs_ops.cc: Move src/filesystem/std-ops.cc to here. Change
   3354 	path to ops-common.h. Disable -Wunused-parameter warnings.
   3355 	(internal_file_clock): Define unconditionally.
   3356 	[!_GLIBCXX_HAVE_SYS_STAT_H] (internal_file_clock::from_stat): Do not
   3357 	define.
   3358 	(do_copy_file, do_space): Move definitions to ops.common.h.
   3359 	(copy, file_size, hard_link_count, last_write_time, space): Only
   3360 	perform operation when _GLIBCXX_HAVE_SYS_STAT_H is defined, otherwise
   3361 	report an error.
   3362 	(last_write_time, read_symlink): Remove unused attributes from
   3363 	parameters.
   3364 	* src/filesystem/Makefile.am: Remove C++17 filesystem sources.
   3365 	* src/filesystem/Makefile.in: Regenerate.
   3366 	* src/filesystem/cow-std-dir.cc: Move to src/c++17/cow-fs_dir.cc.
   3367 	* src/filesystem/cow-std-ops.cc: Move to src/c++17/cow-fs_ops.cc.
   3368 	* src/filesystem/std-dir.cc: Move to src/c++17/fs_dir.cc.
   3369 	* src/filesystem/std-ops.cc: Move to src/c++17/fs_ops.cc.
   3370 	* src/filesystem/dir-common.h [!_GLIBCXX_HAVE_DIRENT_H]: Define
   3371 	dummy types and functions instead of using #error.
   3372 	* src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H]: Use #error.
   3373 	* src/filesystem/ops-common.h [!_GLIBCXX_USE_LSTAT] (lstat): Define
   3374 	in terms of stat.
   3375 	[!_GLIBCXX_HAVE_UNISTD_H]: Define dummy types and functions.
   3376 	(do_copy_file, do_space): Move definitions here from std-ops.cc.
   3377 	* src/filesystem/ops.cc: Adjust calls to do_copy_file and do_space
   3378 	to account for new namespace.
   3379 	* testsuite/27_io/filesystem/directory_entry/86597.cc: Remove
   3380 	-lstdc++fs from dg-options.
   3381 	* testsuite/27_io/filesystem/directory_entry/lwg3171.cc: Likewise.
   3382 	* testsuite/27_io/filesystem/file_status/1.cc: Likewise.
   3383 	* testsuite/27_io/filesystem/filesystem_error/cons.cc: Likewise.
   3384 	* testsuite/27_io/filesystem/filesystem_error/copy.cc: Likewise.
   3385 	* testsuite/27_io/filesystem/iterators/directory_iterator.cc:
   3386 	Likewise.
   3387 	* testsuite/27_io/filesystem/iterators/pop.cc: Likewise.
   3388 	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
   3389 	Likewise.
   3390 	* testsuite/27_io/filesystem/operations/absolute.cc: Likewise.
   3391 	* testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
   3392 	* testsuite/27_io/filesystem/operations/copy.cc: Likewise.
   3393 	* testsuite/27_io/filesystem/operations/copy_file.cc: Likewise.
   3394 	* testsuite/27_io/filesystem/operations/create_directories.cc:
   3395 	Likewise.
   3396 	* testsuite/27_io/filesystem/operations/create_directory.cc: Likewise.
   3397 	* testsuite/27_io/filesystem/operations/create_symlink.cc: Likewise.
   3398 	* testsuite/27_io/filesystem/operations/current_path.cc: Likewise.
   3399 	* testsuite/27_io/filesystem/operations/equivalent.cc: Likewise.
   3400 	* testsuite/27_io/filesystem/operations/exists.cc: Likewise.
   3401 	* testsuite/27_io/filesystem/operations/file_size.cc: Likewise.
   3402 	* testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
   3403 	* testsuite/27_io/filesystem/operations/last_write_time.cc: Likewise.
   3404 	* testsuite/27_io/filesystem/operations/permissions.cc: Likewise.
   3405 	* testsuite/27_io/filesystem/operations/proximate.cc: Likewise.
   3406 	* testsuite/27_io/filesystem/operations/read_symlink.cc: Likewise.
   3407 	* testsuite/27_io/filesystem/operations/relative.cc: Likewise.
   3408 	* testsuite/27_io/filesystem/operations/remove.cc: Likewise.
   3409 	* testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
   3410 	* testsuite/27_io/filesystem/operations/space.cc: Likewise.
   3411 	* testsuite/27_io/filesystem/operations/status.cc: Likewise.
   3412 	* testsuite/27_io/filesystem/operations/symlink_status.cc: Likewise.
   3413 	* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
   3414 	Likewise.
   3415 	* testsuite/27_io/filesystem/operations/weakly_canonical.cc: Likewise.
   3416 
   3417 
   3418 	PR libstdc++/86756
   3419 	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Make various patterns for
   3420 	typeinfo and vtables less greedy.
   3421 	(GLIBCXX_3.4.26): Export symbols for std::filesystem::path.
   3422 	* src/c++17/Makefile.am: Add fs_path.cc and cow-fs_path.cc.
   3423 	* src/c++17/Makefile.in: Regenerate.
   3424 	* src/c++17/cow-fs_path.cc: Move src/filesystem/cow-std-path.cc to
   3425 	here, and change name of included file.
   3426 	* src/c++17/fs_path.cc: Move src/filesystem/std-path.cc to here.
   3427 	* src/filesystem/Makefile.am: Remove std-path.cc and cow-std-path.cc
   3428 	from sources.
   3429 	* src/filesystem/Makefile.in: Regenerate.
   3430 	* src/filesystem/cow-std-path.cc: Move to src/c++17/cow-fs_path.cc.
   3431 	* src/filesystem/std-path.cc: Move to src/c++17/fs_path.cc.
   3432 	* testsuite/27_io/filesystem/path/append/path.cc: Remove -lstdc++fs
   3433 	from dg-options and remove dg-require-filesystem-ts.
   3434 	* testsuite/27_io/filesystem/path/append/source.cc: Likewise.
   3435 	* testsuite/27_io/filesystem/path/assign/assign.cc: Likewise.
   3436 	* testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
   3437 	* testsuite/27_io/filesystem/path/compare/compare.cc: Likewise.
   3438 	* testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
   3439 	* testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
   3440 	* testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
   3441 	* testsuite/27_io/filesystem/path/concat/path.cc: Likewise.
   3442 	* testsuite/27_io/filesystem/path/concat/strings.cc: Likewise.
   3443 	* testsuite/27_io/filesystem/path/construct/80762.cc: Likewise.
   3444 	* testsuite/27_io/filesystem/path/construct/copy.cc: Likewise.
   3445 	* testsuite/27_io/filesystem/path/construct/default.cc: Likewise.
   3446 	* testsuite/27_io/filesystem/path/construct/format.cc: Likewise.
   3447 	* testsuite/27_io/filesystem/path/construct/locale.cc: Likewise.
   3448 	* testsuite/27_io/filesystem/path/construct/range.cc: Likewise.
   3449 	* testsuite/27_io/filesystem/path/construct/string_view.cc: Likewise.
   3450 	* testsuite/27_io/filesystem/path/decompose/extension.cc: Likewise.
   3451 	* testsuite/27_io/filesystem/path/decompose/filename.cc: Likewise.
   3452 	* testsuite/27_io/filesystem/path/decompose/parent_path.cc: Likewise.
   3453 	* testsuite/27_io/filesystem/path/decompose/relative_path.cc: Likewise.
   3454 	* testsuite/27_io/filesystem/path/decompose/root_directory.cc:
   3455 	Likewise.
   3456 	* testsuite/27_io/filesystem/path/decompose/root_name.cc: Likewise.
   3457 	* testsuite/27_io/filesystem/path/decompose/root_path.cc: Likewise.
   3458 	* testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise.
   3459 	* testsuite/27_io/filesystem/path/generation/normal.cc: Likewise.
   3460 	* testsuite/27_io/filesystem/path/generation/normal2.cc: Likewise.
   3461 	* testsuite/27_io/filesystem/path/generation/proximate.cc: Likewise.
   3462 	* testsuite/27_io/filesystem/path/generation/relative.cc: Likewise.
   3463 	* testsuite/27_io/filesystem/path/generic/generic_string.cc: Likewise.
   3464 	* testsuite/27_io/filesystem/path/itr/components.cc: Likewise.
   3465 	* testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise.
   3466 	* testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise.
   3467 	* testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
   3468 	Likewise.
   3469 	* testsuite/27_io/filesystem/path/modifiers/remove_filename.cc:
   3470 	Likewise.
   3471 	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
   3472 	Likewise.
   3473 	* testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
   3474 	Likewise.
   3475 	* testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise.
   3476 	* testsuite/27_io/filesystem/path/native/string.cc: Likewise.
   3477 	* testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise.
   3478 	* testsuite/27_io/filesystem/path/nonmember/hash_value.cc: Likewise.
   3479 	* testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
   3480 	* testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
   3481 	* testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
   3482 	* testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
   3483 	* testsuite/27_io/filesystem/path/query/has_relative_path.cc: Likewise.
   3484 	* testsuite/27_io/filesystem/path/query/has_root_directory.cc:
   3485 	Likewise.
   3486 	* testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
   3487 	* testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
   3488 	* testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
   3489 	* testsuite/27_io/filesystem/path/query/is_absolute.cc: Likewise.
   3490 	* testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
   3491 
   3492 	PR libstdc++/87431
   3493 	* include/std/variant (_Variant_storage<true, _Types...>::_M_valid):
   3494 	Check is_trivially_copyable instead of is_scalar.
   3495 	(variant::emplace<N, Args>(Args&&...)): If construction of the new
   3496 	contained value can throw and its type is trivially copyable then
   3497 	construct into a temporary variant and move from it, to provide the
   3498 	strong exception safety guarantee.
   3499 	(variant::emplace<N, U, Args>(initializer_list<U>, Args&&...)):
   3500 	Likewise.
   3501 	* testsuite/20_util/variant/87431.cc: New test.
   3502 	* testsuite/20_util/variant/run.cc: Adjust test so that throwing
   3503 	conversion causes valueless state.
   3504 
   3505 	PR libstdc++/88607
   3506 	* testsuite/17_intro/headers/c++1998/charset.cc: New test.
   3507 	* testsuite/17_intro/headers/c++2011/charset.cc: New test.
   3508 	* testsuite/17_intro/headers/c++2014/charset.cc: New test.
   3509 	* testsuite/17_intro/headers/c++2017/charset.cc: New test.
   3510 	* testsuite/17_intro/headers/c++2020/charset.cc: New test.
   3511 
   3512 2019-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   3513 
   3514 	* include/bits/fs_fwd.h (__file_clock): Define new clock.
   3515 	(file_time_type): Redefine in terms of __file_clock.
   3516 	* src/filesystem/ops-common.h (file_time): Add FIXME comment about
   3517 	overflow.
   3518 	* src/filesystem/std-ops.cc (is_set(perm_options, perm_options)): Give
   3519 	internal linkage.
   3520 	(internal_file_lock): New helper type for accessing __file_clock.
   3521 	(do_copy_file): Use internal_file_lock to convert system time to
   3522 	file_time_type.
   3523 	(last_write_time(const path&, error_code&)): Likewise.
   3524 	(last_write_time(const path&, file_time_type, error_code&)): Likewise.
   3525 
   3526 2019-01-04  Jonathan Wakely  <jwakely (a] redhat.com>
   3527 
   3528 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Make patterns less greedy
   3529 	for const member functions of std::basic_string.
   3530 	(GLIBCXX_3.4.26): Export member functions of std::basic_string added
   3531 	in C++17.
   3532 	* include/bits/basic_string.h (basic_string(__sv_wrapper, const A&)):
   3533 	Make non-standard constructor private.
   3534 	[!_GLIBCXX_USE_CXX11_ABI] (basic_string(__sv_wrapper, const A&)):
   3535 	Likewise.
   3536 	* include/bits/basic_string.tcc (std::string, std::wstring): Declare
   3537 	explicit instantiations for C++17 as well as earlier dialects.
   3538 	* src/c++17/Makefile.am: Add new source files.
   3539 	* src/c++17/Makefile.in: Regenerate.
   3540 	* src/c++17/cow-string-inst.cc: New file defining explicit
   3541 	instantiations for basic_string member functions added in C++17.
   3542 	* src/c++17/string-inst.cc: Likewise.
   3543 
   3544 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export allocator-extended
   3545 	copy/move constructors for old std::basic_string.
   3546 	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
   3547 	(basic_string::reference, basic_string::const_reference): Define
   3548 	as plain references for C++11 and later.
   3549 	(basic_string::basic_string()): Put constructor body outside
   3550 	preprocessor conditional groups.
   3551 	(basic_string::basic_string(basic_string&&)): Move _Alloc_hider
   3552 	instead of copying it.
   3553 	(basic_string::basic_string(const basic_string&, const _Alloc&)):
   3554 	Define.
   3555 	(basic_string::basic_string(basic_string&&, const _Alloc&)):
   3556 	Define.
   3557 	* include/bits/fs_path.h [!_GLIBCXX_USE_CXX11_ABI]: Remove special
   3558 	cases for old basic_string.
   3559 	* testsuite/21_strings/basic_string/cons/char/8.cc: Test
   3560 	allocator-extended constructors unconditionally. Add extra members to
   3561 	allocator type when using old string ABI.
   3562 	* testsuite/21_strings/basic_string/allocator/71964.cc: Enable test
   3563 	for old string ABI.
   3564 	* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
   3565 
   3566 	* testsuite/23_containers/list/61347.cc: Avoid spurious failure when
   3567 	-fno-inline added to test flags.
   3568 
   3569 	* testsuite/21_strings/basic_string/requirements/
   3570 	explicit_instantiation/debug.cc: Remove XFAIL for old ABI.
   3571 
   3572 	* testsuite/27_io/filesystem/filesystem_error/copy.cc: Fix static
   3573 	assertion failures with old std::string ABI.
   3574 
   3575 	* include/bits/fs_path.h (path::_List::erase): Replace both overloads
   3576 	with ...
   3577 	(path::pop_back(), path::_M_erase_from(const_iterator)): New member
   3578 	functions that will only erase elements at the end.
   3579 	* src/filesystem/std-path.cc (path::_List::_Impl::pop_back()): Define.
   3580 	(path::_List::_Impl::_M_erase_from(const_iterator)): Define.
   3581 	(path::_List::operator=(const _List&)): Use _M_erase_from(p) instead
   3582 	of erase(p, end()).
   3583 	(path::_List::pop_back()): Define.
   3584 	(path::_List::_M_erase_from(const_iterator)): Define.
   3585 	(path::operator/=(const path&)): Use pop_back to remove last component
   3586 	and _M_erase_from to remove multiple components.
   3587 	(path::_M_append(basic_string_view<value_type>)): Likewise.
   3588 	(path::operator+=(const path&)): Likewise.
   3589 	(path::_M_concat(basic_string_view<value_type>)): Likewise.
   3590 	(path::remove_filename()): Likewise.
   3591 	(path::lexically_normal()): Use _List::_Impl iterators instead of
   3592 	path::iterator. Use pop_back to remove components from the end. Clear
   3593 	trailing filename, instead of using erase(const_iterator) to remove
   3594 	a non-final component.
   3595 	* testsuite/27_io/filesystem/path/generation/normal.cc: Test
   3596 	additional cases.
   3597 	* testsuite/27_io/filesystem/path/generation/normal2.cc: New test.
   3598 
   3599 	* src/filesystem/std-path.cc (path::operator+=(const path&)): Fix
   3600 	incorrect treatment of empty filename after trailing slash.
   3601 	* testsuite/27_io/filesystem/path/concat/path.cc: Test problem case.
   3602 
   3603 	* testsuite/21_strings/basic_string/modifiers/assign/char/
   3604 	move_assign_optim.cc: Avoid spurious failure when -fno-inline added
   3605 	to test flags.
   3606 	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
   3607 	move_assign_optim.cc: Likewise.
   3608 
   3609 2019-01-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3610 	    Jakub Jelinek  <jakub (a] redhat.com>
   3611 
   3612 	PR libstdc++/88607
   3613 	* include/experimental/memory: Replace UTF-8 quote characters.
   3614 	* include/std/future: Replace UTF-8 "em dash" characters.
   3615 
   3616 2019-01-03  Jonathan Wakely  <jwakely (a] redhat.com>
   3617 
   3618 	PR libstdc++/88607
   3619 	* include/bits/forward_list.h: Replace UTF-8 "ligature fi" character.
   3620 	* include/debug/forward_list: Likewise.
   3621 	* include/experimental/bits/shared_ptr.h: Remove UTF-8 "section sign"
   3622 	character.
   3623 	* include/experimental/chrono: Likewise.
   3624 	* include/experimental/functional: Likewise.
   3625 	* include/experimental/ratio: Likewise.
   3626 	* include/experimental/system_error: Likewise.
   3627 	* include/experimental/tuple: Likewise.
   3628 	* include/experimental/type_traits: Likewise.
   3629 	* include/parallel/workstealing.h: Replace UTF-8 "en dash" character.
   3630 	* include/parallel/multiseq_selection.h: Likewise.
   3631 
   3632 	PR libstdc++/88681
   3633 	* config/abi/pre/gnu.ver: Add missing exports.
   3634 	* testsuite/22_locale/collate_byname/88681.cc: New test.
   3635 	* testsuite/22_locale/time_get/get/char/88681.cc: New test.
   3636 	* testsuite/22_locale/time_get/get/wchar_t/88681.cc: New test.
   3637 
   3638 2019-01-02  Jonathan Wakely  <jwakely (a] redhat.com>
   3639 
   3640 	* testsuite/23_containers/map/cons/deduction.cc: Test deduction from
   3641 	initializer_list<value_type> and from input iterator ranges.
   3642 	* testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
   3643 
   3644 	* testsuite/experimental/string_view/element_access/char/empty.cc:
   3645 	Fix year range in copyright header.
   3646 
   3647 2019-01-02  Joel Brobecker  <brobecker (a] adacore.com>
   3648 
   3649 	* testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
   3650 	Fix year range in copyright header.
   3651 
   3652 2019-01-01  Jakub Jelinek  <jakub (a] redhat.com>
   3653 
   3654 	Update copyright years.
   3655 
   3657 Copyright (C) 2019 Free Software Foundation, Inc.
   3658 
   3659 Copying and distribution of this file, with or without modification,
   3660 are permitted in any medium without royalty provided the copyright
   3661 notice and this notice are preserved.
   3662