12021-05-14  Release Manager
2
3	* GCC 8.5.0 released.
4
52021-04-30  Jonathan Wakely  <jwakely@redhat.com>
6
7	Backported from master:
8	2021-04-30  Jonathan Wakely  <jwakely@redhat.com>
9
10	* include/bits/basic_string.h (__cpp_lib_constexpr_string):
11	Only define for C++17 and later.
12
132021-04-29  Jonathan Wakely  <jwakely@redhat.com>
14
15	Backported from master:
16	2021-04-28  Jonathan Wakely  <jwakely@redhat.com>
17
18	* include/bits/basic_string.h (__cpp_lib_constexpr_string): Define.
19	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
20	Check for __cpp_lib_constexpr_string.
21
222021-04-22  Jakub Jelinek  <jakub@redhat.com>
23
24	Backported from master:
25	2021-03-19  Jakub Jelinek  <jakub@redhat.com>
26
27	PR libstdc++/99181
28	* testsuite/21_strings/char_traits/requirements/char/99181.cc: New
29	test.
30
312021-04-22  Jakub Jelinek  <jakub@redhat.com>
32
33	Backported from master:
34	2021-03-19  Jakub Jelinek  <jakub@redhat.com>
35
36	PR libstdc++/99181
37	* include/bits/char_traits.h (char_traits<char>::compare): For
38	constexpr evaluation don't call
39	__gnu_cxx::char_traits<char_type>::compare but do the comparison loop
40	directly.
41
422021-04-21  Patrick Palka  <ppalka@redhat.com>
43
44	Backported from master:
45	2020-09-22  Patrick Palka  <ppalka@redhat.com>
46
47	* include/bits/stl_algo.h (__sample): Exit early when the
48	input range is empty.
49	* testsuite/25_algorithms/sample/3.cc: New test.
50
512021-04-19  Jonathan Wakely  <jwakely@redhat.com>
52
53	Backported from master:
54	2020-10-10  Jonathan Wakely  <jwakely@redhat.com>
55
56	PR libstdc++/97362
57	* doc/html/manual/source_code_style.html: Regenerate.
58	* doc/xml/manual/appendix_contributing.xml: Add __deref to
59	BADNAMES.
60	* include/debug/functions.h (_Irreflexive_checker::__deref):
61	Rename to __ref.
62
632021-04-19  Jonathan Wakely  <jwakely@redhat.com>
64
65	Backported from master:
66	2020-10-26  Jonathan Wakely  <jwakely@redhat.com>
67
68	PR libstdc++/97570
69	* libsupc++/new_opa.cc: Declare size_t in global namespace.
70	Remove unused header.
71
722021-04-19  Jonathan Wakely  <jwakely@redhat.com>
73
74	Backported from master:
75	2020-12-16  Jonathan Wakely  <jwakely@redhat.com>
76
77	PR libstdc++/98319
78	* include/experimental/memory_resource: Add system_header pragma
79	and only define contents for C++14 and later.
80	* include/experimental/random: Only define contents for C++14
81	and later.
82	* include/experimental/source_location: Likewise.
83	* include/experimental/utility: Likewise.
84	* testsuite/experimental/feat-lib-fund.cc: Include all LFTS
85	headers that are present. Allow test to run for all modes.
86
872021-04-19  Jonathan Wakely  <jwakely@redhat.com>
88
89	Backported from master:
90	2021-02-11  Jonathan Wakely  <jwakely@redhat.com>
91
92	PR libstdc++/99058
93	* doc/xml/manual/status_cxx2011.xml: Document when support
94	became stable.
95	* doc/xml/manual/status_cxx2014.xml: Likewise.
96	* doc/xml/manual/status_cxx2017.xml: Likewise.
97	* doc/html/manual/status.html: Regenerate.
98
992021-01-13  Jonathan Wakely  <jwakely@redhat.com>
100
101	Backported from master:
102	2021-01-13  Jonathan Wakely  <jwakely@redhat.com>
103
104	PR libstdc++/98605
105	* include/std/mutex (call_once): Use NOLINT to suppress clang
106	analyzer warnings.
107
1082021-01-11  Jonathan Wakely  <jwakely@redhat.com>
109
110	Backported from master:
111	2020-12-02  Jonathan Wakely  <jwakely@redhat.com>
112
113	* python/libstdcxx/v6/printers.py (StdExpPathPrinter): Store the
114	name of the type and pass it to the iterator.
115	* testsuite/libstdc++-prettyprinters/filesystem-ts.cc: New test.
116
1172021-01-11  Jonathan Wakely  <jwakely@redhat.com>
118
119	Backported from master:
120	2020-12-02  Jonathan Wakely  <jwakely@redhat.com>
121
122	PR libstdc++/65480
123	PR libstdc++/68735
124	* python/libstdcxx/v6/printers.py (function_pointer_to_name):
125	New helper function to get the name of a function from its
126	address.
127	(StdExpAnyPrinter.__init__): Use it.
128
1292021-01-11  Jonathan Wakely  <jwakely@redhat.com>
130
131	Backported from master:
132	2020-08-10  Jonathan Wakely  <jwakely@redhat.com>
133
134	* python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__):
135	Use gdb.Type.strip_typedefs().
136	* testsuite/libstdc++-prettyprinters/compat.cc: Use a typedef in
137	the emulated old type.
138
1392021-01-11  Jonathan Wakely  <jwakely@redhat.com>
140
141	Backported from master:
142	2019-05-14  Jonathan Wakely  <jwakely@redhat.com>
143
144	* python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__): Do
145	not assume field called _M_head_impl is the first tuple element.
146	* testsuite/libstdc++-prettyprinters/compat.cc: Copy from gcc-9
147	branch.
148	* testsuite/libstdc++-prettyprinters/cxx11.cc: Check unique_ptr with
149	empty pointer type and non-empty deleter.
150
1512021-01-11  Jonathan Wakely  <jwakely@redhat.com>
152
153	Backported from master:
154	2020-09-24  Jonathan Wakely  <jwakely@redhat.com>
155
156	* doc/xml/manual/configure.xml: Correct name of option.
157	* doc/html/*: Regenerate.
158
1592020-11-26  Jonathan Wakely  <jwakely@redhat.com>
160
161	Backported from master:
162	2020-11-26  Jonathan Wakely  <jwakely@redhat.com>
163
164	PR libstdc++/98001
165	* testsuite/ext/stdio_filebuf/char/79820.cc: Do not pass invalid
166	FILE* to constructor.
167
1682020-11-16  Jonathan Wakely  <jwakely@redhat.com>
169
170	Backported from master:
171	2020-08-28  Jonathan Wakely  <jwakely@redhat.com>
172
173	PR libstdc++/92978
174	* include/std/numeric (__abs_integral): Replace with ...
175	(__detail::__absu): New function template that returns an
176	unsigned type, guaranteeing it can represent the most
177	negative signed value.
178	(__detail::__gcd, __detail::__lcm): Require arguments to
179	be unsigned and therefore already non-negative.
180	(gcd, lcm): Convert arguments to absolute value as unsigned
181	type before calling __detail::__gcd or __detail::__lcm.
182	* include/experimental/numeric (gcd, lcm): Likewise.
183	* testsuite/26_numerics/gcd/gcd_neg.cc: Adjust expected
184	errors.
185	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
186	* testsuite/26_numerics/gcd/92978.cc: New test.
187	* testsuite/26_numerics/lcm/92978.cc: New test.
188	* testsuite/experimental/numeric/92978.cc: New test.
189
1902020-11-09  Jonathan Wakely  <jwakely@redhat.com>
191
192	Backported from master:
193	2020-11-05  Jonathan Wakely  <jwakely@redhat.com>
194
195	PR libstdc++/97731
196	* src/filesystem/dir.cc (recursive_directory_iterator): Call the
197	right overload of _Dir::advance.
198	* testsuite/experimental/filesystem/iterators/97731.cc: New test.
199
2002020-10-08  Jonathan Wakely  <jwakely@redhat.com>
201
202	Backported from master:
203	2020-10-07  Jonathan Wakely  <jwakely@redhat.com>
204
205	* include/bits/random.h (seed_seq(initializer_list<T>)): Rename
206	parameter to use reserved name.
207	* testsuite/17_intro/names.cc: Check "il".
208
2092020-09-22  Jonathan Wakely  <jwakely@redhat.com>
210
211	Backported from master:
212	2020-08-26  Jonathan Wakely  <jwakely@redhat.com>
213
214	PR libstdc++/96803
215	* include/std/tuple
216	(_Tuple_impl(allocator_arg_t, Alloc, const _Tuple_impl<U...>&)):
217	Replace parameter pack with a type parameter and a pack and pass
218	the first type to __use_alloc.
219	* testsuite/20_util/tuple/cons/96803.cc: New test.
220
2212020-09-11  Jonathan Wakely  <jwakely@redhat.com>
222
223	Backported from master:
224	2020-03-18  Jonathan Wakely  <jwakely@redhat.com>
225
226	PR libstdc++/94033
227	* include/std/type_traits (__is_nt_default_constructible_atom): Remove.
228	(__is_nt_default_constructible_impl): Remove.
229	(__is_nothrow_default_constructible_impl): Remove.
230	(__is_nt_constructible_impl): Add bool template parameter. Adjust
231	partial specializations.
232	(__is_nothrow_constructible_impl): Replace class template with alias
233	template.
234	(is_nothrow_default_constructible): Derive from alias template
235	__is_nothrow_constructible_impl instead of
236	__is_nothrow_default_constructible_impl.
237	* testsuite/20_util/is_nothrow_constructible/94003.cc: New test.
238	* testsuite/20_util/is_nothrow_default_constructible/96999.cc: New file.
239
2402020-09-11  Jonathan Wakely  <jwakely@redhat.com>
241
242	PR libstdc++/71960
243	* include/experimental/string_view (basic_string_view):
244	Enable debug assertions.
245	* include/std/string_view (basic_string_view):
246	Likewise.
247
2482020-08-10  Jonathan Wakely  <jwakely@redhat.com>
249
250	* src/c++17/Makefile.in: Remove unused file.
251
2522020-08-07  Jonathan Wakely  <jwakely@redhat.com>
253
254	Backported from master:
255	2020-03-12  Jonathan Wakely  <jwakely@redhat.com>
256
257	* testsuite/27_io/filesystem/operations/last_write_time.cc: Fixes for
258	filesystems that silently truncate timestamps.
259	* testsuite/experimental/filesystem/operations/last_write_time.cc:
260	Likewise.
261
2622020-08-07  Jonathan Wakely  <jwakely@redhat.com>
263
264	Backported from master:
265	2019-01-10  Jonathan Wakely  <jwakely@redhat.com>
266
267	* testsuite/27_io/filesystem/operations/last_write_time.cc: Fix
268	test failures on targets with 32-bit time_t.
269
2702020-08-07  Jonathan Wakely  <jwakely@redhat.com>
271
272	Backported from master:
273	2020-03-21  Jonathan Wakely  <jwakely@redhat.com>
274
275	PR libstdc++/93245
276	* include/experimental/bits/fs_path.h (path::generic_string<C,T,A>()):
277	Return the generic format not the native format.
278	* testsuite/experimental/filesystem/path/generic/generic_string.cc:
279	Improve test coverage.
280
2812020-08-07  Jonathan Wakely  <jwakely@redhat.com>
282
283	Backported from master:
284	2020-03-21  Jonathan Wakely  <jwakely@redhat.com>
285
286	PR libstdc++/94242
287	* include/bits/fs_path.h (path::_S_str_convert): Replace first
288	parameter with basic_string_view so that strings with different
289	allocators can be accepted.
290	(path::generic_string<C,T,A>()): Use basic_string object that uses the
291	right allocator type.
292	* testsuite/27_io/filesystem/path/generic/94242.cc: New test.
293	* testsuite/27_io/filesystem/path/generic/generic_string.cc: Improve
294	test coverage.
295
2962020-08-06  Jonathan Wakely  <jwakely@redhat.com>
297
298	Backported from master:
299	2020-08-06  Jonathan Wakely  <jwakely@redhat.com>
300
301	PR libstdc++/96484
302	* src/filesystem/ops.cc (fs::read_symlink): Return an error
303	immediately for non-symlinks.
304	* src/filesystem/std-ops.cc (fs::read_symlink): Likewise.
305
3062020-07-21  Jonathan Wakely  <jwakely@redhat.com>
307
308	Backported from master:
309	2019-01-28  Jonathan Wakely  <jwakely@redhat.com>
310
311	PR libstdc++/68737
312	* config/locale/generic/c_locale.h (__convert_from_v)
313	[_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
314	* config/os/hpux/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
315	* include/bits/locale_facets.tcc (num_put::_M_insert_float)
316	[_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
317
3182020-05-06  Jonathan Wakely  <jwakely@redhat.com>
319
320	* doc/xml/manual/abi.xml (abi.versioning.history): Update 8.0.0 to
321	8.1.0 in list of versions.
322	* doc/html/*: Regenerate.
323
3242020-05-04  Jonathan Wakely  <jwakely@redhat.com>
325
326	* doc/xml/faq.xml: Use working link for SGI STL FAQ.
327	* doc/html/*: Regenerate.
328
3292020-04-21  Jonathan Wakely  <jwakely@redhat.com>
330
331	* doc/xml/manual/status_cxx2017.xml: Fix name of feature test macro.
332	* doc/html/*: Regenerate.
333
3342020-04-03  Jonathan Wakely  <jwakely@redhat.com>
335
336	Backport from mainline
337	2020-04-03  Jonathan Wakely  <jwakely@redhat.com>
338
339	PR libstdc++/93960
340	* include/bits/ptr_traits.h (__to_address): Add special case for debug
341	iterators, to avoid dereferenceable check.
342	* testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line number.
343	* testsuite/20_util/to_address/debug.cc: New test.
344
3452020-03-04  Release Manager
346
347	* GCC 8.4.0 released.
348
3492020-02-26  Jonathan Wakely  <jwakely@redhat.com>
350
351	Backport from mainline
352	2020-01-09  Jonathan Wakely  <jwakely@redhat.com>
353
354	PR libstdc++/93205
355	* include/bits/random.h (operator>>): Check stream operation succeeds.
356	* include/bits/random.tcc (operator>>): Likewise.
357	(__extract_params): New function to fill a vector from a stream.
358	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
359
360	Backport from mainline
361	2019-12-10  Jonathan Wakely  <jwakely@redhat.com>
362
363	PR libstdc++/92886
364	* include/bits/ios_base.h (std::ios_base::trunc): Fix comment.
365
366	Backport from mainline
367	2020-01-28  Jonathan Wakely  <jwakely@redhat.com>
368
369	PR libstdc++/93325
370	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Use AC_SEARCH_LIBS for
371	clock_gettime instead of explicit glibc version check.
372	* configure: Regenerate.
373
3742020-02-26  Jonathan Wakely  <jwakely@redhat.com>
375
376	Backport from mainline
377	2020-02-04  Jonathan Wakely  <jwakely@redhat.com>
378
379	PR libstdc++/93562
380	* include/bits/unique_ptr.h (__uniq_ptr_impl::swap): Define.
381	(unique_ptr::swap, unique_ptr<T[], D>::swap): Call it.
382	* testsuite/20_util/unique_ptr/modifiers/93562.cc: New test.
383
3842020-02-26  Jonathan Wakely  <jwakely@redhat.com>
385
386	Backport from mainline
387	2020-01-17  Jonathan Wakely  <jwakely@redhat.com>
388
389	PR libstdc++/92376
390	* libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation
391	functions if they were detected by configure.
392
3932020-02-26  Jonathan Wakely  <jwakely@redhat.com>
394
395	Backport from mainline
396	2019-10-09  Jonathan Wakely  <jwakely@redhat.com>
397
398	PR libstdc++/78552
399	* src/c++98/locale_init.cc (locale::classic()): Do not construct a new
400	locale object for every call.
401	(locale::_S_initialize_once()): Construct C locale here.
402
403	Backport from mainline
404	2020-01-23  Jonathan Wakely  <jwakely@redhat.com>
405
406	PR libstdc++/91947
407	* include/Makefile.am (${host_builddir}/largefile-config.h): Simplify
408	rule.
409	* include/Makefile.in: Regenerate.
410
411	Backport from mainlne
412	2019-10-04  Jonathan Wakely  <jwakely@redhat.com>
413
414	PR libstdc++/81091
415	PR libstdc++/91947
416	* configure.ac: Use AC_SYS_LARGEFILE to enable 64-bit file APIs.
417	* config.h.in: Regenerate:
418	* configure: Regenerate:
419	* include/Makefile.am (${host_builddir}/largefile-config.h): New
420	target to generate config header for filesystem library.
421	(${host_builddir}/c++config.h): Rename macros for large file support.
422	* include/Makefile.in: Regenerate.
423	* src/filesystem/dir.cc: Include new config header.
424	* src/filesystem/ops.cc: Likewise.
425	(experimental::filesystem::file_size): Use uintmax_t for size.
426	* src/filesystem/std-dir.cc: Include new config header.
427	* src/filesystem/std-ops.cc: Likewise.
428	(filesystem::file_size): Use uintmax_t for size.
429
4302020-01-24  Jonathan Wakely  <jwakely@redhat.com>
431
432	Backport from mainline
433	2020-01-20  Jonathan Wakely  <jwakely@redhat.com>
434
435	* doc/xml/faq.xml: Fix grammar.
436	* doc/xml/manual/appendix_contributing.xml: Improve instructions.
437	* doc/xml/manual/spine.xml: Update copyright years.
438	* doc/html/*: Regenerate.
439
4402020-01-19  Eric S. Raymond <esr@thyrsus.com>
441	    Sandra Loosemore  <sandra@codesourcery.com>
442
443	Partial backport from mainline:
444
445	2020-01-19  Eric S. Raymond <esr@thyrsus.com>
446	* doc/xml/faq.xml: Update for SVN -> Git transition.
447	* doc/xml/manual/appendix_contributing.xml: Likewise.
448
4492020-01-13  Jonathan Wakely  <jwakely@redhat.com>
450
451	* doc/xml/manual/status_cxx1998.xml: Replace incorrect statement
452	about documenting mainline.
453	* doc/xml/manual/status_cxx2011.xml: Likewise.
454	* doc/xml/manual/status_cxx2014.xml: Likewise.
455	* doc/xml/manual/status_cxx2017.xml: Likewise.
456	* doc/xml/manual/status_cxxtr1.xml: Likewise.
457	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
458	* doc/html/*: Regenerate.
459
4602020-01-08  Jonathan Wakely  <jwakely@redhat.com>
461
462	PR libstdc++/93201
463	* src/c++17/fs_ops.cc (remove_all(const path&, error_code&)): Check
464	result of recursive call before incrementing iterator.
465	* src/filesystem/ops.cc (remove_all(const path&, error_code&)):
466	Likewise.
467	* testsuite/27_io/filesystem/operations/remove_all.cc: Check errors
468	are reported correctly.
469	* testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
470
4712019-10-24  Jonathan Wakely  <jwakely@redhat.com>
472
473	Backport from mainline
474	2019-06-06  Jonathan Wakely  <jwakely@redhat.com>
475
476	* testsuite/20_util/is_nothrow_invocable/value.cc: Test converting to
477	void.
478	* testsuite/experimental/names.cc: Do not run for C++98 mode. Do not
479	include Library Fundamentals or Networking headers in C++11 mode.
480
481	Backport from mainline
482	2019-10-22  Jonathan Wakely  <jwakely@redhat.com>
483
484	* include/bits/memoryfwd.h (uses_allocator): Do not declare for C++98.
485	* testsuite/17_intro/names.cc: Check uses_allocator in C++98.
486
487	Backport from mainline
488	2019-10-18  Jonathan Wakely  <jwakely@redhat.com>
489
490	PR libstdc++/92143
491	* libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment
492	to at least sizeof(void*).
493
494	Backport from mainline
495	2019-10-08  Jonathan Wakely  <jwakely@redhat.com>
496
497	* doc/Makefile.am (doc-html-docbook-regenerate): New target.
498	(${docbook_outdir}/html): Do not create unused 'html/ext' directory.
499	* doc/Makefile.in: Regenerate.
500	* doc/xml/manual/documentation_hacking.xml: Document new target.
501	* doc/html/*: Regenerate.
502
503	* doc/xml/manual/allocator.xml: Use archived copy of CUJ article.
504
505	Backport from mainline
506	2019-05-31  Gerald Pfeifer  <gerald@pfeifer.com>
507
508	* doc/xml/manual/allocator.xml: Move hoard.org back to http.
509
510	Backport from mainline
511	2019-10-11  Jonathan Wakely  <jwakely@redhat.com>
512
513	PR libstdc++/92059
514	* include/tr2/dynamic_bitset (__dynamic_bitset_base): Define all
515	special member functions as defaulted. Add noexcept to most members.
516	(__dynamic_bitset_base(size_t, unsigned long long, const _Alloc&)):
517	Mask off unwanted bits in the __val parameter. Avoid undefined left
518	shifts.
519	(__dynamic_bitset_base::_M_assign): Remove.
520	(__dynamic_bitset_base::_M_do_reset): Use std::fill.
521	(__dynamic_bitset_base::_M_are_all_aux): Avoid integer promotion when
522	block_type has lower rank than int.
523	(dynamic_bitset): Add noexcept to most members. Use injected-class-name
524	in return types and parameter types.
525	(dynamic_bitset::_M_Nb): Add default member initializer.
526	(dynamic_bitset(), dynamic_bitset(const dynamic_bitset&)): Define as
527	defaulted.
528	(dynamic_bitset(dynamic_bitset&&)): Clear source object after move.
529	(dynamic_bitset::operator=(const dynamic_bitset&)): Define as
530	defaulted.
531	(dynamic_bitset::operator=(dynamic_bitset&&)): Add noexcept-specifier.
532	Define without using swap, to propagate allocator correctly.
533	(dynamic_bitset(const char*, const _Alloc&)): Use strlen.
534	(dynamic_bitset::_M_do_sanitize, dynamic_bitset::_M_do_fill): Use
535	casts to avoid unwanted integer promotions.
536	(dynamic_bitset::_M_copy_from_ptr): Rearrange template parameters and
537	add default template arguments and default argument to simplify usage.
538	(dynamic_bitset::_M_copy_from_string): Adjust call to _M_copy_from_ptr.
539	(operator==(const dynamic_bitset&, const dynamic_bitset&))
540	(operator<(const dynamic_bitset&, const dynamic_bitset&)): Use _M_Nb.
541	* include/tr2/dynamic_bitset.tcc (dynamic_bitset::_M_copy_from_ptr):
542	Adjust template parameters to match declaration.
543	* testsuite/tr2/dynamic_bitset/cmp.cc: New test.
544	* testsuite/tr2/dynamic_bitset/cons.cc: New test.
545	* testsuite/tr2/dynamic_bitset/copy.cc: New test.
546	* testsuite/tr2/dynamic_bitset/move.cc: New test.
547	* testsuite/tr2/dynamic_bitset/pr92059.cc: New test.
548
5492019-09-11  Jonathan Wakely  <jwakely@redhat.com>
550
551	* python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker.__call__):
552	Fix syntax error.
553
5542019-09-02  Jonathan Wakely  <jwakely@redhat.com>
555
556	* doc/html/*: Regenerate.
557
558	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Replace dg-error
559	with dg-prune-output for enable_if failure.
560	* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Add
561	dg-prune-output for enable_if failure.
562
5632019-08-30  Jonathan Wakely  <jwakely@redhat.com>
564
565	Backport from mainline
566	2018-10-02  Jonathan Wakely  <jwakely@redhat.com>
567
568	* include/std/variant (__gen_vtable_impl::__visit_invoke): Call __get
569	directly instead of get, as caller ensures correct index is used.
570	(holds_alternative, get, get_if): Remove redundant inline specifiers.
571	(_VARIANT_RELATION_FUNCTION_TEMPLATE): Likewise.
572
5732019-08-30  Jonathan Wakely  <jwakely@redhat.com>
574
575	Backport from mainline
576	2018-08-16  Jonathan Wakely  <jwakely@redhat.com>
577
578	* include/std/ostream (basic_ostream::sentry::~sentry): Suppress
579	deprecation warnings for using uncaught_exception().
580
5812019-08-30  Jonathan Wakely  <jwakely@redhat.com>
582
583	Backport from mainline
584	2019-07-31  Jonathan Wakely  <jwakely@redhat.com>
585
586	PR libstdc++/91308
587	* include/bits/unique_ptr.h (unique_ptr::__safe_conversion_up): Remove
588	constraints on deleter that should only apply to the constructor.
589	(unique_ptr<T[], D>::__safe_conversion_up): Likewise.
590	(unique_ptr<T[], D>::unique_ptr(unique_ptr<U, D>&&)): Restore
591	constraints on deleter here.
592	* testsuite/20_util/unique_ptr/assign/91308.cc: New test.
593
5942019-08-30  Jonathan Wakely  <jwakely@redhat.com>
595
596	Backport from mainline
597	2019-07-29  Jonathan Wakely  <jwakely@redhat.com>
598
599	PR libstdc++/51333
600	* libsupc++/cxxabi.h (__gnu_cxx::recursive_init_error): Do not define
601	constructor inline.
602	* libsupc++/guard_error.cc (__gnu_cxx::recursive_init_error): Define
603	constructor.
604	* testsuite/18_support/51333.cc: New test.
605
6062019-08-30  Jonathan Wakely  <jwakely@redhat.com>
607
608	Backport from mainline
609	2019-05-23  Jonathan Wakely  <jwakely@redhat.com>
610
611	* doc/xml/manual/status_cxx2017.xml: Add feature test macro for
612	P0040R3.
613	* doc/html/*: Regenerate.
614
615	Backport from mainline
616	2019-06-20  Jonathan Wakely  <jwakely@redhat.com>
617
618	* doc/xml/manual/status_cxx2017.xml: Fix outdated reference to
619	C++17 working draft.
620
621	Backport from mainline
622	2019-05-21  Jonathan Wakely  <jwakely@redhat.com>
623
624	* doc/xml/manual/shared_ptr.xml: Fix names of lock policy constants.
625
6262019-08-30  Jonathan Wakely  <jwakely@redhat.com>
627
628	Backport from mainline
629	2018-09-21  Jonathan Wakely  <jwakely@redhat.com>
630
631	PR libstdc++/78179
632	* testsuite/26_numerics/headers/cmath/hypot.cc: Use lower tolerance
633	when sizeof(long double) == sizeof(double).
634
6352019-08-30  Jonathan Wakely  <jwakely@redhat.com>
636
637	Backport from mainline
638	2019-03-22  Jonathan Wakely  <jwakely@redhat.com>
639
640	* include/bits/stl_algobase.h (__lg): Do arithmetic on type int to
641	avoid -Wconversion warnings.
642
6432019-08-30  Jonathan Wakely  <jwakely@redhat.com>
644
645	Backport from mainline
646	2019-06-07  Jonathan Wakely  <jwakely@redhat.com>
647
648	PR libstdc++/90770
649	* src/Makefile.am (stamp-debug): Also test for missing makefile.
650	* src/Makefile.in: Regenerate.
651
6522019-08-30  Jonathan Wakely  <jwakely@redhat.com>
653
654	Backport from mainline
655	2019-05-17  Jonathan Wakely  <jwakely@redhat.com>
656
657	* include/bits/random.h (seed_seq::param): Fix non-reserved name.
658	* include/experimental/type_traits (is_detected_exact)
659	(is_detected_exact_v): Likewise.
660	* testsuite/17_intro/names.cc: Check for more non-reserved names.
661	* testsuite/experimental/names.cc: New test.
662
6632019-08-30  Jonathan Wakely  <jwakely@redhat.com>
664
665	Backport from mainline
666	2019-05-17  Jonathan Wakely  <jwakely@redhat.com>
667
668	PR libstdc++/85965
669	* include/bits/hashtable.h (_Hashtable::~_Hashtable()): Remove static
670	assertions from the destructor.
671	* include/bits/hashtable_policy.h (_Hash_code_base::_M_hash_code):
672	Move static_assert for hash function to here.
673	(_Hash_table_base::_M_equals): Move static_assert for equality
674	predicate to here.
675	* include/bits/stl_tree.h (_Rb_tree::_S_key(_Const_Link_type)): Move
676	assertions here. Access the value directly instead of calling _S_value.
677	(_Rb_tree::_S_key(_Const_Base_ptr)): Do downcast and forward to
678	_S_key(_Const_Link_type).
679	* testsuite/23_containers/set/85965.cc: Check construction,
680	destruction, assignment and size() do not trigger the assertions.
681	* testsuite/23_containers/unordered_set/85965.cc: Likewise.
682	* testsuite/23_containers/map/48101_neg.cc: Call find and adjust
683	expected errors.
684	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
685	* testsuite/23_containers/multiset/48101_neg.cc: Likewise.
686	* testsuite/23_containers/set/48101_neg.cc: Likewise.
687	* testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
688	* testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
689	* testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
690	* testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
691
6922019-08-30  Jonathan Wakely  <jwakely@redhat.com>
693
694	Backport from mainline
695	2018-09-03  Jonathan Wakely  <jwakely@redhat.com>
696
697	* include/bits/stl_vector.h (vector::_Temporary_value::_M_ptr):
698	Return raw pointer not allocator's pointer type.
699	(vector::_Temporary_value::_M_val): Use _M_ptr.
700
7012019-06-01   Iain Sandoe  <iain@sandoe.co.uk>
702
703	Backport from mainline
704	2018-12-22 Iain Sandoe <iain@sandoe.co.uk>
705
706	* /config/os/bsd/darwin/ppc-extra.ver: Append long double symbols.
707
7082019-05-30  Jonathan Wakely  <jwakely@redhat.com>
709
710	* doc/xml/manual/status_cxx2017.xml: Fix typo in documentation of
711	implementation-defined support for [fs.conform.9945].
712	* doc/html/*: Regenerate.
713
7142019-05-28  Jonathan Wakely  <jwakely@redhat.com>
715
716	PR libstdc++/90634
717	* src/filesystem/path.cc (path::_M_split_cmpts()): Fix check for "/".
718	* testsuite/27_io/filesystem/path/construct/90634.cc: New test.
719	* testsuite/experimental/filesystem/path/construct/90634.cc: New test.
720
721	PR libstdc++/90634
722	* include/bits/fs_path.h (path::path(path&&)): Only call
723	_M_split_cmpts() for a path with multiple components.
724	(path::_S_is_dir_sep()): Add missing 'static' keyword to function.
725	* include/experimental/bits/fs_path.h: Likewise.
726	* src/filesystem/path.cc (path::_M_split_cmpts()): Count number of
727	components and reserve space in vector. Return early when there is
728	only one component.
729	* src/filesystem/std-path.cc (path::_M_split_cmpts()): Likewise.
730
7312019-05-23  Jonathan Wakely  <jwakely@redhat.com>
732
733	Backport from mainline
734	2019-02-27  Jonathan Wakely  <jwakely@redhat.com>
735
736	PR libstdc++/89466
737	* acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Reorder check for local
738	stylesheet directories before check for xsltproc. Try to use
739	xmlcatalog to find local stylesheet directory before trying hardcoded
740	paths. Add path used by suse to hardcoded paths. Adjust xsltproc
741	check to look for the same stylesheet as doc/Makefile.am uses. Don't
742	use xsltproc if xmlcatalog fails to find a local stylesheet.
743	* configure.ac: Check for xmlcatalog.
744	* Makefile.in: Regenerate.
745	* configure: Likewise.
746	* doc/Makefile.in: Likewise.
747	* include/Makefile.in: Likewise.
748	* libsupc++/Makefile.in: Likewise.
749	* po/Makefile.in: Likewise.
750	* python/Makefile.in: Likewise.
751	* src/Makefile.in: Likewise.
752	* src/c++11/Makefile.in: Likewise.
753	* src/c++17/Makefile.in: Likewise.
754	* src/c++98/Makefile.in: Likewise.
755	* src/filesystem/Makefile.in: Likewise.
756	* testsuite/Makefile.in: Likewise.
757
7582019-05-23  Jonathan Wakely  <jwakely@redhat.com>
759
760	* doc/html/*: Regenerate.
761
7622019-05-23  Jonathan Wakely  <jwakely@redhat.com>
763
764	Backport from mainline
765	2019-05-23  Jonathan Wakely  <jwakely@redhat.com>
766
767	* include/experimental/any (__any_caster): Use RTTI if comparing
768	addresses fails, to support non-unique addresses in shared libraries.
769	* include/std/any (__any_caster): Likewise.
770	* testsuite/experimental/any/misc/any_cast_neg.cc: Use 0 for dg-error
771	line number.
772
7732019-05-23  Jonathan Wakely  <jwakely@redhat.com>
774
775	Backport from mainline
776	2019-05-23  Jonathan Wakely  <jwakely@redhat.com>
777
778	PR libstdc++/90220
779	* include/experimental/any (__any_caster): Constrain to only be
780	callable for object types. Use remove_cv_t instead of decay_t.
781	If the type decays or isn't copy constructible, compare the manager
782	function to a dummy specialization.
783	(__any_caster): Add overload constrained for non-object types.
784	(any::_Manager_internal<_Op>): Add dummy specialization.
785	* testsuite/experimental/any/misc/any_cast.cc: Test function types
786	and array types.
787
788	Backport from mainline
789	2019-04-24  Jonathan Wakely  <jwakely@redhat.com>
790
791	PR libstdc++/90220
792	* include/std/any (__any_caster): Use remove_cv_t instead of decay_t.
793	Avoid a runtime check for types that can never be stored in std::any.
794	* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
795	array types.
796
797	Backport from mainline
798	2019-04-24  Jonathan Wakely  <jwakely@redhat.com>
799
800	PR libstdc++/90220 (partial)
801	* include/std/any (any_cast<T>(any*), any_cast<T>(const any*)): Do
802	not attempt ill-formed static_cast to pointers to non-object types.
803	* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
804	function types.
805
8062019-05-23  Jonathan Wakely  <jwakely@redhat.com>
807
808	Backported from mainline
809	2019-01-15  Jonathan Wakely  <jwakely@redhat.com>
810
811	* doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
812	status.
813	* include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
814	Define.
815	* include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3
816	changes are supported.
817	* include/std/optional (__cpp_lib_optional): Likewise.
818	* include/std/variant (__cpp_lib_variant): Likewise.
819	* libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long
820	integer.
821
8222019-05-20  Jonathan Wakely  <jwakely@redhat.com>
823
824	Backported from mainline
825	2019-05-20  Jonathan Wakely  <jwakely@redhat.com>
826
827	PR c++/90532 Ensure __is_constructible(T[]) is false
828	* include/std/type_traits (__do_is_default_constructible_impl)
829	(__is_default_constructible_atom, __is_default_constructible_safe):
830	Remove.
831	(is_default_constructible): Use is_constructible.
832	* testsuite/20_util/is_constructible/value.cc: Check int[] case.
833	* testsuite/20_util/is_default_constructible/value.cc: Likewise.
834	* testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
835	* testsuite/20_util/is_trivially_default_constructible/value.cc:
836	Likewise.
837
8382019-05-17  Jonathan Wakely  <jwakely@redhat.com>
839
840	Backport from mainline
841	2019-05-04  Jonathan Wakely  <jwakely@redhat.com>
842
843	PR libstdc++/90299
844	* src/filesystem/std-ops.cc (absolute(const path&)): Report an error
845	if the argument is an empty path.
846	(absolute(const path&, error_code&)): Use invalid_argument as error
847	code instead of no_such_file_or_directory.
848	* testsuite/27_io/filesystem/operations/absolute.cc: Check handling
849	of non-existent paths and empty paths with both overloads of absolute.
850
8512019-05-15  Jonathan Wakely  <jwakely@redhat.com>
852
853	Backport from mainline
854	2019-04-30  Jonathan Wakely  <jwakely@redhat.com>
855
856	* testsuite/27_io/filesystem/path/decompose/root_path.cc: Remove
857	macros accidentally left in.
858
859	Backport from mainline
860	2019-05-13  Jonathan Wakely  <jwakely@redhat.com>
861
862	PR libstdc++/90454.cc path construction from void*
863	* include/bits/fs_path.h (path::_Path): Use remove_pointer so that
864	pointers to void are rejected as well as void.
865	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
866	* testsuite/27_io/filesystem/path/construct/80762.cc: Also check
867	pointers to void.
868	* testsuite/experimental/filesystem/path/construct/80762.cc: Likewise.
869
8702019-05-11  Jonathan Wakely  <jwakely@redhat.com>
871
872	Backport from mainline
873	2019-05-10  Jonathan Wakely  <jwakely@redhat.com>
874
875	PR libstdc++/81266
876	* testsuite/util/thread/all.h: Do not use remove_pointer for
877	std::thread::native_handle_type.
878
8792019-05-07  Jonathan Wakely  <jwakely@redhat.com>
880
881	Backport from mainline
882	2019-02-06  Jonathan Wakely  <jwakely@redhat.com>
883
884	PR libstdc++/89102 (partial)
885	* include/std/type_traits (common_type<>): Define.
886	(common_type<T>): Derive from common_type<T, T>.
887	* testsuite/20_util/common_type/requirements/explicit_instantiation.cc:
888	Test zero-length template argument list.
889	* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
890	Test additional single argument cases.
891	* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
892	Adjust expected error.
893
894	Backport from mainline
895	2019-01-22  Jonathan Wakely  <jwakely@redhat.com>
896
897	PR libstdc++/88740
898	* testsuite/util/testsuite_hooks.h [stderr] (VERIFY): Use fprintf to
899	write to stderr instead of using printf.
900
901	Backport from mainline
902	2019-04-23  Jonathan Wakely  <jwakely@redhat.com>
903
904	PR libstdc++/90165
905	* include/std/variant (variant::__is_in_place_tag)
906	(variant::__not_in_place_tag): New helpers for variant(T&&)
907	constructor constraint.
908	(variant::variant(T&&)): Use __not_in_place_tag in constraints.
909	* testsuite/20_util/variant/compile.cc: Check variant(T&&) constructor
910	isn't used for in_place_type or in_place_index arguments.
911
912	Backport from mainline
913	2019-04-17  Jonathan Wakely  <jwakely@redhat.com>
914
915	PR libstdc++/90105
916	* include/bits/forward_list.tcc (operator==): Do not use operator!= to
917	compare elements.
918	(forward_list<T, A>::sort(Comp)): When elements are equal take the one
919	earlier in the list, so that sort is stable.
920	* testsuite/23_containers/forward_list/operations/90105.cc: New test.
921	* testsuite/23_containers/forward_list/comparable.cc: Test with
922	types that meet the minimum EqualityComparable and LessThanComparable
923	requirements. Remove irrelevant comment.
924
925	Backport from mainline
926	2019-04-17  Jonathan Wakely  <jwakely@redhat.com>
927
928	* include/std/optional (optional::value_or(U&&) &&): Add missing
929	constexpr specifier.
930	* testsuite/20_util/optional/constexpr/observers/4.cc: Check value_or
931	for disengaged optionals and rvalue optionals.
932	* testsuite/20_util/optional/observers/4.cc: Likewise.
933
934	Backport from mainline
935	2019-04-10  Jonathan Wakely  <jwakely@redhat.com>
936
937	* doc/xml/faq.xml: Add information about emergency EH pool.
938	* doc/xml/manual/debug.xml: Update list of memory debugging tools.
939	Move outdated information on mt_allocator to a separate section.
940	* doc/xml/manual/evolution.xml: Clarify that GLIBCXX_FORCE_NEW
941	doesn't affect the default allocator.
942
943	Backport from mainline
944	2019-04-05  Jonathan Wakely  <jwakely@redhat.com>
945
946	* src/filesystem/std-dir.cc (_Dir::advance(bool, error_code&)): Handle
947	d_type == DT_UNKNOWN immediately.
948	(_Dir::should_recurse(bool, error_code&)): Remove file_type::unknown
949	handling here.
950	* testsuite/27_io/filesystem/iterators/caching.cc: New test.
951
952	Backport from mainline
953	2019-04-05  Jonathan Wakely  <jwakely@redhat.com>
954
955	* include/bits/fs_path.h (path::operator=(path&&)): Check for self
956	assignment.
957	* testsuite/27_io/filesystem/path/assign/copy.cc: Test self
958	assignment.
959
960	Backport from mainline
961	2019-03-26  Jonathan Wakely  <jwakely@redhat.com>
962
963	PR libstdc++/85965
964	* include/bits/hashtable.h (_Hashtable): Move static assertions to
965	destructor so they are not evaluated until the _Key type is complete.
966	* include/bits/stl_tree.h (_Rb_tree): Likewise.
967	* testsuite/23_containers/set/85965.cc: New test.
968	* testsuite/23_containers/unordered_set/85965.cc: New test.
969	* testsuite/23_containers/map/48101_neg.cc: Replace "here" errors
970	with regexp matching the corresponding _Rb_tree specialization.
971	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
972	* testsuite/23_containers/multiset/48101_neg.cc: Remove "here" error.
973	* testsuite/23_containers/set/48101_neg.cc: Likewise.
974	* testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
975	* testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
976	* testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
977	* testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
978
979	Backport from mainline
980	2019-03-11  Jonathan Wakely  <jwakely@redhat.com>
981
982	PR libstdc++/89629
983	* libsupc++/hash_bytes.cc [__SIZEOF_SIZE_T__ == 8] (_Hash_bytes):
984	Use correct type for len_aligned.
985	* testsuite/20_util/hash/89629.cc: New test.
986
987	Backport from mainline
988	2019-03-08  Jonathan Wakely  <jwakely@redhat.com>
989
990	* doc/xml/manual/using.xml: Use link element instead of xref.
991
992	Backport from mainline
993	2019-02-14  Jonathan Wakely  <jwakely@redhat.com>
994
995	* doc/xml/manual/intro.xml: Document LWG 2586 status.
996	* include/bits/uses_allocator.h (__uses_alloc): Use const lvalue
997	allocator type in is_constructible checks.
998	* testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
999	* testsuite/20_util/scoped_allocator/dr2586.cc: New test.
1000	* testsuite/20_util/tuple/cons/allocators.cc: Add test using
1001	problematic type from LWG 2586 discussion.
1002	* testsuite/20_util/uses_allocator/69293_neg.cc: Adjust dg-error.
1003	* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
1004
1005	Backport from mainline
1006	2019-02-14  Jonathan Wakely  <jwakely@redhat.com>
1007
1008	* doc/xml/manual/intro.xml: Document LWG 2537 status.
1009	* include/bits/stl_queue.h
1010	(priority_queue(const Compare&, const Container&, const Alloc&))
1011	(priority_queue(const Compare&, Container&&, const Alloc&)): Call
1012	make_heap.
1013	* testsuite/23_containers/priority_queue/dr2537.cc: New test.
1014
10152019-02-22  Jonathan Wakely  <jwakely@redhat.com>
1016
1017	PR libstdc++/89446
1018	* include/bits/char_traits.h (__constant_char_array): Check index is
1019	in range before dereferencing.
1020	* testsuite/21_strings/basic_string_view/operators/char/89446.cc:
1021	New test.
1022
10232019-02-22  Release Manager
1024
1025	* GCC 8.3.0 released.
1026
10272019-02-14  Jonathan Wakely  <jwakely@redhat.com>
1028
1029	PR middle-end/89303
1030	* testsuite/20_util/enable_shared_from_this/89303.cc: New test.
1031
10322019-02-09  Jonathan Wakely  <jwakely@redhat.com>
1033
1034	Backport from mainline
1035	2019-01-08  Jonathan Wakely  <jwakely@redhat.com>
1036
1037	PR libstdc++/88066
1038	* include/bits/locale_conv.h: Use <> for includes not "".
1039	* include/ext/random: Likewise.
1040	* include/ext/vstring.h: Likewise.
1041
10422019-02-08  Jonathan Wakely  <jwakely@redhat.com>
1043
1044	* doc/html/*: Regenerate.
1045
1046	* src/c++17/fs_ops.cc (absolute(const path&, error_code&)): Do nothing
1047	if the path is already absolute.
1048	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Pass error_code to current_path.
1049
1050	Backport from mainline
1051	2019-01-11  Jonathan Wakely  <jwakely@redhat.com>
1052
1053	* include/std/chrono (duration_values::zero(), duration_values::min())
1054	(duration_values::max()): Add noexcept.
1055	(duration::zero(), duration::min(), duration::max()): Likewise.
1056	(time_point::zero(), time_point::min(), time_point::max()): Likewise.
1057	* testsuite/20_util/duration/requirements/noexcept.cc: New test.
1058	* testsuite/20_util/time_point/requirements/noexcept.cc: New test.
1059
10602019-02-08  Jonathan Wakely  <jwakely@redhat.com>
1061
1062	Backport from mainline
1063	2019-01-07  Jonathan Wakely  <jwakely@redhat.com>
1064
1065	PR libstdc++/87787
1066	* include/bits/char_traits.h (char_traits::move): Do not pass null
1067	pointers to memmove.
1068	* include/bits/locale_facets.h
1069	(ctype<char>::widen(const char*, const char*, char*)): Do not
1070	pass null pointers to memcpy.
1071	(ctype<char>::narrow(const char*, const char*, char, char*)):
1072	Likewise.
1073	(ctype<char>::do_widen(const char*, const char*, char*)):
1074	Likewise.
1075	(ctype<char>::do_narrow(const char*, const char*, char, char*)):
1076	Likewise.
1077
10782019-02-08  Jonathan Wakely  <jwakely@redhat.com>
1079
1080	Backport from mainline
1081	2018-11-23  Martin Sebor  <msebor@redhat.com>
1082		    Jonathan Wakely  <jwakely@redhat.com>
1083
1084	PR libstdc++/65229
1085	* python/libstdcxx/v6/printers.py (StdBitsetPrinter): Handle
1086	exception thrown for std::bitset<0>.
1087	* testsuite/libstdc++-prettyprinters/simple.cc: Test std::bitset<0>.
1088
10892019-02-08  Jonathan Wakely  <jwakely@redhat.com>
1090
1091	Backport from mainline
1092	2018-11-23  Jonathan Wakely  <jwakely@redhat.com>
1093
1094	PR libstdc++/87308 (partial)
1095	* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Adjust regex to
1096	work around PR 88166.
1097
10982019-02-08  Jonathan Wakely  <jwakely@redhat.com>
1099
1100	Backport from mainline
1101	2019-02-05  Jonathan Wakely  <jwakely@redhat.com>
1102
1103	PR libstdc++/89128
1104	* include/bits/stl_queue.h (queue, priority_queue): Add deduction
1105	guides.
1106	* include/bits/stl_stack.h (stack): Likewise.
1107	* testsuite/23_containers/priority_queue/deduction.cc: New test.
1108	* testsuite/23_containers/queue/deduction.cc: New test.
1109	* testsuite/23_containers/stack/deduction.cc: New test.
1110
11112019-02-08  Jonathan Wakely  <jwakely@redhat.com>
1112
1113	Backport from mainline
1114	2018-11-29  Jonathan Wakely  <jwakely@redhat.com>
1115
1116	PR libstdc++/88119
1117	* include/ext/aligned_buffer.h (__aligned_membuf): Add comment.
1118	(__aligned_buffer): Use __alignof__ instead of std::alignment_of.
1119	* include/std/type_traits (alignment_of): Use alignof instead of
1120	__alignof__.
1121	* testsuite/20_util/alignment_of/value.cc: Fix test to check values
1122	match alignof not __alignof__, as required by the standard.
1123
11242019-02-08  Jonathan Wakely  <jwakely@redhat.com>
1125
1126	Backport from mainline
1127	2018-11-28  Jonathan Wakely  <jwakely@redhat.com>
1128
1129	PR libstdc++/83511
1130	* include/std/string_view (basic_string_view::substr): Add default
1131	argument to first parameter.
1132	* include/experimental/string_view (basic_string_view::substr):
1133	Likewise.
1134	* testsuite/21_strings/basic_string_view/operations/substr/char/
1135	83511.cc: New test.
1136	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
1137	83511.cc: New test.
1138	* testsuite/experimental/string_view/operations/substr/char/83511.cc:
1139	New test.
1140	* testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc:
1141	New test.
1142
1143	Backport from mainline
1144	2018-11-19  Jonathan Wakely  <jwakely@redhat.com>
1145
1146	PR libstdc++/88084 - Implement LWG 2777
1147	* include/std/string_view (basic_string_view::copy): Use traits to
1148	copy.
1149	* testsuite/21_strings/basic_string_view/operations/copy/char/2.cc:
1150	New test.
1151	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc:
1152	New test.
1153
1154	Backport from mainline
1155	2018-11-29  Jonathan Wakely  <jwakely@redhat.com>
1156
1157	PR libstdc++/86910
1158	PR libstdc++/87846
1159	* src/filesystem/ops.cc (experimental::create_directories): Report
1160	an error when the path resolves to an existing non-directory (P1164).
1161	* src/filesystem/std-ops.cc (create_directories): Likewise. Handle
1162	empty filenames due to trailing slashes.
1163	* testsuite/27_io/filesystem/operations/create_directories.cc: Test
1164	when some component of the path exists and is not a directory. Test
1165	trailing slashes.
1166	* testsuite/experimental/filesystem/operations/create_directories.cc:
1167	Likewise.
1168
1169	Backport from mainline
1170	2018-11-28  Jonathan Wakely  <jwakely@redhat.com>
1171
1172	* doc/xml/manual/intro.xml: Document LWG 3096 change.
1173	* src/filesystem/std-path.cc (path::lexically_relative(const path&)):
1174	Treat a final empty element equivalently to a final dot element.
1175	* testsuite/27_io/filesystem/path/generation/relative.cc: Add checks
1176	for the examples in the DR.
1177
1178	Backport from mainline
1179	2018-07-20  Jonathan Wakely  <jwakely@redhat.com>
1180
1181	PR libstdc++/86595
1182	* include/bits/fs_dir.h (directory_entry::refresh(error_code&)): Add
1183	noexcept.
1184
1185	Backport from mainline
1186	2018-05-21  Jonathan Wakely  <jwakely@redhat.com>
1187
1188	* src/filesystem/std-ops.cc (absolute): Report an error for empty
1189	paths.
1190	(weakly_canonical(const path&)): Do not call canonical on empty path.
1191	(weakly_canonical(const path&, error_code&)): Likewise.
1192	* testsuite/27_io/filesystem/operations/absolute.cc: Check for errors.
1193
1194	Backport from mainline
1195	2019-01-30  Jonathan Wakely  <jwakely@redhat.com>
1196
1197	PR libstdc++/89117
1198	* src/c++17/fs_path.cc (path::replace_extension): Erase extension from
1199	final component as well as from _M_pathname.
1200	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
1201	Add more test cases.
1202
12032019-01-21  Jonathan Wakely  <jwakely@redhat.com>
1204
1205	Backport from mainline
1206	2019-01-18  Jonathan Wakely  <jwakely@redhat.com>
1207
1208	PR libstdc++/87514
1209	PR libstdc++/87520
1210	PR libstdc++/88782
1211	* include/bits/shared_ptr.h
1212	(shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...))
1213	(allocate_shared): Change to use new tag type.
1214	(_Sp_alloc_shared_tag): Define new type.
1215	(_Sp_counted_ptr_inplace): Declare __shared_count<_Lp> as a friend.
1216	(__shared_count(Ptr, Deleter),__shared_count(Ptr, Deleter, Alloc)):
1217	Constrain to prevent being called with _Sp_alloc_shared_tag.
1218	(__shared_count(_Sp_make_shared_tag, const _Alloc&, Args&&...)):
1219	Replace constructor with ...
1220	(__shared_count(Tp*&, _Sp_alloc_shared_tag<_Alloc>, Args&&...)): Use
1221	reference parameter so address of the new object can be returned to
1222	the caller. Obtain the allocator from the tag type.
1223	(__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Replace
1224	constructor with ...
1225	(__shared_ptr(_Sp_alloc_shared_tag<Alloc>, Args&&...)): Pass _M_ptr
1226	to the __shared_count constructor.
1227	(__allocate_shared): Change to use new tag type.
1228
12292019-01-14  Jonathan Wakely  <jwakely@redhat.com>
1230
1231	PR libstdc++/80762
1232	* testsuite/experimental/filesystem/path/construct/80762.cc: Add
1233	dg-require-filesystem-ts directive.
1234
12352019-01-10  Jonathan Wakely  <jwakely@redhat.com>
1236
1237	Backport from mainline
1238	2019-01-04  Jonathan Wakely  <jwakely@redhat.com>
1239
1240	(path::lexically_normal()): Use std::vector iterators instead of
1241	path::iterator. Use pop_back to remove components from the end. Clear
1242	trailing filename, instead of using erase(const_iterator) to remove
1243	a non-final component.
1244	* testsuite/27_io/filesystem/path/generation/normal.cc: Test
1245	additional cases.
1246	* testsuite/27_io/filesystem/path/generation/normal2.cc: New test.
1247
12482019-01-10  Jonathan Wakely  <jwakely@redhat.com>
1249
1250	Backport from mainline
1251	2018-12-12  Jonathan Wakely  <jwakely@redhat.com>
1252
1253	PR libstdc++/80762
1254	* include/bits/fs_path.h (path::_Path): Use remove_cv_t and is_void.
1255	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
1256	* testsuite/27_io/filesystem/path/construct/80762.cc: New test.
1257	* testsuite/experimental/filesystem/path/construct/80762.cc: New test.
1258
12592019-01-10  Jonathan Wakely  <jwakely@redhat.com>
1260
1261	Backport from mainline
1262	2018-05-23  Jonathan Wakely  <jwakely@redhat.com>
1263
1264	* include/bits/fs_path.h (path::_M_type): Change default member
1265	initializer to _Filename.
1266	(path::begin): Create past-the-end iterator for empty path.
1267	(path::has_relative_path()): Return false for empty filenames.
1268	(path::_M_split_cmpts): Set _M_type to _Filename for empty paths.
1269	Fix offset of empty final component.
1270	* testsuite/27_io/filesystem/path/itr/components.cc: New.
1271	* testsuite/27_io/filesystem/path/itr/traversal.cc: Add new inputs.
1272
12732019-01-10  Jonathan Wakely  <jwakely@redhat.com>
1274
1275	Backport from mainline
1276	2019-01-10  Jonathan Wakely  <jwakely@redhat.com>
1277
1278	* testsuite/util/testsuite_fs.h (nonexistent_path): Include name
1279	of the source file containing the caller.
1280	* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Remove
1281	directories created by test.
1282	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
1283	Likewise.
1284	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1285	Likewise.
1286	* testsuite/experimental/filesystem/iterators/
1287	recursive_directory_iterator.cc: Likewise.
1288
12892019-01-10  Jonathan Wakely  <jwakely@redhat.com>
1290
1291	Backport from mainline
1292	2018-11-27  Jonathan Wakely  <jwakely@redhat.com>
1293
1294	* testsuite/27_io/filesystem/operations/canonical.cc: Remove
1295	directory created by test.
1296	* testsuite/27_io/filesystem/operations/symlink_status.cc: Remove
1297	symlink created by test.
1298
12992019-01-10  Jonathan Wakely  <jwakely@redhat.com>
1300
1301	* src/filesystem/std-path.cc (path::remove_filename()): Remove debug
1302	check that prevents building with -fno-exceptions.
1303
13042019-01-09  Jonathan Wakely  <jwakely@redhat.com>
1305
1306	* testsuite/20_util/optional/cons/value_neg.cc: Change dg-error to
1307	dg-prune-output. Remove unused header.
1308
1309	Backport from mainline
1310	2019-01-08  Jonathan Wakely  <jwakely@redhat.com>
1311
1312	PR libstdc++/87855
1313	* include/std/optional (_Optional_payload_base): New class template
1314	for common code hoisted from _Optional_payload specializations. Use
1315	a template for the union, to allow a partial specialization for
1316	types with non-trivial destructors. Add constructors for in-place
1317	initialization to the union.
1318	(_Optional_payload(bool, const _Optional_payload&)): Use _M_construct
1319	to perform non-trivial copy construction, instead of relying on
1320	non-standard copy elision in a delegating constructor.
1321	(_Optional_payload(bool, _Optional_payload&&)): Likewise for
1322	non-trivial move construction.
1323	(_Optional_payload): Derive from _Optional_payload_base and use it
1324	for everything except the non-trivial assignment operators, which are
1325	defined as needed.
1326	(_Optional_payload<false, C, M>): Derive from the specialization
1327	_Optional_payload<true, false, false> and add a destructor.
1328	(_Optional_base_impl::_M_destruct, _Optional_base_impl::_M_reset):
1329	Forward to corresponding members of _Optional_payload.
1330	(_Optional_base_impl::_M_is_engaged, _Optional_base_impl::_M_get):
1331	Hoist common members from _Optional_base.
1332	(_Optional_base): Make all members and base class public.
1333	(_Optional_base::_M_get, _Optional_base::_M_is_engaged): Move to
1334	_Optional_base_impl.
1335	* python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Add
1336	support for new std::optional layout.
1337	* testsuite/libstdc++-prettyprinters/compat.cc: New test.
1338
1339	Backport from mainline
1340	2018-11-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
1341
1342	PR libstdc++/87855
1343	Also implement P0602R4 (variant and optional
1344	should propagate copy/move triviality) for std::optional.
1345	* include/std/optional (_Optional_payload): Change
1346	the main constraints to check constructibility in
1347	addition to assignability.
1348	(operator=): Make constexpr.
1349	(_M_reset): Likewise.
1350	(_M_construct): Likewise.
1351	(operator->): Likewise.
1352	* testsuite/20_util/optional/assignment/8.cc: Adjust.
1353	* testsuite/20_util/optional/assignment/9.cc: New.
1354
13552018-12-23  Iain Sandoe  <iain@sandoe.co.uk>
1356
1357	Backport from mainline
1358	2018-12-06  Iain Sandoe  <iain@sandoe.co.uk>
1359
1360	* scripts/make_exports.pl (check names): Don’t try to export
1361	construction vtable symbols.
1362
13632018-12-22  Iain Sandoe  <iain@sandoe.co.uk>
1364
1365	Backport from mainline
1366	2018-12-06  Jonathan Wakely  <jwakely@redhat.com>
1367		    Iain Sandoe  <iain@sandoe.co.uk>
1368
1369	PR libstdc++/64883
1370	* testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't test
1371	always_inline on Darwin.
1372	* testsuite/17_intro/headers/c++2011/all_attributes.cc: Likewise.
1373	* testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1374	* testsuite/17_intro/headers/c++2017/all_attributes.cc: Likewise.
1375	* testsuite/17_intro/headers/c++2020/all_attributes.cc: Likewise.
1376
13772018-12-06  Iain Sandoe  <iain@sandoe.co.uk>
1378
1379	Backport from mainline
1380	2018-08-25  Iain Sandoe  <iain@sandoe.co.uk>
1381
1382	PR libstdc++/70694
1383	* configure.host (OPT_LDFLAGS): Don't append
1384	-fvisibility-inlines-hidden for newer Darwin.
1385
13862018-11-28  François Dumont  <fdumont@gcc.gnu.org>
1387
1388	PR libstdc++/88199
1389	* include/bits/hashtable.h
1390	(_Hashtable<>::_M_move_assign(_Hashtable&&, false_type)): Deallocate
1391	former buckets after assignment.
1392	* testsuite/23_containers/unordered_set/allocator/move_assign.cc
1393	(test03): New.
1394
13952018-11-22  Jonathan Wakely  <jwakely@redhat.com>
1396
1397	Backport from mainline
1398	2018-11-22  Jonathan Wakely  <jwakely@redhat.com>
1399
1400	PR libstdc++/85930
1401	PR libstdc++/87520
1402	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti)
1403	[__cpp_rtti]: Define even when RTTI is enabled. Use array of
1404	sizeof(type_info) so that type-punned reference binds to an object
1405	of the correct size as well as correct alignment.
1406	(_Sp_counted_ptr_inplace::_M_get_deleter) [__cpp_rtti]: Check for
1407	_S_ti() reference even when RTTI is enabled.
1408	(__shared_ptr(_Sp_make_shared_tag, const _Alloc&, _Args&&...))
1409	[__cpp_rtti]: Pass _S_ti() instead of typeid(_Sp_make_shared_tag).
1410
14112018-10-31  Jonathan Wakely  <jwakely@redhat.com>
1412
1413	Backport from mainline
1414	2018-10-31  Jonathan Wakely  <jwakely@redhat.com>
1415
1416	PR libstdc++/87822
1417	* include/bits/stl_pair.h (__pair_base): Change to class template.
1418	(pair): Make base class type depend on template parameters.
1419	* testsuite/20_util/pair/87822.cc: New test.
1420
14212018-10-30  Jonathan Wakely  <jwakely@redhat.com>
1422
1423	Backport from mainline
1424	2018-10-30  Jonathan Wakely  <jwakely@redhat.com>
1425
1426	PR libstdc++/87809
1427	* include/bits/forward_list.h (_Fwd_list_impl::_Fwd_list_impl()): Use
1428	trait in exception-specification instead of possibly invalid
1429	expression.
1430	* include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
1431	Likewise.
1432	* include/bits/stl_list.h (_List_impl::_List_impl()): Likewise.
1433	* testsuite/23_containers/forward_list/cons/87809.cc: New test.
1434	* testsuite/23_containers/list/cons/87809.cc: New test.
1435	* testsuite/23_containers/vector/bool/cons/87809.cc: New test.
1436	* testsuite/23_containers/vector/cons/87809.cc: New test.
1437
14382018-10-25  Jonathan Wakely  <jwakely@redhat.com>
1439
1440	PR libstdc++/87749
1441	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1442	(basic_string::operator=(basic_string&&)): For short strings copy the
1443	buffer inline. Only fall back to using assign(const basic_string&) to
1444	do a deep copy when reallocation is needed.
1445	* testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc:
1446	New test.
1447	* testsuite/21_strings/basic_string/modifiers/assign/char/
1448	move_assign_optim.cc: New test.
1449	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc:
1450	New test.
1451	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
1452	move_assign_optim.cc: New test.
1453
14542018-10-23  Jonathan Wakely  <jwakely@redhat.com>
1455
1456	PR libstdc++/87704
1457	* include/bits/unique_ptr.h (unique_ptr::unique_ptr(nullptr_t)): Do
1458	not delegate to default constructor.
1459	(unique_ptr<T[], D>::unique_ptr(nullptr_t)): Likewise.
1460	* testsuite/20_util/unique_ptr/cons/incomplete.cc: New test.
1461
14622018-10-19  Jonathan Wakely  <jwakely@redhat.com>
1463
1464	* include/bits/regex_executor.tcc (_Backref_matcher::_M_apply): Use
1465	_GLIBCXX_STD_A to refer to normal mode algorithms.
1466	* testsuite/28_regex/headers/regex/parallel_mode.cc: New test.
1467	* testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Remove empty
1468	whitespace.
1469
14702018-10-18  Jonathan Wakely  <jwakely@redhat.com>
1471
1472	Backport from mainline
1473	2018-10-18  Jonathan Wakely  <jwakely@redhat.com>
1474
1475	PR libstdc++/87641
1476	* include/bits/valarray_array.h (__valarray_sum): Use first element
1477	to initialize accumulator instead of value-initializing it.
1478	* testsuite/26_numerics/valarray/87641.cc: New test.
1479
14802018-10-15  Jonathan Wakely  <jwakely@redhat.com>
1481
1482	* testsuite/22_locale/numpunct/members/char/3.cc: Adjust test to
1483	account for change to glibc it_IT localedata (glibc bz#10797).
1484
14852018-10-12  Jonathan Wakely  <jwakely@redhat.com>
1486
1487	Backport from mainline
1488	2018-07-31  Jonathan Wakely  <jwakely@redhat.com>
1489
1490	PR libstdc++/86751
1491	* include/bits/stl_pair.h (__pair_base): New class with deleted copy
1492	assignment operator.
1493	(pair): Derive from __pair_base.
1494	(pair::operator=): Remove deleted overload.
1495	* python/libstdcxx/v6/printers.py (StdPairPrinter): New pretty printer
1496	so that new base class isn't shown in GDB.
1497	* testsuite/20_util/pair/86751.cc: New test.
1498	* testsuite/20_util/pair/ref_assign.cc: New test.
1499
15002018-10-12  Jonathan Wakely  <jwakely@redhat.com>
1501
1502	Backport from mainline
1503	2018-09-03  Jonathan Wakely  <jwakely@redhat.com>
1504
1505	PR libstdc++/78595
1506	* include/bits/stl_map.h (map::insert(_Pair&&))
1507	(map::insert(const_iterator, _Pair&&)): Do emplace instead of insert.
1508	* include/bits/stl_multimap.h (multimap::insert(_Pair&&))
1509	(multimap::insert(const_iterator, _Pair&&)): Likewise.
1510	* include/bits/unordered_map.h (unordered_map::insert(_Pair&&))
1511	(unordered_map::insert(const_iterator, _Pair&&))
1512	(unordered_multimap::insert(_Pair&&))
1513	(unordered_multimap::insert(const_iterator, _Pair&&)): Likewise.
1514	* include/std/type_traits (__enable_if_t): Define for C++11.
1515	* testsuite/23_containers/map/modifiers/insert/78595.cc: New test.
1516	* testsuite/23_containers/multimap/modifiers/insert/78595.cc: New test.
1517	* testsuite/23_containers/unordered_map/modifiers/78595.cc: New test.
1518	* testsuite/23_containers/unordered_multimap/modifiers/78595.cc: New
1519	test.
1520
15212018-10-12  Jonathan Wakely  <jwakely@redhat.com>
1522
1523	Backport from mainline
1524	2018-08-30  Jonathan Wakely  <jwakely@redhat.com>
1525
1526	* include/ext/pointer.h (_Pointer_adapter): Define operators for
1527	pointer arithmetic using long long offsets.
1528	* testsuite/ext/ext_pointer/1.cc: Test pointer arithmetic using
1529	long long values.
1530
15312018-10-12  Jonathan Wakely  <jwakely@redhat.com>
1532
1533	Backport from mainline
1534	2018-08-23  Jonathan Wakely  <jwakely@redhat.com>
1535
1536	* testsuite/21_strings/basic_string/init-list.cc:
1537	Require cxx11-abi.
1538	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
1539	Likewise.
1540	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
1541	Likewise.
1542
1543	Backport from mainline
1544	2018-08-22  Jonathan Wakely  <jwakely@redhat.com>
1545
1546	PR libstdc++/87061
1547	* include/experimental/regex [!_GLIBCXX_USE_CXX11_ABI]
1548	(experimental::pmr::match_results, experimental::pmr::cmatch)
1549	(experimental::pmr::smatch, experimental::pmr::wcmatch)
1550	(experimental::pmr::wsmatch): Do not declare for gcc4-compatible ABI,
1551	because COW strings don't support C++11 allocator model.
1552	* include/experimental/string [!_GLIBCXX_USE_CXX11_ABI]
1553	(experimental::pmr::basic_string, experimental::pmr::string)
1554	(experimental::pmr::u16string, experimental::pmr::u32string)
1555	(experimental::pmr::wstring): Likewise.
1556
1557	Backport from mainline
1558	2018-08-15  Jonathan Wakely  <jwakely@redhat.com>
1559
1560	* include/experimental/regex: Remove begin/end macros for namespace.
1561	* include/experimental/string: Likewise.
1562	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_deque.cc:
1563	New test.
1564	* testsuite/experimental/polymorphic_allocator/
1565	pmr_typedefs_forward_list.cc: New test.
1566	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_list.cc:
1567	New test.
1568	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_map.cc:
1569	New test.
1570	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
1571	New test.
1572	* testsuite/experimental/polymorphic_allocator/
1573	pmr_typedefs_multimap.cc: New test.
1574	* testsuite/experimental/polymorphic_allocator/
1575	pmr_typedefs_multiset.cc: New test.
1576	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_set.cc:
1577	New test.
1578	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
1579	New test.
1580	* testsuite/experimental/polymorphic_allocator/
1581	pmr_typedefs_unordered_map.cc: New test.
1582	* testsuite/experimental/polymorphic_allocator/
1583	pmr_typedefs_unordered_multimap.cc: New test.
1584	* testsuite/experimental/polymorphic_allocator/
1585	pmr_typedefs_unordered_multiset.cc: New test.
1586	* testsuite/experimental/polymorphic_allocator/
1587	pmr_typedefs_unordered_set.cc: New test.
1588	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_vector.cc:
1589	New test.
1590
15912018-10-12  Jonathan Wakely  <jwakely@redhat.com>
1592
1593	Backport from mainline
1594	2018-07-24  Jonathan Wakely  <jwakely@redhat.com>
1595
1596	PR libstdc++/70966
1597	* include/experimental/memory_resource (__get_default_resource): Use
1598	placement new to create an object with dynamic storage duration.
1599
1600	Backport from mainline
1601	2018-06-20  Jonathan Wakely  <jwakely@redhat.com>
1602
1603	PR libstdc++/70966
1604	* include/experimental/memory_resource (__resource_adaptor_imp): Add
1605	static assertions to enforce requirements on pointer types.
1606	(__resource_adaptor_imp::get_allocator()): Add noexcept.
1607	(new_delete_resource, null_memory_resource): Return address of an
1608	object with dynamic storage duration.
1609	(__null_memory_resource): Remove.
1610	* testsuite/experimental/memory_resource/70966.cc: New.
1611
16122018-10-12  Jonathan Wakely  <jwakely@redhat.com>
1613
1614	PR libstdc++/77854
1615	* doc/xml/manual/status_cxx1998.xml: Document size_type and
1616	difference_type for containers.
1617	* doc/html/*: Regenerate.
1618
16192018-10-08  Joseph Myers  <joseph@codesourcery.com>
1620
1621	Backport from mainline
1622	2018-10-02  Joseph Myers  <joseph@codesourcery.com>
1623
1624	* testsuite/lib/libstdc++.exp (libstdc++_init): Use
1625	-fno-show-column in default cxxflags.
1626
16272018-10-08  Jonathan Wakely  <jwakely@redhat.com>
1628
1629	Backport from mainline
1630	2018-10-08  Jonathan Wakely  <jwakely@redhat.com>
1631
1632	PR libstdc++/87538
1633	* include/std/functional (_Not_fn::operator()): Check value of
1634	__is_nothrow_invocable as well.
1635	* testsuite/20_util/function_objects/not_fn/87538.cc: New test.
1636	* testsuite/experimental/functional/87538.cc: New test.
1637
16382018-09-11  Jonathan Wakely  <jwakely@redhat.com>
1639
1640	PR libstdc++/87278
1641	* include/bits/shared_ptr.h (make_shared): Use remove_cv instead of
1642	remove_const.
1643	* testsuite/20_util/shared_ptr/creation/87278.cc: New test.
1644
16452018-08-28  Jonathan Wakely  <jwakely@redhat.com>
1646
1647	PR libstdc++/87116
1648	* src/filesystem/std-path.cc (path::lexically_normal): When handling
1649	a dot-dot filename, preserve an empty final component in the iteration
1650	sequence.
1651	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use preferred-separator for
1652	root-directory.
1653	* testsuite/27_io/filesystem/path/generation/normal.cc: Add new tests
1654	for more than two adjacent dot-dot filenames.
1655	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Replace slashes with
1656	preferred-separator in expected normalized strings.
1657
16582018-08-13  Jonathan Wakely  <jwakely@redhat.com>
1659
1660	Revert
1661	2018-08-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1662
1663	PR target/85904
1664	* configure.ac: Define HAVE_ALIGNED_ALLOC if building for
1665	Newlib.
1666	* configure: Regenerate.
1667
16682018-08-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1669
1670	Backport from mainline
1671	2018-08-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1672
1673	PR target/85904
1674	* configure.ac: Define HAVE_ALIGNED_ALLOC if building for
1675	Newlib.
1676	* configure: Regenerate.
1677
16782018-08-08  Jonathan Wakely  <jwakely@redhat.com>
1679
1680	* libsupc++/new_opa.cc (aligned_alloc): Declare inside namespace to
1681	avoid clashing with an ::aligned_alloc function that was not detected
1682	by configure.
1683
1684	PR libstdc++/86597
1685	* include/bits/fs_dir.h (directory_entry::_M_file_type(error_code&)):
1686	Clear error_code when cached type is used.
1687	* testsuite/27_io/filesystem/directory_entry/86597.cc: New test.
1688
1689	* doc/xml/manual/using.xml: Remove C++2a headers not on gcc-8-branch.
1690	* doc/html/*: Regenerate.
1691
1692	* doc/xml/manual/using.xml: Add missing header to table and fix typo.
1693	Remove C++17 headers not present on gcc-8-branch.
1694	* doc/html/*: Regenerate.
1695
16962018-08-07  Jonathan Wakely  <jwakely@redhat.com>
1697
1698	Backport from mainline
1699	2018-07-31  Jonathan Wakely  <jwakely@redhat.com>
1700
1701	* doc/xml/manual/test.xml: Improve documentation on writing tests for
1702	newer standards.
1703	* doc/xml/manual/using.xml: Document all headers for C++11 and later.
1704	* doc/html/*: Regenerate.
1705
1706	Backport from mainline
1707	2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
1708
1709	PR libstdc++/84535
1710	* include/std/thread (thread::__not_same): New SFINAE helper.
1711	(thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
1712	first argument is not a std::thread. Add static assertion to check
1713	INVOKE expression is valid.
1714	(thread::thread(thread&), thread::thread(const thread&&)): Remove.
1715	* testsuite/30_threads/thread/cons/84535.cc: New.
1716
1717	Backport from mainline
1718	2018-08-03  Jonathan Wakely  <jwakely@redhat.com>
1719
1720	* src/c++11/system_error.cc
1721	(system_error_category::default_error_condition): Add workaround for
1722	ENOTEMPTY and EEXIST having the same value on AIX.
1723	* testsuite/19_diagnostics/error_category/system_category.cc: Add
1724	extra testcases for EDOM, EILSEQ, ERANGE, EEXIST and ENOTEMPTY.
1725
1726	Backport from mainline
1727	2018-08-01  Jonathan Wakely  <jwakely@redhat.com>
1728
1729	PR libstdc++/60555
1730	* src/c++11/system_error.cc
1731	(system_error_category::default_error_condition): New override to
1732	check for POSIX errno values.
1733	* testsuite/19_diagnostics/error_category/generic_category.cc: New
1734	* testsuite/19_diagnostics/error_category/system_category.cc: New
1735	test.
1736
1737	Backport from mainline
1738	2018-08-07  Jonathan Wakely  <jwakely@redhat.com>
1739
1740	PR libstdc++/86874
1741	* include/std/variant (_Copy_ctor_base::_M_destructive_move): Define
1742	here instead of in _Move_assign_base.
1743	(_Copy_ctor_base<true, _Types...>::_M_destructive_move): Define.
1744	(_Copy_assign_base::operator=): Use _M_destructive_move when changing
1745	the contained value to another alternative.
1746	(_Move_assign_base::operator=): Likewise.
1747	(_Move_assign_base::_M_destructive_move): Remove.
1748	* testsuite/20_util/variant/86874.cc: New test.
1749
1750	Backport from mainline
1751	2018-08-07  Jonathan Wakely  <jwakely@redhat.com>
1752
1753	PR libstdc++/86861
1754	* libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc):
1755	Replace macro with inline function.
1756	[__sun]: Increase alignment to meet memalign precondition.
1757	[!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN]
1758	(aligned_alloc): Move check for valid alignment to operator new.
1759	Remove redundant check for non-zero size, it's enforced by the caller.
1760	(operator new): Move check for valid alignment here. Use
1761	__builtin_expect on check for zero size.
1762
17632018-07-31  Jonathan Wakely  <jwakely@redhat.com>
1764
1765	Backport from mainline
1766	2018-07-30  Jonathan Wakely  <jwakely@redhat.com>
1767
1768	* libsupc++/new_opa.cc (operator new(size_t, align_val_t)): Add
1769	workaround for aligned_alloc bug on AIX.
1770	* testsuite/18_support/new_aligned.cc: New test.
1771
1772	Backport from mainline
1773	2018-07-20  Fangrui Song  <maskray@google.com>
1774
1775	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Use
1776	_GLIBCXX_VISIBILITY(default).
1777
1778	Backport from mainline
1779	2018-07-30  Jonathan Wakely  <jwakely@redhat.com>
1780
1781	PR libstdc++/86734
1782	* include/bits/stl_iterator.h (reverse_iterator::operator->): Use
1783	addressof (LWG 2188).
1784	* testsuite/24_iterators/reverse_iterator/dr2188.cc: New test.
1785
1786	Backport from mainline
1787	2018-05-08  Jonathan Wakely  <jwakely@redhat.com>
1788
1789	PR libstdc++/85672
1790	* include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
1791	to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
1792	* include/Makefile.in: Regenerate.
1793	* include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
1794	within conditional block.
1795
1796	Backport from mainline
1797	2018-05-01  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
1798
1799	PR libstdc++/84654
1800	* acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
1801	* config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
1802	* configure: Regenerate.
1803	* include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
1804	based on ENABLE_FLOAT128.
1805	* include/Makefile.in: Regenerate.
1806	* include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
1807	[!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
1808	_GLIBCXX_USE_FLOAT128.
1809
18102018-07-26  Marek Polacek  <polacek@redhat.com>
1811
1812	* testsuite/30_threads/condition_variable_any/cond.cc: New.
1813
18142018-07-26  Release Manager
1815
1816	* GCC 8.2.0 released.
1817
18182018-07-18  Jonathan Wakely  <jwakely@redhat.com>
1819
1820	Backport from mainline
1821	2018-07-05  Jonathan Wakely  <jwakely@redhat.com>
1822
1823	* testsuite/21_strings/basic_string/cons/char/deduction.cc: XFAIL for
1824	COW strings.
1825	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
1826	Likewise.
1827
1828	Backport from mainline
1829	2018-07-04  Jonathan Wakely  <jwakely@redhat.com>
1830
1831	* testsuite/25_algorithms/make_heap/complexity.cc: Require effective
1832	target for std::random_device.
1833	* testsuite/26_numerics/random/random_device/cons/default.cc:
1834	Likewise.
1835	* testsuite/experimental/algorithm/sample-2.cc: Likewise.
1836	* testsuite/experimental/algorithm/shuffle.cc: Likewise.
1837	* testsuite/experimental/random/randint.cc: Likewise.
1838	* testsuite/lib/libstdc++.exp
1839	(check_effective_target_random_device): New proc.
1840
1841	Backport from mainline
1842	2018-06-26  David Edelsohn  <dje.gcc@gmail.com>
1843
1844	* testsuite/experimental/algorithm/sample-2.cc: Add TLS DejaGNU
1845	directives.
1846	* testsuite/experimental/algorithm/shuffle.cc: Likewise.
1847
1848	Backport from mainline
1849	2018-06-25  Jonathan Wakely  <jwakely@redhat.com>
1850
1851	* include/experimental/algorithm (sample, shuffle): Add new overloads
1852	using per-thread random number engine.
1853	* testsuite/experimental/algorithm/sample.cc: Simpify and reduce
1854	dependencies by using __gnu_test::test_container.
1855	* testsuite/experimental/algorithm/sample-2.cc: New.
1856	* testsuite/experimental/algorithm/shuffle.cc: New.
1857
18582018-07-16  Andreas Krebbel  <krebbel@linux.ibm.com>
1859
1860	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
1861	* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
1862	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1863
18642018-07-05  François Dumont  <fdumont@gcc.gnu.org>
1865
1866	Backport from mainline
1867	2018-07-04  François Dumont  <fdumont@gcc.gnu.org>
1868
1869	PR libstdc++/86272
1870	* include/debug/string
1871	(__gnu_debug::basic_string<>::insert<_Ite>(const_iterator, _Ite, _Ite)):
1872	Use __glibcxx_check_insert_range.
1873
18742018-07-04  Jonathan Wakely  <jwakely@redhat.com>
1875
1876	Backport from mainline
1877	2018-05-19  Jonathan Wakely  <jwakely@redhat.com>
1878
1879	* src/c++11/codecvt.cc (__codecvt_utf8_base<wchar_t>::do_in)
1880	[__SIZEOF_WCHAR_T__==2 && __BYTE_ORDER__!=__ORDER_BIG_ENDIAN__]: Set
1881	little_endian element in bitmask.
1882	* testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests.
1883	* testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New.
1884
1885	Backport from mainline
1886	2018-07-03  Jonathan Wakely  <jwakely@redhat.com>
1887
1888	* include/bits/alloc_traits.h: Remove redundant preprocessor
1889	condition.
1890
1891	Backport from mainline
1892	2018-06-27  Jonathan Wakely  <jwakely@redhat.com>
1893
1894	* include/bits/cpp_type_traits.h [__cplusplus >= 201703]
1895	(__is_byte<byte>): Define specialization for std::byte.
1896
1897	Backport from mainline
1898	2018-06-18  Jonathan Wakely  <jwakely@redhat.com>
1899
1900	LWG 3050 Fix cv-qualification of convertibility constraints
1901	* include/std/chrono (duration, operator*, operator/, operator%): Use
1902	const-qualified type as source type in is_convertible constraints.
1903	* testsuite/20_util/duration/arithmetic/dr3050.cc: New.
1904	* testsuite/20_util/duration/cons/dr3050.cc: New.
1905	* testsuite/20_util/duration/literals/range.cc: Rename to...
1906	* testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust
1907	dg-error lineno.
1908
1909	Backport from mainline
1910	2018-06-13  Jonathan Wakely  <jwakely@redhat.com>
1911
1912	PR libstdc++/86127
1913	* include/bits/forward_list.h (_Fwd_list_base::_Tp_alloc_type): Remove
1914	unused typedef.
1915	(_Fwd_list_base::_M_create_node, _Fwd_list_base::_M_erase_after):
1916	Use node allocator to create and destroy elements.
1917	(forward_list::_Tp_alloc_type): Remove unused typedef.
1918	(forward_list::_Alloc_traits): Use allocator_traits instead of
1919	__gnu_cxx::__alloc_traits.
1920
1921	Backport from mainline
1922	2018-05-29  Jonathan Wakely  <jwakely@redhat.com>
1923
1924	* include/std/variant (__erased_dtor): Qualify call to __get.
1925
1926	Backport from mainline
1927	2018-05-15  Jonathan Wakely  <jwakely@redhat.com>
1928
1929	* include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
1930	__invoke to prevent ADL.
1931
1932	Backport from mainline
1933	2018-05-24  Maya Rashish  <coypu@sdf.org>
1934
1935	PR target/85904
1936	* crossconfig.m4: Test for aligned_alloc on netbsd.
1937	* configure: Regenerate.
1938
1939	Backport from mainline
1940	2018-05-18  Jonathan Wakely  <jwakely@redhat.com>
1941
1942	PR libstdc++/85098
1943	* include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
1944	(basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
1945	(basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
1946	(basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
1947	definitions.
1948	* include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
1949	whitespace.
1950	* include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
1951	braces around body of do-while.
1952	* testsuite/28_regex/basic_regex/85098.cc: New
1953
1954	Backport from mainline
1955	2018-05-07  Jonathan Wakely  <jwakely@redhat.com>
1956
1957	PR libstdc++/85671
1958	* include/bits/fs_path.h (operator/): Permit copy elision.
1959	* include/experimental/bits/fs_path.h (operator/): Likewise.
1960
1961	Backport from mainline
1962	2018-06-14  Daniel Trebbien <dtrebbien@gmail.com>
1963		    Jonathan Wakely  <jwakely@redhat.com>
1964
1965	PR libstdc++/83982
1966	* include/bits/vector.tcc (vector::_M_default_append(size_type)):
1967	Default-construct new elements before moving existing ones.
1968	* testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc:
1969	New.
1970
1971	Backport from mainline
1972	2018-06-25  Jonathan Wakely  <jwakely@redhat.com>
1973
1974	PR libstdc++/86292
1975	* include/bits/stl_vector.h (vector::_M_range_initialize<InputIter>):
1976	Add try-catch block.
1977	* testsuite/23_containers/vector/cons/86292.cc: New.
1978
1979	Backport from mainline
1980	2018-06-27  Jonathan Wakely  <jwakely@redhat.com>
1981
1982	PR libstdc++/86138
1983	* include/bits/basic_string.tcc: [_GLIBCXX_EXTERN_TEMPLATE < 0]
1984	Declare explicit instantiations of COW empty reps and I/O functions.
1985
1986	Backport from mainline
1987	2018-06-16  Jonathan Wakely  <jwakely@redhat.com>
1988
1989	LWG 3076 basic_string CTAD ambiguity
1990	* doc/xml/manual/intro.xml: Document LWG 3076 change.
1991	* include/bits/basic_string.h
1992	[__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
1993	(basic_string(const _CharT*, const _Alloc&)): Turn into a function
1994	template constrained by _RequireAllocator.
1995	(basic_string(size_type, _CharT, const _Alloc&)): Likewise.
1996	* src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS):
1997	Define.
1998	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
1999	deduction
2000	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
2001	Likewise.
2002
2003	Backport from mainline
2004	2018-06-14  Jonathan Wakely  <jwakely@redhat.com>
2005
2006	LWG 3075 basic_string needs deduction guides from basic_string_view
2007	* include/bits/basic_string.h: Add deduction guides from string_view.
2008	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
2009	deduction from string views.
2010	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
2011	Likewise.
2012
2013	Backport from mainline
2014	2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
2015
2016	PR libstdc++/84087 LWG DR 2268 basic_string default arguments
2017	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
2018	(append(const basic_string&, size_type, size_type)
2019	(assign(const basic_string&, size_type, size_type)
2020	(insert(size_type, const basic_string&, size_type, size_type)
2021	(replace(size_type,size_type,const basic_string&,size_type,size_type)
2022	(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
2023	Add default arguments (LWG 2268).
2024	[_GLIBCXX_USE_CXX11_ABI=0]
2025	(append(const basic_string&, size_type, size_type)
2026	(assign(const basic_string&, size_type, size_type)
2027	(insert(size_type, const basic_string&, size_type, size_type)
2028	(replace(size_type,size_type,const basic_string&,size_type,size_type)
2029	(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
2030	Likewise.
2031	* testsuite/21_strings/basic_string/dr2268.cc: New test.
2032
2033	PR libstdc++/86398
2034	* include/std/type_traits (is_trivially_constructible): Check
2035	is_constructible before __is_trivially_constructible.
2036	* testsuite/20_util/is_trivially_constructible/value.cc: Add more
2037	tests, including negative cases.
2038	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Use
2039	zero for dg-error lineno.
2040	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2041	Likewise.
2042
20432018-06-25  Jonathan Wakely  <jwakely@redhat.com>
2044
2045	PR libstdc++/86112
2046	* python/libstdcxx/v6/printers.py (add_one_template_type_printer):
2047	Replace dict comprehension.
2048
20492018-06-25  Jonathan Wakely  <jwakely@redhat.com>
2050
2051	PR libstdc++/81092
2052	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2053
20542018-06-22  Jonathan Wakely  <jwakely@redhat.com>
2055
2056	Backport from mainline
2057	2018-06-22  Jonathan Wakely  <jwakely@redhat.com>
2058
2059	PR libstdc++/86138
2060	* include/bits/basic_string.tcc:
2061	[__cplusplus > 201402 && !_GLIBCXX_USE_CXX11_ABI]
2062	(basic_string<char>::_Rep::_S_empty_rep_storage)
2063	(basic_string<wchar_t>::_Rep::_S_empty_rep_storage): Add explicit
2064	instantiation declarations.
2065	[__cplusplus > 201402] (operator>>, operator<<, getline): Re-enable
2066	explicit instantiation declarations.
2067	* testsuite/21_strings/basic_string/cons/char/86138.cc: New.
2068	* testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: New.
2069
20702018-06-21  Jonathan Wakely  <jwakely@redhat.com>
2071
2072	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
2073
20742018-06-19  Jonathan Wakely  <jwakely@redhat.com>
2075
2076	* include/std/utility: Remove unused <exception> header.
2077
20782018-06-19  Jonathan Wakely  <jwakely@redhat.com>
2079
2080	Backport from mainline
2081	2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
2082
2083	PR libstdc++/82644
2084	* include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
2085	inline definitions instead of using-declarations.
2086	[__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
2087	* testsuite/tr1/5_numerical_facilities/special_functions/
2088	07_conf_hyperg/compile_cxx17.cc: New.
2089	* testsuite/tr1/5_numerical_facilities/special_functions/
2090	17_hyperg/compile_cxx17.cc: New.
2091
20922018-06-15  Jonathan Wakely  <jwakely@redhat.com>
2093
2094	PR libstdc++/86169
2095	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
2096	(basic_string::data()): Unshare string.
2097	* testsuite/21_strings/basic_string/operations/data/char/86169.cc:
2098	New.
2099
21002018-06-15  Jonathan Wakely  <jwakely@redhat.com>
2101
2102	* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
2103	define for C++17 and above.
2104
21052018-06-06  Jonathan Wakely  <jwakely@redhat.com>
2106
2107	PR libstdc++/86008
2108	* include/bits/quoted_string.h (_Quoted_string<basic_string_view, C>):
2109	Define new partial specialization.
2110	* include/std/iomanip (quoted(basic_string_view<C,T>, C, C)): Define
2111	new overload.
2112	(operator<<(basic_ostream<C,T>&, const _Quoted_string<S,C>&)): Use
2113	value not reference for iteration.
2114	* testsuite/27_io/manipulators/standard/char/quoted.cc: Adjust
2115	comment.
2116	* testsuite/27_io/manipulators/standard/char/quoted_sv.cc: New test.
2117	* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Adjust
2118	comment.
2119
21202018-06-05  Jonathan Wakely  <jwakely@redhat.com>
2121
2122	* include/std/type_traits: Fix comment typo.
2123
21242018-06-04  Jonathan Wakely  <jwakely@redhat.com>
2125
2126	PR libstdc++/85930
2127	* include/bits/shared_ptr_base.h [!__cpp_rtti]: Include <typeinfo>
2128	unconditionally. Remove redundant declaration.
2129	[!__cpp_rtti] (_Sp_make_shared_tag::_S_ti): Align the static variable
2130	correctly.
2131
21322018-05-31  Jonathan Wakely  <jwakely@redhat.com>
2133
2134	PR libstdc++/85951
2135	* include/std/type_traits [_GLIBCXX_USE_C99_STDINT_TR1]: Do not define
2136	uint_least16_t and uint_least32_t.
2137	(__make_unsigned<wchar_t>): Define unconditionally.
2138	(__make_unsigned<char16_t>, __make_unsigned<char32_t>): Define.
2139	(__make_signed<wchar_t>, __make_signed<char16_t>)
2140	(__make_signed<char32_t>)): Define unconditionally.
2141	* testsuite/20_util/make_signed/requirements/typedefs-3.cc: Check
2142	wchar_t, char16_t and char32_t are transformed correctly.
2143	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
2144	dg-error lineno.
2145	* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: Check
2146	wchar_t, char16_t and char32_t are transformed correctly.
2147	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
2148	dg-error lineno.
2149
21502018-05-21  François Dumont  <fdumont@gcc.gnu.org>
2151
2152	* include/debug/map.h
2153	(map(map&&, const_allocator_type&)): Add noexcept qualitication.
2154	* include/debug/multimap.h
2155	(multimap(multimap&&, const_allocator_type&)): Likewise.
2156	* include/debug/set.h
2157	(set(set&&, const_allocator_type&)): Likewise.
2158	* include/debug/multiset.h
2159	(multiset(multiset&&, const_allocator_type&)): Likewise.
2160
21612018-05-21  Jonathan Wakely  <jwakely@redhat.com>
2162
2163	PR libstdc++/85818
2164	* testsuite/experimental/filesystem/path/preferred_separator.cc: Add
2165	dg-require-filesystem-ts.
2166
21672018-05-17  Jonathan Wakely  <jwakely@redhat.com>
2168
2169	PR libstdc++/85818
2170	* src/filesystem/path.cc (path::preferred_separator): Add used
2171	attribute.
2172	* testsuite/experimental/filesystem/path/preferred_separator.cc: New.
2173
2174	PR libstdc++/85812
2175	* libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
2176	* libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
2177	Refactor to separate non-throwing and throwing implementations.
2178	[__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
2179	if constructing the object throws.
2180
21812018-05-15  Jonathan Wakely  <jwakely@redhat.com>
2182
2183	PR libstdc++/83891
2184	* include/bits/fs_path.h (path::is_absolute()): Use same definition
2185	for all operating systems.
2186	* include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
2187	* testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
2188	* testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
2189	* testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
2190
2191	* testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
2192	unused <vector> header.
2193	* testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
2194	* testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
2195	* testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
2196	* testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
2197	* testsuite/27_io/filesystem/path/query/has_relative_path.cc:
2198	Likewise.
2199	* testsuite/27_io/filesystem/path/query/has_root_directory.cc:
2200	Likewise.
2201	* testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
2202	* testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
2203	* testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
2204	* testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
2205	* testsuite/experimental/filesystem/path/decompose/extension.cc:
2206	Likewise.
2207	* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
2208	* testsuite/experimental/filesystem/path/query/has_extension.cc:
2209	Likewise.
2210	* testsuite/experimental/filesystem/path/query/has_filename.cc:
2211	Likewise.
2212	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
2213	Likewise.
2214	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
2215	Likewise.
2216	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
2217	Likewise.
2218	* testsuite/experimental/filesystem/path/query/has_root_name.cc:
2219	Likewise.
2220	* testsuite/experimental/filesystem/path/query/has_root_path.cc:
2221	Likewise.
2222	* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
2223	* testsuite/experimental/filesystem/path/query/is_relative.cc:
2224	Likewise.
2225
2226	PR libstdc++/84159
2227	* include/bits/fs_path.h (path::operator/=, path::append): Construct
2228	temporary path before calling _M_append.
2229	(path::_M_append): Change parameter to path and implement C++17
2230	semantics.
2231	* testsuite/27_io/filesystem/path/append/path.cc: Add helper function
2232	and more examples from the standard.
2233	* testsuite/27_io/filesystem/path/append/source.cc: New.
2234	* testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
2235	* testsuite/27_io/filesystem/path/nonmember/append.cc: New.
2236
22372018-05-14  Jonathan Wakely  <jwakely@redhat.com>
2238
2239	PR libstdc++/67554
2240	* include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
2241	(_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
2242
2243	PR libstdc++/82966
2244	* include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
2245	instead of type.
2246	* testsuite/23_containers/set/modifiers/node_swap.cc: New.
2247
22482018-05-10  Jonathan Wakely  <jwakely@redhat.com>
2249
2250	* doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
2251	* doc/xml/manual/debug_mode.xml: Add array and forward_list to list
2252	of C++11 containers with Debug Mode support.
2253	* doc/xml/manual/using.xml: Document that the C++17 Filesystem
2254	implementation also needs -lstdc++fs. Document Dual ABI for
2255	ios_base::failure.
2256	* doc/html/*: Regenerate.
2257
22582018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
2259
2260	Backport from mainline
2261	2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
2262
2263	Moar PR libstdc++/80506
2264	* include/bits/random.tcc (gamma_distribution::__generate_impl()):
2265	Fix magic number used in loop condition.
2266
22672018-05-04  Jonathan Wakely  <jwakely@redhat.com>
2268
2269	PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
2270	* include/std/optional (_Optional_payload): Add noexcept to default
2271	constructor. Re-indent.
2272	(_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
2273	constructor for copying disengaged payloads.
2274	(_Optional_payload<_Tp, true, false, true>): Likewise.
2275	(_Optional_payload<_Tp, true, true, false>): Likewise.
2276	(_Optional_payload<_Tp, true, false, false>): Likewise.
2277	* testsuite/20_util/optional/cons/85642.cc: New.
2278	* testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
2279
22802018-05-03  Jonathan Wakely  <jwakely@redhat.com>
2281
2282	PR libstdc++/84769
2283	* include/std/variant (visit): Qualify std::get call.
2284
22852018-05-03  Jonathan Wakely  <jwakely@redhat.com>
2286
2287	PR libstdc++/85632 use uintmax_t for arithmetic
2288	* src/filesystem/ops.cc (experimental::filesystem::space): Perform
2289	arithmetic in result type.
2290	* src/filesystem/std-ops.cc (filesystem::space): Likewise.
2291	* testsuite/27_io/filesystem/operations/space.cc: Check total capacity
2292	is greater than free space.
2293	* testsuite/experimental/filesystem/operations/space.cc: New.
2294
22952018-05-02  Release Manager
2296
2297	* GCC 8.1.0 released.
2298
22992018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
2300
2301	* configure: Regenerated.
2302
23032018-04-19  Jakub Jelinek  <jakub@redhat.com>
2304
2305	* configure: Regenerated.
2306
23072018-04-18  Jonathan Wakely  <jwakely@redhat.com>
2308	    Jakub Jelinek  <jakub@redhat.com>
2309
2310	PR libstdc++/85442
2311	* src/c++11/Makefile.am: Don't generate debuginfo again for
2312	cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
2313	* src/c++11/Makefile.in: Regenerate.
2314
23152018-04-18  Jonathan Wakely  <jwakely@redhat.com>
2316
2317	PR libstdc++/84442
2318	* testsuite/30_threads/thread/cons/terminate.cc
2319	[!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
2320
23212018-04-18  David Malcolm  <dmalcolm@redhat.com>
2322
2323	PR jit/85384
2324	* configure: Regenerate.
2325
23262018-04-16  Jonathan Wakely  <jwakely@redhat.com>
2327
2328	* testsuite/experimental/filesystem/file_status/1.cc: Add
2329	-DUSE_FILESYSTEM_TS to dg-options.
2330	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2331	Likewise.
2332	* testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
2333	* testsuite/experimental/filesystem/iterators/
2334	recursive_directory_iterator.cc: Likewise.
2335	* testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
2336	* testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
2337	* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
2338	* testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
2339	* testsuite/experimental/filesystem/operations/create_directories.cc:
2340	Likewise.
2341	* testsuite/experimental/filesystem/operations/create_directory.cc:
2342	Likewise.
2343	* testsuite/experimental/filesystem/operations/create_symlink.cc:
2344	Likewise.
2345	* testsuite/experimental/filesystem/operations/current_path.cc:
2346	Likewise.
2347	* testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
2348	* testsuite/experimental/filesystem/operations/exists.cc: Likewise.
2349	* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
2350	* testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
2351	* testsuite/experimental/filesystem/operations/last_write_time.cc:
2352	Likewise.
2353	* testsuite/experimental/filesystem/operations/permissions.cc:
2354	Likewise.
2355	* testsuite/experimental/filesystem/operations/read_symlink.cc:
2356	Likewise.
2357	* testsuite/experimental/filesystem/operations/remove.cc: Likewise.
2358	* testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
2359	* testsuite/experimental/filesystem/operations/status.cc: Likewise.
2360	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
2361	Likewise.
2362	* testsuite/experimental/filesystem/path/append/path.cc: Likewise.
2363	* testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
2364	* testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
2365	* testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
2366	* testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
2367	* testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
2368	* testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
2369	* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
2370	* testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
2371	* testsuite/experimental/filesystem/path/construct/default.cc:
2372	Likewise.
2373	* testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
2374	* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
2375	* testsuite/experimental/filesystem/path/construct/string_view.cc:
2376	Likewise.
2377	* testsuite/experimental/filesystem/path/decompose/extension.cc:
2378	Likewise.
2379	* testsuite/experimental/filesystem/path/decompose/filename.cc:
2380	Likewise.
2381	* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
2382	Likewise.
2383	* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
2384	Likewise.
2385	* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
2386	Likewise.
2387	* testsuite/experimental/filesystem/path/decompose/root_name.cc:
2388	Likewise.
2389	* testsuite/experimental/filesystem/path/decompose/root_path.cc:
2390	Likewise.
2391	* testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
2392	* testsuite/experimental/filesystem/path/generic/generic_string.cc:
2393	Likewise.
2394	* testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
2395	* testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
2396	* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
2397	Likewise.
2398	* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
2399	Likewise.
2400	* testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
2401	Likewise.
2402	* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
2403	Likewise.
2404	* testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
2405	* testsuite/experimental/filesystem/path/native/string.cc: Likewise.
2406	* testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
2407	Likewise.
2408	* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
2409	* testsuite/experimental/filesystem/path/query/has_extension.cc:
2410	Likewise.
2411	* testsuite/experimental/filesystem/path/query/has_filename.cc:
2412	Likewise.
2413	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
2414	Likewise.
2415	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
2416	Likewise.
2417	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
2418	Likewise.
2419	* testsuite/experimental/filesystem/path/query/has_root_name.cc:
2420	Likewise.
2421	* testsuite/experimental/filesystem/path/query/has_root_path.cc:
2422	Likewise.
2423	* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
2424	* testsuite/experimental/filesystem/path/query/is_relative.cc:
2425	Likewise.
2426
24272018-04-13  Jonathan Wakely  <jwakely@redhat.com>
2428
2429	* src/c++11/Makefile.am: Fix sed command.
2430	* src/c++11/Makefile.in: Regenerate.
2431
2432	* src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
2433	handle mangled names starting with double underscores on darwin.
2434	* src/c++11/Makefile.in: Regenerate.
2435
24362018-04-12  Jonathan Wakely  <jwakely@redhat.com>
2437
2438	* src/c++11/Makefile.am: Fix comment.
2439	* src/c++11/Makefile.in: Regenerate.
2440	* src/c++11/cxx11-ios_failure.cc: Fix comment.
2441	* src/c++98/ios_failure.cc: Likewise.
2442
2443	* src/c++11/ios.cc: Remove redundant macro definition.
2444
24452018-04-11  Jonathan Wakely  <jwakely@redhat.com>
2446
2447	* doc/xml/manual/abi.xml: Document header locations in recent
2448	releases.
2449	* doc/xml/manual/evolution.xml: Add API changes since GCC 5.
2450	* doc/xml/manual/spine.xml: Update copyright years.
2451	* doc/xml/manual/strings.xml: Adjust tolower example to avoid
2452	undefined behaviour.
2453	* doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
2454	* doc/html/*: Regenerate.
2455
24562018-04-10  Jonathan Wakely  <jwakely@redhat.com>
2457
2458	* doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
2459	* doc/xml/manual/backwards_compatibility.xml: Likewise.
2460	* doc/xml/manual/containers.xml: Likewise.
2461	* doc/xml/manual/debug_mode.xml: Likewise.
2462	* doc/xml/manual/extensions.xml: Likewise.
2463	* doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
2464	* doc/xml/manual/using.xml: Likewise.
2465	* doc/xml/manual/utilities.xml: Likewise.
2466
2467	PR libstdc++/85222
2468	* src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
2469	cxx11-ios_failure.cc to rewrite type info for __ios_failure.
2470	* src/c++11/Makefile.in: Regenerate.
2471	* src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
2472	New types.
2473	[_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
2474	* src/c++11/ios.cc (__throw_ios_failure): Remove definition.
2475	* src/c++98/ios_failure.cc (__construct_ios_failure)
2476	(__destroy_ios_failure, is_ios_failure_handler): New functions.
2477	[!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
2478	* testsuite/27_io/ios_base/failure/dual_abi.cc: New.
2479	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
2480	handler types, to always catch std::ios_base::failure.
2481	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
2482	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
2483	exceptions_failbit.cc: Likewise.
2484	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
2485	exceptions_failbit.cc: Likewise.
2486	* testsuite/27_io/basic_istream/extractors_other/char/
2487	exceptions_null.cc: Likewise.
2488	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
2489	exceptions_null.cc: Likewise.
2490	* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
2491	* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
2492	* testsuite/27_io/basic_ostream/inserters_other/char/
2493	exceptions_null.cc: Likewise.
2494	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
2495	exceptions_null.cc: Likewise.
2496	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
2497
24982018-04-05  Jonathan Wakely  <jwakely@redhat.com>
2499
2500	* include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
2501	__get calls to avoid ADL and avoid ambiguity due to Clang bug.
2502
25032018-04-03  Jonathan Wakely  <jwakely@redhat.com>
2504
2505	PR libstdc++/85183
2506	* include/std/variant (_Move_assign_base::operator=): Fix incorrect
2507	value categories.
2508	* testsuite/20_util/variant/85183.cc: New.
2509
25102018-03-26  Jonathan Wakely  <jwakely@redhat.com>
2511
2512	* include/std/variant (__get): Qualify calls to avoid ADL.
2513	(__select_index): Adjust whitespace.
2514	(variant): Add using-declaration to workaround Clang bug.
2515
25162018-03-22  Jonathan Wakely  <jwakely@redhat.com>
2517
2518	PR libstdc++/85040
2519	* include/bits/stl_function.h (greater::__not_overloaded)
2520	(less::__not_overloaded, greater_equal::__not_overloaded)
2521	(less_equal::__not_overloaded): Fix ambiguous specializations.
2522	* testsuite/20_util/function_objects/comparisons_pointer.cc: Add
2523	tests for type with overloaded operators.
2524
25252018-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2526
2527	PR libstdc++/77691
2528	* testsuite/experimental/memory_resource/resource_adaptor.cc:
2529	xfail execution on 32-bit Solaris/x86.
2530
25312018-03-21  Jonathan Wakely  <jwakely@redhat.com>
2532
2533	* testsuite/20_util/function_objects/comparisons_pointer.cc: Use
2534	VERIFY instead of assert.
2535	* testsuite/20_util/hash/84998.cc: New test.
2536	* testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
2537	copy of test adjusted for Debug Mode.
2538	* testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
2539	test in Debug Mode.
2540
25412018-03-20  François Dumont  <fdumont@gcc.gnu.org>
2542
2543	PR libstdc++/84998
2544	* include/bits/stl_bvector.h: Fix std::hash friend declaration.
2545	* include/std/bitset: Likewise.
2546	* include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
2547	declaration.
2548	* include/bits/stl_multimap.h (std::multimap<>): Likewise.
2549	* include/bits/stl_multiset.h (std::multiset<>): Likewise.
2550	* include/bits/stl_set.h (std::set<>): Likewise.
2551	* include/bits/unordered_map.h (std::unordered_map<>): Fix
2552	_Hash_merge_helper friend declaration.
2553	(std::unordered_multimap<>): Likewise.
2554	* include/bits/unordered_set.h (std::unordered_set<>): Likewise.
2555	(std::unordered_multiset<>): Likewise.
2556
25572018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
2558
2559	* doc/xml/api.xml: www.fsf.org has moved to https. Also omit
2560	trailing slash for domain level link.
2561	* doc/xml/faq.xml: Ditto.
2562	* doc/xml/manual/appendix_free.xml (software): Ditto.
2563	* doc/xml/manual/intro.xml: Ditto.
2564	* doc/xml/manual/spine.xml: Ditto.
2565	* doc/xml/spine.xml: Ditto.
2566
25672018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
2568
2569	* doc/xml/manual/documentation_hacking.xml: Adjust link to
2570	docbook.org.
2571
25722018-03-17  Jonathan Wakely  <jwakely@redhat.com>
2573
2574	* testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
2575	to compile as C++98.
2576
25772018-03-14  Jonathan Wakely  <jwakely@redhat.com>
2578
2579	PR libstdc++/78420
2580	* include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
2581	(greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
2582	to ensure total order for pointers.
2583	(greater<void>, less<void>, greater_equal<void>, less_equal<void>):
2584	Add operator() overloads for pointer arguments and make generic
2585	overloads dispatch to new _S_cmp functions when comparisons would
2586	use built-in operators for pointers.
2587	* testsuite/20_util/function_objects/comparisons_pointer.cc: New.
2588
25892018-03-12  Jonathan Wakely  <jwakely@redhat.com>
2590
2591	PR libstdc++/84773
2592	PR libstdc++/83662
2593	* crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
2594	* configure: Regenerate.
2595	* include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
2596	(aligned_alloc): Add using-declaration.
2597	* testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
2598
25992018-03-09  François Dumont  <fdumont@gcc.gnu.org>
2600
2601	* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
2602	Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
2603	registration.
2604
26052018-03-09  Jonathan Wakely  <jwakely@redhat.com>
2606
2607	PR libstdc++/84769
2608	* include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
2609	Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
2610
2611	src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
2612	src/filesystem/std-ops.cc (create_dir): Likewise.
2613
26142018-03-08  François Dumont  <fdumont@gcc.gnu.org>
2615
2616	* python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
2617	(StdListIteratorPrinter): Inherit from latter.
2618	(StdFwdListIteratorPrinter): New, inherit from latter.
2619	(StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
2620	when iterator has no associated container.
2621	(build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
2622	__gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
2623	registrations.
2624	* testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
2625	* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
2626
26272018-03-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
2628
2629	PR libstdc++/84601
2630	* include/std/optional (_Optional_payload): Split into multiple
2631	specializations that can handle different cases of trivial or
2632	non-trivial assignment operators.
2633	* testsuite/20_util/optional/84601.cc: New.
2634	* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
2635
26362018-03-02  Jonathan Wakely  <jwakely@redhat.com>
2637
2638	PR libstdc++/84671
2639	* include/bits/parse_numbers.h (_Number_help): Add partial
2640	specialization to handle digit separators. Adjust partial
2641	specialization for recursion temrination to require _Pow == 1ULL.
2642	* testsuite/20_util/duration/literals/84671.cc: New
2643
26442018-02-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
2645
2646	Implement the missing bits of LWG 2769
2647	* include/std/any (any_cast(const any&)): Add static_assert.
2648	(any_cast(any&)): Likewise.
2649	(any_cast(any&&)): Likewise, and remove the handling
2650	for copyable-but-not-movable type.
2651	* testsuite/20_util/any/misc/any_cast.cc: Adjust.
2652	* testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
2653	add new tests.
2654
26552018-02-23  Jonathan Wakely  <jwakely@redhat.com>
2656
2657	PR libstdc++/84532
2658	* include/std/thread (thread::__make_invoker): Construct tuple
2659	directly instead of using make_tuple.
2660	* testsuite/30_threads/async/84532.cc: New.
2661	* testsuite/30_threads/thread/84532.cc: New.
2662
26632018-02-20  François Dumont  <fdumont@gcc.gnu.org>
2664
2665	* include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
2666	(template<> __aligned_buffer): Define as __aligned_membuf alias.
2667
26682018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
2669
2670	PR target/84148
2671	* configure: Regenerate.
2672
26732018-02-15  Jonathan Wakely  <jwakely@redhat.com>
2674
2675	PR libstdc++/81797
2676	* configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
2677	* configure: Regenerate.
2678	* include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
2679	defined.
2680	* include/Makefile.in: Regenerate.
2681
26822018-01-29  Jonathan Wakely  <jwakely@redhat.com>
2683
2684	PR libstdc++/83833
2685	* testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
2686	Add -ffloat-store to options for m68k and ia32.
2687
2688	* doc/xml/faq.xml: Update copyright years.
2689	* doc/html/*: Regenerate.
2690
2691	PR libstdc++/83658
2692	* include/std/any (any::__do_emplace): Only set _M_manager after
2693	constructing the contained object.
2694	* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
2695	* testsuite/20_util/any/modifiers/83658.cc: New test.
2696
26972018-01-25  Jonathan Wakely  <jwakely@redhat.com>
2698
2699	PR libstdc++/81076
2700	* include/c_global/cstddef (__byte_operand): Define primary template.
2701	* testsuite/18_support/byte/81076.cc: New test.
2702
27032018-01-19  Christophe Lyon  <christophe.lyon@linaro.org>
2704
2705	* testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
2706	dg-options and dg-add-options order.
2707	* testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
2708	* testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
2709	Likewise.
2710	* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
2711	* testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
2712	Likewise.
2713	* testsuite/special_functions/02_assoc_legendre/check_nan.cc:
2714	Likewise.
2715	* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
2716	* testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
2717	Likewise.
2718	* testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
2719	Likewise.
2720	* testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
2721	Likewise.
2722	* testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
2723	Likewise.
2724	* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
2725	Likewise.
2726	* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
2727	Likewise.
2728	* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
2729	Likewise.
2730	* testsuite/special_functions/10_cyl_neumann/check_nan.cc:
2731	Likewise.
2732	* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
2733	* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
2734	* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
2735	* testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
2736	* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
2737	* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
2738	* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
2739	* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
2740	* testsuite/special_functions/18_riemann_zeta/check_nan.cc:
2741	Likewise.
2742	* testsuite/special_functions/19_sph_bessel/check_nan.cc:
2743	Likewise.
2744	* testsuite/special_functions/20_sph_legendre/check_nan.cc:
2745	Likewise.
2746	* testsuite/special_functions/21_sph_neumann/check_nan.cc:
2747	Likewise.
2748
27492018-01-18  Uros Bizjak  <ubizjak@gmail.com>
2750
2751	* configure.ac (AC_CHECK_HEADERS): Add linux/types.h.  Conditionally
2752	include linux/types.h when checking linux/random.h header.
2753	* config.h.in: Regenerate.
2754	* configure: Ditto.
2755	* src/c++11/random.cc: Conditionally include linux/types.h.
2756
27572018-01-16  Eric Botcazou  <ebotcazou@adacore.com>
2758
2759	* testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
2760
27612018-01-16  Jonathan Wakely  <jwakely@redhat.com>
2762
2763	PR libstdc++/83834
2764	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
2765	pattern with exact match for std::cerr.
2766
27672018-01-15  Jonathan Wakely  <jwakely@redhat.com>
2768
2769	PR libstdc++/83833
2770	* include/bits/random.h (chi_squared_distribution::param): Update
2771	gamma distribution parameter.
2772	* testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
2773	test.
2774
2775	PR libstdc++/83830
2776	* include/std/type_traits (has_unique_object_representations_v): Add
2777	variable template.
2778	* testsuite/20_util/has_unique_object_representations/value.cc: Check
2779	variable template.
2780
27812018-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
2782
2783	Make optional conditionally
2784	trivially_{copy,move}_{constructible,assignable}
2785	* include/std/optional (_Optional_payload): Fix the comment in
2786	the class head and turn into a primary and one specialization.
2787	(_Optional_payload::_M_engaged): Strike the NSDMI.
2788	(_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
2789	New.
2790	(_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
2791	Likewise.
2792	(_Optional_payload<_Tp, false>::_M_get): Likewise.
2793	(_Optional_payload<_Tp, false>::_M_reset): Likewise.
2794	(_Optional_base_impl): Likewise.
2795	(_Optional_base): Turn into a primary and three specializations.
2796	(optional(nullopt)): Change the base init.
2797	* testsuite/20_util/optional/assignment/8.cc: New.
2798	* testsuite/20_util/optional/cons/trivial.cc: Likewise.
2799	* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
2800
28012018-01-15  Jonathan Wakely  <jwakely@redhat.com>
2802
2803	PR libstdc++/80276
2804	* python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
2805	(get_template_arg_list): New.
2806	(StdVariantPrinter._template_args): Remove, use get_template_arg_list
2807	instead.
2808	(TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
2809	of strings and regular expressions.
2810	(add_one_template_type_printer): Adapt to new TemplateTypePrinter.
2811	(FilteringTypePrinter): Add docstring. Match using startswith. Use
2812	strip_inline_namespaces instead of strip_versioned_namespace.
2813	(add_one_type_printer): Prepend namespace to match argument.
2814	(register_type_printers): Add type printers for char16_t and char32_t
2815	string types and for types using cxx11 ABI. Update calls to
2816	add_one_template_type_printer to provide default argument dicts.
2817	* testsuite/libstdc++-prettyprinters/80276.cc: New test.
2818	* testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
2819	basic_string<unsigned char> and basic_string<signed char>.
2820	* testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
2821	to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
2822
28232018-01-14  Andreas Schwab  <schwab@linux-m68k.org>
2824
2825	PR libstdc++/81092
2826	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2827
28282018-01-13  Tim Shen  <timshen@google.com>
2829
2830	PR libstdc++/83601
2831	* include/bits/regex.tcc (regex_replace): Fix escaping in sed.
2832	* testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
2833	* testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
2834
28352018-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2836
2837	PR libstdc++/64054
2838	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
2839	Remove dg-xfail-run-if.
2840
28412018-01-10  François Dumont  <fdumont@gcc.gnu.org>
2842
2843	* include/bits/forward_list.h
2844	(_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
2845	(_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
2846	(_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
2847	(_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
2848	(_Fwd_list_impl()): Add noexcept qualification.
2849	(_Fwd_list_impl(const _Node_alloc_type&)): Delete.
2850	(_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
2851	(_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
2852	(_Fwd_list_base()): Default.
2853	(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
2854	(_Fwd_list_base(_Fwd_list_base&&)): Default.
2855	(forward_list<>()): Default.
2856	(forward_list<>(forward_list&&)): Default.
2857	(forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
2858	(forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
2859	(forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
2860	* include/bits/forward_list.tcc
2861	(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
2862	_M_impl._M_head move assignment.
2863	(forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
2864	* testsuite/23_containers/forward_list/allocator/default_init.cc: New.
2865
28662018-01-09  Jonathan Wakely  <jwakely@redhat.com>
2867
2868	PR libstdc++/80276
2869	* python/libstdcxx/v6/printers.py (SharedPointerPrinter)
2870	(UniquePointerPrinter): Print correct template argument, not type of
2871	the pointer.
2872	(TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
2873	a type.
2874	* testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
2875	array type.
2876	* testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
2877	weak_ptr of array types.
2878
28792018-01-09  François Dumont  <fdumont@gcc.gnu.org>
2880
2881	PR libstdc++/83709
2882	* include/bits/hashtable_policy.h
2883	(__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
2884	__first != __last.
2885	(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
2886	(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
2887	Add false_type parameter.
2888	(_Insert_base::insert): Adapt.
2889	* include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
2890	Adapt.
2891	(_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
2892	 Add __n_elt parameter, defaulted to 1.
2893	(_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
2894	policy _M_need_rehash.
2895	(_Hashtable::_M_merge_unique): Pass target number of elements to add to
2896	produce only 1 rehash if necessary.
2897	* testsuite/23_containers/unordered_map/insert/83709.cc: New.
2898	* testsuite/23_containers/unordered_set/insert/83709.cc: New.
2899
29002018-01-09  Juraj Oršulić  <juraj.orsulic@fer.hr>
2901	    Jonathan Wakely  <jwakely@redhat.com>
2902
2903	PR libstdc++/59253 (partial)
2904	* python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
2905	type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
2906	(SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
2907	children.
2908	* testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
2909	of unique_ptr printer.
2910	* testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
2911	output of shared_ptr printer.
2912
29132018-01-05  Jonathan Wakely  <jwakely@redhat.com>
2914
2915	PR libstdc++/83626
2916	* src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
2917	unnecessary symlink_status call.
2918	(remove_all(const path&, error_code&)): Use filesystem::remove.
2919	* src/filesystem/std-ops.cc: Likewise.
2920
2921	PR libstdc++/83279
2922	* src/filesystem/std-ops.cc  (do_copy_file): Use non-null offset with
2923	sendfile.
2924
2925	PR libstdc++/83626
2926	* src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
2927	report an error for ENOENT.
2928	(remove_all(const path&)): Fix type of result variable.
2929	(remove_all(const path&, error_code&)): Use non-throwing increment
2930	for directory iterator. Call POSIX remove directly to avoid redundant
2931	calls to symlink_status. Do not report errors for ENOENT.
2932	* src/filesystem/std-ops.cc: Likewise.
2933	* testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
2934	overload.
2935	* testsuite/experimental/filesystem/operations/remove_all.cc:
2936	Likewise.
2937
29382018-01-04  Jonathan Wakely  <jwakely@redhat.com>
2939
2940	PR libstdc++/83626
2941	* src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
2942	redundant call to ec.clear().
2943	(remove_all(const path&, error_code&))): Do not return an error for
2944	non-existent paths.
2945	* src/filesystem/std-ops.cc: Likewise.
2946	* testsuite/27_io/filesystem/operations/remove.cc: New test.
2947	* testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
2948	results for non-existent paths.
2949	* testsuite/experimental/filesystem/operations/remove.cc: New test.
2950	* testsuite/experimental/filesystem/operations/remove_all.cc: Fix
2951	expected results for non-existent paths.
2952
2953	* include/bits/fs_ops.h (exists(const path&, error_code&))): Only
2954	check status_known once.
2955	* include/experimental/bits/fs_ops.h: Likewise.
2956
2957	PR libstdc++/83607
2958	* include/std/functional (__is_byte_like): New trait.
2959	(__is_std_equal_to): Remove.
2960	(__boyer_moore_base_t): Use __is_byte_like instead of
2961	__is_std_equal_to.
2962	* include/experimental/functional (__is_std_equal_to): Remove.
2963	(__boyer_moore_base_t): Use __is_byte_like instead of
2964	__is_std_equal_to.
2965	* testsuite/20_util/function_objects/83607.cc: New test.
2966
29672018-01-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
2968
2969	Protect optional's deduction guide with the feature macro
2970	* include/std/optional: Use the feature macro.
2971
29722018-01-03  Jakub Jelinek  <jakub@redhat.com>
2973
2974	Update copyright years.
2975
2976Copyright (C) 2018 Free Software Foundation, Inc.
2977
2978Copying and distribution of this file, with or without modification,
2979are permitted in any medium without royalty provided the copyright
2980notice and this notice are preserved.
2981