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