xref: /netbsd-src/external/gpl3/gcc/dist/libstdc++-v3/ChangeLog (revision 76c7fc5f6b13ed0b1508e6b313e88e59977ed78e)
12019-02-22  Release Manager
2
3	* GCC 8.3.0 released.
4
52019-02-14  Jonathan Wakely  <jwakely@redhat.com>
6
7	PR middle-end/89303
8	* testsuite/20_util/enable_shared_from_this/89303.cc: New test.
9
102019-02-09  Jonathan Wakely  <jwakely@redhat.com>
11
12	Backport from mainline
13	2019-01-08  Jonathan Wakely  <jwakely@redhat.com>
14
15	PR libstdc++/88066
16	* include/bits/locale_conv.h: Use <> for includes not "".
17	* include/ext/random: Likewise.
18	* include/ext/vstring.h: Likewise.
19
202019-02-08  Jonathan Wakely  <jwakely@redhat.com>
21
22	* doc/html/*: Regenerate.
23
24	* src/c++17/fs_ops.cc (absolute(const path&, error_code&)): Do nothing
25	if the path is already absolute.
26	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Pass error_code to current_path.
27
28	Backport from mainline
29	2019-01-11  Jonathan Wakely  <jwakely@redhat.com>
30
31	* include/std/chrono (duration_values::zero(), duration_values::min())
32	(duration_values::max()): Add noexcept.
33	(duration::zero(), duration::min(), duration::max()): Likewise.
34	(time_point::zero(), time_point::min(), time_point::max()): Likewise.
35	* testsuite/20_util/duration/requirements/noexcept.cc: New test.
36	* testsuite/20_util/time_point/requirements/noexcept.cc: New test.
37
382019-02-08  Jonathan Wakely  <jwakely@redhat.com>
39
40	Backport from mainline
41	2019-01-07  Jonathan Wakely  <jwakely@redhat.com>
42
43	PR libstdc++/87787
44	* include/bits/char_traits.h (char_traits::move): Do not pass null
45	pointers to memmove.
46	* include/bits/locale_facets.h
47	(ctype<char>::widen(const char*, const char*, char*)): Do not
48	pass null pointers to memcpy.
49	(ctype<char>::narrow(const char*, const char*, char, char*)):
50	Likewise.
51	(ctype<char>::do_widen(const char*, const char*, char*)):
52	Likewise.
53	(ctype<char>::do_narrow(const char*, const char*, char, char*)):
54	Likewise.
55
562019-02-08  Jonathan Wakely  <jwakely@redhat.com>
57
58	Backport from mainline
59	2018-11-23  Martin Sebor  <msebor@redhat.com>
60		    Jonathan Wakely  <jwakely@redhat.com>
61
62	PR libstdc++/65229
63	* python/libstdcxx/v6/printers.py (StdBitsetPrinter): Handle
64	exception thrown for std::bitset<0>.
65	* testsuite/libstdc++-prettyprinters/simple.cc: Test std::bitset<0>.
66
672019-02-08  Jonathan Wakely  <jwakely@redhat.com>
68
69	Backport from mainline
70	2018-11-23  Jonathan Wakely  <jwakely@redhat.com>
71
72	PR libstdc++/87308 (partial)
73	* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Adjust regex to
74	work around PR 88166.
75
762019-02-08  Jonathan Wakely  <jwakely@redhat.com>
77
78	Backport from mainline
79	2019-02-05  Jonathan Wakely  <jwakely@redhat.com>
80
81	PR libstdc++/89128
82	* include/bits/stl_queue.h (queue, priority_queue): Add deduction
83	guides.
84	* include/bits/stl_stack.h (stack): Likewise.
85	* testsuite/23_containers/priority_queue/deduction.cc: New test.
86	* testsuite/23_containers/queue/deduction.cc: New test.
87	* testsuite/23_containers/stack/deduction.cc: New test.
88
892019-02-08  Jonathan Wakely  <jwakely@redhat.com>
90
91	Backport from mainline
92	2018-11-29  Jonathan Wakely  <jwakely@redhat.com>
93
94	PR libstdc++/88119
95	* include/ext/aligned_buffer.h (__aligned_membuf): Add comment.
96	(__aligned_buffer): Use __alignof__ instead of std::alignment_of.
97	* include/std/type_traits (alignment_of): Use alignof instead of
98	__alignof__.
99	* testsuite/20_util/alignment_of/value.cc: Fix test to check values
100	match alignof not __alignof__, as required by the standard.
101
1022019-02-08  Jonathan Wakely  <jwakely@redhat.com>
103
104	Backport from mainline
105	2018-11-28  Jonathan Wakely  <jwakely@redhat.com>
106
107	PR libstdc++/83511
108	* include/std/string_view (basic_string_view::substr): Add default
109	argument to first parameter.
110	* include/experimental/string_view (basic_string_view::substr):
111	Likewise.
112	* testsuite/21_strings/basic_string_view/operations/substr/char/
113	83511.cc: New test.
114	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
115	83511.cc: New test.
116	* testsuite/experimental/string_view/operations/substr/char/83511.cc:
117	New test.
118	* testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc:
119	New test.
120
121	Backport from mainline
122	2018-11-19  Jonathan Wakely  <jwakely@redhat.com>
123
124	PR libstdc++/88084 - Implement LWG 2777
125	* include/std/string_view (basic_string_view::copy): Use traits to
126	copy.
127	* testsuite/21_strings/basic_string_view/operations/copy/char/2.cc:
128	New test.
129	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc:
130	New test.
131
132	Backport from mainline
133	2018-11-29  Jonathan Wakely  <jwakely@redhat.com>
134
135	PR libstdc++/86910
136	PR libstdc++/87846
137	* src/filesystem/ops.cc (experimental::create_directories): Report
138	an error when the path resolves to an existing non-directory (P1164).
139	* src/filesystem/std-ops.cc (create_directories): Likewise. Handle
140	empty filenames due to trailing slashes.
141	* testsuite/27_io/filesystem/operations/create_directories.cc: Test
142	when some component of the path exists and is not a directory. Test
143	trailing slashes.
144	* testsuite/experimental/filesystem/operations/create_directories.cc:
145	Likewise.
146
147	Backport from mainline
148	2018-11-28  Jonathan Wakely  <jwakely@redhat.com>
149
150	* doc/xml/manual/intro.xml: Document LWG 3096 change.
151	* src/filesystem/std-path.cc (path::lexically_relative(const path&)):
152	Treat a final empty element equivalently to a final dot element.
153	* testsuite/27_io/filesystem/path/generation/relative.cc: Add checks
154	for the examples in the DR.
155
156	Backport from mainline
157	2018-07-20  Jonathan Wakely  <jwakely@redhat.com>
158
159	PR libstdc++/86595
160	* include/bits/fs_dir.h (directory_entry::refresh(error_code&)): Add
161	noexcept.
162
163	Backport from mainline
164	2018-05-21  Jonathan Wakely  <jwakely@redhat.com>
165
166	* src/filesystem/std-ops.cc (absolute): Report an error for empty
167	paths.
168	(weakly_canonical(const path&)): Do not call canonical on empty path.
169	(weakly_canonical(const path&, error_code&)): Likewise.
170	* testsuite/27_io/filesystem/operations/absolute.cc: Check for errors.
171
172	Backport from mainline
173	2019-01-30  Jonathan Wakely  <jwakely@redhat.com>
174
175	PR libstdc++/89117
176	* src/c++17/fs_path.cc (path::replace_extension): Erase extension from
177	final component as well as from _M_pathname.
178	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
179	Add more test cases.
180
1812019-01-21  Jonathan Wakely  <jwakely@redhat.com>
182
183	Backport from mainline
184	2019-01-18  Jonathan Wakely  <jwakely@redhat.com>
185
186	PR libstdc++/87514
187	PR libstdc++/87520
188	PR libstdc++/88782
189	* include/bits/shared_ptr.h
190	(shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...))
191	(allocate_shared): Change to use new tag type.
192	(_Sp_alloc_shared_tag): Define new type.
193	(_Sp_counted_ptr_inplace): Declare __shared_count<_Lp> as a friend.
194	(__shared_count(Ptr, Deleter),__shared_count(Ptr, Deleter, Alloc)):
195	Constrain to prevent being called with _Sp_alloc_shared_tag.
196	(__shared_count(_Sp_make_shared_tag, const _Alloc&, Args&&...)):
197	Replace constructor with ...
198	(__shared_count(Tp*&, _Sp_alloc_shared_tag<_Alloc>, Args&&...)): Use
199	reference parameter so address of the new object can be returned to
200	the caller. Obtain the allocator from the tag type.
201	(__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Replace
202	constructor with ...
203	(__shared_ptr(_Sp_alloc_shared_tag<Alloc>, Args&&...)): Pass _M_ptr
204	to the __shared_count constructor.
205	(__allocate_shared): Change to use new tag type.
206
2072019-01-14  Jonathan Wakely  <jwakely@redhat.com>
208
209	PR libstdc++/80762
210	* testsuite/experimental/filesystem/path/construct/80762.cc: Add
211	dg-require-filesystem-ts directive.
212
2132019-01-10  Jonathan Wakely  <jwakely@redhat.com>
214
215	Backport from mainline
216	2019-01-04  Jonathan Wakely  <jwakely@redhat.com>
217
218	(path::lexically_normal()): Use std::vector iterators instead of
219	path::iterator. Use pop_back to remove components from the end. Clear
220	trailing filename, instead of using erase(const_iterator) to remove
221	a non-final component.
222	* testsuite/27_io/filesystem/path/generation/normal.cc: Test
223	additional cases.
224	* testsuite/27_io/filesystem/path/generation/normal2.cc: New test.
225
2262019-01-10  Jonathan Wakely  <jwakely@redhat.com>
227
228	Backport from mainline
229	2018-12-12  Jonathan Wakely  <jwakely@redhat.com>
230
231	PR libstdc++/80762
232	* include/bits/fs_path.h (path::_Path): Use remove_cv_t and is_void.
233	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
234	* testsuite/27_io/filesystem/path/construct/80762.cc: New test.
235	* testsuite/experimental/filesystem/path/construct/80762.cc: New test.
236
2372019-01-10  Jonathan Wakely  <jwakely@redhat.com>
238
239	Backport from mainline
240	2018-05-23  Jonathan Wakely  <jwakely@redhat.com>
241
242	* include/bits/fs_path.h (path::_M_type): Change default member
243	initializer to _Filename.
244	(path::begin): Create past-the-end iterator for empty path.
245	(path::has_relative_path()): Return false for empty filenames.
246	(path::_M_split_cmpts): Set _M_type to _Filename for empty paths.
247	Fix offset of empty final component.
248	* testsuite/27_io/filesystem/path/itr/components.cc: New.
249	* testsuite/27_io/filesystem/path/itr/traversal.cc: Add new inputs.
250
2512019-01-10  Jonathan Wakely  <jwakely@redhat.com>
252
253	Backport from mainline
254	2019-01-10  Jonathan Wakely  <jwakely@redhat.com>
255
256	* testsuite/util/testsuite_fs.h (nonexistent_path): Include name
257	of the source file containing the caller.
258	* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Remove
259	directories created by test.
260	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
261	Likewise.
262	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
263	Likewise.
264	* testsuite/experimental/filesystem/iterators/
265	recursive_directory_iterator.cc: Likewise.
266
2672019-01-10  Jonathan Wakely  <jwakely@redhat.com>
268
269	Backport from mainline
270	2018-11-27  Jonathan Wakely  <jwakely@redhat.com>
271
272	* testsuite/27_io/filesystem/operations/canonical.cc: Remove
273	directory created by test.
274	* testsuite/27_io/filesystem/operations/symlink_status.cc: Remove
275	symlink created by test.
276
2772019-01-10  Jonathan Wakely  <jwakely@redhat.com>
278
279	* src/filesystem/std-path.cc (path::remove_filename()): Remove debug
280	check that prevents building with -fno-exceptions.
281
2822019-01-09  Jonathan Wakely  <jwakely@redhat.com>
283
284	* testsuite/20_util/optional/cons/value_neg.cc: Change dg-error to
285	dg-prune-output. Remove unused header.
286
287	Backport from mainline
288	2019-01-08  Jonathan Wakely  <jwakely@redhat.com>
289
290	PR libstdc++/87855
291	* include/std/optional (_Optional_payload_base): New class template
292	for common code hoisted from _Optional_payload specializations. Use
293	a template for the union, to allow a partial specialization for
294	types with non-trivial destructors. Add constructors for in-place
295	initialization to the union.
296	(_Optional_payload(bool, const _Optional_payload&)): Use _M_construct
297	to perform non-trivial copy construction, instead of relying on
298	non-standard copy elision in a delegating constructor.
299	(_Optional_payload(bool, _Optional_payload&&)): Likewise for
300	non-trivial move construction.
301	(_Optional_payload): Derive from _Optional_payload_base and use it
302	for everything except the non-trivial assignment operators, which are
303	defined as needed.
304	(_Optional_payload<false, C, M>): Derive from the specialization
305	_Optional_payload<true, false, false> and add a destructor.
306	(_Optional_base_impl::_M_destruct, _Optional_base_impl::_M_reset):
307	Forward to corresponding members of _Optional_payload.
308	(_Optional_base_impl::_M_is_engaged, _Optional_base_impl::_M_get):
309	Hoist common members from _Optional_base.
310	(_Optional_base): Make all members and base class public.
311	(_Optional_base::_M_get, _Optional_base::_M_is_engaged): Move to
312	_Optional_base_impl.
313	* python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Add
314	support for new std::optional layout.
315	* testsuite/libstdc++-prettyprinters/compat.cc: New test.
316
317	Backport from mainline
318	2018-11-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
319
320	PR libstdc++/87855
321	Also implement P0602R4 (variant and optional
322	should propagate copy/move triviality) for std::optional.
323	* include/std/optional (_Optional_payload): Change
324	the main constraints to check constructibility in
325	addition to assignability.
326	(operator=): Make constexpr.
327	(_M_reset): Likewise.
328	(_M_construct): Likewise.
329	(operator->): Likewise.
330	* testsuite/20_util/optional/assignment/8.cc: Adjust.
331	* testsuite/20_util/optional/assignment/9.cc: New.
332
3332018-12-23  Iain Sandoe  <iain@sandoe.co.uk>
334
335	Backport from mainline
336	2018-12-06  Iain Sandoe  <iain@sandoe.co.uk>
337
338	* scripts/make_exports.pl (check names): Don’t try to export
339	construction vtable symbols.
340
3412018-12-22  Iain Sandoe  <iain@sandoe.co.uk>
342
343	Backport from mainline
344	2018-12-06  Jonathan Wakely  <jwakely@redhat.com>
345		    Iain Sandoe  <iain@sandoe.co.uk>
346
347	PR libstdc++/64883
348	* testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't test
349	always_inline on Darwin.
350	* testsuite/17_intro/headers/c++2011/all_attributes.cc: Likewise.
351	* testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
352	* testsuite/17_intro/headers/c++2017/all_attributes.cc: Likewise.
353	* testsuite/17_intro/headers/c++2020/all_attributes.cc: Likewise.
354
3552018-12-06  Iain Sandoe  <iain@sandoe.co.uk>
356
357	Backport from mainline
358	2018-08-25  Iain Sandoe  <iain@sandoe.co.uk>
359
360	PR libstdc++/70694
361	* configure.host (OPT_LDFLAGS): Don't append
362	-fvisibility-inlines-hidden for newer Darwin.
363
3642018-11-28  François Dumont  <fdumont@gcc.gnu.org>
365
366	PR libstdc++/88199
367	* include/bits/hashtable.h
368	(_Hashtable<>::_M_move_assign(_Hashtable&&, false_type)): Deallocate
369	former buckets after assignment.
370	* testsuite/23_containers/unordered_set/allocator/move_assign.cc
371	(test03): New.
372
3732018-11-22  Jonathan Wakely  <jwakely@redhat.com>
374
375	Backport from mainline
376	2018-11-22  Jonathan Wakely  <jwakely@redhat.com>
377
378	PR libstdc++/85930
379	PR libstdc++/87520
380	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti)
381	[__cpp_rtti]: Define even when RTTI is enabled. Use array of
382	sizeof(type_info) so that type-punned reference binds to an object
383	of the correct size as well as correct alignment.
384	(_Sp_counted_ptr_inplace::_M_get_deleter) [__cpp_rtti]: Check for
385	_S_ti() reference even when RTTI is enabled.
386	(__shared_ptr(_Sp_make_shared_tag, const _Alloc&, _Args&&...))
387	[__cpp_rtti]: Pass _S_ti() instead of typeid(_Sp_make_shared_tag).
388
3892018-10-31  Jonathan Wakely  <jwakely@redhat.com>
390
391	Backport from mainline
392	2018-10-31  Jonathan Wakely  <jwakely@redhat.com>
393
394	PR libstdc++/87822
395	* include/bits/stl_pair.h (__pair_base): Change to class template.
396	(pair): Make base class type depend on template parameters.
397	* testsuite/20_util/pair/87822.cc: New test.
398
3992018-10-30  Jonathan Wakely  <jwakely@redhat.com>
400
401	Backport from mainline
402	2018-10-30  Jonathan Wakely  <jwakely@redhat.com>
403
404	PR libstdc++/87809
405	* include/bits/forward_list.h (_Fwd_list_impl::_Fwd_list_impl()): Use
406	trait in exception-specification instead of possibly invalid
407	expression.
408	* include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
409	Likewise.
410	* include/bits/stl_list.h (_List_impl::_List_impl()): Likewise.
411	* testsuite/23_containers/forward_list/cons/87809.cc: New test.
412	* testsuite/23_containers/list/cons/87809.cc: New test.
413	* testsuite/23_containers/vector/bool/cons/87809.cc: New test.
414	* testsuite/23_containers/vector/cons/87809.cc: New test.
415
4162018-10-25  Jonathan Wakely  <jwakely@redhat.com>
417
418	PR libstdc++/87749
419	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
420	(basic_string::operator=(basic_string&&)): For short strings copy the
421	buffer inline. Only fall back to using assign(const basic_string&) to
422	do a deep copy when reallocation is needed.
423	* testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc:
424	New test.
425	* testsuite/21_strings/basic_string/modifiers/assign/char/
426	move_assign_optim.cc: New test.
427	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc:
428	New test.
429	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
430	move_assign_optim.cc: New test.
431
4322018-10-23  Jonathan Wakely  <jwakely@redhat.com>
433
434	PR libstdc++/87704
435	* include/bits/unique_ptr.h (unique_ptr::unique_ptr(nullptr_t)): Do
436	not delegate to default constructor.
437	(unique_ptr<T[], D>::unique_ptr(nullptr_t)): Likewise.
438	* testsuite/20_util/unique_ptr/cons/incomplete.cc: New test.
439
4402018-10-19  Jonathan Wakely  <jwakely@redhat.com>
441
442	* include/bits/regex_executor.tcc (_Backref_matcher::_M_apply): Use
443	_GLIBCXX_STD_A to refer to normal mode algorithms.
444	* testsuite/28_regex/headers/regex/parallel_mode.cc: New test.
445	* testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Remove empty
446	whitespace.
447
4482018-10-18  Jonathan Wakely  <jwakely@redhat.com>
449
450	Backport from mainline
451	2018-10-18  Jonathan Wakely  <jwakely@redhat.com>
452
453	PR libstdc++/87641
454	* include/bits/valarray_array.h (__valarray_sum): Use first element
455	to initialize accumulator instead of value-initializing it.
456	* testsuite/26_numerics/valarray/87641.cc: New test.
457
4582018-10-15  Jonathan Wakely  <jwakely@redhat.com>
459
460	* testsuite/22_locale/numpunct/members/char/3.cc: Adjust test to
461	account for change to glibc it_IT localedata (glibc bz#10797).
462
4632018-10-12  Jonathan Wakely  <jwakely@redhat.com>
464
465	Backport from mainline
466	2018-07-31  Jonathan Wakely  <jwakely@redhat.com>
467
468	PR libstdc++/86751
469	* include/bits/stl_pair.h (__pair_base): New class with deleted copy
470	assignment operator.
471	(pair): Derive from __pair_base.
472	(pair::operator=): Remove deleted overload.
473	* python/libstdcxx/v6/printers.py (StdPairPrinter): New pretty printer
474	so that new base class isn't shown in GDB.
475	* testsuite/20_util/pair/86751.cc: New test.
476	* testsuite/20_util/pair/ref_assign.cc: New test.
477
4782018-10-12  Jonathan Wakely  <jwakely@redhat.com>
479
480	Backport from mainline
481	2018-09-03  Jonathan Wakely  <jwakely@redhat.com>
482
483	PR libstdc++/78595
484	* include/bits/stl_map.h (map::insert(_Pair&&))
485	(map::insert(const_iterator, _Pair&&)): Do emplace instead of insert.
486	* include/bits/stl_multimap.h (multimap::insert(_Pair&&))
487	(multimap::insert(const_iterator, _Pair&&)): Likewise.
488	* include/bits/unordered_map.h (unordered_map::insert(_Pair&&))
489	(unordered_map::insert(const_iterator, _Pair&&))
490	(unordered_multimap::insert(_Pair&&))
491	(unordered_multimap::insert(const_iterator, _Pair&&)): Likewise.
492	* include/std/type_traits (__enable_if_t): Define for C++11.
493	* testsuite/23_containers/map/modifiers/insert/78595.cc: New test.
494	* testsuite/23_containers/multimap/modifiers/insert/78595.cc: New test.
495	* testsuite/23_containers/unordered_map/modifiers/78595.cc: New test.
496	* testsuite/23_containers/unordered_multimap/modifiers/78595.cc: New
497	test.
498
4992018-10-12  Jonathan Wakely  <jwakely@redhat.com>
500
501	Backport from mainline
502	2018-08-30  Jonathan Wakely  <jwakely@redhat.com>
503
504	* include/ext/pointer.h (_Pointer_adapter): Define operators for
505	pointer arithmetic using long long offsets.
506	* testsuite/ext/ext_pointer/1.cc: Test pointer arithmetic using
507	long long values.
508
5092018-10-12  Jonathan Wakely  <jwakely@redhat.com>
510
511	Backport from mainline
512	2018-08-23  Jonathan Wakely  <jwakely@redhat.com>
513
514	* testsuite/21_strings/basic_string/init-list.cc:
515	Require cxx11-abi.
516	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
517	Likewise.
518	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
519	Likewise.
520
521	Backport from mainline
522	2018-08-22  Jonathan Wakely  <jwakely@redhat.com>
523
524	PR libstdc++/87061
525	* include/experimental/regex [!_GLIBCXX_USE_CXX11_ABI]
526	(experimental::pmr::match_results, experimental::pmr::cmatch)
527	(experimental::pmr::smatch, experimental::pmr::wcmatch)
528	(experimental::pmr::wsmatch): Do not declare for gcc4-compatible ABI,
529	because COW strings don't support C++11 allocator model.
530	* include/experimental/string [!_GLIBCXX_USE_CXX11_ABI]
531	(experimental::pmr::basic_string, experimental::pmr::string)
532	(experimental::pmr::u16string, experimental::pmr::u32string)
533	(experimental::pmr::wstring): Likewise.
534
535	Backport from mainline
536	2018-08-15  Jonathan Wakely  <jwakely@redhat.com>
537
538	* include/experimental/regex: Remove begin/end macros for namespace.
539	* include/experimental/string: Likewise.
540	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_deque.cc:
541	New test.
542	* testsuite/experimental/polymorphic_allocator/
543	pmr_typedefs_forward_list.cc: New test.
544	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_list.cc:
545	New test.
546	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_map.cc:
547	New test.
548	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
549	New test.
550	* testsuite/experimental/polymorphic_allocator/
551	pmr_typedefs_multimap.cc: New test.
552	* testsuite/experimental/polymorphic_allocator/
553	pmr_typedefs_multiset.cc: New test.
554	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_set.cc:
555	New test.
556	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
557	New test.
558	* testsuite/experimental/polymorphic_allocator/
559	pmr_typedefs_unordered_map.cc: New test.
560	* testsuite/experimental/polymorphic_allocator/
561	pmr_typedefs_unordered_multimap.cc: New test.
562	* testsuite/experimental/polymorphic_allocator/
563	pmr_typedefs_unordered_multiset.cc: New test.
564	* testsuite/experimental/polymorphic_allocator/
565	pmr_typedefs_unordered_set.cc: New test.
566	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_vector.cc:
567	New test.
568
5692018-10-12  Jonathan Wakely  <jwakely@redhat.com>
570
571	Backport from mainline
572	2018-07-24  Jonathan Wakely  <jwakely@redhat.com>
573
574	PR libstdc++/70966
575	* include/experimental/memory_resource (__get_default_resource): Use
576	placement new to create an object with dynamic storage duration.
577
578	Backport from mainline
579	2018-06-20  Jonathan Wakely  <jwakely@redhat.com>
580
581	PR libstdc++/70966
582	* include/experimental/memory_resource (__resource_adaptor_imp): Add
583	static assertions to enforce requirements on pointer types.
584	(__resource_adaptor_imp::get_allocator()): Add noexcept.
585	(new_delete_resource, null_memory_resource): Return address of an
586	object with dynamic storage duration.
587	(__null_memory_resource): Remove.
588	* testsuite/experimental/memory_resource/70966.cc: New.
589
5902018-10-12  Jonathan Wakely  <jwakely@redhat.com>
591
592	PR libstdc++/77854
593	* doc/xml/manual/status_cxx1998.xml: Document size_type and
594	difference_type for containers.
595	* doc/html/*: Regenerate.
596
5972018-10-08  Joseph Myers  <joseph@codesourcery.com>
598
599	Backport from mainline
600	2018-10-02  Joseph Myers  <joseph@codesourcery.com>
601
602	* testsuite/lib/libstdc++.exp (libstdc++_init): Use
603	-fno-show-column in default cxxflags.
604
6052018-10-08  Jonathan Wakely  <jwakely@redhat.com>
606
607	Backport from mainline
608	2018-10-08  Jonathan Wakely  <jwakely@redhat.com>
609
610	PR libstdc++/87538
611	* include/std/functional (_Not_fn::operator()): Check value of
612	__is_nothrow_invocable as well.
613	* testsuite/20_util/function_objects/not_fn/87538.cc: New test.
614	* testsuite/experimental/functional/87538.cc: New test.
615
6162018-09-11  Jonathan Wakely  <jwakely@redhat.com>
617
618	PR libstdc++/87278
619	* include/bits/shared_ptr.h (make_shared): Use remove_cv instead of
620	remove_const.
621	* testsuite/20_util/shared_ptr/creation/87278.cc: New test.
622
6232018-08-28  Jonathan Wakely  <jwakely@redhat.com>
624
625	PR libstdc++/87116
626	* src/filesystem/std-path.cc (path::lexically_normal): When handling
627	a dot-dot filename, preserve an empty final component in the iteration
628	sequence.
629	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use preferred-separator for
630	root-directory.
631	* testsuite/27_io/filesystem/path/generation/normal.cc: Add new tests
632	for more than two adjacent dot-dot filenames.
633	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Replace slashes with
634	preferred-separator in expected normalized strings.
635
6362018-08-13  Jonathan Wakely  <jwakely@redhat.com>
637
638	Revert
639	2018-08-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
640
641	PR target/85904
642	* configure.ac: Define HAVE_ALIGNED_ALLOC if building for
643	Newlib.
644	* configure: Regenerate.
645
6462018-08-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
647
648	Backport from mainline
649	2018-08-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
650
651	PR target/85904
652	* configure.ac: Define HAVE_ALIGNED_ALLOC if building for
653	Newlib.
654	* configure: Regenerate.
655
6562018-08-08  Jonathan Wakely  <jwakely@redhat.com>
657
658	* libsupc++/new_opa.cc (aligned_alloc): Declare inside namespace to
659	avoid clashing with an ::aligned_alloc function that was not detected
660	by configure.
661
662	PR libstdc++/86597
663	* include/bits/fs_dir.h (directory_entry::_M_file_type(error_code&)):
664	Clear error_code when cached type is used.
665	* testsuite/27_io/filesystem/directory_entry/86597.cc: New test.
666
667	* doc/xml/manual/using.xml: Remove C++2a headers not on gcc-8-branch.
668	* doc/html/*: Regenerate.
669
670	* doc/xml/manual/using.xml: Add missing header to table and fix typo.
671	Remove C++17 headers not present on gcc-8-branch.
672	* doc/html/*: Regenerate.
673
6742018-08-07  Jonathan Wakely  <jwakely@redhat.com>
675
676	Backport from mainline
677	2018-07-31  Jonathan Wakely  <jwakely@redhat.com>
678
679	* doc/xml/manual/test.xml: Improve documentation on writing tests for
680	newer standards.
681	* doc/xml/manual/using.xml: Document all headers for C++11 and later.
682	* doc/html/*: Regenerate.
683
684	Backport from mainline
685	2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
686
687	PR libstdc++/84535
688	* include/std/thread (thread::__not_same): New SFINAE helper.
689	(thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
690	first argument is not a std::thread. Add static assertion to check
691	INVOKE expression is valid.
692	(thread::thread(thread&), thread::thread(const thread&&)): Remove.
693	* testsuite/30_threads/thread/cons/84535.cc: New.
694
695	Backport from mainline
696	2018-08-03  Jonathan Wakely  <jwakely@redhat.com>
697
698	* src/c++11/system_error.cc
699	(system_error_category::default_error_condition): Add workaround for
700	ENOTEMPTY and EEXIST having the same value on AIX.
701	* testsuite/19_diagnostics/error_category/system_category.cc: Add
702	extra testcases for EDOM, EILSEQ, ERANGE, EEXIST and ENOTEMPTY.
703
704	Backport from mainline
705	2018-08-01  Jonathan Wakely  <jwakely@redhat.com>
706
707	PR libstdc++/60555
708	* src/c++11/system_error.cc
709	(system_error_category::default_error_condition): New override to
710	check for POSIX errno values.
711	* testsuite/19_diagnostics/error_category/generic_category.cc: New
712	* testsuite/19_diagnostics/error_category/system_category.cc: New
713	test.
714
715	Backport from mainline
716	2018-08-07  Jonathan Wakely  <jwakely@redhat.com>
717
718	PR libstdc++/86874
719	* include/std/variant (_Copy_ctor_base::_M_destructive_move): Define
720	here instead of in _Move_assign_base.
721	(_Copy_ctor_base<true, _Types...>::_M_destructive_move): Define.
722	(_Copy_assign_base::operator=): Use _M_destructive_move when changing
723	the contained value to another alternative.
724	(_Move_assign_base::operator=): Likewise.
725	(_Move_assign_base::_M_destructive_move): Remove.
726	* testsuite/20_util/variant/86874.cc: New test.
727
728	Backport from mainline
729	2018-08-07  Jonathan Wakely  <jwakely@redhat.com>
730
731	PR libstdc++/86861
732	* libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc):
733	Replace macro with inline function.
734	[__sun]: Increase alignment to meet memalign precondition.
735	[!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN]
736	(aligned_alloc): Move check for valid alignment to operator new.
737	Remove redundant check for non-zero size, it's enforced by the caller.
738	(operator new): Move check for valid alignment here. Use
739	__builtin_expect on check for zero size.
740
7412018-07-31  Jonathan Wakely  <jwakely@redhat.com>
742
743	Backport from mainline
744	2018-07-30  Jonathan Wakely  <jwakely@redhat.com>
745
746	* libsupc++/new_opa.cc (operator new(size_t, align_val_t)): Add
747	workaround for aligned_alloc bug on AIX.
748	* testsuite/18_support/new_aligned.cc: New test.
749
750	Backport from mainline
751	2018-07-20  Fangrui Song  <maskray@google.com>
752
753	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Use
754	_GLIBCXX_VISIBILITY(default).
755
756	Backport from mainline
757	2018-07-30  Jonathan Wakely  <jwakely@redhat.com>
758
759	PR libstdc++/86734
760	* include/bits/stl_iterator.h (reverse_iterator::operator->): Use
761	addressof (LWG 2188).
762	* testsuite/24_iterators/reverse_iterator/dr2188.cc: New test.
763
764	Backport from mainline
765	2018-05-08  Jonathan Wakely  <jwakely@redhat.com>
766
767	PR libstdc++/85672
768	* include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
769	to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
770	* include/Makefile.in: Regenerate.
771	* include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
772	within conditional block.
773
774	Backport from mainline
775	2018-05-01  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
776
777	PR libstdc++/84654
778	* acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
779	* config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
780	* configure: Regenerate.
781	* include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
782	based on ENABLE_FLOAT128.
783	* include/Makefile.in: Regenerate.
784	* include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
785	[!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
786	_GLIBCXX_USE_FLOAT128.
787
7882018-07-26  Marek Polacek  <polacek@redhat.com>
789
790	* testsuite/30_threads/condition_variable_any/cond.cc: New.
791
7922018-07-26  Release Manager
793
794	* GCC 8.2.0 released.
795
7962018-07-18  Jonathan Wakely  <jwakely@redhat.com>
797
798	Backport from mainline
799	2018-07-05  Jonathan Wakely  <jwakely@redhat.com>
800
801	* testsuite/21_strings/basic_string/cons/char/deduction.cc: XFAIL for
802	COW strings.
803	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
804	Likewise.
805
806	Backport from mainline
807	2018-07-04  Jonathan Wakely  <jwakely@redhat.com>
808
809	* testsuite/25_algorithms/make_heap/complexity.cc: Require effective
810	target for std::random_device.
811	* testsuite/26_numerics/random/random_device/cons/default.cc:
812	Likewise.
813	* testsuite/experimental/algorithm/sample-2.cc: Likewise.
814	* testsuite/experimental/algorithm/shuffle.cc: Likewise.
815	* testsuite/experimental/random/randint.cc: Likewise.
816	* testsuite/lib/libstdc++.exp
817	(check_effective_target_random_device): New proc.
818
819	Backport from mainline
820	2018-06-26  David Edelsohn  <dje.gcc@gmail.com>
821
822	* testsuite/experimental/algorithm/sample-2.cc: Add TLS DejaGNU
823	directives.
824	* testsuite/experimental/algorithm/shuffle.cc: Likewise.
825
826	Backport from mainline
827	2018-06-25  Jonathan Wakely  <jwakely@redhat.com>
828
829	* include/experimental/algorithm (sample, shuffle): Add new overloads
830	using per-thread random number engine.
831	* testsuite/experimental/algorithm/sample.cc: Simpify and reduce
832	dependencies by using __gnu_test::test_container.
833	* testsuite/experimental/algorithm/sample-2.cc: New.
834	* testsuite/experimental/algorithm/shuffle.cc: New.
835
8362018-07-16  Andreas Krebbel  <krebbel@linux.ibm.com>
837
838	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
839	* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
840	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
841
8422018-07-05  François Dumont  <fdumont@gcc.gnu.org>
843
844	Backport from mainline
845	2018-07-04  François Dumont  <fdumont@gcc.gnu.org>
846
847	PR libstdc++/86272
848	* include/debug/string
849	(__gnu_debug::basic_string<>::insert<_Ite>(const_iterator, _Ite, _Ite)):
850	Use __glibcxx_check_insert_range.
851
8522018-07-04  Jonathan Wakely  <jwakely@redhat.com>
853
854	Backport from mainline
855	2018-05-19  Jonathan Wakely  <jwakely@redhat.com>
856
857	* src/c++11/codecvt.cc (__codecvt_utf8_base<wchar_t>::do_in)
858	[__SIZEOF_WCHAR_T__==2 && __BYTE_ORDER__!=__ORDER_BIG_ENDIAN__]: Set
859	little_endian element in bitmask.
860	* testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests.
861	* testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New.
862
863	Backport from mainline
864	2018-07-03  Jonathan Wakely  <jwakely@redhat.com>
865
866	* include/bits/alloc_traits.h: Remove redundant preprocessor
867	condition.
868
869	Backport from mainline
870	2018-06-27  Jonathan Wakely  <jwakely@redhat.com>
871
872	* include/bits/cpp_type_traits.h [__cplusplus >= 201703]
873	(__is_byte<byte>): Define specialization for std::byte.
874
875	Backport from mainline
876	2018-06-18  Jonathan Wakely  <jwakely@redhat.com>
877
878	LWG 3050 Fix cv-qualification of convertibility constraints
879	* include/std/chrono (duration, operator*, operator/, operator%): Use
880	const-qualified type as source type in is_convertible constraints.
881	* testsuite/20_util/duration/arithmetic/dr3050.cc: New.
882	* testsuite/20_util/duration/cons/dr3050.cc: New.
883	* testsuite/20_util/duration/literals/range.cc: Rename to...
884	* testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust
885	dg-error lineno.
886
887	Backport from mainline
888	2018-06-13  Jonathan Wakely  <jwakely@redhat.com>
889
890	PR libstdc++/86127
891	* include/bits/forward_list.h (_Fwd_list_base::_Tp_alloc_type): Remove
892	unused typedef.
893	(_Fwd_list_base::_M_create_node, _Fwd_list_base::_M_erase_after):
894	Use node allocator to create and destroy elements.
895	(forward_list::_Tp_alloc_type): Remove unused typedef.
896	(forward_list::_Alloc_traits): Use allocator_traits instead of
897	__gnu_cxx::__alloc_traits.
898
899	Backport from mainline
900	2018-05-29  Jonathan Wakely  <jwakely@redhat.com>
901
902	* include/std/variant (__erased_dtor): Qualify call to __get.
903
904	Backport from mainline
905	2018-05-15  Jonathan Wakely  <jwakely@redhat.com>
906
907	* include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
908	__invoke to prevent ADL.
909
910	Backport from mainline
911	2018-05-24  Maya Rashish  <coypu@sdf.org>
912
913	PR target/85904
914	* crossconfig.m4: Test for aligned_alloc on netbsd.
915	* configure: Regenerate.
916
917	Backport from mainline
918	2018-05-18  Jonathan Wakely  <jwakely@redhat.com>
919
920	PR libstdc++/85098
921	* include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
922	(basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
923	(basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
924	(basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
925	definitions.
926	* include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
927	whitespace.
928	* include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
929	braces around body of do-while.
930	* testsuite/28_regex/basic_regex/85098.cc: New
931
932	Backport from mainline
933	2018-05-07  Jonathan Wakely  <jwakely@redhat.com>
934
935	PR libstdc++/85671
936	* include/bits/fs_path.h (operator/): Permit copy elision.
937	* include/experimental/bits/fs_path.h (operator/): Likewise.
938
939	Backport from mainline
940	2018-06-14  Daniel Trebbien <dtrebbien@gmail.com>
941		    Jonathan Wakely  <jwakely@redhat.com>
942
943	PR libstdc++/83982
944	* include/bits/vector.tcc (vector::_M_default_append(size_type)):
945	Default-construct new elements before moving existing ones.
946	* testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc:
947	New.
948
949	Backport from mainline
950	2018-06-25  Jonathan Wakely  <jwakely@redhat.com>
951
952	PR libstdc++/86292
953	* include/bits/stl_vector.h (vector::_M_range_initialize<InputIter>):
954	Add try-catch block.
955	* testsuite/23_containers/vector/cons/86292.cc: New.
956
957	Backport from mainline
958	2018-06-27  Jonathan Wakely  <jwakely@redhat.com>
959
960	PR libstdc++/86138
961	* include/bits/basic_string.tcc: [_GLIBCXX_EXTERN_TEMPLATE < 0]
962	Declare explicit instantiations of COW empty reps and I/O functions.
963
964	Backport from mainline
965	2018-06-16  Jonathan Wakely  <jwakely@redhat.com>
966
967	LWG 3076 basic_string CTAD ambiguity
968	* doc/xml/manual/intro.xml: Document LWG 3076 change.
969	* include/bits/basic_string.h
970	[__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
971	(basic_string(const _CharT*, const _Alloc&)): Turn into a function
972	template constrained by _RequireAllocator.
973	(basic_string(size_type, _CharT, const _Alloc&)): Likewise.
974	* src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS):
975	Define.
976	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
977	deduction
978	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
979	Likewise.
980
981	Backport from mainline
982	2018-06-14  Jonathan Wakely  <jwakely@redhat.com>
983
984	LWG 3075 basic_string needs deduction guides from basic_string_view
985	* include/bits/basic_string.h: Add deduction guides from string_view.
986	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
987	deduction from string views.
988	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
989	Likewise.
990
991	Backport from mainline
992	2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
993
994	PR libstdc++/84087 LWG DR 2268 basic_string default arguments
995	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
996	(append(const basic_string&, size_type, size_type)
997	(assign(const basic_string&, size_type, size_type)
998	(insert(size_type, const basic_string&, size_type, size_type)
999	(replace(size_type,size_type,const basic_string&,size_type,size_type)
1000	(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
1001	Add default arguments (LWG 2268).
1002	[_GLIBCXX_USE_CXX11_ABI=0]
1003	(append(const basic_string&, size_type, size_type)
1004	(assign(const basic_string&, size_type, size_type)
1005	(insert(size_type, const basic_string&, size_type, size_type)
1006	(replace(size_type,size_type,const basic_string&,size_type,size_type)
1007	(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
1008	Likewise.
1009	* testsuite/21_strings/basic_string/dr2268.cc: New test.
1010
1011	PR libstdc++/86398
1012	* include/std/type_traits (is_trivially_constructible): Check
1013	is_constructible before __is_trivially_constructible.
1014	* testsuite/20_util/is_trivially_constructible/value.cc: Add more
1015	tests, including negative cases.
1016	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Use
1017	zero for dg-error lineno.
1018	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1019	Likewise.
1020
10212018-06-25  Jonathan Wakely  <jwakely@redhat.com>
1022
1023	PR libstdc++/86112
1024	* python/libstdcxx/v6/printers.py (add_one_template_type_printer):
1025	Replace dict comprehension.
1026
10272018-06-25  Jonathan Wakely  <jwakely@redhat.com>
1028
1029	PR libstdc++/81092
1030	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1031
10322018-06-22  Jonathan Wakely  <jwakely@redhat.com>
1033
1034	Backport from mainline
1035	2018-06-22  Jonathan Wakely  <jwakely@redhat.com>
1036
1037	PR libstdc++/86138
1038	* include/bits/basic_string.tcc:
1039	[__cplusplus > 201402 && !_GLIBCXX_USE_CXX11_ABI]
1040	(basic_string<char>::_Rep::_S_empty_rep_storage)
1041	(basic_string<wchar_t>::_Rep::_S_empty_rep_storage): Add explicit
1042	instantiation declarations.
1043	[__cplusplus > 201402] (operator>>, operator<<, getline): Re-enable
1044	explicit instantiation declarations.
1045	* testsuite/21_strings/basic_string/cons/char/86138.cc: New.
1046	* testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: New.
1047
10482018-06-21  Jonathan Wakely  <jwakely@redhat.com>
1049
1050	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1051
10522018-06-19  Jonathan Wakely  <jwakely@redhat.com>
1053
1054	* include/std/utility: Remove unused <exception> header.
1055
10562018-06-19  Jonathan Wakely  <jwakely@redhat.com>
1057
1058	Backport from mainline
1059	2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
1060
1061	PR libstdc++/82644
1062	* include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
1063	inline definitions instead of using-declarations.
1064	[__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
1065	* testsuite/tr1/5_numerical_facilities/special_functions/
1066	07_conf_hyperg/compile_cxx17.cc: New.
1067	* testsuite/tr1/5_numerical_facilities/special_functions/
1068	17_hyperg/compile_cxx17.cc: New.
1069
10702018-06-15  Jonathan Wakely  <jwakely@redhat.com>
1071
1072	PR libstdc++/86169
1073	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
1074	(basic_string::data()): Unshare string.
1075	* testsuite/21_strings/basic_string/operations/data/char/86169.cc:
1076	New.
1077
10782018-06-15  Jonathan Wakely  <jwakely@redhat.com>
1079
1080	* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
1081	define for C++17 and above.
1082
10832018-06-06  Jonathan Wakely  <jwakely@redhat.com>
1084
1085	PR libstdc++/86008
1086	* include/bits/quoted_string.h (_Quoted_string<basic_string_view, C>):
1087	Define new partial specialization.
1088	* include/std/iomanip (quoted(basic_string_view<C,T>, C, C)): Define
1089	new overload.
1090	(operator<<(basic_ostream<C,T>&, const _Quoted_string<S,C>&)): Use
1091	value not reference for iteration.
1092	* testsuite/27_io/manipulators/standard/char/quoted.cc: Adjust
1093	comment.
1094	* testsuite/27_io/manipulators/standard/char/quoted_sv.cc: New test.
1095	* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Adjust
1096	comment.
1097
10982018-06-05  Jonathan Wakely  <jwakely@redhat.com>
1099
1100	* include/std/type_traits: Fix comment typo.
1101
11022018-06-04  Jonathan Wakely  <jwakely@redhat.com>
1103
1104	PR libstdc++/85930
1105	* include/bits/shared_ptr_base.h [!__cpp_rtti]: Include <typeinfo>
1106	unconditionally. Remove redundant declaration.
1107	[!__cpp_rtti] (_Sp_make_shared_tag::_S_ti): Align the static variable
1108	correctly.
1109
11102018-05-31  Jonathan Wakely  <jwakely@redhat.com>
1111
1112	PR libstdc++/85951
1113	* include/std/type_traits [_GLIBCXX_USE_C99_STDINT_TR1]: Do not define
1114	uint_least16_t and uint_least32_t.
1115	(__make_unsigned<wchar_t>): Define unconditionally.
1116	(__make_unsigned<char16_t>, __make_unsigned<char32_t>): Define.
1117	(__make_signed<wchar_t>, __make_signed<char16_t>)
1118	(__make_signed<char32_t>)): Define unconditionally.
1119	* testsuite/20_util/make_signed/requirements/typedefs-3.cc: Check
1120	wchar_t, char16_t and char32_t are transformed correctly.
1121	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1122	dg-error lineno.
1123	* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: Check
1124	wchar_t, char16_t and char32_t are transformed correctly.
1125	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
1126	dg-error lineno.
1127
11282018-05-21  François Dumont  <fdumont@gcc.gnu.org>
1129
1130	* include/debug/map.h
1131	(map(map&&, const_allocator_type&)): Add noexcept qualitication.
1132	* include/debug/multimap.h
1133	(multimap(multimap&&, const_allocator_type&)): Likewise.
1134	* include/debug/set.h
1135	(set(set&&, const_allocator_type&)): Likewise.
1136	* include/debug/multiset.h
1137	(multiset(multiset&&, const_allocator_type&)): Likewise.
1138
11392018-05-21  Jonathan Wakely  <jwakely@redhat.com>
1140
1141	PR libstdc++/85818
1142	* testsuite/experimental/filesystem/path/preferred_separator.cc: Add
1143	dg-require-filesystem-ts.
1144
11452018-05-17  Jonathan Wakely  <jwakely@redhat.com>
1146
1147	PR libstdc++/85818
1148	* src/filesystem/path.cc (path::preferred_separator): Add used
1149	attribute.
1150	* testsuite/experimental/filesystem/path/preferred_separator.cc: New.
1151
1152	PR libstdc++/85812
1153	* libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
1154	* libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
1155	Refactor to separate non-throwing and throwing implementations.
1156	[__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
1157	if constructing the object throws.
1158
11592018-05-15  Jonathan Wakely  <jwakely@redhat.com>
1160
1161	PR libstdc++/83891
1162	* include/bits/fs_path.h (path::is_absolute()): Use same definition
1163	for all operating systems.
1164	* include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
1165	* testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
1166	* testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
1167	* testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
1168
1169	* testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
1170	unused <vector> header.
1171	* testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
1172	* testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
1173	* testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
1174	* testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
1175	* testsuite/27_io/filesystem/path/query/has_relative_path.cc:
1176	Likewise.
1177	* testsuite/27_io/filesystem/path/query/has_root_directory.cc:
1178	Likewise.
1179	* testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
1180	* testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
1181	* testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
1182	* testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
1183	* testsuite/experimental/filesystem/path/decompose/extension.cc:
1184	Likewise.
1185	* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
1186	* testsuite/experimental/filesystem/path/query/has_extension.cc:
1187	Likewise.
1188	* testsuite/experimental/filesystem/path/query/has_filename.cc:
1189	Likewise.
1190	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
1191	Likewise.
1192	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
1193	Likewise.
1194	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
1195	Likewise.
1196	* testsuite/experimental/filesystem/path/query/has_root_name.cc:
1197	Likewise.
1198	* testsuite/experimental/filesystem/path/query/has_root_path.cc:
1199	Likewise.
1200	* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
1201	* testsuite/experimental/filesystem/path/query/is_relative.cc:
1202	Likewise.
1203
1204	PR libstdc++/84159
1205	* include/bits/fs_path.h (path::operator/=, path::append): Construct
1206	temporary path before calling _M_append.
1207	(path::_M_append): Change parameter to path and implement C++17
1208	semantics.
1209	* testsuite/27_io/filesystem/path/append/path.cc: Add helper function
1210	and more examples from the standard.
1211	* testsuite/27_io/filesystem/path/append/source.cc: New.
1212	* testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
1213	* testsuite/27_io/filesystem/path/nonmember/append.cc: New.
1214
12152018-05-14  Jonathan Wakely  <jwakely@redhat.com>
1216
1217	PR libstdc++/67554
1218	* include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
1219	(_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
1220
1221	PR libstdc++/82966
1222	* include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
1223	instead of type.
1224	* testsuite/23_containers/set/modifiers/node_swap.cc: New.
1225
12262018-05-10  Jonathan Wakely  <jwakely@redhat.com>
1227
1228	* doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
1229	* doc/xml/manual/debug_mode.xml: Add array and forward_list to list
1230	of C++11 containers with Debug Mode support.
1231	* doc/xml/manual/using.xml: Document that the C++17 Filesystem
1232	implementation also needs -lstdc++fs. Document Dual ABI for
1233	ios_base::failure.
1234	* doc/html/*: Regenerate.
1235
12362018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
1237
1238	Backport from mainline
1239	2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
1240
1241	Moar PR libstdc++/80506
1242	* include/bits/random.tcc (gamma_distribution::__generate_impl()):
1243	Fix magic number used in loop condition.
1244
12452018-05-04  Jonathan Wakely  <jwakely@redhat.com>
1246
1247	PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
1248	* include/std/optional (_Optional_payload): Add noexcept to default
1249	constructor. Re-indent.
1250	(_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
1251	constructor for copying disengaged payloads.
1252	(_Optional_payload<_Tp, true, false, true>): Likewise.
1253	(_Optional_payload<_Tp, true, true, false>): Likewise.
1254	(_Optional_payload<_Tp, true, false, false>): Likewise.
1255	* testsuite/20_util/optional/cons/85642.cc: New.
1256	* testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
1257
12582018-05-03  Jonathan Wakely  <jwakely@redhat.com>
1259
1260	PR libstdc++/84769
1261	* include/std/variant (visit): Qualify std::get call.
1262
12632018-05-03  Jonathan Wakely  <jwakely@redhat.com>
1264
1265	PR libstdc++/85632 use uintmax_t for arithmetic
1266	* src/filesystem/ops.cc (experimental::filesystem::space): Perform
1267	arithmetic in result type.
1268	* src/filesystem/std-ops.cc (filesystem::space): Likewise.
1269	* testsuite/27_io/filesystem/operations/space.cc: Check total capacity
1270	is greater than free space.
1271	* testsuite/experimental/filesystem/operations/space.cc: New.
1272
12732018-05-02  Release Manager
1274
1275	* GCC 8.1.0 released.
1276
12772018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
1278
1279	* configure: Regenerated.
1280
12812018-04-19  Jakub Jelinek  <jakub@redhat.com>
1282
1283	* configure: Regenerated.
1284
12852018-04-18  Jonathan Wakely  <jwakely@redhat.com>
1286	    Jakub Jelinek  <jakub@redhat.com>
1287
1288	PR libstdc++/85442
1289	* src/c++11/Makefile.am: Don't generate debuginfo again for
1290	cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
1291	* src/c++11/Makefile.in: Regenerate.
1292
12932018-04-18  Jonathan Wakely  <jwakely@redhat.com>
1294
1295	PR libstdc++/84442
1296	* testsuite/30_threads/thread/cons/terminate.cc
1297	[!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
1298
12992018-04-18  David Malcolm  <dmalcolm@redhat.com>
1300
1301	PR jit/85384
1302	* configure: Regenerate.
1303
13042018-04-16  Jonathan Wakely  <jwakely@redhat.com>
1305
1306	* testsuite/experimental/filesystem/file_status/1.cc: Add
1307	-DUSE_FILESYSTEM_TS to dg-options.
1308	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1309	Likewise.
1310	* testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
1311	* testsuite/experimental/filesystem/iterators/
1312	recursive_directory_iterator.cc: Likewise.
1313	* testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
1314	* testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
1315	* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
1316	* testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
1317	* testsuite/experimental/filesystem/operations/create_directories.cc:
1318	Likewise.
1319	* testsuite/experimental/filesystem/operations/create_directory.cc:
1320	Likewise.
1321	* testsuite/experimental/filesystem/operations/create_symlink.cc:
1322	Likewise.
1323	* testsuite/experimental/filesystem/operations/current_path.cc:
1324	Likewise.
1325	* testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
1326	* testsuite/experimental/filesystem/operations/exists.cc: Likewise.
1327	* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
1328	* testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
1329	* testsuite/experimental/filesystem/operations/last_write_time.cc:
1330	Likewise.
1331	* testsuite/experimental/filesystem/operations/permissions.cc:
1332	Likewise.
1333	* testsuite/experimental/filesystem/operations/read_symlink.cc:
1334	Likewise.
1335	* testsuite/experimental/filesystem/operations/remove.cc: Likewise.
1336	* testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
1337	* testsuite/experimental/filesystem/operations/status.cc: Likewise.
1338	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
1339	Likewise.
1340	* testsuite/experimental/filesystem/path/append/path.cc: Likewise.
1341	* testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
1342	* testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
1343	* testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
1344	* testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
1345	* testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
1346	* testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
1347	* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
1348	* testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
1349	* testsuite/experimental/filesystem/path/construct/default.cc:
1350	Likewise.
1351	* testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
1352	* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
1353	* testsuite/experimental/filesystem/path/construct/string_view.cc:
1354	Likewise.
1355	* testsuite/experimental/filesystem/path/decompose/extension.cc:
1356	Likewise.
1357	* testsuite/experimental/filesystem/path/decompose/filename.cc:
1358	Likewise.
1359	* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
1360	Likewise.
1361	* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
1362	Likewise.
1363	* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
1364	Likewise.
1365	* testsuite/experimental/filesystem/path/decompose/root_name.cc:
1366	Likewise.
1367	* testsuite/experimental/filesystem/path/decompose/root_path.cc:
1368	Likewise.
1369	* testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
1370	* testsuite/experimental/filesystem/path/generic/generic_string.cc:
1371	Likewise.
1372	* testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
1373	* testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
1374	* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
1375	Likewise.
1376	* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
1377	Likewise.
1378	* testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
1379	Likewise.
1380	* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
1381	Likewise.
1382	* testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
1383	* testsuite/experimental/filesystem/path/native/string.cc: Likewise.
1384	* testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
1385	Likewise.
1386	* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
1387	* testsuite/experimental/filesystem/path/query/has_extension.cc:
1388	Likewise.
1389	* testsuite/experimental/filesystem/path/query/has_filename.cc:
1390	Likewise.
1391	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
1392	Likewise.
1393	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
1394	Likewise.
1395	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
1396	Likewise.
1397	* testsuite/experimental/filesystem/path/query/has_root_name.cc:
1398	Likewise.
1399	* testsuite/experimental/filesystem/path/query/has_root_path.cc:
1400	Likewise.
1401	* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
1402	* testsuite/experimental/filesystem/path/query/is_relative.cc:
1403	Likewise.
1404
14052018-04-13  Jonathan Wakely  <jwakely@redhat.com>
1406
1407	* src/c++11/Makefile.am: Fix sed command.
1408	* src/c++11/Makefile.in: Regenerate.
1409
1410	* src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
1411	handle mangled names starting with double underscores on darwin.
1412	* src/c++11/Makefile.in: Regenerate.
1413
14142018-04-12  Jonathan Wakely  <jwakely@redhat.com>
1415
1416	* src/c++11/Makefile.am: Fix comment.
1417	* src/c++11/Makefile.in: Regenerate.
1418	* src/c++11/cxx11-ios_failure.cc: Fix comment.
1419	* src/c++98/ios_failure.cc: Likewise.
1420
1421	* src/c++11/ios.cc: Remove redundant macro definition.
1422
14232018-04-11  Jonathan Wakely  <jwakely@redhat.com>
1424
1425	* doc/xml/manual/abi.xml: Document header locations in recent
1426	releases.
1427	* doc/xml/manual/evolution.xml: Add API changes since GCC 5.
1428	* doc/xml/manual/spine.xml: Update copyright years.
1429	* doc/xml/manual/strings.xml: Adjust tolower example to avoid
1430	undefined behaviour.
1431	* doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
1432	* doc/html/*: Regenerate.
1433
14342018-04-10  Jonathan Wakely  <jwakely@redhat.com>
1435
1436	* doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
1437	* doc/xml/manual/backwards_compatibility.xml: Likewise.
1438	* doc/xml/manual/containers.xml: Likewise.
1439	* doc/xml/manual/debug_mode.xml: Likewise.
1440	* doc/xml/manual/extensions.xml: Likewise.
1441	* doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
1442	* doc/xml/manual/using.xml: Likewise.
1443	* doc/xml/manual/utilities.xml: Likewise.
1444
1445	PR libstdc++/85222
1446	* src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
1447	cxx11-ios_failure.cc to rewrite type info for __ios_failure.
1448	* src/c++11/Makefile.in: Regenerate.
1449	* src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
1450	New types.
1451	[_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
1452	* src/c++11/ios.cc (__throw_ios_failure): Remove definition.
1453	* src/c++98/ios_failure.cc (__construct_ios_failure)
1454	(__destroy_ios_failure, is_ios_failure_handler): New functions.
1455	[!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
1456	* testsuite/27_io/ios_base/failure/dual_abi.cc: New.
1457	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
1458	handler types, to always catch std::ios_base::failure.
1459	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1460	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
1461	exceptions_failbit.cc: Likewise.
1462	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1463	exceptions_failbit.cc: Likewise.
1464	* testsuite/27_io/basic_istream/extractors_other/char/
1465	exceptions_null.cc: Likewise.
1466	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
1467	exceptions_null.cc: Likewise.
1468	* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
1469	* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
1470	* testsuite/27_io/basic_ostream/inserters_other/char/
1471	exceptions_null.cc: Likewise.
1472	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1473	exceptions_null.cc: Likewise.
1474	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
1475
14762018-04-05  Jonathan Wakely  <jwakely@redhat.com>
1477
1478	* include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
1479	__get calls to avoid ADL and avoid ambiguity due to Clang bug.
1480
14812018-04-03  Jonathan Wakely  <jwakely@redhat.com>
1482
1483	PR libstdc++/85183
1484	* include/std/variant (_Move_assign_base::operator=): Fix incorrect
1485	value categories.
1486	* testsuite/20_util/variant/85183.cc: New.
1487
14882018-03-26  Jonathan Wakely  <jwakely@redhat.com>
1489
1490	* include/std/variant (__get): Qualify calls to avoid ADL.
1491	(__select_index): Adjust whitespace.
1492	(variant): Add using-declaration to workaround Clang bug.
1493
14942018-03-22  Jonathan Wakely  <jwakely@redhat.com>
1495
1496	PR libstdc++/85040
1497	* include/bits/stl_function.h (greater::__not_overloaded)
1498	(less::__not_overloaded, greater_equal::__not_overloaded)
1499	(less_equal::__not_overloaded): Fix ambiguous specializations.
1500	* testsuite/20_util/function_objects/comparisons_pointer.cc: Add
1501	tests for type with overloaded operators.
1502
15032018-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1504
1505	PR libstdc++/77691
1506	* testsuite/experimental/memory_resource/resource_adaptor.cc:
1507	xfail execution on 32-bit Solaris/x86.
1508
15092018-03-21  Jonathan Wakely  <jwakely@redhat.com>
1510
1511	* testsuite/20_util/function_objects/comparisons_pointer.cc: Use
1512	VERIFY instead of assert.
1513	* testsuite/20_util/hash/84998.cc: New test.
1514	* testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
1515	copy of test adjusted for Debug Mode.
1516	* testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
1517	test in Debug Mode.
1518
15192018-03-20  François Dumont  <fdumont@gcc.gnu.org>
1520
1521	PR libstdc++/84998
1522	* include/bits/stl_bvector.h: Fix std::hash friend declaration.
1523	* include/std/bitset: Likewise.
1524	* include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
1525	declaration.
1526	* include/bits/stl_multimap.h (std::multimap<>): Likewise.
1527	* include/bits/stl_multiset.h (std::multiset<>): Likewise.
1528	* include/bits/stl_set.h (std::set<>): Likewise.
1529	* include/bits/unordered_map.h (std::unordered_map<>): Fix
1530	_Hash_merge_helper friend declaration.
1531	(std::unordered_multimap<>): Likewise.
1532	* include/bits/unordered_set.h (std::unordered_set<>): Likewise.
1533	(std::unordered_multiset<>): Likewise.
1534
15352018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
1536
1537	* doc/xml/api.xml: www.fsf.org has moved to https. Also omit
1538	trailing slash for domain level link.
1539	* doc/xml/faq.xml: Ditto.
1540	* doc/xml/manual/appendix_free.xml (software): Ditto.
1541	* doc/xml/manual/intro.xml: Ditto.
1542	* doc/xml/manual/spine.xml: Ditto.
1543	* doc/xml/spine.xml: Ditto.
1544
15452018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
1546
1547	* doc/xml/manual/documentation_hacking.xml: Adjust link to
1548	docbook.org.
1549
15502018-03-17  Jonathan Wakely  <jwakely@redhat.com>
1551
1552	* testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
1553	to compile as C++98.
1554
15552018-03-14  Jonathan Wakely  <jwakely@redhat.com>
1556
1557	PR libstdc++/78420
1558	* include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
1559	(greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
1560	to ensure total order for pointers.
1561	(greater<void>, less<void>, greater_equal<void>, less_equal<void>):
1562	Add operator() overloads for pointer arguments and make generic
1563	overloads dispatch to new _S_cmp functions when comparisons would
1564	use built-in operators for pointers.
1565	* testsuite/20_util/function_objects/comparisons_pointer.cc: New.
1566
15672018-03-12  Jonathan Wakely  <jwakely@redhat.com>
1568
1569	PR libstdc++/84773
1570	PR libstdc++/83662
1571	* crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
1572	* configure: Regenerate.
1573	* include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
1574	(aligned_alloc): Add using-declaration.
1575	* testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
1576
15772018-03-09  François Dumont  <fdumont@gcc.gnu.org>
1578
1579	* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
1580	Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
1581	registration.
1582
15832018-03-09  Jonathan Wakely  <jwakely@redhat.com>
1584
1585	PR libstdc++/84769
1586	* include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
1587	Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
1588
1589	src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
1590	src/filesystem/std-ops.cc (create_dir): Likewise.
1591
15922018-03-08  François Dumont  <fdumont@gcc.gnu.org>
1593
1594	* python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
1595	(StdListIteratorPrinter): Inherit from latter.
1596	(StdFwdListIteratorPrinter): New, inherit from latter.
1597	(StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
1598	when iterator has no associated container.
1599	(build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
1600	__gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
1601	registrations.
1602	* testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
1603	* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
1604
16052018-03-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
1606
1607	PR libstdc++/84601
1608	* include/std/optional (_Optional_payload): Split into multiple
1609	specializations that can handle different cases of trivial or
1610	non-trivial assignment operators.
1611	* testsuite/20_util/optional/84601.cc: New.
1612	* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
1613
16142018-03-02  Jonathan Wakely  <jwakely@redhat.com>
1615
1616	PR libstdc++/84671
1617	* include/bits/parse_numbers.h (_Number_help): Add partial
1618	specialization to handle digit separators. Adjust partial
1619	specialization for recursion temrination to require _Pow == 1ULL.
1620	* testsuite/20_util/duration/literals/84671.cc: New
1621
16222018-02-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
1623
1624	Implement the missing bits of LWG 2769
1625	* include/std/any (any_cast(const any&)): Add static_assert.
1626	(any_cast(any&)): Likewise.
1627	(any_cast(any&&)): Likewise, and remove the handling
1628	for copyable-but-not-movable type.
1629	* testsuite/20_util/any/misc/any_cast.cc: Adjust.
1630	* testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
1631	add new tests.
1632
16332018-02-23  Jonathan Wakely  <jwakely@redhat.com>
1634
1635	PR libstdc++/84532
1636	* include/std/thread (thread::__make_invoker): Construct tuple
1637	directly instead of using make_tuple.
1638	* testsuite/30_threads/async/84532.cc: New.
1639	* testsuite/30_threads/thread/84532.cc: New.
1640
16412018-02-20  François Dumont  <fdumont@gcc.gnu.org>
1642
1643	* include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
1644	(template<> __aligned_buffer): Define as __aligned_membuf alias.
1645
16462018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
1647
1648	PR target/84148
1649	* configure: Regenerate.
1650
16512018-02-15  Jonathan Wakely  <jwakely@redhat.com>
1652
1653	PR libstdc++/81797
1654	* configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
1655	* configure: Regenerate.
1656	* include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
1657	defined.
1658	* include/Makefile.in: Regenerate.
1659
16602018-01-29  Jonathan Wakely  <jwakely@redhat.com>
1661
1662	PR libstdc++/83833
1663	* testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
1664	Add -ffloat-store to options for m68k and ia32.
1665
1666	* doc/xml/faq.xml: Update copyright years.
1667	* doc/html/*: Regenerate.
1668
1669	PR libstdc++/83658
1670	* include/std/any (any::__do_emplace): Only set _M_manager after
1671	constructing the contained object.
1672	* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
1673	* testsuite/20_util/any/modifiers/83658.cc: New test.
1674
16752018-01-25  Jonathan Wakely  <jwakely@redhat.com>
1676
1677	PR libstdc++/81076
1678	* include/c_global/cstddef (__byte_operand): Define primary template.
1679	* testsuite/18_support/byte/81076.cc: New test.
1680
16812018-01-19  Christophe Lyon  <christophe.lyon@linaro.org>
1682
1683	* testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
1684	dg-options and dg-add-options order.
1685	* testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
1686	* testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
1687	Likewise.
1688	* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
1689	* testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
1690	Likewise.
1691	* testsuite/special_functions/02_assoc_legendre/check_nan.cc:
1692	Likewise.
1693	* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
1694	* testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
1695	Likewise.
1696	* testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
1697	Likewise.
1698	* testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
1699	Likewise.
1700	* testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
1701	Likewise.
1702	* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
1703	Likewise.
1704	* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
1705	Likewise.
1706	* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
1707	Likewise.
1708	* testsuite/special_functions/10_cyl_neumann/check_nan.cc:
1709	Likewise.
1710	* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
1711	* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
1712	* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
1713	* testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
1714	* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
1715	* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
1716	* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
1717	* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
1718	* testsuite/special_functions/18_riemann_zeta/check_nan.cc:
1719	Likewise.
1720	* testsuite/special_functions/19_sph_bessel/check_nan.cc:
1721	Likewise.
1722	* testsuite/special_functions/20_sph_legendre/check_nan.cc:
1723	Likewise.
1724	* testsuite/special_functions/21_sph_neumann/check_nan.cc:
1725	Likewise.
1726
17272018-01-18  Uros Bizjak  <ubizjak@gmail.com>
1728
1729	* configure.ac (AC_CHECK_HEADERS): Add linux/types.h.  Conditionally
1730	include linux/types.h when checking linux/random.h header.
1731	* config.h.in: Regenerate.
1732	* configure: Ditto.
1733	* src/c++11/random.cc: Conditionally include linux/types.h.
1734
17352018-01-16  Eric Botcazou  <ebotcazou@adacore.com>
1736
1737	* testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
1738
17392018-01-16  Jonathan Wakely  <jwakely@redhat.com>
1740
1741	PR libstdc++/83834
1742	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
1743	pattern with exact match for std::cerr.
1744
17452018-01-15  Jonathan Wakely  <jwakely@redhat.com>
1746
1747	PR libstdc++/83833
1748	* include/bits/random.h (chi_squared_distribution::param): Update
1749	gamma distribution parameter.
1750	* testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
1751	test.
1752
1753	PR libstdc++/83830
1754	* include/std/type_traits (has_unique_object_representations_v): Add
1755	variable template.
1756	* testsuite/20_util/has_unique_object_representations/value.cc: Check
1757	variable template.
1758
17592018-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
1760
1761	Make optional conditionally
1762	trivially_{copy,move}_{constructible,assignable}
1763	* include/std/optional (_Optional_payload): Fix the comment in
1764	the class head and turn into a primary and one specialization.
1765	(_Optional_payload::_M_engaged): Strike the NSDMI.
1766	(_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
1767	New.
1768	(_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
1769	Likewise.
1770	(_Optional_payload<_Tp, false>::_M_get): Likewise.
1771	(_Optional_payload<_Tp, false>::_M_reset): Likewise.
1772	(_Optional_base_impl): Likewise.
1773	(_Optional_base): Turn into a primary and three specializations.
1774	(optional(nullopt)): Change the base init.
1775	* testsuite/20_util/optional/assignment/8.cc: New.
1776	* testsuite/20_util/optional/cons/trivial.cc: Likewise.
1777	* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
1778
17792018-01-15  Jonathan Wakely  <jwakely@redhat.com>
1780
1781	PR libstdc++/80276
1782	* python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
1783	(get_template_arg_list): New.
1784	(StdVariantPrinter._template_args): Remove, use get_template_arg_list
1785	instead.
1786	(TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
1787	of strings and regular expressions.
1788	(add_one_template_type_printer): Adapt to new TemplateTypePrinter.
1789	(FilteringTypePrinter): Add docstring. Match using startswith. Use
1790	strip_inline_namespaces instead of strip_versioned_namespace.
1791	(add_one_type_printer): Prepend namespace to match argument.
1792	(register_type_printers): Add type printers for char16_t and char32_t
1793	string types and for types using cxx11 ABI. Update calls to
1794	add_one_template_type_printer to provide default argument dicts.
1795	* testsuite/libstdc++-prettyprinters/80276.cc: New test.
1796	* testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
1797	basic_string<unsigned char> and basic_string<signed char>.
1798	* testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
1799	to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
1800
18012018-01-14  Andreas Schwab  <schwab@linux-m68k.org>
1802
1803	PR libstdc++/81092
1804	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1805
18062018-01-13  Tim Shen  <timshen@google.com>
1807
1808	PR libstdc++/83601
1809	* include/bits/regex.tcc (regex_replace): Fix escaping in sed.
1810	* testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
1811	* testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
1812
18132018-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1814
1815	PR libstdc++/64054
1816	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
1817	Remove dg-xfail-run-if.
1818
18192018-01-10  François Dumont  <fdumont@gcc.gnu.org>
1820
1821	* include/bits/forward_list.h
1822	(_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
1823	(_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
1824	(_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
1825	(_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
1826	(_Fwd_list_impl()): Add noexcept qualification.
1827	(_Fwd_list_impl(const _Node_alloc_type&)): Delete.
1828	(_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
1829	(_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
1830	(_Fwd_list_base()): Default.
1831	(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
1832	(_Fwd_list_base(_Fwd_list_base&&)): Default.
1833	(forward_list<>()): Default.
1834	(forward_list<>(forward_list&&)): Default.
1835	(forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
1836	(forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
1837	(forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
1838	* include/bits/forward_list.tcc
1839	(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
1840	_M_impl._M_head move assignment.
1841	(forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
1842	* testsuite/23_containers/forward_list/allocator/default_init.cc: New.
1843
18442018-01-09  Jonathan Wakely  <jwakely@redhat.com>
1845
1846	PR libstdc++/80276
1847	* python/libstdcxx/v6/printers.py (SharedPointerPrinter)
1848	(UniquePointerPrinter): Print correct template argument, not type of
1849	the pointer.
1850	(TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
1851	a type.
1852	* testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
1853	array type.
1854	* testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
1855	weak_ptr of array types.
1856
18572018-01-09  François Dumont  <fdumont@gcc.gnu.org>
1858
1859	PR libstdc++/83709
1860	* include/bits/hashtable_policy.h
1861	(__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
1862	__first != __last.
1863	(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
1864	(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
1865	Add false_type parameter.
1866	(_Insert_base::insert): Adapt.
1867	* include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
1868	Adapt.
1869	(_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
1870	 Add __n_elt parameter, defaulted to 1.
1871	(_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
1872	policy _M_need_rehash.
1873	(_Hashtable::_M_merge_unique): Pass target number of elements to add to
1874	produce only 1 rehash if necessary.
1875	* testsuite/23_containers/unordered_map/insert/83709.cc: New.
1876	* testsuite/23_containers/unordered_set/insert/83709.cc: New.
1877
18782018-01-09  Juraj Oršulić  <juraj.orsulic@fer.hr>
1879	    Jonathan Wakely  <jwakely@redhat.com>
1880
1881	PR libstdc++/59253 (partial)
1882	* python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
1883	type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
1884	(SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
1885	children.
1886	* testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
1887	of unique_ptr printer.
1888	* testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
1889	output of shared_ptr printer.
1890
18912018-01-05  Jonathan Wakely  <jwakely@redhat.com>
1892
1893	PR libstdc++/83626
1894	* src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
1895	unnecessary symlink_status call.
1896	(remove_all(const path&, error_code&)): Use filesystem::remove.
1897	* src/filesystem/std-ops.cc: Likewise.
1898
1899	PR libstdc++/83279
1900	* src/filesystem/std-ops.cc  (do_copy_file): Use non-null offset with
1901	sendfile.
1902
1903	PR libstdc++/83626
1904	* src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
1905	report an error for ENOENT.
1906	(remove_all(const path&)): Fix type of result variable.
1907	(remove_all(const path&, error_code&)): Use non-throwing increment
1908	for directory iterator. Call POSIX remove directly to avoid redundant
1909	calls to symlink_status. Do not report errors for ENOENT.
1910	* src/filesystem/std-ops.cc: Likewise.
1911	* testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
1912	overload.
1913	* testsuite/experimental/filesystem/operations/remove_all.cc:
1914	Likewise.
1915
19162018-01-04  Jonathan Wakely  <jwakely@redhat.com>
1917
1918	PR libstdc++/83626
1919	* src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
1920	redundant call to ec.clear().
1921	(remove_all(const path&, error_code&))): Do not return an error for
1922	non-existent paths.
1923	* src/filesystem/std-ops.cc: Likewise.
1924	* testsuite/27_io/filesystem/operations/remove.cc: New test.
1925	* testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
1926	results for non-existent paths.
1927	* testsuite/experimental/filesystem/operations/remove.cc: New test.
1928	* testsuite/experimental/filesystem/operations/remove_all.cc: Fix
1929	expected results for non-existent paths.
1930
1931	* include/bits/fs_ops.h (exists(const path&, error_code&))): Only
1932	check status_known once.
1933	* include/experimental/bits/fs_ops.h: Likewise.
1934
1935	PR libstdc++/83607
1936	* include/std/functional (__is_byte_like): New trait.
1937	(__is_std_equal_to): Remove.
1938	(__boyer_moore_base_t): Use __is_byte_like instead of
1939	__is_std_equal_to.
1940	* include/experimental/functional (__is_std_equal_to): Remove.
1941	(__boyer_moore_base_t): Use __is_byte_like instead of
1942	__is_std_equal_to.
1943	* testsuite/20_util/function_objects/83607.cc: New test.
1944
19452018-01-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
1946
1947	Protect optional's deduction guide with the feature macro
1948	* include/std/optional: Use the feature macro.
1949
19502018-01-03  Jakub Jelinek  <jakub@redhat.com>
1951
1952	Update copyright years.
1953
1954Copyright (C) 2018 Free Software Foundation, Inc.
1955
1956Copying and distribution of this file, with or without modification,
1957are permitted in any medium without royalty provided the copyright
1958notice and this notice are preserved.
1959