12017-12-27  Jonathan Wakely  <jwakely@redhat.com>
2
3	PR libstdc++/83600
4	* include/bits/regex.h (match_results::end()): Return valid iterator
5	when not ready.
6	* testsuite/28_regex/match_results/ctors/char/default.cc: Check that
7	unready objects are empty and have equal begin and end iterators.
8	* testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
9
10	PR libstdc++/83598
11	* include/bits/regex.h (basic_regex): Don't modify flags passed to
12	constructors.
13	* testsuite/28_regex/basic_regex/ctors/83598.cc: New test.
14
15	PR libstdc++/83538
16	* doc/xml/manual/intro.xml: Document LWG 2306 change.
17	* include/bits/regex.h (match_results::reference): Change to
18	non-const reference.
19	* testsuite/28_regex/match_results/typedefs.cc: Check types are
20	correct.
21
222017-12-24  Michele Pezzutti <mpezz@tiscali.it>
23
24	PR libstdc++/83237
25	* include/bits/random.tcc (poisson_distribution<>::operator()):
26	Fix __x = 1 case - see updated Errata of Devroye's treatise.
27	* testsuite/26_numerics/random/poisson_distribution/operators/
28	values.cc: Add test.
29	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
30	line number.
31
322017-12-24  Jonathan Wakely  <jwakely@redhat.com>
33
34	PR libstdc++/83450
35	* testsuite/21_strings/basic_string/pthread18185.cc: Add return
36	statement.
37
382017-12-20  François Dumont  <fdumont@gcc.gnu.org>
39
40	PR libstdc++/82522
41	* include/debug/map.h (map::insert(value_type&&))
42	(map::insert(const_iterator, value_type&&)): Add overload for rvalues.
43	* include/debug/multimap.h (multimap::insert(value_type&&))
44	(multimap::insert(const_iterator, value_type&&)): Likewise.
45	* include/debug/unordered_map (unordered_map::insert(value_type&&))
46	(unordered_map::insert(const_iterator, value_type&&))
47	(unordered_multimap::insert(value_type&&))
48	(unordered_multimap::insert(const_iterator, value_type&&)): Likewise.
49	* testsuite/23_containers/map/modifiers/insert/dr2354.cc (test02): New.
50	* testsuite/23_containers/multimap/modifiers/insert/dr2354.cc (test02):
51	New.
52	* testsuite/23_containers/unordered_map/insert/dr2354.cc (test02): New.
53	* testsuite/23_containers/unordered_multimap/insert/dr2354.cc (test02):
54	New.
55
562017-12-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
57
58	* config/cpu/aarch64/opt/ext/opt_random.h (__VEXT): Check
59	__ARM_BIG_ENDIAN instead of __AARCH64EB__.
60
612017-12-18  François Dumont  <fdumont@gcc.gnu.org>
62
63	PR libstdc++/80761
64	* include/debug/map.h
65	(std::__debug::map<>::insert_return_type): Define using
66	_Node_insert_return.
67	* include/debug/set.h (std::__debug::set<>::insert_return_type):
68	Likewise.
69	* include/debug/unordered_map:
70	(std::__debug::unordered_map<>::insert_return_type): Likewise.
71	* include/debug/unordered_set:
72	(std::__debug::unordered_set<>::insert_return_type): Likewise.
73
742017-12-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
75
76	PR libstdc++/68430
77	* testsuite/20_util/is_constructible/68430.cc: New.
78
792017-12-16  Martin Sebor  <msebor@redhat.com>
80
81	PR tree-optimization/83239
82	* include/bits/vector.tcc (vector::_M_default_append): Assert
83        invariant to generate better code.
84
852017-12-14  Jonathan Wakely  <jwakely@redhat.com>
86
87	PR libstdc++/83279
88	* src/filesystem/std-ops.cc (do_copy_file): Handle sendfile not
89	copying entire file.
90
91	PR libstdc++/68519
92	* include/std/condition_variable (condition_variable::wait_for):
93	Convert duration to native clock's duration before addition.
94	* testsuite/30_threads/condition_variable/members/68519.cc: New test.
95
96	PR libstdc++/83427
97	* include/bits/refwrap.h (_Maybe_unary_or_binary_function): Move here
98	from <bits/std_function.h>.
99	(_Mem_fn_traits_base, _Mem_fn_traits): Move here, from <functional>.
100	(_Weak_result_type_impl, _Reference_wrapper_base): Deduce noexcept
101	for function types. Remove partial specializations for member
102	functions.
103	(_Weak_result_type_impl): Remove unused partial specializations for
104	non-referenceable function types and for references to functions.
105	(_Weak_result_type_memfun, _Reference_wrapper_base_memfun): New
106	helpers to handle member functions via _Mem_fn_traits.
107	(_Weak_result_type, reference_wrapper): Derive from new helpers.
108	* include/bits/std_function.h (_Maybe_unary_or_binary_function): Move
109	to <bits/refwrap.h>.
110	* include/std/functional (_Pack, _AllConvertible, _NotSame): Remove.
111	(_Mem_fn_traits_base, _Mem_fn_traits): Move to <bits/refwrap.h>.
112	* testsuite/20_util/bind/83427.cc: New test.
113	* testsuite/20_util/bind/refqual.cc: Add noexcept to functions and
114	check for weak result types.
115	* testsuite/20_util/reference_wrapper/83427.cc: New test.
116
117	* testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc:
118	Add tests using noskipws.
119
120	* testsuite/26_numerics/complex/dr2714.cc: Move to ...
121	* testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc:
122	... Here. Remove duplicate header and dg-options. Check first invalid
123	character gets putback. Remove wchar_t test.
124
1252017-12-13  Jonathan Wakely  <jwakely@redhat.com>
126
127	PR libstdc++/59568
128	* include/std/complex (operator>>): Implement proposed resolution to
129	LWG 2714. Use putback if and only if a character has been successfully
130	extracted but isn't a delimiter. Use ctype::widen and traits::eq when
131	testing if extracted characters match delimiters.
132	* testsuite/26_numerics/complex/dr2714.cc: New test.
133
1342017-12-12  Jonathan Wakely  <jwakely@redhat.com>
135
136	PR libstdc++/83395
137	* include/std/type_traits (__is_invocable_impl): Remove partial
138	specialization for INVOKE<void> and restore is_void<R> check in
139	primary template.
140	(__is_nt_invocable_impl): Likewise.
141	* testsuite/20_util/is_invocable/83395.cc: New test.
142	* testsuite/20_util/is_nothrow_invocable/83395.cc: New test.
143
1442017-12-07  David Edelsohn  <dje.gcc@gmail.com>
145
146	PR libstdc++/83120
147	* testsuite/ext/special_functions/hyperg/check_value.cc: Add
148	-ffp-contract=off. Add -ffloat-store for m68* and ia32.
149	* testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc: Same.
150
1512017-12-07  Martin Sebor  <msebor@redhat.com>
152
153	PR c/81544
154	* include/ext/mt_allocator.h (_M_destroy_thread_key): Remove
155	attribute const.
156
1572017-12-05  Jason Merrill  <jason@redhat.com>
158	    Jonathan Wakely  <jwakely@redhat.com>
159
160	* include/bits/fs_fwd.h (copy, copy_file): Remove noexcept.
161	(permissions): Add noexcept.
162	* include/bits/fs_ops.h (permissions): Add noexcept.
163	* libsupc++/eh_throw.cc (__cxa_init_primary_exception): Add
164	_GLIBCXX_NOTHROW.
165
1662017-12-04  Jonathan Wakely  <jwakely@redhat.com>
167
168	* include/bits/regex_compiler.tcc: Use C-style comment to work around
169	PR preprocessor/61638.
170	(__INSERT_REGEX_MATCHER): Replace GNU extension with __VA_ARGS__.
171
172	* config/io/basic_file_stdio.h (__basic_file): Remove name of unused
173	parameter.
174	* include/bits/boost_concept_check.h: Add pragmas to disable
175	-Wunused-local-typedef warnings.
176	* include/bits/codecvt.h (codecvt_byname<char16_t, char, mbstate_t>)
177	(codecvt_byname<char32_t, char, mbstate_t>): Remove name of unused
178	parameter.
179	* include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday)
180	(time_get::do_get_monthname, time_get::do_get_year): Remove unused
181	variables.
182	* include/std/bitset (_Base_bitset<0>::_M_getword): Remove name of
183	unused parameter.
184	* include/std/streambuf (_IsUnused): Define.
185	(basic_streambuf::imbue, basic_streambuf::pbackfail)
186	(basic_streambuf::overflow): Add macro to unused parameters.
187	* testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error.
188
1892017-12-01  Jonathan Wakely  <jwakely@redhat.com>
190
191	* include/experimental/string_view (basic_string_view::_S_compare):
192	Use value-init so narrowing conversions are not ill-formed.
193	* include/std/string_view (basic_string_view::_S_compare): Likewise.
194
195	* include/bits/basic_string.h (operator""s): Add pragmas to disable
196	-Wliteral-suffix warnings.
197	* include/experimental/string_view (operator""sv): Likewise.
198	* include/std/chrono (operator""h, operator""min, operator""s)
199	(operator""ms, operator""us, operator""ns): Likewise.
200	* include/std/complex (operator""if, operator""i, operator""il):
201	Likewise.
202	* include/std/string_view (operator""sv): Likewise.
203	* testsuite/20_util/duration/literals/range.cc: Adjust dg-error.
204
205	* include/bits/locale_facets_nonio.tcc (money_get::_M_extract): Add
206	fallthrough comment.
207
208	* include/bits/node_handle.h (_Node_handle_common::operator=)
209	(_Node_handle_common::_M_swap): Add braces around debug assertions.
210
211	* include/ext/ropeimpl.h (rope::_S_dump): Use const char*.
212
213	* libsupc++/nested_exception.h (__throw_with_nested_impl): Add
214	noreturn attribute.
215
216	* include/bits/regex_executor.tcc (_Executor::_M_rep_once_more):
217	Remove semi-colon after function body.
218	* include/bits/uniform_int_dist.h (_Power_of_2): Likewise.
219
220	* include/tr1/modified_bessel_func.tcc (__airy): Use value-init not
221	list-init.
222
223	* include/std/type_traits (integral_constant): Make member functions
224	noexcept (LWG 2346).
225	* include/std/utility (integer_sequence): Likewise.
226
2272017-11-30  Jonathan Wakely  <jwakely@redhat.com>
228
229	PR libstdc++/65927
230	* include/bits/locale_facets_nonio.h (__timepunct::_M_am_pm_format):
231	Remove statement with no effect.
232
2332017-11-30  Glen Joseph Fernandes  <glenjofe@gmail.com>
234
235	* include/bits/ptr_traits.h (__to_address, to_address): Move static
236	assertion.
237	* testsuite/20_util/to_address/1_neg.cc: New test.
238
2392017-11-30  Jonathan Wakely  <jwakely@redhat.com>
240
241	PR libstdc++/83226
242	* include/bits/node_handle.h (_Node_handle::__pointer): Avoid forming
243	pointer-to-reference types.
244	* testsuite/23_containers/map/modifiers/insert/83226.cc: New test.
245
2462017-11-29  John David Anglin  <danglin@gcc.gnu.org>
247
248	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
249
2502017-11-29  David Malcolm  <dmalcolm@redhat.com>
251
252	* testsuite/20_util/duration/literals/range.cc: Update expected
253	line of a static_assert failure.
254
2552017-11-28  Glen Joseph Fernandes  <glenjofe@gmail.com>
256
257	* include/bits/ptr_traits.h (to_address): Implement to_address.
258	* testsuite/20_util/to_address/1.cc: New test.
259
2602017-11-27  Stephan Bergmann  <sbergman@redhat.com>
261
262	* include/std/string_view (basic_string_view::find_first_of): Add
263	missing noexcept.
264
265	* include/bits/unordered_map.h (unordered_map): Fix deduction guide.
266	* include/debug/unordered_map (unordered_map): Likewise.
267
2682017-11-23  Jonathan Wakely  <jwakely@redhat.com>
269
270	* libsupc++/new (launder): Add nodiscard attribute.
271	* testsuite/18_support/launder/nodiscard.cc: New test.
272
273	* include/bits/fs_path.h (path::empty): Add nodiscard attribute.
274	* include/bits/range_access.h (empty): Likewise.
275	* include/std/string_view (basic_string_view::empty): Likewise.
276	* testsuite/21_strings/basic_string_view/capacity/empty_neg.cc: New
277	test.
278	* testsuite/24_iterators/range_access_cpp17_neg.cc: New test.
279	* testsuite/27_io/filesystem/path/query/empty_neg.cc: New test.
280
281	PR libstdc++/83134
282	* include/std/type_traits (__not_): Explicitly convert to bool.
283	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
284	* testsuite/20_util/logical_traits/83134.cc: New test.
285	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
286	dg-error.
287	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
288	Likewise.
289
2902017-11-22  Jonathan Wakely  <jwakely@redhat.com>
291
292	PR go/83102
293	* include/bits/stl_tree.h (_Rb_tree): Relax invocable checks for
294	comparison object pre-C++17.
295
2962017-11-21  Jonathan Wakely  <jwakely@redhat.com>
297
298	PR libstdc++/48101
299	* include/bits/allocator.h (allocator<const _Tp>)
300	(allocator<volatile _Tp>, allocator<const volatile _Tp>): Add partial
301	specializations.
302	* include/bits/forward_list.h (forward_list): Add static assertions.
303	* include/bits/hashtable.h (__cache_default): Use
304	__is_nothrow_invocable instead of __is_noexcept_hash.
305	(_Hashtable): Add static assertions.
306	* include/bits/hashtable_policy.h (__is_noexcept_hash): Remove.
307	* include/bits/stl_deque.h (deque): Add static assertions.
308	* include/bits/stl_function.h (_Identity<const _Tp>): Add partial
309	specialization.
310	* include/bits/stl_list.h (list): Add static assertions.
311	* include/bits/stl_map.h (map): Likewise.
312	* include/bits/stl_multimap.h (multimap): Likewise.
313	* include/bits/stl_multiset.h (multiset): Likewise.
314	* include/bits/stl_set.h (set): Likewise.
315	* include/bits/stl_tree.h (_Rb_tree): Likewise.
316	* include/bits/stl_vector.h (vector): Likewise.
317	* include/bits/unordered_map.h (unordered_map, unordered_multimap):
318	Use typename instead of class in template-parameter-list and remove
319	spaces.
320	* include/bits/unordered_set.h (unordered_set, unordered_multiset):
321	Likewise.
322	* testsuite/23_containers/deque/48101-2_neg.cc: New test.
323	* testsuite/23_containers/deque/48101_neg.cc: New test.
324	* testsuite/23_containers/forward_list/48101-2_neg.cc: New test.
325	* testsuite/23_containers/forward_list/48101_neg.cc: New test.
326	* testsuite/23_containers/list/48101-2_neg.cc: New test.
327	* testsuite/23_containers/list/48101_neg.cc: New test.
328	* testsuite/23_containers/map/48101-2_neg.cc: New test.
329	* testsuite/23_containers/map/48101_neg.cc: New test.
330	* testsuite/23_containers/map/operations/31440.cc: Fix comparison
331	object to have const-qualified call operator.
332	* testsuite/23_containers/multimap/48101-2_neg.cc: New test.
333	* testsuite/23_containers/multimap/48101_neg.cc: New test.
334	* testsuite/23_containers/multiset/48101-2_neg.cc: New test.
335	* testsuite/23_containers/multiset/48101_neg.cc: New test.
336	* testsuite/23_containers/set/48101-2_neg.cc: New test.
337	* testsuite/23_containers/set/48101_neg.cc: New test.
338	* testsuite/23_containers/unordered_map/48101-2_neg.cc: New test.
339	* testsuite/23_containers/unordered_map/48101_neg.cc: New test.
340	* testsuite/23_containers/unordered_multimap/48101-2_neg.cc: New test.
341	* testsuite/23_containers/unordered_multimap/48101_neg.cc: New test.
342	* testsuite/23_containers/unordered_multiset/48101-2_neg.cc: New test.
343	* testsuite/23_containers/unordered_multiset/48101_neg.cc: New test.
344	* testsuite/23_containers/unordered_set/48101-2_neg.cc: New test.
345	* testsuite/23_containers/unordered_set/48101_neg.cc: New test.
346	* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
347	dg-error line number.
348	* testsuite/23_containers/vector/48101-2_neg.cc: New test.
349	* testsuite/23_containers/vector/48101_neg.cc: New test.
350
3512017-11-21  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
352
353	* doc/xml/manual/using.xml (manual.intro.using.macros): Move
354	variablelist element at the end of its list.
355
3562017-11-21  Sebastian Huber  <sebastian.huber@embedded-brains.de>
357
358	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add rtems*.
359	(GLIBCXX_ENABLE_FILESYSTEM_TS): Likewise.
360	* configure: Regenerate.
361
3622017-11-20  François Dumont  <fdumont@gcc.gnu.org>
363
364	* include/bits/streambuf_iterator.h (istreambuf_iterator<>): Declare
365	std::advance for istreambuf_iterator of char types to be friend.
366	(std::advance(istreambuf_iterator&, _Distance)): New overload.
367	* include/std/streambuf (basic_streambuf<>): Declare std::advance for
368	istreambuf_iterator of char types to be friend.
369	* testsuite/22_locale/money_get/get/char/9.cc: Have
370	istreambuf_iterator created on the fly when calling money_get<>::get.
371	* testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
372	* testsuite/24_iterators/istreambuf_iterator/debug/1_neg.cc: New.
373	* testsuite/24_iterators/istreambuf_iterator/debug/2_neg.cc: New.
374	* testsuite/25_algorithms/advance/istreambuf_iterators/char/1.cc: New.
375	* testsuite/25_algorithms/advance/istreambuf_iterators/char/1_neg.cc:
376	New.
377	* testsuite/25_algorithms/advance/istreambuf_iterators/char/2.cc: New.
378	* testsuite/25_algorithms/advance/istreambuf_iterators/char/2_neg.cc:
379	New.
380	* testsuite/25_algorithms/advance/istreambuf_iterators/char/3_neg.cc:
381	New.
382	* testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/1.cc:
383	New.
384	* testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/1_neg.cc:
385	New.
386	* testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2.cc:
387	New.
388	* testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2_neg.cc:
389	New.
390	* testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/3_neg.cc:
391	New.
392	* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Leverage
393	on std::advance overload.
394	* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
395	Likewise.
396
3972017-11-20  Jonathan Wakely  <jwakely@redhat.com>
398
399	* testsuite/special_functions/18_riemann_zeta/check_value.cc: Fix
400	duplicate dg-options directive.
401	* testsuite/tr1/5_numerical_facilities/special_functions/
402	20_riemann_zeta/check_value_neg.cc: Likewise.
403
4042017-11-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
405
406	Implement LWG 2353
407	* include/bits/stl_iterator_base_funcs.h (next):
408	Use InputIterator instead of ForwardIterator.
409	* testsuite/24_iterators/operations/lwg2353.cc: New.
410	* testsuite/24_iterators/operations/next_neg.cc: Remove.
411
4122017-11-18  Edward Smith-Rowland  <3dw4rd@verizon.net>
413
414	PR libstdc++/pr66689 - comp_ellint_3 and ellint_3 return garbage values
415	* include/tr1/ell_integral.tcc: Correct the nu sign convention
416	in ellint_3 and comp_ellint_3.
417	* testsuite/tr1/5_numerical_facilities/special_functions/
418	06_comp_ellint_3/check_value.cc: Regen with correct values.
419	* testsuite/tr1/5_numerical_facilities/special_functions/
420	14_ellint_3/check_value.cc: Ditto.
421	* testsuite/special_functions/06_comp_ellint_3/check_value.cc: Ditto.
422	* testsuite/special_functions/13_ellint_3/check_value.cc: Ditto.
423	* testsuite/tr1/5_numerical_facilities/special_functions/
424	01_assoc_laguerre/check_value.cc: Regen.
425	* testsuite/tr1/5_numerical_facilities/special_functions/
426	02_assoc_legendre/check_value.cc: Regen.
427	* testsuite/tr1/5_numerical_facilities/special_functions/
428	03_beta/check_value.cc: Regen.
429	* testsuite/tr1/5_numerical_facilities/special_functions/
430	04_comp_ellint_1/check_value.cc: Regen.
431	* testsuite/tr1/5_numerical_facilities/special_functions/
432	05_comp_ellint_2/check_value.cc: Regen.
433	* testsuite/tr1/5_numerical_facilities/special_functions/
434	07_conf_hyperg/check_value.cc: Regen.
435	* testsuite/tr1/5_numerical_facilities/special_functions/
436	08_cyl_bessel_i/check_value.cc: Regen.
437	* testsuite/tr1/5_numerical_facilities/special_functions/
438	09_cyl_bessel_j/check_value.cc: Regen.
439	* testsuite/tr1/5_numerical_facilities/special_functions/
440	10_cyl_bessel_k/check_value.cc: Regen.
441	* testsuite/tr1/5_numerical_facilities/special_functions/
442	11_cyl_neumann/check_value.cc: Regen.
443	* testsuite/tr1/5_numerical_facilities/special_functions/
444	12_ellint_1/check_value.cc: Regen.
445	* testsuite/tr1/5_numerical_facilities/special_functions/
446	13_ellint_2/check_value.cc: Regen.
447	* testsuite/tr1/5_numerical_facilities/special_functions/
448	15_expint/check_value_neg.cc: Regen.
449	* testsuite/tr1/5_numerical_facilities/special_functions/
450	16_hermite/check_value.cc: Regen.
451	* testsuite/tr1/5_numerical_facilities/special_functions/
452	17_hyperg/check_value.cc: Regen.
453	* testsuite/tr1/5_numerical_facilities/special_functions/
454	18_laguerre/check_value.cc: Regen.
455	* testsuite/tr1/5_numerical_facilities/special_functions/
456	19_legendre/check_value.cc: Regen.
457	* testsuite/tr1/5_numerical_facilities/special_functions/
458	20_riemann_zeta/check_value_neg.cc: Regen.
459	* testsuite/tr1/5_numerical_facilities/special_functions/
460	21_sph_bessel/check_value.cc: Regen.
461	* testsuite/tr1/5_numerical_facilities/special_functions/
462	22_sph_legendre/check_value.cc: Regen.
463	* testsuite/tr1/5_numerical_facilities/special_functions/
464	23_sph_neumann/check_value.cc: Regen.
465	* testsuite/ext/special_functions/conf_hyperg/check_value.cc: Regen.
466	* testsuite/ext/special_functions/hyperg/check_value.cc: Regen.
467	* testsuite/special_functions/01_assoc_laguerre/check_value.cc: Regen.
468	* testsuite/special_functions/02_assoc_legendre/check_value.cc: Regen.
469	* testsuite/special_functions/03_beta/check_value.cc: Regen.
470	* testsuite/special_functions/04_comp_ellint_1/check_value.cc: Regen.
471	* testsuite/special_functions/05_comp_ellint_2/check_value.cc: Regen.
472	* testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Regen.
473	* testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Regen.
474	* testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Regen.
475 	* testsuite/special_functions/10_cyl_neumann/check_value.cc: Regen.
476	* testsuite/special_functions/11_ellint_1/check_value.cc: Regen.
477	* testsuite/special_functions/12_ellint_2/check_value.cc: Regen.
478	* testsuite/special_functions/14_expint/check_value.cc: Regen.
479	* testsuite/special_functions/15_hermite/check_value.cc: Regen.
480	* testsuite/special_functions/16_laguerre/check_value.cc: Regen.
481	* testsuite/special_functions/17_legendre/check_value.cc: Regen.
482	* testsuite/special_functions/18_riemann_zeta/check_value.cc: Regen.
483	* testsuite/special_functions/19_sph_bessel/check_value.cc: Regen.
484	* testsuite/special_functions/20_sph_legendre/check_value.cc: Regen.
485	* testsuite/special_functions/21_sph_neumann/check_value.cc: Regen.
486	* testsuite/tr1/5_numerical_facilities/special_functions/
487	06_comp_ellint_3/pr66689.cc: New.
488	* testsuite/tr1/5_numerical_facilities/special_functions/
489	14_ellint_3/pr66689.cc: New.
490	* testsuite/special_functions/06_comp_ellint_3/pr66689.cc: New.
491	* testsuite/special_functions/13_ellint_3/pr66689.cc: New.
492
4932017-11-18  Edward Smith-Rowland  <3dw4rd@verizon.net>
494	Expose Airy functions as an extenaion.
495	* include/bits/specfun.h: Expose airy_ai and airy_bi.
496	* include/tr1/modified_bessel_func.tcc: Treat NaN and inf arg, return.
497	* testsuite/ext/special_functions/airy_ai/check_nan.cc: New.
498	* testsuite/ext/special_functions/airy_ai/check_value.cc: New.
499	* testsuite/ext/special_functions/airy_ai/compile.cc: New.
500	* testsuite/ext/special_functions/airy_bi/check_nan.cc: New.
501	* testsuite/ext/special_functions/airy_bi/check_value.cc: New.
502	* testsuite/ext/special_functions/airy_bi/compile.cc: New.
503
5042017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
505
506	* acinclude.m4: Add cet.m4.
507	* configure.ac: Set CET_FLAGS. Update EXTRA_CFLAGS,
508	EXTRA_CXX_FLAGS.
509	* libsupc++/Makefile.am: Use Add EXTRA_CFLAGS.
510	* Makefile.in: Regenerate.
511	* configure: Likewise.
512	* doc/Makefile.in: Likewise.
513	* include/Makefile.in: Likewise.
514	* libsupc++/Makefile.in: Likewise.
515	* po/Makefile.in: Likewise.
516	* python/Makefile.in: Likewise.
517	* src/Makefile.in: Likewise.
518	* src/c++11/Makefile.in: Likewise.
519	* src/c++98/Makefile.in: Likewise.
520	* src/filesystem/Makefile.in: Likewise.
521	* testsuite/Makefile.in: Likewise.
522
5232017-11-17  Jonathan Wakely  <jwakely@redhat.com>
524
525	PR libstdc++/83025
526	* include/std/fstream (basic_filebuf::_If_path): Move to
527	namespace-scope and rename to _If_fs_path.
528	(basic_filebuf::open): Use new name.
529	(basic_ifstream(_Path, ios::openmode))
530	(basic_ifstream::open(_Path, ios::openmode))
531	(basic_ofstream(_Path, ios::openmode))
532	(basic_ofstream::open(_Path, ios::openmode))
533	(basic_fstream(_Path, ios::openmode))
534	(basic_fstream::open(_Path, ios::openmode)): Use _If_fs_path.
535	* testsuite/27_io/basic_filebuf/open/char/path.cc: Test with filename
536	as non-const char*.
537	* testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise.
538	* testsuite/27_io/basic_fstream/open/char/path.cc: Likewise.
539	* testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise.
540	* testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise.
541	* testsuite/27_io/basic_ofstream/cons/char/path.cc: Likewise.
542	* testsuite/27_io/basic_ofstream/open/char/path.cc: Likewise.
543
544
5452017-11-17  Marc Glisse  <marc.glisse@inria.fr>
546
547	* include/bits/vector.tcc (vector::_M_realloc_insert): Cache old
548	values before the allocation.
549
5502017-11-16  Jonathan Wakely  <jwakely@redhat.com>
551
552	* include/std/future (shared_future): Add noexcept to copy constructor
553	and copy-assignment operator (LWG 2799).
554
5552017-11-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
556
557	Fix gcd breakage.
558	* include/std/numeric (gcd): Use remove_cv_t, not remove_cv.
559
5602017-11-15  Jonathan Wakely  <jwakely@redhat.com>
561
562	* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Leave
563	error_code unset.
564	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
565	Check for past-the-end before dereferencing.
566	* testsuite/experimental/filesystem/iterators/
567	recursive_directory_iterator.cc: Likewise.
568
569	* include/bits/range_access.h (size, empty, data): Add conditional
570	noexcept to generic overloads.
571
5722017-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
573
574	Implement LWG 2733 and LWG 2759
575	* include/experimental/numeric (gcd): Reject cv-qualified bool.
576	(lcm): Likewise.
577	* include/std/numeric (gcd): Likewise.
578	(lcm): Likewise.
579	* testsuite/26_numerics/gcd/gcd_neg.cc: Add tests and adjust.
580	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
581
5822017-11-14  Jonathan Wakely  <jwakely@redhat.com>
583
584	* include/bits/locale_conv.h (wbuffer_convert::_M_conv_get): Fix typo.
585	* testsuite/22_locale/conversions/buffer/3.cc: New test.
586
5872017-11-10  Jonathan Wakely  <jwakely@redhat.com>
588
589	* testsuite/util/testsuite_tr1.h (ThrowMoveConsClass): Use noexcept.
590
591	PR libstdc++/82917
592	* include/std/fstream (basic_ifstream::open, basic_ofstream::open)
593	(basic_fstream::open): Fix missing return.
594
5952017-11-07  Jonathan Wakely  <jwakely@redhat.com>
596
597	* src/filesystem/ops-common.h (make_file_type) [S_ISSOCK]: Only use
598	S_ISSOCK when defined.
599
6002017-11-06  François Dumont  <fdumont@gcc.gnu.org>
601
602	* testsuite/libstdc++-prettyprinters/tr1.cc:  Compile with -O0.
603
6042017-11-06  Martin Liska  <mliska@suse.cz>
605
606	* testsuite/27_io/basic_fstream/cons/char/path.cc (main):
607	  Return a value for functions with non-void return type,
608	  or change type to void, or add -Wno-return-type for test.
609	* testsuite/27_io/basic_ifstream/cons/char/path.cc (main):
610	Likewise.
611	* testsuite/27_io/basic_ofstream/open/char/path.cc (main):
612	Likewise.
613
6142017-11-06  Paolo Carlini  <paolo.carlini@oracle.com>
615
616	* testsuite/20_util/optional/cons/deduction.cc: Avoid -Wreturn-type
617	warnings.
618	* testsuite/20_util/pair/cons/deduction.cc: Likewise.
619	* testsuite/20_util/pair/traits.cc: Likewise.
620	* testsuite/20_util/tuple/cons/deduction.cc: Likewise.
621	* testsuite/20_util/variant/compile.cc: Likewise.
622	* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
623	* testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
624	Likewise.
625
6262017-11-05  Gerald Pfeifer  <gerald@pfeifer.com>
627
628	* doc/xml/manual/abi.xml: Move docs.oracle.com references to https.
629
6302017-11-03  Jonathan Wakely  <jwakely@redhat.com>
631
632	* include/std/type_traits (endian): Define new enumeration type.
633	* testsuite/20_util/endian/1.cc: New test.
634
635	* include/bits/node_handle.h (_Node_insert_return::get): Remove, as
636	per P0508R0.
637
6382017-11-01  François Dumont  <fdumont@gcc.gnu.org>
639
640	* python/libstdcxx/v6/printers.py (StdExpAnyPrinter.__init__): Strip
641	typename versioned namespace before the substitution.
642	(StdExpOptionalPrinter.__init__): Likewise.
643	(StdVariantPrinter.__init__): Likewise.
644	(Printer.add_version): Inject versioned namespace after std or
645	__gnu_cxx.
646	(build_libstdcxx_dictionary): Adapt add_version usages, always pass
647	namespace first and symbol second.
648
6492017-11-01  Jonathan Wakely  <jwakely@redhat.com>
650
651	PR libstdc++/82777
652	* src/filesystem/std-path.cc (path::lexically_normal): Remove dot-dot
653	elements correctly.
654	* testsuite/27_io/filesystem/path/generation/normal.cc: Add testcase.
655	* testsuite/util/testsuite_fs.h (compare_paths): Improve exception
656	text.
657
6582017-10-30  Jonathan Wakely  <jwakely@redhat.com>
659
660	* include/Makefile.am (stamp-bits-sup): Do not create broken symlink
661	to stamp-bits.
662	* include/Makefile.in: Regenerate.
663
664	* include/std/fstream (basic_ifstream, basic_ofstream, basic_fstream):
665	Remove outdated comments about calling c_str() to create a file stream
666	from a std::string.
667	(basic_ofstream::basic_ofstream, basic_ofstream::open): Remove
668	redundant ios_mode::trunc bits from default arguments and comments.
669
670	* doc/xml/faq.xml: Adjust "What is libstdc++?" answer slightly.
671
672	* include/bits/hashtable_policy.h: Include <tuple>.
673	* include/std/unordered_map: Only include <bits/stl_pair.h> instead
674	of <utility> and <tuple>.
675	* include/std/unordered_set: Likewise.
676
6772017-10-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
678
679	Implement LWG 2485
680	* include/debug/array (get(const array<_Tp, _Nm>&&)): New.
681	* include/std/array (get(const array<_Tp, _Nm>&&)): Likewise.
682	* include/std/tuple (get(const tuple<_Elements...>&&)): Likewise.
683	(get(const tuple<_Types...>&&)): Likewise.
684	* include/std/utility
685	(__pair_get::__const_move_get(const std::pair<_Tp1, _Tp2>&&)):
686	Likewise.
687	(get(const std::pair<_Tp1, _Tp2>&&)): Likewise.
688	(get(const pair<_Tp, _Up>&&)): Likewise.
689	(get(const pair<_Up, _Tp>&&)): Likewise.
690	* testsuite/20_util/pair/astuple/get.cc: Add tests for
691	new overloads.
692	* testsuite/20_util/pair/astuple/get_by_type.cc: Likewise.
693	* testsuite/20_util/tuple/element_access/get2.cc: Likewise.
694	* testsuite/20_util/tuple/element_access/get2_by_type.cc: Likewise.
695	* testsuite/23_containers/array/tuple_interface/get.cc: Likewise.
696	* testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
697	Adjust.
698	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
699	Likewise.
700
7012017-10-27  Jonathan Wakely  <jwakely@redhat.com>
702
703	* include/bits/node_handle.h (_Node_insert_return::get): Avoid
704	use of std::tie and std::get.
705
706	* include/Makefile.am: Put headers in alphabetical order.
707	* include/Makefile.in: Regenerate.
708
709	* include/bits/fs_dir.h (directory_iterator): Remove noexcept from
710	constructors and increment member (LWG 3013).
711	(recursive_directory_iterator): Likewise.
712	* include/bits/fs_ops.h (copy, copy_file, create_directories)
713	(is_empty, remove_all): Remove noexcept (LWG 3013 and LWG 3014).
714	* src/filesystem/std-dir.cc (directory_iterator::increment)
715	(recursive_directory_iterator::increment): Remove noexcept.
716	* src/filesystem/std-ops.cc (copy, copy_file, create_directories)
717	(is_empty, remove_all): Remove noexcept
718
719	* include/bits/fs_dir.h (file_status): Make default constructor
720	non-explicit (LWG 2787).
721	* testsuite/27_io/filesystem/file_status/1.cc: New test.
722	* testsuite/experimental/filesystem/file_status/1.cc: New test.
723
724	* include/std/fstream (basic_filebuf::_If_path): New SFINAE helper.
725	(basic_filebuf::open<Path>(const Path&, const ios_base::openmode&))
726	(basic_ifstream<Path>(const Path&, const ios_base::openmode&))
727	(basic_ifstream::open<Path>(const Path&, const ios_base::openmode&))
728	(basic_ofstream<Path>(const Path&, const ios_base::openmode&))
729	(basic_ofstream::open<Path>(const Path&, const ios_base::openmode&))
730	(basic_fstream<Path>(const Path&, const ios_base::openmode&))
731	(basic_fstream::open<Path>(const Path&, const ios_base::openmode&)):
732	New constructors and member functions.
733	* testsuite/27_io/basic_filebuf/open/char/path.cc: New test.
734	* testsuite/27_io/basic_fstream/cons/char/path.cc: New test.
735	* testsuite/27_io/basic_fstream/open/char/path.cc: New test.
736	* testsuite/27_io/basic_ifstream/cons/char/path.cc: New test.
737	* testsuite/27_io/basic_ifstream/open/char/path.cc: New test.
738	* testsuite/27_io/basic_ofstream/cons/char/path.cc: New test.
739	* testsuite/27_io/basic_ofstream/open/char/path.cc: New test.
740
741	* include/bits/fs_path.h (path::format): Define new enumeration type.
742	(path(string_type&&), path<Source>(const Source&))
743	(path<InputIterator>(InputIterator, InputIterator))
744	(path<Source>(const Source&, const locale&))
745	(path<InputIterator>(InputIterator, InputIterator, const locale&)):
746	Add format parameter.
747	* testsuite/27_io/filesystem/path/construct/format.cc: New test.
748
749	* include/bits/stl_algo.h (__find_if_not_n, generate_n): Cast to void
750	to ensure overloaded comma not used.
751	* include/bits/stl_algobase.h (__fill_n_a, equal): Likewise.
752	* include/bits/stl_uninitialized.h (__uninitialized_fill_n)
753	(__uninitialized_fill_n_a, __uninitialized_default_n_1)
754	(__uninitialized_default_n_a, __uninitialized_copy_n)
755	(__uninitialized_copy_n_pair): Likewise
756	* testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
757	Use test iterator wrappers with overloaded comma operator.
758	* testsuite/25_algorithms/fill_n/1.cc: Likewise.
759	* testsuite/25_algorithms/generate_n/1.cc: New test.
760	* testsuite/25_algorithms/stable_partition/1.cc: New test.
761	* testsuite/util/testsuite_iterators.h (operator,): Add deleted
762	non-member comma operator with iterator wrappers as right operand.
763
7642017-10-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
765
766	Deduction guides for associative containers, debug mode deduction
767	guide fixes.
768	* include/bits/stl_iterator.h (__iter_key_t)
769	(__iter_val_t, __iter_to_alloc_t): New.
770	* include/bits/stl_map.h: Add deduction guides.
771	* include/bits/stl_multimap.h: Likewise.
772	* include/bits/stl_multiset.h: Likewise.
773	* include/bits/stl_set.h: Likewise.
774	* include/bits/unordered_map.h: Likewise.
775	* include/bits/unordered_set.h: Likewise.
776	* include/debug/deque: Likewise.
777	* include/debug/forward_list: Likewise.
778	* include/debug/list: Likewise.
779	* include/debug/map.h: Likewise.
780	* include/debug/multimap.h: Likewise.
781	* include/debug/multiset.h: Likewise.
782	* include/debug/set.h: Likewise.
783	* include/debug/unordered_map: Likewise.
784	* include/debug/unordered_set: Likewise.
785	* include/debug/vector: Likewise.
786	* testsuite/23_containers/map/cons/deduction.cc: New.
787	* testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
788	* testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
789	* testsuite/23_containers/set/cons/deduction.cc: Likewise.
790	* testsuite/23_containers/unordered_map/cons/deduction.cc: Likewise.
791	* testsuite/23_containers/unordered_multimap/cons/deduction.cc:
792	Likewise.
793	* testsuite/23_containers/unordered_multiset/cons/deduction.cc:
794	Likewise.
795	* testsuite/23_containers/unordered_set/cons/deduction.cc: Likewise.
796
7972017-10-25  Jonathan Wakely  <jwakely@redhat.com>
798
799	* doc/xml/manual/status_cxx2017.xml: Update C++17 status, and
800	information on feature-test macros.
801	* doc/html/*: Regenerate.
802
803	PR libstdc++/82716
804	* include/std/array (tuple_size, tuple_element): Change class-key
805	from class to struct, to avoid annoying Clang warnings.
806
807	PR libstdc++/79283
808	* src/filesystem/ops.cc (read_symlink): Handle st_size being zero.
809	* src/filesystem/std-ops.cc (read_symlink): Likewise.
810	(do_copy_file) [!NEED_DO_COPY_FILE]: Avoid multiple definitions.
811
812	* src/filesystem/std-path.cc (path::lexically_normal): Add missing
813	step to algorithm, for removing dot-dot elements after root-directory.
814	* testsuite/27_io/filesystem/operations/canonical.cc: Use
815	compare_paths for more exhaustive checks.
816	* testsuite/27_io/filesystem/operations/proximate.cc: Likewise.
817	* testsuite/27_io/filesystem/path/append/path.cc: Likewise.
818	* testsuite/27_io/filesystem/path/concat/path.cc: Likewise.
819	* testsuite/27_io/filesystem/path/concat/strings.cc: Fix comment.
820	* testsuite/27_io/filesystem/path/construct/locale.cc: Likewise.
821	* testsuite/27_io/filesystem/path/decompose/root_directory.cc:
822	Likewise.
823	* testsuite/27_io/filesystem/path/generation/normal.cc: Use
824	compare_paths for more exhaustive checks. Add extra testcases.
825	* testsuite/27_io/filesystem/path/generation/proximate.cc: Use
826	compare_paths for more exhaustive checks.
827	* testsuite/27_io/filesystem/path/generation/relative.cc: Likewise.
828	* testsuite/27_io/filesystem/path/generic/generic_string.cc: Remove
829	unused header.
830	* testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: Fix
831	comment.
832	* testsuite/27_io/filesystem/path/modifiers/remove_filename.cc: Use
833	compare_paths for more exhaustive checks.
834	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
835	Likewise.
836	* testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
837	Likewise.
838	* testsuite/util/testsuite_fs.h (compare_paths): Also compare native
839	strings.
840
841	PR libstdc++/82706
842	* testsuite/27_io/filesystem/operations/permissions.cc: Fix test.
843
8442017-10-24  François Dumont  <fdumont@gcc.gnu.org>
845
846	* testsuite/lib/libstdc++.exp (check_v3_target_normal_mode): Add
847	c++config.h include.
848	(check_v3_target_normal_namespace): New.
849	* testsuite/lib/dg-options.exp (dg-require-normal-namespace): New.
850	* testsuite/18_support/headers/limits/synopsis.cc: Add latter.
851	* testsuite/20_util/from_chars/requirements.cc: Likewise.
852	* testsuite/20_util/headers/functional/synopsis.cc: Likewise.
853	* testsuite/20_util/headers/memory/synopsis.cc: Likewise.
854	* testsuite/20_util/headers/utility/synopsis.cc: Likewise.
855	* testsuite/20_util/to_chars/requirements.cc: Likewise.
856	* testsuite/21_strings/headers/string/synopsis.cc: Likewise.
857	* testsuite/22_locale/headers/locale/synopsis.cc: Likewise.
858	* testsuite/23_containers/headers/bitset/synopsis.cc: Likewise.
859	* testsuite/23_containers/headers/deque/synopsis.cc: Likewise.
860	* testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise.
861	* testsuite/23_containers/headers/list/synopsis.cc: Likewise.
862	* testsuite/23_containers/headers/map/synopsis.cc: Likewise.
863	* testsuite/23_containers/headers/queue/synopsis.cc: Likewise.
864	* testsuite/23_containers/headers/set/synopsis.cc: Likewise.
865	* testsuite/23_containers/headers/stack/synopsis.cc: Likewise.
866	* testsuite/23_containers/headers/vector/synopsis.cc: Likewise.
867	* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Likewise.
868	* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: Likewise.
869	* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: Likewise.
870	* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
871	* testsuite/24_iterators/headers/iterator/synopsis.cc: Likewise.
872	* testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: Likewise.
873	* testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: Likewise.
874	* testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: Likewise.
875	* testsuite/26_numerics/complex/abi_tag.cc: Likewise.
876	* testsuite/26_numerics/headers/complex/synopsis.cc: Likewise.
877	* testsuite/26_numerics/headers/valarray/synopsis.cc: Likewise.
878	* testsuite/27_io/headers/fstream/synopsis.cc: Likewise.
879	* testsuite/27_io/headers/ios/synopsis.cc: Likewise.
880	* testsuite/27_io/headers/istream/synopsis.cc: Likewise.
881	* testsuite/27_io/headers/ostream/synopsis.cc: Likewise.
882	* testsuite/27_io/headers/sstream/synopsis.cc: Likewise.
883	* testsuite/27_io/headers/streambuf/synopsis.cc: Likewise.
884
8852017-10-24  Jonathan Wakely  <jwakely@redhat.com>
886
887	* config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Ignore
888	-Wattribute-alias warnings.
889	* src/c++11/istream-inst.cc: Likewise.
890	* src/c++11/locale-inst.cc: Likewise.
891	* src/c++11/ostream-inst.cc: Likewise.
892	* src/c++11/wlocale-inst.cc: Likewise.
893	* src/c++98/hash-long-double-tr1-aux.cc: Likewise.
894
895	* include/bits/string_view.tcc (find_first_of, find_last_of)
896	(find_first_not_of, find_last_not_of): Add noexcept.
897	* include/std/string_view (basic_string_view(const _CharT*))
898	(basic_string_view(const _CharT*, size_type))
899	(front, back, remove_prefix, remove_suffix, find, rfind)
900	(find_first_of, find_first_not_of): Add noexcept.
901	(at(size_type), _S_compare(size_type, size_type)): Replace conditional
902	expressions with if statements.
903	(copy(_CharT*, size_type, size_type), substr(size_type, size_type)):
904	Use _M_check for length checks.
905	(compare(basic_string_view)): Reformat.
906	(_M_check(size_type, const char)): Add noexcept(false).
907	(_M_limit(size_type, size_type)): Use noexcept not _GLIBCXX_NOEXCEPT.
908
909	PR libstdc++/82685
910	* include/experimental/string_view (operator""sv): Add noexcept.
911	* include/std/string_view (operator""sv): Likewise.
912
9132017-10-23  Jonathan Wakely  <jwakely@redhat.com>
914
915	* include/Makefile.am: Add new headers for C++17 filesystem library.
916	* include/Makefile.in: Regenerate.
917	* include/bits/fs_dir.h: New header, based on Filesystem TS code in
918	include/experimental/bits directory.
919	* include/bits/fs_fwd.h: Likewise.
920	* include/bits/fs_ops.h: Likewise.
921	* include/bits/fs_path.h: Likewise.
922	* include/experimental/bits/fs_dir.h: Rename Doxygen group.
923	* include/experimental/bits/fs_fwd.h: Likewise.
924	* include/experimental/bits/fs_ops.h: Likewise.
925	* include/experimental/bits/fs_path.h: Likewise.
926	* include/experimental/filesystem (filesystem_error::_M_gen_what):
927	Remove inline definition.
928	* include/precompiled/stdc++.h: Add <filesystem> to precompiled
929	header.
930	* include/std/filesystem: New header.
931	* python/libstdcxx/v6/printers.py: Enable printer for std::filesystem
932	paths.
933	* src/filesystem/Makefile.am: Add new files. Compile as C++17.
934	* src/filesystem/Makefile.in: Regenerate.
935	* src/filesystem/cow-dir.cc: Update comment.
936	* src/filesystem/cow-ops.cc: Likewise.
937	* src/filesystem/cow-path.cc: Likewise.
938	* src/filesystem/cow-std-dir.cc: New file.
939	* src/filesystem/cow-std-ops.cc: New file.
940	* src/filesystem/cow-std-path.cc: New file.
941	* src/filesystem/dir-common.h (_Dir_base, get_file_type): New header
942	for common code.
943	* src/filesystem/dir.cc (_Dir): Derive from _Dir_base.
944	(open_dir): Move to _Dir_base constructor.
945	(get_file_type): Move to dir-common.h.
946	(recurse): Move to _Dir_base::should_recurse.
947	* src/filesystem/ops-common.h: New header for common code.
948	* src/filesystem/ops.cc (is_set, make_file_type, make_file_status)
949	(is_not_found_errno, file_time, do_copy_file): Move to ops-common.h.
950	* src/filesystem/path.cc (filesystem_error::_M_gen_what): Define.
951	* src/filesystem/std-dir.cc: New file, based on Filesystem TS code.
952	* src/filesystem/std-ops.cc: Likewise.
953	* src/filesystem/std-dir.cc: Likewise.
954	* testsuite/27_io/filesystem/iterators/directory_iterator.cc: New
955	test.
956	* testsuite/27_io/filesystem/iterators/pop.cc: New test.
957	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
958	New test.
959	* testsuite/27_io/filesystem/operations/absolute.cc: New test.
960	* testsuite/27_io/filesystem/operations/canonical.cc: New test.
961	* testsuite/27_io/filesystem/operations/copy.cc: New test.
962	* testsuite/27_io/filesystem/operations/copy_file.cc: New test.
963	* testsuite/27_io/filesystem/operations/create_directories.cc: New
964	test.
965	* testsuite/27_io/filesystem/operations/create_directory.cc: New test.
966	* testsuite/27_io/filesystem/operations/create_symlink.cc: New test.
967	* testsuite/27_io/filesystem/operations/current_path.cc: New test.
968	* testsuite/27_io/filesystem/operations/equivalent.cc: New test.
969	* testsuite/27_io/filesystem/operations/exists.cc: New test.
970	* testsuite/27_io/filesystem/operations/file_size.cc: New test.
971	* testsuite/27_io/filesystem/operations/is_empty.cc: New test.
972	* testsuite/27_io/filesystem/operations/last_write_time.cc: New test.
973	* testsuite/27_io/filesystem/operations/permissions.cc: New test.
974	* testsuite/27_io/filesystem/operations/proximate.cc: New test.
975	* testsuite/27_io/filesystem/operations/read_symlink.cc: New test.
976	* testsuite/27_io/filesystem/operations/relative.cc: New test.
977	* testsuite/27_io/filesystem/operations/remove_all.cc: New test.
978	* testsuite/27_io/filesystem/operations/space.cc: New test.
979	* testsuite/27_io/filesystem/operations/status.cc: New test.
980	* testsuite/27_io/filesystem/operations/symlink_status.cc: New test.
981	* testsuite/27_io/filesystem/operations/temp_directory_path.cc: New
982	test.
983	* testsuite/27_io/filesystem/operations/weakly_canonical.cc: New test.
984	* testsuite/27_io/filesystem/path/append/path.cc: New test.
985	* testsuite/27_io/filesystem/path/assign/assign.cc: New test.
986	* testsuite/27_io/filesystem/path/assign/copy.cc: New test.
987	* testsuite/27_io/filesystem/path/compare/compare.cc: New test.
988	* testsuite/27_io/filesystem/path/compare/path.cc: New test.
989	* testsuite/27_io/filesystem/path/compare/strings.cc: New test.
990	* testsuite/27_io/filesystem/path/concat/path.cc: New test.
991	* testsuite/27_io/filesystem/path/concat/strings.cc: New test.
992	* testsuite/27_io/filesystem/path/construct/copy.cc: New test.
993	* testsuite/27_io/filesystem/path/construct/default.cc: New test.
994	* testsuite/27_io/filesystem/path/construct/locale.cc: New test.
995	* testsuite/27_io/filesystem/path/construct/range.cc: New test.
996	* testsuite/27_io/filesystem/path/construct/string_view.cc: New test.
997	* testsuite/27_io/filesystem/path/decompose/extension.cc: New test.
998	* testsuite/27_io/filesystem/path/decompose/filename.cc: New test.
999	* testsuite/27_io/filesystem/path/decompose/parent_path.cc: New test.
1000	* testsuite/27_io/filesystem/path/decompose/relative_path.cc: New
1001	test.
1002	* testsuite/27_io/filesystem/path/decompose/root_directory.cc: New
1003	test.
1004	* testsuite/27_io/filesystem/path/decompose/root_name.cc: New test.
1005	* testsuite/27_io/filesystem/path/decompose/root_path.cc: New test.
1006	* testsuite/27_io/filesystem/path/decompose/stem.cc: New test.
1007	* testsuite/27_io/filesystem/path/generation/normal.cc: New test.
1008	* testsuite/27_io/filesystem/path/generation/proximate.cc: New test.
1009	* testsuite/27_io/filesystem/path/generation/relative.cc: New test.
1010	* testsuite/27_io/filesystem/path/generic/generic_string.cc: New test.
1011	* testsuite/27_io/filesystem/path/itr/traversal.cc: New test.
1012	* testsuite/27_io/filesystem/path/modifiers/clear.cc: New test.
1013	* testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: New
1014	test.
1015	* testsuite/27_io/filesystem/path/modifiers/remove_filename.cc: New
1016	test.
1017	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc: New
1018	test.
1019	* testsuite/27_io/filesystem/path/modifiers/replace_filename.cc: New
1020	test.
1021	* testsuite/27_io/filesystem/path/modifiers/swap.cc: New test.
1022	* testsuite/27_io/filesystem/path/native/string.cc: New test.
1023	* testsuite/27_io/filesystem/path/nonmember/hash_value.cc: New test.
1024	* testsuite/27_io/filesystem/path/query/empty.cc: New test.
1025	* testsuite/27_io/filesystem/path/query/has_extension.cc: New test.
1026	* testsuite/27_io/filesystem/path/query/has_filename.cc: New test.
1027	* testsuite/27_io/filesystem/path/query/has_parent_path.cc: New test.
1028	* testsuite/27_io/filesystem/path/query/has_relative_path.cc: New
1029	test.
1030	* testsuite/27_io/filesystem/path/query/has_root_directory.cc: New
1031	test.
1032	* testsuite/27_io/filesystem/path/query/has_root_name.cc: New test.
1033	* testsuite/27_io/filesystem/path/query/has_root_path.cc: New test.
1034	* testsuite/27_io/filesystem/path/query/has_stem.cc: New test.
1035	* testsuite/27_io/filesystem/path/query/is_relative.cc: New test.
1036	* testsuite/experimental/filesystem/path/construct/string_view.cc:
1037	Define USE_FILESYSTEM_TS.
1038	* testsuite/util/testsuite_fs.h: Allow use with C++17 paths as well
1039	as Filesystem TS.
1040
1041	PR libstdc++/82644
1042	* doc/xml/manual/intro.xml: Include new section.
1043	* doc/xml/manual/status_cxxis29124.xml: New section on IS 29124
1044	status.
1045	* include/bits/specfun.h [__STRICT_ANSI__] (hyperg, hypergf, hypergl)
1046	(conf_hyperg, conf_hypergf, conf_hypergl): Don't declare.
1047	* include/c_compatibility/math.h: Import special functions into
1048	global namespace for C++17.
1049	* testsuite/26_numerics/headers/cmath/82644.cc: New test.
1050	* testsuite/26_numerics/headers/cmath/functions_global_c++17.cc: New
1051	test.
1052
10532017-10-21  Jonathan Wakely  <jwakely@redhat.com>
1054
1055	* testsuite/experimental/filesystem/path/itr/traversal.cc: Do not
1056	increment past-the-end iterators.
1057
10582017-10-20  Jonathan Wakely  <jwakely@redhat.com>
1059
1060	* include/std/chrono (__cpp_lib_chrono): Update macro value to
1061	indicate support for P0505R0.
1062	* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Check
1063	for updated macro.
1064
1065	* include/c_global/cstddef: Define __cpp_lib_byte feature-test macro.
1066	* testsuite/18_support/byte/requirements.cc: Check macro.
1067
10682017-10-19  Jonathan Wakely  <jwakely@redhat.com>
1069
1070	* testsuite/experimental/filesystem/iterators/
1071	recursive_directory_iterator.cc: Ensure that error_code arguments are
1072	cleared when required.
1073	* testsuite/experimental/filesystem/operations/create_directory.cc:
1074	Remove redundant check.
1075	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
1076	Ensure that error_code argument is cleared when required.
1077
1078	* include/experimental/bits/fs_path.h (path::iterator++(int))
1079	(path::iterator--(int)): Fix for paths with only one component.
1080	* testsuite/experimental/filesystem/path/itr/traversal.cc: Test
1081	post-increment and post-decrement.
1082
1083	* doc/xml/manual/status_cxx2017.xml: Update references to C++17
1084	section numbers.
1085
1086	* testsuite/decimal/conversion-to-integral.cc: Use predefined macro
1087	instead of non-standard glibc one.
1088
10892017-10-16  François Dumont  <fdumont@gcc.gnu.org>
1090
1091	PR libstdc++/82558
1092	* include/bits/stl_bvector.h (fill): Add iterator offset check.
1093	* testsuite/23_containers/vector/bool/82558.cc: New.
1094
10952017-10-13  Jonathan Wakely  <jwakely@redhat.com>
1096
1097	PR libstdc++/82522
1098	* doc/xml/manual/intro.xml: Document LWG 2354 changes.
1099	* include/bits/stl_map.h (map::insert(value_type&&))
1100	(map::insert(const_iterator, value_type&&)): Add overload for rvalues.
1101	* include/bits/stl_multimap.h (multimap::insert(value_type&&))
1102	(multimap::insert(const_iterator, value_type&&)): Likewise.
1103	* include/bits/unordered_map.h (unordered_map::insert(value_type&&))
1104	(unordered_map::insert(const_iterator, value_type&&))
1105	(unordered_multimap::insert(value_type&&))
1106	(unordered_multimap::insert(const_iterator, value_type&&)): Likewise.
1107	* testsuite/23_containers/map/modifiers/insert/dr2354.cc: New test.
1108	* testsuite/23_containers/multimap/modifiers/insert/dr2354.cc: New
1109	test.
1110	* testsuite/23_containers/unordered_map/insert/dr2354.cc: New test.
1111	* testsuite/23_containers/unordered_multimap/insert/dr2354.cc: New
1112	test.
1113
1114	PR libstdc++/82481
1115	* include/std/mutex (call_once): Suppress clang-tidy warnings about
1116	dangling references.
1117
11182017-10-10  Jonathan Wakely  <jwakely@redhat.com>
1119
1120	* include/bits/streambuf_iterator.h (istreambuf_iterator::equal):
1121	Update comment about NAD issue.
1122
1123	PR libstdc++/59087
1124	PR libstdc++/82417
1125	* include/c_compatibility/complex.h [!C++98 && __STRICT_ANSI__]: Do
1126	not include C library's <complex.h>.
1127	* testsuite/26_numerics/complex/c99.cc: Depend on __STRICT_ANSI__.
1128	* testsuite/26_numerics/headers/complex.h/std_c++11.h: New test.
1129	* testsuite/26_numerics/headers/complex.h/std_gnu++11.h: New test.
1130	* testsuite/26_numerics/headers/complex.h/std_c++98.h: New test.
1131
11322017-10-05  Jonathan Wakely  <jwakely@redhat.com>
1133
1134	* testsuite/20_util/to_chars/1.cc: Add dg-require-string-conversions.
1135
11362017-10-04  Petr Ovtchenkov  <ptr@void-ptr.info>
1137	    François Dumont  <fdumont@gcc.gnu.org>
1138
1139	* include/bits/streambuf_iterator.h
1140	(istreambuf_iterator<>::operator*()): Do not capture iterator state
1141	in Debug assertion.
1142	(istreambuf_iterator<>::operator++()): Likewise and remove _M_sbuf check.
1143	(istreambuf_iterator<>::operator++(int)): Likewise.
1144	(istreambuf_iterator<>::_M_get()): Remove _M_c assignment.
1145	(istreambuf_iterator<>::_S_is_eof()): New.
1146	(istreambuf_iterator<>::_M_at_eof()): Adapt, use latter.
1147	(find(istreambuf_iterator<>, istreambuf_iterator<>, _CharT)):
1148	Return an iterator with _M_c set to eof to capture streambuf state
1149	on evaluation.
1150	(testsuite/24_iterators/istreambuf_iterator/2.cc): Add checks.
1151
11522017-10-03  Jakub Jelinek  <jakub@redhat.com>
1153
1154	* include/std/charconv (__unsigned_least_t): Fix number of closing >s for
1155	!_GLIBCXX_USE_INT128.
1156
11572017-10-02  Jonathan Wakely  <jwakely@redhat.com>
1158
1159	* include/Makefile.am: Add new <charconv> header.
1160	* include/Makefile.in: Regenerate.
1161	* include/precompiled/stdc++.h: Include <charconv>.
1162	* include/std/charconv: New file.
1163	(to_chars_result, to_chars, from_chars_result, from_chars): Define.
1164	* testsuite/20_util/from_chars/1.cc: New test.
1165	* testsuite/20_util/from_chars/1_neg.cc: New test.
1166	* testsuite/20_util/from_chars/2.cc: New test.
1167	* testsuite/20_util/from_chars/requirements.cc: New test.
1168	* testsuite/20_util/to_chars/1.cc: New test.
1169	* testsuite/20_util/to_chars/1_neg.cc: New test.
1170	* testsuite/20_util/to_chars/2.cc: New test.
1171	* testsuite/20_util/to_chars/requirements.cc: New test.
1172
11732017-09-27  François Dumont  <fdumont@gcc.gnu.org>
1174
1175	* testsuite/22_locale/money_get/get/char/22131.cc: Make test less
1176	istreambuf_iterator implementation dependent.
1177	* testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
1178
11792017-09-25  Uros Bizjak  <ubizjak@gmail.com>
1180
1181	PR c/81854
1182	* src/c++98/complex_io.cc (_GLIBCXX_LDBL_COMPAT): Declare alias
1183	target as a C++ function with no prototype.
1184
11852017-09-21  Jonathan Wakely  <jwakely@redhat.com>
1186
1187	* testsuite/25_algorithms/clamp/1.cc: Fix order of arguments and
1188	expected results when using predicate defining reverse order.
1189	* testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
1190
11912017-09-20  Jonathan Wakely  <jwakely@redhat.com>
1192
1193	PR libstdc++/79162
1194	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
1195	(basic_string::_If_sv): Remove from the overload set when the
1196	argument is derived from basic_string.
1197
1198	PR libstdc++/79162
1199	* include/bits/basic_string.h (basic_string::_If_sv): Remove from the
1200	overload set when the argument is derived from basic_string.
1201	* testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: New
1202	test.
1203	* testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc:
1204	New test.
1205
1206	* testsuite/24_iterators/range_access_cpp17.cc: Fix order of dg-do
1207	and dg-options directives. Fix invalid test.
1208
1209	PR libstdc++/81469
1210	* libsupc++/exception (uncaught_exception): Deprecate for C++17.
1211	* testsuite/18_support/exception_ptr/62258.cc: Add -Wno-deprecated.
1212	* testsuite/18_support/uncaught_exception/14026.cc: Likewise.
1213
1214	* include/bits/c++config (_GLIBCXX17_DEPRECATED): Define.
1215	* include/bits/functional_hash.h (__hash_base::result_type)
1216	(__hash_base::argument_type): Add _GLIBCXX17_DEPRECATED.
1217	* include/std/optional (hash<optional<T>>::result_type)
1218	(hash<optional<T>>::argument_type): Add deprecated attribute.
1219	(__is_fast_hash<hash<optional<T>>>): Add partial specialization.
1220	* include/std/variant (hash<variant<Types...>>::result_type)
1221	(hash<variant<Types...>>::argument_type): Add deprecated attribute.
1222	(__is_fast_hash<hash<variant<Types...>>>): Add partial specialization.
1223
1224	* libsupc++/exception_ptr.h (copy_exception): Remove deprecated
1225	non-standard function.
1226
1227	PR libstdc++/82262
1228	* include/std/optional (__optional_hash_call_base): Add template
1229	parameter for remove_const_t<_Tp> and use it consistently.
1230	* testsuite/20_util/optional/hash.cc: Test optional<const T>.
1231
12322017-09-19  Jonathan Wakely  <jwakely@redhat.com>
1233
1234	PR libstdc++/71500
1235	* include/bits/regex_executor.tcc
1236	(_Backref_matcher<BidIt, regex_traits<C>>::_M_apply): Use
1237	std::__equal4 instead of C++14 4-iterator overloads of std::equal.
1238	* include/bits/stl_algobase.h (__equal4): New functions implementing
1239	4-iterator overloads of std::equal for use in C++11.
1240	(equal(It1, It1, It2, It2), equal(It1, It1, It2, It2, BinaryPred)):
1241	Move function bodies to new __equal4 functions.
1242	* testsuite/28_regex/simple_c++11.cc: New.
1243
1244	PR libstdc++/82254
1245	* include/std/type_traits (__is_invocable): Add partial specialization
1246	for INVOKE<void> case and remove is_void<R> check from partial
1247	specialization for INVOKE<R> case.
1248	(__is_nt_invocable_impl): New helper for is_nothrow_invocable_r.
1249	(is_nothrow_invocable_r): Use __is_nt_invocable_impl.
1250	* testsuite/20_util/is_nothrow_invocable/value.cc: Add tests for
1251	conversions that can throw or fail to convert. Use static assert
1252	strings to explain negative results.
1253	* testsuite/20_util/is_nothrow_invocable/value_ext.cc: Use
1254	is_nothrow_constructible in is_nt_invocable_conv.
1255
12562017-09-18  Jonathan Wakely  <jwakely@redhat.com>
1257
1258	PR libstdc++/81468
1259	* testsuite/20_util/duration/cons/dr1177.cc: Fix incorrect test and
1260	improve static assertion messages.
1261
1262	* include/std/utility (_Itup_cat, _Make_integer_sequence): Remove.
1263	(_Build_index_tuple, make_integer_sequence): Use built-in to generate
1264	pack expansion.
1265
1266	PR libstdc++/71187
1267	* include/std/type_traits (__declval): New function to deduce return
1268	type of declval.
1269	(__declval_protector::_delegate): Remove.
1270	(declval): Use __declval instead of add_rvalue_reference and
1271	__declval_protector::__delegate.
1272	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1273	lineno.
1274	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1275	Likewise.
1276	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1277	Likewise.
1278
12792017-09-15  Jakub Jelinek  <jakub@redhat.com>
1280
1281	* testsuite/libstdc++-prettyprinters/cxx17.cc: Use -std=c++17 or
1282	-std=gnu++17 instead of -std=c++1z or -std=gnu++1z.  Use c++17 instead
1283	of c++1z and c++17_only instead of c++1z_only.  Adjust expected
1284	diagnostics and comments refering to 1z to 17.
1285	* testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise.
1286	* testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise.
1287	* testsuite/30_threads/scoped_lock/cons/1.cc: Likewise.
1288	* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Likewise.
1289	* testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc:
1290	Likewise.
1291	* testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise.
1292	* testsuite/18_support/launder/1.cc (test02): Likewise.
1293	* testsuite/18_support/launder/requirements_neg.cc: Likewise.
1294	* testsuite/18_support/launder/requirements.cc: Likewise.
1295	* testsuite/18_support/byte/requirements.cc: Likewise.
1296	* testsuite/18_support/byte/ops.cc: Likewise.
1297	* testsuite/18_support/byte/global_neg.cc: Likewise.
1298	* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
1299	Likewise.
1300	* testsuite/27_io/types/4.cc: Likewise.
1301	* testsuite/25_algorithms/sample/81221.cc: Likewise.
1302	* testsuite/25_algorithms/sample/1.cc: Likewise.
1303	* testsuite/25_algorithms/sample/2.cc: Likewise.
1304	* testsuite/25_algorithms/search/searcher.cc: Likewise.
1305	* testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise.
1306	* testsuite/experimental/filesystem/path/construct/string_view.cc:
1307	Likewise.
1308	* testsuite/24_iterators/range_access_cpp17.cc: Likewise.
1309	* testsuite/24_iterators/container_access.cc: Likewise.
1310	* testsuite/ext/pb_ds/regression/hash_map_rand.cc: Likewise.
1311	* testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
1312	* testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
1313	* testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
1314	* testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
1315	* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
1316	* testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
1317	* testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
1318	* testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
1319	* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
1320	* testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise.
1321	* testsuite/20_util/shared_ptr/cons/array.cc: Likewise.
1322	* testsuite/20_util/shared_ptr/observers/array.cc (struct A): Likewise.
1323	* testsuite/20_util/pair/cons/deduction.cc: Likewise.
1324	* testsuite/20_util/variant/deduction.cc: Likewise.
1325	* testsuite/20_util/tuple/78939.cc: Likewise.
1326	* testsuite/20_util/tuple/cons/deduction.cc: Likewise.
1327	* testsuite/20_util/void_t/1.cc: Likewise.
1328	* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Likewise.
1329	* testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise.
1330	* testsuite/20_util/addressof/requirements/constexpr.cc: Likewise.
1331	* testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise.
1332	* testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc:
1333	Likewise.
1334	* testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc:
1335	Likewise.
1336	* testsuite/20_util/has_unique_object_representations/value.cc:
1337	Likewise.
1338	* testsuite/20_util/time_point/arithmetic/constexpr.cc: Likewise.
1339	* testsuite/20_util/function_objects/invoke/59768.cc: Likewise.
1340	* testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise.
1341	* testsuite/20_util/function/cons/deduction.cc: Likewise.
1342	* testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
1343	Likewise.
1344	* testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise.
1345	* testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
1346	Likewise.
1347	* testsuite/20_util/is_aggregate/value.cc: Likewise.
1348	* testsuite/26_numerics/lcm/1.cc: Likewise.
1349	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
1350	* testsuite/26_numerics/gcd/1.cc: Likewise.
1351	* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
1352	* testsuite/26_numerics/valarray/deduction.cc: Likewise.
1353	* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Likewise.
1354	* testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
1355	* testsuite/23_containers/queue/members/emplace_cxx17_return.cc:
1356	Likewise.
1357	* testsuite/23_containers/array/cons/deduction.cc: Likewise.
1358	* testsuite/23_containers/array/cons/deduction_neg.cc: Likewise.
1359	* testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
1360	Likewise.
1361	* testsuite/23_containers/deque/cons/deduction.cc: Likewise.
1362	* testsuite/23_containers/stack/members/emplace_cxx17_return.cc:
1363	Likewise.
1364	* testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc:
1365	Likewise.
1366	* testsuite/23_containers/list/cons/deduction.cc: Likewise.
1367	* testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc:
1368	Likewise.
1369	* testsuite/23_containers/forward_list/cons/deduction.cc: Likewise.
1370	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Likewise.
1371	* testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
1372	Likewise.
1373	* testsuite/23_containers/vector/cons/deduction.cc: Likewise.
1374	* testsuite/23_containers/vector/bool/emplace_cxx17_return.cc:
1375	Likewise.
1376	* testsuite/21_strings/basic_string/cons/char/9.cc: Likewise.
1377	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Likewise.
1378	* testsuite/21_strings/basic_string/cons/char/79162.cc: Likewise.
1379	* testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise.
1380	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
1381	Likewise.
1382	* testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: Likewise.
1383	* testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
1384	Likewise.
1385	* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
1386	Likewise.
1387	* testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
1388	Likewise.
1389	* testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc:
1390	Likewise.
1391	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc:
1392	Likewise.
1393	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
1394	Likewise.
1395
13962017-09-13  Jonathan Wakely  <jwakely@redhat.com>
1397
1398	PR libstdc++/81468
1399	* include/std/chrono (__enable_if_is_duration)
1400	(__disable_if_is_duration): New alias templates to simplify SFINAE.
1401	(duration_cast, floor, ceil): Use __enable_if_is_duration.
1402	(duration::__is_float, duration::__is_harmonic): New alias templates
1403	to simplify SFINAE.
1404	(duration::duration(const _Rep2&)): Use _Require, __is_float and
1405	__is_harmonic.
1406	(duration::duration(const duration<_Rep2, _Period2>&)): Likewise.
1407	(__common_rep_type): Remove, replace with ...
1408	(__common_rep_t): New alias template.
1409	(operator*, operator/, operator%): Use __common_rep_t and
1410	__disable_if_is_duration.
1411	(time_point::time_point(const time_point<clock, _Dur2>&)): Add missing
1412	constraint from LWG DR 1177.
1413	* testsuite/20_util/duration/cons/dr1177.cc: New.
1414	* testsuite/20_util/duration/literals/range.cc: Update dg-error line.
1415	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
1416	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1417	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1418	* testsuite/20_util/time_point/cons/81468.cc: New.
1419
1420	* doc/doxygen/mainpage.html: Fix broken URLs.
1421
1422	PR libstdc++/81835
1423	* doc/xml/manual/extensions.xml: Replace unstable URL.
1424	* doc/html/manual/ext_demangling.html: Regenerate.
1425	* libsupc++/cxxabi.h (__cxa_demangle): Fix broken URL.
1426
1427	* include/bits/allocated_ptr.h (__allocated_ptr::get): Use
1428	__to_address.
1429	(__allocated_ptr::_S_raw_ptr): Remove.
1430	* include/bits/forward_list.h (_Fwd_list_base::_M_get_node): Use
1431	__to_address.
1432	* include/bits/hashtable_policy.h (_Hashtable_alloc): Likewise.
1433	* include/bits/ptr_traits.h (__to_address): Define new function
1434	template.
1435	* include/bits/shared_ptr_base.h (__shared_ptr): Use __to_address.
1436	(__shared_ptr::_S_raw_ptr): Remove.
1437	* include/bits/stl_vector.h [__cplusplus >= 201103L]
1438	(vector::_M_data_ptr): Use __to_address.
1439	[__cplusplus < 201103L] (vector::_M_data_ptr): Don't dereference
1440	possibly invalid pointers.
1441	* include/ext/alloc_traits.h (__alloc_traits::construct)
1442	(__alloc_traits::destroy): Use __to_address.
1443
14442017-09-12  Jonathan Wakely  <jwakely@redhat.com>
1445
1446	PR libstdc++/79433
1447	* include/Makefile.am: Remove <bits/c++14_warning.h>.
1448	* include/Makefile.in: Regenerate.
1449	* include/bits/c++14_warning.h: Remove.
1450	* include/experimental/algorithm: Do not include <c++14_warning.h>.
1451	* include/experimental/any: Likewise.
1452	* include/experimental/array: Likewise.
1453	* include/experimental/bits/erase_if.h: Likewise.
1454	* include/experimental/bits/lfts_config.h: Likewise.
1455	* include/experimental/bits/shared_ptr.h: Likewise.
1456	* include/experimental/bits/string_view.tcc: Likewise.
1457	* include/experimental/chrono: Likewise.
1458	* include/experimental/deque: Likewise.
1459	* include/experimental/filesystem: Do not include <c++0x_warning.h>.
1460	* include/experimental/forward_list: Do not include <c++14_warning.h>.
1461	* include/experimental/functional: Likewise.
1462	* include/experimental/iterator: Likewise.
1463	* include/experimental/list: Likewise.
1464	* include/experimental/map: Likewise.
1465	* include/experimental/memory: Likewise.
1466	* include/experimental/numeric: Likewise.
1467	* include/experimental/optional: Likewise.
1468	* include/experimental/propagate_const: Likewise.
1469	* include/experimental/ratio: Likewise.
1470	* include/experimental/regex: Likewise.
1471	* include/experimental/set: Likewise.
1472	* include/experimental/string: Likewise.
1473	* include/experimental/string_view: Likewise.
1474	* include/experimental/system_error: Likewise.
1475	* include/experimental/tuple: Likewise.
1476	* include/experimental/type_traits: Likewise.
1477	* include/experimental/unordered_map: Likewise.
1478	* include/experimental/unordered_set: Likewise.
1479	* include/experimental/vector: Likewise.
1480	* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error
1481	line number.
1482	* testsuite/experimental/array/neg.cc: Likewise.
1483	* testsuite/experimental/propagate_const/assignment/move_neg.cc:
1484	Likewise.
1485	* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
1486	* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
1487	* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
1488	* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
1489	* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
1490
1491	PR libstdc++/79433
1492	* doc/xml/manual/status_cxx2017.xml: Update feature-test macros.
1493	* doc/html/*: Regenerate.
1494	* include/Makefile.am: Remove <bits/c++17_warning.h>.
1495	* include/Makefile.in: Regenerate.
1496	* include/bits/c++17_warning.h: Remove.
1497	* include/bits/string_view.tcc: Do not include <bits/c++17_warning.h>
1498	for pre-C++17 modes.
1499	* include/std/any: Likewise.
1500	(__cpp_lib_any): Define.
1501	* include/std/mutex (__cpp_lib_scoped_lock): Adjust value as per new
1502	SD-6 draft.
1503	* include/std/numeric (__cpp_lib_gcd_lcm): Define as per new SD-6
1504	draft.
1505	* include/std/optional: Do not include <bits/c++17_warning.h>.
1506	(__cpp_lib_optional): Define.
1507	* include/std/shared_mutex: Do not include <bits/c++14_warning.h>.
1508	* include/std/string_view: Do not include <bits/c++17_warning.h>.
1509	(__cpp_lib_string_view): Define.
1510	* include/std/variant: Do not include <bits/c++17_warning.h>.
1511	(__cpp_lib_variant): Define.
1512	* testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error line
1513	numbers.
1514	* testsuite/26_numerics/gcd/1.cc: Test for __cpp_lib_gcd_lcm.
1515	* testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line
1516	numbers.
1517	* testsuite/26_numerics/lcm/1.cc: Test for __cpp_lib_gcd_lcm.
1518	* testsuite/26_numerics/lcm/lcm_neg.cc: Adjust dg-error line
1519	numbers.
1520	* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Adjust
1521	expected value of __cpp_lib_scoped_lock.
1522
1523	PR libstdc++/70483
1524	* include/experimental/bits/string_view.tcc (basic_string_view::find)
1525	(basic_string_view::rfind, basic_string_view::find_first_of)
1526	(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
1527	(basic_string_view::find_last_not_of): Add constexpr specifier.
1528	* include/experimental/string_view (basic_string_view::remove_prefix)
1529	(basic_string_view::remove_suffix, basic_string_view::swap)
1530	(basic_string_view::compare, basic_string_view::find)
1531	(basic_string_view::rfind, basic_string_view::find_first_of)
1532	(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
1533	(basic_string_view::find_last_not_of, operator==, operator!=)
1534	(operator<, operator>, operator<=, operator>=): Likewise.
1535	* testsuite/experimental/string_view/operations/compare/char/70483.cc:
1536	New.
1537
15382017-09-11  Jonathan Wakely  <jwakely@redhat.com>
1539
1540	PR libstdc++/70483
1541	* include/bits/string_view.tcc (basic_string_view::find)
1542	(basic_string_view::rfind, basic_string_view::find_first_of)
1543	(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
1544	(basic_string_view::find_last_not_of): Add constexpr specifier.
1545	* include/std/string_view (basic_string_view::operator=)
1546	(basic_string_view::rbegin, basic_string_view::rend)
1547	(basic_string_view::crbegin, basic_string_view::crend)
1548	(basic_string_view::remove_prefix, basic_string_view::remove_suffix)
1549	(basic_string_view::swap, basic_string_view::compare)
1550	(basic_string_view::find, basic_string_view::rfind)
1551	(basic_string_view::find_first_of, basic_string_view::find_last_of)
1552	(basic_string_view::find_first_not_of)
1553	(basic_string_view::find_last_not_of, basic_string_view::_M_check)
1554	(basic_string_view::_M_limit, operator==, operator!=, operator<)
1555	(operator>, operator<=, operator>=): Likewise.
1556	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
1557	char/1.cc: Repeat tests in constexpr context.
1558	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
1559	wchar_t/1.cc: Likewise.
1560	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
1561	char/1.cc: Likewise.
1562	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
1563	wchar_t/1.cc: Likewise.
1564	* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1565	Likewise.
1566	* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1567	Likewise.
1568	* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1569	Likewise.
1570	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
1571	Likewise.
1572	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
1573	Likewise.
1574	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
1575	Likewise.
1576	* testsuite/21_strings/basic_string_view/operators/char/2.cc:
1577	Likewise.
1578	* testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
1579	Likewise.
1580	* testsuite/21_strings/basic_string_view/range_access/char/1.cc: Test
1581	cbegin, cend, rbegin, rend, crbegin and crend.
1582	* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
1583	Likewise.
1584	* testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1585	Remove trailing whitespace.
1586	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1587	1.cc: Likewise.
1588	* testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
1589	New.
1590	* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
1591	New.
1592	* testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
1593	New.
1594	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1595	2.cc: New.
1596
15972017-09-11  Tim Shen  <timshen@google.com>
1598
1599	PR libstdc++/71500
1600	* include/bits/regex_executor.tcc: Support icase in regex_traits<...>
1601	for back reference matches.
1602	* testsuite/28_regex/regression.cc: Test case.
1603
16042017-09-11  Jonathan Wakely  <jwakely@redhat.com>
1605
1606	* testsuite/21_strings/basic_string/lwg2946.cc: Adjust for
1607	compatibility with old COW std::string.
1608
16092017-09-09  Gerald Pfeifer  <gerald@pfeifer.com>
1610
1611	* doc/xml/manual/allocator.xml: Adjust link for Hoard.
1612	* doc/html/manual/memory.html: Regenerate.
1613
16142017-09-04  Daniel Kruegler  <daniel.kruegler@gmail.com>
1615
1616	PR libstdc++/79162
1617	Implement LWG 2946, LWG 2758's resolution missed further corrections
1618	* include/bits/basic_string.h (basic_string::compare): Add missing
1619	required noexcept specifications.
1620	(basic_string): Introduce internal _S_to_string_view and __sv_wrapper
1621	for implicit string_view conversion.
1622	(basic_string::basic_string): Fix explicit string_view conversion by
1623	implicit conversion using _S_to_string_view and __sv_wrapper.
1624	(basic_string): Introduce internal basic_string(__sv_wrapper, Alloc)
1625	constructor.
1626	(basic_string): Fix operator=(T) template by operator=(const T&)
1627	template for uncopyable types (PR 79162).
1628	(basic_string::operator+=, basic_string::append, basic_string::assign)
1629	(basic_string::insert, basic_string::replace, basic_string::find)
1630	(basic_string::rfind, basic_string::find_first_of)
1631	(basic_string::find_last_of, basic_string::find_first_not_of)
1632	(basic_string::find_last_not_of, basic_string::compare): Replace
1633	__sv_type argument by template const T& (LWG 2946) and correct
1634	documentation describing __sv_type argument.
1635	(basic_string::find, basic_string::rfind, basic_string::find_first_of)
1636	(basic_string::find_last_of, basic_string::find_first_not_of)
1637	(basic_string::find_last_not_of, basic_string::compare): Replace
1638	unconditional noexcept specification by conditional noexcept
1639	specification to partially balance the removal of noexcept by LWG 2946.
1640	* testsuite/21_strings/basic_string/79162.cc: New.
1641	* testsuite/21_strings/basic_string/lwg2946.cc: New.
1642
16432017-08-31  Jonathan Wakely  <jwakely@redhat.com>
1644
1645	PR c++/82039
1646	* include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate):
1647	Adjust null pointer constant to avoid warning.
1648
16492017-08-24  François Dumont  <fdumont@gcc.gnu.org>
1650
1651	* include/bits/stl_list.h
1652	[!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove.
1653	(_List_impl(_Node_alloc_type&&, _List_impl&&)): New.
1654	(_List_base(_Node_alloc_type&&, _List_base&&)): New, use latter.
1655	[!_GLIBCXX_INLINE_VERSION](_List_base(_Node_alloc_type&&,_List_base&&)):
1656	Remove.
1657	(_List_base(_Node_alloc_type&&)): New.
1658	[!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_distance): Remove.
1659	[!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_node_count): Remove.
1660	(list<>::_M_node_count): New.
1661	(list<>::size()): Adapt to call latter.
1662	(list<>::_S_distance(const_iterator, const_iterator)): New.
1663	(list<>::splice(iterator, list&, const_iterator, const_iterator)):
1664	Adapt to call latter.
1665	(list(list&&, const allocator_type&, true_type)): New.
1666	(list(list&&, const allocator_type&, false_type)): New.
1667	(list(list&&, const allocator_type&)): Adapt to call latters.
1668
16692017-08-21  Jonathan Wakely  <jwakely@redhat.com>
1670
1671	PR libstdc++/81912
1672	* include/bits/stl_iterator_base_types.h (__iterator_category): Add
1673	constexpr for C++11 and later.
1674	* testsuite/24_iterators/container_access.cc: Add target selector.
1675	* testsuite/24_iterators/range_access.cc: Fix clause number in
1676	comment.
1677	* testsuite/24_iterators/range_access_cpp14.cc: Likewise.
1678	* testsuite/24_iterators/range_access_cpp17.cc: New.
1679
16802017-08-21  Richard Biener  <rguenther@suse.de>
1681
1682	* testsuite/libstdc++-prettyprinters/prettyprinters.exp: Run all
1683	tests with -flto as well if supported.
1684
16852017-08-20  Martin Sebor  <msebor@redhat.com>
1686
1687	PR c/81854
1688	* src/c++98/compatibility.cc (_GLIBCXX_3_4_SYMVER): Declare alias
1689	target as a C++ function with no prototype.
1690	(_GLIBCXX_3_4_5_SYMVER): Ditto.
1691
16922017-08-20  John David Anglin  <danglin@gcc.gnu.org>
1693
1694	PR testsuite/81056
1695	* testsuite/17_intro/names.cc: Undef 'd' and 'r' on __hpux__.
1696
16972017-08-18  Jonathan Wakely  <jwakely@redhat.com>
1698
1699	* include/bits/hashtable_policy.h (_ReuseOrAllocNode): Remove
1700	__value_alloc_type and __value_alloc_traits typedefs.
1701	(_ReuseOrAllocNode::operator()): Call construct and destroy on the
1702	node allocator.
1703	(_Hashtable_alloc): Simplify __value_alloc_traits typedef.
1704	(_Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&...)): Call
1705	construct on the node allocator.
1706	(_Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_type*)): Call
1707	destroy on the node allocator.
1708
1709	PR libstdc++/81891
1710	* include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator,
1711	size_type, const _H1&, const _H2&, const _Hash&, const _Equal&,
1712	const _ExtractKey&, const allocator_type&)): Let destructor do clean
1713	up if an exception is thrown.
1714	* testsuite/23_containers/unordered_map/cons/81891.cc: New.
1715
17162017-08-11  Jonathan Wakely  <jwakely@redhat.com>
1717
1718	PR libstdc++/81808
1719	* testsuite/27_io/basic_fstream/53984.cc: Adjust test for targets
1720	that allow opening a directory as a FILE and reading from it.
1721
17222017-08-09  Jonathan Wakely  <jwakely@redhat.com>
1723
1724	* include/std/type_traits (_GLIBCXX_NO_BUILTIN_HAS_UNIQ_OBJ_REP):
1725	Replace with _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP and use
1726	__is_identifier to set it.
1727
17282017-08-09  Katsuhiko Nishimra  <ktns.87@gmail.com>
1729
1730	* include/std/type_traits (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE): Use
1731	__is_identifier instead of __has_builtin.
1732
17332017-08-09  Jonathan Wakely  <jwakely@redhat.com>
1734
1735	PR libstdc++/79820
1736	PR libstdc++/81751
1737	* config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)):
1738	Call fflush on the stream instead of calling sync() while _M_cfile is
1739	null. Restore original value of errno.
1740	* testsuite/ext/stdio_filebuf/char/79820.cc: New.
1741	* testsuite/ext/stdio_filebuf/char/81751.cc: New.
1742
17432017-07-31  Marek Polacek  <polacek@redhat.com>
1744
1745	PR libstdc++/81599
1746	* include/bits/stl_stack.h: Fix typo.
1747
17482017-07-26  Jonathan Wakely  <jwakely@redhat.com>
1749
1750	* testsuite/27_io/basic_fstream/53984.cc: Fix test.
1751
17522017-07-26  Paolo Carlini  <paolo.carlini@oracle.com>
1753
1754	* testsuite/27_io/basic_fstream/53984.cc: Fix typo in dg-require
1755	directive.
1756
17572017-07-25  Jonathan Wakely  <jwakely@redhat.com>
1758
1759	PR libstdc++/53984
1760	* include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment.
1761	* include/bits/istream.tcc (basic_istream::sentry): Handle exceptions
1762	during construction.
1763	* include/std/istream: Adjust comments for formatted input functions
1764	and unformatted input functions.
1765	* testsuite/27_io/basic_fstream/53984.cc: New.
1766	* testsuite/27_io/basic_istream/sentry/char/53984.cc: New.
1767
1768	* include/bits/ios_base.h (ios_base::io_state, ios_base::open_mode)
1769	(ios_base::seek_dir): Remove for C++17.
1770	* include/std/streambuf (basic_streambuf::stossc): Remove for C++17.
1771	Add deprecated attribute for C++11 and C++14.
1772	* testsuite/27_io/types/1.cc: Don't run for C++17 and later.
1773	* testsuite/27_io/types/4.cc: New.
1774
17752017-07-23  Michael Collison  <michael.collison@arm.com>
1776
1777	Add optimized implementation of mersenne twister for aarch64
1778	* config/cpu/aarch64/opt/ext/opt_random.h: New file.
1779	(__arch64_recursion): New function.
1780	(__aarch64_lsr_128): New function.
1781	(__aarch64_lsl_128): New function.
1782	(operator==): New function.
1783	(simd_fast_mersenne_twister_engine): Implement
1784	method _M_gen_rand.
1785	* config/cpu/aarch64/opt/bits/opt_random.h: New file.
1786	* include/ext/random: (simd_fast_mersenne_twister_engine):
1787	add _M_state private array.
1788
17892017-07-23  François Dumont  <fdumont@gcc.gnu.org>
1790
1791	PR libstdc++/81064
1792	* include/bits/algorithmfwd.h: Reorganize versioned namespace.
1793	* include/bits/basic_string.h: Likewise.
1794	* include/bits/c++config: Likewise.
1795	* include/bits/deque.tcc: Likewise.
1796	* include/bits/forward_list.h: Likewise.
1797	* include/bits/forward_list.tcc: Likewise.
1798	* include/bits/hashtable_policy.h: Likewise.
1799	* include/bits/list.tcc: Likewise.
1800	* include/bits/move.h: Likewise.
1801	* include/bits/quoted_string.h: Likewise.
1802	* include/bits/random.h: Likewise.
1803	* include/bits/random.tcc: Likewise.
1804	* include/bits/regex.h: Likewise.
1805	* include/bits/regex.tcc: Likewise.
1806	* include/bits/regex_automaton.h: Likewise.
1807	* include/bits/regex_automaton.tcc: Likewise.
1808	* include/bits/regex_compiler.h: Likewise.
1809	* include/bits/regex_compiler.tcc: Likewise.
1810	* include/bits/regex_constants.h: Likewise.
1811	* include/bits/regex_error.h: Likewise.
1812	* include/bits/regex_executor.h: Likewise.
1813	* include/bits/regex_executor.tcc: Likewise.
1814	* include/bits/regex_scanner.h: Likewise.
1815	* include/bits/regex_scanner.tcc: Likewise.
1816	* include/bits/specfun.h: Likewise.
1817	* include/bits/stl_algo.h: Likewise.
1818	* include/bits/stl_algobase.h: Likewise.
1819	* include/bits/stl_bvector.h: Likewise.
1820	* include/bits/stl_deque.h: Likewise.
1821	* include/bits/stl_iterator.h: Likewise.
1822	* include/bits/stl_iterator_base_funcs.h: Likewise.
1823	* include/bits/stl_list.h: Likewise.
1824	* include/bits/stl_map.h: Likewise.
1825	* include/bits/stl_multimap.h: Likewise.
1826	* include/bits/stl_multiset.h: Likewise.
1827	* include/bits/stl_relops.h: Likewise.
1828	* include/bits/stl_set.h: Likewise.
1829	* include/bits/stl_vector.h: Likewise.
1830	* include/bits/uniform_int_dist.h: Likewise.
1831	* include/bits/unordered_map.h: Likewise.
1832	* include/bits/unordered_set.h: Likewise.
1833	* include/bits/vector.tcc: Likewise.
1834	* include/c_global/cmath: Likewise.
1835	* include/c_std/cmath: Likewise.
1836	* include/decimal/decimal: Likewise.
1837	* include/decimal/decimal.h: Likewise.
1838	* include/experimental/algorithm: Likewise.
1839	* include/experimental/any: Likewise.
1840	* include/experimental/array: Likewise.
1841	* include/experimental/bits/erase_if.h: Likewise.
1842	* include/experimental/bits/fs_dir.h: Likewise.
1843	* include/experimental/bits/fs_fwd.h: Likewise.
1844	* include/experimental/bits/fs_ops.h: Likewise.
1845	* include/experimental/bits/fs_path.h: Likewise.
1846	* include/experimental/bits/lfts_config.h: Likewise.
1847	* include/experimental/bits/shared_ptr.h: Likewise.
1848	* include/experimental/bits/string_view.tcc: Likewise.
1849	* include/experimental/chrono: Likewise.
1850	* include/experimental/deque: Likewise.
1851	* include/experimental/filesystem: Likewise.
1852	* include/experimental/forward_list: Likewise.
1853	* include/experimental/functional: Likewise.
1854	* include/experimental/iterator: Likewise.
1855	* include/experimental/list: Likewise.
1856	* include/experimental/map: Likewise.
1857	* include/experimental/memory: Likewise.
1858	* include/experimental/memory_resource: Likewise.
1859	* include/experimental/numeric: Likewise.
1860	* include/experimental/optional: Likewise.
1861	* include/experimental/propagate_const: Likewise.
1862	* include/experimental/random: Likewise.
1863	* include/experimental/ratio: Likewise.
1864	* include/experimental/regex: Likewise.
1865	* include/experimental/set: Likewise.
1866	* include/experimental/source_location: Likewise.
1867	* include/experimental/string: Likewise.
1868	* include/experimental/string_view: Likewise.
1869	* include/experimental/system_error: Likewise.
1870	* include/experimental/tuple: Likewise.
1871	* include/experimental/type_traits: Likewise.
1872	* include/experimental/unordered_map: Likewise.
1873	* include/experimental/unordered_set: Likewise.
1874	* include/experimental/utility: Likewise.
1875	* include/experimental/vector: Likewise.
1876	* include/ext/bitmap_allocator.h: Likewise.
1877	* include/ext/codecvt_specializations.h: Likewise.
1878	* include/ext/rope: Likewise.
1879	* include/ext/typelist.h: Likewise.
1880	* include/std/chrono: Likewise.
1881	* include/std/complex: Likewise.
1882	* include/std/functional: Likewise.
1883	* include/std/numeric: Likewise.
1884	* include/std/string_view: Likewise.
1885	* include/std/thread: Likewise.
1886	* include/std/variant: Likewise.
1887	* include/tr1/array: Likewise.
1888	* include/tr1/bessel_function.tcc: Likewise.
1889	* include/tr1/beta_function.tcc: Likewise.
1890	* include/tr1/cmath: Likewise.
1891	* include/tr1/complex: Likewise.
1892	* include/tr1/ell_integral.tcc: Likewise.
1893	* include/tr1/exp_integral.tcc: Likewise.
1894	* include/tr1/functional: Likewise.
1895	* include/tr1/functional_hash.h: Likewise.
1896	* include/tr1/gamma.tcc: Likewise.
1897	* include/tr1/hashtable.h: Likewise.
1898	* include/tr1/hashtable_policy.h: Likewise.
1899	* include/tr1/hypergeometric.tcc: Likewise.
1900	* include/tr1/legendre_function.tcc: Likewise.
1901	* include/tr1/modified_bessel_func.tcc: Likewise.
1902	* include/tr1/poly_hermite.tcc: Likewise.
1903	* include/tr1/poly_laguerre.tcc: Likewise.
1904	* include/tr1/random.h: Likewise.
1905	* include/tr1/random.tcc: Likewise.
1906	* include/tr1/regex: Likewise.
1907	* include/tr1/riemann_zeta.tcc: Likewise.
1908	* include/tr1/shared_ptr.h: Likewise.
1909	* include/tr1/special_function_util.h: Likewise.
1910	* include/tr1/tuple: Likewise.
1911	* include/tr1/type_traits: Likewise.
1912	* include/tr1/unordered_map.h: Likewise.
1913	* include/tr1/unordered_set.h: Likewise.
1914	* include/tr1/utility: Likewise.
1915	* include/tr2/bool_set: Likewise.
1916	* include/tr2/bool_set.tcc: Likewise.
1917	* include/tr2/dynamic_bitset: Likewise.
1918	* include/tr2/dynamic_bitset.tcc: Likewise.
1919	* include/tr2/ratio: Likewise.
1920	* include/tr2/type_traits: Likewise.
1921	* src/c++11/chrono.cc: Likewise.
1922	* src/c++11/compatibility-c++0x.cc: Likewise.
1923	* src/c++11/compatibility-chrono.cc: Likewise.
1924	* src/c++11/cxx11-shim_facets.cc: Likewise.
1925	* src/c++11/hashtable_c++0x.cc: Likewise.
1926	* src/c++11/placeholders.cc: Likewise.
1927	* src/c++11/thread.cc: Likewise.
1928	* src/c++98/bitmap_allocator.cc: Likewise.
1929	* src/c++98/hashtable_tr1.cc: Likewise.
1930	* src/c++98/list.cc: Likewise.
1931	* src/shared/hashtable-aux.cc: Likewise.
1932	* testsuite/20_util/duration/literals/range.cc: Adapt line number.
1933	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
1934	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1935	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1936	* testsuite/20_util/forward/c_neg.cc: Likewise.
1937	* testsuite/20_util/forward/f_neg.cc: Likewise.
1938	* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
1939	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
1940	* testsuite/26_numerics/random/pr60037-neg.cc: Likewise.
1941	* python/libstdcxx/v6/printers.py: Adapt.
1942
19432017-07-20  Jonathan Wakely  <jwakely@redhat.com>
1944
1945	* config/allocator/malloc_allocator_base.h [__SANITIZE_ADDRESS__]
1946	(_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define.
1947	* config/allocator/new_allocator_base.h [__SANITIZE_ADDRESS__]
1948	(_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define.
1949	* doc/xml/manual/using.xml (_GLIBCXX_SANITIZE_VECTOR): Document macro.
1950	* include/bits/stl_vector.h [_GLIBCXX_SANITIZE_VECTOR]
1951	(_Vector_impl::_Asan, _Vector_impl::_Asan::_Reinit)
1952	(_Vector_impl::_Asan::_Grow, _GLIBCXX_ASAN_ANNOTATE_REINIT)
1953	(_GLIBCXX_ASAN_ANNOTATE_GROW, _GLIBCXX_ASAN_ANNOTATE_GREW)
1954	(_GLIBCXX_ASAN_ANNOTATE_SHRINK, _GLIBCXX_ASAN_ANNOTATE_BEFORE_DEALLOC):
1955	Define annotation helper types and macros.
1956	(vector::~vector, vector::push_back, vector::pop_back)
1957	(vector::_M_erase_at_end): Add annotations.
1958	* include/bits/vector.tcc (vector::reserve, vector::emplace_back)
1959	(vector::insert, vector::_M_erase, vector::operator=)
1960	(vector::_M_fill_assign, vector::_M_assign_aux)
1961	(vector::_M_insert_rval, vector::_M_emplace_aux)
1962	(vector::_M_insert_aux, vector::_M_realloc_insert)
1963	(vector::_M_fill_insert, vector::_M_default_append)
1964	(vector::_M_shrink_to_fit, vector::_M_range_insert): Annotate.
1965
19662017-07-19  Jonathan Wakely  <jwakely@redhat.com>
1967
1968	PR libstdc++/81476
1969	* include/bits/vector.tcc (vector::_M_range_insert<_InputIterator>):
1970	Only insert elements one-by-one when inserting at the end.
1971	* testsuite/performance/23_containers/insert/81476.cc: New.
1972
19732017-07-19  Volker Reichelt  <v.reichelt@netcologne.de>
1974
1975	* libsupc++/new (bad_array_new_length): Remove redundant
1976	semicolon after in-class member function definition.
1977	* include/bits/locale_facets.h (ctype_byname, num_put): Likewise.
1978	* include/bits/locale_facets_nonio.h (time_put_byname): Likewise.
1979	* include/bits/random.h (mersenne_twister_engine): Likewise.
1980	* include/tr1/random.h (mersenne_twister): Likewise
1981	* include/ext/random (simd_fast_mersenne_twister_engine): Likewise.
1982	* include/ext/rope (char_producer, _Rope_char_consumer,
1983	_Rope_self_destruct_ptr, _Rope_const_iterator, _Rope_iterator):
1984	Likewise.
1985	* include/ext/ropeimpl.h (_Rope_flatten_char_consumer,
1986	_Rope_insert_char_consumer): Likewise.
1987
19882017-07-19  Jonathan Wakely  <jwakely@redhat.com>
1989
1990	* include/bits/fstream.tcc (basic_filebuf::xsgetn)
1991	(basic_filebuf::xsputn, basic_filebuf::seekoff): Fix indentation.
1992
1993	* testsuite/util/testsuite_iterators.h: Fix indentation.
1994
1995	* testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: Add dg-require.
1996
19972017-07-18  Jonathan Wakely  <jwakely@redhat.com>
1998
1999	PR libstdc++/81395
2000	* include/bits/fstream.tcc (basic_filebuf::xsgetn): Don't set buffer
2001	pointers for write mode after reading.
2002	* testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: New.
2003
20042017-07-18  François Dumont  <fdumont@gcc.gnu.org>
2005
2006	* include/bits/stl_list.h
2007	(struct _List_node_header): New.
2008	(_List_impl()): Fix noexcept qualification.
2009	(_List_impl(_List_impl&&)): New, default.
2010	(_List_base()): Default.
2011	(_List_base(_List_base&&)): Default.
2012	(_List_base::_M_move_nodes): Adapt to use
2013	_List_node_header._M_move_nodes.
2014	(_List_base::_M_init): Likewise.
2015	(list<>()): Default.
2016	(list<>(list&&)): Default.
2017	(list<>::_M_move_assign(list&&, true_type)): Use _M_move_nodes.
2018	(__distance(_List_const_iterator<>, _List_const_iterator<>,
2019	input_iterator_tag)): Adapt.
2020	* testsuite/23_containers/list/allocator/default_init.cc: New.
2021
20222017-07-15  Jonathan Wakely  <jwakely@redhat.com>
2023
2024	* include/std/mutex (scoped_lock): Reorder std::adopt_lock_t parameter
2025	as per P0739R0.
2026	* testsuite/30_threads/scoped_lock/cons/1.cc: Reorder arguments.
2027	* testsuite/30_threads/scoped_lock/cons/deduction.cc: Test deduction
2028	with std::adopt_lock_t.
2029	* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Check
2030	feature-test macro.
2031
20322017-07-14  Jason Merrill  <jason@redhat.com>
2033	    Jonathan Wakely  <jwakely@redhat.com>
2034
2035	* include/std/variant (variant::variant(_Tp&&)): Constrain to remove
2036	the constructor for empty variants from the candidate functions
2037	during class template argument deduction.
2038	* testsuite/20_util/variant/deduction.cc: New.
2039
20402017-07-11  Jonathan Wakely  <jwakely@redhat.com>
2041
2042	* doc/xml/faq.xml: Update several old entries. Improve
2043	cross-references.
2044	* doc/xml/manual/intro.xml: Add anchors to each DR.
2045	* doc/html/*: Regenerate.
2046
20472017-07-10  Jonathan Wakely  <jwakely@redhat.com>
2048
2049	* testsuite/abi/pr42230.cc: Add header for std::free.
2050
2051	PR libstdc++/81381
2052	* include/bits/sstream.tcc (basic_stringbuf::overflow)
2053	(basic_stringbuf::basic_stringbuf(const __string_type&, ios::mode))
2054	(basic_stringbuf::str()): Construct new strings with an allocator.
2055	* testsuite/27_io/basic_stringbuf/cons/81381.cc: New.
2056
2057	PR libstdc++/81338
2058	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
2059	Declare basic_stringbuf to be a friend.
2060	* include/bits/sstream.tcc (basic_stringbuf::overflow)
2061	[_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating.
2062	* include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string
2063	length to buffer length.
2064	* testsuite/27_io/basic_stringstream/assign/81338.cc: New.
2065
20662017-07-06  Jonathan Wakely  <jwakely@redhat.com>
2067
2068	* testsuite/20_util/specialized_algorithms/memory_management_tools/
2069	1.cc: Free memory.
2070	* testsuite/22_locale/locale/cons/5.cc: Remove redundant restoration
2071	of original environment and free memory.
2072
2073	* testsuite/abi/pr42230.cc: Free memory.
2074	* testsuite/util/testsuite_abi.cc (demangle): Return std::string
2075	instead of pointer that might need freeing.
2076	* testsuite/util/testsuite_abi.h (demangle): Likewise.
2077	* testsuite/util/testsuite_hooks.cc (verify_demangle): Free memory.
2078
2079	* include/bits/uses_allocator.h (__use_alloc(const _Alloc&&)): Add
2080	deleted overload to prevent dangling references to rvalues.
2081	* include/experimental/memory_resource
2082	(polymorphic_allocator::construct): Do not call __use_alloc with
2083	rvalue arguments.
2084
20852017-06-27  Tim Shen  <timshen@google.com>
2086
2087	PR libstdc++/80187
2088	* include/std/variant (variant::variant, variant::~variant,
2089	variant::operator=): Implement triviality forwarding for four
2090	special member functions.
2091	* testsuite/20_util/variant/compile.cc: Tests.
2092
20932017-06-27  Jonathan Wakely  <jwakely@redhat.com>
2094
2095	PR libstdc++/81221
2096	* testsuite/25_algorithms/sample/81221.cc: Disable except for
2097	check-parallel.
2098
2099	PR libstdc++/81221
2100	* include/bits/stl_algo.h (sample): Qualify with _GLIBCXX_STD_A not
2101	std.
2102	* testsuite/25_algorithms/sample/81221.cc: New.
2103
21042017-06-22  Jonathan Wakely  <jwakely@redhat.com>
2105
2106	PR libstdc++/81173
2107	* include/bits/stl_bvector.h (vector<bool>::_M_initialize_value):
2108	Do not pass null pointer to memset.
2109
21102017-06-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
2111
2112	PR libstdc++/80675
2113	PR libstdc++/80940
2114	* include/std/istream:
2115	(__is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*)): New.
2116	(__do_is_convertible_to_basic_istream_impl): Likewise.
2117	(__is_convertible_to_basic_istream_impl): Likewise.
2118	(__is_convertible_to_basic_istream): Use the new base.
2119	(__rvalue_istream_type): New.
2120	(operator>>(_Istream&&, _Tp&&)): Use the new helper alias
2121	for the SFINAE check, convert to the helper alias type before
2122	doing the actual extraction.
2123	* include/std/ostream:
2124	(__is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*)): New.
2125	(__do_is_convertible_to_basic_ostream_impl): Likewise.
2126	(__is_convertible_to_basic_ostream_impl): Likewise.
2127	(__is_convertible_to_basic_ostream): Use the new base.
2128	(__rvalue_ostream_type): New.
2129	(operator<<(_Ostream&&, const _Tp&)): Use the new helper alias
2130	for the SFINAE check, convert to the helper alias type before
2131	doing the actual insertion.
2132	* testsuite/27_io/rvalue_streams-2.cc: Add new tests.
2133
21342017-06-21  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2135
2136	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
2137
21382017-06-21  Jonathan Wakely  <jwakely@redhat.com>
2139
2140	PR libstdc++/81092
2141	* configure: Regenerate.
2142
21432017-06-20  Uros Bizjak  <ubizjak@gmail.com>
2144
2145	* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2146
21472017-06-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2148
2149	* testsuite/20_util/variant/index_type.cc: Allow for all ilp32 and
2150	lp64 targets.
2151
21522017-06-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2153
2154	* config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate.
2155	* config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise.
2156	* config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise.
2157	* config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise.
2158	* config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise.
2159	* config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
2160	Likewise.
2161	* config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise.
2162	* config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
2163	Likewise.
2164
21652017-06-18  H.J. Lu  <hongjiu.lu@intel.com>
2166
2167	PR libstdc++/81092
2168	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
2169
21702017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
2171
2172	PR libstdc++/81092
2173	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
2174
21752017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2176
2177	* testsuite: Remove dg-skip-if, dg-xfail-if, dg-xfail-run-if
2178	default args.
2179
21802017-06-17  Jonathan Wakely  <jwakely@redhat.com>
2181
2182	PR libstdc++/80893
2183	* testsuite/23_containers/vector/bool/80893.cc: Add { target c++11 }.
2184
21852017-06-16  Jonathan Wakely  <jwakely@redhat.com>
2186
2187	* include/bits/shared_ptr.h (get_deleter): Add overload matching
2188	standard signature.
2189	* include/bits/shared_ptr_base.h (__shared_ptr): Declare new
2190	get_deleter overload as a friend.
2191	* testsuite/20_util/shared_ptr/misc/get_deleter.cc: New.
2192
21932017-06-16  Jakub Jelinek  <jakub@redhat.com>
2194
2195	PR libstdc++/81092
2196	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
2197	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
2198	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2199
22002017-06-16  Jonathan Wakely  <jwakely@redhat.com>
2201
2202	* include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition.
2203	* testsuite/22_locale/conversions/buffer/2.cc: New.
2204
2205	PR libstdc++/81092
2206	* acinclude.m4: Bump libtool_VERSION.
2207	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2208	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
2209	* config/abi/pre/gnu.ver: Add wstring constructor symbols to
2210	GLIBCXX_3.4.24 version and move random_device::_M_get_entropy() symbol
2211	to new GLIBCXX_3.4.25 version.
2212	* doc/xml/manual/abi.xml: Document new versions.
2213	* doc/html/*: Regenerate.
2214	* testsuite/21_strings/basic_string/cons/char/8.cc: Use base object
2215	constructors to ensure required symbols are exported.
2216	* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
2217	* testsuite/util/testsuite_abi.cc: Add new version.
2218
2219	* include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing
2220	return statement.
2221	* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
2222	Return void.
2223	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
2224	Likewise.
2225	* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add
2226	missing return statements.
2227	* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
2228	Likewise.
2229	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
2230	Return void.
2231	* testsuite/special_functions/14_expint/pr68397.cc: Likewise.
2232
22332017-06-16  François Dumont  <fdumont@gcc.gnu.org>
2234
2235	* include/bits/stl_bvector.h
2236	(__fill_bvector(_Bit_type*, unsigned int, unsigned int, bool)):
2237	Change signature.
2238	(std::fill(_Bit_iterator, _Bit_iterator, bool)): Adapt.
2239	(_Bvector_impl_data): New.
2240	(_Bvector_impl): Inherits from latter.
2241	(_Bvector_impl(_Bit_alloc_type&&)): Delete.
2242	(_Bvector_impl(_Bvector_impl&&)): New, default.
2243	(_Bvector_base()): Default.
2244	(_Bvector_base(_Bvector_base&&)): Default.
2245	(_Bvector_base::_M_move_data(_Bvector_base&&)): New.
2246	(vector(vector&&, const allocator_type&)): Use latter.
2247	(vector<bool>::operator=(vector&&)): Likewise.
2248	(vector<bool>::vector()): Default.
2249	(vector<bool>::vector(vector&&)): Default.
2250	(vector<bool>::assign(_InputIterator, _InputIterator)): Use
2251	_M_assign_aux.
2252	(vector<bool>::assign(initializer_list<bool>)): Likewise.
2253	(vector<bool>::_M_initialize_value(bool)): New.
2254	(vector<bool>(size_type, const bool&, const allocator_type&)): Use
2255	latter.
2256	(vector<bool>::_M_initialize_dispatch(_Integer, _Integer, __true_type)):
2257	Likewise.
2258	(vector<bool>::_M_fill_assign(size_t, bool)): Likewise.
2259
22602017-06-15  François Dumont  <fdumont@gcc.gnu.org>
2261
2262	* src/c++98/tree.cc  [!_GLIBCXX_INLINE_VERSION]
2263	(_Rb_tree_rotate_left, _Rb_tree_rotate_right): Delete.
2264
22652017-06-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2266
2267	* testsuite: Add dg-require-effective-target pthread to -pthread
2268	tests.
2269	Remove explicit target lists from dg-do and dg-options.
2270
2271	* testsuite/30_threads/async/forced_unwind.cc: Remove explit
2272	target list from dg-options.
2273	* testsuite/30_threads/packaged_task/forced_unwind.cc: Likewise.
2274
2275	* 30_threads/shared_mutex/cons/1.cc: Likewise.
2276	Pass -pthread for all targets.
2277	* 30_threads/shared_mutex/try_lock/1.cc: Likewise.
2278	* 30_threads/shared_mutex/try_lock/2.cc: Likewise.
2279	* 30_threads/shared_mutex/unlock/1.cc: Likewise.
2280
2281	* testsuite/30_threads/this_thread/57060.cc: Require c++11 via
2282	dg-require-effective-target.
2283
22842017-06-14  Jonathan Wakely  <jwakely@redhat.com>
2285
2286	* doc/xml/manual/test.xml: Correct instructions on running tests.
2287	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Adjust to
2288	pass when -D_GLIBCXX_USE_CXX11_ABI=0 added to RUNTESTFLAGS.
2289	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
2290	Likewise.
2291	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
2292	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
2293	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
2294	exceptions_failbit.cc: Likewise.
2295	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
2296	exceptions_failbit.cc: Likewise.
2297	* testsuite/27_io/basic_istream/extractors_other/char/
2298	exceptions_null.cc: Likewise.
2299	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
2300	exceptions_null.cc: Likewise.
2301	* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
2302	* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
2303	* testsuite/27_io/basic_ostream/inserters_other/char/
2304	exceptions_null.cc: Likewise.
2305	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
2306	exceptions_null.cc: Likewise.
2307	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
2308
23092017-06-12  Pedro Alves  <palves@redhat.com>
2310
2311	* doc/xml/manual/status_cxx2017.xml: Update C++17 constexpr
2312	char_traits status.
2313	* doc/html/*: Regenerate.
2314
2315	* include/bits/char_traits.h (_GLIBCXX_ALWAYS_INLINE): Define if
2316	not already defined.
2317	(__cpp_lib_constexpr_char_traits): Uncomment.
2318	(__constant_string_p, __constant_char_array_p): New.
2319	(std::char_traits<char>, std::char_traits<wchar_t>): Add
2320	_GLIBCXX17_CONSTEXPR on compare, length and find and use
2321	__constant_string_p, __constant_char_array_p and
2322	__builtin_constant_p to defer to __gnu_cxx::char_traits at compile
2323	time.
2324
2325	* testsuite/21_strings/char_traits/requirements/
2326	constexpr_functions_c++17.cc: Uncomment
2327	__cpp_lib_constexpr_char_traits tests.  Uncomment
2328	test_compare<char>, test_length<char>, test_find<char>,
2329	test_compare<wchar_t>, test_length<wchar_t> and test_find<wchar_t>
2330	static_assert tests.
2331
23322017-06-12  François Dumont  <fdumont@gcc.gnu.org>
2333
2334	* include/bits/stl_tree.h (_Rb_tree_impl()): Restore _Node_allocator
2335	default init.
2336	* testsuite/util/testsuite_allocator.h
2337	(__gnu_test::default_init_allocator<>) New.
2338	* testsuite/23_containers/set/allocator/default_init.cc: New.
2339	* testsuite/23_containers/map/allocator/default_init.cc: New.
2340
23412017-06-12  Jonathan Wakely  <jwakely@redhat.com>
2342
2343	PR libstdc++/55917
2344	* src/c++11/thread.cc (execute_native_thread_routine): Remove
2345	try-block so that exceptions propagate out of the thread and terminate
2346	is called by the exception-handling runtime.
2347	(execute_native_thread_routine_compat): Likewise.
2348	* testsuite/30_threads/thread/cons/terminate.cc: New.
2349
23502017-06-09  Jonathan Wakely  <jwakely@redhat.com>
2351
2352	* doc/xml/manual/intro.xml: Document LWG 2802, 2873 and 2942 changes.
2353	* include/bits/shared_ptr.h (shared_ptr): Use rvalues for deleters
2354	(LWG 2802).
2355	* include/bits/shared_ptr_base.h (_Sp_ebo_helper, _Sp_counted_deleter
2356	(_Sp_counted_deleter::_Impl, __shared_count, __shared_ptr): Likewise.
2357	* testsuite/20_util/shared_ptr/cons/lwg2802.cc: New.
2358
2359	* include/bits/forward_list.h (forward_list): Add deduction guide.
2360	* include/bits/stl_deque.h (deque): Likewise.
2361	* include/bits/stl_list.h (list): Likewise.
2362	* include/bits/stl_vector.h (vector): Likewise.
2363	* testsuite/23_containers/deque/cons/deduction.cc: New.
2364	* testsuite/23_containers/forward_list/cons/deduction.cc: New.
2365	* testsuite/23_containers/list/cons/deduction.cc: New.
2366	* testsuite/23_containers/vector/cons/deduction.cc: New.
2367
23682017-06-08  Jonathan Wakely  <jwakely@redhat.com>
2369
2370	PR libstdc++/81017
2371	* include/bits/std_function.h (function::function(function&&))
2372	(function::operator=(funtion&&)): Add noexcept.
2373	* testsuite/20_util/function/assign/move.cc: Check for noexcept.
2374	* testsuite/20_util/function/cons/move.cc: Likewise.
2375
23762017-06-07  Jonathan Wakely  <jwakely@redhat.com>
2377
2378	* include/bits/regex.h (basic_regex): Add deduction guide from P0433.
2379	* testsuite/28_regex/basic_regex/ctors/deduction.cc: New.
2380
2381	PR libstdc++/81002
2382	* include/bits/regex.h (basic_regex): Adjust call to __compile_nfa
2383	so iterator type is deduced.
2384	* include/bits/regex_compiler.h (__compile_nfa): Reorder template
2385	parameters to allow iterator type to be deduced.
2386	* testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New.
2387
2388	* include/bits/alloc_traits.h (__is_allocator, _RequireAllocator):
2389	New trait and alias for detecting Allocator-like types.
2390	* include/bits/basic_string.h (basic_string): Add deduction guide
2391	from P0433.
2392	* include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits): Add template
2393	parameter with default template argument that causes substitution
2394	failures for types that cannot be allocators.
2395	* testsuite/21_strings/basic_string/cons/char/deduction.cc: New.
2396	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: New.
2397
23982017-06-02  Jonathan Wakely  <jwakely@redhat.com>
2399
2400	PR libstdc++/80939
2401	* include/std/variant (__erased_ctor, __erased_assign, __erased_swap)
2402	(__erased_hash): Remove constexpr specifier and qualify calls to
2403	__ref_cast.
2404	(__erased_dtor): Remove constexpr specifier and use _Destroy.
2405
24062017-06-05  Jonathan Wakely  <jwakely@redhat.com>
2407
2408	* include/bits/stl_iterator_base_funcs.h
2409	(__advance<_RandomAccessIterator, _Distance>): Optimize for next/prev
2410	cases where incrementing or decrementing a single step.
2411
2412	* include/bits/shared_ptr_base.h (__shared_ptr::owner_before)
2413	(__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept
2414	specifiers as per LWG 2873 and LWG 2942.
2415	* testsuite/20_util/owner_less/noexcept.cc: New.
2416	* testsuite/20_util/shared_ptr/observers/owner_before.cc: Test
2417	noexcept guarantees.
2418	* testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
2419
24202017-06-03  Andreas Schwab  <schwab@linux-m68k.org>
2421
2422	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
2423
24242017-06-03  Eric Botcazou  <ebotcazou@adacore.com>
2425
2426	* src/filesystem/dir.cc (fs::_Dir::advance): Use std::exchange.
2427
24282017-06-02  Jonathan Wakely  <jwakely@redhat.com>
2429
2430	PR libstdc++/80624
2431	* doc/xml/manual/status_cxx2011.xml: Document to_int_type behaviour.
2432	* include/bits/char_traits.h (char_traits<char16_t>::to_int_type):
2433	Transform eof value to U+FFFD.
2434	* testsuite/21_strings/char_traits/requirements/char16_t/eof.cc: New.
2435	* testsuite/27_io/basic_streambuf/sgetc/char16_t/80624.cc: New.
2436	* testsuite/27_io/basic_streambuf/sputc/char16_t/80624.cc: New.
2437
2438	* libsupc++/Makefile.am: Remove custom targets for files that need to
2439	be compiled as C++11 or C++14.
2440	* libsupc++/Makefile.in: Regenerate.
2441	* libsupc++/del_ops.cc: Use pragma to disable -Wsized-deallocation
2442	warnings.
2443	* libsupc++/del_opvs.cc: Likewise.
2444
24452017-06-02  Richard Biener  <rguenther@suse.de>
2446	Markus Eisenmann  <meisenmann.lba@fh-salzburg.ac.at>
2447
2448	PR libstdc++/80721
2449	* libsupc++/eh_alloc.cc (pool::free): Keep list properly
2450	sorted and add missing freelist item merging cases.
2451
24522017-06-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2453
2454	(GLIBCXX_CROSSCONFIG): Handle *-solaris* like *-linux* etc.
2455	Remove *-solaris* section.
2456	* configure: Regenerate.
2457
24582017-05-31  Jonathan Wakely  <jwakely@redhat.com>
2459
2460	PR libstdc++/80893
2461	* include/bits/stl_bvector.h (vector<bool>::_M_initialize): Avoid
2462	null pointer dereference when size is zero.
2463	* testsuite/23_containers/vector/bool/80893.cc: New.
2464	* testsuite/util/testsuite_allocator.h (PointerBase::PointerBase):
2465	Add non-explicit constructor from nullptr.
2466	(PointerBase::derived() const): Add const-qualified overload.
2467
24682017-05-20  Tim Shen  <timshen@google.com>
2469
2470	PR libstdc++/80737
2471	* include/std/variant(variant::variant): SFINAE on is_same first.
2472	* testsuite/20_util/variant/any.cc: test case.
2473
24742017-05-24  Jonathan Wakely  <jwakely@redhat.com>
2475
2476	* src/c++11/random.cc (random_device::_M_getentropy): Use __CHAR_BIT__
2477	instead of fixed number of bits.
2478
24792017-05-24  Andreas Schwab  <schwab@suse.de>
2480
2481	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2482	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
2483
24842017-05-23  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
2485	    Jonathan Wakely  <jwakely@redhat.com>
2486
2487	PR libstdc++/67578
2488	* acinclude.m4: Bump libtool_VERSION.
2489	* config/abi/pre/gnu.ver: Create GLIBCXX_3.4.24 with new symbol.
2490	* config.h.in: Regenerate.
2491	* configure: Regenerate.
2492	* configure.ac: Add test for <linux/random.h>.
2493	* doc/xml/manual/abi.xml: Document new library version.
2494	* include/bits/random.h (random_device::entropy)
2495	[_GLIBCXX_USE_RANDOM_TR1]: Add call to new _M_getentropy member.
2496	(random_device::_M_getentropy): Declare.
2497	* src/c++11/random.cc (random_device::_M_getentropy): Define.
2498	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.24 to known
2499	versions, and make it the latest version.
2500
25012017-05-23  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
2502
2503	PR libstdc++/67214
2504	* include/bits/locale_facets.tcc (num_get::_M_extract_int): Add
2505	explicit conversion to avoid signed overflow.
2506
25072017-05-19  Jonathan Wakely  <jwakely@redhat.com>
2508
2509	PR libstdc++/80796
2510	* include/bits/stl_algo.h (search): Add new overload for C++17.
2511	* testsuite/25_algorithms/search/searcher.cc: New.
2512
25132017-05-18  Jonathan Wakely  <jwakely@redhat.com>
2514
2515	PR libstdc++/80478
2516	* include/std/functional (_Mem_fn_traits_base): Add specializations
2517	for noexcept member function types.
2518	* testsuite/20_util/function_objects/mem_fn/80478.cc: New test.
2519
25202017-05-18  Jonathan Wakely  <jwakely@redhat.com>
2521
2522	* doc/xml/manual/policy_data_structures.xml: Fix typo.
2523	* doc/xml/manual/test_policy_data_structures.xml: Likewise.
2524	* doc/html/*: Regenerate.
2525
2526	* doc/xml/manual/abi.xml: Document latest library versions.
2527	* doc/xml/manual/build_hacking.xml: Document requirement to update
2528	abi.xml when bumping library versions.
2529	* doc/html/*: Regenerate.
2530
25312017-05-17  Jonathan Wakely  <jwakely@redhat.com>
2532
2533	* include/bits/refwrap.h: Fix Doxygen warning.
2534	* include/bits/specfun.h: Likewise.
2535	* include/bits/std_function.h: Likewise.
2536	* include/bits/stl_algo.h (set_union, set_intersection)
2537	(set_difference, set_symmetric_difference): Add Doxygen @param tags
2538	for output iterator parameters.
2539	* include/bits/stl_iterator.h (inserter): Add Doxygen @param tag for
2540	iterator parameter.
2541	* include/std/mutex (try_lock, lock): Change Mutex to Lockable in
2542	Doxygen comments.
2543
25442017-05-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
2545
2546	Implement new C++ intrinsics __is_assignable and __is_constructible.
2547	* include/std/type_traits (__do_is_static_castable_impl): Remove.
2548	(__is_static_castable_impl, __is_static_castable_safe): Likewise.
2549	(__is_static_castable, __do_is_direct_constructible_impl): Likewise.
2550	(__is_direct_constructible_impl): Likewise.
2551	(__is_direct_constructible_new_safe): Likewise.
2552	(__is_base_to_derived_ref, __is_lvalue_to_rvalue_ref): Likewise.
2553	(__is_direct_constructible_ref_cast): Likewise.
2554	(__is_direct_constructible_new, __is_direct_constructible): Likewise.
2555	(__do_is_nary_constructible_impl): Likewise.
2556	(__is_nary_constructible_impl, __is_nary_constructible): Likewise.
2557	(__is_constructible_impl): Likewise.
2558	(is_constructible): Call the intrinsic.
2559	(__is_assignable_helper): Remove.
2560	(is_assignable): Call the intrinsic.
2561	(is_trivially_constructible): Likewise.
2562	(__is_trivially_copy_constructible_impl): New.
2563	(is_trivially_copy_constructible): Use it.
2564	(__is_trivially_move_constructible_impl): New.
2565	(is_trivially_move_constructible): Use it.
2566	(is_trivially_assignable): Call the intrinsic.
2567	(__is_trivially_copy_assignable_impl): New.
2568	(is_trivially_copy_assignable): Use it.
2569	(__is_trivially_move_assignable_impl): New.
2570	(is_trivially_move_assignable): Use it.
2571	(testsuite/20_util/declval/requirements/1_neg.cc): Adjust.
2572	(testsuite/20_util/is_trivially_copy_assignable/value.cc):
2573	Add test for void.
2574	(testsuite/20_util/is_trivially_copy_constructible/value.cc): Likewise.
2575	(testsuite/20_util/is_trivially_move_assignable/value.cc): Likewise.
2576	(testsuite/20_util/is_trivially_move_constructible/value.cc): Likewise.
2577	(testsuite/20_util/make_signed/requirements/typedefs_neg.cc): Adjust.
2578	(testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc):
2579	Likewise.
2580
25812017-05-16  Jonathan Wakely  <jwakely@redhat.com>
2582
2583	* testsuite/experimental/source_location/1.cc: Change expected result
2584	for source_location::current() used in default member initializer.
2585
2586	* doc/xml/manual/status_cxx2017.xml: Update status table.
2587	* doc/html/*: Regenerate.
2588	* include/Makefile.am: Add new header.
2589	* include/Makefile.in: Regenerate.
2590	* include/experimental/source_location: New header implementing N4519.
2591	* testsuite/experimental/source_location/1.cc: New test.
2592
2593	PR libstdc++/80285
2594	* include/bits/shared_ptr_base.h [!__cpp_rtti] (type_info): Declare
2595	outside versioned namespace.
2596
2597	* configure: Regenerate.
2598
25992017-05-16  Marc Glisse  <marc.glisse@inria.fr>
2600
2601	* include/std/optional (_Optional_base::_M_get): Check precondition.
2602	* testsuite/20_util/optional/cons/value_neg.cc: Update line numbers.
2603
26042017-05-16  Jonathan Wakely  <jwakely@redhat.com>
2605
2606	* doc/xml/manual/appendix_contributing.xml: Link to test docs and
2607	note higher DejaGnu version requirement.
2608	* doc/html/*: Regenerate.
2609
2610	* doc/xml/manual/appendix_contributing.xml: Link to the list of bad
2611	identifiers.
2612	* doc/html/*: Regenerate.
2613
26142017-05-15  Jonathan Wakely  <jwakely@redhat.com>
2615
2616	PR libstdc++/80761
2617	* include/bits/node_handle.h (_Node_insert_return): Reorder members.
2618	(tuple_size, tuple_element): Remove partial specializations.
2619	* include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use
2620	const_iterator for std::set.
2621	* testsuite/23_containers/map/modifiers/extract.cc: New.
2622	* testsuite/23_containers/set/modifiers/extract.cc: New.
2623	* testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
2624	* testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
2625
26262017-05-12  Jonathan Wakely  <jwakely@redhat.com>
2627
2628	PR libstdc++/78939
2629	* include/std/utility (tuple_size<cv T>): Only define partial
2630	specializations when tuple_size<T>::value is valid.
2631	* testsuite/20_util/tuple/78939.cc: New.
2632	* testsuite/20_util/tuple/cv_tuple_size_neg.cc: New.
2633
26342017-05-11  François Dumont  <fdumont@gcc.gnu.org>
2635
2636	* include/bits/stl_tree.h [_GLIBCXX_INLINE_VERSION]
2637	(_Rb_tree_impl<>): Remove _Is_pod_comparator
2638	template parameter.
2639
2640	* include/debug/formatter.h [_GLIBCXX_INLINE_VERSION]
2641	(__gnu_debug::_Error_formatter::_Parameter::_M_print_field): Remove.
2642	(__gnu_debug::_Error_formatter::_Parameter::_M_print_description):
2643	Remove.
2644	(__gnu_debug::_Error_formatter::_M_format_word): Remove.
2645	(__gnu_debug::_Error_formatter::_M_print_word): Remove.
2646	(__gnu_debug::_Error_formatter::_M_print_string): Remove.
2647	(__gnu_debug::_Error_formatter::_M_get_max_length): Remove.
2648	* src/c++11/debug.cc: Adapt.
2649	* config/abi/pre/gnu-versioned-namespace.ver: Adapt.
2650
26512017-05-11  Jonathan Wakely  <jwakely@redhat.com>
2652
2653	* doc/xml/manual/allocator.xml: Fix ViewCVS URLs.
2654	* doc/xml/manual/mt_allocator.xml: Likewise.
2655	* doc/html/*: Regenerate.
2656
2657	PR libstdc++/80285
2658	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Define
2659	function to get unique fake std::type_info reference.
2660	(_Sp_counted_ptr_inplace::_M_get_deleter) [!__cpp_rtti]: Compare to
2661	_S_ti() fake reference.
2662	(__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Share
2663	single implementation with or without RTTI enable.
2664	[!__cpp_rtti]: Pass fake reference to _M_get_deleter.
2665	* testsuite/20_util/shared_ptr/creation/alloc.cc: Change expected
2666	allocation and deallocation counts.
2667	* testsuite/20_util/shared_ptr/creation/single_allocation.cc: New.
2668	* testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc:
2669	New.
2670
26712017-05-10  François Dumont  <fdumont@gcc.gnu.org>
2672
2673	Bump version namespace.
2674	* config/abi/pre/gnu-versioned-namespace.ver: Bump version namespace
2675	from __7 to __8. Bump GLIBCXX_7.0 to GLIBCXX_8.0.
2676	* acinclude.m4 (libtool_VERSION): Bump to 8:0:0.
2677	* include/bits/c++config: Adapt.
2678	* include/bits/regex.h: Adapt.
2679	* include/experimental/bits/fs_fwd.h: Adapt.
2680	* include/experimental/bits/lfts_config.h: Adapt.
2681	* include/std/variant: Adapt.
2682	* python/libstdcxx/v6/printers.py: Adapt.
2683	* testsuite/libstdc++-prettyprinters/48362.cc: Adapt.
2684
2685	* include/bits/stl_algobase.h (std::__iter_swap<false>): Remove
2686	_GLIBCXX_MOVE usage.
2687
26882017-05-09  Jason Merrill  <jason@redhat.com>
2689
2690	* testsuite/24_iterators/container_access.cc (test03): Make il3 static.
2691
26922017-05-08  Jonathan Wakely  <jwakely@redhat.com>
2693
2694	* include/std/optional: Use a separate static_assert per condition.
2695	* testsuite/20_util/optional/cons/value_neg.cc: Update dg-error line
2696	numbers.
2697
2698	* doc/xml/manual/mt_allocator.xml: Clarify deallocation behaviour.
2699	* doc/html/*: Regenerate.
2700
27012017-05-02  Hugo Beauzée-Luyssen <hugo@beauzee.fr>
2702
2703	PR libstdc++/69506
2704	* config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2705
27062017-04-29  François Dumont  <fdumont@gcc.gnu.org>
2707
2708	* testsuite/libstdc++-prettyprinters/48362.cc: Replace a regexp-test
2709	by a note-test.
2710
27112017-04-28  Jonathan Wakely  <jwakely@redhat.com>
2712
2713	PR libstdc++/80553
2714	* include/bits/stl_construct.h (_Destroy, _Destroy_n): Add static
2715	assertions to ensure type is destructible.
2716	(destroy_at, destroy, destroy_n): Move from stl_uninitialized.h.
2717	* include/bits/stl_uninitialized.h (destroy_at, destroy, destroy_n):
2718	Move to stl_construct.h.
2719	* testsuite/20_util/specialized_algorithms/memory_management_tools/
2720	destroy_neg.cc: New test.
2721	* testsuite/23_containers/vector/cons/destructible_neg.cc: New test.
2722
2723	* testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove
2724	superfluous "" in dg-error.
2725
27262017-04-28  Tom de Vries  <tom@codesourcery.com>
2727
2728	* testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove
2729	superfluous '{ target *-*-* }' in dg-(error|warning|message|bogus).
2730
27312017-04-27  Jonathan Wakely  <jwakely@redhat.com>
2732
2733	* include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
2734	(PB_DS_CLASS_C_DEC::end()): Remove redundant const in cast type.
2735	* testsuite/util/testsuite_rng.h (twister_rand_gen::get_prob()):
2736	Likewise.
2737
27382017-04-26  Jonathan Wakely  <jwakely@redhat.com>
2739
2740	* testsuite/23_containers/deque/allocator/move_assign-2.cc: Improve
2741	comment. Ensure first test works because allocator type propagates and
2742	not because is_always_equal is true.
2743	* testsuite/23_containers/vector/52591.cc: Likewise. Restore original
2744	testcase that instantiates the move-assignment operator.
2745
27462017-04-24  Jonathan Wakely  <jwakely@redhat.com>
2747
2748	PR libstdc++/80506
2749	* include/bits/random.tcc (gamma_distribution::operator()): Fix magic
2750	number used in loop condition.
2751
2752	PR libstdc++/80504
2753	* include/bits/refwrap.h (ref, cref): Qualify calls.
2754	* testsuite/20_util/reference_wrapper/80504.cc: New test.
2755
2756	PR libstdc++/80493
2757	* include/experimental/optional (optional::swap): Fix exception
2758	specification.
2759
27602017-04-21  Jonathan Wakely  <jwakely@redhat.com>
2761
2762	PR libstdc++/80316
2763	* include/std/future (_State_baseV2::_Setter::operator()): Remove
2764	_S_check calls that are done after the pointer to the shared state is
2765	already dereferenced.
2766	(_State_baseV2::_Setter<_Res, void>): Define specialization for void
2767	as partial specialization so it can be defined within the definition
2768	of _State_baseV2.
2769	(_State_baseV2::__setter): Call _S_check.
2770	(_State_baseV2::__setter(promise<void>*)): Add overload for use by
2771	promise<void>::set_value and promise<void>::set_value_at_thread_exit.
2772	(promise<T>, promise<T&>, promise<void>): Make _State a friend.
2773	(_State_baseV2::_Setter<void, void>): Remove explicit specialization.
2774	(promise<void>::set_value, promise<void>::set_value_at_thread_exit):
2775	Use new __setter overload.
2776	* testsuite/30_threads/promise/members/at_thread_exit2.cc: New test.
2777	* testsuite/30_threads/promise/members/set_exception.cc: Test
2778	promise<T&> and promise<void> specializations.
2779	* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
2780	Test for no_state error condition.
2781	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2782
2783	* include/backward/auto_ptr.h: Ignore deprecated warnings from use
2784	of auto_ptr.
2785	* include/bits/shared_ptr.h: Likewise.
2786	* include/bits/shared_ptr_base.h: Likewise.
2787	* include/bits/unique_ptr.h: Likewise.
2788	* libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc: Adjust
2789	dg-error lineno.
2790	* libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc: Likewise.
2791	* libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc:
2792	Likewise.
2793	* libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc:
2794	Likewise.
2795
27962017-04-20  Edward Smith-Rowland  <3dw4rd@verizon.net>
2797
2798	PR libstdc++/68397 std::tr1::expint fails ... long double arguments.
2799	* include/tr1/exp_integral.tcc: Increase iteration limits.
2800	* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
2801	pr68397.cc: New test.
2802	* testsuite/special_functions/14_expint/pr68397.cc: New test.
2803
28042017-04-20  Jonathan Wakely  <jwakely@redhat.com>
2805
2806	PR libstdc++/79862
2807	* include/std/atomic [!_GLIBCXX_USE_C99_STDINT_TR1] (atomic_int8_t)
2808	(atomic_uint8_t, atomic_int16_t, atomic_uint16_t, atomic_int32_t,
2809	(atomic_uint32_t, atomic_int64_t, atomic_uint64_t)
2810	(atomic_int_least8_t, atomic_uint_least8_t, atomic_int_least16_t)
2811	(atomic_uint_least16_t, atomic_int_least32_t, atomic_uint_least32_t)
2812	(atomic_int_least64_t, atomic_uint_least64_t, atomic_int_fast8_t)
2813	(atomic_uint_fast8_t, atomic_int_fast16_t, atomic_uint_fast16_t)
2814	(atomic_int_fast32_t, atomic_uint_fast32_t, atomic_int_fast64_t)
2815	(atomic_uint_fast64_t, atomic_intmax_t, atomic_uintmax_t): Don't
2816	define.
2817
28182017-04-19  Jonathan Wakely  <jwakely@redhat.com>
2819
2820	* doc/xml/manual/abi.xml: Rephrase one of the references to the
2821	Itanium C++ ABI.
2822	* doc/xml/manual/test.xml: Document DejaGnu 1.5.3 requirement.
2823	* doc/html/*: Regenerate.
2824
2825	* libsupc++/new: Update comment on #endif directive.
2826
2827	PR libstdc++/80448
2828	* include/experimental/bits/fs_dir.h (directory_iterator)
2829	(recursive_directory_iterator): Remove noexcept from defaulted
2830	constructors.
2831
2832	PR libstdc++/80446
2833	* include/std/type_traits (is_aggregate): Change __has_builtin checks.
2834	* libsupc++/new (launder): Likewise.
2835
28362017-04-18  Jonathan Wakely  <jwakely@redhat.com>
2837
2838	* include/std/functional (default_searcher, __boyer_moore_array_base)
2839	(__is_std_equal_to, __boyer_moore_base_t, boyer_moore_searcher)
2840	(boyer_moore_horspool_searcher): Remove redundant namespace
2841	qualification.
2842	(default_searcher::operator()): Construct return value early and
2843	advance second member in-place.
2844	(boyer_moore_horspool_searcher::operator()): Increment random access
2845	iterator directly instead of using std::next.
2846	(boyer_moore_searcher::operator()): Fix return value.
2847	* testsuite/20_util/function_objects/searchers.cc: Check both parts
2848	of return values.
2849
28502017-04-12  Gerald Pfeifer  <gerald@pfeifer.com>
2851
2852	* doc/xml/faq.xml: Update reference link to C++ ABI for Itanium.
2853	* doc/xml/manual/abi.xml. Ditto (thrice).
2854
28552017-04-03  Jonathan Wakely  <jwakely@redhat.com>
2856
2857	* doc/xml/manual/status_cxx2017.xml: Remove duplicate table entry.
2858	* doc/html/*: Regenerate.
2859
2860	* testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests
2861	that no longer fail.
2862
2863	* include/bits/ios_base.h: Correct comment.
2864	* testsuite/util/testsuite_hooks.h: Likewise.
2865
2866	* doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
2867	* doc/xml/manual/appendix_contributing.xml (contrib.organization): Add
2868	directories for debug, parallel and profile headers.
2869	* doc/html/*: Regenerate.
2870
2871	* include/bits/char_traits.h (__gnu_cxx::char_traits): Add
2872	_GLIBCXX14_CONSTEXPR on assign, compare, find, and length.
2873	(std::char_traits<char>, std::char_traits<wchar_t>): Add
2874	_GLIBCXX17_CONSTEXPR on assign.
2875	(std::char_traits<char16_t>, std::char_traits<char32_t>): Add
2876	_GLIBCXX17_CONSTEXPR on assign, compare, find, and length.
2877	* testsuite/21_strings/char_traits/requirements/
2878	constexpr_functions_c++17.cc: New test.
2879
28802017-04-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
2881
2882	PR libstdc++/79141
2883	* include/bits/stl_pair.h (__nonesuch_no_braces): New.
2884	(operator=(typename conditional<
2885	__and_<is_copy_assignable<_T1>,
2886	is_copy_assignable<_T2>>::value,
2887	const pair&, const __nonesuch&>::type)): Change __nonesuch
2888	to __nonesuch_no_braces.
2889	(operator=(typename conditional<
2890	__not_<__and_<is_copy_assignable<_T1>,
2891	is_copy_assignable<_T2>>>::value,
2892	const pair&, const __nonesuch&>::type)): Likewise.
2893	(operator=(typename conditional<
2894	__and_<is_move_assignable<_T1>,
2895	is_move_assignable<_T2>>::value,
2896	pair&&, __nonesuch&&>::type)): Likewise.
2897	* testsuite/20_util/pair/79141.cc: New.
2898
28992017-04-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
2900
2901	Implement std::is_aggregate.
2902	* include/std/type_traits (is_aggregate, is_aggregate_v): New.
2903	* testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
2904	New.
2905	* testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise.
2906	* testsuite/20_util/is_aggregate/value.cc: Likewise.
2907
29082017-03-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
2909
2910	Adjust optional's pretty printer for LWG 2900.
2911	* python/libstdcxx/v6/printers.py (StdExpOptionalPrinter.__init__):
2912	Look at the nested payload in case of non-experimental optional.
2913
29142017-03-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
2915
2916	Implement LWG 2900, The copy and move constructors
2917	of optional are not constexpr.
2918	* include/std/optional (_Optional_payload): New.
2919	(_Optional_base): Remove the bool parameter.
2920	(_Optional_base<_Tp, false>): Remove.
2921	(_Optional_base()): Adjust.
2922	(_Optional_base(nullopt_t)): Likewise.
2923	(_Optional_base(in_place_t, _Args&&...)): Likewise.
2924	(_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)):
2925	Likewise.
2926	(_Optional_base(const _Optional_base&)): Likewise.
2927	(_Optional_base(_Optional_base&&)): Likewise.
2928	(operator=(const _Optional_base&)): Likewise.
2929	(operator=(_Optional_base&&)): Likewise.
2930	(~_Optional_base()): Remove.
2931	(_M_is_engaged()): Adjust.
2932	(_M_get()): Likewise.
2933	(_M_construct(_Args&&...)): Likewise.
2934	(_M_destruct()): Likewise.
2935	(_M_reset()): Likewise.
2936	(_Optional_base::_Empty_byte): Remove.
2937	(_Optional_base::_M_empty): Remove.
2938	(_Optional_base::_M_payload): Adjust.
2939	* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
2940	* testsuite/20_util/optional/constexpr/cons/value.cc: Add tests.
2941
29422017-03-28  Jonathan Wakely  <jwakely@redhat.com>
2943
2944	PR libstdc++/80137
2945	* include/bits/random.tcc (generate_canonical): Use std::nextafter
2946	or numeric_limits::epsilon() to reduce out-of-range values.
2947	* testsuite/26_numerics/random/uniform_real_distribution/operators/
2948	64351.cc: Verify complexity requirement is met.
2949
2950	* doc/xml/manual/abi.xml: Add xml:id anchor.
2951	* doc/xml/manual/using.xml (manual.intro.using.macros): Document
2952	_GLIBCXX_RELEASE. Link to new anchor for __GLIBCXX__ notes.
2953	(concurrency.io.structure): Add markup.
2954	* doc/html/*: Regenerate.
2955
2956	PR libstdc++/80229
2957	* include/bits/shared_ptr_base.h
2958	(__shared_ptr::_M_enable_shared_from_this_with): Change parameters to
2959	non-const and then use remove_cv to get unqualified type.
2960	* testsuite/20_util/enable_shared_from_this/members/const.cc: Don't
2961	cast away constness on object created const.
2962	* testsuite/20_util/shared_ptr/cons/80229.cc: New test.
2963
29642017-03-26  Markus Trippelsdorf  <markus@trippelsdorf.de>
2965
2966	PR libstdc++/80183
2967	* include/bits/stl_tree.h:
2968	(_Rb_tree_header::_M_move_data(_Rb_tree_header&)): Also save _M_color.
2969
29702017-03-23  Jonathan Wakely  <jwakely@redhat.com>
2971
2972	* testsuite/23_containers/array/tuple_interface/
2973	tuple_element_debug_neg.cc: Adjust dg-error.
2974	* testsuite/23_containers/list/operations/78389.cc: Fix less-than to
2975	define a valid strict weak ordering.
2976	* testsuite/23_containers/priority_queue/67085.cc: Disable test for
2977	Debug Mode, due to debug checks making extra copies of predicate.
2978	* testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc:
2979	Likewise.
2980
2981	* doc/xml/faq.xml: Add link.
2982	* doc/xml/manual/backwards_compatibility.xml: Remove outdated
2983	information on pre-ISO headers. Replace broken link to C++ FAQ Lite.
2984	* doc/xml/manual/io.xml: Update broken link.
2985	* doc/html/*: Regenerate.
2986
29872017-03-23  Daniel Kruegler  <daniel.kruegler@gmail.com>
2988
2989	Implement LWG 2686, Why is std::hash specialized for error_code,
2990	but not error_condition?
2991	* include/std/system_error (hash<error_condition>): Define for C++17.
2992	* testsuite/20_util/hash/operators/size_t.cc (hash<error_condition>):
2993	Instantiate test for error_condition.
2994	* testsuite/20_util/hash/requirements/explicit_instantiation.cc
2995	(hash<error_condition>): Instantiate hash<error_condition>.
2996
2997	* include/bits/c++config (_GLIBCXX17_INLINE): Define.
2998	* include/bits/regex_constants.h (All std::regex_constants constants):
2999	Add _GLIBCXX17_INLINE as per P0607R0.
3000	* include/bits/std_mutex.h (defer_lock, try_to_lock, adopt_lock):
3001	Likewise.
3002	* include/bits/stl_pair.h (piecewise_construct): Likewise.
3003	* include/bits/uses_allocator.h (allocator_arg, uses_allocator_v)
3004	(__is_uses_allocator_constructible_v)
3005	(__is_nothrow_uses_allocator_constructible_v): Likewise.
3006	* include/std/chrono (treat_as_floating_point_v): Likewise.
3007	* include/std/functional (is_bind_expression_v, is_placeholder_v):
3008	Likewise.
3009	* include/std/optional (nullopt): Likewise.
3010	* include/std/ratio (ratio_equal_v, ratio_not_equal_v, ratio_less_v)
3011	ratio_less_equal_v, ratio_greater_v, ratio_greater_equal_v): Likewise.
3012	* include/std/system_error (is_error_code_enum_v)
3013	(is_error_condition_enum_v): Likewise.
3014	* include/std/tuple (tuple_size_v, ignore): Likewise.
3015	(ignore): Declare ignore constexpr as per LWG 2773, declare assignment
3016	constexpr as per LWG 2933.
3017	* include/std/type_traits (All variable templates): Add
3018	_GLIBCXX17_INLINE as per P0607R0.
3019	* include/std/variant (variant_size_v, variant_npos, __index_of_v)
3020	(__tuple_count_v, __exactly_once): Likewise.
3021	* testsuite/18_support/headers/new/synopsis.cc
3022	(hardware_destructive_interference_size)
3023	(hardware_constructive_interference_size): Likewise for commented-out
3024	variables.
3025	* testsuite/20_util/tuple/creation_functions/constexpr.cc: Add new
3026	test function for constexpr std::ignore (LWG 2773).
3027	* testsuite/20_util/tuple/creation_functions/constexpr_cpp14.cc: New
3028	test for LWG 2933.
3029
30302017-03-22  Jonathan Wakely  <jwakely@redhat.com>
3031
3032	* include/bits/shared_ptr.h (shared_ptr, weak_ptr): Add deduction
3033	guides for C++17.
3034	* include/bits/std_function.h (function): Likewise.
3035	* include/bits/stl_pair.h (pair): Likewise.
3036	* include/debug/array (__gnu_debug::array): Likewise.
3037	* include/std/array (array): Likewise.
3038	* include/std/functional (make_default_searcher)
3039	(make_boyer_moore_searcher, make_boyer_moore_horspool_searcher):
3040	Remove generator functions.
3041	* include/std/tuple (tuple): Add deduction guides.
3042	* include/std/valarray (valarray): Likewise.
3043	* testsuite/20_util/function_objects/searchers.cc: Adjust to use
3044	class template argument deduction instead of generator functions.
3045	* testsuite/20_util/function/cons/deduction.cc: New test.
3046	* testsuite/20_util/optional/cons/deduction_guide.cc: Rename to ...
3047	* testsuite/20_util/optional/cons/deduction.cc: ... here.
3048	* testsuite/20_util/pair/cons/deduction.cc: New test.
3049	* testsuite/20_util/shared_ptr/cons/deduction.cc: New test.
3050	* testsuite/20_util/tuple/cons/deduction.cc: New test.
3051	* testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error.
3052	* testsuite/20_util/unique_ptr/cons/deduction_neg.cc: New test.
3053	* testsuite/20_util/weak_ptr/cons/deduction.cc: New test.
3054	* testsuite/23_containers/array/cons/deduction.cc: New test.
3055	* testsuite/23_containers/array/cons/deduction_neg.cc: New test.
3056	* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
3057	Adjust dg-error.
3058	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
3059	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
3060	Likewise.
3061	* testsuite/26_numerics/valarray/deduction.cc: New test.
3062	* testsuite/30_threads/lock_guard/cons/deduction.cc: New test.
3063	* testsuite/30_threads/scoped_lock/cons/deduction.cc: New test.
3064	* testsuite/30_threads/unique_lock/cons/deduction.cc: New test.
3065
30662017-03-20  François Dumont  <fdumont@gcc.gnu.org>
3067
3068	* include/bits/stl_deque.h (deque): Access allocator value_type only if
3069	concept checks are enabled.
3070	* include/bits/stl_stack.h (stack): Likewise.
3071	* include/bits/stl_vector.h (vector): Likewise.
3072	* include/bits/stl_list.h (list): Likewise and check
3073	_SGIAssignableConcept only in C++03.
3074	* include/bits/stl_map.h (map): Likewise.
3075	* include/bits/stl_set.h (set): Likewise.
3076	* include/bits/stl_multimap.h (multimap): Likewise.
3077	* include/bits/stl_multiset.h (multiset): Likewise.
3078	* include/bits/stl_queue.h (queue, priority_queue): Likewise.
3079
30802017-03-18  Gerald Pfeifer  <gerald@pfeifer.com>
3081
3082	* doc/xml/manual/appendix_contributing.xml: Convert link to
3083	ansi.org to https.
3084	Update link to the C++ standard at ansi.org.
3085
3086	* doc/xml/faq.xml: Remove information redundant with the above;
3087	instead add a reference.
3088
30892017-03-17  Jonathan Wakely  <jwakely@redhat.com>
3090
3091	* src/c++11/codecvt.cc (range): Add non-type template parameter and
3092	define oerloaded operators for reading and writing code units.
3093	(range<Elem, false>): Define partial specialization for accessing
3094	wide characters in potentially unaligned byte ranges.
3095	(ucs2_span(const char16_t*, const char16_t*, ...))
3096	(ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters
3097	to range<const char16_t, false> in order to avoid unaligned reads.
3098	(__codecvt_utf16_base<char16_t>::do_out)
3099	(__codecvt_utf16_base<char32_t>::do_out)
3100	(__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for
3101	unaligned data to avoid unaligned writes.
3102	(__codecvt_utf16_base<char16_t>::do_in)
3103	(__codecvt_utf16_base<char32_t>::do_in)
3104	(__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return
3105	error if there are unprocessable trailing bytes.
3106	(__codecvt_utf16_base<char16_t>::do_length)
3107	(__codecvt_utf16_base<char32_t>::do_length)
3108	(__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type
3109	range<const char16_t, false> to span functions.
3110	* testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test.
3111
31122017-03-16  Jonathan Wakely  <jwakely@redhat.com>
3113
3114	PR libstdc++/79980
3115	* src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type.
3116
3117	PR libstdc++/80041
3118	* src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out)
3119	(__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to
3120	char16_t to work with UTF-16 instead of UTF-8.
3121	* testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test.
3122
3123	* src/c++11/codecvt.cc (codecvt<char16_t, char, mbstate_t>)
3124	(codecvt<char32_t, char, mbstate_t>, __codecvt_utf8_base<char16_t>)
3125	(__codecvt_utf8_base<char32_t>, __codecvt_utf8_base<wchar_t>)
3126	(__codecvt_utf16_base<char16_t>, __codecvt_utf16_base<char32_t>)
3127	(__codecvt_utf16_base<wchar_t>, __codecvt_utf8_utf16_base<char16_t>)
3128	(__codecvt_utf8_utf16_base<char32_t>)
3129	(__codecvt_utf8_utf16_base<wchar_t>): Fix do_encoding() and
3130	do_max_length() return values.
3131	* testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test.
3132	* testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test.
3133	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test.
3134
3135	PR libstdc++/79980
3136	* include/bits/locale_conv.h (__do_str_codecvt): Set __count on
3137	error path.
3138	* src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads
3139	for manipulating codecvt_mode values.
3140	(read_utf16_bom): Compare input to BOM constants instead of integral
3141	constants that depend on endianness.  Take mode parameter by
3142	reference and adjust it, to distinguish between no BOM present and
3143	UTF-16BE BOM present.
3144	(ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom.
3145	(surrogates): New enumeration type.
3146	(utf16_in, utf16_out): Add surrogates parameter to choose between
3147	UTF-16 and UCS2 behaviour.
3148	(utf16_span, ucs2_span): Use std::min not std::max.
3149	(ucs2_out): Use std::min not std::max.  Disallow surrogate pairs.
3150	(ucs2_in): Likewise. Adjust calls to read_utf16_bom.
3151	* testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test.
3152	* testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test.
3153
3154	PR libstdc++/79511
3155	* src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff
3156	as a surrogate pair.
3157	(__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness
3158	for internal representation.
3159	(__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise.
3160	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test.
3161
3162	PR libstdc++/80064
3163	* include/bits/stl_heap.h (__is_heap, push_heap, __adjust_heap)
3164	(pop_heap, make_heap, sort_heap, is_heap_until, is_heap): Cope with
3165	invalid instantiations using function types for _Compare argument.
3166	* testsuite/25_algorithms/make_heap/80064.cc: New test.
3167
3168	PR libstdc++/67440
3169	* python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name
3170	for GDB 7.6 compatibility, use gdb.Type.unqualified instead.
3171
31722017-03-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
3173
3174	Implement LWG 2857, {variant,optional,any}::emplace should
3175	return the constructed value.
3176	* include/std/any (emplace(_Args&&...)): Change the return type and
3177	return a reference to the constructed value.
3178	(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
3179	* include/std/optional (emplace(_Args&&...)): Likewise.
3180	(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
3181	* include/std/variant (emplace<_Tp>(_Args&&...)): Likewise.
3182	(emplace<_Tp>(initializer_list<_Up>, _Args&&...)): Likewise.
3183	(emplace<_Np>(_Args&&...)): Likewise.
3184	(emplace<_Np>(initializer_list<_Up>, _Args&&...)): Likewise.
3185	* testsuite/20_util/any/assign/emplace.cc: Add tests for
3186	checking the return value of emplace.
3187	* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
3188	* testsuite/20_util/optional/assignment/6.cc: Add tests for
3189	checking the return value of emplace.
3190	* testsuite/20_util/variant/run.cc: Likewise.
3191
31922017-03-15  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
3193
3194	PR libstdc++/62045
3195	* include/ext/pb_ds/qdetail/binary_heap_/binary_heap_.hpp
3196	(is_heap): Remove.
3197	(push_heap): Remove the wrong checking using is_heap.
3198	(make_heap): Remove the assertion using is_heap.
3199	* include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
3200	(modify): Ditto.
3201	(resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after
3202	calling make_heap.
3203
32042017-03-15  Jonathan Wakely  <jwakely@redhat.com>
3205
3206	PR libstdc++/62045
3207	* testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc:
3208	New test.
3209	* testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste
3210	error in comment.
3211
32122017-03-15  Jonathan Wakely  <jwakely@redhat.com>
3213
3214	* acinclude.m4 (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Fix typo in
3215	comment.
3216	* config.h.in: Regenerate.
3217	* configure: Regenerate.
3218	* doc/Makefile.in: Regenerate.
3219
32202017-03-14  Jonathan Wakely  <jwakely@redhat.com>
3221
3222	PR libstdc++/79162
3223	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
3224	(basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Replace
3225	with a constrained template.
3226	[!_GLIBCXX_USE_CXX11_ABI]
3227	(basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Likewise.
3228	* testsuite/21_strings/basic_string/cons/char/79162.cc: New test.
3229	* testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: New test.
3230
32312017-03-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
3232
3233	PR libstdc++/80034
3234	* include/bits/list.tcc (merge(list&&)): Use const for the size_t
3235	in the catch-block.
3236	(merge(list&&, _StrictWeakOrdering)): Likewise.
3237	* testsuite/23_containers/list/operations/80034.cc: New.
3238
32392017-03-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
3240
3241	Implement LWG 2806, Base class of bad_optional_access.
3242	* include/std/optional (bad_optional_access):
3243	Derive from std::exception.
3244	(bad_optional_access::bad_optional_access): Adjust.
3245	(bad_optional_access::what): New.
3246	(__throw_bad_optional_access(const char*)):
3247	Remove the parameter and adjust calls.
3248	* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
3249	* testsuite/20_util/optional/typedefs.cc: Likewise.
3250
32512017-03-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
3252
3253	Implement LWG 2934, optional<const T> doesn't compare with T.
3254	* include/std/optional
3255	(operator==(const optional<_Tp>&, const optional<_Tp>&)):
3256	Turn into operator==(const optional<_Tp>&, const optional<_Up>&).
3257	(operator!=(const optional<_Tp>&, const optional<_Tp>&)):
3258	Turn into operator!=(const optional<_Tp>&, const optional<_Up>&).
3259	(operator<(const optional<_Tp>&, const optional<_Tp>&)):
3260	Turn into operator<(const optional<_Tp>&, const optional<_Up>&.
3261	(operator>(const optional<_Tp>&, const optional<_Tp>&)):
3262	Turn into operator>(const optional<_Tp>&, const optional<_Up>&.
3263	(operator<=(const optional<_Tp>&, const optional<_Tp>&)):
3264	Turn into operator<=(const optional<_Tp>&, const optional<_Up>&).
3265	(operator>=(const optional<_Tp>&, const optional<_Tp>&)):
3266	Turn into operator>=(const optional<_Tp>&, const optional<_Up>&).
3267	(operator==(const optional<_Tp>&, const _Tp&)):
3268	Turn into operator==(const optional<_Tp>&, const _Up&).
3269	(operator==(const _Tp&, const optional<_Tp>&)):
3270	Turn into operator==(const _Up&, const optional<_Tp>&).
3271	(operator!=(const optional<_Tp>&, const _Tp&)):
3272	Turn into operator!=(const optional<_Tp>&, const _Up&).
3273	(operator!=(const _Tp&, const optional<_Tp>&)):
3274	Turn into operator!=(const _Up&, const optional<_Tp>&).
3275	(operator<(const optional<_Tp>&, const _Tp&)):
3276	Turn into operator<(const optional<_Tp>&, const _Up&).
3277	(operator<(const _Tp&, const optional<_Tp>&)):
3278	Turn into operator<(const _Up&, const optional<_Tp>&).
3279	(operator>(const optional<_Tp>&, const _Tp&)):
3280	Turn into operator>(const optional<_Tp>&, const _Up&).
3281	(operator>(const _Tp&, const optional<_Tp>&)):
3282	Turn into operator>(const _Up&, const optional<_Tp>&).
3283	(operator<=(const optional<_Tp>&, const _Tp&)):
3284	Turn into operator<=(const optional<_Tp>&, const _Up&).
3285	(operator<=(const _Tp&, const optional<_Tp>&)):
3286	Turn into operator<=(const _Up&, const optional<_Tp>&).
3287	(operator>=(const optional<_Tp>&, const _Tp&)):
3288	Turn into operator>=(const optional<_Tp>&, const _Up&).
3289	(operator>=(const _Tp&, const optional<_Tp>&)):
3290	Turn into operator>=(const _Up&, const optional<_Tp>&).
3291	* testsuite/20_util/optional/relops/7.cc: New.
3292
32932017-03-10  Jonathan Wakely  <jwakely@redhat.com>
3294
3295	* testsuite/17_intro/names.cc: Undefine macros that clash with
3296	identifiers in AIX system headers.
3297
3298	* include/bits/invoke.h (__invoke): Use __invoke_result instead of
3299	result_of, and __is_nothrow_invocable instead of
3300	__is_nothrow_callable.
3301	* include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable
3302	instead of __is_callable.
3303	* include/std/functional (invoke): use invoke_result_t instead of
3304	result_of_t and is_nothrow_invocable instead of is_nothrow_callable.
3305	(_Not_fn): Use __invoke_result instead of result_of.
3306	* include/std/type_traits (__result_of_memobj, __result_of_memfun):
3307	Remove partial specializations for reference_wrapper types.
3308	(__result_of_impl): Use __inv_unwrap to strip reference_wrapper.
3309	(__invoke_result): Define replacement for result_of and then use it to
3310	define result_of.
3311	(__is_callable_impl, __is_callable, __is_nothrow_callable): Replace
3312	with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable
3313	respectively.
3314	(invoke_result, invoke_result_t): Define for C++17.
3315	(is_callable, is_nothrow_callable): Replace with is_invocable,
3316	is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r.
3317	(is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v,
3318	is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v.
3319	* include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v
3320	instead of is_nothrow_callable_v.
3321	* testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
3322	main function.
3323	* testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable
3324	instead of is_callable.
3325	* testsuite/20_util/is_callable/*: Rename directory and adjust tests
3326	to use new traits.
3327	* testsuite/20_util/is_nothrow_callable/*: Likewise.
3328	* testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of
3329	is_callable.
3330	* testsuite/20_util/variant/hash.cc: Likewise.
3331
33322017-03-10  George Lander  <george.lander@arm.com>
3333
3334	* acinclude.m4 (glibcxx_cv_obsolete_isnan): Define
3335	_GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h.
3336	* configure: Regenerate.
3337
33382017-03-09  Jonathan Wakely  <jwakely@redhat.com>
3339
3340	* include/std/functional (_Not_fn): Define macro to simplify
3341	repetitive function definitions.
3342
3343	* doc/xml/manual/status_cxx2017.xml: Document std::byte support.
3344	* include/c_global/cstddef (std::byte): Define for C++17.
3345	* testsuite/18_support/byte/global_neg.cc: New test.
3346	* testsuite/18_support/byte/ops.cc: New test.
3347	* testsuite/18_support/byte/requirements.cc: New test.
3348
33492017-03-05  Jonathan Wakely  <jwakely@redhat.com>
3350
3351	* doc/xml/manual/status_cxx2017.xml: Document P0156R2 status.
3352	* doc/html/*: Regenerate.
3353	* include/std/mutex (scoped_lock): Implement new C++17 template.
3354	* testsuite/30_threads/scoped_lock/cons/1.cc: New test.
3355	* testsuite/30_threads/scoped_lock/requirements/
3356	explicit_instantiation.cc: New test.
3357	* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: New test.
3358
33592017-03-02  Gerald Pfeifer  <gerald@pfeifer.com>
3360	    François Dumont  <frs.dumont@gmail.com>
3361	    Jonathan Wakely  <jwakely@redhat.com>
3362
3363	* doc/xml/manual/debug_mode.xml: Update and simplify note
3364	on link- and run-time coexistence.
3365
33662017-03-02  Jonathan Wakely  <jwakely@redhat.com>
3367
3368	* testsuite/17_intro/headers/names.cc: Rename to ...
3369	* testsuite/17_intro/names.cc: ... here.
3370
3371	PR libstdc++/79789
3372	* include/bits/hashtable_policy.h (__clp2): Use reserved names for
3373	parameters and local variables.
3374	* include/bits/ios_base.h (make_error_code, make_error_condition):
3375	Likewise.
3376	* include/bits/list.tcc (list::sort): Likewise.
3377	* include/bits/mask_array.h (mask_array): Likewise.
3378	* include/bits/regex.h (regex_token_iterator): Likewise.
3379	* include/bits/slice_array.h (slice_array): Likewise.
3380	* include/bits/stl_algo.h (__sample): Likewise.
3381	* include/std/memory (undeclare_no_pointers): Likewise.
3382	* include/std/type_traits (is_callable_v, is_nothrow_callable_v):
3383	Likewise.
3384	* libsupc++/exception_ptr.h (__dest_thunk): Likewise.
3385	* testsuite/17_intro/headers/names.cc: New test.
3386
3387	PR libstdc++/79798
3388	* include/std/functional (bind::_Res_type_impl): Fix incorrect use of
3389	result_of that loses top-level cv-qualifiers.
3390	* testsuite/20_util/bind/79798.cc: New test.
3391
33922017-03-01  Gerald Pfeifer  <gerald@pfeifer.com>
3393
3394	* doc/xml/manual/documentation_hacking.xml: Tweak link to
3395	doxygen.org.
3396
33972017-02-23  Jonathan Wakely  <jwakely@redhat.com>
3398
3399	* include/experimental/iterator: Include <iterator>.
3400	* testsuite/experimental/iterator/requirements.cc: Check for contents
3401	of <iterator>.
3402
34032017-02-19  Dinka Ranns  <dinka.ranns@googlemail.com>
3404
3405	C++17 GB50 resolution
3406	* include/std/chrono (duration::operator++()): Add
3407	_GLIBCXX17_CONSTEXPR.
3408	(duration::operator++(int)): Likewise.
3409	(duration::operator--()): Likewise.
3410	(duration::operator--(int)): Likewise.
3411	(duration::operator+=(const duration&)): Likewise.
3412	(duration::operator-=(const duration&)): Likewise.
3413	(duration::operator*=(const rep&)): Likewise.
3414	(duration::operator/=(const rep&)): Likewise.
3415	(duration::operator%=(const rep&)): Likewise.
3416	(duration::operator%=(const duration&)): Likewise.
3417	(time_point::operator+=(const duration&)): Likewise.
3418	(time_point::operator-=(const duration&)): Likewise.
3419	* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: New test.
3420	* testsuite/20_util/duration/literals/range.cc: Adjust dg-error.
3421	* testsuite/20_util/time_point/arithmetic/constexpr.cc: New test.
3422
34232017-02-19  Gerald Pfeifer  <gerald@pfeifer.com>
3424
3425	* doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer.
3426
34272017-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
3428
3429	* doc/xml/manual/io.xml: Update link to groups.google.com.
3430	Tweak link description.
3431
34322017-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
3433
3434	* doc/xml/manual/profile_mode.xml: Fix link.
3435
34362017-02-16  Gerald Pfeifer  <gerald@pfeifer.com>
3437
3438	* doc/xml/manual/policy_data_structures.xml: Simplify and
3439	standardize references to boost.org.
3440	* doc/xml/manual/policy_data_structures_biblio.xml: Ditto.
3441	* doc/xml/manual/shared_ptr.xml: Ditto.
3442
34432017-02-16  Jonathan Wakely  <jwakely@redhat.com>
3444
3445	PR libstdc++/60936
3446	* src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length
3447	written to buffer, not length remaining in buffer.
3448
34492017-02-15  Tim Shen  <timshen@google.com>
3450
3451	PR libstdc++/78723
3452	* include/std/variant (operator<(), operator>(), operator<=(),
3453	operator>=(), operator==(), operator!=()): Implement P0393R3.
3454	* testsuite/20_util/variant/compile.cc: Adjust tests.
3455	* testsuite/20_util/variant/run.cc: Adjust tests.
3456
34572017-02-15  Tim Shen  <timshen@google.com>
3458
3459	PR libstdc++/79513
3460	* include/std/variant (visit()): Forward variant types to the return
3461	type detection code.
3462	* testsuite/20_util/variant/compile.cc: Add test cases.
3463
34642017-02-13  H.J. Lu  <hongjiu.lu@intel.com>
3465
3466	PR libstdc++/79348
3467	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
3468
34692017-02-13  Jakub Jelinek  <jakub@redhat.com>
3470
3471	PR libstdc++/79348
3472	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
3473	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
3474	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
3475	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
3476	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Likewise.
3477	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
3478	* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Likewise.
3479	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
3480	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
3481
34822017-02-13  Jonathan Wakely  <jwakely@redhat.com>
3483
3484	PR libstdc++/79486
3485	* include/std/future (__future_base::_Task_state::_M_run)
3486	(__future_base::_Task_state::_M_run_delayed): Use lvalue types in
3487	result_of expressions.
3488	* testsuite/30_threads/packaged_task/79486.cc: New.
3489
34902017-02-11  Jonathan Wakely  <jwakely@redhat.com>
3491
3492	PR libstdc++/79467
3493	* include/bits/shared_ptr_base.h (__shared_ptr(_Yp*, _Deleter))
3494	(__shared_ptr(_Yp*, _Deleter, _Alloc)): Use lvalue types in
3495	__is_callable check.
3496	* testsuite/20_util/shared_ptr/cons/79467.cc: New.
3497
3498	* include/bits/atomic_base.h: Re-indent.
3499
35002017-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
3501
3502	* doc/xml/manual/profile_mode.xml: Update a paper reference.
3503
35042017-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
3505
3506	* src/c++11/snprintf_lite.cc (__err): Use https for bug reporting.
3507
35082017-02-08  Jonathan Wakely  <jwakely@redhat.com>
3509
3510	* doc/xml/manual/policy_data_structures.xml: Fix spelling of author's
3511	name.
3512	* doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove
3513	broken links to texts that are no longer online.
3514	* doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and
3515	LCPC 2006 paper.
3516	* doc/xml/manual/using.xml: Update links to memory model information.
3517	* doc/xml/manual/using_exceptions.xml: Update link to "Appendix E:
3518	Standard-Library Exception Safety".
3519	* doc/html/*: Regenerate.
3520
35212017-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
3522
3523	* doc/xml/manual/profile_mode.xml: Unbreak link to
3524	"Optimizing Sorting with Machine Learning Algorithms".
3525
35262017-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
3527
3528	* src/c++11/snprintf_lite.cc (__err): Update bug reporting URL.
3529
35302017-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
3531
3532	* doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++
3533	Migration Guide".
3534
35352017-02-07  Gerald Pfeifer  <gerald@pfeifer.com>
3536
3537	* doc/html/ext/lwg-active.html: Remove.
3538	* doc/html/ext/lwg-closed.html: Ditto.
3539	* doc/html/ext/lwg-defects.html: Ditto.
3540
3541	* doc/Makefile.am (xml_extradir): Remove.
3542	(xml_extra): Ditto.
3543	(stamp-html-docbook-lwg): Remove recipe...
3544	(stamp-html-docbook-data): ...and its use here.
3545	* doc/Makefile.in: Regenerate.
3546
3547	* doc/xml/manual/intro.xml: Shorten two paragraphs explaining
3548	the relationship to the upstream working group.
3549	Replace a local link to ../ext/lwg-active.html by the upstream one.
3550	Replace all reference to ../ext/lwg-defects.html by a new entity
3551	&DR; which refers to the upstream address.
3552
35532017-02-07  Gerald Pfeifer  <gerald@pfeifer.com>
3554
3555	* doc/xml/manual/status_cxx2017.xml: Fix link to N4284.
3556
35572017-02-06  Jonathan Wakely  <jwakely@redhat.com>
3558
3559	PR libstdc++/79323
3560	* testsuite/20_util/duration/literals/range.cc: Prune extra output
3561	at -O0.
3562
35632017-02-06  Gerald Pfeifer  <gerald@pfeifer.com>
3564
3565	* doc/xml/manual/documentation_hacking.xml: Update URL of the
3566	DocBook Element Reference.  Use that term as link description
3567	instead of "online".
3568	epubcheck has moved to GitHub.
3569	Remove obsolete link to DocBook Publishing Tools.
3570
35712017-02-03  Jonathan Wakely  <jwakely@redhat.com>
3572
3573	PR libstdc++/66145
3574	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override
3575	so new ios::failure can be caught even when old ABI is the default.
3576	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
3577	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
3578	exceptions_failbit.cc: Likewise.
3579	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
3580	exceptions_failbit.cc: Likewise.
3581	* testsuite/27_io/basic_istream/extractors_other/char/
3582	exceptions_null.cc: Likewise.
3583	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
3584	exceptions_null.cc: Likewise.
3585	* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
3586	* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
3587	* testsuite/27_io/basic_ostream/inserters_other/char/
3588	exceptions_null.cc: Likewise.
3589	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
3590	exceptions_null.cc: Likewise.
3591	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
3592
3593	PR libstdc++/60936
3594	* src/c++11/Makefile.am: Add new files.
3595	* src/c++11/Makefile.in: Regenerate.
3596	* src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
3597	(operator<<, operator>>, getline): Move explicit instantiations to ...
3598	* src/c++11/cow-string-io-inst.cc: ... new file.
3599	* src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
3600	(operator<<, operator>>, getline): Move explicit instantiations to ...
3601	* src/c++11/cow-wstring-io-inst.cc: ... new file.
3602	* src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error)
3603	(__throw_future_error, __throw_bad_function_call):
3604	(__throw_regex_error): Move functions for C++11 exceptions to the
3605	files that define the exception types.
3606	* src/c++11/functional.cc (__throw_bad_function_call): Move here.
3607	* src/c++11/future.cc (__throw_future_error): Likewise.
3608	* src/c++11/ios.cc (__throw_ios_failure): Likewise.
3609	* src/c++11/regex.cc (__throw_regex_error): Likewise.
3610	* src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal
3611	representation directly instead of calling __int_to_char.
3612	* src/c++11/sso_string.cc (__sso_string): New file for definition
3613	of __sso_string type.
3614	* src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
3615	explicit instantiations of narrow string I/O functions.
3616	* src/c++11/system_error.cc (__throw_system_error): Move here.
3617	(__sso_string): Move to new file.
3618	* src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
3619	explicit instantiations of wide string I/O functions.
3620	* src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<)
3621	(operator>>, getline): Remove explicit instantiations from here.
3622
36232017-02-02  H.J. Lu  <hongjiu.lu@intel.com>
3624
3625	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
3626
36272017-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3628
3629	* configure.host: Separate Solaris/SPARC and x86 baselines.
3630	* config/abi/post/solaris2.10/baseline_symbols.txt: Move ...
3631	* config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here.
3632	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ...
3633	* config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
3634	... here.
3635	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ...
3636	* config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here.
3637	* config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file.
3638	* config/abi/post/solaris2.11/baseline_symbols.txt: Move ...
3639	* config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here.
3640	* config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ...
3641	* config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
3642	... here.
3643	* config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ...
3644	* config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here.
3645	* config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file.
3646
3647	* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
3648	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3649	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3650	* config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
3651	* config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
3652	* config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
3653
36542017-02-01  Jonathan Wakely  <jwakely@redhat.com>
3655
3656	PR libstdc++/78346
3657	* include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator
3658	not its referent.
3659	(_Iter_comp_to_iter): Likewise.
3660	* testsuite/25_algorithms/search/78346.cc: New test.
3661
3662	PR libstdc++/79254
3663	* config/abi/pre/gnu.ver: Remove recently added symbols.
3664	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
3665	(basic_string::_M_copy_assign): Remove.
3666	(basic_string::operator=(const basic_string&)): Don't dispatch to
3667	_M_copy_assign. If source object is small just deallocate, otherwise
3668	perform new allocation before making any changes.
3669	* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
3670	(basic_string::_M_copy_assign(const basic_string&, true_type)):
3671	Remove.
3672	* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
3673	Test cases where the allocators are equal or the string is small.
3674	* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
3675	Likewise.
3676
36772017-01-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
3678
3679	Implement LWG 2825, LWG 2756 breaks class template argument
3680	deduction for optional.
3681	* include/std/optional: Add a deduction guide.
3682	* testsuite/20_util/optional/cons/deduction_guide.cc: New.
3683
36842017-01-27  Jonathan Wakely  <jwakely@redhat.com>
3685
3686	PR libstdc++/79254
3687	* config/abi/pre/gnu.ver: Add new symbols.
3688	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
3689	(basic_string::_M_copy_assign): New overloaded functions to perform
3690	copy assignment.
3691	(basic_string::operator=(const basic_string&)): Dispatch to
3692	_M_copy_assign.
3693	* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
3694	(basic_string::_M_copy_assign(const basic_string&, true_type)):
3695	Define, performing rollback on exception.
3696	* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
3697	Test exception-safety guarantee.
3698	* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
3699	Likewise.
3700	* testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
3701	std::swap visible.
3702
37032017-01-26  Jonathan Wakely  <jwakely@redhat.com>
3704
3705	PR libstdc++/70607
3706	* include/tr1/complex (conj): Remove using-declaration and restore
3707	overloads, reverting previous change.
3708
3709	* testsuite/23_containers/list/operations/78389.cc: Fix for C++11
3710	mode.
3711	* testsuite/23_containers/priority_queue/requirements/constructible.cc:
3712	Mark as unsupported in C++98 mode.
3713	* testsuite/23_containers/queue/requirements/constructible.cc:
3714	Likewise.
3715	* testsuite/23_containers/stack/requirements/constructible.cc:
3716	Likewise.
3717	* testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode.
3718
3719	PR libstdc++/79243
3720	* include/bits/c++config (literals::string_view_literals::__7): Add.
3721	Only declare versioned namespaces for the relevant C++ dialects.
3722	* include/experimental/bits/erase_if.h (fundamentals_v2::__detail):
3723	Add versioning macros.
3724	* include/experimental/bits/lfts_config.h:
3725	(fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add.
3726	* include/experimental/string_view (fundamentals_v2::__detail):
3727	Add versioning macros.
3728	(fundamentals_v2::__detail::__identity): Remove.
3729	(fundamentals_v2::__detail::__idt): Use common_type instead of
3730	__detail::__identity.
3731	* include/std/string_view (__detail::__identity, __detail::__idt):
3732	Likewise.
3733	(literals::string_view_literals): Fix nesting of versioning macros.
3734
3735	PR libstdc++/79190
3736	* libsupc++/del_opa.cc (operator delete(void*, std::align_val_t))
3737	[!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN
3738	&& !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]:
3739	Retrieve original pointer value allocated by malloc.
3740	* libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC
3741	&& !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN
3742	&& !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)):
3743	Define, adjusting pointer value allocated by malloc and storing for
3744	retrieval by operator delete.
3745
37462017-01-26  Jakub Jelinek  <jakub@redhat.com>
3747
3748	* libsupc++/eh_atomics.h: Update copyright years.
3749	* testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years.
3750
37512017-01-25  Jonathan Wakely  <jwakely@redhat.com>
3752
3753	PR libstdc++/61791
3754	PR libstdc++/70607
3755	* include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR.
3756	(proj(T), conj(T)): Change return types per DR 1522.
3757	* include/tr1/complex (conj): Remove overloads and use std::conj.
3758	* testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to...
3759	* testsuite/26_numerics/complex/dr781.cc: ... this, and update.
3760	* testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test
3761	real(T) and imag(T). Allow testing for C++11 too.
3762
37632017-01-24  Jonathan Wakely  <jwakely@redhat.com>
3764
3765	PR libstdc++/79206
3766	* include/experimental/string_view (operator==): Check sizes first.
3767	* include/std/string_view (operator==): Likewise.
3768
37692017-01-23  Jonathan Wakely  <jwakely@redhat.com>
3770
3771	* testsuite/experimental/array/make_array.cc: Restore <functional>
3772	inclusion.
3773
37742017-01-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3775
3776	* testsuite/29_atomics/atomic/69301.cc: Require atomic builtins.
3777
37782017-01-23  Jonathan Wakely  <jwakely@redhat.com>
3779
3780	PR libstdc++/79195
3781	* include/experimental/array (__make_array_elem): New class template
3782	and partial specialization.
3783	(__is_reference_wrapper): Move into __make_array_elem specialization.
3784	(make_array): Use __make_array_elem to determine element type and move
3785	static assertion into specialization. Qualify std::forward call.
3786	(to_array): Add exception specifiation.
3787	* testsuite/experimental/array/make_array.cc: Test argument types
3788	without a common type.
3789	* testsuite/experimental/array/neg.cc: Adjust expected error message.
3790
37912017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
3792
3793	* doc/xml/manual/debug.xml: code.google.com uses https now.
3794
37952017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
3796
3797	* doc/xml/manual/test.xml: Fix link into gccint online manual.
3798
37992017-01-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
3800
3801	Make poisoned hashes SFINAE away the call operator of the hash.
3802	* include/bits/functional_hash.h
3803	(__poison_hash::__enable_hash_call): New.
3804	* include/std/optional (__optional_hash_call_base): New.
3805	(hash<optional<_Tp>>): Derive from the new base,
3806	move the hash function into that base.
3807	* include/std/variant (__variant_hash_call_base_impl): New.
3808	(__variant_hash_call_base): Likewise.
3809	(hash<variant<_Types...>>): Derive from the new base,
3810	move the hash function into that base.
3811	* testsuite/20_util/optional/hash.cc: Add tests for is_callable.
3812	* testsuite/20_util/variant/hash.cc: Likewise.
3813
38142017-01-20  Joe Seymour  <joe.s@somniumtech.com>
3815
3816	* acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
3817	* configure: Regenerate.
3818
38192017-01-20  Jonathan Wakely  <jwakely@redhat.com>
3820
3821	PR libstdc++/69240
3822	* include/bits/random.h (uniform_real_distribution::param_type)
3823	(normal_distribution::param_type, lognormal_distribution::param_type)
3824	(gamma_distribution::param_type, chi_squared_distribution::param_type)
3825	(cauchy_distribution::param_type, fisher_f_distribution::param_type)
3826	(student_t_distribution::param_type)
3827	(bernoulli_distribution::param_type, binomial_distribution::param_type)
3828	(geometric_distribution::param_type)
3829	(negative_binomial_distribution::param_type)
3830	(poisson_distribution::param_type)
3831	(exponential_distribution::param_type)
3832	(weibull_distribution::param_type)
3833	(extreme_value_distribution::param_type)
3834	(discrete_distribution::param_type)
3835	(piecewise_constant_distribution::param_type)
3836	(piecewise_linear_distribution::param_type): Define operator!=.
3837	* include/bits/uniform_int_dist.h
3838	(uniform_int_distribution::param_type): Likewise.
3839	* include/ext/random (beta_distribution::param_type)
3840	(rice_distribution::param_type, nakagami_distribution::param_type)
3841	(pareto_distribution::param_type, k_distribution::param_type)
3842	(arcsine_distribution::param_type, hoyt_distribution::param_type)
3843	(triangular_distribution::param_type)
3844	(von_mises_distribution::param_type)
3845	(hypergeometric_distribution::param_type)
3846	(logistic_distribution::param_type)
3847	(uniform_on_sphere_distribution::param_type)
3848	(uniform_inside_sphere_distribution::param_type): Likewise.
3849	* testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
3850	Test construction with param_type.
3851	* testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
3852	Likewise.
3853	* testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
3854	Likewise.
3855	* testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc:
3856	Likewise.
3857	* testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
3858	Likewise.
3859	* testsuite/26_numerics/random/extreme_value_distribution/cons/
3860	parms.cc: Likewise.
3861	* testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3862	Likewise.
3863	* testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3864	Likewise.
3865	* testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3866	Likewise.
3867	* testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3868	Likewise.
3869	* testsuite/26_numerics/random/negative_binomial_distribution/cons/
3870	parms.cc: Likewise.
3871	* testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
3872	Likewise.
3873	* testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
3874	Likewise.
3875	* testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
3876	Likewise.
3877	* testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc:
3878	Likewise.
3879	* testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc:
3880	Likewise.
3881	* testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
3882	Likewise.
3883	* testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
3884	* testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
3885	* testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
3886	* testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
3887	Likewise.
3888	* testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
3889	* testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
3890	* testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
3891	* testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
3892	* testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
3893	* testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
3894	* testsuite/ext/random/triangular_distribution/cons/parms.cc:
3895	Likewise.
3896	* testsuite/ext/random/uniform_inside_sphere_distribution/cons/
3897	parms.cc: Likewise.
3898	* testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
3899
3900	PR libstdc++/72792
3901	* include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
3902	(__allocator_traits_base::__size_type): Remove.
3903	(allocator_traits::_Ptr): New class template to detect const and void
3904	pointer types without instantiating pointer_traits::rebind
3905	unnecessarily.
3906	(allocator_traits::_Diff): Likewise for detecting difference_type.
3907	(allocator_traits::_Size): New class template to detect size_type
3908	without instantiating make_unsigned unnecessarily.
3909	* include/bits/ptr_traits.h (pointer_traits::element_type): Use
3910	__detected_or_t instead of __detected_or_t_.
3911	* include/std/type_traits (__detected_or_t_): Remove.
3912	* testsuite/20_util/allocator_traits/members/pointers.cc: New test.
3913
3914	PR libstdc++/72792
3915	PR libstdc++/72793
3916	* include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
3917	Replace with class template using void_t.
3918	(__alloc_rebind): Define in terms of
3919	__allocator_traits_base::__rebind.
3920	(allocator_traits): Remove unconditional static_assert for
3921	rebind_alloc.
3922	* include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
3923	(pointer_traits::__rebind): Replace with class template using void_t.
3924	(pointer_traits::rebind): Define in terms of __rebind.
3925	(pointer_traits): Remove unconditional static_assert for rebind.
3926	* testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
3927	* testsuite/20_util/pointer_traits/rebind.cc: New test.
3928
3929	PR libstdc++/69321
3930	* include/experimental/any (__any_caster): Avoid instantiating
3931	manager function for types that can't be stored in any.
3932	* include/std/any (__any_caster): Likewise.
3933	* testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type.
3934	* testsuite/experimental/any/misc/any_cast.cc: Likewise.
3935
3936	PR libstdc++/64903
3937	* include/bits/stl_algo.h (is_partitioned): Use increment instead of
3938	std::advance.
3939
39402017-01-19  Jonathan Wakely  <jwakely@redhat.com>
3941
3942	PR libstdc++/79156
3943	* include/bits/shared_ptr_base.h (__enable_shared_from_this_base):
3944	Fix return type.
3945	(__enable_shared_from_this): Declare __shared_ptr as a friend.
3946	* testsuite/ext/shared_ptr/1.cc: New test.
3947
3948	PR libstdc++/64903
3949	* include/bits/stl_algo.h (is_partitioned): Don't retest the partition
3950	point.
3951	* testsuite/25_algorithms/is_partitioned/2.cc: New test.
3952
3953	* doc/xml/manual/abi.xml: Fix typo.
3954	* doc/html/manual/abi.html: Likewise.
3955
3956	PR libstdc++/67085
3957	* include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add
3958	converting constructors from _Iter_less_iter.
3959	(_Iter_comp_val, _Val_comp_iter): Add converting constructors from
3960	_Iter_comp_iter.
3961	(__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor.
3962	(__val_comp_iter(_Iter_comp_iter<C>): Likewise.
3963	* include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap)
3964	(__make_heap, __sort_heap): Change _Compare parameters to references.
3965	(__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap)
3966	(__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison
3967	functions as lvalues.
3968	(is_heap): Call __is_heap_until directly to avoid copying __comp.
3969	* testsuite/23_containers/priority_queue/67085.cc: Adjust test to
3970	count copies during construction with empty sequence.
3971
3972	PR libstdc++/67085
3973	* include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE.
3974	(__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops.
3975	* testsuite/23_containers/priority_queue/67085.cc: Adjust expected
3976	number of copies.
3977	* testsuite/25_algorithms/make_heap/movable.cc: New test.
3978
3979	PR libstdc++/67085
3980	* include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap)
3981	(pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use
3982	_GLIBCXX_MOVE when passing comparison function to other functions.
3983	(is_heap_until, is_heap): Use std::move when passing comparison
3984	function.
3985	* testsuite/23_containers/priority_queue/67085.cc: New test.
3986
3987	PR libstdc++/78905
3988	* doc/xml/manual/abi.xml (abi.versioning.history): Add markup to
3989	macro names, filenames, and literal values. Document _GLIBCXX_RELEASE.
3990	Document that the deprecated _GLIBCXX_VERSION macro was removed for
3991	the 4.0.0 release.
3992	* doc/html/*: Regenerate.
3993	* include/Makefile.am (_GLIBCXX_RELEASE): Set value.
3994	* include/Makefile.in: Regenerate.
3995	* include/bits/c++config (_GLIBCXX_RELEASE): Add #define.
3996	* testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in
3997	dg-error.
3998
39992017-01-18  Jonathan Wakely  <jwakely@redhat.com>
4000
4001	PR libstdc++/69301
4002	* include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
4003	aligned buffer instead of default-initialized variable.
4004	* testsuite/29_atomics/atomic/69301.cc: New test.
4005	* include/experimental/memory (observer_ptr::release): Use reserved
4006	name.
4007	* include/ext/pointer.h (_Pointer_adapter::operator++(int))
4008	(_Pointer_adapter::operator--(int)): Likewise.
4009
4010	PR libstdc++/68925
4011	* include/experimental/random (randint): Use temporary instead of
4012	thread_local static.
4013
40142017-01-17  Joshua Conner  <joshconner@google.com>
4015
4016	* crossconfig.m4: Add fuchsia OS.
4017	* configure: Regenerate.
4018
40192017-01-17  Jonathan Wakely  <jwakely@redhat.com>
4020
4021	PR libstdc++/69699
4022	* doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
4023	__GLIBCXX__ macro is not useful. Remove redundant date information
4024	and link to the GCC release timeline.
4025	(abi.versioning.active): Move partial sentence into the previous
4026	paragraph.
4027	* doc/html/*: Regenerate.
4028
4029	PR libstdc++/79114
4030	* libsupc++/nested_exception.h (throw_with_nested): Use decay instead
4031	of remove_reference.
4032	* testsuite/18_support/nested_exception/79114.cc: New test.
4033
40342017-01-17  Jakub Jelinek  <jakub@redhat.com>
4035
4036	PR other/79046
4037	* configure.ac: Add GCC_BASE_VER.
4038	* fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
4039	get version from BASE-VER file.
4040	* po/Makefile.in: Regenerated.
4041	* libsupc++/Makefile.in: Regenerated.
4042	* testsuite/Makefile.in: Regenerated.
4043	* src/Makefile.in: Regenerated.
4044	* configure: Regenerated.
4045	* Makefile.in: Regenerated.
4046	* include/Makefile.in: Regenerated.
4047	* doc/Makefile.in: Regenerated.
4048	* python/Makefile.in: Regenerated.
4049	* src/c++11/Makefile.in: Regenerated.
4050	* src/c++98/Makefile.in: Regenerated.
4051	* src/filesystem/Makefile.in: Regenerated.
4052
40532017-01-16  Jonathan Wakely  <jwakely@redhat.com>
4054
4055	PR libstdc++/66145
4056	* src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure
4057	exceptions.
4058	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI
4059	for test, so new ios::failure can be caught.
4060	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
4061	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
4062	exceptions_failbit.cc: Likewise.
4063	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
4064	exceptions_failbit.cc: Likewise.
4065	* testsuite/27_io/basic_istream/extractors_other/char/
4066	exceptions_null.cc: Likewise.
4067	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
4068	exceptions_null.cc: Likewise.
4069	* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
4070	* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
4071	* testsuite/27_io/basic_ostream/inserters_other/char/
4072	exceptions_null.cc: Likewise.
4073	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
4074	exceptions_null.cc: Likewise.
4075	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
4076
4077	PR libstdc++/78702
4078	* include/bits/locale_classes.h (locale::facet::__shim): Change from
4079	private to protected.
4080	* src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
4081	make locale::facet::__shim accessible.
4082
40832017-01-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
4084
4085	PR libstdc++/78389
4086	* include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
4087	(merge(list&&, _StrictWeakOrdering)): Likewise.
4088	* testsuite/23_containers/list/operations/78389.cc: Add
4089	better test for the sizes.
4090
40912017-01-14  Jonathan Wakely  <jwakely@redhat.com>
4092
4093	* testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
4094	Skip test when -D_GLIBCXX_PROFILE mode is included in options.
4095	* testsuite/23_containers/map/modifiers/extract.cc: Likewise.
4096	* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
4097	Likewise.
4098	* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
4099	* testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
4100	* testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
4101	* testsuite/23_containers/set/modifiers/extract.cc: Likewise.
4102	* testsuite/23_containers/unordered_map/modifiers/extract.cc:
4103	Likewise.
4104	* testsuite/23_containers/unordered_multimap/modifiers/extract.cc::
4105	Likewise.
4106	* testsuite/23_containers/unordered_multiset/modifiers/extract.cc::
4107	Likewise.
4108	* testsuite/23_containers/unordered_set/modifiers/extract.cc:
4109	Likewise.
4110	* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
4111	Likewise.
4112	* testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
4113	* testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
4114	* testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
4115	* testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
4116	* testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4117	* testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
4118	* testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
4119	* testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
4120	* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
4121	* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
4122	* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
4123	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
4124	* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
4125
41262017-01-13  Jonathan Wakely  <jwakely@redhat.com>
4127
4128	PR libstdc++/65411
4129	* config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't
4130	retry fclose on EINTR.
4131
4132	* include/profile/base.h: Remove unused header that leads to header
4133	cycle in C++17 mode.
4134
4135	PR libstdc++/79075
4136	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
4137	Make _If_sv private.
4138	[!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking
4139	basic_string_view arguments.
4140
4141	PR libstdc++/79075
4142	* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
4143	redundant option from cxxflags.
4144	(check_effective_target_cxx11-abi): Define.
4145	* testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
4146	effective target.
4147	* testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
4148	* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
4149	Likewise.
4150	* testsuite/21_strings/basic_string/allocator/char/minimal.cc:
4151	Likewise.
4152	* testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
4153	* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
4154	Likewise.
4155	* testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
4156	Likewise.
4157	* testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
4158	* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
4159	Likewise.
4160	* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
4161	Likewise.
4162	* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
4163	Likewise.
4164	* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
4165	Likewise.
4166	* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
4167	Likewise.
4168	* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
4169	Likewise.
4170	* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
4171	Likewise.
4172	* testsuite/23_containers/list/61347.cc: Likewise.
4173	* testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
4174	* testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
4175
41762017-01-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
4177
4178	PR libstdc++/78389
4179	* include/bits/list.tcc (merge(list&&)):
4180	Adjust list sizes if the comparator throws.
4181	(merge(list&&, _StrictWeakOrdering)): Likewise.
4182	(sort()): Splice elements back from the scratch buffers
4183	if the comparator throws.
4184	(sort(_StrictWeakOrdering)): Likewise.
4185	* testsuite/23_containers/list/operations/78389.cc: New.
4186
41872017-01-13  Jonathan Wakely  <jwakely@redhat.com>
4188
4189	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
4190	XFAIL for C++17 until node reinsertion supports fancy pointers.
4191
4192	PR libstdc++/78361
4193	* testsuite/20_util/add_pointer/value.cc: Test forming function
4194	pointers.
4195
41962017-01-13  Michael Brune  <lucdanton@free.fr>
4197
4198	PR libstdc++/78361
4199	* include/std/type_traits (__is_referenceable): Handle noexcept
4200	function types.
4201
42022017-01-12  Jonathan Wakely  <jwakely@redhat.com>
4203
4204	PR libstdc++/77528
4205	* include/bits/stl_queue.h (queue, priority_queue): Remove default
4206	member-initializers and define default constructors as templates with
4207	constraints.
4208	* include/bits/stl_stack.h (stack): Likewise.
4209	* testsuite/23_containers/priority_queue/requirements/constructible.cc:
4210	New.
4211	* testsuite/23_containers/priority_queue/requirements/
4212	explicit_instantiation/1.cc: Test more instantiations.
4213	* testsuite/23_containers/priority_queue/requirements/
4214	explicit_instantiation/1_c++98.cc: Likewise.
4215	* testsuite/23_containers/queue/requirements/constructible.cc: New.
4216	* testsuite/23_containers/stack/requirements/constructible.cc: New.
4217
4218	PR libstdc++/66284
4219	* doc/xml/manual/intro.xml: Document LWG 2781 change.
4220	* doc/html/*: Regenerate.
4221	* include/std/functional (_Function_base::_Ref_manager): Remove.
4222	(_Function_handler): Remove partial specializations for
4223	reference_wrapper.
4224	(function::target): Remove special case for const qualification.
4225	* testsuite/20_util/function/6.cc: Adjust tests for target type.
4226	* testsuite/20_util/function/7.cc: Likewise.
4227	* testsuite/20_util/function/8.cc: Likewise.
4228
42292017-01-11  Jonathan Wakely  <jwakely@redhat.com>
4230
4231	PR libstdc++/78134
4232	* include/bits/stl_map.h (map::lower_bound, map::upper_bound)
4233	(map::equal_range): Fix return type of heterogeneous overloads.
4234	* include/bits/stl_multimap.h (multimap::lower_bound)
4235	(multimap::upper_bound, multimap::equal_range): Likewise.
4236	* include/bits/stl_multiset.h (multiset::lower_bound)
4237	(multiset::upper_bound, multiset::equal_range): Likewise.
4238	* include/bits/stl_set.h (set::lower_bound, set::upper_bound)
4239	(set::equal_range): Likewise.
4240	* testsuite/23_containers/map/operations/2.cc
4241	* testsuite/23_containers/multimap/operations/2.cc
4242	* testsuite/23_containers/multiset/operations/2.cc
4243	* testsuite/23_containers/set/operations/2.cc
4244
4245	PR libstdc++/78273
4246	* include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
4247	the heterogeneous comparison can only find one match.
4248	* include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
4249	* testsuite/23_containers/map/operations/2.cc: Test count works with
4250	comparison function that just partitions rather than sorting.
4251	* testsuite/23_containers/set/operations/2.cc: Likewise.
4252
42532017-01-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
4254
4255	Reduce the size of variant, it doesn't need an index of
4256	type size_t internally.
4257	* include/std/variant (parse_numbers.h): New include.
4258	(__select_index): New.
4259	(_Variant_storage<false, _Types...>::_M_reset_impl): Use
4260	_index_type for comparison with variant_npos.
4261	(_Variant_storage<false, _Types...>::__index_type): New.
4262	(_Variant_storage<false, _Types...>::_M_index): Change the
4263	type from size_t to __index_type.
4264	(_Variant_storage<true, _Types...>::__index_type): New.
4265	(_Variant_storage<true, _Types...>::_M_index): Change the
4266	type from size_t to __index_type.
4267	(_Variant_base::_M_valid): Use _Storage::__index_type
4268	for comparison with variant_npos.
4269	(variant::index): Use _Base::_Storage::__index_type
4270	for comparison with variant_npos.
4271	* testsuite/20_util/variant/index_type.cc: New.
4272
42732017-01-10  Jonathan Wakely  <jwakely@redhat.com>
4274
4275	* testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
4276	effective target selector to prevent running in C++17 mode.
4277
4278	PR libstdc++/77528
4279	* include/bits/stl_queue.h (queue::c): Add default member initializer.
4280	(queue::queue()): Add constructor and define as defaulted.
4281	(queue::queue(_Sequence&&)): Remove default argument.
4282	(priority_queue::c, priority_queue::comp): Add default member
4283	initializers.
4284	(priority_queue::priority_queue()): Add constructor and define as
4285	defaulted.
4286	(priority_queue::priority_queue(const _Compare&, _Sequence&&)):
4287	Remove default argument for first parameter.
4288	* include/bits/stl_stack.h (stack::c): Add default member initializer.
4289	(stack::stack()): Add constructor and define as defaulted.
4290	(stack::stack(const _Sequence&)): Remove default argument.
4291	* testsuite/23_containers/priority_queue/requirements/
4292	explicit_instantiation/1.cc: Test explicit instantiation with
4293	non-DefaultConstructible sequence.
4294	* testsuite/23_containers/priority_queue/77528.cc: New test.
4295	* testsuite/23_containers/priority_queue/requirements/
4296	explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
4297	* testsuite/23_containers/queue/77528.cc: New test.
4298	* testsuite/23_containers/queue/requirements/explicit_instantiation/
4299	1.cc: Test explicit instantiation with non-DefaultConstructible
4300	sequence.
4301	* testsuite/23_containers/queue/requirements/explicit_instantiation/
4302	1_c++0x.cc: Replace with 1_c++98.cc.
4303	* testsuite/23_containers/stack/77528.cc: New test.
4304	* testsuite/23_containers/stack/requirements/explicit_instantiation/
4305	1.cc: Test explicit instantiation with non-DefaultConstructible
4306	sequence.
4307	* testsuite/23_containers/stack/requirements/explicit_instantiation/
4308	1_c++0x.cc: Replace with 1_c++98.cc.
4309
43102017-01-10  Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
4311
4312	* include/bits/locale_facets_nonio.tcc
4313	(time_get::_M_extract_via_format): Avoid compilation errors with
4314	non-standard struct tm.
4315
43162017-01-10  François Dumont  <fdumont@gcc.gnu.org>
4317	    Jonathan Wakely  <jwakely@redhat.com>
4318
4319	* python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
4320	(is_specialization, strip_versioned_namespace): New helpers functions
4321	to work with symbols in the versioned namespace.
4322	(Printer.add_version): Add second name using versioned namespace.
4323	(add_one_template_type_printer, add_one_type_printer): Add second
4324	type printers using versioned namespace.
4325	(register_type_printers): Add template type printer for basic_string.
4326	(build_libstdcxx_dictionary): Remove dead code.
4327	* python/libstdcxx/v6/xmethods.py: Make all matchers look for
4328	versioned namespace.
4329	* testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
4330	results.
4331	* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
4332
43332017-01-09  Jonathan Wakely  <jwakely@redhat.com>
4334
4335	PR libstdc++/79017
4336	* acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
4337	functions separately on darwin and if they're missing define
4338	_GLIBCXX_NO_C99_ROUNDING_FUNCS.
4339	* config.h.in: Regenerate.
4340	* configure: Regenerate.
4341	* include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
4342	(llrintf, llrintl, llround, llroundf, llroundl): Do not define.
4343
4344	* testsuite/30_threads/condition_variable/members/3.cc: Use new macro
4345	to detect correct thread_local destructors.
4346	* testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
4347	Define.
4348
43492017-01-09  Jonathan Wakely  <jwakely@redhat.com>
4350	    Aditya Kumar  <hiraditya@msn.com>
4351
4352	PR libstdc++/66414
4353	* include/bits/basic_string.tcc
4354	(basic_string::find(const CharT*, size_type, size_type)): Optimize.
4355
43562017-01-06  Jonathan Wakely  <jwakely@redhat.com>
4357
4358	* testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
4359	* testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
4360
4361	* testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
4362	Include <cassert> header.
4363
4364	PR libstdc++/78968
4365	* crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
4366	* configure: Regenerate.
4367
43682017-01-06  Barrett Adair  <barrettellisadair@gmail.com>
4369	    Jonathan Wakely  <jwakely@redhat.com>
4370
4371	* include/std/variant (variant, swap): Replace __and_ usage with fold
4372	expressions.
4373
43742017-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4375
4376	PR go/78978
4377	* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
4378	* configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
4379	GLIBCXX_CHECK_ASSEMBLER_HWCAP.
4380	* fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
4381	HWCAP_FLAGS.
4382	* aclocal.m4: Regenerate.
4383	* configure: Regenerate.
4384	* Makefile.in, doc/Makefile.in, include/Makefile.in,
4385	libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
4386	src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
4387	src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
4388
43892017-01-06  Jonathan Wakely  <jwakely@redhat.com>
4390
4391	* include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
4392
4393	PR libstdc++/78991
4394	* include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
4395	(_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
4396	(_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
4397	move function objects.
4398	(__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
4399	(__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
4400	* testsuite/25_algorithms/sort/78991.cc: New test.
4401
44022017-01-05  Jonathan Wakely  <jwakely@redhat.com>
4403
4404	* include/bits/std_function.h (function::_Signature_type): Remove.
4405	(function::function(_Functor)): Adjust.
4406
44072017-01-05  Tim Shen  <timshen@google.com>
4408
4409	PR libstdc++/78996
4410	* include/std/variant (__gen_vtable_impl): rename __unused to
4411	__dimensions to avoid naming conflict.
4412
44132017-01-04  Jonathan Wakely  <jwakely@redhat.com>
4414
4415	PR libstdc++/78968
4416	* config.h.in: Regenerate.
4417	* configure: Likewise.
4418	* configure.ac: Check for __cxa_thread_atexit.
4419	* libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
4420	Don't define __cxa_thread_atexit if libc provides it.
4421
44222017-01-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
4423
4424	Implement 2801, Default-constructibility of unique_ptr.
4425	* include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
4426	(unique_ptr::_DeleterConstraint): Likewise.
4427	(unique_ptr()): Constrain.
4428	(unique_ptr(pointer)): Likewise.
4429	(unique_ptr(nullptr_t)): Likewise.
4430	(unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
4431	(unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
4432	(unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
4433	(unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
4434	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
4435	* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
4436	* testsuite/20_util/unique_ptr/cons/default.cc: New.
4437	* testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
4438
44392017-01-04  Pauli Nieminen  <suokkos@gmail.com>
4440	    Jonathan Wakely  <jwakely@redhat.com>
4441
4442	PR libstdc++/64735
4443	* acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
4444	* config.h.in: Regenerate.
4445	* config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
4446	(GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
4447	exports for exception_ptr, nested_exception, and future conditional.
4448	[HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
4449	exports for exception_ptr, nested_exception, and future conditional.
4450	* configure: Regenerate.
4451	* configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
4452	* include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
4453	* libsupc++/eh_atomics.h: New file for internal use only.
4454	(__eh_atomic_inc, __eh_atomic_dec): New.
4455	* libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
4456	(exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
4457	(rethrow_exception): Use eh_atomics.h reference counting helpers.
4458	* libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
4459	* libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
4460	* libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
4461	* libsupc++/exception_ptr.h: Likewise.
4462	* libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
4463	* libsupc++/nested_exception.cc: Remove check for
4464	ATOMIC_INT_LOCK_FREE.
4465	* libsupc++/nested_exception.h: Likewise.
4466	* src/c++11/future.cc: Likewise.
4467	* testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
4468	* testsuite/18_support/nested_exception/*: Likewise.
4469	* testsuite/30_threads/async/*: Likewise.
4470	* testsuite/30_threads/future/*: Likewise.
4471	* testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
4472	* testsuite/30_threads/packaged_task/*: Likewise.
4473	* testsuite/30_threads/promise/*: Likewise.
4474	* testsuite/30_threads/shared_future/*: Likewise.
4475
44762017-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
4477
4478	* doc/xml/manual/documentation_hacking.xml: sourceforge.net now
4479	defaults to https; adjust reference.
4480
44812017-01-03  Jonathan Wakely  <jwakely@redhat.com>
4482
4483	PR libstdc++/78956
4484	* include/std/thread (thread(const thread&&)): Add deleted
4485	constructor.
4486	* testsuite/30_threads/thread/cons/lwg2097.cc: New test.
4487
4488	* doc/xml/manual/spine.xml: Update copyright years.
4489	* doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
4490	* doc/xml/manual/test.xml: Likewise.
4491	* doc/html/*: Regenerate.
4492
44932017-01-01  Gerald Pfeifer  <gerald@pfeifer.com>
4494
4495	* doc/xml/faq.xml: Update address of C++ ABI link.
4496	* doc/xml/manual/abi.xml: Ditto.
4497
44982017-01-01  Jakub Jelinek  <jakub@redhat.com>
4499
4500	Update copyright years.
4501
4502Copyright (C) 2017 Free Software Foundation, Inc.
4503
4504Copying and distribution of this file, with or without modification,
4505are permitted in any medium without royalty provided the copyright
4506notice and this notice are preserved.
4507