gcc-git-customization.sh: Avoid double expansion
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobd99c1bbdabcd8ce84cf53b2cb05ad94fde82e646
1 2020-01-16  François Dumont  <fdumont@gcc.gnu.org>
3         PR libstdc++/91263
4         * include/bits/hashtable.h (_Hashtable<>): Make _Equality<> friend.
5         * include/bits/hashtable_policy.h: Include <bits/stl_algo.h>.
6         (_Equality_base): Remove.
7         (_Equality<>::_M_equal): Review implementation. Use
8         std::is_permutation.
9         * testsuite/23_containers/unordered_multiset/operators/1.cc
10         (Hash, Equal, test02, test03): New.
11         * testsuite/23_containers/unordered_set/operators/1.cc
12         (Hash, Equal, test02, test03): New.
14 2020-01-15  Jonathan Wakely  <jwakely@redhat.com>
16         PR libstdc++/93267
17         * include/bits/iterator_concepts.h (__max_diff_type, __max_size_type):
18         Move here from <bits/range_access.h> and define using __int128 when
19         available.
20         (__is_integer_like, __is_signed_integer_like): Move here from
21         <bits/range_access.h>.
22         (weakly_incrementable): Use __is_signed_integer_like.
23         * include/bits/range_access.h (__max_diff_type, __max_size_type)
24         (__is_integer_like, __is_signed_integer_like): Move to
25         <bits/iterator_concepts.h>.
26         (__make_unsigned_like_t): Move here from <ranges>.
27         * include/std/ranges (__make_unsigned_like_t): Move to
28         <bits/range_access.h>.
29         (iota_view): Replace using-directive with using-declarations.
30         * testsuite/std/ranges/iota/93267.cc: New test.
31         * testsuite/std/ranges/iota_view.cc: Move to new 'iota' sub-directory.
33 2020-01-13  Jonathan Wakely  <jwakely@redhat.com>
35         PR libstdc++/93244
36         * include/bits/fs_path.h (path::generic_string<C,A>)
37         [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Convert root-dir to forward-slash.
38         * testsuite/27_io/filesystem/path/generic/generic_string.cc: Check
39         root-dir is converted to forward slash in generic pathname.
40         * testsuite/27_io/filesystem/path/generic/utf.cc: New test.
41         * testsuite/27_io/filesystem/path/generic/wchar_t.cc: New test.
43         PR libstdc++/58605
44         * include/bits/atomic_base.h (__cpp_lib_atomic_value_initialization):
45         Define.
46         (__atomic_flag_base, __atomic_base, __atomic_base<_PTp*>)
47         (__atomic_float): Add default member initializer for C++20.
48         * include/std/atomic (atomic): Likewise.
49         (atomic::atomic()): Remove noexcept-specifier on default constructor.
50         * include/std/version (__cpp_lib_atomic_value_initialization): Define.
51         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error line
52         number.
53         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
54         * testsuite/29_atomics/atomic/cons/value_init.cc: New test.
55         * testsuite/29_atomics/atomic_flag/cons/value_init.cc: New test.
56         * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Adjust
57         expected result for is_trivially_default_constructible.
58         * testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
59         * testsuite/29_atomics/atomic_float/value_init.cc: New test.
60         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
61         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
62         * testsuite/29_atomics/atomic_integral/cons/value_init.cc
63         * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Adjust
64         expected results for is_trivially_default_constructible.
65         * testsuite/util/testsuite_common_types.h (has_trivial_dtor): Add
66         new test generator.
68 2020-01-10  Jonathan Wakely  <jwakely@redhat.com>
70         * testsuite/util/testsuite_iterators.h: Improve comment.
72         * testsuite/25_algorithms/equal/deque_iterators/1.cc: Don't use C++11
73         initialization syntax.
75         PR libstdc++/92285
76         * include/bits/streambuf_iterator.h (istreambuf_iterator): Make type
77         of base class independent of __cplusplus value.
78         [__cplusplus < 201103L] (istreambuf_iterator::reference): Override the
79         type defined in the base class
80         * testsuite/24_iterators/istreambuf_iterator/92285.cc: New test.
81         * testsuite/24_iterators/istreambuf_iterator/requirements/
82         base_classes.cc: Adjust expected base class for C++98.
84 2020-01-09  Olivier Hainque  <hainque@adacore.com>
86         * doc/xml/manual/appendix_contributing.xml: Document _C2
87         as a reserved identifier, by VxWorks.
88         * include/bits/stl_map.h: Rename _C2 template typenames as _Cmp2.
89         * include/bits/stl_multimap.h: Likewise.
91 2020-01-09  Jonathan Wakely  <jwakely@redhat.com>
93         * include/ext/extptr_allocator.h (_ExtPtr_allocator::operator==)
94         (_ExtPtr_allocator::operator!=): Add missing const qualifiers.
95         * include/ext/pointer.h (readable_traits<_Pointer_adapter<S>>): Add
96         partial specialization to disambiguate the two constrained
97         specializations.
99         * include/experimental/type_traits (experimental::is_pod_v): Disable
100         -Wdeprecated-declarations warnings around reference to std::is_pod.
101         * include/std/type_traits (is_pod_v): Likewise.
102         * testsuite/18_support/max_align_t/requirements/2.cc: Also check
103         is_standard_layout and is_trivial. Do not check is_pod for C++20.
104         * testsuite/20_util/is_pod/requirements/explicit_instantiation.cc:
105         Add -Wno-deprecated for C++20.
106         * testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise.
107         * testsuite/20_util/is_pod/value.cc: Likewise.
108         * testsuite/experimental/type_traits/value.cc: Likewise.
110 2020-01-09  JeanHeyd "ThePhD" Meneide  <phdofthehouse@gmail.com>
112         * include/bits/c++config (_GLIBCXX20_DEPRECATED): Add new macro.
113         * include/std/type_traits (is_pod, is_pod_v): Deprecate for C++20.
114         * testuite/20_util/is_pod/deprecated-2a.cc: New test.
116 2020-01-09  Jonathan Wakely  <jwakely@redhat.com>
118         PR libstdc++/93205
119         * include/bits/random.h (operator>>): Check stream operation succeeds.
120         * include/bits/random.tcc (operator<<): Remove redundant __ostream_type
121         typedefs.
122         (operator>>): Remove redundant __istream_type typedefs. Check stream
123         operations succeed.
124         (__extract_params): New function to fill a vector from a stream.
125         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
127         PR libstdc++/93208
128         * config/abi/pre/gnu.ver: Add new exports.
129         * include/std/memory_resource (memory_resource::~memory_resource()):
130         Do not define inline.
131         (monotonic_buffer_resource::~monotonic_buffer_resource()): Likewise.
132         * src/c++17/memory_resource.cc (memory_resource::~memory_resource()):
133         Define.
134         (monotonic_buffer_resource::~monotonic_buffer_resource()): Define.
135         * testsuite/20_util/monotonic_buffer_resource/93208.cc: New test.
137 2020-01-09  François Dumont  <fdumont@gcc.gnu.org>
139         PR libstdc++/92124
140         * include/bits/hashtable.h (_Hashtable<>::__alloc_node_gen_t): New
141         template alias.
142         (_Hashtable<>::__fwd_value_for): New.
143         (_Hashtable<>::_M_assign_elements<>): Remove _NodeGenerator template
144         parameter.
145         (_Hashtable<>::_M_assign<>): Add _Ht template parameter.
146         (_Hashtable<>::operator=(const _Hashtable<>&)): Adapt.
147         (_Hashtable<>::_M_move_assign): Adapt. Replace std::move_if_noexcept
148         with std::move.
149         (_Hashtable<>::_Hashtable(const _Hashtable&)): Adapt.
150         (_Hashtable<>::_Hashtable(const _Hashtable&, const allocator_type&)):
151         Adapt.
152         (_Hashtable<>::_Hashtable(_Hashtable&&, const allocator_type&)):
153         Adapt.
154         * testsuite/23_containers/unordered_set/92124.cc: New.
156 2020-01-08  Jonathan Wakely  <jwakely@redhat.com>
158         PR libstdc++/93201
159         * src/c++17/fs_ops.cc (do_remove_all): New function implementing more
160         detailed error reporting for remove_all. Check result of recursive
161         call before incrementing iterator.
162         (remove_all(const path&), remove_all(const path&, error_code&)): Use
163         do_remove_all.
164         * src/filesystem/ops.cc (remove_all(const path&, error_code&)): Check
165         result of recursive call before incrementing iterator.
166         * testsuite/27_io/filesystem/operations/remove_all.cc: Check errors
167         are reported correctly.
168         * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
170 2020-01-07  Thomas Rodgers  <trodgers@redhat.com>
172         * include/std/condition_variable
173         (condition_variable_any::wait_on): Rename to match current draft
174         standard.
175         (condition_variable_any::wait_on_until): Likewise.
176         (condition_variable_any::wait_on_for): Likewise.
177         * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
178         Adjust tests to account for renamed methods.
180 2020-01-07  François Dumont  <fdumont@gcc.gnu.org>
182         PR libstdc++/92124
183         * include/bits/stl_tree.h
184         (_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Replace
185         std::move_if_noexcept by std::move.
186         * testsuite/23_containers/map/92124.cc: New.
187         * testsuite/23_containers/set/92124.cc: New.
189 2020-01-06  Jonathan Wakely  <jwakely@redhat.com>
191         * include/std/stop_token (stop_token): Remove operator!= (LWG 3254).
192         (stop_source): Likewise (LWG 3362).
193         * testsuite/30_threads/stop_token/stop_source.cc: Test equality
194         comparisons.
196         * include/bits/stl_algobase.h (__is_byte_iter, __min_cmp)
197         (lexicographical_compare_three_way): Do not depend on
198         __cpp_lib_concepts.
199         * include/std/version (__cpp_lib_three_way_comparison): Only define
200         when __cpp_lib_concepts is defined.
201         * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise.
203 2020-01-03  Jonathan Wakely  <jwakely@redhat.com>
205         * include/bits/stl_algobase.h (lexicographical_compare_three_way):
206         Only define four-argument overload when __cpp_lib_concepts is defined.
208 2020-01-01  John David Anglin  <danglin@gcc.gnu.org>
210         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
212 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
214         Update copyright years.
216 Copyright (C) 2020 Free Software Foundation, Inc.
218 Copying and distribution of this file, with or without modification,
219 are permitted in any medium without royalty provided the copyright
220 notice and this notice are preserved.