12020-03-04  Release Manager
2
3	* GCC 8.4.0 released.
4
52020-02-26  Jonathan Wakely  <jwakely@redhat.com>
6
7	Backport from mainline
8	2020-01-09  Jonathan Wakely  <jwakely@redhat.com>
9
10	PR libstdc++/93205
11	* include/bits/random.h (operator>>): Check stream operation succeeds.
12	* include/bits/random.tcc (operator>>): Likewise.
13	(__extract_params): New function to fill a vector from a stream.
14	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
15
16	Backport from mainline
17	2019-12-10  Jonathan Wakely  <jwakely@redhat.com>
18
19	PR libstdc++/92886
20	* include/bits/ios_base.h (std::ios_base::trunc): Fix comment.
21
22	Backport from mainline
23	2020-01-28  Jonathan Wakely  <jwakely@redhat.com>
24
25	PR libstdc++/93325
26	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Use AC_SEARCH_LIBS for
27	clock_gettime instead of explicit glibc version check.
28	* configure: Regenerate.
29
302020-02-26  Jonathan Wakely  <jwakely@redhat.com>
31
32	Backport from mainline
33	2020-02-04  Jonathan Wakely  <jwakely@redhat.com>
34
35	PR libstdc++/93562
36	* include/bits/unique_ptr.h (__uniq_ptr_impl::swap): Define.
37	(unique_ptr::swap, unique_ptr<T[], D>::swap): Call it.
38	* testsuite/20_util/unique_ptr/modifiers/93562.cc: New test.
39
402020-02-26  Jonathan Wakely  <jwakely@redhat.com>
41
42	Backport from mainline
43	2020-01-17  Jonathan Wakely  <jwakely@redhat.com>
44
45	PR libstdc++/92376
46	* libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation
47	functions if they were detected by configure.
48
492020-02-26  Jonathan Wakely  <jwakely@redhat.com>
50
51	Backport from mainline
52	2019-10-09  Jonathan Wakely  <jwakely@redhat.com>
53
54	PR libstdc++/78552
55	* src/c++98/locale_init.cc (locale::classic()): Do not construct a new
56	locale object for every call.
57	(locale::_S_initialize_once()): Construct C locale here.
58
59	Backport from mainline
60	2020-01-23  Jonathan Wakely  <jwakely@redhat.com>
61
62	PR libstdc++/91947
63	* include/Makefile.am (${host_builddir}/largefile-config.h): Simplify
64	rule.
65	* include/Makefile.in: Regenerate.
66
67	Backport from mainlne
68	2019-10-04  Jonathan Wakely  <jwakely@redhat.com>
69
70	PR libstdc++/81091
71	PR libstdc++/91947
72	* configure.ac: Use AC_SYS_LARGEFILE to enable 64-bit file APIs.
73	* config.h.in: Regenerate:
74	* configure: Regenerate:
75	* include/Makefile.am (${host_builddir}/largefile-config.h): New
76	target to generate config header for filesystem library.
77	(${host_builddir}/c++config.h): Rename macros for large file support.
78	* include/Makefile.in: Regenerate.
79	* src/filesystem/dir.cc: Include new config header.
80	* src/filesystem/ops.cc: Likewise.
81	(experimental::filesystem::file_size): Use uintmax_t for size.
82	* src/filesystem/std-dir.cc: Include new config header.
83	* src/filesystem/std-ops.cc: Likewise.
84	(filesystem::file_size): Use uintmax_t for size.
85
862020-01-24  Jonathan Wakely  <jwakely@redhat.com>
87
88	Backport from mainline
89	2020-01-20  Jonathan Wakely  <jwakely@redhat.com>
90
91	* doc/xml/faq.xml: Fix grammar.
92	* doc/xml/manual/appendix_contributing.xml: Improve instructions.
93	* doc/xml/manual/spine.xml: Update copyright years.
94	* doc/html/*: Regenerate.
95
962020-01-19  Eric S. Raymond <esr@thyrsus.com>
97	    Sandra Loosemore  <sandra@codesourcery.com>
98
99	Partial backport from mainline:
100
101	2020-01-19  Eric S. Raymond <esr@thyrsus.com>
102	* doc/xml/faq.xml: Update for SVN -> Git transition.
103	* doc/xml/manual/appendix_contributing.xml: Likewise.
104
1052020-01-13  Jonathan Wakely  <jwakely@redhat.com>
106
107	* doc/xml/manual/status_cxx1998.xml: Replace incorrect statement
108	about documenting mainline.
109	* doc/xml/manual/status_cxx2011.xml: Likewise.
110	* doc/xml/manual/status_cxx2014.xml: Likewise.
111	* doc/xml/manual/status_cxx2017.xml: Likewise.
112	* doc/xml/manual/status_cxxtr1.xml: Likewise.
113	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
114	* doc/html/*: Regenerate.
115
1162020-01-08  Jonathan Wakely  <jwakely@redhat.com>
117
118	PR libstdc++/93201
119	* src/c++17/fs_ops.cc (remove_all(const path&, error_code&)): Check
120	result of recursive call before incrementing iterator.
121	* src/filesystem/ops.cc (remove_all(const path&, error_code&)):
122	Likewise.
123	* testsuite/27_io/filesystem/operations/remove_all.cc: Check errors
124	are reported correctly.
125	* testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
126
1272019-10-24  Jonathan Wakely  <jwakely@redhat.com>
128
129	Backport from mainline
130	2019-06-06  Jonathan Wakely  <jwakely@redhat.com>
131
132	* testsuite/20_util/is_nothrow_invocable/value.cc: Test converting to
133	void.
134	* testsuite/experimental/names.cc: Do not run for C++98 mode. Do not
135	include Library Fundamentals or Networking headers in C++11 mode.
136
137	Backport from mainline
138	2019-10-22  Jonathan Wakely  <jwakely@redhat.com>
139
140	* include/bits/memoryfwd.h (uses_allocator): Do not declare for C++98.
141	* testsuite/17_intro/names.cc: Check uses_allocator in C++98.
142
143	Backport from mainline
144	2019-10-18  Jonathan Wakely  <jwakely@redhat.com>
145
146	PR libstdc++/92143
147	* libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment
148	to at least sizeof(void*).
149
150	Backport from mainline
151	2019-10-08  Jonathan Wakely  <jwakely@redhat.com>
152
153	* doc/Makefile.am (doc-html-docbook-regenerate): New target.
154	(${docbook_outdir}/html): Do not create unused 'html/ext' directory.
155	* doc/Makefile.in: Regenerate.
156	* doc/xml/manual/documentation_hacking.xml: Document new target.
157	* doc/html/*: Regenerate.
158
159	* doc/xml/manual/allocator.xml: Use archived copy of CUJ article.
160
161	Backport from mainline
162	2019-05-31  Gerald Pfeifer  <gerald@pfeifer.com>
163
164	* doc/xml/manual/allocator.xml: Move hoard.org back to http.
165
166	Backport from mainline
167	2019-10-11  Jonathan Wakely  <jwakely@redhat.com>
168
169	PR libstdc++/92059
170	* include/tr2/dynamic_bitset (__dynamic_bitset_base): Define all
171	special member functions as defaulted. Add noexcept to most members.
172	(__dynamic_bitset_base(size_t, unsigned long long, const _Alloc&)):
173	Mask off unwanted bits in the __val parameter. Avoid undefined left
174	shifts.
175	(__dynamic_bitset_base::_M_assign): Remove.
176	(__dynamic_bitset_base::_M_do_reset): Use std::fill.
177	(__dynamic_bitset_base::_M_are_all_aux): Avoid integer promotion when
178	block_type has lower rank than int.
179	(dynamic_bitset): Add noexcept to most members. Use injected-class-name
180	in return types and parameter types.
181	(dynamic_bitset::_M_Nb): Add default member initializer.
182	(dynamic_bitset(), dynamic_bitset(const dynamic_bitset&)): Define as
183	defaulted.
184	(dynamic_bitset(dynamic_bitset&&)): Clear source object after move.
185	(dynamic_bitset::operator=(const dynamic_bitset&)): Define as
186	defaulted.
187	(dynamic_bitset::operator=(dynamic_bitset&&)): Add noexcept-specifier.
188	Define without using swap, to propagate allocator correctly.
189	(dynamic_bitset(const char*, const _Alloc&)): Use strlen.
190	(dynamic_bitset::_M_do_sanitize, dynamic_bitset::_M_do_fill): Use
191	casts to avoid unwanted integer promotions.
192	(dynamic_bitset::_M_copy_from_ptr): Rearrange template parameters and
193	add default template arguments and default argument to simplify usage.
194	(dynamic_bitset::_M_copy_from_string): Adjust call to _M_copy_from_ptr.
195	(operator==(const dynamic_bitset&, const dynamic_bitset&))
196	(operator<(const dynamic_bitset&, const dynamic_bitset&)): Use _M_Nb.
197	* include/tr2/dynamic_bitset.tcc (dynamic_bitset::_M_copy_from_ptr):
198	Adjust template parameters to match declaration.
199	* testsuite/tr2/dynamic_bitset/cmp.cc: New test.
200	* testsuite/tr2/dynamic_bitset/cons.cc: New test.
201	* testsuite/tr2/dynamic_bitset/copy.cc: New test.
202	* testsuite/tr2/dynamic_bitset/move.cc: New test.
203	* testsuite/tr2/dynamic_bitset/pr92059.cc: New test.
204
2052019-09-11  Jonathan Wakely  <jwakely@redhat.com>
206
207	* python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker.__call__):
208	Fix syntax error.
209
2102019-09-02  Jonathan Wakely  <jwakely@redhat.com>
211
212	* doc/html/*: Regenerate.
213
214	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Replace dg-error
215	with dg-prune-output for enable_if failure.
216	* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Add
217	dg-prune-output for enable_if failure.
218
2192019-08-30  Jonathan Wakely  <jwakely@redhat.com>
220
221	Backport from mainline
222	2018-10-02  Jonathan Wakely  <jwakely@redhat.com>
223
224	* include/std/variant (__gen_vtable_impl::__visit_invoke): Call __get
225	directly instead of get, as caller ensures correct index is used.
226	(holds_alternative, get, get_if): Remove redundant inline specifiers.
227	(_VARIANT_RELATION_FUNCTION_TEMPLATE): Likewise.
228
2292019-08-30  Jonathan Wakely  <jwakely@redhat.com>
230
231	Backport from mainline
232	2018-08-16  Jonathan Wakely  <jwakely@redhat.com>
233
234	* include/std/ostream (basic_ostream::sentry::~sentry): Suppress
235	deprecation warnings for using uncaught_exception().
236
2372019-08-30  Jonathan Wakely  <jwakely@redhat.com>
238
239	Backport from mainline
240	2019-07-31  Jonathan Wakely  <jwakely@redhat.com>
241
242	PR libstdc++/91308
243	* include/bits/unique_ptr.h (unique_ptr::__safe_conversion_up): Remove
244	constraints on deleter that should only apply to the constructor.
245	(unique_ptr<T[], D>::__safe_conversion_up): Likewise.
246	(unique_ptr<T[], D>::unique_ptr(unique_ptr<U, D>&&)): Restore
247	constraints on deleter here.
248	* testsuite/20_util/unique_ptr/assign/91308.cc: New test.
249
2502019-08-30  Jonathan Wakely  <jwakely@redhat.com>
251
252	Backport from mainline
253	2019-07-29  Jonathan Wakely  <jwakely@redhat.com>
254
255	PR libstdc++/51333
256	* libsupc++/cxxabi.h (__gnu_cxx::recursive_init_error): Do not define
257	constructor inline.
258	* libsupc++/guard_error.cc (__gnu_cxx::recursive_init_error): Define
259	constructor.
260	* testsuite/18_support/51333.cc: New test.
261
2622019-08-30  Jonathan Wakely  <jwakely@redhat.com>
263
264	Backport from mainline
265	2019-05-23  Jonathan Wakely  <jwakely@redhat.com>
266
267	* doc/xml/manual/status_cxx2017.xml: Add feature test macro for
268	P0040R3.
269	* doc/html/*: Regenerate.
270
271	Backport from mainline
272	2019-06-20  Jonathan Wakely  <jwakely@redhat.com>
273
274	* doc/xml/manual/status_cxx2017.xml: Fix outdated reference to
275	C++17 working draft.
276
277	Backport from mainline
278	2019-05-21  Jonathan Wakely  <jwakely@redhat.com>
279
280	* doc/xml/manual/shared_ptr.xml: Fix names of lock policy constants.
281
2822019-08-30  Jonathan Wakely  <jwakely@redhat.com>
283
284	Backport from mainline
285	2018-09-21  Jonathan Wakely  <jwakely@redhat.com>
286
287	PR libstdc++/78179
288	* testsuite/26_numerics/headers/cmath/hypot.cc: Use lower tolerance
289	when sizeof(long double) == sizeof(double).
290
2912019-08-30  Jonathan Wakely  <jwakely@redhat.com>
292
293	Backport from mainline
294	2019-03-22  Jonathan Wakely  <jwakely@redhat.com>
295
296	* include/bits/stl_algobase.h (__lg): Do arithmetic on type int to
297	avoid -Wconversion warnings.
298
2992019-08-30  Jonathan Wakely  <jwakely@redhat.com>
300
301	Backport from mainline
302	2019-06-07  Jonathan Wakely  <jwakely@redhat.com>
303
304	PR libstdc++/90770
305	* src/Makefile.am (stamp-debug): Also test for missing makefile.
306	* src/Makefile.in: Regenerate.
307
3082019-08-30  Jonathan Wakely  <jwakely@redhat.com>
309
310	Backport from mainline
311	2019-05-17  Jonathan Wakely  <jwakely@redhat.com>
312
313	* include/bits/random.h (seed_seq::param): Fix non-reserved name.
314	* include/experimental/type_traits (is_detected_exact)
315	(is_detected_exact_v): Likewise.
316	* testsuite/17_intro/names.cc: Check for more non-reserved names.
317	* testsuite/experimental/names.cc: New test.
318
3192019-08-30  Jonathan Wakely  <jwakely@redhat.com>
320
321	Backport from mainline
322	2019-05-17  Jonathan Wakely  <jwakely@redhat.com>
323
324	PR libstdc++/85965
325	* include/bits/hashtable.h (_Hashtable::~_Hashtable()): Remove static
326	assertions from the destructor.
327	* include/bits/hashtable_policy.h (_Hash_code_base::_M_hash_code):
328	Move static_assert for hash function to here.
329	(_Hash_table_base::_M_equals): Move static_assert for equality
330	predicate to here.
331	* include/bits/stl_tree.h (_Rb_tree::_S_key(_Const_Link_type)): Move
332	assertions here. Access the value directly instead of calling _S_value.
333	(_Rb_tree::_S_key(_Const_Base_ptr)): Do downcast and forward to
334	_S_key(_Const_Link_type).
335	* testsuite/23_containers/set/85965.cc: Check construction,
336	destruction, assignment and size() do not trigger the assertions.
337	* testsuite/23_containers/unordered_set/85965.cc: Likewise.
338	* testsuite/23_containers/map/48101_neg.cc: Call find and adjust
339	expected errors.
340	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
341	* testsuite/23_containers/multiset/48101_neg.cc: Likewise.
342	* testsuite/23_containers/set/48101_neg.cc: Likewise.
343	* testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
344	* testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
345	* testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
346	* testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
347
3482019-08-30  Jonathan Wakely  <jwakely@redhat.com>
349
350	Backport from mainline
351	2018-09-03  Jonathan Wakely  <jwakely@redhat.com>
352
353	* include/bits/stl_vector.h (vector::_Temporary_value::_M_ptr):
354	Return raw pointer not allocator's pointer type.
355	(vector::_Temporary_value::_M_val): Use _M_ptr.
356
3572019-06-01   Iain Sandoe  <iain@sandoe.co.uk>
358
359	Backport from mainline
360	2018-12-22 Iain Sandoe <iain@sandoe.co.uk>
361
362	* /config/os/bsd/darwin/ppc-extra.ver: Append long double symbols.
363
3642019-05-30  Jonathan Wakely  <jwakely@redhat.com>
365
366	* doc/xml/manual/status_cxx2017.xml: Fix typo in documentation of
367	implementation-defined support for [fs.conform.9945].
368	* doc/html/*: Regenerate.
369
3702019-05-28  Jonathan Wakely  <jwakely@redhat.com>
371
372	PR libstdc++/90634
373	* src/filesystem/path.cc (path::_M_split_cmpts()): Fix check for "/".
374	* testsuite/27_io/filesystem/path/construct/90634.cc: New test.
375	* testsuite/experimental/filesystem/path/construct/90634.cc: New test.
376
377	PR libstdc++/90634
378	* include/bits/fs_path.h (path::path(path&&)): Only call
379	_M_split_cmpts() for a path with multiple components.
380	(path::_S_is_dir_sep()): Add missing 'static' keyword to function.
381	* include/experimental/bits/fs_path.h: Likewise.
382	* src/filesystem/path.cc (path::_M_split_cmpts()): Count number of
383	components and reserve space in vector. Return early when there is
384	only one component.
385	* src/filesystem/std-path.cc (path::_M_split_cmpts()): Likewise.
386
3872019-05-23  Jonathan Wakely  <jwakely@redhat.com>
388
389	Backport from mainline
390	2019-02-27  Jonathan Wakely  <jwakely@redhat.com>
391
392	PR libstdc++/89466
393	* acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Reorder check for local
394	stylesheet directories before check for xsltproc. Try to use
395	xmlcatalog to find local stylesheet directory before trying hardcoded
396	paths. Add path used by suse to hardcoded paths. Adjust xsltproc
397	check to look for the same stylesheet as doc/Makefile.am uses. Don't
398	use xsltproc if xmlcatalog fails to find a local stylesheet.
399	* configure.ac: Check for xmlcatalog.
400	* Makefile.in: Regenerate.
401	* configure: Likewise.
402	* doc/Makefile.in: Likewise.
403	* include/Makefile.in: Likewise.
404	* libsupc++/Makefile.in: Likewise.
405	* po/Makefile.in: Likewise.
406	* python/Makefile.in: Likewise.
407	* src/Makefile.in: Likewise.
408	* src/c++11/Makefile.in: Likewise.
409	* src/c++17/Makefile.in: Likewise.
410	* src/c++98/Makefile.in: Likewise.
411	* src/filesystem/Makefile.in: Likewise.
412	* testsuite/Makefile.in: Likewise.
413
4142019-05-23  Jonathan Wakely  <jwakely@redhat.com>
415
416	* doc/html/*: Regenerate.
417
4182019-05-23  Jonathan Wakely  <jwakely@redhat.com>
419
420	Backport from mainline
421	2019-05-23  Jonathan Wakely  <jwakely@redhat.com>
422
423	* include/experimental/any (__any_caster): Use RTTI if comparing
424	addresses fails, to support non-unique addresses in shared libraries.
425	* include/std/any (__any_caster): Likewise.
426	* testsuite/experimental/any/misc/any_cast_neg.cc: Use 0 for dg-error
427	line number.
428
4292019-05-23  Jonathan Wakely  <jwakely@redhat.com>
430
431	Backport from mainline
432	2019-05-23  Jonathan Wakely  <jwakely@redhat.com>
433
434	PR libstdc++/90220
435	* include/experimental/any (__any_caster): Constrain to only be
436	callable for object types. Use remove_cv_t instead of decay_t.
437	If the type decays or isn't copy constructible, compare the manager
438	function to a dummy specialization.
439	(__any_caster): Add overload constrained for non-object types.
440	(any::_Manager_internal<_Op>): Add dummy specialization.
441	* testsuite/experimental/any/misc/any_cast.cc: Test function types
442	and array types.
443
444	Backport from mainline
445	2019-04-24  Jonathan Wakely  <jwakely@redhat.com>
446
447	PR libstdc++/90220
448	* include/std/any (__any_caster): Use remove_cv_t instead of decay_t.
449	Avoid a runtime check for types that can never be stored in std::any.
450	* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
451	array types.
452
453	Backport from mainline
454	2019-04-24  Jonathan Wakely  <jwakely@redhat.com>
455
456	PR libstdc++/90220 (partial)
457	* include/std/any (any_cast<T>(any*), any_cast<T>(const any*)): Do
458	not attempt ill-formed static_cast to pointers to non-object types.
459	* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
460	function types.
461
4622019-05-23  Jonathan Wakely  <jwakely@redhat.com>
463
464	Backported from mainline
465	2019-01-15  Jonathan Wakely  <jwakely@redhat.com>
466
467	* doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
468	status.
469	* include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
470	Define.
471	* include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3
472	changes are supported.
473	* include/std/optional (__cpp_lib_optional): Likewise.
474	* include/std/variant (__cpp_lib_variant): Likewise.
475	* libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long
476	integer.
477
4782019-05-20  Jonathan Wakely  <jwakely@redhat.com>
479
480	Backported from mainline
481	2019-05-20  Jonathan Wakely  <jwakely@redhat.com>
482
483	PR c++/90532 Ensure __is_constructible(T[]) is false
484	* include/std/type_traits (__do_is_default_constructible_impl)
485	(__is_default_constructible_atom, __is_default_constructible_safe):
486	Remove.
487	(is_default_constructible): Use is_constructible.
488	* testsuite/20_util/is_constructible/value.cc: Check int[] case.
489	* testsuite/20_util/is_default_constructible/value.cc: Likewise.
490	* testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
491	* testsuite/20_util/is_trivially_default_constructible/value.cc:
492	Likewise.
493
4942019-05-17  Jonathan Wakely  <jwakely@redhat.com>
495
496	Backport from mainline
497	2019-05-04  Jonathan Wakely  <jwakely@redhat.com>
498
499	PR libstdc++/90299
500	* src/filesystem/std-ops.cc (absolute(const path&)): Report an error
501	if the argument is an empty path.
502	(absolute(const path&, error_code&)): Use invalid_argument as error
503	code instead of no_such_file_or_directory.
504	* testsuite/27_io/filesystem/operations/absolute.cc: Check handling
505	of non-existent paths and empty paths with both overloads of absolute.
506
5072019-05-15  Jonathan Wakely  <jwakely@redhat.com>
508
509	Backport from mainline
510	2019-04-30  Jonathan Wakely  <jwakely@redhat.com>
511
512	* testsuite/27_io/filesystem/path/decompose/root_path.cc: Remove
513	macros accidentally left in.
514
515	Backport from mainline
516	2019-05-13  Jonathan Wakely  <jwakely@redhat.com>
517
518	PR libstdc++/90454.cc path construction from void*
519	* include/bits/fs_path.h (path::_Path): Use remove_pointer so that
520	pointers to void are rejected as well as void.
521	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
522	* testsuite/27_io/filesystem/path/construct/80762.cc: Also check
523	pointers to void.
524	* testsuite/experimental/filesystem/path/construct/80762.cc: Likewise.
525
5262019-05-11  Jonathan Wakely  <jwakely@redhat.com>
527
528	Backport from mainline
529	2019-05-10  Jonathan Wakely  <jwakely@redhat.com>
530
531	PR libstdc++/81266
532	* testsuite/util/thread/all.h: Do not use remove_pointer for
533	std::thread::native_handle_type.
534
5352019-05-07  Jonathan Wakely  <jwakely@redhat.com>
536
537	Backport from mainline
538	2019-02-06  Jonathan Wakely  <jwakely@redhat.com>
539
540	PR libstdc++/89102 (partial)
541	* include/std/type_traits (common_type<>): Define.
542	(common_type<T>): Derive from common_type<T, T>.
543	* testsuite/20_util/common_type/requirements/explicit_instantiation.cc:
544	Test zero-length template argument list.
545	* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
546	Test additional single argument cases.
547	* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
548	Adjust expected error.
549
550	Backport from mainline
551	2019-01-22  Jonathan Wakely  <jwakely@redhat.com>
552
553	PR libstdc++/88740
554	* testsuite/util/testsuite_hooks.h [stderr] (VERIFY): Use fprintf to
555	write to stderr instead of using printf.
556
557	Backport from mainline
558	2019-04-23  Jonathan Wakely  <jwakely@redhat.com>
559
560	PR libstdc++/90165
561	* include/std/variant (variant::__is_in_place_tag)
562	(variant::__not_in_place_tag): New helpers for variant(T&&)
563	constructor constraint.
564	(variant::variant(T&&)): Use __not_in_place_tag in constraints.
565	* testsuite/20_util/variant/compile.cc: Check variant(T&&) constructor
566	isn't used for in_place_type or in_place_index arguments.
567
568	Backport from mainline
569	2019-04-17  Jonathan Wakely  <jwakely@redhat.com>
570
571	PR libstdc++/90105
572	* include/bits/forward_list.tcc (operator==): Do not use operator!= to
573	compare elements.
574	(forward_list<T, A>::sort(Comp)): When elements are equal take the one
575	earlier in the list, so that sort is stable.
576	* testsuite/23_containers/forward_list/operations/90105.cc: New test.
577	* testsuite/23_containers/forward_list/comparable.cc: Test with
578	types that meet the minimum EqualityComparable and LessThanComparable
579	requirements. Remove irrelevant comment.
580
581	Backport from mainline
582	2019-04-17  Jonathan Wakely  <jwakely@redhat.com>
583
584	* include/std/optional (optional::value_or(U&&) &&): Add missing
585	constexpr specifier.
586	* testsuite/20_util/optional/constexpr/observers/4.cc: Check value_or
587	for disengaged optionals and rvalue optionals.
588	* testsuite/20_util/optional/observers/4.cc: Likewise.
589
590	Backport from mainline
591	2019-04-10  Jonathan Wakely  <jwakely@redhat.com>
592
593	* doc/xml/faq.xml: Add information about emergency EH pool.
594	* doc/xml/manual/debug.xml: Update list of memory debugging tools.
595	Move outdated information on mt_allocator to a separate section.
596	* doc/xml/manual/evolution.xml: Clarify that GLIBCXX_FORCE_NEW
597	doesn't affect the default allocator.
598
599	Backport from mainline
600	2019-04-05  Jonathan Wakely  <jwakely@redhat.com>
601
602	* src/filesystem/std-dir.cc (_Dir::advance(bool, error_code&)): Handle
603	d_type == DT_UNKNOWN immediately.
604	(_Dir::should_recurse(bool, error_code&)): Remove file_type::unknown
605	handling here.
606	* testsuite/27_io/filesystem/iterators/caching.cc: New test.
607
608	Backport from mainline
609	2019-04-05  Jonathan Wakely  <jwakely@redhat.com>
610
611	* include/bits/fs_path.h (path::operator=(path&&)): Check for self
612	assignment.
613	* testsuite/27_io/filesystem/path/assign/copy.cc: Test self
614	assignment.
615
616	Backport from mainline
617	2019-03-26  Jonathan Wakely  <jwakely@redhat.com>
618
619	PR libstdc++/85965
620	* include/bits/hashtable.h (_Hashtable): Move static assertions to
621	destructor so they are not evaluated until the _Key type is complete.
622	* include/bits/stl_tree.h (_Rb_tree): Likewise.
623	* testsuite/23_containers/set/85965.cc: New test.
624	* testsuite/23_containers/unordered_set/85965.cc: New test.
625	* testsuite/23_containers/map/48101_neg.cc: Replace "here" errors
626	with regexp matching the corresponding _Rb_tree specialization.
627	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
628	* testsuite/23_containers/multiset/48101_neg.cc: Remove "here" error.
629	* testsuite/23_containers/set/48101_neg.cc: Likewise.
630	* testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
631	* testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
632	* testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
633	* testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
634
635	Backport from mainline
636	2019-03-11  Jonathan Wakely  <jwakely@redhat.com>
637
638	PR libstdc++/89629
639	* libsupc++/hash_bytes.cc [__SIZEOF_SIZE_T__ == 8] (_Hash_bytes):
640	Use correct type for len_aligned.
641	* testsuite/20_util/hash/89629.cc: New test.
642
643	Backport from mainline
644	2019-03-08  Jonathan Wakely  <jwakely@redhat.com>
645
646	* doc/xml/manual/using.xml: Use link element instead of xref.
647
648	Backport from mainline
649	2019-02-14  Jonathan Wakely  <jwakely@redhat.com>
650
651	* doc/xml/manual/intro.xml: Document LWG 2586 status.
652	* include/bits/uses_allocator.h (__uses_alloc): Use const lvalue
653	allocator type in is_constructible checks.
654	* testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
655	* testsuite/20_util/scoped_allocator/dr2586.cc: New test.
656	* testsuite/20_util/tuple/cons/allocators.cc: Add test using
657	problematic type from LWG 2586 discussion.
658	* testsuite/20_util/uses_allocator/69293_neg.cc: Adjust dg-error.
659	* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
660
661	Backport from mainline
662	2019-02-14  Jonathan Wakely  <jwakely@redhat.com>
663
664	* doc/xml/manual/intro.xml: Document LWG 2537 status.
665	* include/bits/stl_queue.h
666	(priority_queue(const Compare&, const Container&, const Alloc&))
667	(priority_queue(const Compare&, Container&&, const Alloc&)): Call
668	make_heap.
669	* testsuite/23_containers/priority_queue/dr2537.cc: New test.
670
6712019-02-22  Jonathan Wakely  <jwakely@redhat.com>
672
673	PR libstdc++/89446
674	* include/bits/char_traits.h (__constant_char_array): Check index is
675	in range before dereferencing.
676	* testsuite/21_strings/basic_string_view/operators/char/89446.cc:
677	New test.
678
6792019-02-22  Release Manager
680
681	* GCC 8.3.0 released.
682
6832019-02-14  Jonathan Wakely  <jwakely@redhat.com>
684
685	PR middle-end/89303
686	* testsuite/20_util/enable_shared_from_this/89303.cc: New test.
687
6882019-02-09  Jonathan Wakely  <jwakely@redhat.com>
689
690	Backport from mainline
691	2019-01-08  Jonathan Wakely  <jwakely@redhat.com>
692
693	PR libstdc++/88066
694	* include/bits/locale_conv.h: Use <> for includes not "".
695	* include/ext/random: Likewise.
696	* include/ext/vstring.h: Likewise.
697
6982019-02-08  Jonathan Wakely  <jwakely@redhat.com>
699
700	* doc/html/*: Regenerate.
701
702	* src/c++17/fs_ops.cc (absolute(const path&, error_code&)): Do nothing
703	if the path is already absolute.
704	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Pass error_code to current_path.
705
706	Backport from mainline
707	2019-01-11  Jonathan Wakely  <jwakely@redhat.com>
708
709	* include/std/chrono (duration_values::zero(), duration_values::min())
710	(duration_values::max()): Add noexcept.
711	(duration::zero(), duration::min(), duration::max()): Likewise.
712	(time_point::zero(), time_point::min(), time_point::max()): Likewise.
713	* testsuite/20_util/duration/requirements/noexcept.cc: New test.
714	* testsuite/20_util/time_point/requirements/noexcept.cc: New test.
715
7162019-02-08  Jonathan Wakely  <jwakely@redhat.com>
717
718	Backport from mainline
719	2019-01-07  Jonathan Wakely  <jwakely@redhat.com>
720
721	PR libstdc++/87787
722	* include/bits/char_traits.h (char_traits::move): Do not pass null
723	pointers to memmove.
724	* include/bits/locale_facets.h
725	(ctype<char>::widen(const char*, const char*, char*)): Do not
726	pass null pointers to memcpy.
727	(ctype<char>::narrow(const char*, const char*, char, char*)):
728	Likewise.
729	(ctype<char>::do_widen(const char*, const char*, char*)):
730	Likewise.
731	(ctype<char>::do_narrow(const char*, const char*, char, char*)):
732	Likewise.
733
7342019-02-08  Jonathan Wakely  <jwakely@redhat.com>
735
736	Backport from mainline
737	2018-11-23  Martin Sebor  <msebor@redhat.com>
738		    Jonathan Wakely  <jwakely@redhat.com>
739
740	PR libstdc++/65229
741	* python/libstdcxx/v6/printers.py (StdBitsetPrinter): Handle
742	exception thrown for std::bitset<0>.
743	* testsuite/libstdc++-prettyprinters/simple.cc: Test std::bitset<0>.
744
7452019-02-08  Jonathan Wakely  <jwakely@redhat.com>
746
747	Backport from mainline
748	2018-11-23  Jonathan Wakely  <jwakely@redhat.com>
749
750	PR libstdc++/87308 (partial)
751	* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Adjust regex to
752	work around PR 88166.
753
7542019-02-08  Jonathan Wakely  <jwakely@redhat.com>
755
756	Backport from mainline
757	2019-02-05  Jonathan Wakely  <jwakely@redhat.com>
758
759	PR libstdc++/89128
760	* include/bits/stl_queue.h (queue, priority_queue): Add deduction
761	guides.
762	* include/bits/stl_stack.h (stack): Likewise.
763	* testsuite/23_containers/priority_queue/deduction.cc: New test.
764	* testsuite/23_containers/queue/deduction.cc: New test.
765	* testsuite/23_containers/stack/deduction.cc: New test.
766
7672019-02-08  Jonathan Wakely  <jwakely@redhat.com>
768
769	Backport from mainline
770	2018-11-29  Jonathan Wakely  <jwakely@redhat.com>
771
772	PR libstdc++/88119
773	* include/ext/aligned_buffer.h (__aligned_membuf): Add comment.
774	(__aligned_buffer): Use __alignof__ instead of std::alignment_of.
775	* include/std/type_traits (alignment_of): Use alignof instead of
776	__alignof__.
777	* testsuite/20_util/alignment_of/value.cc: Fix test to check values
778	match alignof not __alignof__, as required by the standard.
779
7802019-02-08  Jonathan Wakely  <jwakely@redhat.com>
781
782	Backport from mainline
783	2018-11-28  Jonathan Wakely  <jwakely@redhat.com>
784
785	PR libstdc++/83511
786	* include/std/string_view (basic_string_view::substr): Add default
787	argument to first parameter.
788	* include/experimental/string_view (basic_string_view::substr):
789	Likewise.
790	* testsuite/21_strings/basic_string_view/operations/substr/char/
791	83511.cc: New test.
792	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
793	83511.cc: New test.
794	* testsuite/experimental/string_view/operations/substr/char/83511.cc:
795	New test.
796	* testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc:
797	New test.
798
799	Backport from mainline
800	2018-11-19  Jonathan Wakely  <jwakely@redhat.com>
801
802	PR libstdc++/88084 - Implement LWG 2777
803	* include/std/string_view (basic_string_view::copy): Use traits to
804	copy.
805	* testsuite/21_strings/basic_string_view/operations/copy/char/2.cc:
806	New test.
807	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc:
808	New test.
809
810	Backport from mainline
811	2018-11-29  Jonathan Wakely  <jwakely@redhat.com>
812
813	PR libstdc++/86910
814	PR libstdc++/87846
815	* src/filesystem/ops.cc (experimental::create_directories): Report
816	an error when the path resolves to an existing non-directory (P1164).
817	* src/filesystem/std-ops.cc (create_directories): Likewise. Handle
818	empty filenames due to trailing slashes.
819	* testsuite/27_io/filesystem/operations/create_directories.cc: Test
820	when some component of the path exists and is not a directory. Test
821	trailing slashes.
822	* testsuite/experimental/filesystem/operations/create_directories.cc:
823	Likewise.
824
825	Backport from mainline
826	2018-11-28  Jonathan Wakely  <jwakely@redhat.com>
827
828	* doc/xml/manual/intro.xml: Document LWG 3096 change.
829	* src/filesystem/std-path.cc (path::lexically_relative(const path&)):
830	Treat a final empty element equivalently to a final dot element.
831	* testsuite/27_io/filesystem/path/generation/relative.cc: Add checks
832	for the examples in the DR.
833
834	Backport from mainline
835	2018-07-20  Jonathan Wakely  <jwakely@redhat.com>
836
837	PR libstdc++/86595
838	* include/bits/fs_dir.h (directory_entry::refresh(error_code&)): Add
839	noexcept.
840
841	Backport from mainline
842	2018-05-21  Jonathan Wakely  <jwakely@redhat.com>
843
844	* src/filesystem/std-ops.cc (absolute): Report an error for empty
845	paths.
846	(weakly_canonical(const path&)): Do not call canonical on empty path.
847	(weakly_canonical(const path&, error_code&)): Likewise.
848	* testsuite/27_io/filesystem/operations/absolute.cc: Check for errors.
849
850	Backport from mainline
851	2019-01-30  Jonathan Wakely  <jwakely@redhat.com>
852
853	PR libstdc++/89117
854	* src/c++17/fs_path.cc (path::replace_extension): Erase extension from
855	final component as well as from _M_pathname.
856	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
857	Add more test cases.
858
8592019-01-21  Jonathan Wakely  <jwakely@redhat.com>
860
861	Backport from mainline
862	2019-01-18  Jonathan Wakely  <jwakely@redhat.com>
863
864	PR libstdc++/87514
865	PR libstdc++/87520
866	PR libstdc++/88782
867	* include/bits/shared_ptr.h
868	(shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...))
869	(allocate_shared): Change to use new tag type.
870	(_Sp_alloc_shared_tag): Define new type.
871	(_Sp_counted_ptr_inplace): Declare __shared_count<_Lp> as a friend.
872	(__shared_count(Ptr, Deleter),__shared_count(Ptr, Deleter, Alloc)):
873	Constrain to prevent being called with _Sp_alloc_shared_tag.
874	(__shared_count(_Sp_make_shared_tag, const _Alloc&, Args&&...)):
875	Replace constructor with ...
876	(__shared_count(Tp*&, _Sp_alloc_shared_tag<_Alloc>, Args&&...)): Use
877	reference parameter so address of the new object can be returned to
878	the caller. Obtain the allocator from the tag type.
879	(__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Replace
880	constructor with ...
881	(__shared_ptr(_Sp_alloc_shared_tag<Alloc>, Args&&...)): Pass _M_ptr
882	to the __shared_count constructor.
883	(__allocate_shared): Change to use new tag type.
884
8852019-01-14  Jonathan Wakely  <jwakely@redhat.com>
886
887	PR libstdc++/80762
888	* testsuite/experimental/filesystem/path/construct/80762.cc: Add
889	dg-require-filesystem-ts directive.
890
8912019-01-10  Jonathan Wakely  <jwakely@redhat.com>
892
893	Backport from mainline
894	2019-01-04  Jonathan Wakely  <jwakely@redhat.com>
895
896	(path::lexically_normal()): Use std::vector iterators instead of
897	path::iterator. Use pop_back to remove components from the end. Clear
898	trailing filename, instead of using erase(const_iterator) to remove
899	a non-final component.
900	* testsuite/27_io/filesystem/path/generation/normal.cc: Test
901	additional cases.
902	* testsuite/27_io/filesystem/path/generation/normal2.cc: New test.
903
9042019-01-10  Jonathan Wakely  <jwakely@redhat.com>
905
906	Backport from mainline
907	2018-12-12  Jonathan Wakely  <jwakely@redhat.com>
908
909	PR libstdc++/80762
910	* include/bits/fs_path.h (path::_Path): Use remove_cv_t and is_void.
911	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
912	* testsuite/27_io/filesystem/path/construct/80762.cc: New test.
913	* testsuite/experimental/filesystem/path/construct/80762.cc: New test.
914
9152019-01-10  Jonathan Wakely  <jwakely@redhat.com>
916
917	Backport from mainline
918	2018-05-23  Jonathan Wakely  <jwakely@redhat.com>
919
920	* include/bits/fs_path.h (path::_M_type): Change default member
921	initializer to _Filename.
922	(path::begin): Create past-the-end iterator for empty path.
923	(path::has_relative_path()): Return false for empty filenames.
924	(path::_M_split_cmpts): Set _M_type to _Filename for empty paths.
925	Fix offset of empty final component.
926	* testsuite/27_io/filesystem/path/itr/components.cc: New.
927	* testsuite/27_io/filesystem/path/itr/traversal.cc: Add new inputs.
928
9292019-01-10  Jonathan Wakely  <jwakely@redhat.com>
930
931	Backport from mainline
932	2019-01-10  Jonathan Wakely  <jwakely@redhat.com>
933
934	* testsuite/util/testsuite_fs.h (nonexistent_path): Include name
935	of the source file containing the caller.
936	* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Remove
937	directories created by test.
938	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
939	Likewise.
940	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
941	Likewise.
942	* testsuite/experimental/filesystem/iterators/
943	recursive_directory_iterator.cc: Likewise.
944
9452019-01-10  Jonathan Wakely  <jwakely@redhat.com>
946
947	Backport from mainline
948	2018-11-27  Jonathan Wakely  <jwakely@redhat.com>
949
950	* testsuite/27_io/filesystem/operations/canonical.cc: Remove
951	directory created by test.
952	* testsuite/27_io/filesystem/operations/symlink_status.cc: Remove
953	symlink created by test.
954
9552019-01-10  Jonathan Wakely  <jwakely@redhat.com>
956
957	* src/filesystem/std-path.cc (path::remove_filename()): Remove debug
958	check that prevents building with -fno-exceptions.
959
9602019-01-09  Jonathan Wakely  <jwakely@redhat.com>
961
962	* testsuite/20_util/optional/cons/value_neg.cc: Change dg-error to
963	dg-prune-output. Remove unused header.
964
965	Backport from mainline
966	2019-01-08  Jonathan Wakely  <jwakely@redhat.com>
967
968	PR libstdc++/87855
969	* include/std/optional (_Optional_payload_base): New class template
970	for common code hoisted from _Optional_payload specializations. Use
971	a template for the union, to allow a partial specialization for
972	types with non-trivial destructors. Add constructors for in-place
973	initialization to the union.
974	(_Optional_payload(bool, const _Optional_payload&)): Use _M_construct
975	to perform non-trivial copy construction, instead of relying on
976	non-standard copy elision in a delegating constructor.
977	(_Optional_payload(bool, _Optional_payload&&)): Likewise for
978	non-trivial move construction.
979	(_Optional_payload): Derive from _Optional_payload_base and use it
980	for everything except the non-trivial assignment operators, which are
981	defined as needed.
982	(_Optional_payload<false, C, M>): Derive from the specialization
983	_Optional_payload<true, false, false> and add a destructor.
984	(_Optional_base_impl::_M_destruct, _Optional_base_impl::_M_reset):
985	Forward to corresponding members of _Optional_payload.
986	(_Optional_base_impl::_M_is_engaged, _Optional_base_impl::_M_get):
987	Hoist common members from _Optional_base.
988	(_Optional_base): Make all members and base class public.
989	(_Optional_base::_M_get, _Optional_base::_M_is_engaged): Move to
990	_Optional_base_impl.
991	* python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Add
992	support for new std::optional layout.
993	* testsuite/libstdc++-prettyprinters/compat.cc: New test.
994
995	Backport from mainline
996	2018-11-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
997
998	PR libstdc++/87855
999	Also implement P0602R4 (variant and optional
1000	should propagate copy/move triviality) for std::optional.
1001	* include/std/optional (_Optional_payload): Change
1002	the main constraints to check constructibility in
1003	addition to assignability.
1004	(operator=): Make constexpr.
1005	(_M_reset): Likewise.
1006	(_M_construct): Likewise.
1007	(operator->): Likewise.
1008	* testsuite/20_util/optional/assignment/8.cc: Adjust.
1009	* testsuite/20_util/optional/assignment/9.cc: New.
1010
10112018-12-23  Iain Sandoe  <iain@sandoe.co.uk>
1012
1013	Backport from mainline
1014	2018-12-06  Iain Sandoe  <iain@sandoe.co.uk>
1015
1016	* scripts/make_exports.pl (check names): Don’t try to export
1017	construction vtable symbols.
1018
10192018-12-22  Iain Sandoe  <iain@sandoe.co.uk>
1020
1021	Backport from mainline
1022	2018-12-06  Jonathan Wakely  <jwakely@redhat.com>
1023		    Iain Sandoe  <iain@sandoe.co.uk>
1024
1025	PR libstdc++/64883
1026	* testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't test
1027	always_inline on Darwin.
1028	* testsuite/17_intro/headers/c++2011/all_attributes.cc: Likewise.
1029	* testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1030	* testsuite/17_intro/headers/c++2017/all_attributes.cc: Likewise.
1031	* testsuite/17_intro/headers/c++2020/all_attributes.cc: Likewise.
1032
10332018-12-06  Iain Sandoe  <iain@sandoe.co.uk>
1034
1035	Backport from mainline
1036	2018-08-25  Iain Sandoe  <iain@sandoe.co.uk>
1037
1038	PR libstdc++/70694
1039	* configure.host (OPT_LDFLAGS): Don't append
1040	-fvisibility-inlines-hidden for newer Darwin.
1041
10422018-11-28  François Dumont  <fdumont@gcc.gnu.org>
1043
1044	PR libstdc++/88199
1045	* include/bits/hashtable.h
1046	(_Hashtable<>::_M_move_assign(_Hashtable&&, false_type)): Deallocate
1047	former buckets after assignment.
1048	* testsuite/23_containers/unordered_set/allocator/move_assign.cc
1049	(test03): New.
1050
10512018-11-22  Jonathan Wakely  <jwakely@redhat.com>
1052
1053	Backport from mainline
1054	2018-11-22  Jonathan Wakely  <jwakely@redhat.com>
1055
1056	PR libstdc++/85930
1057	PR libstdc++/87520
1058	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti)
1059	[__cpp_rtti]: Define even when RTTI is enabled. Use array of
1060	sizeof(type_info) so that type-punned reference binds to an object
1061	of the correct size as well as correct alignment.
1062	(_Sp_counted_ptr_inplace::_M_get_deleter) [__cpp_rtti]: Check for
1063	_S_ti() reference even when RTTI is enabled.
1064	(__shared_ptr(_Sp_make_shared_tag, const _Alloc&, _Args&&...))
1065	[__cpp_rtti]: Pass _S_ti() instead of typeid(_Sp_make_shared_tag).
1066
10672018-10-31  Jonathan Wakely  <jwakely@redhat.com>
1068
1069	Backport from mainline
1070	2018-10-31  Jonathan Wakely  <jwakely@redhat.com>
1071
1072	PR libstdc++/87822
1073	* include/bits/stl_pair.h (__pair_base): Change to class template.
1074	(pair): Make base class type depend on template parameters.
1075	* testsuite/20_util/pair/87822.cc: New test.
1076
10772018-10-30  Jonathan Wakely  <jwakely@redhat.com>
1078
1079	Backport from mainline
1080	2018-10-30  Jonathan Wakely  <jwakely@redhat.com>
1081
1082	PR libstdc++/87809
1083	* include/bits/forward_list.h (_Fwd_list_impl::_Fwd_list_impl()): Use
1084	trait in exception-specification instead of possibly invalid
1085	expression.
1086	* include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
1087	Likewise.
1088	* include/bits/stl_list.h (_List_impl::_List_impl()): Likewise.
1089	* testsuite/23_containers/forward_list/cons/87809.cc: New test.
1090	* testsuite/23_containers/list/cons/87809.cc: New test.
1091	* testsuite/23_containers/vector/bool/cons/87809.cc: New test.
1092	* testsuite/23_containers/vector/cons/87809.cc: New test.
1093
10942018-10-25  Jonathan Wakely  <jwakely@redhat.com>
1095
1096	PR libstdc++/87749
1097	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1098	(basic_string::operator=(basic_string&&)): For short strings copy the
1099	buffer inline. Only fall back to using assign(const basic_string&) to
1100	do a deep copy when reallocation is needed.
1101	* testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc:
1102	New test.
1103	* testsuite/21_strings/basic_string/modifiers/assign/char/
1104	move_assign_optim.cc: New test.
1105	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc:
1106	New test.
1107	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
1108	move_assign_optim.cc: New test.
1109
11102018-10-23  Jonathan Wakely  <jwakely@redhat.com>
1111
1112	PR libstdc++/87704
1113	* include/bits/unique_ptr.h (unique_ptr::unique_ptr(nullptr_t)): Do
1114	not delegate to default constructor.
1115	(unique_ptr<T[], D>::unique_ptr(nullptr_t)): Likewise.
1116	* testsuite/20_util/unique_ptr/cons/incomplete.cc: New test.
1117
11182018-10-19  Jonathan Wakely  <jwakely@redhat.com>
1119
1120	* include/bits/regex_executor.tcc (_Backref_matcher::_M_apply): Use
1121	_GLIBCXX_STD_A to refer to normal mode algorithms.
1122	* testsuite/28_regex/headers/regex/parallel_mode.cc: New test.
1123	* testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Remove empty
1124	whitespace.
1125
11262018-10-18  Jonathan Wakely  <jwakely@redhat.com>
1127
1128	Backport from mainline
1129	2018-10-18  Jonathan Wakely  <jwakely@redhat.com>
1130
1131	PR libstdc++/87641
1132	* include/bits/valarray_array.h (__valarray_sum): Use first element
1133	to initialize accumulator instead of value-initializing it.
1134	* testsuite/26_numerics/valarray/87641.cc: New test.
1135
11362018-10-15  Jonathan Wakely  <jwakely@redhat.com>
1137
1138	* testsuite/22_locale/numpunct/members/char/3.cc: Adjust test to
1139	account for change to glibc it_IT localedata (glibc bz#10797).
1140
11412018-10-12  Jonathan Wakely  <jwakely@redhat.com>
1142
1143	Backport from mainline
1144	2018-07-31  Jonathan Wakely  <jwakely@redhat.com>
1145
1146	PR libstdc++/86751
1147	* include/bits/stl_pair.h (__pair_base): New class with deleted copy
1148	assignment operator.
1149	(pair): Derive from __pair_base.
1150	(pair::operator=): Remove deleted overload.
1151	* python/libstdcxx/v6/printers.py (StdPairPrinter): New pretty printer
1152	so that new base class isn't shown in GDB.
1153	* testsuite/20_util/pair/86751.cc: New test.
1154	* testsuite/20_util/pair/ref_assign.cc: New test.
1155
11562018-10-12  Jonathan Wakely  <jwakely@redhat.com>
1157
1158	Backport from mainline
1159	2018-09-03  Jonathan Wakely  <jwakely@redhat.com>
1160
1161	PR libstdc++/78595
1162	* include/bits/stl_map.h (map::insert(_Pair&&))
1163	(map::insert(const_iterator, _Pair&&)): Do emplace instead of insert.
1164	* include/bits/stl_multimap.h (multimap::insert(_Pair&&))
1165	(multimap::insert(const_iterator, _Pair&&)): Likewise.
1166	* include/bits/unordered_map.h (unordered_map::insert(_Pair&&))
1167	(unordered_map::insert(const_iterator, _Pair&&))
1168	(unordered_multimap::insert(_Pair&&))
1169	(unordered_multimap::insert(const_iterator, _Pair&&)): Likewise.
1170	* include/std/type_traits (__enable_if_t): Define for C++11.
1171	* testsuite/23_containers/map/modifiers/insert/78595.cc: New test.
1172	* testsuite/23_containers/multimap/modifiers/insert/78595.cc: New test.
1173	* testsuite/23_containers/unordered_map/modifiers/78595.cc: New test.
1174	* testsuite/23_containers/unordered_multimap/modifiers/78595.cc: New
1175	test.
1176
11772018-10-12  Jonathan Wakely  <jwakely@redhat.com>
1178
1179	Backport from mainline
1180	2018-08-30  Jonathan Wakely  <jwakely@redhat.com>
1181
1182	* include/ext/pointer.h (_Pointer_adapter): Define operators for
1183	pointer arithmetic using long long offsets.
1184	* testsuite/ext/ext_pointer/1.cc: Test pointer arithmetic using
1185	long long values.
1186
11872018-10-12  Jonathan Wakely  <jwakely@redhat.com>
1188
1189	Backport from mainline
1190	2018-08-23  Jonathan Wakely  <jwakely@redhat.com>
1191
1192	* testsuite/21_strings/basic_string/init-list.cc:
1193	Require cxx11-abi.
1194	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
1195	Likewise.
1196	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
1197	Likewise.
1198
1199	Backport from mainline
1200	2018-08-22  Jonathan Wakely  <jwakely@redhat.com>
1201
1202	PR libstdc++/87061
1203	* include/experimental/regex [!_GLIBCXX_USE_CXX11_ABI]
1204	(experimental::pmr::match_results, experimental::pmr::cmatch)
1205	(experimental::pmr::smatch, experimental::pmr::wcmatch)
1206	(experimental::pmr::wsmatch): Do not declare for gcc4-compatible ABI,
1207	because COW strings don't support C++11 allocator model.
1208	* include/experimental/string [!_GLIBCXX_USE_CXX11_ABI]
1209	(experimental::pmr::basic_string, experimental::pmr::string)
1210	(experimental::pmr::u16string, experimental::pmr::u32string)
1211	(experimental::pmr::wstring): Likewise.
1212
1213	Backport from mainline
1214	2018-08-15  Jonathan Wakely  <jwakely@redhat.com>
1215
1216	* include/experimental/regex: Remove begin/end macros for namespace.
1217	* include/experimental/string: Likewise.
1218	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_deque.cc:
1219	New test.
1220	* testsuite/experimental/polymorphic_allocator/
1221	pmr_typedefs_forward_list.cc: New test.
1222	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_list.cc:
1223	New test.
1224	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_map.cc:
1225	New test.
1226	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
1227	New test.
1228	* testsuite/experimental/polymorphic_allocator/
1229	pmr_typedefs_multimap.cc: New test.
1230	* testsuite/experimental/polymorphic_allocator/
1231	pmr_typedefs_multiset.cc: New test.
1232	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_set.cc:
1233	New test.
1234	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
1235	New test.
1236	* testsuite/experimental/polymorphic_allocator/
1237	pmr_typedefs_unordered_map.cc: New test.
1238	* testsuite/experimental/polymorphic_allocator/
1239	pmr_typedefs_unordered_multimap.cc: New test.
1240	* testsuite/experimental/polymorphic_allocator/
1241	pmr_typedefs_unordered_multiset.cc: New test.
1242	* testsuite/experimental/polymorphic_allocator/
1243	pmr_typedefs_unordered_set.cc: New test.
1244	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_vector.cc:
1245	New test.
1246
12472018-10-12  Jonathan Wakely  <jwakely@redhat.com>
1248
1249	Backport from mainline
1250	2018-07-24  Jonathan Wakely  <jwakely@redhat.com>
1251
1252	PR libstdc++/70966
1253	* include/experimental/memory_resource (__get_default_resource): Use
1254	placement new to create an object with dynamic storage duration.
1255
1256	Backport from mainline
1257	2018-06-20  Jonathan Wakely  <jwakely@redhat.com>
1258
1259	PR libstdc++/70966
1260	* include/experimental/memory_resource (__resource_adaptor_imp): Add
1261	static assertions to enforce requirements on pointer types.
1262	(__resource_adaptor_imp::get_allocator()): Add noexcept.
1263	(new_delete_resource, null_memory_resource): Return address of an
1264	object with dynamic storage duration.
1265	(__null_memory_resource): Remove.
1266	* testsuite/experimental/memory_resource/70966.cc: New.
1267
12682018-10-12  Jonathan Wakely  <jwakely@redhat.com>
1269
1270	PR libstdc++/77854
1271	* doc/xml/manual/status_cxx1998.xml: Document size_type and
1272	difference_type for containers.
1273	* doc/html/*: Regenerate.
1274
12752018-10-08  Joseph Myers  <joseph@codesourcery.com>
1276
1277	Backport from mainline
1278	2018-10-02  Joseph Myers  <joseph@codesourcery.com>
1279
1280	* testsuite/lib/libstdc++.exp (libstdc++_init): Use
1281	-fno-show-column in default cxxflags.
1282
12832018-10-08  Jonathan Wakely  <jwakely@redhat.com>
1284
1285	Backport from mainline
1286	2018-10-08  Jonathan Wakely  <jwakely@redhat.com>
1287
1288	PR libstdc++/87538
1289	* include/std/functional (_Not_fn::operator()): Check value of
1290	__is_nothrow_invocable as well.
1291	* testsuite/20_util/function_objects/not_fn/87538.cc: New test.
1292	* testsuite/experimental/functional/87538.cc: New test.
1293
12942018-09-11  Jonathan Wakely  <jwakely@redhat.com>
1295
1296	PR libstdc++/87278
1297	* include/bits/shared_ptr.h (make_shared): Use remove_cv instead of
1298	remove_const.
1299	* testsuite/20_util/shared_ptr/creation/87278.cc: New test.
1300
13012018-08-28  Jonathan Wakely  <jwakely@redhat.com>
1302
1303	PR libstdc++/87116
1304	* src/filesystem/std-path.cc (path::lexically_normal): When handling
1305	a dot-dot filename, preserve an empty final component in the iteration
1306	sequence.
1307	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use preferred-separator for
1308	root-directory.
1309	* testsuite/27_io/filesystem/path/generation/normal.cc: Add new tests
1310	for more than two adjacent dot-dot filenames.
1311	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Replace slashes with
1312	preferred-separator in expected normalized strings.
1313
13142018-08-13  Jonathan Wakely  <jwakely@redhat.com>
1315
1316	Revert
1317	2018-08-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1318
1319	PR target/85904
1320	* configure.ac: Define HAVE_ALIGNED_ALLOC if building for
1321	Newlib.
1322	* configure: Regenerate.
1323
13242018-08-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1325
1326	Backport from mainline
1327	2018-08-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1328
1329	PR target/85904
1330	* configure.ac: Define HAVE_ALIGNED_ALLOC if building for
1331	Newlib.
1332	* configure: Regenerate.
1333
13342018-08-08  Jonathan Wakely  <jwakely@redhat.com>
1335
1336	* libsupc++/new_opa.cc (aligned_alloc): Declare inside namespace to
1337	avoid clashing with an ::aligned_alloc function that was not detected
1338	by configure.
1339
1340	PR libstdc++/86597
1341	* include/bits/fs_dir.h (directory_entry::_M_file_type(error_code&)):
1342	Clear error_code when cached type is used.
1343	* testsuite/27_io/filesystem/directory_entry/86597.cc: New test.
1344
1345	* doc/xml/manual/using.xml: Remove C++2a headers not on gcc-8-branch.
1346	* doc/html/*: Regenerate.
1347
1348	* doc/xml/manual/using.xml: Add missing header to table and fix typo.
1349	Remove C++17 headers not present on gcc-8-branch.
1350	* doc/html/*: Regenerate.
1351
13522018-08-07  Jonathan Wakely  <jwakely@redhat.com>
1353
1354	Backport from mainline
1355	2018-07-31  Jonathan Wakely  <jwakely@redhat.com>
1356
1357	* doc/xml/manual/test.xml: Improve documentation on writing tests for
1358	newer standards.
1359	* doc/xml/manual/using.xml: Document all headers for C++11 and later.
1360	* doc/html/*: Regenerate.
1361
1362	Backport from mainline
1363	2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
1364
1365	PR libstdc++/84535
1366	* include/std/thread (thread::__not_same): New SFINAE helper.
1367	(thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
1368	first argument is not a std::thread. Add static assertion to check
1369	INVOKE expression is valid.
1370	(thread::thread(thread&), thread::thread(const thread&&)): Remove.
1371	* testsuite/30_threads/thread/cons/84535.cc: New.
1372
1373	Backport from mainline
1374	2018-08-03  Jonathan Wakely  <jwakely@redhat.com>
1375
1376	* src/c++11/system_error.cc
1377	(system_error_category::default_error_condition): Add workaround for
1378	ENOTEMPTY and EEXIST having the same value on AIX.
1379	* testsuite/19_diagnostics/error_category/system_category.cc: Add
1380	extra testcases for EDOM, EILSEQ, ERANGE, EEXIST and ENOTEMPTY.
1381
1382	Backport from mainline
1383	2018-08-01  Jonathan Wakely  <jwakely@redhat.com>
1384
1385	PR libstdc++/60555
1386	* src/c++11/system_error.cc
1387	(system_error_category::default_error_condition): New override to
1388	check for POSIX errno values.
1389	* testsuite/19_diagnostics/error_category/generic_category.cc: New
1390	* testsuite/19_diagnostics/error_category/system_category.cc: New
1391	test.
1392
1393	Backport from mainline
1394	2018-08-07  Jonathan Wakely  <jwakely@redhat.com>
1395
1396	PR libstdc++/86874
1397	* include/std/variant (_Copy_ctor_base::_M_destructive_move): Define
1398	here instead of in _Move_assign_base.
1399	(_Copy_ctor_base<true, _Types...>::_M_destructive_move): Define.
1400	(_Copy_assign_base::operator=): Use _M_destructive_move when changing
1401	the contained value to another alternative.
1402	(_Move_assign_base::operator=): Likewise.
1403	(_Move_assign_base::_M_destructive_move): Remove.
1404	* testsuite/20_util/variant/86874.cc: New test.
1405
1406	Backport from mainline
1407	2018-08-07  Jonathan Wakely  <jwakely@redhat.com>
1408
1409	PR libstdc++/86861
1410	* libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc):
1411	Replace macro with inline function.
1412	[__sun]: Increase alignment to meet memalign precondition.
1413	[!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN]
1414	(aligned_alloc): Move check for valid alignment to operator new.
1415	Remove redundant check for non-zero size, it's enforced by the caller.
1416	(operator new): Move check for valid alignment here. Use
1417	__builtin_expect on check for zero size.
1418
14192018-07-31  Jonathan Wakely  <jwakely@redhat.com>
1420
1421	Backport from mainline
1422	2018-07-30  Jonathan Wakely  <jwakely@redhat.com>
1423
1424	* libsupc++/new_opa.cc (operator new(size_t, align_val_t)): Add
1425	workaround for aligned_alloc bug on AIX.
1426	* testsuite/18_support/new_aligned.cc: New test.
1427
1428	Backport from mainline
1429	2018-07-20  Fangrui Song  <maskray@google.com>
1430
1431	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Use
1432	_GLIBCXX_VISIBILITY(default).
1433
1434	Backport from mainline
1435	2018-07-30  Jonathan Wakely  <jwakely@redhat.com>
1436
1437	PR libstdc++/86734
1438	* include/bits/stl_iterator.h (reverse_iterator::operator->): Use
1439	addressof (LWG 2188).
1440	* testsuite/24_iterators/reverse_iterator/dr2188.cc: New test.
1441
1442	Backport from mainline
1443	2018-05-08  Jonathan Wakely  <jwakely@redhat.com>
1444
1445	PR libstdc++/85672
1446	* include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
1447	to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
1448	* include/Makefile.in: Regenerate.
1449	* include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
1450	within conditional block.
1451
1452	Backport from mainline
1453	2018-05-01  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
1454
1455	PR libstdc++/84654
1456	* acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
1457	* config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
1458	* configure: Regenerate.
1459	* include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
1460	based on ENABLE_FLOAT128.
1461	* include/Makefile.in: Regenerate.
1462	* include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
1463	[!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
1464	_GLIBCXX_USE_FLOAT128.
1465
14662018-07-26  Marek Polacek  <polacek@redhat.com>
1467
1468	* testsuite/30_threads/condition_variable_any/cond.cc: New.
1469
14702018-07-26  Release Manager
1471
1472	* GCC 8.2.0 released.
1473
14742018-07-18  Jonathan Wakely  <jwakely@redhat.com>
1475
1476	Backport from mainline
1477	2018-07-05  Jonathan Wakely  <jwakely@redhat.com>
1478
1479	* testsuite/21_strings/basic_string/cons/char/deduction.cc: XFAIL for
1480	COW strings.
1481	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
1482	Likewise.
1483
1484	Backport from mainline
1485	2018-07-04  Jonathan Wakely  <jwakely@redhat.com>
1486
1487	* testsuite/25_algorithms/make_heap/complexity.cc: Require effective
1488	target for std::random_device.
1489	* testsuite/26_numerics/random/random_device/cons/default.cc:
1490	Likewise.
1491	* testsuite/experimental/algorithm/sample-2.cc: Likewise.
1492	* testsuite/experimental/algorithm/shuffle.cc: Likewise.
1493	* testsuite/experimental/random/randint.cc: Likewise.
1494	* testsuite/lib/libstdc++.exp
1495	(check_effective_target_random_device): New proc.
1496
1497	Backport from mainline
1498	2018-06-26  David Edelsohn  <dje.gcc@gmail.com>
1499
1500	* testsuite/experimental/algorithm/sample-2.cc: Add TLS DejaGNU
1501	directives.
1502	* testsuite/experimental/algorithm/shuffle.cc: Likewise.
1503
1504	Backport from mainline
1505	2018-06-25  Jonathan Wakely  <jwakely@redhat.com>
1506
1507	* include/experimental/algorithm (sample, shuffle): Add new overloads
1508	using per-thread random number engine.
1509	* testsuite/experimental/algorithm/sample.cc: Simpify and reduce
1510	dependencies by using __gnu_test::test_container.
1511	* testsuite/experimental/algorithm/sample-2.cc: New.
1512	* testsuite/experimental/algorithm/shuffle.cc: New.
1513
15142018-07-16  Andreas Krebbel  <krebbel@linux.ibm.com>
1515
1516	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
1517	* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
1518	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1519
15202018-07-05  François Dumont  <fdumont@gcc.gnu.org>
1521
1522	Backport from mainline
1523	2018-07-04  François Dumont  <fdumont@gcc.gnu.org>
1524
1525	PR libstdc++/86272
1526	* include/debug/string
1527	(__gnu_debug::basic_string<>::insert<_Ite>(const_iterator, _Ite, _Ite)):
1528	Use __glibcxx_check_insert_range.
1529
15302018-07-04  Jonathan Wakely  <jwakely@redhat.com>
1531
1532	Backport from mainline
1533	2018-05-19  Jonathan Wakely  <jwakely@redhat.com>
1534
1535	* src/c++11/codecvt.cc (__codecvt_utf8_base<wchar_t>::do_in)
1536	[__SIZEOF_WCHAR_T__==2 && __BYTE_ORDER__!=__ORDER_BIG_ENDIAN__]: Set
1537	little_endian element in bitmask.
1538	* testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests.
1539	* testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New.
1540
1541	Backport from mainline
1542	2018-07-03  Jonathan Wakely  <jwakely@redhat.com>
1543
1544	* include/bits/alloc_traits.h: Remove redundant preprocessor
1545	condition.
1546
1547	Backport from mainline
1548	2018-06-27  Jonathan Wakely  <jwakely@redhat.com>
1549
1550	* include/bits/cpp_type_traits.h [__cplusplus >= 201703]
1551	(__is_byte<byte>): Define specialization for std::byte.
1552
1553	Backport from mainline
1554	2018-06-18  Jonathan Wakely  <jwakely@redhat.com>
1555
1556	LWG 3050 Fix cv-qualification of convertibility constraints
1557	* include/std/chrono (duration, operator*, operator/, operator%): Use
1558	const-qualified type as source type in is_convertible constraints.
1559	* testsuite/20_util/duration/arithmetic/dr3050.cc: New.
1560	* testsuite/20_util/duration/cons/dr3050.cc: New.
1561	* testsuite/20_util/duration/literals/range.cc: Rename to...
1562	* testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust
1563	dg-error lineno.
1564
1565	Backport from mainline
1566	2018-06-13  Jonathan Wakely  <jwakely@redhat.com>
1567
1568	PR libstdc++/86127
1569	* include/bits/forward_list.h (_Fwd_list_base::_Tp_alloc_type): Remove
1570	unused typedef.
1571	(_Fwd_list_base::_M_create_node, _Fwd_list_base::_M_erase_after):
1572	Use node allocator to create and destroy elements.
1573	(forward_list::_Tp_alloc_type): Remove unused typedef.
1574	(forward_list::_Alloc_traits): Use allocator_traits instead of
1575	__gnu_cxx::__alloc_traits.
1576
1577	Backport from mainline
1578	2018-05-29  Jonathan Wakely  <jwakely@redhat.com>
1579
1580	* include/std/variant (__erased_dtor): Qualify call to __get.
1581
1582	Backport from mainline
1583	2018-05-15  Jonathan Wakely  <jwakely@redhat.com>
1584
1585	* include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
1586	__invoke to prevent ADL.
1587
1588	Backport from mainline
1589	2018-05-24  Maya Rashish  <coypu@sdf.org>
1590
1591	PR target/85904
1592	* crossconfig.m4: Test for aligned_alloc on netbsd.
1593	* configure: Regenerate.
1594
1595	Backport from mainline
1596	2018-05-18  Jonathan Wakely  <jwakely@redhat.com>
1597
1598	PR libstdc++/85098
1599	* include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
1600	(basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
1601	(basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
1602	(basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
1603	definitions.
1604	* include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
1605	whitespace.
1606	* include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
1607	braces around body of do-while.
1608	* testsuite/28_regex/basic_regex/85098.cc: New
1609
1610	Backport from mainline
1611	2018-05-07  Jonathan Wakely  <jwakely@redhat.com>
1612
1613	PR libstdc++/85671
1614	* include/bits/fs_path.h (operator/): Permit copy elision.
1615	* include/experimental/bits/fs_path.h (operator/): Likewise.
1616
1617	Backport from mainline
1618	2018-06-14  Daniel Trebbien <dtrebbien@gmail.com>
1619		    Jonathan Wakely  <jwakely@redhat.com>
1620
1621	PR libstdc++/83982
1622	* include/bits/vector.tcc (vector::_M_default_append(size_type)):
1623	Default-construct new elements before moving existing ones.
1624	* testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc:
1625	New.
1626
1627	Backport from mainline
1628	2018-06-25  Jonathan Wakely  <jwakely@redhat.com>
1629
1630	PR libstdc++/86292
1631	* include/bits/stl_vector.h (vector::_M_range_initialize<InputIter>):
1632	Add try-catch block.
1633	* testsuite/23_containers/vector/cons/86292.cc: New.
1634
1635	Backport from mainline
1636	2018-06-27  Jonathan Wakely  <jwakely@redhat.com>
1637
1638	PR libstdc++/86138
1639	* include/bits/basic_string.tcc: [_GLIBCXX_EXTERN_TEMPLATE < 0]
1640	Declare explicit instantiations of COW empty reps and I/O functions.
1641
1642	Backport from mainline
1643	2018-06-16  Jonathan Wakely  <jwakely@redhat.com>
1644
1645	LWG 3076 basic_string CTAD ambiguity
1646	* doc/xml/manual/intro.xml: Document LWG 3076 change.
1647	* include/bits/basic_string.h
1648	[__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
1649	(basic_string(const _CharT*, const _Alloc&)): Turn into a function
1650	template constrained by _RequireAllocator.
1651	(basic_string(size_type, _CharT, const _Alloc&)): Likewise.
1652	* src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS):
1653	Define.
1654	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
1655	deduction
1656	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
1657	Likewise.
1658
1659	Backport from mainline
1660	2018-06-14  Jonathan Wakely  <jwakely@redhat.com>
1661
1662	LWG 3075 basic_string needs deduction guides from basic_string_view
1663	* include/bits/basic_string.h: Add deduction guides from string_view.
1664	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
1665	deduction from string views.
1666	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
1667	Likewise.
1668
1669	Backport from mainline
1670	2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
1671
1672	PR libstdc++/84087 LWG DR 2268 basic_string default arguments
1673	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
1674	(append(const basic_string&, size_type, size_type)
1675	(assign(const basic_string&, size_type, size_type)
1676	(insert(size_type, const basic_string&, size_type, size_type)
1677	(replace(size_type,size_type,const basic_string&,size_type,size_type)
1678	(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
1679	Add default arguments (LWG 2268).
1680	[_GLIBCXX_USE_CXX11_ABI=0]
1681	(append(const basic_string&, size_type, size_type)
1682	(assign(const basic_string&, size_type, size_type)
1683	(insert(size_type, const basic_string&, size_type, size_type)
1684	(replace(size_type,size_type,const basic_string&,size_type,size_type)
1685	(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
1686	Likewise.
1687	* testsuite/21_strings/basic_string/dr2268.cc: New test.
1688
1689	PR libstdc++/86398
1690	* include/std/type_traits (is_trivially_constructible): Check
1691	is_constructible before __is_trivially_constructible.
1692	* testsuite/20_util/is_trivially_constructible/value.cc: Add more
1693	tests, including negative cases.
1694	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Use
1695	zero for dg-error lineno.
1696	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1697	Likewise.
1698
16992018-06-25  Jonathan Wakely  <jwakely@redhat.com>
1700
1701	PR libstdc++/86112
1702	* python/libstdcxx/v6/printers.py (add_one_template_type_printer):
1703	Replace dict comprehension.
1704
17052018-06-25  Jonathan Wakely  <jwakely@redhat.com>
1706
1707	PR libstdc++/81092
1708	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1709
17102018-06-22  Jonathan Wakely  <jwakely@redhat.com>
1711
1712	Backport from mainline
1713	2018-06-22  Jonathan Wakely  <jwakely@redhat.com>
1714
1715	PR libstdc++/86138
1716	* include/bits/basic_string.tcc:
1717	[__cplusplus > 201402 && !_GLIBCXX_USE_CXX11_ABI]
1718	(basic_string<char>::_Rep::_S_empty_rep_storage)
1719	(basic_string<wchar_t>::_Rep::_S_empty_rep_storage): Add explicit
1720	instantiation declarations.
1721	[__cplusplus > 201402] (operator>>, operator<<, getline): Re-enable
1722	explicit instantiation declarations.
1723	* testsuite/21_strings/basic_string/cons/char/86138.cc: New.
1724	* testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: New.
1725
17262018-06-21  Jonathan Wakely  <jwakely@redhat.com>
1727
1728	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1729
17302018-06-19  Jonathan Wakely  <jwakely@redhat.com>
1731
1732	* include/std/utility: Remove unused <exception> header.
1733
17342018-06-19  Jonathan Wakely  <jwakely@redhat.com>
1735
1736	Backport from mainline
1737	2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
1738
1739	PR libstdc++/82644
1740	* include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
1741	inline definitions instead of using-declarations.
1742	[__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
1743	* testsuite/tr1/5_numerical_facilities/special_functions/
1744	07_conf_hyperg/compile_cxx17.cc: New.
1745	* testsuite/tr1/5_numerical_facilities/special_functions/
1746	17_hyperg/compile_cxx17.cc: New.
1747
17482018-06-15  Jonathan Wakely  <jwakely@redhat.com>
1749
1750	PR libstdc++/86169
1751	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
1752	(basic_string::data()): Unshare string.
1753	* testsuite/21_strings/basic_string/operations/data/char/86169.cc:
1754	New.
1755
17562018-06-15  Jonathan Wakely  <jwakely@redhat.com>
1757
1758	* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
1759	define for C++17 and above.
1760
17612018-06-06  Jonathan Wakely  <jwakely@redhat.com>
1762
1763	PR libstdc++/86008
1764	* include/bits/quoted_string.h (_Quoted_string<basic_string_view, C>):
1765	Define new partial specialization.
1766	* include/std/iomanip (quoted(basic_string_view<C,T>, C, C)): Define
1767	new overload.
1768	(operator<<(basic_ostream<C,T>&, const _Quoted_string<S,C>&)): Use
1769	value not reference for iteration.
1770	* testsuite/27_io/manipulators/standard/char/quoted.cc: Adjust
1771	comment.
1772	* testsuite/27_io/manipulators/standard/char/quoted_sv.cc: New test.
1773	* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Adjust
1774	comment.
1775
17762018-06-05  Jonathan Wakely  <jwakely@redhat.com>
1777
1778	* include/std/type_traits: Fix comment typo.
1779
17802018-06-04  Jonathan Wakely  <jwakely@redhat.com>
1781
1782	PR libstdc++/85930
1783	* include/bits/shared_ptr_base.h [!__cpp_rtti]: Include <typeinfo>
1784	unconditionally. Remove redundant declaration.
1785	[!__cpp_rtti] (_Sp_make_shared_tag::_S_ti): Align the static variable
1786	correctly.
1787
17882018-05-31  Jonathan Wakely  <jwakely@redhat.com>
1789
1790	PR libstdc++/85951
1791	* include/std/type_traits [_GLIBCXX_USE_C99_STDINT_TR1]: Do not define
1792	uint_least16_t and uint_least32_t.
1793	(__make_unsigned<wchar_t>): Define unconditionally.
1794	(__make_unsigned<char16_t>, __make_unsigned<char32_t>): Define.
1795	(__make_signed<wchar_t>, __make_signed<char16_t>)
1796	(__make_signed<char32_t>)): Define unconditionally.
1797	* testsuite/20_util/make_signed/requirements/typedefs-3.cc: Check
1798	wchar_t, char16_t and char32_t are transformed correctly.
1799	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1800	dg-error lineno.
1801	* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: Check
1802	wchar_t, char16_t and char32_t are transformed correctly.
1803	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
1804	dg-error lineno.
1805
18062018-05-21  François Dumont  <fdumont@gcc.gnu.org>
1807
1808	* include/debug/map.h
1809	(map(map&&, const_allocator_type&)): Add noexcept qualitication.
1810	* include/debug/multimap.h
1811	(multimap(multimap&&, const_allocator_type&)): Likewise.
1812	* include/debug/set.h
1813	(set(set&&, const_allocator_type&)): Likewise.
1814	* include/debug/multiset.h
1815	(multiset(multiset&&, const_allocator_type&)): Likewise.
1816
18172018-05-21  Jonathan Wakely  <jwakely@redhat.com>
1818
1819	PR libstdc++/85818
1820	* testsuite/experimental/filesystem/path/preferred_separator.cc: Add
1821	dg-require-filesystem-ts.
1822
18232018-05-17  Jonathan Wakely  <jwakely@redhat.com>
1824
1825	PR libstdc++/85818
1826	* src/filesystem/path.cc (path::preferred_separator): Add used
1827	attribute.
1828	* testsuite/experimental/filesystem/path/preferred_separator.cc: New.
1829
1830	PR libstdc++/85812
1831	* libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
1832	* libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
1833	Refactor to separate non-throwing and throwing implementations.
1834	[__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
1835	if constructing the object throws.
1836
18372018-05-15  Jonathan Wakely  <jwakely@redhat.com>
1838
1839	PR libstdc++/83891
1840	* include/bits/fs_path.h (path::is_absolute()): Use same definition
1841	for all operating systems.
1842	* include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
1843	* testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
1844	* testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
1845	* testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
1846
1847	* testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
1848	unused <vector> header.
1849	* testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
1850	* testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
1851	* testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
1852	* testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
1853	* testsuite/27_io/filesystem/path/query/has_relative_path.cc:
1854	Likewise.
1855	* testsuite/27_io/filesystem/path/query/has_root_directory.cc:
1856	Likewise.
1857	* testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
1858	* testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
1859	* testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
1860	* testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
1861	* testsuite/experimental/filesystem/path/decompose/extension.cc:
1862	Likewise.
1863	* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
1864	* testsuite/experimental/filesystem/path/query/has_extension.cc:
1865	Likewise.
1866	* testsuite/experimental/filesystem/path/query/has_filename.cc:
1867	Likewise.
1868	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
1869	Likewise.
1870	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
1871	Likewise.
1872	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
1873	Likewise.
1874	* testsuite/experimental/filesystem/path/query/has_root_name.cc:
1875	Likewise.
1876	* testsuite/experimental/filesystem/path/query/has_root_path.cc:
1877	Likewise.
1878	* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
1879	* testsuite/experimental/filesystem/path/query/is_relative.cc:
1880	Likewise.
1881
1882	PR libstdc++/84159
1883	* include/bits/fs_path.h (path::operator/=, path::append): Construct
1884	temporary path before calling _M_append.
1885	(path::_M_append): Change parameter to path and implement C++17
1886	semantics.
1887	* testsuite/27_io/filesystem/path/append/path.cc: Add helper function
1888	and more examples from the standard.
1889	* testsuite/27_io/filesystem/path/append/source.cc: New.
1890	* testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
1891	* testsuite/27_io/filesystem/path/nonmember/append.cc: New.
1892
18932018-05-14  Jonathan Wakely  <jwakely@redhat.com>
1894
1895	PR libstdc++/67554
1896	* include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
1897	(_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
1898
1899	PR libstdc++/82966
1900	* include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
1901	instead of type.
1902	* testsuite/23_containers/set/modifiers/node_swap.cc: New.
1903
19042018-05-10  Jonathan Wakely  <jwakely@redhat.com>
1905
1906	* doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
1907	* doc/xml/manual/debug_mode.xml: Add array and forward_list to list
1908	of C++11 containers with Debug Mode support.
1909	* doc/xml/manual/using.xml: Document that the C++17 Filesystem
1910	implementation also needs -lstdc++fs. Document Dual ABI for
1911	ios_base::failure.
1912	* doc/html/*: Regenerate.
1913
19142018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
1915
1916	Backport from mainline
1917	2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
1918
1919	Moar PR libstdc++/80506
1920	* include/bits/random.tcc (gamma_distribution::__generate_impl()):
1921	Fix magic number used in loop condition.
1922
19232018-05-04  Jonathan Wakely  <jwakely@redhat.com>
1924
1925	PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
1926	* include/std/optional (_Optional_payload): Add noexcept to default
1927	constructor. Re-indent.
1928	(_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
1929	constructor for copying disengaged payloads.
1930	(_Optional_payload<_Tp, true, false, true>): Likewise.
1931	(_Optional_payload<_Tp, true, true, false>): Likewise.
1932	(_Optional_payload<_Tp, true, false, false>): Likewise.
1933	* testsuite/20_util/optional/cons/85642.cc: New.
1934	* testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
1935
19362018-05-03  Jonathan Wakely  <jwakely@redhat.com>
1937
1938	PR libstdc++/84769
1939	* include/std/variant (visit): Qualify std::get call.
1940
19412018-05-03  Jonathan Wakely  <jwakely@redhat.com>
1942
1943	PR libstdc++/85632 use uintmax_t for arithmetic
1944	* src/filesystem/ops.cc (experimental::filesystem::space): Perform
1945	arithmetic in result type.
1946	* src/filesystem/std-ops.cc (filesystem::space): Likewise.
1947	* testsuite/27_io/filesystem/operations/space.cc: Check total capacity
1948	is greater than free space.
1949	* testsuite/experimental/filesystem/operations/space.cc: New.
1950
19512018-05-02  Release Manager
1952
1953	* GCC 8.1.0 released.
1954
19552018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
1956
1957	* configure: Regenerated.
1958
19592018-04-19  Jakub Jelinek  <jakub@redhat.com>
1960
1961	* configure: Regenerated.
1962
19632018-04-18  Jonathan Wakely  <jwakely@redhat.com>
1964	    Jakub Jelinek  <jakub@redhat.com>
1965
1966	PR libstdc++/85442
1967	* src/c++11/Makefile.am: Don't generate debuginfo again for
1968	cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
1969	* src/c++11/Makefile.in: Regenerate.
1970
19712018-04-18  Jonathan Wakely  <jwakely@redhat.com>
1972
1973	PR libstdc++/84442
1974	* testsuite/30_threads/thread/cons/terminate.cc
1975	[!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
1976
19772018-04-18  David Malcolm  <dmalcolm@redhat.com>
1978
1979	PR jit/85384
1980	* configure: Regenerate.
1981
19822018-04-16  Jonathan Wakely  <jwakely@redhat.com>
1983
1984	* testsuite/experimental/filesystem/file_status/1.cc: Add
1985	-DUSE_FILESYSTEM_TS to dg-options.
1986	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1987	Likewise.
1988	* testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
1989	* testsuite/experimental/filesystem/iterators/
1990	recursive_directory_iterator.cc: Likewise.
1991	* testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
1992	* testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
1993	* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
1994	* testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
1995	* testsuite/experimental/filesystem/operations/create_directories.cc:
1996	Likewise.
1997	* testsuite/experimental/filesystem/operations/create_directory.cc:
1998	Likewise.
1999	* testsuite/experimental/filesystem/operations/create_symlink.cc:
2000	Likewise.
2001	* testsuite/experimental/filesystem/operations/current_path.cc:
2002	Likewise.
2003	* testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
2004	* testsuite/experimental/filesystem/operations/exists.cc: Likewise.
2005	* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
2006	* testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
2007	* testsuite/experimental/filesystem/operations/last_write_time.cc:
2008	Likewise.
2009	* testsuite/experimental/filesystem/operations/permissions.cc:
2010	Likewise.
2011	* testsuite/experimental/filesystem/operations/read_symlink.cc:
2012	Likewise.
2013	* testsuite/experimental/filesystem/operations/remove.cc: Likewise.
2014	* testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
2015	* testsuite/experimental/filesystem/operations/status.cc: Likewise.
2016	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
2017	Likewise.
2018	* testsuite/experimental/filesystem/path/append/path.cc: Likewise.
2019	* testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
2020	* testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
2021	* testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
2022	* testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
2023	* testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
2024	* testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
2025	* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
2026	* testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
2027	* testsuite/experimental/filesystem/path/construct/default.cc:
2028	Likewise.
2029	* testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
2030	* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
2031	* testsuite/experimental/filesystem/path/construct/string_view.cc:
2032	Likewise.
2033	* testsuite/experimental/filesystem/path/decompose/extension.cc:
2034	Likewise.
2035	* testsuite/experimental/filesystem/path/decompose/filename.cc:
2036	Likewise.
2037	* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
2038	Likewise.
2039	* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
2040	Likewise.
2041	* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
2042	Likewise.
2043	* testsuite/experimental/filesystem/path/decompose/root_name.cc:
2044	Likewise.
2045	* testsuite/experimental/filesystem/path/decompose/root_path.cc:
2046	Likewise.
2047	* testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
2048	* testsuite/experimental/filesystem/path/generic/generic_string.cc:
2049	Likewise.
2050	* testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
2051	* testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
2052	* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
2053	Likewise.
2054	* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
2055	Likewise.
2056	* testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
2057	Likewise.
2058	* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
2059	Likewise.
2060	* testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
2061	* testsuite/experimental/filesystem/path/native/string.cc: Likewise.
2062	* testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
2063	Likewise.
2064	* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
2065	* testsuite/experimental/filesystem/path/query/has_extension.cc:
2066	Likewise.
2067	* testsuite/experimental/filesystem/path/query/has_filename.cc:
2068	Likewise.
2069	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
2070	Likewise.
2071	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
2072	Likewise.
2073	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
2074	Likewise.
2075	* testsuite/experimental/filesystem/path/query/has_root_name.cc:
2076	Likewise.
2077	* testsuite/experimental/filesystem/path/query/has_root_path.cc:
2078	Likewise.
2079	* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
2080	* testsuite/experimental/filesystem/path/query/is_relative.cc:
2081	Likewise.
2082
20832018-04-13  Jonathan Wakely  <jwakely@redhat.com>
2084
2085	* src/c++11/Makefile.am: Fix sed command.
2086	* src/c++11/Makefile.in: Regenerate.
2087
2088	* src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
2089	handle mangled names starting with double underscores on darwin.
2090	* src/c++11/Makefile.in: Regenerate.
2091
20922018-04-12  Jonathan Wakely  <jwakely@redhat.com>
2093
2094	* src/c++11/Makefile.am: Fix comment.
2095	* src/c++11/Makefile.in: Regenerate.
2096	* src/c++11/cxx11-ios_failure.cc: Fix comment.
2097	* src/c++98/ios_failure.cc: Likewise.
2098
2099	* src/c++11/ios.cc: Remove redundant macro definition.
2100
21012018-04-11  Jonathan Wakely  <jwakely@redhat.com>
2102
2103	* doc/xml/manual/abi.xml: Document header locations in recent
2104	releases.
2105	* doc/xml/manual/evolution.xml: Add API changes since GCC 5.
2106	* doc/xml/manual/spine.xml: Update copyright years.
2107	* doc/xml/manual/strings.xml: Adjust tolower example to avoid
2108	undefined behaviour.
2109	* doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
2110	* doc/html/*: Regenerate.
2111
21122018-04-10  Jonathan Wakely  <jwakely@redhat.com>
2113
2114	* doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
2115	* doc/xml/manual/backwards_compatibility.xml: Likewise.
2116	* doc/xml/manual/containers.xml: Likewise.
2117	* doc/xml/manual/debug_mode.xml: Likewise.
2118	* doc/xml/manual/extensions.xml: Likewise.
2119	* doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
2120	* doc/xml/manual/using.xml: Likewise.
2121	* doc/xml/manual/utilities.xml: Likewise.
2122
2123	PR libstdc++/85222
2124	* src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
2125	cxx11-ios_failure.cc to rewrite type info for __ios_failure.
2126	* src/c++11/Makefile.in: Regenerate.
2127	* src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
2128	New types.
2129	[_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
2130	* src/c++11/ios.cc (__throw_ios_failure): Remove definition.
2131	* src/c++98/ios_failure.cc (__construct_ios_failure)
2132	(__destroy_ios_failure, is_ios_failure_handler): New functions.
2133	[!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
2134	* testsuite/27_io/ios_base/failure/dual_abi.cc: New.
2135	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
2136	handler types, to always catch std::ios_base::failure.
2137	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
2138	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
2139	exceptions_failbit.cc: Likewise.
2140	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
2141	exceptions_failbit.cc: Likewise.
2142	* testsuite/27_io/basic_istream/extractors_other/char/
2143	exceptions_null.cc: Likewise.
2144	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
2145	exceptions_null.cc: Likewise.
2146	* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
2147	* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
2148	* testsuite/27_io/basic_ostream/inserters_other/char/
2149	exceptions_null.cc: Likewise.
2150	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
2151	exceptions_null.cc: Likewise.
2152	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
2153
21542018-04-05  Jonathan Wakely  <jwakely@redhat.com>
2155
2156	* include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
2157	__get calls to avoid ADL and avoid ambiguity due to Clang bug.
2158
21592018-04-03  Jonathan Wakely  <jwakely@redhat.com>
2160
2161	PR libstdc++/85183
2162	* include/std/variant (_Move_assign_base::operator=): Fix incorrect
2163	value categories.
2164	* testsuite/20_util/variant/85183.cc: New.
2165
21662018-03-26  Jonathan Wakely  <jwakely@redhat.com>
2167
2168	* include/std/variant (__get): Qualify calls to avoid ADL.
2169	(__select_index): Adjust whitespace.
2170	(variant): Add using-declaration to workaround Clang bug.
2171
21722018-03-22  Jonathan Wakely  <jwakely@redhat.com>
2173
2174	PR libstdc++/85040
2175	* include/bits/stl_function.h (greater::__not_overloaded)
2176	(less::__not_overloaded, greater_equal::__not_overloaded)
2177	(less_equal::__not_overloaded): Fix ambiguous specializations.
2178	* testsuite/20_util/function_objects/comparisons_pointer.cc: Add
2179	tests for type with overloaded operators.
2180
21812018-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2182
2183	PR libstdc++/77691
2184	* testsuite/experimental/memory_resource/resource_adaptor.cc:
2185	xfail execution on 32-bit Solaris/x86.
2186
21872018-03-21  Jonathan Wakely  <jwakely@redhat.com>
2188
2189	* testsuite/20_util/function_objects/comparisons_pointer.cc: Use
2190	VERIFY instead of assert.
2191	* testsuite/20_util/hash/84998.cc: New test.
2192	* testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
2193	copy of test adjusted for Debug Mode.
2194	* testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
2195	test in Debug Mode.
2196
21972018-03-20  François Dumont  <fdumont@gcc.gnu.org>
2198
2199	PR libstdc++/84998
2200	* include/bits/stl_bvector.h: Fix std::hash friend declaration.
2201	* include/std/bitset: Likewise.
2202	* include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
2203	declaration.
2204	* include/bits/stl_multimap.h (std::multimap<>): Likewise.
2205	* include/bits/stl_multiset.h (std::multiset<>): Likewise.
2206	* include/bits/stl_set.h (std::set<>): Likewise.
2207	* include/bits/unordered_map.h (std::unordered_map<>): Fix
2208	_Hash_merge_helper friend declaration.
2209	(std::unordered_multimap<>): Likewise.
2210	* include/bits/unordered_set.h (std::unordered_set<>): Likewise.
2211	(std::unordered_multiset<>): Likewise.
2212
22132018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
2214
2215	* doc/xml/api.xml: www.fsf.org has moved to https. Also omit
2216	trailing slash for domain level link.
2217	* doc/xml/faq.xml: Ditto.
2218	* doc/xml/manual/appendix_free.xml (software): Ditto.
2219	* doc/xml/manual/intro.xml: Ditto.
2220	* doc/xml/manual/spine.xml: Ditto.
2221	* doc/xml/spine.xml: Ditto.
2222
22232018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
2224
2225	* doc/xml/manual/documentation_hacking.xml: Adjust link to
2226	docbook.org.
2227
22282018-03-17  Jonathan Wakely  <jwakely@redhat.com>
2229
2230	* testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
2231	to compile as C++98.
2232
22332018-03-14  Jonathan Wakely  <jwakely@redhat.com>
2234
2235	PR libstdc++/78420
2236	* include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
2237	(greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
2238	to ensure total order for pointers.
2239	(greater<void>, less<void>, greater_equal<void>, less_equal<void>):
2240	Add operator() overloads for pointer arguments and make generic
2241	overloads dispatch to new _S_cmp functions when comparisons would
2242	use built-in operators for pointers.
2243	* testsuite/20_util/function_objects/comparisons_pointer.cc: New.
2244
22452018-03-12  Jonathan Wakely  <jwakely@redhat.com>
2246
2247	PR libstdc++/84773
2248	PR libstdc++/83662
2249	* crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
2250	* configure: Regenerate.
2251	* include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
2252	(aligned_alloc): Add using-declaration.
2253	* testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
2254
22552018-03-09  François Dumont  <fdumont@gcc.gnu.org>
2256
2257	* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
2258	Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
2259	registration.
2260
22612018-03-09  Jonathan Wakely  <jwakely@redhat.com>
2262
2263	PR libstdc++/84769
2264	* include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
2265	Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
2266
2267	src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
2268	src/filesystem/std-ops.cc (create_dir): Likewise.
2269
22702018-03-08  François Dumont  <fdumont@gcc.gnu.org>
2271
2272	* python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
2273	(StdListIteratorPrinter): Inherit from latter.
2274	(StdFwdListIteratorPrinter): New, inherit from latter.
2275	(StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
2276	when iterator has no associated container.
2277	(build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
2278	__gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
2279	registrations.
2280	* testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
2281	* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
2282
22832018-03-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
2284
2285	PR libstdc++/84601
2286	* include/std/optional (_Optional_payload): Split into multiple
2287	specializations that can handle different cases of trivial or
2288	non-trivial assignment operators.
2289	* testsuite/20_util/optional/84601.cc: New.
2290	* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
2291
22922018-03-02  Jonathan Wakely  <jwakely@redhat.com>
2293
2294	PR libstdc++/84671
2295	* include/bits/parse_numbers.h (_Number_help): Add partial
2296	specialization to handle digit separators. Adjust partial
2297	specialization for recursion temrination to require _Pow == 1ULL.
2298	* testsuite/20_util/duration/literals/84671.cc: New
2299
23002018-02-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
2301
2302	Implement the missing bits of LWG 2769
2303	* include/std/any (any_cast(const any&)): Add static_assert.
2304	(any_cast(any&)): Likewise.
2305	(any_cast(any&&)): Likewise, and remove the handling
2306	for copyable-but-not-movable type.
2307	* testsuite/20_util/any/misc/any_cast.cc: Adjust.
2308	* testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
2309	add new tests.
2310
23112018-02-23  Jonathan Wakely  <jwakely@redhat.com>
2312
2313	PR libstdc++/84532
2314	* include/std/thread (thread::__make_invoker): Construct tuple
2315	directly instead of using make_tuple.
2316	* testsuite/30_threads/async/84532.cc: New.
2317	* testsuite/30_threads/thread/84532.cc: New.
2318
23192018-02-20  François Dumont  <fdumont@gcc.gnu.org>
2320
2321	* include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
2322	(template<> __aligned_buffer): Define as __aligned_membuf alias.
2323
23242018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
2325
2326	PR target/84148
2327	* configure: Regenerate.
2328
23292018-02-15  Jonathan Wakely  <jwakely@redhat.com>
2330
2331	PR libstdc++/81797
2332	* configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
2333	* configure: Regenerate.
2334	* include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
2335	defined.
2336	* include/Makefile.in: Regenerate.
2337
23382018-01-29  Jonathan Wakely  <jwakely@redhat.com>
2339
2340	PR libstdc++/83833
2341	* testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
2342	Add -ffloat-store to options for m68k and ia32.
2343
2344	* doc/xml/faq.xml: Update copyright years.
2345	* doc/html/*: Regenerate.
2346
2347	PR libstdc++/83658
2348	* include/std/any (any::__do_emplace): Only set _M_manager after
2349	constructing the contained object.
2350	* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
2351	* testsuite/20_util/any/modifiers/83658.cc: New test.
2352
23532018-01-25  Jonathan Wakely  <jwakely@redhat.com>
2354
2355	PR libstdc++/81076
2356	* include/c_global/cstddef (__byte_operand): Define primary template.
2357	* testsuite/18_support/byte/81076.cc: New test.
2358
23592018-01-19  Christophe Lyon  <christophe.lyon@linaro.org>
2360
2361	* testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
2362	dg-options and dg-add-options order.
2363	* testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
2364	* testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
2365	Likewise.
2366	* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
2367	* testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
2368	Likewise.
2369	* testsuite/special_functions/02_assoc_legendre/check_nan.cc:
2370	Likewise.
2371	* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
2372	* testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
2373	Likewise.
2374	* testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
2375	Likewise.
2376	* testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
2377	Likewise.
2378	* testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
2379	Likewise.
2380	* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
2381	Likewise.
2382	* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
2383	Likewise.
2384	* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
2385	Likewise.
2386	* testsuite/special_functions/10_cyl_neumann/check_nan.cc:
2387	Likewise.
2388	* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
2389	* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
2390	* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
2391	* testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
2392	* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
2393	* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
2394	* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
2395	* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
2396	* testsuite/special_functions/18_riemann_zeta/check_nan.cc:
2397	Likewise.
2398	* testsuite/special_functions/19_sph_bessel/check_nan.cc:
2399	Likewise.
2400	* testsuite/special_functions/20_sph_legendre/check_nan.cc:
2401	Likewise.
2402	* testsuite/special_functions/21_sph_neumann/check_nan.cc:
2403	Likewise.
2404
24052018-01-18  Uros Bizjak  <ubizjak@gmail.com>
2406
2407	* configure.ac (AC_CHECK_HEADERS): Add linux/types.h.  Conditionally
2408	include linux/types.h when checking linux/random.h header.
2409	* config.h.in: Regenerate.
2410	* configure: Ditto.
2411	* src/c++11/random.cc: Conditionally include linux/types.h.
2412
24132018-01-16  Eric Botcazou  <ebotcazou@adacore.com>
2414
2415	* testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
2416
24172018-01-16  Jonathan Wakely  <jwakely@redhat.com>
2418
2419	PR libstdc++/83834
2420	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
2421	pattern with exact match for std::cerr.
2422
24232018-01-15  Jonathan Wakely  <jwakely@redhat.com>
2424
2425	PR libstdc++/83833
2426	* include/bits/random.h (chi_squared_distribution::param): Update
2427	gamma distribution parameter.
2428	* testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
2429	test.
2430
2431	PR libstdc++/83830
2432	* include/std/type_traits (has_unique_object_representations_v): Add
2433	variable template.
2434	* testsuite/20_util/has_unique_object_representations/value.cc: Check
2435	variable template.
2436
24372018-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
2438
2439	Make optional conditionally
2440	trivially_{copy,move}_{constructible,assignable}
2441	* include/std/optional (_Optional_payload): Fix the comment in
2442	the class head and turn into a primary and one specialization.
2443	(_Optional_payload::_M_engaged): Strike the NSDMI.
2444	(_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
2445	New.
2446	(_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
2447	Likewise.
2448	(_Optional_payload<_Tp, false>::_M_get): Likewise.
2449	(_Optional_payload<_Tp, false>::_M_reset): Likewise.
2450	(_Optional_base_impl): Likewise.
2451	(_Optional_base): Turn into a primary and three specializations.
2452	(optional(nullopt)): Change the base init.
2453	* testsuite/20_util/optional/assignment/8.cc: New.
2454	* testsuite/20_util/optional/cons/trivial.cc: Likewise.
2455	* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
2456
24572018-01-15  Jonathan Wakely  <jwakely@redhat.com>
2458
2459	PR libstdc++/80276
2460	* python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
2461	(get_template_arg_list): New.
2462	(StdVariantPrinter._template_args): Remove, use get_template_arg_list
2463	instead.
2464	(TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
2465	of strings and regular expressions.
2466	(add_one_template_type_printer): Adapt to new TemplateTypePrinter.
2467	(FilteringTypePrinter): Add docstring. Match using startswith. Use
2468	strip_inline_namespaces instead of strip_versioned_namespace.
2469	(add_one_type_printer): Prepend namespace to match argument.
2470	(register_type_printers): Add type printers for char16_t and char32_t
2471	string types and for types using cxx11 ABI. Update calls to
2472	add_one_template_type_printer to provide default argument dicts.
2473	* testsuite/libstdc++-prettyprinters/80276.cc: New test.
2474	* testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
2475	basic_string<unsigned char> and basic_string<signed char>.
2476	* testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
2477	to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
2478
24792018-01-14  Andreas Schwab  <schwab@linux-m68k.org>
2480
2481	PR libstdc++/81092
2482	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2483
24842018-01-13  Tim Shen  <timshen@google.com>
2485
2486	PR libstdc++/83601
2487	* include/bits/regex.tcc (regex_replace): Fix escaping in sed.
2488	* testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
2489	* testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
2490
24912018-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2492
2493	PR libstdc++/64054
2494	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
2495	Remove dg-xfail-run-if.
2496
24972018-01-10  François Dumont  <fdumont@gcc.gnu.org>
2498
2499	* include/bits/forward_list.h
2500	(_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
2501	(_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
2502	(_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
2503	(_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
2504	(_Fwd_list_impl()): Add noexcept qualification.
2505	(_Fwd_list_impl(const _Node_alloc_type&)): Delete.
2506	(_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
2507	(_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
2508	(_Fwd_list_base()): Default.
2509	(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
2510	(_Fwd_list_base(_Fwd_list_base&&)): Default.
2511	(forward_list<>()): Default.
2512	(forward_list<>(forward_list&&)): Default.
2513	(forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
2514	(forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
2515	(forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
2516	* include/bits/forward_list.tcc
2517	(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
2518	_M_impl._M_head move assignment.
2519	(forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
2520	* testsuite/23_containers/forward_list/allocator/default_init.cc: New.
2521
25222018-01-09  Jonathan Wakely  <jwakely@redhat.com>
2523
2524	PR libstdc++/80276
2525	* python/libstdcxx/v6/printers.py (SharedPointerPrinter)
2526	(UniquePointerPrinter): Print correct template argument, not type of
2527	the pointer.
2528	(TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
2529	a type.
2530	* testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
2531	array type.
2532	* testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
2533	weak_ptr of array types.
2534
25352018-01-09  François Dumont  <fdumont@gcc.gnu.org>
2536
2537	PR libstdc++/83709
2538	* include/bits/hashtable_policy.h
2539	(__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
2540	__first != __last.
2541	(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
2542	(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
2543	Add false_type parameter.
2544	(_Insert_base::insert): Adapt.
2545	* include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
2546	Adapt.
2547	(_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
2548	 Add __n_elt parameter, defaulted to 1.
2549	(_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
2550	policy _M_need_rehash.
2551	(_Hashtable::_M_merge_unique): Pass target number of elements to add to
2552	produce only 1 rehash if necessary.
2553	* testsuite/23_containers/unordered_map/insert/83709.cc: New.
2554	* testsuite/23_containers/unordered_set/insert/83709.cc: New.
2555
25562018-01-09  Juraj Oršulić  <juraj.orsulic@fer.hr>
2557	    Jonathan Wakely  <jwakely@redhat.com>
2558
2559	PR libstdc++/59253 (partial)
2560	* python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
2561	type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
2562	(SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
2563	children.
2564	* testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
2565	of unique_ptr printer.
2566	* testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
2567	output of shared_ptr printer.
2568
25692018-01-05  Jonathan Wakely  <jwakely@redhat.com>
2570
2571	PR libstdc++/83626
2572	* src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
2573	unnecessary symlink_status call.
2574	(remove_all(const path&, error_code&)): Use filesystem::remove.
2575	* src/filesystem/std-ops.cc: Likewise.
2576
2577	PR libstdc++/83279
2578	* src/filesystem/std-ops.cc  (do_copy_file): Use non-null offset with
2579	sendfile.
2580
2581	PR libstdc++/83626
2582	* src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
2583	report an error for ENOENT.
2584	(remove_all(const path&)): Fix type of result variable.
2585	(remove_all(const path&, error_code&)): Use non-throwing increment
2586	for directory iterator. Call POSIX remove directly to avoid redundant
2587	calls to symlink_status. Do not report errors for ENOENT.
2588	* src/filesystem/std-ops.cc: Likewise.
2589	* testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
2590	overload.
2591	* testsuite/experimental/filesystem/operations/remove_all.cc:
2592	Likewise.
2593
25942018-01-04  Jonathan Wakely  <jwakely@redhat.com>
2595
2596	PR libstdc++/83626
2597	* src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
2598	redundant call to ec.clear().
2599	(remove_all(const path&, error_code&))): Do not return an error for
2600	non-existent paths.
2601	* src/filesystem/std-ops.cc: Likewise.
2602	* testsuite/27_io/filesystem/operations/remove.cc: New test.
2603	* testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
2604	results for non-existent paths.
2605	* testsuite/experimental/filesystem/operations/remove.cc: New test.
2606	* testsuite/experimental/filesystem/operations/remove_all.cc: Fix
2607	expected results for non-existent paths.
2608
2609	* include/bits/fs_ops.h (exists(const path&, error_code&))): Only
2610	check status_known once.
2611	* include/experimental/bits/fs_ops.h: Likewise.
2612
2613	PR libstdc++/83607
2614	* include/std/functional (__is_byte_like): New trait.
2615	(__is_std_equal_to): Remove.
2616	(__boyer_moore_base_t): Use __is_byte_like instead of
2617	__is_std_equal_to.
2618	* include/experimental/functional (__is_std_equal_to): Remove.
2619	(__boyer_moore_base_t): Use __is_byte_like instead of
2620	__is_std_equal_to.
2621	* testsuite/20_util/function_objects/83607.cc: New test.
2622
26232018-01-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
2624
2625	Protect optional's deduction guide with the feature macro
2626	* include/std/optional: Use the feature macro.
2627
26282018-01-03  Jakub Jelinek  <jakub@redhat.com>
2629
2630	Update copyright years.
2631
2632Copyright (C) 2018 Free Software Foundation, Inc.
2633
2634Copying and distribution of this file, with or without modification,
2635are permitted in any medium without royalty provided the copyright
2636notice and this notice are preserved.
2637