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