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