Fix unsafe moves inside loops
[gcc.git] / libstdc++-v3 / ChangeLog
1 2017-01-19 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/67085
4 * include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE.
5 (__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops.
6 * testsuite/23_containers/priority_queue/67085.cc: Adjust expected
7 number of copies.
8 * testsuite/25_algorithms/make_heap/movable.cc: New test.
9
10 PR libstdc++/67085
11 * include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap)
12 (pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use
13 _GLIBCXX_MOVE when passing comparison function to other functions.
14 (is_heap_until, is_heap): Use std::move when passing comparison
15 function.
16 * testsuite/23_containers/priority_queue/67085.cc: New test.
17
18 PR libstdc++/78905
19 * doc/xml/manual/abi.xml (abi.versioning.history): Add markup to
20 macro names, filenames, and literal values. Document _GLIBCXX_RELEASE.
21 Document that the deprecated _GLIBCXX_VERSION macro was removed for
22 the 4.0.0 release.
23 * doc/html/*: Regenerate.
24 * include/Makefile.am (_GLIBCXX_RELEASE): Set value.
25 * include/Makefile.in: Regenerate.
26 * include/bits/c++config (_GLIBCXX_RELEASE): Add #define.
27 * testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in
28 dg-error.
29
30 2017-01-18 Jonathan Wakely <jwakely@redhat.com>
31
32 PR libstdc++/69301
33 * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
34 aligned buffer instead of default-initialized variable.
35 * testsuite/29_atomics/atomic/69301.cc: New test.
36 * include/experimental/memory (observer_ptr::release): Use reserved
37 name.
38 * include/ext/pointer.h (_Pointer_adapter::operator++(int))
39 (_Pointer_adapter::operator--(int)): Likewise.
40
41 PR libstdc++/68925
42 * include/experimental/random (randint): Use temporary instead of
43 thread_local static.
44
45 2017-01-17 Joshua Conner <joshconner@google.com>
46
47 * crossconfig.m4: Add fuchsia OS.
48 * configure: Regenerate.
49
50 2017-01-17 Jonathan Wakely <jwakely@redhat.com>
51
52 PR libstdc++/69699
53 * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
54 __GLIBCXX__ macro is not useful. Remove redundant date information
55 and link to the GCC release timeline.
56 (abi.versioning.active): Move partial sentence into the previous
57 paragraph.
58 * doc/html/*: Regenerate.
59
60 PR libstdc++/79114
61 * libsupc++/nested_exception.h (throw_with_nested): Use decay instead
62 of remove_reference.
63 * testsuite/18_support/nested_exception/79114.cc: New test.
64
65 2017-01-17 Jakub Jelinek <jakub@redhat.com>
66
67 PR other/79046
68 * configure.ac: Add GCC_BASE_VER.
69 * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
70 get version from BASE-VER file.
71 * po/Makefile.in: Regenerated.
72 * libsupc++/Makefile.in: Regenerated.
73 * testsuite/Makefile.in: Regenerated.
74 * src/Makefile.in: Regenerated.
75 * configure: Regenerated.
76 * Makefile.in: Regenerated.
77 * include/Makefile.in: Regenerated.
78 * doc/Makefile.in: Regenerated.
79 * python/Makefile.in: Regenerated.
80 * src/c++11/Makefile.in: Regenerated.
81 * src/c++98/Makefile.in: Regenerated.
82 * src/filesystem/Makefile.in: Regenerated.
83
84 2017-01-16 Jonathan Wakely <jwakely@redhat.com>
85
86 PR libstdc++/66145
87 * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure
88 exceptions.
89 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI
90 for test, so new ios::failure can be caught.
91 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
92 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
93 exceptions_failbit.cc: Likewise.
94 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
95 exceptions_failbit.cc: Likewise.
96 * testsuite/27_io/basic_istream/extractors_other/char/
97 exceptions_null.cc: Likewise.
98 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
99 exceptions_null.cc: Likewise.
100 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
101 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
102 * testsuite/27_io/basic_ostream/inserters_other/char/
103 exceptions_null.cc: Likewise.
104 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
105 exceptions_null.cc: Likewise.
106 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
107
108 PR libstdc++/78702
109 * include/bits/locale_classes.h (locale::facet::__shim): Change from
110 private to protected.
111 * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
112 make locale::facet::__shim accessible.
113
114 2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com>
115
116 PR libstdc++/78389
117 * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
118 (merge(list&&, _StrictWeakOrdering)): Likewise.
119 * testsuite/23_containers/list/operations/78389.cc: Add
120 better test for the sizes.
121
122 2017-01-14 Jonathan Wakely <jwakely@redhat.com>
123
124 * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
125 Skip test when -D_GLIBCXX_PROFILE mode is included in options.
126 * testsuite/23_containers/map/modifiers/extract.cc: Likewise.
127 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
128 Likewise.
129 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
130 * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
131 * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
132 * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
133 * testsuite/23_containers/unordered_map/modifiers/extract.cc:
134 Likewise.
135 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc::
136 Likewise.
137 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc::
138 Likewise.
139 * testsuite/23_containers/unordered_set/modifiers/extract.cc:
140 Likewise.
141 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
142 Likewise.
143 * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
144 * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
145 * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
146 * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
147 * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
148 * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
149 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
150 * testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
151 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
152 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
153 * testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
154 * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
155 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
156
157 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
158
159 PR libstdc++/65411
160 * config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't
161 retry fclose on EINTR.
162
163 * include/profile/base.h: Remove unused header that leads to header
164 cycle in C++17 mode.
165
166 PR libstdc++/79075
167 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
168 Make _If_sv private.
169 [!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking
170 basic_string_view arguments.
171
172 PR libstdc++/79075
173 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
174 redundant option from cxxflags.
175 (check_effective_target_cxx11-abi): Define.
176 * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
177 effective target.
178 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
179 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
180 Likewise.
181 * testsuite/21_strings/basic_string/allocator/char/minimal.cc:
182 Likewise.
183 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
184 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
185 Likewise.
186 * testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
187 Likewise.
188 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
189 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
190 Likewise.
191 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
192 Likewise.
193 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
194 Likewise.
195 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
196 Likewise.
197 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
198 Likewise.
199 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
200 Likewise.
201 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
202 Likewise.
203 * testsuite/23_containers/list/61347.cc: Likewise.
204 * testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
205 * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
206
207 2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com>
208
209 PR libstdc++/78389
210 * include/bits/list.tcc (merge(list&&)):
211 Adjust list sizes if the comparator throws.
212 (merge(list&&, _StrictWeakOrdering)): Likewise.
213 (sort()): Splice elements back from the scratch buffers
214 if the comparator throws.
215 (sort(_StrictWeakOrdering)): Likewise.
216 * testsuite/23_containers/list/operations/78389.cc: New.
217
218 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
219
220 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
221 XFAIL for C++17 until node reinsertion supports fancy pointers.
222
223 PR libstdc++/78361
224 * testsuite/20_util/add_pointer/value.cc: Test forming function
225 pointers.
226
227 2017-01-13 Michael Brune <lucdanton@free.fr>
228
229 PR libstdc++/78361
230 * include/std/type_traits (__is_referenceable): Handle noexcept
231 function types.
232
233 2017-01-12 Jonathan Wakely <jwakely@redhat.com>
234
235 PR libstdc++/77528
236 * include/bits/stl_queue.h (queue, priority_queue): Remove default
237 member-initializers and define default constructors as templates with
238 constraints.
239 * include/bits/stl_stack.h (stack): Likewise.
240 * testsuite/23_containers/priority_queue/requirements/constructible.cc:
241 New.
242 * testsuite/23_containers/priority_queue/requirements/
243 explicit_instantiation/1.cc: Test more instantiations.
244 * testsuite/23_containers/priority_queue/requirements/
245 explicit_instantiation/1_c++98.cc: Likewise.
246 * testsuite/23_containers/queue/requirements/constructible.cc: New.
247 * testsuite/23_containers/stack/requirements/constructible.cc: New.
248
249 PR libstdc++/66284
250 * doc/xml/manual/intro.xml: Document LWG 2781 change.
251 * doc/html/*: Regenerate.
252 * include/std/functional (_Function_base::_Ref_manager): Remove.
253 (_Function_handler): Remove partial specializations for
254 reference_wrapper.
255 (function::target): Remove special case for const qualification.
256 * testsuite/20_util/function/6.cc: Adjust tests for target type.
257 * testsuite/20_util/function/7.cc: Likewise.
258 * testsuite/20_util/function/8.cc: Likewise.
259
260 2017-01-11 Jonathan Wakely <jwakely@redhat.com>
261
262 PR libstdc++/78134
263 * include/bits/stl_map.h (map::lower_bound, map::upper_bound)
264 (map::equal_range): Fix return type of heterogeneous overloads.
265 * include/bits/stl_multimap.h (multimap::lower_bound)
266 (multimap::upper_bound, multimap::equal_range): Likewise.
267 * include/bits/stl_multiset.h (multiset::lower_bound)
268 (multiset::upper_bound, multiset::equal_range): Likewise.
269 * include/bits/stl_set.h (set::lower_bound, set::upper_bound)
270 (set::equal_range): Likewise.
271 * testsuite/23_containers/map/operations/2.cc
272 * testsuite/23_containers/multimap/operations/2.cc
273 * testsuite/23_containers/multiset/operations/2.cc
274 * testsuite/23_containers/set/operations/2.cc
275
276 PR libstdc++/78273
277 * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
278 the heterogeneous comparison can only find one match.
279 * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
280 * testsuite/23_containers/map/operations/2.cc: Test count works with
281 comparison function that just partitions rather than sorting.
282 * testsuite/23_containers/set/operations/2.cc: Likewise.
283
284 2017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com>
285
286 Reduce the size of variant, it doesn't need an index of
287 type size_t internally.
288 * include/std/variant (parse_numbers.h): New include.
289 (__select_index): New.
290 (_Variant_storage<false, _Types...>::_M_reset_impl): Use
291 _index_type for comparison with variant_npos.
292 (_Variant_storage<false, _Types...>::__index_type): New.
293 (_Variant_storage<false, _Types...>::_M_index): Change the
294 type from size_t to __index_type.
295 (_Variant_storage<true, _Types...>::__index_type): New.
296 (_Variant_storage<true, _Types...>::_M_index): Change the
297 type from size_t to __index_type.
298 (_Variant_base::_M_valid): Use _Storage::__index_type
299 for comparison with variant_npos.
300 (variant::index): Use _Base::_Storage::__index_type
301 for comparison with variant_npos.
302 * testsuite/20_util/variant/index_type.cc: New.
303
304 2017-01-10 Jonathan Wakely <jwakely@redhat.com>
305
306 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
307 effective target selector to prevent running in C++17 mode.
308
309 PR libstdc++/77528
310 * include/bits/stl_queue.h (queue::c): Add default member initializer.
311 (queue::queue()): Add constructor and define as defaulted.
312 (queue::queue(_Sequence&&)): Remove default argument.
313 (priority_queue::c, priority_queue::comp): Add default member
314 initializers.
315 (priority_queue::priority_queue()): Add constructor and define as
316 defaulted.
317 (priority_queue::priority_queue(const _Compare&, _Sequence&&)):
318 Remove default argument for first parameter.
319 * include/bits/stl_stack.h (stack::c): Add default member initializer.
320 (stack::stack()): Add constructor and define as defaulted.
321 (stack::stack(const _Sequence&)): Remove default argument.
322 * testsuite/23_containers/priority_queue/requirements/
323 explicit_instantiation/1.cc: Test explicit instantiation with
324 non-DefaultConstructible sequence.
325 * testsuite/23_containers/priority_queue/77528.cc: New test.
326 * testsuite/23_containers/priority_queue/requirements/
327 explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
328 * testsuite/23_containers/queue/77528.cc: New test.
329 * testsuite/23_containers/queue/requirements/explicit_instantiation/
330 1.cc: Test explicit instantiation with non-DefaultConstructible
331 sequence.
332 * testsuite/23_containers/queue/requirements/explicit_instantiation/
333 1_c++0x.cc: Replace with 1_c++98.cc.
334 * testsuite/23_containers/stack/77528.cc: New test.
335 * testsuite/23_containers/stack/requirements/explicit_instantiation/
336 1.cc: Test explicit instantiation with non-DefaultConstructible
337 sequence.
338 * testsuite/23_containers/stack/requirements/explicit_instantiation/
339 1_c++0x.cc: Replace with 1_c++98.cc.
340
341 2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
342
343 * include/bits/locale_facets_nonio.tcc
344 (time_get::_M_extract_via_format): Avoid compilation errors with
345 non-standard struct tm.
346
347 2017-01-10 François Dumont <fdumont@gcc.gnu.org>
348 Jonathan Wakely <jwakely@redhat.com>
349
350 * python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
351 (is_specialization, strip_versioned_namespace): New helpers functions
352 to work with symbols in the versioned namespace.
353 (Printer.add_version): Add second name using versioned namespace.
354 (add_one_template_type_printer, add_one_type_printer): Add second
355 type printers using versioned namespace.
356 (register_type_printers): Add template type printer for basic_string.
357 (build_libstdcxx_dictionary): Remove dead code.
358 * python/libstdcxx/v6/xmethods.py: Make all matchers look for
359 versioned namespace.
360 * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
361 results.
362 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
363
364 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
365
366 PR libstdc++/79017
367 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
368 functions separately on darwin and if they're missing define
369 _GLIBCXX_NO_C99_ROUNDING_FUNCS.
370 * config.h.in: Regenerate.
371 * configure: Regenerate.
372 * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
373 (llrintf, llrintl, llround, llroundf, llroundl): Do not define.
374
375 * testsuite/30_threads/condition_variable/members/3.cc: Use new macro
376 to detect correct thread_local destructors.
377 * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
378 Define.
379
380 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
381 Aditya Kumar <hiraditya@msn.com>
382
383 PR libstdc++/66414
384 * include/bits/basic_string.tcc
385 (basic_string::find(const CharT*, size_type, size_type)): Optimize.
386
387 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
388
389 * testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
390 * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
391
392 * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
393 Include <cassert> header.
394
395 PR libstdc++/78968
396 * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
397 * configure: Regenerate.
398
399 2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
400 Jonathan Wakely <jwakely@redhat.com>
401
402 * include/std/variant (variant, swap): Replace __and_ usage with fold
403 expressions.
404
405 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
406
407 PR go/78978
408 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
409 * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
410 GLIBCXX_CHECK_ASSEMBLER_HWCAP.
411 * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
412 HWCAP_FLAGS.
413 * aclocal.m4: Regenerate.
414 * configure: Regenerate.
415 * Makefile.in, doc/Makefile.in, include/Makefile.in,
416 libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
417 src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
418 src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
419
420 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
421
422 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
423
424 PR libstdc++/78991
425 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
426 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
427 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
428 move function objects.
429 (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
430 (__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
431 * testsuite/25_algorithms/sort/78991.cc: New test.
432
433 2017-01-05 Jonathan Wakely <jwakely@redhat.com>
434
435 * include/bits/std_function.h (function::_Signature_type): Remove.
436 (function::function(_Functor)): Adjust.
437
438 2017-01-05 Tim Shen <timshen@google.com>
439
440 PR libstdc++/78996
441 * include/std/variant (__gen_vtable_impl): rename __unused to
442 __dimensions to avoid naming conflict.
443
444 2017-01-04 Jonathan Wakely <jwakely@redhat.com>
445
446 PR libstdc++/78968
447 * config.h.in: Regenerate.
448 * configure: Likewise.
449 * configure.ac: Check for __cxa_thread_atexit.
450 * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
451 Don't define __cxa_thread_atexit if libc provides it.
452
453 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
454
455 Implement 2801, Default-constructibility of unique_ptr.
456 * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
457 (unique_ptr::_DeleterConstraint): Likewise.
458 (unique_ptr()): Constrain.
459 (unique_ptr(pointer)): Likewise.
460 (unique_ptr(nullptr_t)): Likewise.
461 (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
462 (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
463 (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
464 (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
465 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
466 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
467 * testsuite/20_util/unique_ptr/cons/default.cc: New.
468 * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
469
470 2017-01-04 Pauli Nieminen <suokkos@gmail.com>
471 Jonathan Wakely <jwakely@redhat.com>
472
473 PR libstdc++/64735
474 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
475 * config.h.in: Regenerate.
476 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
477 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
478 exports for exception_ptr, nested_exception, and future conditional.
479 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
480 exports for exception_ptr, nested_exception, and future conditional.
481 * configure: Regenerate.
482 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
483 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
484 * libsupc++/eh_atomics.h: New file for internal use only.
485 (__eh_atomic_inc, __eh_atomic_dec): New.
486 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
487 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
488 (rethrow_exception): Use eh_atomics.h reference counting helpers.
489 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
490 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
491 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
492 * libsupc++/exception_ptr.h: Likewise.
493 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
494 * libsupc++/nested_exception.cc: Remove check for
495 ATOMIC_INT_LOCK_FREE.
496 * libsupc++/nested_exception.h: Likewise.
497 * src/c++11/future.cc: Likewise.
498 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
499 * testsuite/18_support/nested_exception/*: Likewise.
500 * testsuite/30_threads/async/*: Likewise.
501 * testsuite/30_threads/future/*: Likewise.
502 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
503 * testsuite/30_threads/packaged_task/*: Likewise.
504 * testsuite/30_threads/promise/*: Likewise.
505 * testsuite/30_threads/shared_future/*: Likewise.
506
507 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
508
509 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
510 defaults to https; adjust reference.
511
512 2017-01-03 Jonathan Wakely <jwakely@redhat.com>
513
514 PR libstdc++/78956
515 * include/std/thread (thread(const thread&&)): Add deleted
516 constructor.
517 * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
518
519 * doc/xml/manual/spine.xml: Update copyright years.
520 * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
521 * doc/xml/manual/test.xml: Likewise.
522 * doc/html/*: Regenerate.
523
524 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
525
526 * doc/xml/faq.xml: Update address of C++ ABI link.
527 * doc/xml/manual/abi.xml: Ditto.
528
529 2017-01-01 Jakub Jelinek <jakub@redhat.com>
530
531 Update copyright years.
532 \f
533 Copyright (C) 2017 Free Software Foundation, Inc.
534
535 Copying and distribution of this file, with or without modification,
536 are permitted in any medium without royalty provided the copyright
537 notice and this notice are preserved.