* src/c++11/snprintf_lite.cc (__err): Update bug reporting URL.
[gcc.git] / libstdc++-v3 / ChangeLog
1 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
2
3 * src/c++11/snprintf_lite.cc (__err): Update bug reporting URL.
4
5 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
6
7 * doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++
8 Migration Guide".
9
10 2017-02-07 Gerald Pfeifer <gerald@pfeifer.com>
11
12 * doc/html/ext/lwg-active.html: Remove.
13 * doc/html/ext/lwg-closed.html: Ditto.
14 * doc/html/ext/lwg-defects.html: Ditto.
15
16 * doc/Makefile.am (xml_extradir): Remove.
17 (xml_extra): Ditto.
18 (stamp-html-docbook-lwg): Remove recipe...
19 (stamp-html-docbook-data): ...and its use here.
20 * doc/Makefile.in: Regenerate.
21
22 * doc/xml/manual/intro.xml: Shorten two paragraphs explaining
23 the relationship to the upstream working group.
24 Replace a local link to ../ext/lwg-active.html by the upstream one.
25 Replace all reference to ../ext/lwg-defects.html by a new entity
26 &DR; which refers to the upstream address.
27
28 2017-02-07 Gerald Pfeifer <gerald@pfeifer.com>
29
30 * doc/xml/manual/status_cxx2017.xml: Fix link to N4284.
31
32 2017-02-06 Jonathan Wakely <jwakely@redhat.com>
33
34 PR libstdc++/79323
35 * testsuite/20_util/duration/literals/range.cc: Prune extra output
36 at -O0.
37
38 2017-02-06 Gerald Pfeifer <gerald@pfeifer.com>
39
40 * doc/xml/manual/documentation_hacking.xml: Update URL of the
41 DocBook Element Reference. Use that term as link description
42 instead of "online".
43 epubcheck has moved to GitHub.
44 Remove obsolete link to DocBook Publishing Tools.
45
46 2017-02-03 Jonathan Wakely <jwakely@redhat.com>
47
48 PR libstdc++/66145
49 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override
50 so new ios::failure can be caught even when old ABI is the default.
51 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
52 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
53 exceptions_failbit.cc: Likewise.
54 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
55 exceptions_failbit.cc: Likewise.
56 * testsuite/27_io/basic_istream/extractors_other/char/
57 exceptions_null.cc: Likewise.
58 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
59 exceptions_null.cc: Likewise.
60 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
61 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
62 * testsuite/27_io/basic_ostream/inserters_other/char/
63 exceptions_null.cc: Likewise.
64 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
65 exceptions_null.cc: Likewise.
66 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
67
68 PR libstdc++/60936
69 * src/c++11/Makefile.am: Add new files.
70 * src/c++11/Makefile.in: Regenerate.
71 * src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
72 (operator<<, operator>>, getline): Move explicit instantiations to ...
73 * src/c++11/cow-string-io-inst.cc: ... new file.
74 * src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
75 (operator<<, operator>>, getline): Move explicit instantiations to ...
76 * src/c++11/cow-wstring-io-inst.cc: ... new file.
77 * src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error)
78 (__throw_future_error, __throw_bad_function_call):
79 (__throw_regex_error): Move functions for C++11 exceptions to the
80 files that define the exception types.
81 * src/c++11/functional.cc (__throw_bad_function_call): Move here.
82 * src/c++11/future.cc (__throw_future_error): Likewise.
83 * src/c++11/ios.cc (__throw_ios_failure): Likewise.
84 * src/c++11/regex.cc (__throw_regex_error): Likewise.
85 * src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal
86 representation directly instead of calling __int_to_char.
87 * src/c++11/sso_string.cc (__sso_string): New file for definition
88 of __sso_string type.
89 * src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
90 explicit instantiations of narrow string I/O functions.
91 * src/c++11/system_error.cc (__throw_system_error): Move here.
92 (__sso_string): Move to new file.
93 * src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
94 explicit instantiations of wide string I/O functions.
95 * src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<)
96 (operator>>, getline): Remove explicit instantiations from here.
97
98 2017-02-02 H.J. Lu <hongjiu.lu@intel.com>
99
100 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
101
102 2017-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
103
104 * configure.host: Separate Solaris/SPARC and x86 baselines.
105 * config/abi/post/solaris2.10/baseline_symbols.txt: Move ...
106 * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here.
107 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ...
108 * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
109 ... here.
110 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ...
111 * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here.
112 * config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file.
113 * config/abi/post/solaris2.11/baseline_symbols.txt: Move ...
114 * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here.
115 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ...
116 * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
117 ... here.
118 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ...
119 * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here.
120 * config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file.
121
122 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
123 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
124 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
125 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
126 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
127 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
128
129 2017-02-01 Jonathan Wakely <jwakely@redhat.com>
130
131 PR libstdc++/78346
132 * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator
133 not its referent.
134 (_Iter_comp_to_iter): Likewise.
135 * testsuite/25_algorithms/search/78346.cc: New test.
136
137 PR libstdc++/79254
138 * config/abi/pre/gnu.ver: Remove recently added symbols.
139 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
140 (basic_string::_M_copy_assign): Remove.
141 (basic_string::operator=(const basic_string&)): Don't dispatch to
142 _M_copy_assign. If source object is small just deallocate, otherwise
143 perform new allocation before making any changes.
144 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
145 (basic_string::_M_copy_assign(const basic_string&, true_type)):
146 Remove.
147 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
148 Test cases where the allocators are equal or the string is small.
149 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
150 Likewise.
151
152 2017-01-30 Ville Voutilainen <ville.voutilainen@gmail.com>
153
154 Implement LWG 2825, LWG 2756 breaks class template argument
155 deduction for optional.
156 * include/std/optional: Add a deduction guide.
157 * testsuite/20_util/optional/cons/deduction_guide.cc: New.
158
159 2017-01-27 Jonathan Wakely <jwakely@redhat.com>
160
161 PR libstdc++/79254
162 * config/abi/pre/gnu.ver: Add new symbols.
163 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
164 (basic_string::_M_copy_assign): New overloaded functions to perform
165 copy assignment.
166 (basic_string::operator=(const basic_string&)): Dispatch to
167 _M_copy_assign.
168 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
169 (basic_string::_M_copy_assign(const basic_string&, true_type)):
170 Define, performing rollback on exception.
171 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
172 Test exception-safety guarantee.
173 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
174 Likewise.
175 * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
176 std::swap visible.
177
178 2017-01-26 Jonathan Wakely <jwakely@redhat.com>
179
180 PR libstdc++/70607
181 * include/tr1/complex (conj): Remove using-declaration and restore
182 overloads, reverting previous change.
183
184 * testsuite/23_containers/list/operations/78389.cc: Fix for C++11
185 mode.
186 * testsuite/23_containers/priority_queue/requirements/constructible.cc:
187 Mark as unsupported in C++98 mode.
188 * testsuite/23_containers/queue/requirements/constructible.cc:
189 Likewise.
190 * testsuite/23_containers/stack/requirements/constructible.cc:
191 Likewise.
192 * testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode.
193
194 PR libstdc++/79243
195 * include/bits/c++config (literals::string_view_literals::__7): Add.
196 Only declare versioned namespaces for the relevant C++ dialects.
197 * include/experimental/bits/erase_if.h (fundamentals_v2::__detail):
198 Add versioning macros.
199 * include/experimental/bits/lfts_config.h:
200 (fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add.
201 * include/experimental/string_view (fundamentals_v2::__detail):
202 Add versioning macros.
203 (fundamentals_v2::__detail::__identity): Remove.
204 (fundamentals_v2::__detail::__idt): Use common_type instead of
205 __detail::__identity.
206 * include/std/string_view (__detail::__identity, __detail::__idt):
207 Likewise.
208 (literals::string_view_literals): Fix nesting of versioning macros.
209
210 PR libstdc++/79190
211 * libsupc++/del_opa.cc (operator delete(void*, std::align_val_t))
212 [!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN
213 && !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]:
214 Retrieve original pointer value allocated by malloc.
215 * libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC
216 && !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN
217 && !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)):
218 Define, adjusting pointer value allocated by malloc and storing for
219 retrieval by operator delete.
220
221 2017-01-26 Jakub Jelinek <jakub@redhat.com>
222
223 * libsupc++/eh_atomics.h: Update copyright years.
224 * testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years.
225
226 2017-01-25 Jonathan Wakely <jwakely@redhat.com>
227
228 PR libstdc++/61791
229 PR libstdc++/70607
230 * include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR.
231 (proj(T), conj(T)): Change return types per DR 1522.
232 * include/tr1/complex (conj): Remove overloads and use std::conj.
233 * testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to...
234 * testsuite/26_numerics/complex/dr781.cc: ... this, and update.
235 * testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test
236 real(T) and imag(T). Allow testing for C++11 too.
237
238 2017-01-24 Jonathan Wakely <jwakely@redhat.com>
239
240 PR libstdc++/79206
241 * include/experimental/string_view (operator==): Check sizes first.
242 * include/std/string_view (operator==): Likewise.
243
244 2017-01-23 Jonathan Wakely <jwakely@redhat.com>
245
246 * testsuite/experimental/array/make_array.cc: Restore <functional>
247 inclusion.
248
249 2017-01-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
250
251 * testsuite/29_atomics/atomic/69301.cc: Require atomic builtins.
252
253 2017-01-23 Jonathan Wakely <jwakely@redhat.com>
254
255 PR libstdc++/79195
256 * include/experimental/array (__make_array_elem): New class template
257 and partial specialization.
258 (__is_reference_wrapper): Move into __make_array_elem specialization.
259 (make_array): Use __make_array_elem to determine element type and move
260 static assertion into specialization. Qualify std::forward call.
261 (to_array): Add exception specifiation.
262 * testsuite/experimental/array/make_array.cc: Test argument types
263 without a common type.
264 * testsuite/experimental/array/neg.cc: Adjust expected error message.
265
266 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
267
268 * doc/xml/manual/debug.xml: code.google.com uses https now.
269
270 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
271
272 * doc/xml/manual/test.xml: Fix link into gccint online manual.
273
274 2017-01-21 Ville Voutilainen <ville.voutilainen@gmail.com>
275
276 Make poisoned hashes SFINAE away the call operator of the hash.
277 * include/bits/functional_hash.h
278 (__poison_hash::__enable_hash_call): New.
279 * include/std/optional (__optional_hash_call_base): New.
280 (hash<optional<_Tp>>): Derive from the new base,
281 move the hash function into that base.
282 * include/std/variant (__variant_hash_call_base_impl): New.
283 (__variant_hash_call_base): Likewise.
284 (hash<variant<_Types...>>): Derive from the new base,
285 move the hash function into that base.
286 * testsuite/20_util/optional/hash.cc: Add tests for is_callable.
287 * testsuite/20_util/variant/hash.cc: Likewise.
288
289 2017-01-20 Joe Seymour <joe.s@somniumtech.com>
290
291 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
292 * configure: Regenerate.
293
294 2017-01-20 Jonathan Wakely <jwakely@redhat.com>
295
296 PR libstdc++/69240
297 * include/bits/random.h (uniform_real_distribution::param_type)
298 (normal_distribution::param_type, lognormal_distribution::param_type)
299 (gamma_distribution::param_type, chi_squared_distribution::param_type)
300 (cauchy_distribution::param_type, fisher_f_distribution::param_type)
301 (student_t_distribution::param_type)
302 (bernoulli_distribution::param_type, binomial_distribution::param_type)
303 (geometric_distribution::param_type)
304 (negative_binomial_distribution::param_type)
305 (poisson_distribution::param_type)
306 (exponential_distribution::param_type)
307 (weibull_distribution::param_type)
308 (extreme_value_distribution::param_type)
309 (discrete_distribution::param_type)
310 (piecewise_constant_distribution::param_type)
311 (piecewise_linear_distribution::param_type): Define operator!=.
312 * include/bits/uniform_int_dist.h
313 (uniform_int_distribution::param_type): Likewise.
314 * include/ext/random (beta_distribution::param_type)
315 (rice_distribution::param_type, nakagami_distribution::param_type)
316 (pareto_distribution::param_type, k_distribution::param_type)
317 (arcsine_distribution::param_type, hoyt_distribution::param_type)
318 (triangular_distribution::param_type)
319 (von_mises_distribution::param_type)
320 (hypergeometric_distribution::param_type)
321 (logistic_distribution::param_type)
322 (uniform_on_sphere_distribution::param_type)
323 (uniform_inside_sphere_distribution::param_type): Likewise.
324 * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
325 Test construction with param_type.
326 * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
327 Likewise.
328 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
329 Likewise.
330 * testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc:
331 Likewise.
332 * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
333 Likewise.
334 * testsuite/26_numerics/random/extreme_value_distribution/cons/
335 parms.cc: Likewise.
336 * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
337 Likewise.
338 * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
339 Likewise.
340 * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
341 Likewise.
342 * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
343 Likewise.
344 * testsuite/26_numerics/random/negative_binomial_distribution/cons/
345 parms.cc: Likewise.
346 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
347 Likewise.
348 * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
349 Likewise.
350 * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
351 Likewise.
352 * testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc:
353 Likewise.
354 * testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc:
355 Likewise.
356 * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
357 Likewise.
358 * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
359 * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
360 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
361 * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
362 Likewise.
363 * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
364 * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
365 * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
366 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
367 * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
368 * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
369 * testsuite/ext/random/triangular_distribution/cons/parms.cc:
370 Likewise.
371 * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
372 parms.cc: Likewise.
373 * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
374
375 PR libstdc++/72792
376 * include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
377 (__allocator_traits_base::__size_type): Remove.
378 (allocator_traits::_Ptr): New class template to detect const and void
379 pointer types without instantiating pointer_traits::rebind
380 unnecessarily.
381 (allocator_traits::_Diff): Likewise for detecting difference_type.
382 (allocator_traits::_Size): New class template to detect size_type
383 without instantiating make_unsigned unnecessarily.
384 * include/bits/ptr_traits.h (pointer_traits::element_type): Use
385 __detected_or_t instead of __detected_or_t_.
386 * include/std/type_traits (__detected_or_t_): Remove.
387 * testsuite/20_util/allocator_traits/members/pointers.cc: New test.
388
389 PR libstdc++/72792
390 PR libstdc++/72793
391 * include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
392 Replace with class template using void_t.
393 (__alloc_rebind): Define in terms of
394 __allocator_traits_base::__rebind.
395 (allocator_traits): Remove unconditional static_assert for
396 rebind_alloc.
397 * include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
398 (pointer_traits::__rebind): Replace with class template using void_t.
399 (pointer_traits::rebind): Define in terms of __rebind.
400 (pointer_traits): Remove unconditional static_assert for rebind.
401 * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
402 * testsuite/20_util/pointer_traits/rebind.cc: New test.
403
404 PR libstdc++/69321
405 * include/experimental/any (__any_caster): Avoid instantiating
406 manager function for types that can't be stored in any.
407 * include/std/any (__any_caster): Likewise.
408 * testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type.
409 * testsuite/experimental/any/misc/any_cast.cc: Likewise.
410
411 PR libstdc++/64903
412 * include/bits/stl_algo.h (is_partitioned): Use increment instead of
413 std::advance.
414
415 2017-01-19 Jonathan Wakely <jwakely@redhat.com>
416
417 PR libstdc++/79156
418 * include/bits/shared_ptr_base.h (__enable_shared_from_this_base):
419 Fix return type.
420 (__enable_shared_from_this): Declare __shared_ptr as a friend.
421 * testsuite/ext/shared_ptr/1.cc: New test.
422
423 PR libstdc++/64903
424 * include/bits/stl_algo.h (is_partitioned): Don't retest the partition
425 point.
426 * testsuite/25_algorithms/is_partitioned/2.cc: New test.
427
428 * doc/xml/manual/abi.xml: Fix typo.
429 * doc/html/manual/abi.html: Likewise.
430
431 PR libstdc++/67085
432 * include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add
433 converting constructors from _Iter_less_iter.
434 (_Iter_comp_val, _Val_comp_iter): Add converting constructors from
435 _Iter_comp_iter.
436 (__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor.
437 (__val_comp_iter(_Iter_comp_iter<C>): Likewise.
438 * include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap)
439 (__make_heap, __sort_heap): Change _Compare parameters to references.
440 (__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap)
441 (__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison
442 functions as lvalues.
443 (is_heap): Call __is_heap_until directly to avoid copying __comp.
444 * testsuite/23_containers/priority_queue/67085.cc: Adjust test to
445 count copies during construction with empty sequence.
446
447 PR libstdc++/67085
448 * include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE.
449 (__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops.
450 * testsuite/23_containers/priority_queue/67085.cc: Adjust expected
451 number of copies.
452 * testsuite/25_algorithms/make_heap/movable.cc: New test.
453
454 PR libstdc++/67085
455 * include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap)
456 (pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use
457 _GLIBCXX_MOVE when passing comparison function to other functions.
458 (is_heap_until, is_heap): Use std::move when passing comparison
459 function.
460 * testsuite/23_containers/priority_queue/67085.cc: New test.
461
462 PR libstdc++/78905
463 * doc/xml/manual/abi.xml (abi.versioning.history): Add markup to
464 macro names, filenames, and literal values. Document _GLIBCXX_RELEASE.
465 Document that the deprecated _GLIBCXX_VERSION macro was removed for
466 the 4.0.0 release.
467 * doc/html/*: Regenerate.
468 * include/Makefile.am (_GLIBCXX_RELEASE): Set value.
469 * include/Makefile.in: Regenerate.
470 * include/bits/c++config (_GLIBCXX_RELEASE): Add #define.
471 * testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in
472 dg-error.
473
474 2017-01-18 Jonathan Wakely <jwakely@redhat.com>
475
476 PR libstdc++/69301
477 * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
478 aligned buffer instead of default-initialized variable.
479 * testsuite/29_atomics/atomic/69301.cc: New test.
480 * include/experimental/memory (observer_ptr::release): Use reserved
481 name.
482 * include/ext/pointer.h (_Pointer_adapter::operator++(int))
483 (_Pointer_adapter::operator--(int)): Likewise.
484
485 PR libstdc++/68925
486 * include/experimental/random (randint): Use temporary instead of
487 thread_local static.
488
489 2017-01-17 Joshua Conner <joshconner@google.com>
490
491 * crossconfig.m4: Add fuchsia OS.
492 * configure: Regenerate.
493
494 2017-01-17 Jonathan Wakely <jwakely@redhat.com>
495
496 PR libstdc++/69699
497 * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
498 __GLIBCXX__ macro is not useful. Remove redundant date information
499 and link to the GCC release timeline.
500 (abi.versioning.active): Move partial sentence into the previous
501 paragraph.
502 * doc/html/*: Regenerate.
503
504 PR libstdc++/79114
505 * libsupc++/nested_exception.h (throw_with_nested): Use decay instead
506 of remove_reference.
507 * testsuite/18_support/nested_exception/79114.cc: New test.
508
509 2017-01-17 Jakub Jelinek <jakub@redhat.com>
510
511 PR other/79046
512 * configure.ac: Add GCC_BASE_VER.
513 * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
514 get version from BASE-VER file.
515 * po/Makefile.in: Regenerated.
516 * libsupc++/Makefile.in: Regenerated.
517 * testsuite/Makefile.in: Regenerated.
518 * src/Makefile.in: Regenerated.
519 * configure: Regenerated.
520 * Makefile.in: Regenerated.
521 * include/Makefile.in: Regenerated.
522 * doc/Makefile.in: Regenerated.
523 * python/Makefile.in: Regenerated.
524 * src/c++11/Makefile.in: Regenerated.
525 * src/c++98/Makefile.in: Regenerated.
526 * src/filesystem/Makefile.in: Regenerated.
527
528 2017-01-16 Jonathan Wakely <jwakely@redhat.com>
529
530 PR libstdc++/66145
531 * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure
532 exceptions.
533 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI
534 for test, so new ios::failure can be caught.
535 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
536 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
537 exceptions_failbit.cc: Likewise.
538 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
539 exceptions_failbit.cc: Likewise.
540 * testsuite/27_io/basic_istream/extractors_other/char/
541 exceptions_null.cc: Likewise.
542 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
543 exceptions_null.cc: Likewise.
544 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
545 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
546 * testsuite/27_io/basic_ostream/inserters_other/char/
547 exceptions_null.cc: Likewise.
548 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
549 exceptions_null.cc: Likewise.
550 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
551
552 PR libstdc++/78702
553 * include/bits/locale_classes.h (locale::facet::__shim): Change from
554 private to protected.
555 * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
556 make locale::facet::__shim accessible.
557
558 2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com>
559
560 PR libstdc++/78389
561 * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
562 (merge(list&&, _StrictWeakOrdering)): Likewise.
563 * testsuite/23_containers/list/operations/78389.cc: Add
564 better test for the sizes.
565
566 2017-01-14 Jonathan Wakely <jwakely@redhat.com>
567
568 * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
569 Skip test when -D_GLIBCXX_PROFILE mode is included in options.
570 * testsuite/23_containers/map/modifiers/extract.cc: Likewise.
571 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
572 Likewise.
573 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
574 * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
575 * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
576 * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
577 * testsuite/23_containers/unordered_map/modifiers/extract.cc:
578 Likewise.
579 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc::
580 Likewise.
581 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc::
582 Likewise.
583 * testsuite/23_containers/unordered_set/modifiers/extract.cc:
584 Likewise.
585 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
586 Likewise.
587 * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
588 * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
589 * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
590 * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
591 * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
592 * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
593 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
594 * testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
595 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
596 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
597 * testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
598 * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
599 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
600
601 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
602
603 PR libstdc++/65411
604 * config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't
605 retry fclose on EINTR.
606
607 * include/profile/base.h: Remove unused header that leads to header
608 cycle in C++17 mode.
609
610 PR libstdc++/79075
611 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
612 Make _If_sv private.
613 [!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking
614 basic_string_view arguments.
615
616 PR libstdc++/79075
617 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
618 redundant option from cxxflags.
619 (check_effective_target_cxx11-abi): Define.
620 * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
621 effective target.
622 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
623 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
624 Likewise.
625 * testsuite/21_strings/basic_string/allocator/char/minimal.cc:
626 Likewise.
627 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
628 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
629 Likewise.
630 * testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
631 Likewise.
632 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
633 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
634 Likewise.
635 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
636 Likewise.
637 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
638 Likewise.
639 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
640 Likewise.
641 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
642 Likewise.
643 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
644 Likewise.
645 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
646 Likewise.
647 * testsuite/23_containers/list/61347.cc: Likewise.
648 * testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
649 * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
650
651 2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com>
652
653 PR libstdc++/78389
654 * include/bits/list.tcc (merge(list&&)):
655 Adjust list sizes if the comparator throws.
656 (merge(list&&, _StrictWeakOrdering)): Likewise.
657 (sort()): Splice elements back from the scratch buffers
658 if the comparator throws.
659 (sort(_StrictWeakOrdering)): Likewise.
660 * testsuite/23_containers/list/operations/78389.cc: New.
661
662 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
663
664 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
665 XFAIL for C++17 until node reinsertion supports fancy pointers.
666
667 PR libstdc++/78361
668 * testsuite/20_util/add_pointer/value.cc: Test forming function
669 pointers.
670
671 2017-01-13 Michael Brune <lucdanton@free.fr>
672
673 PR libstdc++/78361
674 * include/std/type_traits (__is_referenceable): Handle noexcept
675 function types.
676
677 2017-01-12 Jonathan Wakely <jwakely@redhat.com>
678
679 PR libstdc++/77528
680 * include/bits/stl_queue.h (queue, priority_queue): Remove default
681 member-initializers and define default constructors as templates with
682 constraints.
683 * include/bits/stl_stack.h (stack): Likewise.
684 * testsuite/23_containers/priority_queue/requirements/constructible.cc:
685 New.
686 * testsuite/23_containers/priority_queue/requirements/
687 explicit_instantiation/1.cc: Test more instantiations.
688 * testsuite/23_containers/priority_queue/requirements/
689 explicit_instantiation/1_c++98.cc: Likewise.
690 * testsuite/23_containers/queue/requirements/constructible.cc: New.
691 * testsuite/23_containers/stack/requirements/constructible.cc: New.
692
693 PR libstdc++/66284
694 * doc/xml/manual/intro.xml: Document LWG 2781 change.
695 * doc/html/*: Regenerate.
696 * include/std/functional (_Function_base::_Ref_manager): Remove.
697 (_Function_handler): Remove partial specializations for
698 reference_wrapper.
699 (function::target): Remove special case for const qualification.
700 * testsuite/20_util/function/6.cc: Adjust tests for target type.
701 * testsuite/20_util/function/7.cc: Likewise.
702 * testsuite/20_util/function/8.cc: Likewise.
703
704 2017-01-11 Jonathan Wakely <jwakely@redhat.com>
705
706 PR libstdc++/78134
707 * include/bits/stl_map.h (map::lower_bound, map::upper_bound)
708 (map::equal_range): Fix return type of heterogeneous overloads.
709 * include/bits/stl_multimap.h (multimap::lower_bound)
710 (multimap::upper_bound, multimap::equal_range): Likewise.
711 * include/bits/stl_multiset.h (multiset::lower_bound)
712 (multiset::upper_bound, multiset::equal_range): Likewise.
713 * include/bits/stl_set.h (set::lower_bound, set::upper_bound)
714 (set::equal_range): Likewise.
715 * testsuite/23_containers/map/operations/2.cc
716 * testsuite/23_containers/multimap/operations/2.cc
717 * testsuite/23_containers/multiset/operations/2.cc
718 * testsuite/23_containers/set/operations/2.cc
719
720 PR libstdc++/78273
721 * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
722 the heterogeneous comparison can only find one match.
723 * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
724 * testsuite/23_containers/map/operations/2.cc: Test count works with
725 comparison function that just partitions rather than sorting.
726 * testsuite/23_containers/set/operations/2.cc: Likewise.
727
728 2017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com>
729
730 Reduce the size of variant, it doesn't need an index of
731 type size_t internally.
732 * include/std/variant (parse_numbers.h): New include.
733 (__select_index): New.
734 (_Variant_storage<false, _Types...>::_M_reset_impl): Use
735 _index_type for comparison with variant_npos.
736 (_Variant_storage<false, _Types...>::__index_type): New.
737 (_Variant_storage<false, _Types...>::_M_index): Change the
738 type from size_t to __index_type.
739 (_Variant_storage<true, _Types...>::__index_type): New.
740 (_Variant_storage<true, _Types...>::_M_index): Change the
741 type from size_t to __index_type.
742 (_Variant_base::_M_valid): Use _Storage::__index_type
743 for comparison with variant_npos.
744 (variant::index): Use _Base::_Storage::__index_type
745 for comparison with variant_npos.
746 * testsuite/20_util/variant/index_type.cc: New.
747
748 2017-01-10 Jonathan Wakely <jwakely@redhat.com>
749
750 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
751 effective target selector to prevent running in C++17 mode.
752
753 PR libstdc++/77528
754 * include/bits/stl_queue.h (queue::c): Add default member initializer.
755 (queue::queue()): Add constructor and define as defaulted.
756 (queue::queue(_Sequence&&)): Remove default argument.
757 (priority_queue::c, priority_queue::comp): Add default member
758 initializers.
759 (priority_queue::priority_queue()): Add constructor and define as
760 defaulted.
761 (priority_queue::priority_queue(const _Compare&, _Sequence&&)):
762 Remove default argument for first parameter.
763 * include/bits/stl_stack.h (stack::c): Add default member initializer.
764 (stack::stack()): Add constructor and define as defaulted.
765 (stack::stack(const _Sequence&)): Remove default argument.
766 * testsuite/23_containers/priority_queue/requirements/
767 explicit_instantiation/1.cc: Test explicit instantiation with
768 non-DefaultConstructible sequence.
769 * testsuite/23_containers/priority_queue/77528.cc: New test.
770 * testsuite/23_containers/priority_queue/requirements/
771 explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
772 * testsuite/23_containers/queue/77528.cc: New test.
773 * testsuite/23_containers/queue/requirements/explicit_instantiation/
774 1.cc: Test explicit instantiation with non-DefaultConstructible
775 sequence.
776 * testsuite/23_containers/queue/requirements/explicit_instantiation/
777 1_c++0x.cc: Replace with 1_c++98.cc.
778 * testsuite/23_containers/stack/77528.cc: New test.
779 * testsuite/23_containers/stack/requirements/explicit_instantiation/
780 1.cc: Test explicit instantiation with non-DefaultConstructible
781 sequence.
782 * testsuite/23_containers/stack/requirements/explicit_instantiation/
783 1_c++0x.cc: Replace with 1_c++98.cc.
784
785 2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
786
787 * include/bits/locale_facets_nonio.tcc
788 (time_get::_M_extract_via_format): Avoid compilation errors with
789 non-standard struct tm.
790
791 2017-01-10 François Dumont <fdumont@gcc.gnu.org>
792 Jonathan Wakely <jwakely@redhat.com>
793
794 * python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
795 (is_specialization, strip_versioned_namespace): New helpers functions
796 to work with symbols in the versioned namespace.
797 (Printer.add_version): Add second name using versioned namespace.
798 (add_one_template_type_printer, add_one_type_printer): Add second
799 type printers using versioned namespace.
800 (register_type_printers): Add template type printer for basic_string.
801 (build_libstdcxx_dictionary): Remove dead code.
802 * python/libstdcxx/v6/xmethods.py: Make all matchers look for
803 versioned namespace.
804 * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
805 results.
806 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
807
808 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
809
810 PR libstdc++/79017
811 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
812 functions separately on darwin and if they're missing define
813 _GLIBCXX_NO_C99_ROUNDING_FUNCS.
814 * config.h.in: Regenerate.
815 * configure: Regenerate.
816 * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
817 (llrintf, llrintl, llround, llroundf, llroundl): Do not define.
818
819 * testsuite/30_threads/condition_variable/members/3.cc: Use new macro
820 to detect correct thread_local destructors.
821 * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
822 Define.
823
824 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
825 Aditya Kumar <hiraditya@msn.com>
826
827 PR libstdc++/66414
828 * include/bits/basic_string.tcc
829 (basic_string::find(const CharT*, size_type, size_type)): Optimize.
830
831 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
832
833 * testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
834 * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
835
836 * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
837 Include <cassert> header.
838
839 PR libstdc++/78968
840 * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
841 * configure: Regenerate.
842
843 2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
844 Jonathan Wakely <jwakely@redhat.com>
845
846 * include/std/variant (variant, swap): Replace __and_ usage with fold
847 expressions.
848
849 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
850
851 PR go/78978
852 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
853 * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
854 GLIBCXX_CHECK_ASSEMBLER_HWCAP.
855 * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
856 HWCAP_FLAGS.
857 * aclocal.m4: Regenerate.
858 * configure: Regenerate.
859 * Makefile.in, doc/Makefile.in, include/Makefile.in,
860 libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
861 src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
862 src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
863
864 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
865
866 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
867
868 PR libstdc++/78991
869 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
870 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
871 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
872 move function objects.
873 (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
874 (__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
875 * testsuite/25_algorithms/sort/78991.cc: New test.
876
877 2017-01-05 Jonathan Wakely <jwakely@redhat.com>
878
879 * include/bits/std_function.h (function::_Signature_type): Remove.
880 (function::function(_Functor)): Adjust.
881
882 2017-01-05 Tim Shen <timshen@google.com>
883
884 PR libstdc++/78996
885 * include/std/variant (__gen_vtable_impl): rename __unused to
886 __dimensions to avoid naming conflict.
887
888 2017-01-04 Jonathan Wakely <jwakely@redhat.com>
889
890 PR libstdc++/78968
891 * config.h.in: Regenerate.
892 * configure: Likewise.
893 * configure.ac: Check for __cxa_thread_atexit.
894 * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
895 Don't define __cxa_thread_atexit if libc provides it.
896
897 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
898
899 Implement 2801, Default-constructibility of unique_ptr.
900 * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
901 (unique_ptr::_DeleterConstraint): Likewise.
902 (unique_ptr()): Constrain.
903 (unique_ptr(pointer)): Likewise.
904 (unique_ptr(nullptr_t)): Likewise.
905 (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
906 (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
907 (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
908 (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
909 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
910 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
911 * testsuite/20_util/unique_ptr/cons/default.cc: New.
912 * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
913
914 2017-01-04 Pauli Nieminen <suokkos@gmail.com>
915 Jonathan Wakely <jwakely@redhat.com>
916
917 PR libstdc++/64735
918 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
919 * config.h.in: Regenerate.
920 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
921 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
922 exports for exception_ptr, nested_exception, and future conditional.
923 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
924 exports for exception_ptr, nested_exception, and future conditional.
925 * configure: Regenerate.
926 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
927 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
928 * libsupc++/eh_atomics.h: New file for internal use only.
929 (__eh_atomic_inc, __eh_atomic_dec): New.
930 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
931 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
932 (rethrow_exception): Use eh_atomics.h reference counting helpers.
933 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
934 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
935 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
936 * libsupc++/exception_ptr.h: Likewise.
937 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
938 * libsupc++/nested_exception.cc: Remove check for
939 ATOMIC_INT_LOCK_FREE.
940 * libsupc++/nested_exception.h: Likewise.
941 * src/c++11/future.cc: Likewise.
942 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
943 * testsuite/18_support/nested_exception/*: Likewise.
944 * testsuite/30_threads/async/*: Likewise.
945 * testsuite/30_threads/future/*: Likewise.
946 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
947 * testsuite/30_threads/packaged_task/*: Likewise.
948 * testsuite/30_threads/promise/*: Likewise.
949 * testsuite/30_threads/shared_future/*: Likewise.
950
951 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
952
953 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
954 defaults to https; adjust reference.
955
956 2017-01-03 Jonathan Wakely <jwakely@redhat.com>
957
958 PR libstdc++/78956
959 * include/std/thread (thread(const thread&&)): Add deleted
960 constructor.
961 * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
962
963 * doc/xml/manual/spine.xml: Update copyright years.
964 * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
965 * doc/xml/manual/test.xml: Likewise.
966 * doc/html/*: Regenerate.
967
968 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
969
970 * doc/xml/faq.xml: Update address of C++ ABI link.
971 * doc/xml/manual/abi.xml: Ditto.
972
973 2017-01-01 Jakub Jelinek <jakub@redhat.com>
974
975 Update copyright years.
976 \f
977 Copyright (C) 2017 Free Software Foundation, Inc.
978
979 Copying and distribution of this file, with or without modification,
980 are permitted in any medium without royalty provided the copyright
981 notice and this notice are preserved.