12018-07-05  François Dumont  <fdumont@gcc.gnu.org>
2
3	Backport from mainline
4	2018-07-04  François Dumont  <fdumont@gcc.gnu.org>
5
6	PR libstdc++/86272
7	* include/debug/string
8	(__gnu_debug::basic_string<>::insert<_Ite>(const_iterator, _Ite, _Ite)):
9	Use __glibcxx_check_insert_range.
10
112018-05-14  Jonathan Wakely  <jwakely@redhat.com>
12
13	PR libstdc++/67554
14	* include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
15	(_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
16
172018-05-10  Jonathan Wakely  <jwakely@redhat.com>
18
19	* doc/xml/manual/debug_mode.xml: Add array and forward_list to list
20	of C++11 containers with Debug Mode support.
21	* doc/xml/manual/using.xml: Document Dual ABI for ios_base::failure.
22	* doc/html/*: Regenerate.
23
242018-05-03  Jonathan Wakely  <jwakely@redhat.com>
25
26	PR libstdc++/85632 use uintmax_t for arithmetic
27	* src/filesystem/ops.cc (experimental::filesystem::space): Perform
28	arithmetic in result type.
29	* testsuite/experimental/filesystem/operations/space.cc: New.
30
312018-03-02  Jonathan Wakely  <jwakely@redhat.com>
32
33	Backport from mainline
34	2018-03-02  Jonathan Wakely  <jwakely@redhat.com>
35
36	PR libstdc++/84671
37	* include/bits/parse_numbers.h (_Number_help): Add partial
38	specialization to handle digit separators. Adjust partial
39	specialization for recursion temrination to require _Pow == 1ULL.
40	* testsuite/20_util/duration/literals/84671.cc: New
41
422018-02-19  Jonathan Wakely  <jwakely@redhat.com>
43
44	Backport from mainline
45	2018-02-15  Jonathan Wakely  <jwakely@redhat.com>
46
47	PR libstdc++/81797
48	* configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
49	* configure: Regenerate.
50	* include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
51	defined.
52	* include/Makefile.in: Regenerate.
53
542018-01-29  Jonathan Wakely  <jwakely@redhat.com>
55
56	Backport from mainline
57	2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
58
59	PR libstdc++/83833
60	* include/bits/random.h (chi_squared_distribution::param): Update
61	gamma distribution parameter.
62	* testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
63	test.
64
652018-01-19  Jonathan Wakely  <jwakely@redhat.com>
66
67	Backport from mainline
68	2018-01-16  Jonathan Wakely  <jwakely@redhat.com>
69
70	PR libstdc++/83834
71	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
72	pattern with exact match for std::cerr.
73
742018-01-15  Jonathan Wakely  <jwakely@redhat.com>
75
76	* python/libstdcxx/v6/printers.py (register_type_printers): Remove
77	printer for experimental::any. Fix printers for experimental::optional
78	and experimental::basic_string_view.
79
80	Backport from mainline
81	2018-01-04  Jonathan Wakely  <jwakely@redhat.com>
82
83	PR libstdc++/83626
84	* src/filesystem/ops.cc (remove(const path&, error_code&))): Do not
85	return an error for non-existent paths. Remove unnecessary
86	symlink_status call.
87	(remove_all(const path&)): Fix type of result variable.
88	(remove_all(const path&, error_code&))): Use non-throwing increment
89	for directory iterator. Do not return an error for non-existent paths.
90	* testsuite/experimental/filesystem/operations/remove.cc: New test.
91	* testsuite/experimental/filesystem/operations/remove_all.cc: Fix
92	expected results for non-existent paths.
93
942018-01-05  Jonathan Wakely  <jwakely@redhat.com>
95
96	Backport from mainline
97	2017-11-14  Jonathan Wakely  <jwakely@redhat.com>
98
99	* include/bits/locale_conv.h (wbuffer_convert::_M_conv_get): Fix typo.
100	* testsuite/22_locale/conversions/buffer/3.cc: New test.
101
102	Backport from mainline
103	2017-10-19  Jonathan Wakely  <jwakely@redhat.com>
104
105	* testsuite/experimental/filesystem/iterators/
106	recursive_directory_iterator.cc: Ensure that error_code arguments are
107	cleared when required.
108	* testsuite/experimental/filesystem/operations/create_directory.cc:
109	Remove redundant check.
110	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
111	Ensure that error_code argument is cleared when required.
112
113	Backport from mainline
114	2017-12-27  Jonathan Wakely  <jwakely@redhat.com>
115
116	PR libstdc++/83600
117	* include/bits/regex.h (match_results::end()): Return valid iterator
118	when not ready.
119	* testsuite/28_regex/match_results/ctors/char/default.cc: Check that
120	unready objects are empty and have equal begin and end iterators.
121	* testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
122
123	Backport from mainline
124	2017-12-27  Jonathan Wakely  <jwakely@redhat.com>
125
126	PR libstdc++/83598
127	* include/bits/regex.h (basic_regex): Don't modify flags passed to
128	constructors.
129	* testsuite/28_regex/basic_regex/ctors/83598.cc: New test.
130
131	Backport from mainline
132	2017-12-14  Jonathan Wakely  <jwakely@redhat.com>
133
134	PR libstdc++/83279
135	* src/filesystem/std-ops.cc (do_copy_file): Handle sendfile not
136	copying entire file.
137
138	Backport from mainline
139	2018-01-04  Jonathan Wakely  <jwakely@redhat.com>
140
141	* include/experimental/fs_ops.h (exists(const path&, error_code&))):
142	Only check status_known once.
143
144	Backport from mainline
145	2017-10-25  Jonathan Wakely  <jwakely@redhat.com>
146
147	PR libstdc++/79283
148	* src/filesystem/ops.cc (read_symlink): Handle st_size being zero.
149
1502017-12-14  Jonathan Wakely  <jwakely@redhat.com>
151
152	PR libstdc++/59568
153	* include/std/complex (operator>>): Only use putback if a character
154	was successfully extracted and only set the value if a number was
155	successfully extracted.
156	* testsuite/26_numerics/complex/inserters_extractors/char/59568.cc:
157	New test.
158
1592017-11-11  John David Anglin  <danglin@gcc.gnu.org>
160
161	Backport from mainline
162	2017-08-20  John David Anglin  <danglin@gcc.gnu.org>
163
164	PR testsuite/81056
165	* testsuite/17_intro/names.cc: Undef 'd' and 'r' on __hpux__.
166
1672017-10-25  Jonathan Wakely  <jwakely@redhat.com>
168
169	* doc/xml/manual/status_cxx1998.xml: Correct statement about
170	what the doc covers.
171	* doc/xml/manual/status_cxxtr1.xml: Likewise.
172	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
173	* doc/html/*: Regenerate.
174
1752017-10-23  Jonathan Wakely  <jwakely@redhat.com>
176
177	Backport from mainline
178	2017-07-18  Jonathan Wakely  <jwakely@redhat.com>
179
180	PR libstdc++/81395
181	* include/bits/fstream.tcc (basic_filebuf::xsgetn): Don't set buffer
182	pointers for write mode after reading.
183	* testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: New.
184
185	Backport from mainline
186	2017-10-19  Jonathan Wakely  <jwakely@redhat.com>
187
188	* include/experimental/bits/fs_path.h (path::iterator++(int))
189	(path::iterator--(int)): Fix for paths with only one component.
190	* testsuite/experimental/filesystem/path/itr/traversal.cc: Test
191	post-increment and post-decrement.
192
1932017-09-20  Jonathan Wakely  <jwakely@redhat.com>
194
195	Backport from mainline
196	2017-02-16  Jonathan Wakely  <jwakely@redhat.com>
197
198	PR libstdc++/60936
199	* src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length
200	written to buffer, not length remaining in buffer.
201
202	Backport from mainline
203	2017-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
204
205	* src/c++11/snprintf_lite.cc (__err): Update bug reporting URL.
206
2072017-09-18  Jonathan Wakely  <jwakely@redhat.com>
208
209	Backport from mainline
210	2017-02-03  Jonathan Wakely  <jwakely@redhat.com>
211
212	PR libstdc++/60936
213	* src/c++11/Makefile.am: Add new files.
214	* src/c++11/Makefile.in: Regenerate.
215	* src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
216	(operator<<, operator>>, getline): Move explicit instantiations to ...
217	* src/c++11/cow-string-io-inst.cc: ... new file.
218	* src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
219	(operator<<, operator>>, getline): Move explicit instantiations to ...
220	* src/c++11/cow-wstring-io-inst.cc: ... new file.
221	* src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error)
222	(__throw_future_error, __throw_bad_function_call):
223	(__throw_regex_error): Move functions for C++11 exceptions to the
224	files that define the exception types.
225	* src/c++11/functional.cc (__throw_bad_function_call): Move here.
226	* src/c++11/future.cc (__throw_future_error): Likewise.
227	* src/c++11/ios.cc (__throw_ios_failure): Likewise.
228	* src/c++11/regex.cc (__throw_regex_error): Likewise.
229	* src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal
230	representation directly instead of calling __int_to_char.
231	* src/c++11/sso_string.cc (__sso_string): New file for definition
232	of __sso_string type.
233	* src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
234	explicit instantiations of narrow string I/O functions.
235	* src/c++11/system_error.cc (__throw_system_error): Move here.
236	(__sso_string): Move to new file.
237	* src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
238	explicit instantiations of wide string I/O functions.
239	* src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<)
240	(operator>>, getline): Remove explicit instantiations from here.
241
2422017-09-13  Jonathan Wakely  <jwakely@redhat.com>
243
244	PR libstdc++/81468
245	* include/std/chrono (time_point(const time_point<_Dur2>&)): Add
246	missing constraint from LWG DR 1177.
247	* testsuite/20_util/duration/cons/dr1177.cc: New.
248	* testsuite/20_util/time_point/cons/81468.cc: New.
249	* testsuite/20_util/duration/literals/range.cc: Update dg-error line.
250
251	* doc/doxygen/mainpage.html: Fix broken URLs.
252
253	PR libstdc++/81835
254	* doc/xml/manual/extensions.xml: Replace unstable URL.
255	* doc/html/manual/ext_demangling.html: Regenerate.
256	* libsupc++/cxxabi.h (__cxa_demangle): Fix broken URL.
257
2582017-09-05  Jonathan Wakely  <jwakely@redhat.com>
259
260	* testsuite/20_util/owner_less/noexcept.cc: Remove owner_less<void>
261	tests.
262
2632017-09-04  Jonathan Wakely  <jwakely@redhat.com>
264
265	Backport from mainline
266	2017-08-09  Jonathan Wakely  <jwakely@redhat.com>
267
268	PR libstdc++/79820
269	PR libstdc++/81751
270	* config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)):
271	Call fflush on the stream instead of calling sync() while _M_cfile is
272	null. Restore original value of errno.
273	* testsuite/ext/stdio_filebuf/char/79820.cc: New.
274	* testsuite/ext/stdio_filebuf/char/81751.cc: New.
275
276	Backport from mainline
277	2017-07-25  Jonathan Wakely  <jwakely@redhat.com>
278
279	PR libstdc++/53984
280	* include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment.
281	* include/bits/istream.tcc (basic_istream::sentry): Handle exceptions
282	during construction.
283	* include/std/istream: Adjust comments for formatted input functions
284	and unformatted input functions.
285	* testsuite/27_io/basic_fstream/53984.cc: New.
286	* testsuite/27_io/basic_istream/sentry/char/53984.cc: New.
287
288	Backport from mainline
289	2017-06-08  Jonathan Wakely  <jwakely@redhat.com>
290
291	PR libstdc++/81017
292	* include/std/functional (function::function(function&&))
293	(function::operator=(function&&)): Add noexcept.
294	* testsuite/20_util/function/assign/move.cc: Check for noexcept.
295	* testsuite/20_util/function/cons/move.cc: Likewise.
296
297	Backport from mainline
298	2017-06-05  Jonathan Wakely  <jwakely@redhat.com>
299
300	* include/bits/shared_ptr_base.h (__shared_ptr::owner_before)
301	(__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept
302	specifiers as per LWG 2873 and LWG 2942.
303	* testsuite/20_util/owner_less/noexcept.cc: New.
304	* testsuite/20_util/shared_ptr/observers/owner_before.cc: Test
305	noexcept guarantees.
306	* testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
307
308	Backport from mainline
309	2017-08-31  Jonathan Wakely  <jwakely@redhat.com>
310
311	PR c++/82039
312	* include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate):
313	Adjust null pointer constant to avoid warning.
314
315	Backport from mainline
316	2017-08-18  Jonathan Wakely  <jwakely@redhat.com>
317
318	PR libstdc++/81891
319	* include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator,
320	size_type, const _H1&, const _H2&, const _Hash&, const _Equal&,
321	const _ExtractKey&, const allocator_type&)): Let destructor do clean
322	up if an exception is thrown.
323	* testsuite/23_containers/unordered_map/cons/81891.cc: New.
324
325	Backport from mainline
326	2017-07-31  Marek Polacek  <polacek@redhat.com>
327
328	PR libstdc++/81599
329	* include/bits/stl_stack.h: Fix typo.
330
331	Backport from mainline
332	2017-07-10  Jonathan Wakely  <jwakely@redhat.com>
333
334	PR libstdc++/81338
335	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
336	Declare basic_stringbuf to be a friend.
337	* include/bits/sstream.tcc (basic_stringbuf::overflow)
338	[_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating.
339	* include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string
340	length to buffer length.
341	* testsuite/27_io/basic_stringstream/assign/81338.cc: New.
342
3432017-07-12  Jonathan Wakely  <jwakely@redhat.com>
344
345	* testsuite/30_threads/promise/members/at_thread_exit2.cc: Require
346	atomic builtins.
347
3482017-07-11  Jonathan Wakely  <jwakely@redhat.com>
349
350	Backport from mainline
351	2017-04-21  Jonathan Wakely  <jwakely@redhat.com>
352
353	PR libstdc++/80316
354	* include/std/future (_State_baseV2::_Setter::operator()): Remove
355	_S_check calls that are done after the pointer to the shared state is
356	already dereferenced.
357	(_State_baseV2::_Setter<_Res, void>): Define specialization for void
358	as partial specialization so it can be defined within the definition
359	of _State_baseV2.
360	(_State_baseV2::__setter): Call _S_check.
361	(_State_baseV2::__setter(promise<void>*)): Add overload for use by
362	promise<void>::set_value and promise<void>::set_value_at_thread_exit.
363	(promise<T>, promise<T&>, promise<void>): Make _State a friend.
364	(_State_baseV2::_Setter<void, void>): Remove explicit specialization.
365	(promise<void>::set_value, promise<void>::set_value_at_thread_exit):
366	Use new __setter overload.
367	* testsuite/30_threads/promise/members/at_thread_exit2.cc: New test.
368	* testsuite/30_threads/promise/members/set_exception.cc: Test
369	promise<T&> and promise<void> specializations.
370	* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
371	Test for no_state error condition.
372	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
373
3742017-07-04  Release Manager
375
376	* GCC 6.4.0 released.
377
3782017-06-16  Jonathan Wakely  <jwakely@redhat.com>
379
380	* include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition.
381	* testsuite/22_locale/conversions/buffer/2.cc: New.
382
383	* doc/xml/manual/appendix_contributing.xml: Link to the list of bad
384	names, and link to the test docs and note higher DejaGnu version
385	requirement.
386	* doc/xml/manual/allocator.xml: Fix ViewCVS URLs.
387	* doc/xml/manual/mt_allocator.xml: Likewise.
388	* doc/html/*: Regenerate.
389
390	* include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing
391	return statement.
392	* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add
393	missing return statements.
394	* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
395	Likewise.
396
3972017-06-07  Jonathan Wakely  <jwakely@redhat.com>
398
399	PR libstdc++/81002
400	* include/bits/regex_compiler.h (__compile_nfa): Add template argument
401	list to specify traits type.
402	* testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New.
403
4042017-05-26  Jonathan Wakely  <jwakely@redhat.com>
405
406	Backport from mainline
407	2017-01-20  Joe Seymour  <joe.s@somniumtech.com>
408
409	* acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
410	* configure: Regenerate.
411
412	Backport from mainline
413	2016-12-06  Felipe Magno de Almeida  <felipe@expertisesolutions.com.br>
414
415	* src/c++11/cow-stdexcept.cc: Add special case for 16 bit pointers.
416
4172017-05-18  Jonathan Wakely  <jwakely@redhat.com>
418
419	Backport from mainline
420	2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
421
422	* testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
423	check_value.cc: Do not add special functions to namespace std in TR1
424	test.
425
426	Backport from mainline
427	2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
428
429	* testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
430	run for C++11 and later.
431	* testsuite/ext/special_functions/conf_hyperg/check_value.cc:
432	Likewise.
433	* testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
434	* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
435	* testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
436	* testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
437	* testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
438	Likewise.
439	* testsuite/special_functions/01_assoc_laguerre/check_value.cc:
440	Likewise.
441	* testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
442	* testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
443	Likewise.
444	* testsuite/special_functions/02_assoc_legendre/check_nan.cc:
445	Likewise.
446	* testsuite/special_functions/02_assoc_legendre/check_value.cc:
447	Likewise.
448	* testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
449	* testsuite/special_functions/02_assoc_legendre/compile_2.cc:
450	* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
451	* testsuite/special_functions/03_beta/check_value.cc: Likewise.
452	* testsuite/special_functions/03_beta/compile.cc: Likewise.
453	* testsuite/special_functions/03_beta/compile_2.cc: Likewise.
454	* testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
455	* testsuite/special_functions/04_comp_ellint_1/check_value.cc:
456	Likewise.
457	* testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
458	* testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
459	* testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
460	* testsuite/special_functions/05_comp_ellint_2/check_value.cc:
461	Likewise.
462	* testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
463	* testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
464	* testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
465	* testsuite/special_functions/06_comp_ellint_3/check_value.cc:
466	Likewise.
467	* testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
468	* testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
469	* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
470	* testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
471	Likewise.
472	* testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
473	* testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
474	* testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
475	* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
476	* testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
477	Likewise.
478	* testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
479	* testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
480	* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
481	* testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
482	Likewise.
483	* testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
484	* testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
485	* testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
486	* testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
487	* testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
488	* testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
489	* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
490	* testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
491	* testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
492	* testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
493	* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
494	* testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
495	* testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
496	* testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
497	* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
498	* testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
499	* testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
500	* testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
501	* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
502	* testsuite/special_functions/14_expint/check_value.cc: Likewise.
503	* testsuite/special_functions/14_expint/compile.cc: Likewise.
504	* testsuite/special_functions/14_expint/compile_2.cc: Likewise.
505	* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
506	* testsuite/special_functions/15_hermite/check_value.cc: Likewise.
507	* testsuite/special_functions/15_hermite/compile.cc: Likewise.
508	* testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
509	* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
510	* testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
511	* testsuite/special_functions/16_laguerre/compile.cc: Likewise.
512	* testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
513	* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
514	* testsuite/special_functions/17_legendre/check_value.cc: Likewise.
515	* testsuite/special_functions/17_legendre/compile.cc: Likewise.
516	* testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
517	* testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
518	* testsuite/special_functions/18_riemann_zeta/check_value.cc:
519	Likewise.
520	* testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
521	* testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
522	* testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
523	* testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
524	* testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
525	* testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
526	* testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
527	* testsuite/special_functions/20_sph_legendre/check_value.cc:
528	Likewise.
529	* testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
530	* testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
531	* testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
532	* testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
533	* testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
534	* testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
535
536	Backport from mainline
537	2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
538
539	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
540	Adjust dg-prune-output pattern for error in C++98 mode.
541
542	Backport from mainline
543	2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
544
545	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
546	Adjust dg-prune-output pattern for error in C++98 mode.
547	* testsuite/23_containers/deque/requirements/dr438/
548	constructor_1_neg.cc: Likewise.
549	* testsuite/23_containers/deque/requirements/dr438/
550	constructor_2_neg.cc: Likewise.
551	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
552	Likewise.
553	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
554	Likewise.
555	* testsuite/23_containers/list/requirements/dr438/
556	constructor_1_neg.cc: Likewise.
557	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
558	Likewise.
559	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
560	Likewise.
561	* testsuite/23_containers/vector/requirements/dr438/
562	constructor_1_neg.cc: Likewise.
563	* testsuite/23_containers/vector/requirements/dr438/
564	constructor_2_neg.cc: Likewise.
565	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
566	Likewise.
567
568	Backport from mainline
569	2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
570
571	* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
572	C++98-compatible initialization for array.
573
574	Backport from mainline
575	2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
576
577	* testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
578	Limit test to C++11 and later.
579
580	Backport from mainline
581	2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
582
583	* testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
584	* testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
585	* testsuite/27_io/rvalue_streams.cc: Likewise.
586
587	Backport from mainline
588	2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
589
590	* testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
591	options are present that aren't valid for C.
592	* testsuite/abi/header_cxxabi.c: Likewise.
593
594	Backport from mainline
595	2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
596
597	* testsuite/experimental/memory_resource/null_memory_resource.cc:
598	Don't include internal header.
599	* testsuite/experimental/type_erased_allocator/2.cc: Likewise.
600	* testsuite/experimental/type_erased_allocator/uses_allocator.cc:
601	Likewise. Add licence and change to compile-only test.
602
603	Backport from mainline
604	2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
605
606	* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
607	supported for C++11 and later.
608	* testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
609	* testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
610
611	Backport from mainline
612	2017-03-23  Jonathan Wakely  <jwakely@redhat.com>
613
614	* testsuite/23_containers/list/operations/78389.cc: Fix for C++11
615	mode. Fix less-than to define a valid strict weak ordering.
616
617	Backport from mainline
618	2017-04-24  Jonathan Wakely  <jwakely@redhat.com>
619
620	PR libstdc++/80504
621	* include/std/functional (ref, cref): Qualify calls.
622	* testsuite/20_util/reference_wrapper/80504.cc: New test.
623
624	Backport from mainline
625	2017-04-24  Jonathan Wakely  <jwakely@redhat.com>
626
627	PR libstdc++/80493
628	* include/experimental/optional (optional::swap): Fix exception
629	specification.
630
631	Backport from mainline
632	2017-04-19  Jonathan Wakely  <jwakely@redhat.com>
633
634	PR libstdc++/80448
635	* include/experimental/bits/fs_dir.h (directory_iterator)
636	(recursive_directory_iterator): Remove noexcept from defaulted
637	constructors.
638
639	Backport from mainline
640	2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
641
642	* testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests
643	that no longer fail.
644
645	Backport from mainline
646	2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
647
648	* include/bits/ios_base.h: Correct comment.
649	* testsuite/util/testsuite_hooks.h: Likewise.
650
651	Backport from mainline
652	2017-03-28  Jonathan Wakely  <jwakely@redhat.com>
653
654	PR libstdc++/80137
655	* include/bits/random.tcc (generate_canonical): Use std::nextafter
656	or numeric_limits::epsilon() to reduce out-of-range values.
657	* testsuite/26_numerics/random/uniform_real_distribution/operators/
658	64351.cc: Verify complexity requirement is met.
659
660	Backport from mainline
661	2017-03-16  Jonathan Wakely  <jwakely@redhat.com>
662
663	PR libstdc++/67440
664	* python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name
665	for GDB 7.6 compatibility, use gdb.Type.unqualified instead.
666
667	Backport from mainline
668	2017-01-17  Jonathan Wakely  <jwakely@redhat.com>
669
670	PR libstdc++/69699
671	* doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
672	_GLIBCXX__ macro is not useful. Remove redundant date information
673	and link to the GCC release timeline.
674	(abi.versioning.active): Move partial sentence into the previous
675	paragraph.
676	* doc/html/*: Regenerate.
677
678	* doc/xml/manual/abi.xml: Document libstdc++.so.6.0.22 version.
679
680	Backport from mainline
681	2016-12-21  Jonathan Wakely  <jwakely@redhat.com>
682
683	PR libstdc++/71444
684	* config/os/mingw32-w64/error_constants.h
685	(address_family_not_supported, address_in_use, address_not_available)
686	(already_connected, connection_aborted, connection_already_in_progress)
687	connection_refused, connection_reset, cross_device_link)
688	(destination_address_required, host_unreachable, message_size)
689	(network_down, network_reset, network_unreachable, no_buffer_space)
690	(no_protocol_option, not_a_socket, not_connected, operation_canceled)
691	(operation_in_progress, operation_not_supported, protocol_error)
692	(protocol_not_supported, too_many_links, too_many_symbolic_link_levels)
693	(value_too_large, wrong_protocol_type): Define.
694	(bad_message, identifier_removed, no_link, no_message_available)
695	(no_message, no_stream_resources, not_a_stream, owner_dead)
696	(state_not_recoverable, stream_timeout, text_file_busy): Define
697	conditionally.
698	* testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
699	Guard test for no_message with _GLIBCXX_HAVE_ENOMSG.
700
701	Backport from mainline
702	2016-11-09  Tim Shen  <timshen@google.com>
703
704	PR libstdc++/78236
705	* libstdc++-v3/include/bits/regex.h (regex_iterator::regex_iterator()):
706	Define end() as _M_pregex == nullptr.
707	* libstdc++-v3/include/bits/regex.tcc (regex_iterator::operator==(),
708	regex_iterator::operator++()): Fix operator==() and operator++() to
709	look at null-ness of _M_pregex on both sides.
710	* testsuite/28_regex/regression.cc: New testcase.
711
7122017-05-18  Jonathan Wakely  <jwakely@redhat.com>
713
714	* testsuite/libstdc++-prettyprinters/59161.cc: Fix for C++98 mode.
715
7162017-04-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
717
718	Backport from mainline
719	2017-04-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
720
721	PR libstdc++/79141
722	* include/bits/stl_pair.h (__nonesuch_no_braces): New.
723	(operator=(typename conditional<
724	__and_<is_copy_assignable<_T1>,
725	is_copy_assignable<_T2>>::value,
726	const pair&, const __nonesuch&>::type)): Change __nonesuch
727	to __nonesuch_no_braces.
728	(operator=(typename conditional<
729	__not_<__and_<is_copy_assignable<_T1>,
730	is_copy_assignable<_T2>>>::value,
731	const pair&, const __nonesuch&>::type)): Likewise.
732	(operator=(typename conditional<
733	__and_<is_move_assignable<_T1>,
734	is_move_assignable<_T2>>::value,
735	pair&&, __nonesuch&&>::type)): Likewise.
736	* testsuite/20_util/pair/79141.cc: New.
737
7382017-03-28  Jonathan Wakely  <jwakely@redhat.com>
739
740	PR libstdc++/80137
741	* include/bits/random.tcc (generate_canonical): Use std::nextafter
742	or numeric_limits::epsilon() to reduce out-of-range values.
743	* testsuite/26_numerics/random/uniform_real_distribution/operators/
744	64351.cc: Verify complexity requirement is met.
745
746	Backport from mainline
747	2017-03-15  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
748
749	PR libstdc++/62045
750	* include/ext/pb_ds/qdetail/binary_heap_/binary_heap_.hpp
751	(is_heap): Remove.
752	(push_heap): Remove the wrong checking using is_heap.
753	(make_heap): Remove the assertion using is_heap.
754	* include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
755	(modify): Ditto.
756	(resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after
757	calling make_heap.
758
759	Backport from mainline
760	2017-03-15  Jonathan Wakely  <jwakely@redhat.com>
761
762	PR libstdc++/62045
763	* testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc:
764	New test.
765	* testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste
766	error in comment.
767
768	Backport from mainline
769	2017-02-23  Jonathan Wakely  <jwakely@redhat.com>
770
771	* include/experimental/iterator: Include <iterator>.
772	* testsuite/experimental/iterator/requirements.cc: Check for contents
773	of <iterator>.
774
7752017-03-17  Jonathan Wakely  <jwakely@redhat.com>
776
777	Backport from mainline
778	2017-03-17  Jonathan Wakely  <jwakely@redhat.com>
779
780	* src/c++11/codecvt.cc (range): Add non-type template parameter and
781	define oerloaded operators for reading and writing code units.
782	(range<Elem, false>): Define partial specialization for accessing
783	wide characters in potentially unaligned byte ranges.
784	(ucs2_span(const char16_t*, const char16_t*, ...))
785	(ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters
786	to range<const char16_t, false> in order to avoid unaligned reads.
787	(__codecvt_utf16_base<char16_t>::do_out)
788	(__codecvt_utf16_base<char32_t>::do_out)
789	(__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for
790	unaligned data to avoid unaligned writes.
791	(__codecvt_utf16_base<char16_t>::do_in)
792	(__codecvt_utf16_base<char32_t>::do_in)
793	(__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return
794	error if there are unprocessable trailing bytes.
795	(__codecvt_utf16_base<char16_t>::do_length)
796	(__codecvt_utf16_base<char32_t>::do_length)
797	(__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type
798	range<const char16_t, false> to span functions.
799	* testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test.
800
801	Backport from mainline
802	2017-03-16  Jonathan Wakely  <jwakely@redhat.com>
803
804	PR libstdc++/79980
805	* src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type.
806
807	PR libstdc++/80041
808	* src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out)
809	(__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to
810	char16_t to work with UTF-16 instead of UTF-8.
811	* testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test.
812
813	* src/c++11/codecvt.cc (codecvt<char16_t, char, mbstate_t>)
814	(codecvt<char32_t, char, mbstate_t>, __codecvt_utf8_base<char16_t>)
815	(__codecvt_utf8_base<char32_t>, __codecvt_utf8_base<wchar_t>)
816	(__codecvt_utf16_base<char16_t>, __codecvt_utf16_base<char32_t>)
817	(__codecvt_utf16_base<wchar_t>, __codecvt_utf8_utf16_base<char16_t>)
818	(__codecvt_utf8_utf16_base<char32_t>)
819	(__codecvt_utf8_utf16_base<wchar_t>): Fix do_encoding() and
820	do_max_length() return values.
821	* testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test.
822	* testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test.
823	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test.
824
825	PR libstdc++/79980
826	* include/bits/locale_conv.h (__do_str_codecvt): Set __count on
827	error path.
828	* src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads
829	for manipulating codecvt_mode values.
830	(read_utf16_bom): Compare input to BOM constants instead of integral
831	constants that depend on endianness.  Take mode parameter by
832	reference and adjust it, to distinguish between no BOM present and
833	UTF-16BE BOM present.
834	(ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom.
835	(surrogates): New enumeration type.
836	(utf16_in, utf16_out): Add surrogates parameter to choose between
837	UTF-16 and UCS2 behaviour.
838	(utf16_span, ucs2_span): Use std::min not std::max.
839	(ucs2_out): Use std::min not std::max.  Disallow surrogate pairs.
840	(ucs2_in): Likewise. Adjust calls to read_utf16_bom.
841	* testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test.
842	* testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test.
843
844	PR libstdc++/79511
845	* src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff
846	as a surrogate pair.
847	(__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness
848	for internal representation.
849	(__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise.
850	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test.
851
8522017-03-14  Jonathan Wakely  <jwakely@redhat.com>
853
854	* testsuite/17_intro/names.cc: Undefine macros that clash with
855	identifiers in AIX system headers.
856
8572017-03-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
858
859	PR libstdc++/80034
860	* include/bits/list.tcc (merge(list&&)): Use const for the size_t
861	in the function and in the catch-block, qualify uses of std::distance.
862	(merge(list&&, _StrictWeakOrdering)): Likewise.
863	* testsuite/23_containers/list/operations/80034.cc: New.
864
8652017-03-10  George Lander  <george.lander@arm.com>
866
867	* acinclude.m4 (glibcxx_cv_obsolete_isnan): Define
868	_GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h.
869	* configure: Regenerate.
870
8712017-03-02  Jonathan Wakely  <jwakely@redhat.com>
872
873	PR libstdc++/79789
874	* include/bits/ios_base.h (make_error_code, make_error_condition):
875	Likewise.
876	* include/bits/mask_array.h (mask_array): Likewise.
877	* include/bits/regex.h (regex_token_iterator): Likewise.
878	* include/bits/slice_array.h (slice_array): Likewise.
879	* include/std/memory (undeclare_no_pointers): Likewise.
880	* testsuite/17_intro/names.cc: New test.
881
8822017-02-15  Jonathan Wakely  <jwakely@redhat.com>
883
884	PR libstdc++/79114
885	* testsuite/18_support/nested_exception/79114.cc: Add dg-require.
886
887	Backport from mainline
888	2016-12-15  Jonathan Wakely  <jwakely@redhat.com>
889
890	PR libstdc++/59170
891	* python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string)
892	(StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string)
893	(StdRbtreeIteratorPrinter.to_string)
894	(StdDequeIteratorPrinter.to_string): Add check for value-initialized
895	iterators.
896	* testsuite/libstdc++-prettyprinters/simple.cc: Test them.
897	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
898
899	Backport from mainline
900	2016-12-15  Jonathan Wakely  <jwakely@redhat.com>
901
902	PR libstdc++/59161
903	* python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string)
904	(StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string)
905	(StdRbtreeIteratorPrinter.to_string, StdDequeIteratorPrinter.to_string)
906	(StdDebugIteratorPrinter.to_string): Return string instead of
907	gdb.Value.
908	* testsuite/libstdc++-prettyprinters/59161.cc: New test.
909
910	Backport from mainline
911	2016-12-15  Jonathan Wakely  <jwakely@redhat.com>
912
913	* python/libstdcxx/v6/printers.py (UniquePointerPrinter.to_string):
914	Remove redundant parentheses.
915	(RbtreeIterator, StdRbtreeIteratorPrinter): Add docstrings.
916	(StdForwardListPrinter.to_string): Remove redundant parentheses.
917	(StdExpOptionalPrinter.to_string): Use string formatting instead of
918	concatenation.
919	(TemplateTypePrinter): Adjust whitespace.
920
921	Backport from mainline
922	2016-12-15  Jonathan Wakely  <jwakely@redhat.com>
923
924	* python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker.__init__): Use
925	correct element type for unique_ptr<T[]>.
926	(UniquePtrGetWorker._supports, UniquePtrDerefWorker._supports): New
927	functions to disable unsupported operators for unique_ptr<T[]>.
928	(UniquePtrSubscriptWorker): New worker for operator[].
929	(UniquePtrMethodsMatcher.__init__): Register UniquePtrSubscriptWorker.
930	(UniquePtrMethodsMatcher.match): Call _supports on the chosen worker.
931	(SharedPtrGetWorker, SharedPtrDerefWorker, SharedPtrSubscriptWorker)
932	(SharedPtrUseCountWorker, SharedPtrUniqueWorker): New workers.
933	(SharedPtrMethodsMatcher): New matcher for shared_ptr.
934	(register_libstdcxx_xmethods): Register SharedPtrMethodsMatcher.
935	* testsuite/libstdc++-xmethods/unique_ptr.cc: Test arrays.
936	* testsuite/libstdc++-xmethods/shared_ptr.cc: New test.
937
9382017-02-14  Jonathan Wakely  <jwakely@redhat.com>
939
940	Backport from mainline
941	2017-01-20  Jonathan Wakely  <jwakely@redhat.com>
942
943	PR libstdc++/72792
944	* include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
945	(__allocator_traits_base::__size_type): Remove.
946	(allocator_traits::_Ptr): New class template to detect const and void
947	pointer types without instantiating pointer_traits::rebind
948	unnecessarily.
949	(allocator_traits::_Diff): Likewise for detecting difference_type.
950	(allocator_traits::_Size): New class template to detect size_type
951	without instantiating make_unsigned unnecessarily.
952	* include/bits/ptr_traits.h (pointer_traits::element_type): Use
953	__detected_or_t instead of __detected_or_t_.
954	* include/std/type_traits (__detected_or_t_): Remove.
955	* testsuite/20_util/allocator_traits/members/pointers.cc: New test.
956
957	Backport from mainline
958	2017-01-20  Jonathan Wakely  <jwakely@redhat.com>
959
960	PR libstdc++/72792
961	PR libstdc++/72793
962	* include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
963	Replace with class template using void_t.
964	(__alloc_rebind): Define in terms of
965	__allocator_traits_base::__rebind.
966	(allocator_traits): Remove unconditional static_assert for
967	rebind_alloc.
968	* include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
969	(pointer_traits::__rebind): Replace with class template using void_t.
970	(pointer_traits::rebind): Define in terms of __rebind.
971	(pointer_traits): Remove unconditional static_assert for rebind.
972	* testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
973	* testsuite/20_util/pointer_traits/rebind.cc: New test.
974
975	Backport from mainline
976	2017-01-20  Jonathan Wakely  <jwakely@redhat.com>
977
978	PR libstdc++/69321
979	* include/experimental/any (__any_caster): Avoid instantiating
980	manager function for types that can't be stored in any.
981	* testsuite/experimental/any/misc/any_cast.cc: Test non-copyable type.
982
983	Backport from mainline
984	2017-01-18  Jonathan Wakely  <jwakely@redhat.com>
985
986	PR libstdc++/69301
987	* include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
988	aligned buffer instead of default-initialized variable.
989	* testsuite/29_atomics/atomic/69301.cc: New test.
990	* include/experimental/memory (observer_ptr::release): Use reserved
991	name.
992	* include/ext/pointer.h (_Pointer_adapter::operator++(int))
993	(_Pointer_adapter::operator--(int)): Likewise.
994
995	Backport from mainline
996	2017-01-17  Jonathan Wakely  <jwakely@redhat.com>
997
998	PR libstdc++/79114
999	* libsupc++/nested_exception.h (throw_with_nested): Use decay instead
1000	of remove_reference.
1001	* testsuite/18_support/nested_exception/79114.cc: New test.
1002
1003	Backport from mainline
1004	2017-01-16  Jonathan Wakely  <jwakely@redhat.com>
1005
1006	PR libstdc++/78702
1007	* include/bits/locale_classes.h (locale::facet::__shim): Change from
1008	private to protected.
1009	* src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
1010	make locale::facet::__shim accessible.
1011
1012	Backport from mainline
1013	2017-01-11  Jonathan Wakely  <jwakely@redhat.com>
1014
1015	PR libstdc++/78134
1016	* include/bits/stl_map.h (map::lower_bound, map::upper_bound)
1017	(map::equal_range): Fix return type of heterogeneous overloads.
1018	* include/bits/stl_multimap.h (multimap::lower_bound)
1019	(multimap::upper_bound, multimap::equal_range): Likewise.
1020	* include/bits/stl_multiset.h (multiset::lower_bound)
1021	(multiset::upper_bound, multiset::equal_range): Likewise.
1022	* include/bits/stl_set.h (set::lower_bound, set::upper_bound)
1023	(set::equal_range): Likewise.
1024	* testsuite/23_containers/map/operations/2.cc: Check return types.
1025	* testsuite/23_containers/multimap/operations/2.cc: Likewise.
1026	* testsuite/23_containers/multiset/operations/2.cc: Likewise.
1027	* testsuite/23_containers/set/operations/2.cc: Likewise.
1028
1029	Backport from mainline
1030	2017-01-11  Jonathan Wakely  <jwakely@redhat.com>
1031
1032	PR libstdc++/78273
1033	* include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
1034	the heterogeneous comparison can only find one match.
1035	* include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
1036	* testsuite/23_containers/map/operations/2.cc: Test count works with
1037	comparison function that just partitions rather than sorting.
1038	* testsuite/23_containers/set/operations/2.cc: Likewise.
1039
10402017-02-01  Jonathan Wakely  <jwakely@redhat.com>
1041
1042	PR libstdc++/78346
1043	* include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator
1044	not its referent.
1045	(_Iter_comp_to_iter): Likewise.
1046	* testsuite/25_algorithms/search/78346.cc: New test.
1047
1048	PR libstdc++/79195
1049	* include/experimental/array (make_array): Use common_type<_Dest>
1050	and delay instantiation of common_type until after conditional_t.
1051	Qualify std::forward call.
1052	(to_array): Add exception specification.
1053	* testsuite/experimental/array/make_array.cc: Test argument types
1054	without a common type.
1055
1056	PR libstdc++/79254
1057	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1058	(basic_string::operator=(const basic_string&)): If source object is
1059	small just deallocate, otherwise perform new allocation before
1060	making any changes.
1061	* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1062	Test exception-safety of copy assignment when allocator propagates.
1063	* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
1064	Likewise.
1065	* testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
1066	std::swap visible.
1067
10682017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
1069
1070	Backport from mainline
1071	2017-01-01  Gerald Pfeifer  <gerald@pfeifer.com>
1072
1073	* doc/xml/faq.xml: Update address of C++ ABI link.
1074	* doc/xml/manual/abi.xml: Ditto.
1075
10762017-01-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
1077
1078	Backport from mainline
1079	2017-01-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
1080
1081	PR libstdc++/78389
1082	* include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
1083	(merge(list&&, _StrictWeakOrdering)): Likewise.
1084	* testsuite/23_containers/list/operations/78389.cc: Add
1085	better test for the sizes.
1086
10872017-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
1088
1089	Backport from mainline
1090        2017-01-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
1091
1092	PR libstdc++/78389
1093	* include/bits/list.tcc (merge(list&&)):
1094	Adjust list sizes if the comparator throws.
1095	(merge(list&&, _StrictWeakOrdering)): Likewise.
1096	* testsuite/23_containers/list/operations/78389.cc: New.
1097
10982017-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
1099
1100	Backport from mainline
1101        2016-12-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
1102
1103	Make the perfect-forwarding constructor of a two-element tuple
1104	sfinae away when the first argument is an allocator_arg.
1105	* include/std/tuple (tuple(_U1&&, _U2&&)): Constrain.
1106	* testsuite/20_util/tuple/cons/allocator_with_any.cc: New.
1107
11082017-01-06  Jonathan Wakely  <jwakely@redhat.com>
1109
1110	Backport from mainline
1111	2017-01-03  Jonathan Wakely  <jwakely@redhat.com>
1112
1113	PR libstdc++/78956
1114	* include/std/thread (thread(const thread&&)): Add deleted
1115	constructor.
1116	* testsuite/30_threads/thread/cons/lwg2097.cc: New test.
1117
11182017-01-06  Jonathan Wakely  <jwakely@redhat.com>
1119
1120	PR libstdc++/78991
1121	* include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
1122	(_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
1123	(_Iter_comp_to_iter, _Iter_negate): Make constructors explicit.
1124	* testsuite/25_algorithms/sort/78991.cc: New test.
1125
11262016-12-21  Release Manager
1127
1128	* GCC 6.3.0 released.
1129
11302016-12-12  Jonathan Wakely  <jwakely@redhat.com>
1131
1132	Backport from mainline
1133	2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
1134
1135	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
1136	for PATH_MAX in realpath test.
1137	* configure: Regenerate.
1138
1139	Backport from mainline
1140	2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
1141
1142	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
1143	* configure: Regenerate.
1144	* config.h.in: Regenerate.
1145
11462016-12-12  Jonathan Wakely  <jwakely@redhat.com>
1147
1148	Backport from mainline
1149	2016-12-07  Jonathan Wakely  <jwakely@redhat.com>
1150
1151	* testsuite/18_support/headers/new/synopsis.cc: Add C++14 declarations
1152	and use effective-target to do test for C++11 and later.
1153	* testsuite/18_support/headers/new/synopsis_cxx98.cc: New test.
1154
11552016-12-12  Jonathan Wakely  <jwakely@redhat.com>
1156
1157	Backport from mainline
1158	2016-11-22  Jonathan Wakely  <jwakely@redhat.com>
1159
1160	PR libstdc++/78465
1161	* testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
1162	with preprocessor conditions.
1163
11642016-12-12  Jonathan Wakely  <jwakely@redhat.com>
1165
1166	Backport from mainline
1167	2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
1168
1169	* include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
1170	Change relevant constructors to call _M_enable_shared_from_this_with.
1171	(experimental::shared_ptr::__efst_base_t)
1172	(experimental::shared_ptr::__has_efst_base): Helpers to detect
1173	accessible and unambiguous enable_shared_from_this bases.
1174	(experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
1175	(experimental::__enable_shared_from_this_helper): Remove overload for
1176	std::experimental::enable_shared_from_this.
1177	(experimental::__expt_enable_shared_from_this_base): Define friend
1178	function to select a std::experimental::enable_shared_from_this base.
1179	* testsuite/experimental/memory/shared_ptr/cons/
1180	enable_shared_from_this.cc: New test.
1181	* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1182	Adjust expected behaviour for shared_ptr<A[]>.
1183
11842016-12-12  Jonathan Wakely  <jwakely@redhat.com>
1185
1186	* testsuite/experimental/filesystem/operations/is_empty.cc:
1187	Remove stray character at end of dg-do directive.
1188
11892016-12-12  Jonathan Wakely  <jwakely@redhat.com>
1190
1191	Backport from mainline
1192	PR libstdc++/70975
1193	PR libstdc++/71337
1194	PR libstdc++/78111
1195	* include/experimental/bits/fs_dir.h (recursive_directory_iterator):
1196	Overload pop (LWG 2706).
1197	* include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
1198	Replace with symlink_nofollow (LWG 2720).
1199	* include/experimental/bits/fs_ops.h
1200	(exists(const path&, error_code&)): Clear error if status is known
1201	(LWG 2725).
1202	* include/experimental/bits/fs_path.h (__is_path_src)
1203	(_S_range_begin, _S_range_end): Overload to treat string_view as a
1204	Source object.
1205	(path::operator+=, path::compare): Overload for basic_string_view.
1206	(path::path(string_type&&))
1207	(path::operator=(string&&), path::assign(string_type&&)): Define
1208	construction and assignment from string_type rvalues (LWG 2707).
1209	(path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
1210	iterator's value_type.
1211	(path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
1212	Do not use operation not supported by input iterators.
1213	(path::__is_path_iter_src): Add partial specialization for const
1214	encoded character types.
1215	* src/filesystem/dir.cc (open_dir): Return same value for errors
1216	whether ignored or not.
1217	(_Dir::advance(error_code*, directory_options)): Return false on
1218	error.
1219	(directory_iterator(const path&, directory_options, error_code*)):
1220	Create end iterator on error (LWG 2723).
1221	(recursive_directory_iterator(const path&, directory_options,
1222	error_code*)): Likewise.
1223	(recursive_directory_iterator::increment): Reset state on error.
1224	(recursive_directory_iterator::pop): Define new overload.
1225	* src/filesystem/ops.cc (canonical): Set error for non-existent path.
1226	(file_time): Take error_code parameter and check for overflow.
1227	(close_fd): Remove.
1228	(do_copy_file): Report an error if source or destination is not a
1229	regular file (LWG 2712). Pass error_code in file_time calls.  Just
1230	use close(3) instead of close_fd, to prevent retrying on error.
1231	Check if _GLIBCXX_USE_FCHMODAT is defined.
1232	[_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
1233	sendfile fails with ENOSYS or EINVAL. Pass non-null pointer to
1234	sendfile for offset argument.
1235	(copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
1236	resolutions.
1237	(equivalent): Fix error handling and result when only one file exists.
1238	(is_empty): Fix error handling.
1239	(last_write_time(const path&, error_code&)): Pass error_code in
1240	file_time calls.
1241	(last_write_time(const path&, file_time_type, error_code&)): Handle
1242	negative times correctly.
1243	(permissions(const path&, perms, error_code&)): Handle
1244	symlink_nofollow.
1245	(read_symlink): Add missing ec.clear().
1246	(status(const path&, error_code&)): Handle EOVERFLOW.
1247	(temp_directory_path): Pass error_code argument to other filesystem
1248	operations.
1249	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1250	Update expected behaviour on error.
1251	* testsuite/experimental/filesystem/iterators/pop.cc: New.
1252	* testsuite/experimental/filesystem/iterators/
1253	recursive_directory_iterator.cc: Update expected behaviour on error.
1254	* testsuite/experimental/filesystem/operations/copy.cc: Update
1255	expected behaviour for copying directories with create_symlinks.
1256	Verify that error_code arguments are cleared if there's no error.
1257	Remove files created by tests. Test copying directories.
1258	* testsuite/experimental/filesystem/operations/copy_file.cc: Remove
1259	files created by tests.
1260	* testsuite/experimental/filesystem/operations/create_symlink.cc: New.
1261	* testsuite/experimental/filesystem/operations/equivalent.cc: New.
1262	* testsuite/experimental/filesystem/operations/exists.cc: Test
1263	overload taking an error_code.
1264	* testsuite/experimental/filesystem/operations/is_empty.cc: New.
1265	* testsuite/experimental/filesystem/operations/last_write_time.cc:
1266	New.
1267	* testsuite/experimental/filesystem/operations/permissions.cc: Test
1268	overload taking error_code. Test symlink_nofollow on non-symlinks.
1269	* testsuite/experimental/filesystem/operations/read_symlink.cc: New.
1270	* testsuite/experimental/filesystem/operations/remove_all.cc: New.
1271	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
1272	Add testcase for inaccessible directory.
1273	* testsuite/experimental/filesystem/path/construct/range.cc: Test
1274	construction from input iterators with const value types.
1275	* testsuite/experimental/filesystem/path/construct/string_view.cc:
1276	New.
1277	* testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
1278
12792016-12-09  Jonathan Wakely  <jwakely@redhat.com>
1280
1281	Backport from mainline
1282	2016-12-08  David Edelsohn  <dje.gcc@gmail.com>
1283
1284	* testsuite/25_algorithms/headers/algorithm/
1285	parallel_algorithm_assert2.cc: Move dg-do run first.
1286
12872016-12-08  Jonathan Wakely  <jwakely@redhat.com>
1288
1289	PR libstdc++/71856
1290	* doc/xml/manual/using.xml: Document macro.
1291	* include/bits/c++config [_GLIBCXX_DEBUG || _GLIBCXX_PARALLEL]
1292	(__glibcxx_assert): Rename to __glibcxx_assert_impl.
1293	[_GLIBCXX_DEBUG] (__glibcxx_assert): Expand to __glibcxx_assert_impl.
1294	* include/parallel/base.h [_GLIBCXX_PARALLEL_ASSERTIONS]
1295	(_GLIBCXX_PARALLEL_ASSERT): Expand to __glibcxx_assert_impl.
1296	[!_GLIBCXX_PARALLEL_ASSERTIONS] (_GLIBCXX_PARALLEL_ASSERT): Define as
1297	empty.
1298	* testsuite/25_algorithms/headers/algorithm/
1299	parallel_algorithm_assert2.cc: New test.
1300
13012016-12-08  Jonathan Wakely  <jwakely@redhat.com>
1302
1303	Backport from mainline
1304	2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
1305
1306	PR libstdc++/77459
1307	* src/c++11/debug.cc (format_word): Delete.
1308	(print_literal): New. Replace call to print_word for literals.
1309
13102016-12-07  Jonathan Wakely  <jwakely@redhat.com>
1311
1312	Backport from mainline
1313	2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
1314
1315	PR libstdc++/78326
1316	* include/experimental/memory_resource (memory_resource::_S_max_align):
1317	Change access to protected.
1318
1319	Backport from mainline
1320	2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
1321
1322	* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1323	Add tests for valid and invalid conversions.
1324	* testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
1325	Likewise.
1326
1327	Backport from mainline
1328	2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
1329
1330	* include/experimental/bits/shared_ptr.h
1331	(__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
1332	is_convertible for non-array specialization.
1333	(__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
1334	constraint for conversions from unique_ptr.
1335	(__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
1336	(__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
1337	(__sp_compatible_v): New variable template for trait.
1338	(__sp_is_constructible): New trait to check shared_ptr constraints.
1339	(__sp_is_constructible_v): New variable template for trait.
1340	(__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
1341	constraint for construction/reset, using __sp_is_constructible_v.
1342	(__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
1343	constraint for conversions from unique_ptr.
1344	(__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
1345	(__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
1346	(shared_ptr::_SafeConv): Constraint for checking constructors.
1347	(shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
1348	(shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
1349	(shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
1350	(shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
1351	* testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
1352	Remove tests using invalid conversions.
1353	* testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
1354	New test.
1355	* testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
1356	* testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
1357	tests using invalid conversions.
1358	* testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
1359	test.
1360	* testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
1361	Remove tests using invalid conversions.
1362
1363	Backport from mainline
1364	2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
1365
1366	* include/experimental/bits/shared_ptr.h: Fix indentation.
1367
1368	Backport from mainline
1369	2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
1370
1371	* include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
1372	Remove const from parameter.
1373	(operator<(const shared_ptr<T>&, nullptr_t)): Use correct
1374	specialization of std::less.
1375	* testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
1376	Test comparison with nullptr and actually call test functions.
1377
1378	Backport from mainline
1379	2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
1380
1381	* doc/xml/manual/intro.xml: Document LWG 2484 status.
1382	* libsupc++/nested_exception.h (_Throw_with_nested_impl)
1383	(_Throw_with_nested_helper): Remove.
1384	(__throw_with_nested_impl): New overloaded functions to implement
1385	throw_with_nested logic.
1386	(throw_with_nested): Call __throw_with_nested_impl.
1387	(_Rethrow_if_nested_impl): Remove
1388	(__rethrow_if_nested_impl): New overloaded functions to implement
1389	rethrow_if_nested logic.
1390	(rethrow_if_nested): Call __rethrow_if_nested_impl.
1391	* testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
1392	problem cases from LWG 2484.
1393
1394	Backport from mainline
1395	2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
1396
1397	* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
1398	Register printer for std::__cxx11::list.
1399	* python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
1400	std::__cxx11::list as well as std::list.
1401
1402	Backport from mainline
1403	2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
1404
1405	* doc/xml/manual/intro.xml: Document LWG 2442 status.
1406	* include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
1407	(call_once): Use lambda expression and std::__invoke instead of
1408	__bind_simple and __once_call_impl.
1409	* testsuite/30_threads/call_once/dr2442.cc: New test.
1410
1411	Backport from mainline
1412	2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
1413
1414	* include/bits/allocator.h (allocator<T>::is_always_equal): Define.
1415	* testsuite/20_util/allocator/requirements/typedefs.cc: Test for
1416	is_always_equal.
1417	* testsuite/util/testsuite_allocator.h
1418	(uneq_allocator::is_always_equal): Define as false_type.
1419
1420	Backport from mainline
1421	2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
1422
1423	* doc/xml/manual/status_cxx2011.xml: Update status.
1424	* include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
1425	New helpers for recursive OUTERMOST.
1426	(__outermost): Use __outermost_type::_S_outermost.
1427	(__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
1428	(scoped_allocator_adaptor::__outermost_alloc_traits): Use new
1429	__outermost_type helper.
1430	(scoped_allocator_adaptor::_Constructible): New alias template.
1431	(scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
1432	Constrain template constructors.
1433	* testsuite/20_util/scoped_allocator/3.cc: New test.
1434	* testsuite/20_util/scoped_allocator/outermost.cc: New test.
1435
1436	Backport from mainline
1437	2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
1438
1439	PR libstdc++/51960
1440	* doc/xml/manual/intro.xml: Document DR 2127 change.
1441	* doc/html/*: Regenerate.
1442	* include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
1443	(operator++(), operator++(int)): Use injected class name.
1444	* testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
1445
1446	Backport from mainline
1447	2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
1448
1449	* include/std/functional (_Unwrap): Rename to __inv_unwrap.
1450	(__invfwd): Adjust.
1451	(__invoke_impl): Remove unused template parameters.
1452	* testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
1453	parameter.
1454	* testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
1455	and test __invoke extension for C++11.
1456
14572016-12-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
1458
1459	Backport from mainline
1460	2016-12-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
1461
1462	Constrain optional's __constexpr_addressof in its return type
1463	and use a constexpr addressof for optional, if available.
1464	* include/experimental/optional (__constexpr_addressof):
1465	Constrain in the return type instead of in a template parameter.
1466	(_Has_addressof_mem)
1467	(_Has_addressof_free, _Has_addressof, __constexpr_addressof):
1468	Guard with #ifndef __cpp_lib_addressof_constexpr.
1469	(operator->()): Use std::__addressof if it's constexpr.
1470
14712016-12-06  Aditya Kumar  <hiraditya@msn.com>
1472
1473	* src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add
1474	noexcept on constructor.
1475	(_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same.
1476
14772016-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1478
1479	Backport from mainline
1480	2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1481
1482	* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
1483	(__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
1484	(__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
1485	Add test for C++11 <math.h> integral overloads.
1486	* configure: Regenerate.
1487	* config.h.in: Regenerate.
1488
1489	* include/c_global/cmath [__cplusplus >= 201103L]: Reflect
1490	__CORRECT_ISO_CPP11_MATH_H_PROTO to
1491	__CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
1492	* include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
1493	!_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
1494	(std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
1495	(std::isfinite): Likewise.
1496	(std::isinf): Likewise.
1497	(std::isnan): Likewise.
1498	(std::isnormal): Likewise.
1499	(std::signbit): Likewise.
1500	(std::isgreater): Likewise.
1501	(std::isgreaterequal): Likewise.
1502	(std::isless): Likewise.
1503	(std::islessequal): Likewise.
1504	(std::islessgreater): Likewise.
1505	(std::isunordered): Likewise.
1506	[__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
1507	(std::acosh): Likewise.
1508	(std::asinh): Likewise.
1509	(std::atanh): Likewise.
1510	(std::cbrt): Likewise.
1511	(std::copysign): Likewise.
1512	(std::erf): Likewise.
1513	(std::erfc): Likewise.
1514	(std::exp2): Likewise.
1515	(std::expm1): Likewise.
1516	(std::fdim): Likewise.
1517	(std::fma): Likewise.
1518	(std::fmax): Likewise.
1519	(std::fmin): Likewise.
1520	(std::hypot): Likewise.
1521	(std::ilogb): Likewise.
1522	(std::lgamma): Likewise.
1523	(std::llrint): Likewise.
1524	(std::llround): Likewise.
1525	(std::log1p): Likewise.
1526	(std::log2): Likewise.
1527	(std::logb): Likewise.
1528	(std::lrint): Likewise.
1529	(std::lround): Likewise.
1530	(std::nearbyint): Likewise.
1531	(std::nextafter): Likewise.
1532	(std::nexttoward): Likewise.
1533	(std::remainder): Likewise.
1534	(std::remquo): Likewise.
1535	(std::rint): Likewise.
1536	(std::round): Likewise.
1537	(std::scalbln): Likewise.
1538	(std::scalbn): Likewise.
1539	(std::tgamma): Likewise.
1540	(std::trunc): Likewise.
1541	* include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
1542	201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
1543	__CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
1544
15452016-11-23  Jonathan Wakely  <jwakely@redhat.com>
1546
1547	* testsuite/24_iterators/reverse_iterator/71771.cc: Replace calls to
1548	C++14 std::rbeing and std::rend.  Use dg-options instead of
1549	effective-target.
1550	* testsuite/27_io/headers/cstdio/functions_neg.cc: Use dg-options
1551	instead of effective-target.
1552	* testsuite/experimental/numeric/77801.cc: Likewise.
1553
15542016-11-23  Felix Morgner  <felix.morgner@gmail.com>
1555	    Jonathan Wakely  <jwakely@redhat.com>
1556
1557	PR libstdc++/78490
1558	* include/experimental/propagate_const (propagate_const::operator=):
1559	Add missing return statements.
1560	* testsuite/experimental/propagate_const/assignment/move_neg.cc:
1561	Adjust dg-error line numbers.
1562	* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
1563
15642016-11-22  Uros Bizjak  <ubizjak@gmail.com>
1565
1566	* testsuite/Makefile.am
1567	(check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
1568	of -j argument.
1569	* testsuite/Makefile.in: Regenereate.
1570
15712016-11-15  Jonathan Wakely  <jwakely@redhat.com>
1572
1573	* testsuite/experimental/any/typedefs.cc: Fix license text.
1574	* testsuite/experimental/array/make_array.cc: Likewise.
1575	* testsuite/experimental/array/neg.cc: Likewise.
1576	* testsuite/experimental/chrono/value.cc: Likewise.
1577	* testsuite/experimental/deque/erasure.cc: Likewise.
1578	* testsuite/experimental/forward_list/erasure.cc: Likewise.
1579	* testsuite/experimental/list/erasure.cc: Likewise.
1580	* testsuite/experimental/map/erasure.cc: Likewise.
1581	* testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
1582	Likewise.
1583	* testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
1584	* testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
1585	* testsuite/experimental/memory/observer_ptr/make_observer.cc:
1586	Likewise.
1587	* testsuite/experimental/memory/observer_ptr/relops/relops.cc:
1588	Likewise.
1589	* testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
1590	* testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
1591	* testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
1592	* testsuite/experimental/optional/77288.cc: Likewise.
1593	* testsuite/experimental/optional/assignment/1.cc: Likewise.
1594	* testsuite/experimental/optional/assignment/2.cc: Likewise.
1595	* testsuite/experimental/optional/assignment/3.cc: Likewise.
1596	* testsuite/experimental/optional/assignment/4.cc: Likewise.
1597	* testsuite/experimental/optional/assignment/5.cc: Likewise.
1598	* testsuite/experimental/optional/assignment/6.cc: Likewise.
1599	* testsuite/experimental/optional/cons/77727.cc: Likewise.
1600	* testsuite/experimental/optional/cons/move.cc: Likewise.
1601	* testsuite/experimental/optional/cons/value.cc: Likewise.
1602	* testsuite/experimental/optional/cons/value_neg.cc: Likewise.
1603	* testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
1604	* testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
1605	* testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
1606	* testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
1607	* testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
1608	* testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
1609	* testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
1610	* testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
1611	* testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
1612	* testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
1613	* testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
1614	* testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
1615	* testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
1616	* testsuite/experimental/optional/make_optional.cc: Likewise.
1617	* testsuite/experimental/optional/observers/1.cc: Likewise.
1618	* testsuite/experimental/optional/observers/2.cc: Likewise.
1619	* testsuite/experimental/optional/observers/3.cc: Likewise.
1620	* testsuite/experimental/optional/observers/4.cc: Likewise.
1621	* testsuite/experimental/optional/observers/5.cc: Likewise.
1622	* testsuite/experimental/optional/relops/1.cc: Likewise.
1623	* testsuite/experimental/optional/relops/2.cc: Likewise.
1624	* testsuite/experimental/optional/relops/3.cc: Likewise.
1625	* testsuite/experimental/optional/relops/4.cc: Likewise.
1626	* testsuite/experimental/optional/relops/5.cc: Likewise.
1627	* testsuite/experimental/optional/relops/6.cc: Likewise.
1628	* testsuite/experimental/optional/requirements.cc: Likewise.
1629	* testsuite/experimental/optional/swap/1.cc: Likewise.
1630	* testsuite/experimental/optional/typedefs.cc: Likewise.
1631	* testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
1632	* testsuite/experimental/propagate_const/assignment/move_neg.cc:
1633	Likewise.
1634	* testsuite/experimental/propagate_const/cons/move.cc: Likewise.
1635	* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
1636	* testsuite/experimental/propagate_const/hash/1.cc: Likewise.
1637	* testsuite/experimental/propagate_const/observers/1.cc: Likewise.
1638	* testsuite/experimental/propagate_const/relops/1.cc: Likewise.
1639	* testsuite/experimental/propagate_const/requirements1.cc: Likewise.
1640	* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
1641	* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
1642	* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
1643	* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
1644	* testsuite/experimental/propagate_const/swap/1.cc: Likewise.
1645	* testsuite/experimental/propagate_const/typedefs.cc: Likewise.
1646	* testsuite/experimental/random/randint.cc: Likewise.
1647	* testsuite/experimental/ratio/value.cc: Likewise.
1648	* testsuite/experimental/set/erasure.cc: Likewise.
1649	* testsuite/experimental/string/erasure.cc: Likewise.
1650	* testsuite/experimental/string_view/typedefs.cc: Likewise.
1651	* testsuite/experimental/system_error/value.cc: Likewise.
1652	* testsuite/experimental/tuple/tuple_size.cc: Likewise.
1653	* testsuite/experimental/type_traits/value.cc: Likewise.
1654	* testsuite/experimental/unordered_map/erasure.cc: Likewise.
1655	* testsuite/experimental/unordered_set/erasure.cc: Likewise.
1656	* testsuite/experimental/vector/erasure.cc: Likewise.
1657
16582016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
1659
1660	Backport from mainline:
1661
1662	2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
1663	Cross-port the latest resolution of LWG2756 and some
1664	bug-fixes to experimental::optional.
1665	PR libstdc++/77288
1666	PR libstdc++/77727
1667	* include/experimental/optional (_Optional_base):
1668	Remove constructors that take a _Tp.
1669	(__is_optional_impl, __is_optional): Remove.
1670	(__converts_from_optional): New.
1671	(optional(_Up&&)): Fix constraints, call base with in_place.
1672	(optional(const optional<_Up>&)): Fix constraints, use emplace.
1673	(optional(optional<_Up>&&)): Likewise.
1674	(operator=(_Up&&)): Fix constraints.
1675	(operator=(const optional<_Up>&)): Likewise.
1676	(operator=(optional<_Up>&&)): Likewise.
1677	(emplace(_Args&&...)): Constrain.
1678	(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1679	* testsuite/experimental/optional/77288.cc: New.
1680	* testsuite/experimental/optional/assignment/5.cc: Adjust.
1681	* testsuite/experimental/optional/cons/77727.cc: New.
1682	* testsuite/experimental/optional/cons/value.cc: Adjust.
1683
16842016-10-20  Jonathan Wakely  <jwakely@redhat.com>
1685
1686	PR libstdc++/78052
1687	* include/bits/allocator.h (allocator<void>::construct)
1688	(allocator<void>::destroy): Define.
1689	* testsuite/20_util/allocator/void.cc: New test.
1690
16912016-10-19  Jonathan Wakely  <jwakely@redhat.com>
1692
1693	* testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
1694	to new file.
1695	* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file.  Fix
1696	test for incompatible deleters to not also use incompatible types.
1697	Add tests for incompatible array types.
1698
1699	PR libstdc++/77990
1700	* include/bits/unique_ptr.h (unique_ptr::unique_ptr(pointer)): Set
1701	pointer member after value-initialization of tuple.
1702	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-errors.
1703	* testsuite/20_util/unique_ptr/cons/77990.cc: New test.
1704	* testsuite/20_util/unique_ptr/cons/cv_qual.cc: Adjust dg-error.
1705
17062016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1707
1708	PR libstdc++/77987
1709	* include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
1710	value to pointer of the correct type to swap, to support conversions
1711	allowed by LWG 2118 / N4089.
1712	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
1713	incompatible deleters from ...
1714	* testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
1715	* testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
1716	incompatible pointers to ...
1717	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
1718	destructor definition to base class. Test for invalid derived-to-base
1719	conversion.
1720
17212016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1722
1723	* testsuite/20_util/function/77322.cc: Remove effective-target from
1724	dg-do directive.
1725	* testsuite/20_util/function/cons/72820.cc: Likewise.
1726
17272016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1728
1729	Backport from mainline:
1730	2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
1731
1732	* doc/xml/manual/appendix_contributing.xml (contrib.organization):
1733	Replace <literallayout> with nested <variablelist> elements. Update
1734	some more outdated text.
1735	* doc/html/*: Regenerate.
1736
1737	Backport from mainline:
1738	2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
1739
1740	* doc/xml/manual/appendix_contributing.xml (contrib.organization):
1741	Describe other subdirectories and add markup. Remove outdated
1742	reference to check-script target.
1743
17442016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1745
1746	Backport from mainline:
1747	2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
1748
1749	* doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
1750
17512016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1752
1753	Backport from mainline:
1754	2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
1755
1756	* testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
1757	instead of assert.
1758
17592016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1760
1761	Backport from mainline:
1762	2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
1763
1764	* include/experimental/string_view (basic_string_view::_S_compare):
1765	Remove redundant const from return type.
1766
17672016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1768
1769	Backport from mainline:
1770	2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
1771
1772	* include/experimental/functional (boyer_moore_searcher)
1773	(__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
1774	with _GLIBCXX_STD_C.
1775
17762016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1777
1778	Backport from mainline:
1779	2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
1780
1781	* include/experimental/propagate_const (element_type): Qualify
1782	declval.
1783
17842016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1785
1786	Backport from mainline:
1787	2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
1788
1789	PR libstdc++/77322
1790	* doc/xml/manual/intro.xml: Document DR 2062 change.
1791	* include/std/functional (function::swap): Add noexcept.
1792	(swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
1793	* testsuite/20_util/function/77322.cc: New test.
1794
17952016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1796
1797	Backport from mainline:
1798	2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
1799
1800	* testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
1801	directive and use effective target instead of dg-options.
1802
18032016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1804
1805	Backport from mainline:
1806	2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
1807
1808	PR libstdc++/72820
1809	* include/std/functional (_Function_base::_Base_manager::_M_clone):
1810	Qualify new operator.
1811	* testsuite/20_util/function/cons/72820.cc: New test.
1812
18132016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1814
1815	PR libstdc++/77994
1816	* include/experimental/algorithm (experimental::sample): Convert size
1817	argument to iterator difference type. Fix invalid use of input
1818	iterator. Defend against overloaded comma operator.
1819
18202016-10-05  Jonathan Wakely  <jwakely@redhat.com>
1821
1822	PR libstdc++/70101
1823	* include/bits/stl_queue.h (priority_queue): Fix allocator-extended
1824	constructors.
1825	* testsuite/23_containers/priority_queue/allocator.cc: New test.
1826
1827	PR libstdc++/77864
1828	* include/bits/stl_map.h (map::map()): Use nothrow constructibility
1829	of comparison function in conditional noexcept.
1830	* include/bits/stl_multimap.h (multimap::multimap()): Likewise.
1831	* include/bits/stl_multiset.h (multiset::multiset()): Likewise.
1832	* include/bits/stl_set.h (set::set()): Likewise.
1833	* testsuite/23_containers/map/cons/noexcept_default_construct.cc:
1834	New test.
1835	* testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
1836	Likewise.
1837	* testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
1838	Likewise.
1839	* testsuite/23_containers/set/cons/noexcept_default_construct.cc:
1840	Likewise.
1841
1842	* include/bits/node_handle.h (_Node_handle): Remove invalid and unused
1843	alias declaration.
1844
1845	PR libstdc++/70564
1846	* include/experimental/functional (_Not_fn): Add second parameter to
1847	disambiguate copying from initialization by not_fn.
1848	(not_fn): Add second argument to initialization.
1849	* testsuite/experimental/functional/not_fn.cc: Copy call wrapper using
1850	direct-initialization. Test abstract class.
1851
18522016-10-03  Jonathan Wakely  <jwakely@redhat.com>
1853
1854	PR libstdc++/68323
1855	PR libstdc++/77794
1856	* config/abi/pre/gnu-versioned-namespace.ver: Add exports for
1857	__cxa_thread_atexit and __gnu_cxx::__freeres.
1858	* include/Makefile.am: Add <experimental/bits/lfts_config.h>
1859	* include/Makefile.in: Regenerate.
1860	* include.bits/basic_string.h: Fix nesting of versioned namespaces.
1861	* include/bits/c++config: Declare versioned namespaces for literals.
1862	* include/bits/regex.h (basic_regex, match_results): Add workarounds
1863	for PR c++/59256.
1864	* include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
1865	* include/std/chrono: Likewise.
1866	* include/std/complex: Likewise.
1867	* include/experimental/bits/fs_fwd.h: Declare versioned namespace.
1868	* include/experimental/bits/lfts_config.h: Declare versioned
1869	namespaces.
1870	* include/experimental/algorithm: Include
1871	<experimental/bits/lfts_config.h>.
1872	* include/experimental/any: Likewise.
1873	* include/experimental/bits/erase_if.h: Likewise.
1874	* include/experimental/chrono: Likewise.
1875	* include/experimental/functional: Likewise.
1876	* include/experimental/memory_resource: Likewise.
1877	* include/experimental/optional: Likewise.
1878	* include/experimental/propagate_const: Likewise.
1879	* include/experimental/random: Likewise.
1880	* include/experimental/ratio: Likewise.
1881	* include/experimental/system_error: Likewise.
1882	* include/experimental/tuple: Likewise.
1883	* include/experimental/type_traits: Likewise.
1884	* include/experimental/utility: Likewise.
1885	* include/experimental/string_view: Likewise. Fix nesting of
1886	versioned namespaces.
1887	* include/experimental/bits/string_view.tcc: Reopen inline namespace
1888	for non-inline function definitions.
1889	* testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
1890	* testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
1891	* testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
1892	* testsuite/experimental/propagate_const/assignment/move_neg.cc:
1893	Likewise.
1894	* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
1895	* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
1896	* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
1897	* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
1898	* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
1899	* testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
1900
19012016-09-30  Jonathan Wakely  <jwakely@redhat.com>
1902
1903	PR libstdc++/77795
1904	* acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
1905	for gets.
1906	* config.h.in: Regenerate.
1907	* configure: Regenerate.
1908	* include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
1909	for C++98 and C++11.
1910	* include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
1911	* testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
1912
1913	PR libstdc++/77801
1914	* include/experimental/numeric: Include <numeric>.
1915	(__abs): Define.
1916	(gcd, lcm): Use __abs instead of std::abs.
1917	* testsuite/experimental/numeric/77801.cc: New test.
1918	* testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
1919	* testsuite/experimental/numeric/lcm.cc: Likewise.
1920
19212016-09-28  Jonathan Wakely  <jwakely@redhat.com>
1922
1923	PR libstdc++/77686
1924	* include/std/functional (_Any_data): Add may_alias attribute.
1925
19262016-09-27  Jonathan Wakely  <jwakely@redhat.com>
1927
1928	* include/debug/safe_iterator.h (_Safe_iterator::operator++()): Fix
1929	lifetime of lock.
1930
19312015-09-27  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1932
1933	Backport from mainline
1934	2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1935
1936	* config/cpu/m68k/atomicity.h: Adjust comment.
1937	* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
1938	explicit atomicity_dir setup via configure.host.
1939	* configure.host (rtems-*): Set atomicity_dir.
1940	* configure: Regenerate.
1941
19422016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
1943
1944	Backport from mainline
1945	2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
1946
1947	Implement LWG 2729 for pair.
1948	* include/bits/stl_pair.h (_PCC): New.
1949	(_ConstructiblePair, _ImplicitlyConvertiblePair):
1950	Turn into static member functions of _PCC.
1951	(_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
1952	(_PCCP): New.
1953	(pair(const _T1&, const _T2&)): Adjust.
1954	(_PCCFP): New.
1955	(pair(const pair<_U1, _U2>&)): Adjust.
1956	(pair(_U1&&, const _T2&)): Likewise.
1957	(pair(const _T1&, _U2&&)): Likewise.
1958	(pair(_U1&&, _U2&&)): Likewise.
1959	(pair(pair<_U1, _U2>&&)): Likewise.
1960	(operator=(const pair&)): Make conditionally deleted.
1961	(operator=(pair&&)): Make conditionally suppressed.
1962	(operator=(const pair<_U1, _U2>&)): Constrain.
1963	(operator=(pair<_U1, _U2>&&): Likewise.
1964	* include/std/type_traits (__nonesuch): New.
1965	* testsuite/20_util/pair/traits.cc: New.
1966
19672016-09-20  Jonathan Wakely  <jwakely@redhat.com>
1968
1969	* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
1970	(DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
1971
19722016-09-19  Jonathan Wakely  <jwakely@redhat.com>
1973
1974	PR libstdc++/77645
1975	* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
1976	(DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
1977	division to int to work with Python 3.
1978
1979	PR libstdc++/77645
1980	* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
1981	argument.
1982	(ListWorkerBase.get_value_from_node): Define new method.
1983	(ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
1984
19852016-08-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
1986
1987	PR libstdc++/77395
1988	* include/std/type_traits (is_constructible): Forward-declare...
1989	(__is_base_to_derived_ref): ...and use here.
1990	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
1991	* testsuite/20_util/is_constructible/77395.cc: New.
1992	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
1993	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1994	Likewise.
1995	* testsuite/20_util/tuple/77395.cc: New.
1996
19972016-08-30  Jonathan Wakely  <jwakely@redhat.com>
1998
1999	Backport from mainline
2000	2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
2001
2002	* scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
2003
2004	Backport from mainline
2005	2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
2006
2007	* testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
2008
20092016-08-23  Jonathan Wakely  <jwakely@redhat.com>
2010
2011	* testsuite/23_containers/map/77334.cc: Use dg-options for C++11.
2012
20132016-08-23  Jonathan Wakely  <jwakely@redhat.com>
2014
2015	PR libstdc++/77334
2016	* include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
2017	(_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
2018	* testsuite/23_containers/map/77334.cc: New test.
2019
2020	* doc/xml/api.xml: Replace hardcoded links for specific versions with
2021	link to docs for all releases.
2022	* doc/html/*: Regenerate.
2023
2024	* include/bits/stl_iterator.h
2025	(operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Constrain
2026	for C++11 and later.
2027	* testsuite/24_iterators/reverse_iterator/71771.cc: New test.
2028
20292016-08-22  Release Manager
2030
2031	* GCC 6.2.0 released.
2032
20332016-08-06  Jonathan Wakely  <jwakely@redhat.com>
2034
2035	Backport from mainline
2036	2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
2037
2038	* include/std/functional (function::_Callable): Use lvalue in
2039	result_of expression.
2040	* testsuite/20_util/function/cons/refqual.cc: New test.
2041
2042	Backport from mainline
2043	2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
2044
2045	PR libstdc++/71964
2046	* include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
2047	* testsuite/23_containers/set/allocator/71964.cc: New test.
2048
2049	Backport from mainline
2050	2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
2051
2052	* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
2053	Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
2054	* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
2055	Likewise.
2056	* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
2057	Likewise.
2058	* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
2059	Likewise.
2060	* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
2061	Likewise.
2062	* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
2063	Likewise.
2064	* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
2065	Likewise.
2066
2067	Backport from mainline
2068	2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
2069
2070	PR libstdc++/70940
2071	* include/experimental/memory_resource
2072	(__resource_adaptor_imp::do_allocate): Do not default-construct
2073	rebound allocator.
2074	(__resource_adaptor_imp::do_deallocate): Likewise. Use
2075	allocator_traits to get pointer type.
2076	(__null_memory_resource::do_allocate): Remove unused parameters.
2077	(__null_memory_resource::do_deallocate): Likewise.
2078	(__null_memory_resource::do_is_equal): Likewise. Add return statement.
2079	* testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
2080	* testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
2081	move to ...
2082	* testsuite/experimental/memory_resource/1.cc: Here.
2083	* testsuite/experimental/memory_resource/null_memory_resource.cc: New.
2084	* testsuite/experimental/memory_resource/resource_adaptor.cc: New.
2085
2086	Backport from mainline
2087	2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
2088
2089	* include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
2090	Define feature-test macro.
2091	* include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
2092	* include/std/type_traits (__cpp_lib_logical_traits): Fix value.
2093
2094	Backport from mainline
2095	2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
2096
2097	* include/bits/stl_function.h: Remove commented-out macro.
2098	* include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
2099	Define feature-test macro.
2100	* testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
2101
2102	* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
2103	comments.
2104
2105	* doc/xml/manual/status_cxx2011.xml: Change "mainline GCC SVN" to
2106	refer to the release series.
2107	* doc/xml/manual/status_cxx2014.xml: Likewise. Update TS status.
2108	* doc/xml/manual/status_cxx2017.xml: Likewise.
2109	* doc/html/manual/status.html: Regenerate.
2110
2111	* include/experimental/propagate_const (propagate_const::__t): Rename
2112	to _M_t and remove comment. Qualify std::move and std::forward.
2113	* testsuite/experimental/propagate_const/cons/default.cc: Fix test.
2114
21152016-08-02  Jonathan Wakely  <jwakely@redhat.com>
2116
2117	* testsuite/lib/libstdc++.exp (v3-build_support): Add
2118	-fno-lto to additional flags for compiling libtestc++.a objects.
2119
21202016-07-29  Jonathan Wakely  <jwakely@redhat.com>
2121
2122	* doc/xml/manual/abi.xml: Document 6.0.22 library version.
2123	* doc/html/manual/abi.html: Regenerate.
2124
21252016-07-19  Jonathan Wakely  <jwakely@redhat.com>
2126
2127	Backport from mainline
2128	2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
2129
2130	* include/experimental/functional: Include <parallel/algorithm> in
2131	Parallel Mode.
2132
2133	Backport from mainline
2134	2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
2135
2136	* testsuite/experimental/functional/searchers.cc: Include <algorithm>
2137	for std::search.
2138
2139	PR libstdc++/71856
2140	* include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
2141	* include/parallel/balanced_quicksort.h: Include <unistd.h> for sleep.
2142	* include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
2143	Do not define here.
2144
2145	Backport from mainline
2146	2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
2147
2148	PR libstdc++/71320
2149	* src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
2150	Add or remove permissions according to perms argument.
2151	* testsuite/experimental/filesystem/operations/permissions.cc: New
2152	test.
2153
21542016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
2155
2156	Implement LWG 2451, optional<T> should 'forward' T's
2157	implicit conversions.
2158	* include/experimental/optional (__is_optional_impl, __is_optional):
2159	New.
2160	(optional()): Make constexpr and default.
2161	(optional(_Up&&), optional(const optional<_Up>&),
2162	optional(optional<_Up>&& __t): New.
2163	(operator=(_Up&&)): Constrain.
2164	(operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
2165	* testsuite/experimental/optional/cons/value.cc:
2166	Add tests for the functionality added by LWG 2451.
2167	* testsuite/experimental/optional/cons/value_neg.cc: New.
2168
21692016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
2170
2171	Implement LWG 2509,
2172	any_cast doesn't work with rvalue reference targets and cannot
2173	move with a value target.
2174	* include/experimental/any (any(_ValueType&&)): Constrain and
2175	add an overload that doesn't forward.
2176	(any_cast(any&&)): Constrain and add an overload that moves.
2177	* testsuite/experimental/any/misc/any_cast.cc: Add tests for
2178	the functionality added by LWG 2509.
2179
21802016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
2181
2182	PR libstdc++/71313
2183	* src/filesystem/ops.cc (remove_all(const path&, error_code&)):
2184	Call remove_all for children of a directory.
2185	* testsuite/experimental/filesystem/operations/create_directories.cc:
2186	Adjust.
2187
21882016-06-17  Jonathan Wakely  <jwakely@redhat.com>
2189
2190	PR libstdc++/71545
2191	* include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
2192	Remove irreflexive checks.
2193	* include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
2194	binary_search): Likewise.
2195	* testsuite/25_algorithms/equal_range/partitioned.cc: New test.
2196	* testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
2197	* testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
2198	* testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
2199	* testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
2200	Add constructor from array.
2201
22022016-05-26  Jonathan Wakely  <jwakely@redhat.com>
2203
2204	Backport from mainline
2205	2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
2206
2207	PR libstdc++/70762
2208	* testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
2209	static counter to return a different path on every call.
2210
2211	* testsuite/experimental/filesystem/path/native/string.cc: Add
2212	dg-require-filesystem-ts directive.
2213
22142016-05-25  Jonathan Wakely  <jwakely@redhat.com>
2215
2216	Backport from mainline
2217	2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
2218
2219	PR libstdc++/69703
2220	* src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
2221	__codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
2222
2223	Backport from mainline
2224	2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
2225
2226	PR libstdc++/69703
2227	* src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in)):
2228	Override endianness bit in mode.
2229	* testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
2230	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
2231	that little_endian mode is ignored.
2232	* testsuite/experimental/filesystem/path/native/string.cc: New test.
2233
2234	Backport from mainline
2235	2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
2236
2237	* include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
2238	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2239	Test begin and end functions.
2240	* testsuite/experimental/filesystem/iterators/
2241	recursive_directory_iterator.cc: Likewise.
2242
2243	Backport from mainline
2244	2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
2245
2246	PR libstdc++/71038
2247	* src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
2248	* testsuite/experimental/filesystem/operations/copy_file.cc: New test.
2249
2250	Backport from mainline
2251	2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
2252
2253	* include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2254	Overload operator* to move from rvalues.
2255
2256	Backport from mainline
2257	2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
2258
2259	PR libstdc++/71036
2260	* src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
2261	* testsuite/experimental/filesystem/operations/create_directory.cc:
2262	New test.
2263
2264	Backport from mainline
2265	2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
2266
2267	PR libstdc++/71037
2268	* src/filesystem/ops.cc (canonical(const path&, const path&)): Add
2269	base path to exception.
2270	* testsuite/experimental/filesystem/operations/canonical.cc: Test
2271	paths contained in exception.
2272
2273	Backport from mainline
2274	2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
2275
2276	PR libstdc++/71005
2277	* include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2278	New type.
2279	(directory_iterator::operator++(int)): Return proxy.
2280	(recursive_directory_iterator::operator++(int)): Likewise.
2281	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2282	Test post-increment.
2283	* testsuite/experimental/filesystem/iterators/
2284	recursive_directory_iterator.cc: Likewise.
2285
2286	Backport from mainline
2287	2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
2288
2289	PR libstdc++/71004
2290	* include/experimental/bits/fs_dir.h (recursive_directory_iterator):
2291	Initialize scalar member variables in default constructor.
2292	* testsuite/experimental/filesystem/iterators/
2293	recursive_directory_iterator.cc: Test default construction.
2294
2295	Backport from mainline
2296	2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
2297
2298	PR libstdc++/70609
2299	* src/filesystem/ops.cc (close_fd): New function.
2300	(do_copy_file): Set permissions before copying file contents. Check
2301	result of closing file descriptors. Don't copy streambuf when file
2302	is empty.
2303	(copy(const path&, const path&, copy_options, error_code&)): Use
2304	lstat for source file when copy_symlinks is set.
2305	* testsuite/experimental/filesystem/operations/copy.cc: Test copy().
2306
2307	Backport from mainline
2308	2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
2309
2310	* include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
2311	operator~ operator&=, operator|=, operator^=): Add noexcept to
2312	overloaded operators for copy_options, perms and directory_options.
2313	* src/filesystem/ops.cc (make_file_type, make_file_status,
2314	is_not_found_errno, file_time): Add noexcept.
2315
23162016-05-11  Jonathan Wakely  <jwakely@redhat.com>
2317
2318	PR libstdc++/71049
2319	* src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
2320	exception constructors with __sso_string parameters.
2321
23222016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
2323
2324	Avoid endless run-time recursion for copying single-element
2325	tuples where the element type is by-value constructible
2326	from any type.
2327	* include/std/tuple (_NotSameTuple): New.
2328	* include/std/tuple (tuple(_UElements&&...): Use it.
2329	* testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
2330
23312016-04-27  Release Manager
2332
2333	* GCC 6.1.0 released.
2334
23352016-04-19  Jonathan Wakely  <jwakely@redhat.com>
2336
2337	* include/bits/random.h: Fix filename in comment.
2338
23392016-04-14  Jason Merrill  <jason@redhat.com>
2340
2341	Revert Jonathan's empty ABI change from yesterday.
2342
23432016-04-13  Martin Sebor  <msebor@redhat.com>
2344
2345	PR c++/69517
2346	* testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
2347	upper bound is positive.
2348
23492016-04-13  Jonathan Wakely  <jwakely@redhat.com>
2350
2351	* include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
2352	_GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
2353	* include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
2354	of functions taking empty structs by value. Add a template parameter
2355	to overloads without hints. Rename overloads with hints to
2356	_M_emplace_hint.
2357	(_Hashtable::_M_erase(true_type, const_iterator),
2358	_Hashtable::_M_erase(false_type, const_iterator)): Change signatures
2359	by reordering parameters.
2360	* include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
2361	_M_emplace_hint instead of _M_emplace.
2362	* include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
2363	shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
2364	* include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
2365	__shared_ptr): Likewise.
2366	* include/bits/stl_algo.h (replace_if): Likewise.
2367	* include/bits/stl_pair.h (piecewise_construct_t,
2368	piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
2369	* include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
2370	__uses_alloc0): Likewise.
2371	* include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
2372	* testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
2373	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
2374	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2375	* testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
2376	* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
2377	* testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
2378
23792016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
2380
2381	Document C++17/TR29124 C++ Special Math Functions.
2382	* include/bits/specfun.h: Add Doxygen markup.
2383
23842016-04-07  Jonathan Wakely  <jwakely@redhat.com>
2385
2386	* testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
2387
23882016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
2389
2390	* src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
2391	* src/Makefile.in: Regenerate.
2392
23932016-04-05  Jonathan Wakely  <jwakely@redhat.com>
2394
2395	PR libstdc++/70554
2396	* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
2397	__atomic_fetch_add for bool.
2398	* configure: Regenerate.
2399
2400	* testsuite/30_threads/thread/70503.cc: Require -static to work.
2401
2402	PR libstdc++/70503
2403	* src/c++11/thread.cc (execute_native_thread_routine,
2404	execute_native_thread_routine_compat): Give internal linkage.
2405	* testsuite/30_threads/thread/70503.cc: New test.
2406
24072016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
2408
2409	PR libstdc++/70437
2410	* include/bits/stl_pair.h (_ConstructiblePair,
2411	_ImplicitlyConvertiblePair, _MoveConstructiblePair,
2412	_ImplicitlyMoveConvertiblePair): Add shortcut conditions
2413	for same-type cases.
2414	* testsuite/20_util/pair/70437.cc: New.
2415
24162016-03-24  Jonathan Wakely  <jwakely@redhat.com>
2417
2418	PR libstdc++/69945
2419	* config/abi/pre/gnu.ver: Add new symbol.
2420	* libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
2421	* testsuite/18_support/free_eh_pool.cc: New test.
2422
24232016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2424
2425	* include/Makefile.am (install-freestanding-headers): Add
2426	concept_check.h and move.h to the installed headers.
2427	* include/Makefile.in: Regenerated.
2428	* include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
2429	freestanding implementations.
2430	* doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
2431	that this macro has no effect for freestanding implementations.
2432	* doc/html/manual/using_macros.html: Likewise.
2433
24342016-02-24  Jonathan Wakely  <jwakely@redhat.com>
2435
2436	PR libstdc++/69939
2437	* include/experimental/tuple (__apply_impl): Qualify get and forward.
2438
24392016-02-23  Jonathan Wakely  <jwakely@redhat.com>
2440
2441	* doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
2442	* doc/html/*: Regenerate.
2443
2444	PR libstdc++/69893
2445	* include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
2446	exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
2447	llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
2448	nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
2449	trunc) [__cplusplus >= 201103L]: Import from namespace std.
2450	(fabs) [__cplusplus < 201103L]: Import from namespace std.
2451	* include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
2452	Likewise.
2453	* testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
2454	namespace before including TR1 headers.
2455	* testsuite/tr1/headers/c++200x/math.cc: New test.
2456
24572016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2458
2459	PR libstdc++/69881
2460	* include/c_global/cstdarg: Undefine __need___va_list.
2461	* include/c_global/cstddef: Undefine all kinds of __need_*.
2462
24632016-02-16  Tim Shen  <timshen@google.com>
2464
2465	PR libstdc++/69794
2466	* include/bits/regex_scanner.h: Add different special character
2467	sets for grep and egrep regex.
2468	* include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
2469	* testsuite/28_regex/regression.cc: Add new testcase.
2470
24712016-02-08  Jonathan Wakely  <jwakely@redhat.com>
2472
2473	* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
2474	added 'constexpr' in previous commit.
2475	* configure: Regenerate.
2476
2477	PR libstdc++/48891
2478	* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
2479	checks for all targets except *-*-solaris2.* and ensure we find the
2480	libc math.h header not our own.
2481	* configure: Regenerate.
2482
24832016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
2484
2485	* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
2486	New file.  Copied over from s390-linux-gnu.
2487
24882016-02-04  Jonathan Wakely  <jwakely@redhat.com>
2489
2490	PR libstdc++/69626
2491	* acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
2492	with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
2493	* config.h.in: Regenerate.
2494	* configure: Regenerate.
2495	* testsuite/21_strings/c_strings/char/69626.cc: New.
2496
2497	* doc/html/index.html: Regenerate.
2498
2499	* doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
2500	* doc/xml/manual/spine.xml: Update copyright years and author blurb.
2501	* doc/html/*: Regenerate.
2502
25032016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2504
2505	PR libstdc++/69581
2506	* include/c_compatibility/math.h: Move header guards.
2507	* include/c_compatibility/stdlib.h: Likewise.
2508
25092016-01-29  Jonathan Wakely  <jwakely@redhat.com>
2510
2511	PR libstdc++/69506
2512	* config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2513
25142016-01-28  John David Anglin  <danglin@gcc.gnu.org>
2515
2516	PR libstdc++/69450
2517	* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
2518	isinf and isnan functions into two independent checks.  Check on hpux.
2519	* config.h.in: Regenerate.
2520	* configure: Regenerate.
2521	* include/c_global/cmath (isinf(double), isnan(double)): Use
2522	_GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
2523	respectively.
2524
25252016-01-27  Jakub Jelinek  <jakub@redhat.com>
2526
2527	* testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
2528
25292016-01-27  Jonathan Wakely  <jwakely@redhat.com>
2530
2531	PR libstdc++/69295
2532	* testsuite/ext/special_functions/hyperg/check_value.cc: Use
2533	-ffp-contract=off, and -ffloat-store to disable excess precision.
2534	* testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
2535	-ffp-contract=off.
2536
25372016-01-26  Jonathan Wakely  <jwakely@redhat.com>
2538
2539	PR libstdc++/69478
2540	* include/bits/stl_algobase.h (__copy_move<_IsMove, true,
2541	random_access_iterator_tag>): Check is_move_assignable when moving.
2542	(__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
2543	Likewise.
2544	* testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
2545	* testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
2546	* testsuite/25_algorithms/move/69478.cc: New.
2547	* testsuite/25_algorithms/move_backward/69478.cc: new.
2548
25492016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
2550
2551	* include/c_compatibility/stdlib.h: Include wide character related
2552	definitions only when they are available in cstdlib.
2553
25542016-01-25  Jonathan Wakely  <jwakely@redhat.com>
2555
2556	PR libstdc++/69464
2557	* include/Makefile.am: Add new header.
2558	* include/Makefile.in: Regenerate.
2559	* include/bits/random.h (uniform_int_distribution): Move to
2560	bits/uniform_int_dist.h.
2561	* include/bits/random.tcc (uniform_int_distribution::operator(),
2562	uniform_int_distribution::__generate_impl): Likewise.
2563	* include/bits/uniform_int_dist.h: New header.
2564	* include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
2565	<bits/uniform_int_dist.h> instead of <random>.
2566	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
2567	move_iterators/1.cc: Include correct header for uninitialized_copy.
2568	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
2569	move_iterators/1.cc: Likewise.
2570	* testsuite/25_algorithms/nth_element/58800.cc: Include correct
2571	header for vector.
2572	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
2573
25742016-01-23  John David Anglin  <danglin@gcc.gnu.org>
2575
2576	PR libstdc++/69446
2577	* config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2578
25792016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
2580
2581	TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
2582	* include/c_compatibility/math.h: Import the TR29124 functions
2583	into the global namespace.
2584	* testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
2585	xfail and make compile-only.
2586	* testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
2587	* testsuite/special_functions/03_beta/compile_2.cc: Ditto.
2588	* testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
2589	* testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
2590	* testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
2591	* testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
2592	* testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
2593	* testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
2594	* testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
2595	* testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
2596	* testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
2597	* testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
2598	* testsuite/special_functions/14_expint/compile_2.cc: Ditto.
2599	* testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
2600	* testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
2601	* testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
2602	* testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
2603	* testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
2604	* testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
2605	* testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
2606
26072016-01-22  Jonathan Wakely  <jwakely@redhat.com>
2608
2609	PR libstdc++/69116
2610	* include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
2611	define result_type for types which can be safely used with valarrays.
2612	* testsuite/26_numerics/valarray/69116.cc: New.
2613
2614	PR libstdc++/69413
2615	* config/os/gnu-linux/os_defines.h: Define
2616	_GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
2617	* include/c_global/cmath (isinf, isnan): Check it.
2618	* doc/xml/manual/internals.xml: Document it.
2619	* doc/html/*: Regenerate.
2620
26212016-01-21  Jonathan Wakely  <jwakely@redhat.com>
2622
2623	PR libstdc++/69406
2624	* include/bits/cpp_type_traits.h: Ensure C++ language linkage.
2625	* include/ext/type_traits.h: Likewise.
2626	* testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
2627	for presence of C headers.
2628	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
2629	dg-error line number.
2630	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
2631	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
2632	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
2633
26342016-01-20  Torvald Riegel  <triegel@redhat.com>
2635
2636	PR libstdc++/69310
2637	* config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2638
26392016-01-20  Jonathan Wakely  <jwakely@redhat.com>
2640
2641	PR libstdc++/60401
2642	* include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
2643	copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
2644	lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
2645	nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
2646	tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
2647	Add using declarations.
2648	* testsuite/26_numerics/headers/cmath/60401.cc: New.
2649
2650	PR libstdc++/69386
2651	* include/c_global/ccomplex: Ensure C++ language linkage.
2652	* include/c_global/cmath: Likewise.
2653	* include/c_global/cstdlib: Likewise.
2654	* include/c_global/ctgmath: Likewise.
2655	* testsuite/17_intro/headers/c++2011/linkage.cc: New.
2656
26572016-01-19  Jonathan Wakely  <jwakely@redhat.com>
2658
2659	PR libstdc++/14608
2660	PR libstdc++/60401
2661	* include/Makefile.am: Use c_compatibility math.h and stdlib.h for
2662	--enable-cheaders=c_global configs.
2663	* include/Makefile.in: Regenerate.
2664	* include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
2665	test and allow inclusion from C files.
2666	* include/c_compatibility/stdlib.h: Likewise. Support freestanding.
2667	(at_quick_exit, quick_exit): Add using directives.
2668	* include/c_global/cmath: Use #include_next for math.h.
2669	* include/c_global/cstdlib: Use #include_next for stdlib.h.
2670	* testsuite/26_numerics/headers/cmath/14608.cc: New.
2671	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
2672	Remove xfail for most targets.
2673	* testsuite/26_numerics/headers/cstdlib/60401.cc: New.
2674
26752016-01-18  Torvald Riegel  <triegel@redhat.com>
2676
2677	* include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
2678	(_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use	_GLIBCXX_USE_WEAK_REF
2679	and move after its definition.
2680	* config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
2681	* src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
2682	__GXX_WEAK__, and only provide transactional clones if
2683	_GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
2684	functions.
2685
26862016-01-18  Jonathan Wakely  <jwakely@redhat.com>
2687
2688	PR libstdc++/60637
2689	* testsuite/26_numerics/headers/cmath/60637.cc: Add test.
2690
2691	PR libstdc++/69243
2692	* include/std/functional (_Function_base::_M_not_empty_function):
2693	Change overloads for pointers to take arguments by value.
2694	* testsuite/20_util/function/cons/57465.cc: Add tests for
2695	pointer-to-member cases.
2696
2697	PR libstdc++/69340
2698	* src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
2699	Use macros for exception handling and fix unused parameter warning.
2700
27012016-01-17  John David Anglin  <danglin@gcc.gnu.org>
2702
2703	PR libstdc++/68734
2704	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2705
27062016-01-17  Torvald Riegel  <triegel@redhat.com>
2707
2708	* src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
2709
27102016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
2711
2712	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
2713	__int128 symbols.
2714
27152016-01-15  Jonathan Wakely  <jwakely@redhat.com>
2716
2717	PR libstdc++/69293
2718	* include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
2719	static assertion that type is constructible from the arguments.
2720	* testsuite/20_util/scoped_allocator/69293_neg.cc: New.
2721	* testsuite/20_util/uses_allocator/69293_neg.cc: New.
2722	* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
2723
2724	PR libstdc++/69294
2725	* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2726	and isnan on AIX. Quote variables.
2727	* configure: Regenerate.
2728
27292016-01-15  Torvald Riegel  <triegel@redhat.com>
2730
2731	* include/bits/basic_string.h (basic_string): Declare friends.
2732	* include/bits/c++config (_GLIBCXX_TXN_SAFE,
2733	_GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
2734	* include/std/stdexcept (logic_error, domain_error, invalid_argument,
2735	length_error, out_of_range, runtime_error, range_error,
2736	underflow_error, overflow_error): Declare members as transaction-safe.
2737	(logic_error, runtime_error): Declare friend functions.
2738	* libsupc++/exception (exception, bad_exception): Declare members as
2739	transaction-safe.
2740	* src/c++11/cow-stdexcept.cc: Define transactional clones for the
2741	transaction-safe members of exceptions and helper functions.
2742	* libsupc++/eh_exception.cc: Adjust and define transactional clones.
2743	* config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
2744	(CXXABI_1.3.10): New.
2745	* acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
2746	(GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
2747	* configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
2748	* include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
2749	* include/Makefile.in: Regenerate.
2750	* config.h.in: Regenerate.
2751	* configure: Regenerate.
2752	* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
2753
27542016-01-15  Steve Ellcey  <sellcey@imgtec.com>
2755
2756	* include/ext/random.tcc: Use __builtin_isfinite instead of
2757	std::isfinite.
2758
27592016-01-15  Jonathan Wakely  <jwakely@redhat.com>
2760
2761	* include/bits/std_mutex.h: Fix Doxygen @file name.
2762
27632016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
2764	    Jonathan Wakely  <jwakely@redhat.com>
2765	    Florian Goth <CaptainSifff@gmx.de>
2766
2767	Implement TR29124 C++ special Math Functions.
2768	* include/Makefile.am: Add new headers.
2769	* include/Makefile.in: Regenerate.
2770	* include/bits/specfun.h: New.
2771	* include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
2772	* include/tr1/bessel_function.tcc: Ditto.
2773	* include/tr1/beta_function.tcc: Ditto.
2774	* include/tr1/cmath: Ditto.
2775	* include/tr1/ell_integral.tcc: Ditto.
2776	* include/tr1/exp_integral.tcc: Ditto.
2777	* include/tr1/gamma.tcc: Ditto.
2778	* include/tr1/hypergeometric.tcc: Ditto.
2779	* include/tr1/legendre_function.tcc: Ditto.
2780	* include/tr1/modified_bessel_func.tcc: Ditto.
2781	* include/tr1/poly_hermite.tcc: Ditto.
2782	* include/tr1/poly_laguerre.tcc: Ditto.
2783	* include/tr1/riemann_zeta.tcc: Ditto.
2784	* include/tr1/special_function_util.h: Ditto.
2785	* testsuite/ext/special_functions/conf_hyperg: New.
2786	* testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
2787	* testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
2788	* testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
2789	* testsuite/ext/special_functions/hyperg: New.
2790	* testsuite/ext/special_functions/hyperg/check_nan.cc: New.
2791	* testsuite/ext/special_functions/hyperg/check_value.cc: New.
2792	* testsuite/ext/special_functions/hyperg/compile.cc: New.
2793	* testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
2794	* testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
2795	* testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
2796	* testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
2797	* testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
2798	* testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
2799	* testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
2800	* testsuite/special_functions/02_assoc_legendre/compile.cc: New.
2801	* testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
2802	* testsuite/special_functions/03_beta/check_nan.cc: New.
2803	* testsuite/special_functions/03_beta/check_value.cc: New.
2804	* testsuite/special_functions/03_beta/compile.cc: New.
2805	* testsuite/special_functions/03_beta/compile_2.cc: New.
2806	* testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
2807	* testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
2808	* testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
2809	* testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
2810	* testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
2811	* testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
2812	* testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
2813	* testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
2814	* testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
2815	* testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
2816	* testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
2817	* testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
2818	* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
2819	* testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
2820	* testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
2821	* testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
2822	* testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
2823	* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
2824	* testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
2825	* testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
2826	* testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
2827	* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
2828	* testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
2829	* testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
2830	* testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
2831	* testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
2832	* testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
2833	* testsuite/special_functions/10_cyl_neumann/compile.cc: New.
2834	* testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
2835	* testsuite/special_functions/11_ellint_1/check_nan.cc: New.
2836	* testsuite/special_functions/11_ellint_1/check_value.cc: New.
2837	* testsuite/special_functions/11_ellint_1/compile.cc: New.
2838	* testsuite/special_functions/11_ellint_1/compile_2.cc: New.
2839	* testsuite/special_functions/12_ellint_2/check_nan.cc: New.
2840	* testsuite/special_functions/12_ellint_2/check_value.cc: New.
2841	* testsuite/special_functions/12_ellint_2/compile.cc: New.
2842	* testsuite/special_functions/12_ellint_2/compile_2.cc: New.
2843	* testsuite/special_functions/13_ellint_3/check_nan.cc: New.
2844	* testsuite/special_functions/13_ellint_3/check_value.cc: New.
2845	* testsuite/special_functions/13_ellint_3/compile.cc: New.
2846	* testsuite/special_functions/13_ellint_3/compile_2.cc: New.
2847	* testsuite/special_functions/14_expint/check_nan.cc: New.
2848	* testsuite/special_functions/14_expint/check_value.cc: New.
2849	* testsuite/special_functions/14_expint/compile.cc: New.
2850	* testsuite/special_functions/14_expint/compile_2.cc: New.
2851	* testsuite/special_functions/15_hermite/check_nan.cc: New.
2852	* testsuite/special_functions/15_hermite/check_value.cc: New.
2853	* testsuite/special_functions/15_hermite/compile.cc: New.
2854	* testsuite/special_functions/15_hermite/compile_2.cc: New.
2855	* testsuite/special_functions/16_laguerre/check_nan.cc: New.
2856	* testsuite/special_functions/16_laguerre/check_value.cc: New.
2857	* testsuite/special_functions/16_laguerre/compile.cc: New.
2858	* testsuite/special_functions/16_laguerre/compile_2.cc: New.
2859	* testsuite/special_functions/17_legendre/check_nan.cc: New.
2860	* testsuite/special_functions/17_legendre/check_value.cc: New.
2861	* testsuite/special_functions/17_legendre/compile.cc: New.
2862	* testsuite/special_functions/17_legendre/compile_2.cc: New.
2863	* testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
2864	* testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
2865	* testsuite/special_functions/18_riemann_zeta/compile.cc: New.
2866	* testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
2867	* testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
2868	* testsuite/special_functions/19_sph_bessel/check_value.cc: New.
2869	* testsuite/special_functions/19_sph_bessel/compile.cc: New.
2870	* testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
2871	* testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
2872	* testsuite/special_functions/20_sph_legendre/check_value.cc: New.
2873	* testsuite/special_functions/20_sph_legendre/compile.cc: New.
2874	* testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
2875	* testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
2876	* testsuite/special_functions/21_sph_neumann/check_value.cc: New.
2877	* testsuite/special_functions/21_sph_neumann/compile.cc: New.
2878	* testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
2879	* testsuite/util/specfun_testcase.h: New.
2880	* testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
2881	* testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
2882	* testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
2883	* testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
2884	* testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
2885	* testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
2886	* testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
2887
28882016-01-13  Jonathan Wakely  <jwakely@redhat.com>
2889
2890	PR libstdc++/48891
2891	* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2892	and isnan functions.
2893	* config.h.in: Regenerate.
2894	* configure: Regenerate.
2895	* include/c_global/cmath (isinf(double), isnan(double))
2896	[_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
2897	* testsuite/26_numerics/headers/cmath/48891.cc: New.
2898
28992016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2900
2901	PR libstdc++/66006
2902	* configure.host (abi_baseline_pair): Use separate baseline for
2903	Solaris 11+ and Solaris 10 with gld.
2904	* config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
2905	* config/abi/post/solaris2.11/baseline_symbols.txt: New file.
2906	* config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
2907
29082016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
2909
2910	PR libstdc++/68877
2911	* include/std/type_traits: Following N4511, reimplement __is_swappable
2912	and __is_nothrow_swappable. Move __is_swappable to namespace std,
2913	adjust callers. Use __is_nothrow_swappable in swap.
2914	* include/bits/move.h: Use __is_nothrow_swappable in swap.
2915	* testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
2916	__is_swappable related tests.
2917	* testsuite/20_util/is_swappable/value.cc: New.
2918	* testsuite/20_util/is_swappable/requirements/
2919	explicit_instantiation.cc: New.
2920	* testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
2921	* testsuite/25_algorithms/swap/68877.cc: New.
2922
29232016-01-12  Jonathan Wakely  <jwakely@redhat.com>
2924
2925	* testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
2926
2927	PR libstdc++/69005
2928	PR libstdc++/69222
2929	* include/std/functional (function::_Invoke): Remove, use result_of.
2930	(function::_Callable): Replace alias template with class template
2931	and use partial specialization instead of _NotSelf alias template.
2932	(function(_Functor)): Add "not self" constraint so that _Callable is
2933	not used while type is incomplete.
2934	* testsuite/20_util/function/69222.cc: New.
2935
29362016-01-11  Jonathan Wakely  <jwakely@redhat.com>
2937
2938	PR libstdc++/60976
2939	* include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
2940	Define partial specialization.
2941	* testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
2942	destroy members to std::allocator explicit specialization.
2943
29442016-01-08  Jonathan Wakely  <jwakely@redhat.com>
2945
2946	* testsuite/26_numerics/headers/cmath/
2947	c99_classification_macros_c++.cc: Rename to ...
2948	* testsuite/26_numerics/headers/cmath/
2949	c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
2950	* testsuite/26_numerics/headers/cmath/
2951	c99_classification_macros_c++0x.cc: Rename to ...
2952	* testsuite/26_numerics/headers/cmath/
2953	c99_classification_macros_c++11.cc: Here.
2954
2955	PR libstdc++/69190
2956	* include/bits/uses_allocator.h: Add missing include.
2957
29582016-01-07  Jonathan Wakely  <jwakely@redhat.com>
2959
2960	PR libstdc++/69105
2961	PR libstdc++/69106
2962	PR libstdc++/69114
2963	* include/bits/stl_iterator.h (back_insert_iterator,
2964	front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
2965	* include/bits/uses_allocator.h (__use_alloc): Use __addressof.
2966	* include/std/future (__future::base::_State_baseV2::__setter):
2967	Likewise.
2968	* include/std/scoped_allocator (__outermost): Likewise.
2969	* testsuite/20_util/scoped_allocator/69114.cc: New.
2970	* testsuite/20_util/uses_allocator/69114.cc: New.
2971	* testsuite/30_threads/promise/69106.cc: New.
2972
29732016-01-06  Jonathan Wakely  <jwakely@redhat.com>
2974
2975	PR libstdc++/69092
2976	* include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
2977	Remove _GLIBCXX_NOEXCEPT.
2978	testsuite/21_strings/basic_string/cons/char/69092.cc: New.
2979
2980	* include/Makefile.am: Adjust.
2981	* include/Makefile.in: Regenerate.
2982	* include/bits/mutex.h: Rename to bits/std_mutex.h.
2983	* include/std/condition_variable: Adjust include.
2984	* include/std/mutex: Likewise.
2985
29862016-01-04  Jakub Jelinek  <jakub@redhat.com>
2987
2988	Update copyright years.
2989
2990Copyright (C) 2016 Free Software Foundation, Inc.
2991
2992Copying and distribution of this file, with or without modification,
2993are permitted in any medium without royalty provided the copyright
2994notice and this notice are preserved.
2995