ChangeLog-2019 revision 1.1.1.1 1 1.1 mrg 2019-12-30 Corentin Gay <gay (a] adacore.com>
2 1.1 mrg
3 1.1 mrg * acinclude.m4 (vxworks*): New entry. Set ac_has_nanosleep=yes.
4 1.1 mrg * configure: Regenerate.
5 1.1 mrg
6 1.1 mrg 2019-12-30 Jerome Lambourg <lambourg (a] adacore.com>
7 1.1 mrg Olivier Hainque <hainque (a] adacore.com>
8 1.1 mrg
9 1.1 mrg * config/os/vxworks/os_defines.h
10 1.1 mrg (NOMINMAX): Always redefine to 1.
11 1.1 mrg (_NO_CPP_INLINES): Likewise.
12 1.1 mrg (_GLIBCXX_USE_WEAK_REF): Define to 1 for RTP on
13 1.1 mrg VxWorks >= 7, to 0 otherwise.
14 1.1 mrg (_GLIBCXX_HAVE_TLS): Define to 1.
15 1.1 mrg For VxWorks >= 7:
16 1.1 mrg (_GLIBCXX_USE_C99_MATH): Define to 1.
17 1.1 mrg (_GLIBCXX_USE_C99_MATH_FP_MACROS_DYNAMIC): Define to 0.
18 1.1 mrg (_HAS_TR1_DECLARATIONS): Redefine to 0.
19 1.1 mrg For VxWorks < 7, RTP:
20 1.1 mrg (_GLIBCXX_INCLUDE_NEXT_C_HEADERS): Define to 1.
21 1.1 mrg (_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC): Redefine to 1.
22 1.1 mrg (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): Define.
23 1.1 mrg For VxWorks < 7, kernel: #include <vxWorks.h>
24 1.1 mrg
25 1.1 mrg 2019-12-25 Alexandre Oliva <oliva (a] adacore.com>
26 1.1 mrg
27 1.1 mrg * crossconfig.m4 (GLIBCXX_CROSSCONFIG) [*-vxworks*]: Define
28 1.1 mrg long double functions as available if declared by math.h.
29 1.1 mrg (GLIBCXX_CHECK_MATH_DECL, GLIBCXX_CHECK_MATH_DECLS): New.
30 1.1 mrg * configure: Rebuild.
31 1.1 mrg
32 1.1 mrg 2019-12-20 Jonathan Wakely <jwakely (a] redhat.com>
33 1.1 mrg
34 1.1 mrg PR libstdc++/92927
35 1.1 mrg * include/bits/alloc_traits.h (__alloc_on_copy, __alloc_on_move)
36 1.1 mrg (__alloc_on_swap): Add inline specifier.
37 1.1 mrg
38 1.1 mrg 2019-12-20 Jerome Lambourg <lambourg (a] adacore.com>
39 1.1 mrg
40 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Test with AC_LANG_CPLUSPLUS.
41 1.1 mrg * configure: Regenerate.
42 1.1 mrg
43 1.1 mrg 2019-12-20 Franois Dumont <fdumont (a] gcc.gnu.org>
44 1.1 mrg
45 1.1 mrg * testsuite/23_containers/map/48101_neg.cc: Add versioned namespace
46 1.1 mrg pattern to tested error message.
47 1.1 mrg * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
48 1.1 mrg * testsuite/30_threads/headers/stop_token/synopsis.cc: Add
49 1.1 mrg dg-require-normal-namepace.
50 1.1 mrg
51 1.1 mrg * python/libstdcxx/v6/printers.py (lookup_node_type): Remove redundant
52 1.1 mrg call to lookup_node_type.
53 1.1 mrg * testsuite/libstdc++-prettyprinters/80276.cc: Define
54 1.1 mrg _GLIBCXX_USE_CXX11_ABI to 0.
55 1.1 mrg * testsuite/libstdc++-prettyprinters/91997.cc: Use regexp-test to check
56 1.1 mrg 'a' content.
57 1.1 mrg
58 1.1 mrg 2019-12-20 Jerome Lambourg <lambourg (a] adacore.com>
59 1.1 mrg
60 1.1 mrg * acinclude.m4 (_GLIBCXX_USE_PTHREAD_RWLOCK_T): Checks that _PTHREADS
61 1.1 mrg is defined after including gthr.h.
62 1.1 mrg * configure: Regenerate.
63 1.1 mrg
64 1.1 mrg 2019-12-12 Jonathan Wakely <jwakely (a] redhat.com>
65 1.1 mrg
66 1.1 mrg * libsupc++/compare (common_comparison_category): Define without using
67 1.1 mrg concepts and optimise for compilation time.
68 1.1 mrg (__detail::__cmp_cat_ids): Remove.
69 1.1 mrg (__detail::__common_cmp_cat): Replace class template and
70 1.1 mrg specializations with constexpr function.
71 1.1 mrg
72 1.1 mrg 2019-12-12 Franois Dumont <fdumont (a] gcc.gnu.org>
73 1.1 mrg
74 1.1 mrg * include/tr1/cctype: Add _GLIBCXX_BEGIN_VERSION_NAMESPACE and
75 1.1 mrg _GLIBCXX_END_VERSION_NAMESPACE.
76 1.1 mrg * include/tr1/cfenv: Likewise.
77 1.1 mrg * include/tr1/cinttypes: Likewise.
78 1.1 mrg * include/tr1/cstdint: Likewise.
79 1.1 mrg * include/tr1/cstdio: Likewise.
80 1.1 mrg * include/tr1/cstdlib: Likewise.
81 1.1 mrg * include/tr1/cwchar: Likewise.
82 1.1 mrg * include/tr1/cwctype: Likewise.
83 1.1 mrg
84 1.1 mrg * src/c++11/random.cc: Include <cctype>.
85 1.1 mrg (random_devise::_M_init_pretr1): Qualify isdigit call.
86 1.1 mrg
87 1.1 mrg 2019-12-10 Thomas Rodgers <trodgers (a] redhat.com>
88 1.1 mrg
89 1.1 mrg * include/pstl/glue_numeric_defs.h: Restore enable_if lost during
90 1.1 mrg original import of pstl.
91 1.1 mrg * include/pstl/glue_numeric_impl.h: Likewise.
92 1.1 mrg
93 1.1 mrg 2019-12-10 Jonathan Wakely <jwakely (a] redhat.com>
94 1.1 mrg
95 1.1 mrg (span(ContiguousIterator, Sentinel)): Add conditional noexcept.
96 1.1 mrg * include/std/span (span(ContiguousIterator, size_type)): Change
97 1.1 mrg noexcept to be unconditionally true.
98 1.1 mrg * testsuite/23_containers/span/nothrow_cons.cc: New test.
99 1.1 mrg
100 1.1 mrg 2019-12-10 Franois Dumont <fdumont (a] gcc.gnu.org>
101 1.1 mrg
102 1.1 mrg * include/bits/stl_algobase.h
103 1.1 mrg (__copy_move_a1<>(_II, _II, _OI)): New.
104 1.1 mrg (__copy_move_a1<>(_Deque_iterator<>, _Deque_iterator<>, _OI)): New.
105 1.1 mrg (__copy_move_a1<>(_Deque_iterator<>, _Deque_iterator<>,
106 1.1 mrg _Deque_iterator<>)): New.
107 1.1 mrg (__copy_move_a1<>(_II, _II, _Deque_iterator<>)): New.
108 1.1 mrg (__copy_move_a<>(_II, _II, _OI)): Adapt, call __copy_move_a1<>.
109 1.1 mrg (__copy_move_a<>(const _Safe_iterator<>&, const _Safe_iterator<>&,
110 1.1 mrg _OI)): New.
111 1.1 mrg (__copy_move_a<>(const _Safe_iterator<>&, const _Safe_iterator<>&,
112 1.1 mrg const _Safe_iterator<>&)): New.
113 1.1 mrg (__copy_move_a<>(_II, _II, const _Safe_iterator<>&)): New.
114 1.1 mrg (copy, move): Adapt, call __copy_move_a.
115 1.1 mrg (__copy_move_backward_a1<>(_II, _II, _OI)): New,
116 1.1 mrg call __copy_move_backward_a2.
117 1.1 mrg (__copy_move_backward_a1<>(_Deque_iterator<>, _Deque_iterator<>, _OI)): New.
118 1.1 mrg (__copy_move_backward_a1<>(_Deque_iterator<>, _Deque_iterator<>,
119 1.1 mrg _Deque_iterator<>)): New.
120 1.1 mrg (__copy_move_backward_a1<>(_II, _II, _Deque_iterator<>)): New.
121 1.1 mrg (__copy_move_backward_a<>(_II, _II, _OI)): Adapt, call
122 1.1 mrg __copy_move_backward_a1<>.
123 1.1 mrg (__copy_move_backward_a<>(const _Safe_iterator<>&, const _Safe_iterator<>&,
124 1.1 mrg _OI)): New.
125 1.1 mrg (__copy_move_backward_a<>(const _Safe_iterator<>&, const _Safe_iterator<>&,
126 1.1 mrg const _Safe_iterator<>&)): New.
127 1.1 mrg (__copy_move_backward_a<>(_II, _II, const _Safe_iterator<>&)): New.
128 1.1 mrg (copy_backward, move_backward): Adapt, call __copy_move_backward_a<>.
129 1.1 mrg (__fill_a): Rename into...
130 1.1 mrg (__fill_a1): ... this.
131 1.1 mrg (__fill_a1(__normal_iterator<>, __normal_iterator<>, const _Tp&)): New.
132 1.1 mrg (__fill_a1(const _Deque_iterator<>&, const _Deque_iterator<>&, _VTp)):
133 1.1 mrg New.
134 1.1 mrg (__fill_a(_FIte, _FIte, const _Tp&)): New, call __fill_a1.
135 1.1 mrg (__fill_a(const _Safe_iterator<>&, const _Safe_iterator<>&,
136 1.1 mrg const _Tp&)): New.
137 1.1 mrg (fill): Adapt, remove __niter_base usage.
138 1.1 mrg (__fill_n_a): Rename into...
139 1.1 mrg (__fill_n_a1): ...this.
140 1.1 mrg (__fill_n_a(const _Safe_iterator<>&, _Size, const _Tp&,
141 1.1 mrg input_iterator_tag)): New.
142 1.1 mrg (__fill_n_a(_OI, _Size, const _Tp&, output_iterator_tag)): New, call
143 1.1 mrg __fill_n_a1.
144 1.1 mrg (__fill_n_a(_OI, _Size, const _Tp&, random_access_iterator_tag)): New,
145 1.1 mrg call __fill_a.
146 1.1 mrg (__equal_aux): Rename into...
147 1.1 mrg (__equal_aux1): ...this.
148 1.1 mrg (__equal_aux1(_Deque_iterator<>, _Deque_iterator<>, _OI)): New.
149 1.1 mrg (__equal_aux1(_Deque_iterator<>, _Deque_iterator<>,
150 1.1 mrg _Deque_iterator<>)): New.
151 1.1 mrg (__equal_aux1(_II, _II, _Deque_iterator<>)): New.
152 1.1 mrg (__equal_aux(_II1, _II1, _II2)): New, call __equal_aux1.
153 1.1 mrg (__equal_aux(const _Safe_iterator<>&, const _Safe_iterator<>&,
154 1.1 mrg _OI)): New.
155 1.1 mrg (__equal_aux(const _Safe_iterator<>&, const _Safe_iterator<>&,
156 1.1 mrg const _Safe_iterator<>&)): New.
157 1.1 mrg (__equal_aux(_II, _II, const _Safe_iterator<>&)): New.
158 1.1 mrg (equal(_II1, _II1, _II2)): Adapt.
159 1.1 mrg * include/bits/stl_deque.h
160 1.1 mrg (fill, copy, copy_backward, move, move_backward): Remove.
161 1.1 mrg * include/bits/deque.tcc: Include <bits/stl_algobase.h>.
162 1.1 mrg (__fill_a1): New.
163 1.1 mrg (__copy_move_dit): New.
164 1.1 mrg (__copy_move_a1): New, use latter.
165 1.1 mrg (__copy_move_a1(_II, _II, _Deque_iterator<>)): New.
166 1.1 mrg (__copy_move_backward_dit): New.
167 1.1 mrg (__copy_move_backward_a1): New, use latter.
168 1.1 mrg (__copy_move_backward_a1(_II, _II, _Deque_iterator<>)): New.
169 1.1 mrg (__equal_dit): New.
170 1.1 mrg (__equal_aux1): New, use latter.
171 1.1 mrg (__equal_aux1(_II, _II, _Deque_iterator<>)): New.
172 1.1 mrg * include/std/numeric (__is_random_access_iter): Move...
173 1.1 mrg * include/bits/stl_iterator_base_types.h (__is_random_access_iter): ...
174 1.1 mrg here. Provide pre-C++11 definition.
175 1.1 mrg * include/debug/debug.h (_Safe_iterator<>): New declaration.
176 1.1 mrg * include/debug/safe_iterator.h (_Safe_iterator<>::_M_can_advance): Add
177 1.1 mrg __strict parameter.
178 1.1 mrg * include/debug/safe_iterator.tcc: Include <bits/stl_algobase.h>.
179 1.1 mrg (_Safe_iterator<>::_M_can_advance): Adapt.
180 1.1 mrg (std::__copy_move_a, std::__copy_move_backward_a, __fill_a): New.
181 1.1 mrg (__fill_n_a, __equal_aux): New.
182 1.1 mrg * include/debug/stl_iterator.h (__niter_base): Remove.
183 1.1 mrg * include/debug/vector (__niter_base): Remove.
184 1.1 mrg * testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc:
185 1.1 mrg Include <vector> and <list>. Add benches.
186 1.1 mrg * testsuite/performance/25_algorithms/copy_deque_iterators.cc: Likewise.
187 1.1 mrg * testsuite/performance/25_algorithms/equal_deque_iterators.cc: Likewise.
188 1.1 mrg * testsuite/25_algorithms/copy/debug/1_neg.cc: New.
189 1.1 mrg * testsuite/25_algorithms/copy/deque_iterators/2.cc: New.
190 1.1 mrg * testsuite/25_algorithms/copy/deque_iterators/31.cc: New.
191 1.1 mrg * testsuite/25_algorithms/copy/deque_iterators/32.cc: New.
192 1.1 mrg * testsuite/25_algorithms/copy/deque_iterators/33.cc: New.
193 1.1 mrg * testsuite/25_algorithms/copy/deque_iterators/41.cc: New.
194 1.1 mrg * testsuite/25_algorithms/copy/deque_iterators/42.cc: New.
195 1.1 mrg * testsuite/25_algorithms/copy/deque_iterators/43.cc: New.
196 1.1 mrg * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc (test02):
197 1.1 mrg New.
198 1.1 mrg * testsuite/25_algorithms/copy_backward/deque_iterators/2.cc: New.
199 1.1 mrg * testsuite/25_algorithms/equal/deque_iterators/1.cc: New.
200 1.1 mrg * testsuite/25_algorithms/fill/deque_iterators/1.cc: New.
201 1.1 mrg * testsuite/25_algorithms/move/deque_iterators/2.cc: New.
202 1.1 mrg * testsuite/25_algorithms/move_backward/deque_iterators/2.cc: New.
203 1.1 mrg
204 1.1 mrg 2019-12-10 Jonathan Wakely <jwakely (a] redhat.com>
205 1.1 mrg
206 1.1 mrg PR libstdc++/92886
207 1.1 mrg * include/bits/ios_base.h (std::ios_base::trunc): Fix comment.
208 1.1 mrg
209 1.1 mrg * include/std/complex (__cpp_lib_constexpr_complex): Define.
210 1.1 mrg * include/std/version (__cpp_lib_constexpr_complex): Likewise.
211 1.1 mrg * testsuite/26_numerics/complex/1.cc: New test.
212 1.1 mrg * testsuite/26_numerics/complex/2.cc: New test.
213 1.1 mrg
214 1.1 mrg * include/std/span: Do not include <tuple> and <utility>.
215 1.1 mrg (tuple_size, tuple_element): Declare.
216 1.1 mrg
217 1.1 mrg * include/bits/iterator_concepts.h (indirect_result_t): Do not apply
218 1.1 mrg iter_reference_t to parameter pack.
219 1.1 mrg * testsuite/24_iterators/indirect_callable/projected.cc: New test.
220 1.1 mrg
221 1.1 mrg 2019-12-09 Jonathan Wakely <jwakely (a] redhat.com>
222 1.1 mrg
223 1.1 mrg * include/bits/range_access.h (ranges::enable_safe_range): Define.
224 1.1 mrg (ranges::begin, ranges::end, ranges::rbegin, ranges::rend): Constrain
225 1.1 mrg to only accept types satisfying safe_range and treat argument as an
226 1.1 mrg lvalue when calling a member of performing ADL.
227 1.1 mrg (ranges::__detail::__range_impl, ranges::__detail::__forwarding_range):
228 1.1 mrg Remove.
229 1.1 mrg (ranges::range): Adjust definition.
230 1.1 mrg (ranges::safe_range): Define.
231 1.1 mrg (ranges::iterator_t, ranges::range_difference_t): Reorder definitions
232 1.1 mrg to match the synopsis in the working draft.
233 1.1 mrg (ranges::disable_sized_range): Remove duplicate definition.
234 1.1 mrg * include/experimental/string_view (ranges::enable_safe_range): Add
235 1.1 mrg partial specialization for std::experimental::basic_string_view.
236 1.1 mrg * include/std/ranges (ranges::viewable_range, ranges::subrange)
237 1.1 mrg (ranges::empty_view, ranges::iota_view): Use safe_range. Specialize
238 1.1 mrg enable_safe_range.
239 1.1 mrg (ranges::safe_iterator_t, ranges::safe_subrange_t): Define.
240 1.1 mrg * include/std/span (ranges::enable_safe_range): Add partial
241 1.1 mrg specialization for std::span.
242 1.1 mrg * include/std/string_view (ranges::enable_safe_range): Likewise for
243 1.1 mrg std::basic_string_view.
244 1.1 mrg * testsuite/std/ranges/access/begin.cc: Adjust expected results.
245 1.1 mrg * testsuite/std/ranges/access/cbegin.cc: Likewise.
246 1.1 mrg * testsuite/std/ranges/access/cdata.cc: Likewise.
247 1.1 mrg * testsuite/std/ranges/access/cend.cc: Likewise.
248 1.1 mrg * testsuite/std/ranges/access/crbegin.cc: Likewise.
249 1.1 mrg * testsuite/std/ranges/access/crend.cc: Likewise.
250 1.1 mrg * testsuite/std/ranges/access/data.cc: Likewise.
251 1.1 mrg * testsuite/std/ranges/access/end.cc: Likewise.
252 1.1 mrg * testsuite/std/ranges/access/rbegin.cc: Likewise.
253 1.1 mrg * testsuite/std/ranges/access/rend.cc: Likewise.
254 1.1 mrg * testsuite/std/ranges/empty_view.cc: Test ranges::begin and
255 1.1 mrg ranges::end instead of unqualified calls to begin and end.
256 1.1 mrg * testsuite/std/ranges/safe_range.cc: New test.
257 1.1 mrg * testsuite/std/ranges/safe_range_types.cc: New test.
258 1.1 mrg * testsuite/util/testsuite_iterators.h: Add comment about safe_range.
259 1.1 mrg
260 1.1 mrg * testsuite/27_io/filesystem/path/concat/strings.cc: Test more cases.
261 1.1 mrg
262 1.1 mrg PR libstdc++/92853
263 1.1 mrg * src/c++17/fs_path.cc (filesystem::path::operator+=(const path&)):
264 1.1 mrg Do not process a trailing directory separator twice.
265 1.1 mrg * testsuite/27_io/filesystem/path/concat/92853.cc: New test.
266 1.1 mrg * testsuite/27_io/filesystem/path/concat/path.cc: Test more cases.
267 1.1 mrg
268 1.1 mrg 2019-12-09 Franois Dumont <fdumont (a] gcc.gnu.org>
269 1.1 mrg
270 1.1 mrg * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
271 1.1 mrg Fix static_assert line number.
272 1.1 mrg * testsuite/23_containers/array/tuple_interface/
273 1.1 mrg tuple_element_debug_neg.cc: Likewise.
274 1.1 mrg
275 1.1 mrg 2019-12-07 Andrew Pinski <apinski (a] marvell.com>
276 1.1 mrg
277 1.1 mrg * config/cpu/aarch64/opt/ext/opt_random.h: Wrap around with check
278 1.1 mrg for little-endian like ext/random is done.
279 1.1 mrg
280 1.1 mrg 2019-12-05 Jonathan Wakely <jwakely (a] redhat.com>
281 1.1 mrg
282 1.1 mrg * testsuite/23_containers/span/lwg3255.cc: Fix test. Constructing a
283 1.1 mrg span of non-const elements should not be possible from a const array
284 1.1 mrg or an array of const elements.
285 1.1 mrg
286 1.1 mrg 2019-12-05 JeanHeyd "ThePhD" Meneide <phdofthehouse (a] gmail.com>
287 1.1 mrg
288 1.1 mrg Implement P1872R0 and P1394R0 for std::span
289 1.1 mrg * include/bits/range_access.h (__adl_begin, __adl_end): Remove.
290 1.1 mrg (sentinel_t, range_value_t, range_reference_t)
291 1.1 mrg (range_rvalue_reference_t, __forwarding_range, disable_sized_range)
292 1.1 mrg (output_range, input_range, forward_range, bidirectional_range)
293 1.1 mrg (random_access_range, contiguous_range, common_range): Move here from
294 1.1 mrg <ranges>, to make this the "ranges lite" internal header.
295 1.1 mrg * include/std/ranges: Move basic aliases and concepts to
296 1.1 mrg <bits/range_access.h>.
297 1.1 mrg * include/std/span: Use concepts and ranges:: calls instead of
298 1.1 mrg enable_if and friends.
299 1.1 mrg * include/std/type_traits: Add __is_array_convertible trait.
300 1.1 mrg
301 1.1 mrg 2019-12-05 Jonathan Wakely <jwakely (a] redhat.com>
302 1.1 mrg
303 1.1 mrg * include/bits/stl_algobase.h (lexicographical_compare_three_way):
304 1.1 mrg Define for C++20.
305 1.1 mrg * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc: New
306 1.1 mrg test.
307 1.1 mrg * testsuite/25_algorithms/lexicographical_compare_three_way/
308 1.1 mrg constexpr.cc: New test.
309 1.1 mrg
310 1.1 mrg * python/libstdcxx/v6/printers.py (StdCmpCatPrinter): New printer.
311 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx20.cc: New test.
312 1.1 mrg
313 1.1 mrg * include/bits/cpp_type_traits.h (__is_byte<char8_t>): Add
314 1.1 mrg specialization.
315 1.1 mrg * include/std/array (operator<=>): Likewise.
316 1.1 mrg * testsuite/23_containers/array/comparison_operators/constexpr.cc:
317 1.1 mrg Test three-way comparisons and arrays of unsigned char.
318 1.1 mrg * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
319 1.1 mrg dg-error line numbers.
320 1.1 mrg
321 1.1 mrg 2019-12-03 Jonathan Wakely <jwakely (a] redhat.com>
322 1.1 mrg
323 1.1 mrg * include/bits/stl_pair.h [__cpp_lib_three_way_comparison]
324 1.1 mrg (operator<=>): Define for C++20.
325 1.1 mrg * libsupc++/compare (__cmp2way_res_t): Rename to __cmp3way_res_t,
326 1.1 mrg move into __detail namespace. Do not turn argument types into lvalues.
327 1.1 mrg (__cmp3way_helper): Rename to __cmp3way_res_impl, move into __detail
328 1.1 mrg namespace. Constrain with concepts instead of using void_t.
329 1.1 mrg (compare_three_way_result): Adjust name of base class.
330 1.1 mrg (compare_three_way_result_t): Use __cmp3way_res_impl directly.
331 1.1 mrg (__detail::__3way_cmp_with): Add workaround for PR 91073.
332 1.1 mrg (compare_three_way): Use workaround.
333 1.1 mrg (__detail::__synth3way, __detail::__synth3way_t): Define new helpers
334 1.1 mrg implementing synth-three-way and synth-three-way-result semantics.
335 1.1 mrg * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc: New
336 1.1 mrg test.
337 1.1 mrg
338 1.1 mrg * include/bits/stl_pair.h (pair): Remove stray Doxygen closing marker.
339 1.1 mrg
340 1.1 mrg * testsuite/util/slow_clock.h: Fix copyright date.
341 1.1 mrg
342 1.1 mrg 2019-12-02 Mike Crowe <mac (a] mcrowe.com>
343 1.1 mrg
344 1.1 mrg Fix try_lock_until and try_lock_shared_until on arbitrary clock
345 1.1 mrg * include/std/shared_mutex (shared_timed_mutex::try_lock_until)
346 1.1 mrg (shared_timed_mutex::try_lock_shared_until): Loop until the absolute
347 1.1 mrg timeout time is reached as measured against the appropriate clock.
348 1.1 mrg * testsuite/30_threads/shared_timed_mutex/try_lock_until/1.cc: New
349 1.1 mrg file. Test try_lock_until and try_lock_shared_until timeouts against
350 1.1 mrg various clocks.
351 1.1 mrg * testsuite/30_threads/shared_timed_mutex/try_lock_until/1.cc: New
352 1.1 mrg file. Test try_lock_until and try_lock_shared_until timeouts against
353 1.1 mrg various clocks.
354 1.1 mrg
355 1.1 mrg Add full steady_clock support to shared_timed_mutex
356 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_RWLOCK_CLOCKLOCK): Define
357 1.1 mrg to check for the presence of both pthread_rwlock_clockrdlock and
358 1.1 mrg pthread_rwlock_clockwrlock.
359 1.1 mrg * config.h.in: Regenerate.
360 1.1 mrg * configure.ac: Call GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK.
361 1.1 mrg * configure: Regenerate.
362 1.1 mrg * include/std/shared_mutex (shared_timed_mutex): Define __clock_t as
363 1.1 mrg the best clock to use for relative waits.
364 1.1 mrg (shared_timed_mutex::try_lock_for) Round up wait duration if necessary.
365 1.1 mrg (shared_timed_mutex::try_lock_shared_for): Likewise.
366 1.1 mrg (shared_timed_mutex::try_lock_until): Use existing try_lock_until
367 1.1 mrg implementation for system_clock (which matches __clock_t when
368 1.1 mrg _GLIBCCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK is not defined). Add new
369 1.1 mrg overload for steady_clock that uses pthread_rwlock_clockwrlock if it
370 1.1 mrg is available. Simplify overload for non-standard clock to just call
371 1.1 mrg try_lock_for with a relative timeout.
372 1.1 mrg (shared_timed_mutex::try_lock_shared_until): Likewise.
373 1.1 mrg
374 1.1 mrg PR libstdc++/91906 Fix timed_mutex::try_lock_until on arbitrary clock
375 1.1 mrg * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Loop
376 1.1 mrg until the absolute timeout time is reached as measured against the
377 1.1 mrg appropriate clock.
378 1.1 mrg * testsuite/util/slow_clock.h: New file. Move implementation of
379 1.1 mrg slow_clock test class.
380 1.1 mrg * testsuite/30_threads/condition_variable/members/2.cc: Include
381 1.1 mrg slow_clock from header.
382 1.1 mrg * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Convert
383 1.1 mrg existing test to templated function so that it can be called with
384 1.1 mrg both system_clock and steady_clock.
385 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock_until/3.cc: Also run test
386 1.1 mrg using slow_clock to test above fix.
387 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/3.cc:
388 1.1 mrg Likewise.
389 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/4.cc: Add
390 1.1 mrg new test that try_lock_until behaves as try_lock if the timeout has
391 1.1 mrg already expired or exactly matches the current time.
392 1.1 mrg
393 1.1 mrg PR libstdc++/78237 Add full steady_clock support to timed_mutex
394 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define to
395 1.1 mrg detect presence of pthread_mutex_clocklock function.
396 1.1 mrg * config.h.in: Regenerate.
397 1.1 mrg * configure: Regenerate.
398 1.1 mrg * configure.ac: Call GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK.
399 1.1 mrg * include/std/mutex (__timed_mutex_impl): Remove unnecessary __clock_t.
400 1.1 mrg (__timed_mutex_impl::_M_try_lock_for): Use best clock to turn relative
401 1.1 mrg timeout into absolute timeout.
402 1.1 mrg (__timed_mutex_impl::_M_try_lock_until): Keep existing implementation
403 1.1 mrg for system_clock. Add new implementation for steady_clock that calls
404 1.1 mrg _M_clocklock. Modify overload for user-defined clock to use a relative
405 1.1 mrg wait so that it automatically uses the best clock.
406 1.1 mrg [_GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK] (timed_mutex::_M_clocklock):
407 1.1 mrg New member function.
408 1.1 mrg (recursive_timed_mutex::_M_clocklock): Likewise.
409 1.1 mrg
410 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/3.cc:
411 1.1 mrg New test. Ensure that timed_mutex::try_lock_until actually times out
412 1.1 mrg after the specified time when using both system_clock and
413 1.1 mrg steady_clock.
414 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock_until/3.cc: New test.
415 1.1 mrg Likewise but for recursive_timed_mutex.
416 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Template
417 1.1 mrg test functions and use them to test both steady_clock and system_clock.
418 1.1 mrg * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. Wrap call
419 1.1 mrg to timed_mutex::try_lock_until in VERIFY macro to check its return
420 1.1 mrg value.
421 1.1 mrg
422 1.1 mrg 2019-11-30 Jonathan Wakely <jwakely (a] redhat.com>
423 1.1 mrg
424 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Enable by default for
425 1.1 mrg mingw targets.
426 1.1 mrg * configure: Regenerate.
427 1.1 mrg
428 1.1 mrg * include/bits/fs_path.h (u8path(InputIterator, InputIterator))
429 1.1 mrg (u8path(const Source&)) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Simplify
430 1.1 mrg conditions.
431 1.1 mrg * include/experimental/bits/fs_path.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
432 1.1 mrg (__u8path(const Source&, char)): Add overloads for std::string and
433 1.1 mrg types convertible to std::string.
434 1.1 mrg (_Cvt::_S_wconvert): Add a new overload for char8_t strings and use
435 1.1 mrg codecvt_utf8_utf16 to do the correct conversion.
436 1.1 mrg
437 1.1 mrg 2019-11-29 Jonathan Wakely <jwakely (a] redhat.com>
438 1.1 mrg
439 1.1 mrg * include/bits/fs_path.h (path::operator/=): Change template-head to
440 1.1 mrg use typename instead of class.
441 1.1 mrg * include/experimental/bits/fs_path.h (path::operator/=): Likewise.
442 1.1 mrg * include/std/ostream (operator<<): Likewise.
443 1.1 mrg
444 1.1 mrg 2019-11-29 Tom Honermann <tom (a] honermann.net>
445 1.1 mrg
446 1.1 mrg New tests
447 1.1 mrg * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc:
448 1.1 mrg New test to validate deleted overloads of character and string
449 1.1 mrg inserters for narrow ostreams.
450 1.1 mrg * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc:
451 1.1 mrg New test to validate deleted overloads of character and string
452 1.1 mrg inserters for wide ostreams.
453 1.1 mrg * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: New test
454 1.1 mrg to validate u8path invocations with sequences of char8_t.
455 1.1 mrg * testsuite/experimental/filesystem/path/factory/u8path-char8_t.cc:
456 1.1 mrg New test to validate u8path invocations with sequences of char8_t.
457 1.1 mrg
458 1.1 mrg Updates to existing tests
459 1.1 mrg * testsuite/experimental/feat-char8_t.cc: Updated the expected
460 1.1 mrg __cpp_lib_char8_t feature test macro value.
461 1.1 mrg * testsuite/27_io/filesystem/path/factory/u8path.cc: Added testing of
462 1.1 mrg u8path invocation with std::string, std::string_view, and iterators
463 1.1 mrg thereof.
464 1.1 mrg * testsuite/experimental/filesystem/path/factory/u8path.cc: Added
465 1.1 mrg testing of u8path invocation with std::string, std::string_view, and
466 1.1 mrg iterators thereof.
467 1.1 mrg
468 1.1 mrg Update feature test macro, add deleted operators, update u8path
469 1.1 mrg * include/bits/c++config: Bumped the value of the __cpp_lib_char8_t
470 1.1 mrg feature test macro.
471 1.1 mrg * include/bits/fs_path.h (u8path): Modified u8path to accept sequences
472 1.1 mrg of char8_t.
473 1.1 mrg * include/experimental/bits/fs_path.h (u8path): Modified u8path to
474 1.1 mrg accept sequences of char8_t.
475 1.1 mrg * include/std/ostream: Added deleted overloads of wchar_t, char8_t,
476 1.1 mrg char16_t, and char32_t for ordinary and wide formatted character and
477 1.1 mrg string inserters.
478 1.1 mrg
479 1.1 mrg Decouple constraints for u8path from path constructors
480 1.1 mrg * include/bits/fs_path.h: Moved helper utilities out of
481 1.1 mrg std::filesystem::path into a detail namespace to make them
482 1.1 mrg available for use by u8path.
483 1.1 mrg * include/experimental/bits/fs_path.h: Moved helper utilities out
484 1.1 mrg of std::experimental::filesystem::v1::path into a detail
485 1.1 mrg namespace to make them available for use by u8path.
486 1.1 mrg
487 1.1 mrg 2019-11-29 Jonathan Wakely <jwakely (a] redhat.com>
488 1.1 mrg
489 1.1 mrg PR libstdc++/91997
490 1.1 mrg * python/libstdcxx/v6/printers.py (find_type): Fail more gracefully
491 1.1 mrg if we run out of base classes to look at.
492 1.1 mrg (lookup_templ_spec, lookup_node_type): New utilities to find node
493 1.1 mrg types for node-based containers.
494 1.1 mrg (StdListPrinter.children, NodeIteratorPrinter.__init__)
495 1.1 mrg (NodeIteratorPrinter.to_string, StdSlistPrinter.children)
496 1.1 mrg (StdSlistIteratorPrinter.to_string, StdRbtreeIteratorPrinter.__init__)
497 1.1 mrg (StdMapPrinter.children, StdSetPrinter.children)
498 1.1 mrg (StdForwardListPrinter.children): Use lookup_node_type instead of
499 1.1 mrg find_type.
500 1.1 mrg (StdListIteratorPrinter.__init__, StdFwdListIteratorPrinter.__init__):
501 1.1 mrg Pass name of node type to NodeIteratorPrinter constructor.
502 1.1 mrg (Tr1HashtableIterator.__init__): Rename argument.
503 1.1 mrg (StdHashtableIterator.__init__): Likewise. Use lookup_templ_spec
504 1.1 mrg instead of find_type.
505 1.1 mrg * testsuite/libstdc++-prettyprinters/59161.cc: Remove workaround for
506 1.1 mrg _Node typedef not being present in debuginfo.
507 1.1 mrg * testsuite/libstdc++-prettyprinters/91997.cc: New test.
508 1.1 mrg
509 1.1 mrg 2019-11-26 Franois Dumont <fdumont (a] gcc.gnu.org>
510 1.1 mrg
511 1.1 mrg * include/debug/helper_functions.h (__valid_range_aux): Use C++98
512 1.1 mrg std::input_iterator_tag default constructor invocation.
513 1.1 mrg
514 1.1 mrg * include/debug/array (array<>::fill): Add C++20 constexpr.
515 1.1 mrg (array<>::swap): Likewise.
516 1.1 mrg
517 1.1 mrg * include/debug/safe_iterator.h
518 1.1 mrg [__cpp_lib_concepts](_Safe_iterator<>::iterator_concept): Define for
519 1.1 mrg C++20.
520 1.1 mrg
521 1.1 mrg 2019-11-25 Jonathan Wakely <jwakely (a] redhat.com>
522 1.1 mrg
523 1.1 mrg * include/bits/iterator_concepts.h (ranges::iter_swap): Fix parameter
524 1.1 mrg types of poison pill overload. Use remove_reference_t when checking
525 1.1 mrg constraints.
526 1.1 mrg * include/bits/stl_iterator.h (move_sentinel): Define for C++20.
527 1.1 mrg (move_iterator): Adjust definitions of nested types for C++20. Add
528 1.1 mrg hidden friends for move_sentinel operations, iter_move and iter_swap.
529 1.1 mrg (common_iterator, counted_iterator): Define for C++20.
530 1.1 mrg * testsuite/24_iterators/move_iterator/cust.cc: New test.
531 1.1 mrg * testsuite/24_iterators/move_iterator/sentinel.cc: New test.
532 1.1 mrg * testsuite/24_iterators/common_iterator/1.cc: New test.
533 1.1 mrg * testsuite/24_iterators/counted_iterator/1.cc: New test.
534 1.1 mrg
535 1.1 mrg PR libstdc++/91786
536 1.1 mrg * include/bits/fs_path.h (filesystem_error): Move definition before
537 1.1 mrg the use in u8path.
538 1.1 mrg
539 1.1 mrg 2019-11-24 Franois Dumont <fdumont (a] gcc.gnu.org>
540 1.1 mrg
541 1.1 mrg * include/debug/functions.h: Remove <bits/move.h> include.
542 1.1 mrg (__check_singular_aux, __check_singular): Move...
543 1.1 mrg * include/debug/helper_functions.h:
544 1.1 mrg (__check_singular_aux, __check_singular): ...here.
545 1.1 mrg (__valid_range_aux): Adapt to use latter.
546 1.1 mrg * testsuite/25_algorithms/copy/debug/2_neg.cc: New.
547 1.1 mrg
548 1.1 mrg 2019-11-20 Janne Blomqvist <jb (a] gcc.gnu.org>
549 1.1 mrg
550 1.1 mrg * doc/html/api.html: Use https for gcc.gnu.org.
551 1.1 mrg * doc/xml/api.xml: Likewise.
552 1.1 mrg
553 1.1 mrg 2019-11-19 Jonathan Wakely <jwakely (a] redhat.com>
554 1.1 mrg
555 1.1 mrg * include/bits/regex.h (ranges::__detail::__enable_view_impl): Fix
556 1.1 mrg declaration.
557 1.1 mrg * include/bits/stl_multiset.h (ranges::__detail::__enable_view_impl):
558 1.1 mrg Likewise.
559 1.1 mrg * include/bits/stl_set.h (ranges::__detail::__enable_view_impl):
560 1.1 mrg Likewise.
561 1.1 mrg * include/bits/unordered_set.h (ranges::__detail::__enable_view_impl):
562 1.1 mrg Likewise.
563 1.1 mrg * include/debug/multiset.h (ranges::__detail::__enable_view_impl):
564 1.1 mrg Likewise.
565 1.1 mrg * include/debug/set.h (ranges::__detail::__enable_view_impl): Likewise.
566 1.1 mrg * include/debug/unordered_set (ranges::__detail::__enable_view_impl):
567 1.1 mrg Likewise.
568 1.1 mrg
569 1.1 mrg 2019-11-18 Jonathan Wakely <jwakely (a] redhat.com>
570 1.1 mrg
571 1.1 mrg * include/std/thread: Reduce header dependencies.
572 1.1 mrg (jthread::get_id()): Add missing return.
573 1.1 mrg (jthread::get_stop_token()): Avoid unnecessary stop_source temporary.
574 1.1 mrg (jthread::_S_create): Check is_invocable using decayed types. Add
575 1.1 mrg static assertion.
576 1.1 mrg * testsuite/30_threads/jthread/1.cc: Add dg-require-gthreads.
577 1.1 mrg * testsuite/30_threads/jthread/2.cc: Likewise.
578 1.1 mrg * testsuite/30_threads/jthread/3.cc: New test.
579 1.1 mrg * testsuite/30_threads/jthread/jthread.cc: Add missing directives for
580 1.1 mrg pthread and gthread support. Use VERIFY instead of assert.
581 1.1 mrg
582 1.1 mrg * include/bits/alloc_traits.h (allocator_traits::construct)
583 1.1 mrg (allocator_traits::destroy, allocator_traits::max_size): Add unused
584 1.1 mrg attributes to parameters that are not used in C++20.
585 1.1 mrg * include/std/bit (__ceil2): Add braces around assertion to avoid
586 1.1 mrg -Wmissing-braces warning.
587 1.1 mrg
588 1.1 mrg 2019-11-16 Edward Smith-Rowland <3dw4rd (a] verizon.net>
589 1.1 mrg
590 1.1 mrg Repair the <tuple> part of C++20 p1032 Misc constexpr bits.
591 1.1 mrg * include/bits/uses_allocator.h (__uses_alloc0::_Sink::operaror=)
592 1.1 mrg (__use_alloc(const _Alloc&)) : Constexpr.
593 1.1 mrg
594 1.1 mrg 2019-11-17 Jonathan Wakely <jwakely (a] redhat.com>
595 1.1 mrg
596 1.1 mrg * include/std/string_view (basic_string_view(It, End)): Add range
597 1.1 mrg constructor and deduction guide from P1391R4.
598 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/range.cc: New test.
599 1.1 mrg
600 1.1 mrg * include/bits/regex.h (match_results): Specialize __enable_view_impl.
601 1.1 mrg * include/bits/stl_set.h (set): Likewise.
602 1.1 mrg * include/bits/unordered_set.h (unordered_set, unordered_multiset):
603 1.1 mrg Likewise.
604 1.1 mrg * include/debug/multiset.h (__debug::multiset): Likewise.
605 1.1 mrg * include/debug/set.h (__debug::set): Likewise.
606 1.1 mrg * include/debug/unordered_set (__debug::unordered_set)
607 1.1 mrg (__debug::unordered_multiset): Likewise.
608 1.1 mrg * include/std/ranges (ranges::view, ranges::enable_view)
609 1.1 mrg (ranges::view_interface, ranges::subrange, ranges::empty_view)
610 1.1 mrg (ranges::single_view, ranges::views::single, ranges::iota_view)
611 1.1 mrg (ranges::views::iota): Define for C++20.
612 1.1 mrg * testsuite/std/ranges/empty_view.cc: New test.
613 1.1 mrg * testsuite/std/ranges/iota_view.cc: New test.
614 1.1 mrg * testsuite/std/ranges/single_view.cc: New test.
615 1.1 mrg * testsuite/std/ranges/view.cc: New test.
616 1.1 mrg
617 1.1 mrg 2019-11-16 Jonathan Wakely <jwakely (a] redhat.com>
618 1.1 mrg
619 1.1 mrg * include/std/ranges: Revert accidentally committed changes.
620 1.1 mrg
621 1.1 mrg * include/std/thread (jthread::jthread()): Use nostopstate constant.
622 1.1 mrg (jthread::jthread(Callable&&, Args&&...)): Use helper function to
623 1.1 mrg create std::thread instead of indirection through a lambda. Use
624 1.1 mrg remove_cvref_t instead of decay_t.
625 1.1 mrg (jthread::joinable(), jthread::get_id(), jthread::native_handle())
626 1.1 mrg (jthread::hardware_concurrency()): Add nodiscard attribute.
627 1.1 mrg (swap(jthread&. jthread&)): Define hidden friend.
628 1.1 mrg (jthread::_S_create): New helper function for constructor.
629 1.1 mrg
630 1.1 mrg 2019-11-15 Edward Smith-Rowland <3dw4rd (a] verizon.net>
631 1.1 mrg
632 1.1 mrg Implement the <tuple> part of C++20 p1032 Misc constexpr bits.
633 1.1 mrg * include/std/tuple (_Head_base, _Tuple_impl(allocator_arg_t,...)
634 1.1 mrg (_M_assign, tuple(allocator_arg_t,...), _Inherited, operator=, _M_swap)
635 1.1 mrg (swap, pair(piecewise_construct_t,): Constexpr.
636 1.1 mrg * (__uses_alloc0::_Sink::operator=, __uses_alloc_t): Constexpr.
637 1.1 mrg * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: New test.
638 1.1 mrg * testsuite/20_util/tuple/constexpr_swap.cc : New test.
639 1.1 mrg * testsuite/20_util/uses_allocator/69293_neg.cc: Extra error for C++20.
640 1.1 mrg * testsuite/20_util/uses_allocator/cons_neg.cc: : Extra error for C++20.
641 1.1 mrg
642 1.1 mrg 2019-11-15 Jonathan Wakely <jwakely (a] redhat.com>
643 1.1 mrg
644 1.1 mrg * include/std/stop_token: Reduce header dependencies by including
645 1.1 mrg internal headers.
646 1.1 mrg (stop_token::swap(stop_token&), swap(stop_token&, stop_token&)):
647 1.1 mrg Define.
648 1.1 mrg (operator!=(const stop_token&, const stop_token&)): Fix return value.
649 1.1 mrg (stop_token::_Stop_cb::_Stop_cb(Cb&&)): Use std::forward instead of
650 1.1 mrg (stop_token::_Stop_state_t) [_GLIBCXX_HAS_GTHREADS]: Use lock_guard
651 1.1 mrg instead of unique_lock.
652 1.1 mrg [!_GLIBCXX_HAS_GTHREADS]: Do not use mutex.
653 1.1 mrg (stop_token::stop_token(_Stop_state)): Change parameter to lvalue
654 1.1 mrg reference.
655 1.1 mrg (stop_source): Remove unnecessary using-declarations for names only
656 1.1 mrg used once.
657 1.1 mrg (swap(stop_source&, stop_source&)): Define.
658 1.1 mrg (stop_callback(const stop_token&, _Cb&&))
659 1.1 mrg (stop_callback(stop_token&&, _Cb&&)): Replace lambdas with a named
660 1.1 mrg function. Use std::forward instead of std::move. Run callbacks if a
661 1.1 mrg stop request has already been made.
662 1.1 mrg (stop_source::_M_execute()): Remove.
663 1.1 mrg (stop_source::_S_execute(_Stop_cb*)): Define.
664 1.1 mrg * include/std/version (__cpp_lib_jthread): Define conditionally.
665 1.1 mrg * testsuite/30_threads/stop_token/stop_callback.cc: New test.
666 1.1 mrg * testsuite/30_threads/stop_token/stop_source.cc: New test.
667 1.1 mrg * testsuite/30_threads/stop_token/stop_token.cc: Enable test for
668 1.1 mrg immediate execution of callback.
669 1.1 mrg
670 1.1 mrg 2019-11-15 Edward Smith-Rowland <3dw4rd (a] verizon.net>
671 1.1 mrg
672 1.1 mrg Implement the default_searcher part of C++20 p1032 Misc constexpr bits.
673 1.1 mrg * include/std/functional
674 1.1 mrg (default_searcher, default_searcher::operator()): Constexpr.
675 1.1 mrg * testsuite/20_util/function_objects/constexpr_searcher.cc: New.
676 1.1 mrg
677 1.1 mrg 2019-11-15 Jonathan Wakely <jwakely (a] redhat.com>
678 1.1 mrg
679 1.1 mrg * include/bits/iterator_concepts.h (weakly_incrementable): Adjust.
680 1.1 mrg * include/std/concepts (default_constructible): Rename to
681 1.1 mrg default_initializable and require default-list-initialization and
682 1.1 mrg default-initialization to be valid (LWG 3149).
683 1.1 mrg (semiregular): Adjust to new name.
684 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.defaultconstructible/
685 1.1 mrg 1.cc: Rename directory to concept.defaultinitializable and adjust to
686 1.1 mrg new name.
687 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/
688 1.1 mrg lwg3149.cc: New test.
689 1.1 mrg * testsuite/util/testsuite_iterators.h (test_range): Adjust.
690 1.1 mrg
691 1.1 mrg * src/c++17/fs_path.cc [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
692 1.1 mrg (is_disk_designator): New helper function.
693 1.1 mrg (path::_Parser::root_path()): Use is_disk_designator.
694 1.1 mrg (path::lexically_relative(const path&)): Implement resolution of
695 1.1 mrg LWG 3070.
696 1.1 mrg * testsuite/27_io/filesystem/path/generation/relative.cc: Check with
697 1.1 mrg path components that look like a root-name.
698 1.1 mrg
699 1.1 mrg * doc/doxygen/user.cfg.in: Add <stop_token>.
700 1.1 mrg * include/precompiled/stdc++.h: Likewise.
701 1.1 mrg * include/std/stop_token: Fix definition of std::nostopstate.
702 1.1 mrg * testsuite/30_threads/headers/stop_token/synopsis.cc: New test.
703 1.1 mrg * testsuite/30_threads/headers/thread/types_std_c++20.cc: New test.
704 1.1 mrg * testsuite/30_threads/stop_token/stop_source.cc: New test.
705 1.1 mrg * testsuite/30_threads/stop_token/stop_token.cc: Remove unnecessary
706 1.1 mrg dg-require directives. Remove I/O and inclusion of <iostream>.
707 1.1 mrg
708 1.1 mrg 2019-11-14 Thomas Rodgers <trodgers (a] redhat.com>
709 1.1 mrg
710 1.1 mrg * include/Makefile.am: Add <stop_token> header.
711 1.1 mrg * include/Makefile.in: Regenerate.
712 1.1 mrg * include/std/condition_variable: Add overloads for stop_token support
713 1.1 mrg to condition_variable_any.
714 1.1 mrg * include/std/stop_token: New file.
715 1.1 mrg * include/std/thread: Add jthread type.
716 1.1 mrg * include/std/version (__cpp_lib_jthread): New value.
717 1.1 mrg * testsuite/30_threads/condition_variable_any/stop_token/1.cc: New test.
718 1.1 mrg * testsuite/30_threads/condition_variable_any/stop_token/2.cc: New test.
719 1.1 mrg * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
720 1.1 mrg New test.
721 1.1 mrg * testsuite/30_threads/jthread/1.cc: New test.
722 1.1 mrg * testsuite/30_threads/jthread/2.cc: New test.
723 1.1 mrg * testsuite/30_threads/jthread/jthread.cc: New test.
724 1.1 mrg * testsuite/30_threads/stop_token/1.cc: New test.
725 1.1 mrg * testsuite/30_threads/stop_token/2.cc: New test.
726 1.1 mrg * testsuite/30_threads/stop_token/stop_token.cc: New test.
727 1.1 mrg
728 1.1 mrg 2019-11-14 Edward Smith-Rowland <3dw4rd (a] verizon.net>
729 1.1 mrg
730 1.1 mrg Implement the <array> part of C++20 p1032 Misc constexpr bits.
731 1.1 mrg * include/std/array (fill, swap): Make constexpr.
732 1.1 mrg * testsuite/23_containers/array/requirements/constexpr_fill.cc: New.
733 1.1 mrg * testsuite/23_containers/array/requirements/constexpr_swap.cc: New.
734 1.1 mrg
735 1.1 mrg 2019-11-14 Jonathan Wakely <jwakely (a] redhat.com>
736 1.1 mrg
737 1.1 mrg * include/bits/iterator_concepts.h (__iter_concept_impl): Add
738 1.1 mrg comments.
739 1.1 mrg (indirect_relation): Rename to indirect_binary_predicate and adjust
740 1.1 mrg definition as per P1716R3.
741 1.1 mrg (indirect_equivalence_relation): Define.
742 1.1 mrg (indirectly_comparable): Adjust definition.
743 1.1 mrg * include/std/concepts (equivalence_relation): Define.
744 1.1 mrg * testsuite/std/concepts/concepts.callable/relation.cc: Add tests for
745 1.1 mrg equivalence_relation.
746 1.1 mrg
747 1.1 mrg * include/bits/iterator_concepts.h (disable_sized_sentinel): Rename to
748 1.1 mrg disable_sized_sentinel_for.
749 1.1 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: Adjust.
750 1.1 mrg
751 1.1 mrg 2019-11-13 Jonathan Wakely <jwakely (a] redhat.com>
752 1.1 mrg
753 1.1 mrg * libsupc++/compare (strong_order, weak_order, partial_order)
754 1.1 mrg (compare_strong_order_fallback, compare_weak_order_fallback)
755 1.1 mrg (compare_partial_order_fallback): Define customization point objects
756 1.1 mrg for C++20.
757 1.1 mrg * testsuite/18_support/comparisons/algorithms/partial_order.cc: New
758 1.1 mrg test.
759 1.1 mrg * testsuite/18_support/comparisons/algorithms/strong_order.cc: New
760 1.1 mrg test.
761 1.1 mrg * testsuite/18_support/comparisons/algorithms/weak_order.cc: New test.
762 1.1 mrg
763 1.1 mrg 2019-11-11 Gerald Pfeifer <gerald (a] pfeifer.com>
764 1.1 mrg
765 1.1 mrg * doc/xml/gnu/gpl-3.0.xml: Adjust link to "Why not LGPL".
766 1.1 mrg
767 1.1 mrg 2019-11-10 Gerald Pfeifer <gerald (a] pfeifer.com>
768 1.1 mrg
769 1.1 mrg * doc/xml/manual/using.xml: Switch www.hboehm.info to https.
770 1.1 mrg
771 1.1 mrg 2019-11-07 Jonathan Wakely <jwakely (a] redhat.com>
772 1.1 mrg
773 1.1 mrg * doc/doxygen/user.cfg.in (INPUT): Add <compare> header.
774 1.1 mrg * include/precompiled/stdc++.h: Include <compare> header.
775 1.1 mrg
776 1.1 mrg * libsupc++/compare (common_comparison_category)
777 1.1 mrg (common_comparison_category_t): Define for C++20.
778 1.1 mrg * testsuite/18_support/comparisons/common/1.cc: New test.
779 1.1 mrg
780 1.1 mrg * include/bits/stl_algo.h (for_each_n): Handle negative count.
781 1.1 mrg * testsuite/25_algorithms/for_each/for_each_n_debug.cc: New test.
782 1.1 mrg
783 1.1 mrg 2019-11-07 Jason Merrill <jason (a] redhat.com>
784 1.1 mrg
785 1.1 mrg * libsupc++/compare: Remove strong_equality and weak_equality.
786 1.1 mrg
787 1.1 mrg 2019-11-06 Jonathan Wakely <jwakely (a] redhat.com>
788 1.1 mrg
789 1.1 mrg * include/Makefile.in: Regenerate.
790 1.1 mrg * libsupc++/Makefile.in: Regenerate.
791 1.1 mrg * libsupc++/compare (__3way_builtin_ptr_cmp): Define helper.
792 1.1 mrg (compare_three_way): Add missing implementation.
793 1.1 mrg
794 1.1 mrg * include/bits/iterator_concepts.h (unreachable_sentinel_t): Remove
795 1.1 mrg redundant equality operators.
796 1.1 mrg * testsuite/util/testsuite_iterators.h (test_range::sentinel):
797 1.1 mrg Likewise.
798 1.1 mrg
799 1.1 mrg 2019-11-05 Jonathan Wakely <jwakely (a] redhat.com>
800 1.1 mrg
801 1.1 mrg * libsupc++/compare: New header.
802 1.1 mrg * libsupc++/Makefile.am (std_HEADERS): Add compare.
803 1.1 mrg * include/std/version: Define __cpp_lib_three_way_comparison.
804 1.1 mrg * include/std/functional: #include <compare>.
805 1.1 mrg
806 1.1 mrg * include/std/version [!_GLIBCXX_HOSTED]: Do not define feature test
807 1.1 mrg macros for features that are only present in hosted builds.
808 1.1 mrg
809 1.1 mrg * include/bits/iterator_concepts.h (__iter_without_nested_types):
810 1.1 mrg Remove incorrect comment.
811 1.1 mrg
812 1.1 mrg 2019-10-31 Jonathan Wakely <jwakely (a] redhat.com>
813 1.1 mrg
814 1.1 mrg * doc/html/*: Regenerate.
815 1.1 mrg
816 1.1 mrg * include/bits/refwrap.h (reference_wrapper, ref, cref): Add constexpr
817 1.1 mrg specifiers for C++20.
818 1.1 mrg * include/std/functional (_Mem_fn, mem_fn, _Bind, _Bind_result, bind)
819 1.1 mrg (bind_front, _Not_fn, not_fn): Likewise.
820 1.1 mrg * testsuite/20_util/bind/constexpr.cc: New test.
821 1.1 mrg * testsuite/20_util/function_objects/bind_front/constexpr.cc: New test.
822 1.1 mrg * testsuite/20_util/function_objects/mem_fn/constexpr.cc: New test.
823 1.1 mrg * testsuite/20_util/function_objects/not_fn/constexpr.cc: New test.
824 1.1 mrg * testsuite/20_util/reference_wrapper/constexpr.cc: New test.
825 1.1 mrg
826 1.1 mrg * doc/doxygen/user.cfg.in: Add new header.
827 1.1 mrg * include/Makefile.am: Add new header.
828 1.1 mrg * include/Makefile.in: Regenerate.
829 1.1 mrg * include/precompiled/stdc++.h: Include new header.
830 1.1 mrg * include/std/ranges: New header.
831 1.1 mrg (ranges::sentinel_t, ranges::range_value_t, ranges::range_reference_t)
832 1.1 mrg (ranges::range_rvalue_reference_t, ranges::sized_range)
833 1.1 mrg (ranges::output_range, ranges::input_ranges, ranges::forward_range)
834 1.1 mrg (ranges::bidirectional_range, ranges::random_access_range)
835 1.1 mrg (ranges::contiguous_range, ranges::common::range): Define.
836 1.1 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: Check
837 1.1 mrg that disabled_sized_sentinel can be specialized.
838 1.1 mrg * testsuite/std/ranges/access/begin.cc: Include <ranges> instead of
839 1.1 mrg <iterator>.
840 1.1 mrg * testsuite/std/ranges/access/cbegin.cc: Likewise.
841 1.1 mrg * testsuite/std/ranges/access/cdata.cc: Likewise.
842 1.1 mrg * testsuite/std/ranges/access/cend.cc: Likewise.
843 1.1 mrg * testsuite/std/ranges/access/crbegin.cc: Likewise.
844 1.1 mrg * testsuite/std/ranges/access/crend.cc: Likewise.
845 1.1 mrg * testsuite/std/ranges/access/data.cc: Likewise.
846 1.1 mrg * testsuite/std/ranges/access/empty.cc: Likewise.
847 1.1 mrg * testsuite/std/ranges/access/end.cc: Likewise.
848 1.1 mrg * testsuite/std/ranges/access/end_neg.cc: Likewise.
849 1.1 mrg * testsuite/std/ranges/access/rbegin.cc: Likewise.
850 1.1 mrg * testsuite/std/ranges/access/rend.cc: Likewise.
851 1.1 mrg * testsuite/std/ranges/access/size.cc: Likewise.
852 1.1 mrg * testsuite/std/ranges/access/size_neg.cc: Likewise.
853 1.1 mrg * testsuite/std/ranges/headers/ranges/synopsis.cc: New test.
854 1.1 mrg * testsuite/std/ranges/range.cc: New test.
855 1.1 mrg * testsuite/std/ranges/refinements.cc: New test.
856 1.1 mrg * testsuite/std/ranges/sized.cc: New test.
857 1.1 mrg * testsuite/util/testsuite_iterators.h: Add aliases for range types.
858 1.1 mrg (output_iterator_wrapper::WritableObject::operator=): Add const
859 1.1 mrg qualifier so that output_iterator_wrapper satisfies writable.
860 1.1 mrg
861 1.1 mrg * testsuite/20_util/add_pointer/value.cc: Check void types.
862 1.1 mrg
863 1.1 mrg * include/bits/range_access.h (__sizable): Rename to __sentinel_size.
864 1.1 mrg Remove workaround for PR c++/92268 and remove redundant requirements
865 1.1 mrg that are already checked by sized_sentinel_for.
866 1.1 mrg * testsuite/std/ranges/access/cend.cc: Fix failures.
867 1.1 mrg * testsuite/std/ranges/access/end.cc: Likewise.
868 1.1 mrg
869 1.1 mrg * include/bits/range_access.h (ranges::begin): Combine array and
870 1.1 mrg non-array overloads into one function template. Only use ADL for
871 1.1 mrg classes and enums.
872 1.1 mrg (ranges::end, ranges::size): Likewise. Make unbounded arrays
873 1.1 mrg ill-formed.
874 1.1 mrg (ranges::rbegin, ranges::rend): Only use ADL for classes and enums.
875 1.1 mrg Reformat _S_noexcept() functions to mirror operator() structure.
876 1.1 mrg * testsuite/std/ranges/access/begin.cc: Check incomplete array.
877 1.1 mrg * testsuite/std/ranges/access/end_neg.cc: New test.
878 1.1 mrg * testsuite/std/ranges/access/size.cc: Check array of incomplete type.
879 1.1 mrg * testsuite/std/ranges/access/size_neg.cc: New test.
880 1.1 mrg
881 1.1 mrg * testsuite/24_iterators/range_access*.cc: Move to ...
882 1.1 mrg * testsuite/24_iterators/range_access/range_access*.cc: ... here.
883 1.1 mrg * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc: New
884 1.1 mrg test.
885 1.1 mrg
886 1.1 mrg 2019-10-30 Jonathan Wakely <jwakely (a] redhat.com>
887 1.1 mrg
888 1.1 mrg * include/std/concepts (std::ranges::swap): Use a single overload for
889 1.1 mrg the non-array cases, and switch using if-constexpr.
890 1.1 mrg
891 1.1 mrg * include/bits/stl_iterator.h (__normal_iterator::iterator_concept):
892 1.1 mrg Guard with __cpp_lib_concepts macro.
893 1.1 mrg
894 1.1 mrg * include/std/bit (__cpp_lib_bitops): Define.
895 1.1 mrg * include/std/version (__cpp_lib_constexpr): Remove.
896 1.1 mrg (__cpp_lib_bitops, __cpp_lib_constexpr_dynamic_alloc): Define.
897 1.1 mrg * testsuite/26_numerics/bit/header.cc: New test.
898 1.1 mrg * testsuite/26_numerics/bit/header-2.cc: New test.
899 1.1 mrg * testsuite/20_util/allocator_traits/header.cc: New test.
900 1.1 mrg * testsuite/20_util/allocator_traits/header-2.cc: New test.
901 1.1 mrg
902 1.1 mrg * include/bits/stl_iterator.h (namespace __gnu_cxx): Remove
903 1.1 mrg using-declarations for std::iterator and std::iterator_traits.
904 1.1 mrg (__gnu_cxx::__normal_iterator): Qualify iterator_traits.
905 1.1 mrg * include/ext/algorithm (namespace __gnu_cxx): Remove
906 1.1 mrg using-declarations for std names and qualify those names when used.
907 1.1 mrg Also refer to std::min in parentheses to protect against function-like
908 1.1 mrg macros.
909 1.1 mrg * include/ext/rc_string_base.h: Qualify iterator_traits.
910 1.1 mrg * include/ext/sso_string_base.h: Qualify iterator_traits.
911 1.1 mrg
912 1.1 mrg PR libstdc++/92272
913 1.1 mrg * include/bits/stl_bvector.h (_Bit_iterator::pointer)
914 1.1 mrg (_Bit_const_iterator::pointer): Define as void for C++20.
915 1.1 mrg * include/bits/stl_iterator.h (reverse_iterator::operator->()): Add
916 1.1 mrg constraints for C++20.
917 1.1 mrg (__normal_iterator::iterator_concept): Define for C++20.
918 1.1 mrg * include/bits/streambuf_iterator.h (istreambuf_iterator::pointer):
919 1.1 mrg Define as void for C++20.
920 1.1 mrg (ostreambuf_iterator::difference_type): Define as ptrdiff_t for C++20.
921 1.1 mrg (ostreambuf_iterator::ostreambuf_iterator()): Add default constructor
922 1.1 mrg for C++20.
923 1.1 mrg * testsuite/23_containers/vector/bool/iterator_c++20.cc: New test.
924 1.1 mrg * testsuite/24_iterators/bidirectional/concept.cc: New test.
925 1.1 mrg * testsuite/24_iterators/bidirectional/tag.cc: New test.
926 1.1 mrg * testsuite/24_iterators/contiguous/concept.cc: New test.
927 1.1 mrg * testsuite/24_iterators/contiguous/tag.cc: New test.
928 1.1 mrg * testsuite/24_iterators/forward/concept.cc: New test.
929 1.1 mrg * testsuite/24_iterators/forward/tag.cc: New test.
930 1.1 mrg * testsuite/24_iterators/input/concept.cc: New test.
931 1.1 mrg * testsuite/24_iterators/input/tag.cc: New test.
932 1.1 mrg * testsuite/24_iterators/istreambuf_iterator/requirements/typedefs.cc:
933 1.1 mrg New test.
934 1.1 mrg * testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc:
935 1.1 mrg New test.
936 1.1 mrg * testsuite/24_iterators/output/concept.cc: New test.
937 1.1 mrg * testsuite/24_iterators/output/tag.cc: New test.
938 1.1 mrg * testsuite/24_iterators/random_access/concept.cc: New test.
939 1.1 mrg * testsuite/24_iterators/random_access/tag.cc: New test.
940 1.1 mrg * testsuite/24_iterators/range_operations/advance_debug_neg.cc: New
941 1.1 mrg test.
942 1.1 mrg * testsuite/24_iterators/random_access_iterator/26020.cc: Move to ...
943 1.1 mrg * testsuite/24_iterators/operations/26020.cc: ... here.
944 1.1 mrg * testsuite/24_iterators/random_access_iterator/
945 1.1 mrg string_vector_iterators.cc: Move to ...
946 1.1 mrg * testsuite/24_iterators/random_access/string_vector_iterators.cc: ...
947 1.1 mrg here.
948 1.1 mrg
949 1.1 mrg * testsuite/util/testsuite_iterators.h: Fix typo in __cplusplus check.
950 1.1 mrg
951 1.1 mrg 2019-10-29 Jonathan Wakely <jwakely (a] redhat.com>
952 1.1 mrg
953 1.1 mrg * include/bits/range_access.h (ranges::disable_sized_range)
954 1.1 mrg (ranges::begin, ranges::end, ranges::cbegin, ranges::cend)
955 1.1 mrg (ranges::rbegin, ranges::rend, ranges::crbegin, ranges::crend)
956 1.1 mrg (ranges::size, ranges::empty, ranges::data, ranges::cdata)
957 1.1 mrg (ranges::range, ranges::sized_range, ranges::advance, ranges::distance)
958 1.1 mrg (ranges::next, ranges::prev): Guard with __cpp_lib_concepts.
959 1.1 mrg * include/bits/stl_iterator.h (disable_sized_sentinel): Likewise.
960 1.1 mrg
961 1.1 mrg * include/bits/alloc_traits.h (__cpp_lib_constexpr_dynamic_alloc):
962 1.1 mrg Define.
963 1.1 mrg (allocator_traits::_S_construct, allocator_traits::_S_destroy)
964 1.1 mrg (__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Use
965 1.1 mrg _GLIBCXX14_CONSTEXPR instead of constexpr.
966 1.1 mrg * include/bits/stl_construct.h (_Destroy): Likewise.
967 1.1 mrg
968 1.1 mrg * include/Makefile.am: Add new header.
969 1.1 mrg * include/Makefile.in: Regenerate.
970 1.1 mrg * include/bits/iterator_concepts.h: New header.
971 1.1 mrg (contiguous_iterator_tag, iter_reference_t, ranges::iter_move)
972 1.1 mrg (iter_rvalue_reference_t, incrementable_traits, iter_difference_t)
973 1.1 mrg (readable_traits, iter_value_t, readable, iter_common_reference_t)
974 1.1 mrg (writable, waekly_incrementable, incrementable)
975 1.1 mrg (input_or_output_iterator, sentinel_for, disable_sized_sentinel)
976 1.1 mrg (sized_sentinel_for, input_iterator, output_iterator)
977 1.1 mrg (forward_iterator, bidirectional_iterator, random_access_iterator)
978 1.1 mrg (contiguous_iterator, indirectly_unary_invocable)
979 1.1 mrg (indirectly_regular_unary_invocable, indirect_unary_predicate)
980 1.1 mrg (indirect_relation, indirect_strict_weak_order, indirect_result_t)
981 1.1 mrg (projected, indirectly_movable, indirectly_movable_storable)
982 1.1 mrg (indirectly_copyable, indirectly_copyable_storable, ranges::iter_swap)
983 1.1 mrg (indirectly_swappable, indirectly_comparable, permutable, mergeable)
984 1.1 mrg (sortable, unreachable_sentinel_t, unreachable_sentinel)
985 1.1 mrg (default_sentinel_t, default_sentinel): Define.
986 1.1 mrg (__detail::__cpp17_iterator, __detail::__cpp17_input_iterator)
987 1.1 mrg (__detail::__cpp17_fwd_iterator, __detail::__cpp17_bidi_iterator)
988 1.1 mrg (__detail::__cpp17_randacc_iterator): Define.
989 1.1 mrg (__iterator_traits): Define constrained specializations.
990 1.1 mrg * include/bits/move.h (move): Only use old concept check for C++98.
991 1.1 mrg * include/bits/range_access.h (ranges::disable_sized_range)
992 1.1 mrg (ranges::begin, ranges::end, ranges::cbegin, ranges::cend)
993 1.1 mrg (ranges::rbegin, ranges::rend, ranges::crbegin, ranges::crend)
994 1.1 mrg (ranges::size, ranges::empty, ranges::data, ranges::cdata): Define
995 1.1 mrg new customization points for C++20.
996 1.1 mrg (ranges::range, ranges::sized_range): Define new concepts for C++20.
997 1.1 mrg (ranges::advance, ranges::distance, ranges::next, ranges::prev):
998 1.1 mrg Define new functions for C++20.
999 1.1 mrg (__adl_end, __adl_cdata, __adl_cbegin, __adl_cend, __adl_rbegin)
1000 1.1 mrg (__adl_rend, __adl_crbegin, __adl_crend, __adl_cdata, __adl_size)
1001 1.1 mrg (__adl_empty): Remove.
1002 1.1 mrg * include/bits/stl_iterator.h (disable_sized_sentinel): Specialize
1003 1.1 mrg for reverse_iterator.
1004 1.1 mrg * include/bits/stl_iterator_base_types.h (contiguous_iterator_tag):
1005 1.1 mrg Define new struct for C++20.
1006 1.1 mrg (iterator_traits<_Tp*>): Constrain partial specialization in C++20.
1007 1.1 mrg * include/std/concepts (__is_class_or_enum): Move to __detail
1008 1.1 mrg namespace.
1009 1.1 mrg * testsuite/20_util/forward/c_neg.cc: Adjust dg-error line number.
1010 1.1 mrg * testsuite/20_util/forward/f_neg.cc: Likewise.
1011 1.1 mrg * testsuite/24_iterators/associated_types/incrementable.traits.cc: New
1012 1.1 mrg test.
1013 1.1 mrg * testsuite/24_iterators/associated_types/readable.traits.cc: New test.
1014 1.1 mrg * testsuite/24_iterators/contiguous/concept.cc: New test.
1015 1.1 mrg * testsuite/24_iterators/contiguous/tag.cc: New test.
1016 1.1 mrg * testsuite/24_iterators/customization_points/iter_move.cc: New test.
1017 1.1 mrg * testsuite/24_iterators/customization_points/iter_swap.cc: New test.
1018 1.1 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: New test.
1019 1.1 mrg * testsuite/24_iterators/range_operations/advance.cc: New test.
1020 1.1 mrg * testsuite/24_iterators/range_operations/distance.cc: New test.
1021 1.1 mrg * testsuite/24_iterators/range_operations/next.cc: New test.
1022 1.1 mrg * testsuite/24_iterators/range_operations/prev.cc: New test.
1023 1.1 mrg * testsuite/26_numerics/adjacent_difference/requirements/
1024 1.1 mrg explicit_instantiation/2.cc: Rename types that conflict with C++20
1025 1.1 mrg concepts.
1026 1.1 mrg * testsuite/26_numerics/adjacent_difference/requirements/
1027 1.1 mrg explicit_instantiation/pod.cc: Likewise.
1028 1.1 mrg * testsuite/26_numerics/partial_sum/requirements/
1029 1.1 mrg explicit_instantiation/2.cc: Likewise.
1030 1.1 mrg * testsuite/26_numerics/partial_sum/requirements/
1031 1.1 mrg explicit_instantiation/pod.cc: Likewise.
1032 1.1 mrg * testsuite/experimental/iterator/requirements.cc: Likewise.
1033 1.1 mrg * testsuite/std/ranges/access/begin.cc: New test.
1034 1.1 mrg * testsuite/std/ranges/access/cbegin.cc: New test.
1035 1.1 mrg * testsuite/std/ranges/access/cdata.cc: New test.
1036 1.1 mrg * testsuite/std/ranges/access/cend.cc: New test.
1037 1.1 mrg * testsuite/std/ranges/access/crbegin.cc: New test.
1038 1.1 mrg * testsuite/std/ranges/access/crend.cc: New test.
1039 1.1 mrg * testsuite/std/ranges/access/data.cc: New test.
1040 1.1 mrg * testsuite/std/ranges/access/empty.cc: New test.
1041 1.1 mrg * testsuite/std/ranges/access/end.cc: New test.
1042 1.1 mrg * testsuite/std/ranges/access/rbegin.cc: New test.
1043 1.1 mrg * testsuite/std/ranges/access/rend.cc: New test.
1044 1.1 mrg * testsuite/std/ranges/access/size.cc: New test.
1045 1.1 mrg * testsuite/util/testsuite_iterators.h (contiguous_iterator_wrapper)
1046 1.1 mrg (test_range, test_sized_range): New test utilities.
1047 1.1 mrg
1048 1.1 mrg * testsuite/util/testsuite_iterators.h (BoundsContainer::size()): Add
1049 1.1 mrg new member function.
1050 1.1 mrg (WritableObject::operator=): Constrain with enable_if when available.
1051 1.1 mrg (remove_cv): Use std::remove_if when available.
1052 1.1 mrg (test_container::it(int)): Use size().
1053 1.1 mrg (test_container::size()): Use BoundsContainer::size().
1054 1.1 mrg
1055 1.1 mrg PR libstdc++/92267
1056 1.1 mrg * include/bits/stl_deque.h (_Deque_iterator(const _Deque_iterator&)):
1057 1.1 mrg Do not define as defaulted.
1058 1.1 mrg * testsuite/23_containers/deque/types/92267.cc: New test.
1059 1.1 mrg
1060 1.1 mrg 2019-10-26 Gerald Pfeifer <gerald (a] pfeifer.com>
1061 1.1 mrg
1062 1.1 mrg * doc/xml/manual/codecvt.xml: Switch pubs.opengroup.org to https.
1063 1.1 mrg * doc/xml/manual/locale.xml (LC_ALL): Ditto.
1064 1.1 mrg * doc/xml/manual/messages.xml: Ditto.
1065 1.1 mrg
1066 1.1 mrg 2019-10-26 John David Anglin <danglin (a] gcc.gnu.org>
1067 1.1 mrg
1068 1.1 mrg * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1069 1.1 mrg
1070 1.1 mrg 2019-10-25 Jonathan Wakely <jwakely (a] redhat.com>
1071 1.1 mrg
1072 1.1 mrg * testsuite/util/testsuite_iterators.h (output_iterator_wrapper)
1073 1.1 mrg (input_iterator_wrapper, forward_iterator_wrapper)
1074 1.1 mrg bidirectional_iterator_wrapper, random_access_iterator_wrapper): Remove
1075 1.1 mrg user-provided copy constructors and copy assignment operators so they
1076 1.1 mrg are defined implicitly.
1077 1.1 mrg (input_iterator_wrapper): Initialize members in default constructor.
1078 1.1 mrg (forward_iterator_wrapper): Remove assignments to members of base.
1079 1.1 mrg
1080 1.1 mrg * include/bits/allocator.h: Check __cpp_constexpr_dynamic_alloc
1081 1.1 mrg before making the std::allocator destructor constexpr.
1082 1.1 mrg * testsuite/20_util/allocator/requirements/constexpr.cc: New test.
1083 1.1 mrg
1084 1.1 mrg * include/bits/range_cmp.h: Check __cpp_lib_concepts before defining
1085 1.1 mrg concepts. Fix comment.
1086 1.1 mrg * include/bits/allocator.h
1087 1.1 mrg
1088 1.1 mrg 2019-10-25 Gerald Pfeifer <gerald (a] pfeifer.com>
1089 1.1 mrg
1090 1.1 mrg * doc/xml/manual/policy_data_structures_biblio.xml: Switch
1091 1.1 mrg pubs.opengroup.org to https.
1092 1.1 mrg
1093 1.1 mrg 2019-10-25 Gerald Pfeifer <gerald (a] pfeifer.com>
1094 1.1 mrg
1095 1.1 mrg * doc/xml/gnu/gpl-3.0.xml: Switch www.gnu.org to https.
1096 1.1 mrg
1097 1.1 mrg 2019-09-09 Edward Smith-Rowland <3dw4rd (a] verizon.net>
1098 1.1 mrg
1099 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Add rows and update status.
1100 1.1 mrg
1101 1.1 mrg 2019-10-24 Jonathan Wakely <jwakely (a] redhat.com>
1102 1.1 mrg
1103 1.1 mrg * include/bits/allocator.h (allocator<void>): Restore the explicit
1104 1.1 mrg specialization for C++20, but make its API consistent with the primary
1105 1.1 mrg template.
1106 1.1 mrg (allocator::~allocator()): Restore the destructor for C++20, but make
1107 1.1 mrg it constexpr.
1108 1.1 mrg * testsuite/20_util/allocator/rebind_c++20.cc: Check allocator<void>.
1109 1.1 mrg * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: Likewise.
1110 1.1 mrg * testsuite/20_util/allocator/void.cc: Check that constructors and
1111 1.1 mrg destructors are trivial. Check for converting constructor in C++20.
1112 1.1 mrg * testsuite/ext/malloc_allocator/variadic_construct.cc: Simplify
1113 1.1 mrg dejagnu target selector.
1114 1.1 mrg * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
1115 1.1 mrg
1116 1.1 mrg * include/experimental/executor (__use_future_ct, use_future_t):
1117 1.1 mrg Define partial specializations for std::allocator.
1118 1.1 mrg (__use_future_ch): Overload constructor for completion tokens using
1119 1.1 mrg std::allocator.
1120 1.1 mrg
1121 1.1 mrg PR libstdc++/88338 Implement P0898R3, C++20 concepts library
1122 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update status.
1123 1.1 mrg * doc/html/*: Regenerate.
1124 1.1 mrg * testsuite/std/concepts/1.cc: New test.
1125 1.1 mrg * testsuite/std/concepts/2.cc: New test.
1126 1.1 mrg
1127 1.1 mrg * include/bits/random.h (uniform_random_bit_generator): Define for
1128 1.1 mrg C++20.
1129 1.1 mrg * testsuite/26_numerics/random/concept.cc: New test.
1130 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
1131 1.1 mrg
1132 1.1 mrg 2019-10-23 Jonathan Wakely <jwakely (a] redhat.com>
1133 1.1 mrg
1134 1.1 mrg * include/std/functional (invoke): Add constexpr for C++20.
1135 1.1 mrg * include/std/version (__cpp_lib_constexpr_invoke): Define.
1136 1.1 mrg * testsuite/20_util/function_objects/invoke/constexpr.cc: New test.
1137 1.1 mrg
1138 1.1 mrg PR c++/91369 Implement P0784R7 changes to allocation and construction
1139 1.1 mrg * include/bits/alloc_traits.h: Include <bits/stl_construct.h>.
1140 1.1 mrg (allocator_traits::_S_allocate, allocator_traits::_S_construct)
1141 1.1 mrg (allocator_traits::_S_destroy, allocator_traits::_S_max_size)
1142 1.1 mrg (allocator_traits::_S_select, allocator_traits::allocate)
1143 1.1 mrg (allocator_traits::deallocate, allocator_traits::construct)
1144 1.1 mrg (allocator_traits::destroy, allocator_traits::max_size)
1145 1.1 mrg (allocator_traits::select_on_container_copy_construction)
1146 1.1 mrg (allocator_traits<allocator<T>>): Add constexpr specifier for C++20.
1147 1.1 mrg (allocator_traits<allocator<T>>::construct): Use construct_at.
1148 1.1 mrg (allocator_traits<allocator<T>>::destroy): Use destroy_at.
1149 1.1 mrg (__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Add constexpr
1150 1.1 mrg specifier.
1151 1.1 mrg (_Destroy(ForwardIterator, ForwardIterator, Alloc&))
1152 1.1 mrg (_Destroy(ForwardIterator, ForwardIterator, allocator<T>&)): Move here
1153 1.1 mrg from <bits/stl_construct.h>.
1154 1.1 mrg * include/bits/allocator.h (allocator::~allocator): Remove for C++20.
1155 1.1 mrg (allocator::allocate, allocate::deallocate): Define for C++20 and up.
1156 1.1 mrg (operator==, operator!=): Add constexpr specifier for C++20.
1157 1.1 mrg * include/bits/stl_construct.h: Don't include <ext/alloc_traits.h>.
1158 1.1 mrg (destroy_at): For C++20 add constexpr specifier and support for
1159 1.1 mrg destroying arrays.
1160 1.1 mrg (construct_at): Define new function for C++20.
1161 1.1 mrg (_Construct): Return result of placement new-expression. For C++11 and
1162 1.1 mrg up add constexpr. For C++20 dispatch to std::construct_at during
1163 1.1 mrg constant evaluation.
1164 1.1 mrg (_Destroy(pointer)): Add constexpr specifier. For C++20 dispatch to
1165 1.1 mrg std::destroy_at during constant evaluation.
1166 1.1 mrg (_Destroy_aux::__destroy, _Destroy_n_aux::__destroy_n): Add constexpr
1167 1.1 mrg specifier for C++20.
1168 1.1 mrg (_Destroy(ForwardIterator, ForwardIterator))
1169 1.1 mrg (_Destroy(ForwardIterator, Size)): Likewise. Do not elide trivial
1170 1.1 mrg destructors during constant evaluation.
1171 1.1 mrg (destroy, destroy_n): Add constexpr specifier for C++20.
1172 1.1 mrg (_Destroy(ForwardIterator, ForwardIterator, Alloc&))
1173 1.1 mrg (_Destroy(ForwardIterator, ForwardIterator, allocator<T>&)): Move to
1174 1.1 mrg <bits/alloc_traits.h>, to remove dependency on allocators.
1175 1.1 mrg * include/bits/stl_uninitialized.h: Include <ext/alloc_traits.h>.
1176 1.1 mrg Include <bits/stl_pair.h> instead of <utility>.
1177 1.1 mrg * include/ext/alloc_traits.h: Always include <bits/alloc_traits.h>.
1178 1.1 mrg (__alloc_traits::construct, __alloc_traits::destroy)
1179 1.1 mrg (__alloc_traits::_S_select_on_copy, __alloc_traits::_S_on_swap): Add
1180 1.1 mrg constexpr specifier.
1181 1.1 mrg * include/ext/malloc_allocator.h (operator==, operator!=): Add
1182 1.1 mrg constexpr specifier for C++20.
1183 1.1 mrg * include/ext/new_allocator.h (operator==, operator!=): Likewise.
1184 1.1 mrg * testsuite/20_util/headers/memory/synopsis.cc: Add constexpr.
1185 1.1 mrg * testsuite/20_util/scoped_allocator/69293_neg.cc: Ignore additional
1186 1.1 mrg errors due to constexpr function called after failed static_assert.
1187 1.1 mrg * testsuite/20_util/specialized_algorithms/construct_at/1.cc: New test.
1188 1.1 mrg * testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
1189 1.1 mrg Ignore additional errors due to constexpr function called after failed
1190 1.1 mrg static_assert.
1191 1.1 mrg * testsuite/23_containers/vector/cons/destructible_neg.cc: Likewise.
1192 1.1 mrg
1193 1.1 mrg * testsuite/20_util/bind/91371.cc: Fix test to compile as C++11.
1194 1.1 mrg
1195 1.1 mrg * include/debug/helper_functions.h (__valid_range): Change
1196 1.1 mrg _GLIBCXX_CONSTEXPR to _GLIBCXX14_CONSTEXPR.
1197 1.1 mrg
1198 1.1 mrg * include/ext/throw_allocator.h (throw_allocator_base): Qualify
1199 1.1 mrg size_t and ptrdiff_t.
1200 1.1 mrg
1201 1.1 mrg * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp:
1202 1.1 mrg Use detail::rebind_traits.
1203 1.1 mrg * include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp:
1204 1.1 mrg Likewise.
1205 1.1 mrg * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Likewise.
1206 1.1 mrg * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Likewise.
1207 1.1 mrg * include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp: Likewise.
1208 1.1 mrg * include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp: Likewise.
1209 1.1 mrg * include/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp:
1210 1.1 mrg Likewise.
1211 1.1 mrg * include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp:
1212 1.1 mrg Likewise.
1213 1.1 mrg * include/ext/pb_ds/detail/branch_policy/branch_policy.hpp: Likewise.
1214 1.1 mrg * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Likewise.
1215 1.1 mrg * include/ext/pb_ds/detail/cond_dealtor.hpp: Likewise.
1216 1.1 mrg * include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp (has_eq_fn): Likewise.
1217 1.1 mrg * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Likewise.
1218 1.1 mrg * include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Likewise.
1219 1.1 mrg * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Likewise.
1220 1.1 mrg * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1221 1.1 mrg left_child_next_sibling_heap_.hpp: Likewise.
1222 1.1 mrg * include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp:
1223 1.1 mrg Likewise.
1224 1.1 mrg * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1225 1.1 mrg point_const_iterator.hpp: Likewise.
1226 1.1 mrg * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Likewise.
1227 1.1 mrg * include/ext/pb_ds/detail/ov_tree_map_/
1228 1.1 mrg constructors_destructor_fn_imps.hpp: Likewise.
1229 1.1 mrg * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Likewise.
1230 1.1 mrg * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Likewise.
1231 1.1 mrg * include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Likewise.
1232 1.1 mrg * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Likewise.
1233 1.1 mrg * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Likewise.
1234 1.1 mrg * include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Likewise.
1235 1.1 mrg * include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Likewise.
1236 1.1 mrg * include/ext/pb_ds/detail/splay_tree_/node.hpp: Likewise.
1237 1.1 mrg * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Likewise.
1238 1.1 mrg * include/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp:
1239 1.1 mrg Likewise.
1240 1.1 mrg * include/ext/pb_ds/detail/type_utils.hpp: Fix typo in comment.
1241 1.1 mrg * include/ext/pb_ds/detail/types_traits.hpp (stored_value): Add
1242 1.1 mrg bool parameter to control whether the hash value is stored.
1243 1.1 mrg (select_base_type): New class template and partial specialization.
1244 1.1 mrg (maybe_null_type): Likewise.
1245 1.1 mrg (rebind_traits): New class template.
1246 1.1 mrg (type_base): Remove four nearly identical specializations.
1247 1.1 mrg (type_dispatch): Remove.
1248 1.1 mrg (type_traits): Use select_base_type and maybe_null_type instead of
1249 1.1 mrg type_base to control differences between specializations.
1250 1.1 mrg * include/ext/pb_ds/list_update_policy.hpp: Use detail::rebind_traits.
1251 1.1 mrg * include/ext/pb_ds/priority_queue.hpp: Likewise.
1252 1.1 mrg * include/ext/pb_ds/tree_policy.hpp: Likewise.
1253 1.1 mrg * include/ext/pb_ds/trie_policy.hpp: Likewise.
1254 1.1 mrg
1255 1.1 mrg * include/backward/hash_set (hash_set): Use __alloc_traits.
1256 1.1 mrg * include/backward/hashtable.h (_Hashtable): Likewise.
1257 1.1 mrg * include/ext/alloc_traits.h (__alloc_traits::allocate): Add overload
1258 1.1 mrg taking a hint.
1259 1.1 mrg * include/ext/extptr_allocator.h (_ExtPtr_allocator::allocate): Ignore
1260 1.1 mrg hint.
1261 1.1 mrg * include/ext/slist (_Slist_base): Use __alloc_traits.
1262 1.1 mrg * include/tr1/hashtable.h (_Hashtable): Likewise.
1263 1.1 mrg * include/tr1/regex (match_results): Use vector::const_reference
1264 1.1 mrg instead of assuming the allocator defines it.
1265 1.1 mrg * testsuite/backward/hash_map/23528.cc: Use allocator_traits in C++11.
1266 1.1 mrg * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc: Use
1267 1.1 mrg __gnu_test::max_size.
1268 1.1 mrg * testsuite/tr1/6_containers/unordered_multimap/capacity/
1269 1.1 mrg 29134-multimap.cc: Likewise.
1270 1.1 mrg * testsuite/tr1/6_containers/unordered_multiset/capacity/
1271 1.1 mrg 29134-multiset.cc: Likewise.
1272 1.1 mrg * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
1273 1.1 mrg Likewise.
1274 1.1 mrg
1275 1.1 mrg 2019-10-22 Jonathan Wakely <jwakely (a] redhat.com>
1276 1.1 mrg
1277 1.1 mrg * testsuite/util/testsuite_abi.h: Restore use of tr1/unordered_map
1278 1.1 mrg when compiled as C++98.
1279 1.1 mrg
1280 1.1 mrg * include/bits/memoryfwd.h (uses_allocator): Do not declare for C++98.
1281 1.1 mrg * testsuite/17_intro/names.cc: Check uses_allocator in C++98.
1282 1.1 mrg
1283 1.1 mrg * include/bits/alloc_traits.h
1284 1.1 mrg (allocator_traits<allocator<T>>::allocate): Ignore hint for C++20.
1285 1.1 mrg (allocator_traits<allocator<T>>::construct): Perform placement new
1286 1.1 mrg directly for C++20, instead of calling allocator<T>::construct.
1287 1.1 mrg (allocator_traits<allocator<T>>::destroy): Call destructor directly
1288 1.1 mrg for C++20, instead of calling allocator<T>::destroy.
1289 1.1 mrg (allocator_traits<allocator<T>>::max_size): Return value directly
1290 1.1 mrg for C++20, instead of calling std::allocator<T>::max_size().
1291 1.1 mrg (__do_alloc_on_copy, __do_alloc_on_move, __do_alloc_on_swap): Do not
1292 1.1 mrg define for C++17 and up.
1293 1.1 mrg (__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Use if-constexpr
1294 1.1 mrg for C++17 and up, instead of tag dispatching.
1295 1.1 mrg * include/bits/allocator.h (allocator<void>): Remove for C++20.
1296 1.1 mrg (allocator::pointer, allocator::const_pointer, allocator::reference)
1297 1.1 mrg (allocator::const_reference, allocator::rebind): Remove for C++20.
1298 1.1 mrg * include/bits/basic_string.h (basic_string): Use __alloc_traits to
1299 1.1 mrg rebind allocator.
1300 1.1 mrg * include/bits/memoryfwd.h (allocator<void>): Remove for C++20.
1301 1.1 mrg * include/ext/debug_allocator.h: Use __alloc_traits for rebinding.
1302 1.1 mrg * include/ext/malloc_allocator.h (malloc_allocator::~malloc_allocator)
1303 1.1 mrg (malloc_allocator::pointer, malloc_allocator::const_pointer)
1304 1.1 mrg (malloc_allocator::reference, malloc_allocator::const_reference)
1305 1.1 mrg (malloc_allocator::rebind, malloc_allocator::max_size)
1306 1.1 mrg (malloc_allocator::construct, malloc_allocator::destroy): Do not
1307 1.1 mrg define for C++20.
1308 1.1 mrg (malloc_allocator::_M_max_size): Define new function.
1309 1.1 mrg * include/ext/new_allocator.h (new_allocator::~new_allocator)
1310 1.1 mrg (new_allocator::pointer, new_allocator::const_pointer)
1311 1.1 mrg (new_allocator::reference, new_allocator::const_reference)
1312 1.1 mrg (new_allocator::rebind, new_allocator::max_size)
1313 1.1 mrg (new_allocator::construct, new_allocator::destroy): Do not
1314 1.1 mrg define for C++20.
1315 1.1 mrg (new_allocator::_M_max_size): Define new function.
1316 1.1 mrg * include/ext/rc_string_base.h (__rc_string_base::_Rep): Use
1317 1.1 mrg __alloc_traits to rebind allocator.
1318 1.1 mrg * include/ext/rope (_Rope_rep_base, _Rope_base): Likewise.
1319 1.1 mrg (rope::rope(CharT, const allocator_type&)): Use __alloc_traits
1320 1.1 mrg to construct character.
1321 1.1 mrg * include/ext/slist (_Slist_base): Use __alloc_traits to rebind
1322 1.1 mrg allocator.
1323 1.1 mrg * include/ext/sso_string_base.h (__sso_string_base::_M_max_size):
1324 1.1 mrg Use __alloc_traits.
1325 1.1 mrg * include/ext/throw_allocator.h (throw_allocator): Do not use optional
1326 1.1 mrg members of std::allocator, use __alloc_traits members instead.
1327 1.1 mrg * include/ext/vstring.h (__versa_string): Use __alloc_traits.
1328 1.1 mrg * include/ext/vstring_util.h (__vstring_utility): Likewise.
1329 1.1 mrg * include/std/memory: Include <bits/alloc_traits.h>.
1330 1.1 mrg * testsuite/20_util/allocator/8230.cc: Use __gnu_test::max_size.
1331 1.1 mrg * testsuite/20_util/allocator/rebind_c++20.cc: New test.
1332 1.1 mrg * testsuite/20_util/allocator/requirements/typedefs.cc: Do not check
1333 1.1 mrg for pointer, const_pointer, reference, const_reference or rebind in
1334 1.1 mrg C++20.
1335 1.1 mrg * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: New test.
1336 1.1 mrg * testsuite/23_containers/deque/capacity/29134.cc: Use
1337 1.1 mrg __gnu_test::max_size.
1338 1.1 mrg * testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
1339 1.1 mrg * testsuite/23_containers/list/capacity/29134.cc: Likewise.
1340 1.1 mrg * testsuite/23_containers/map/capacity/29134.cc: Likewise.
1341 1.1 mrg * testsuite/23_containers/multimap/capacity/29134.cc: Likewise.
1342 1.1 mrg * testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
1343 1.1 mrg * testsuite/23_containers/set/capacity/29134.cc: Likewise.
1344 1.1 mrg * testsuite/23_containers/vector/capacity/29134.cc: Likewise.
1345 1.1 mrg * testsuite/ext/malloc_allocator/variadic_construct.cc: Do not run
1346 1.1 mrg test for C++20.
1347 1.1 mrg * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
1348 1.1 mrg * testsuite/ext/vstring/capacity/29134.cc: Use __gnu_test::max_size.
1349 1.1 mrg * testsuite/util/replacement_memory_operators.h: Do not assume
1350 1.1 mrg Alloc::pointer exists.
1351 1.1 mrg * testsuite/util/testsuite_allocator.h (__gnu_test::max_size): Define
1352 1.1 mrg helper to call max_size for any allocator.
1353 1.1 mrg
1354 1.1 mrg 2019-10-22 Andreas Schwab <schwab (a] suse.de>
1355 1.1 mrg
1356 1.1 mrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1357 1.1 mrg
1358 1.1 mrg 2019-10-18 Jonathan Wakely <jwakely (a] redhat.com>
1359 1.1 mrg
1360 1.1 mrg PR libstdc++/92143
1361 1.1 mrg * libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment
1362 1.1 mrg to at least sizeof(void*).
1363 1.1 mrg
1364 1.1 mrg * include/bits/range_cmp.h (ranges::less::operator()): Inline the
1365 1.1 mrg logic from std::less::operator() to remove the dependency on it.
1366 1.1 mrg
1367 1.1 mrg 2019-10-17 Jonathan Wakely <jwakely (a] redhat.com>
1368 1.1 mrg
1369 1.1 mrg * doc/doxygen/user.cfg.in (INPUT): Add new C++17 and C++20 headers.
1370 1.1 mrg
1371 1.1 mrg * include/Makefile.am: Add new header.
1372 1.1 mrg * include/Makefile.in: Regenerate.
1373 1.1 mrg * include/bits/range_cmp.h: New header for C++20 function objects.
1374 1.1 mrg * include/std/functional: Include new header.
1375 1.1 mrg * testsuite/20_util/function_objects/identity/1.cc: New test.
1376 1.1 mrg * testsuite/20_util/function_objects/range.cmp/equal_to.cc: New test.
1377 1.1 mrg * testsuite/20_util/function_objects/range.cmp/greater.cc: New test.
1378 1.1 mrg * testsuite/20_util/function_objects/range.cmp/greater_equal.cc: New
1379 1.1 mrg test.
1380 1.1 mrg * testsuite/20_util/function_objects/range.cmp/less.cc: New test.
1381 1.1 mrg * testsuite/20_util/function_objects/range.cmp/less_equal.cc: New test.
1382 1.1 mrg * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc: New
1383 1.1 mrg test.
1384 1.1 mrg
1385 1.1 mrg PR libstdc++/92124
1386 1.1 mrg * include/bits/forward_list.h
1387 1.1 mrg (_M_move_assign(forward_list&&, false_type)): Do not use
1388 1.1 mrg __make_move_if_noexcept, instead move unconditionally.
1389 1.1 mrg * include/bits/stl_deque.h (_M_move_assign2(deque&&, false_type)):
1390 1.1 mrg Likewise.
1391 1.1 mrg * include/bits/stl_list.h (_M_move_assign(list&&, false_type)):
1392 1.1 mrg Likewise.
1393 1.1 mrg * include/bits/stl_vector.h (_M_move_assign(vector&&, false_type)):
1394 1.1 mrg Likewise.
1395 1.1 mrg * testsuite/23_containers/vector/92124.cc: New test.
1396 1.1 mrg
1397 1.1 mrg 2019-10-16 Jonathan Wakely <jwakely (a] redhat.com>
1398 1.1 mrg
1399 1.1 mrg * include/bits/c++config (_GLIBCXX_BUILTIN_IS_SAME_AS): Define to
1400 1.1 mrg one of __is_same_as or __is_same when available.
1401 1.1 mrg * include/std/concepts (__detail::__same_as): Use std::is_same_v.
1402 1.1 mrg * include/std/type_traits (is_same) [_GLIBCXX_BUILTIN_IS_SAME_AS]:
1403 1.1 mrg Use new macro instead of __is_same_as.
1404 1.1 mrg (is_same) [!_GLIBCXX_BUILTIN_IS_SAME_AS]: Restore partial
1405 1.1 mrg specialization.
1406 1.1 mrg (is_same_v) [_GLIBCXX_BUILTIN_IS_SAME_AS]: Use new macro.
1407 1.1 mrg (is_same_v) [!_GLIBCXX_BUILTIN_IS_SAME_AS]: Use std::is_same.
1408 1.1 mrg
1409 1.1 mrg 2019-10-16 Franois Dumont <fdumont (a] gcc.gnu.org>
1410 1.1 mrg
1411 1.1 mrg * src/c++11/debug.cc (print_field): Replace constness_names <unknown>
1412 1.1 mrg entry with <unknown constness>. Replace state_names <unknown> entry with
1413 1.1 mrg <unknown state>.
1414 1.1 mrg
1415 1.1 mrg 2019-10-11 Jonathan Wakely <jwakely (a] redhat.com>
1416 1.1 mrg
1417 1.1 mrg * include/Makefile.am: Add new header.
1418 1.1 mrg * include/Makefile.in: Regenerate.
1419 1.1 mrg * include/precompiled/stdc++.h: Include <concepts>.
1420 1.1 mrg * include/std/concepts: New header for C++20.
1421 1.1 mrg * include/std/version (__cpp_lib_concepts): Define.
1422 1.1 mrg * scripts/create_testsuite_files: Look for test files in new std
1423 1.1 mrg directory.
1424 1.1 mrg * testsuite/libstdc++-dg/conformance.exp: Likewise.
1425 1.1 mrg * testsuite/std/concepts/concepts.callable/invocable.cc: New test.
1426 1.1 mrg * testsuite/std/concepts/concepts.callable/regular_invocable.cc: New
1427 1.1 mrg test.
1428 1.1 mrg * testsuite/std/concepts/concepts.callable/relation.cc: New test.
1429 1.1 mrg * testsuite/std/concepts/concepts.callable/strictweakorder.cc: New
1430 1.1 mrg test.
1431 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.arithmetic/
1432 1.1 mrg floating_point.cc: New test.
1433 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc:
1434 1.1 mrg New test.
1435 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.arithmetic/
1436 1.1 mrg signed_integral.cc: New test.
1437 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.arithmetic/
1438 1.1 mrg unsigned_integral.cc: New test.
1439 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.assignable/1.cc: New
1440 1.1 mrg test.
1441 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.common/1.cc: New test.
1442 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.commonref/1.cc: New
1443 1.1 mrg test.
1444 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.constructible/1.cc:
1445 1.1 mrg New test.
1446 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.convertible/1.cc:
1447 1.1 mrg New test.
1448 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc:
1449 1.1 mrg New test.
1450 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.defaultconstructible/
1451 1.1 mrg 1.cc: New test.
1452 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.derived/1.cc:
1453 1.1 mrg New test.
1454 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc:
1455 1.1 mrg New test.
1456 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc:
1457 1.1 mrg New test.
1458 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.same/1.cc:
1459 1.1 mrg New test.
1460 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc:
1461 1.1 mrg New test.
1462 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc:
1463 1.1 mrg New test.
1464 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.swappable/
1465 1.1 mrg swappable_with.cc: New test.
1466 1.1 mrg * testsuite/std/concepts/concepts.object/copyable.cc: New test.
1467 1.1 mrg * testsuite/std/concepts/concepts.object/movable.cc: New test.
1468 1.1 mrg * testsuite/std/concepts/concepts.object/regular.cc: New test.
1469 1.1 mrg * testsuite/std/concepts/concepts.object/semiregular.cc: New test.
1470 1.1 mrg
1471 1.1 mrg * include/std/type_traits (is_same): Replace partial specialization
1472 1.1 mrg by using __is_same_as built-in in primary template.
1473 1.1 mrg (is_same_v): Use __is_same_as built-in instead of instantiating the
1474 1.1 mrg is_same trait.
1475 1.1 mrg
1476 1.1 mrg PR libstdc++/92059
1477 1.1 mrg * include/tr2/dynamic_bitset (__dynamic_bitset_base): Define all
1478 1.1 mrg special member functions as defaulted. Add noexcept to most members.
1479 1.1 mrg (__dynamic_bitset_base(size_t, unsigned long long, const _Alloc&)):
1480 1.1 mrg Mask off unwanted bits in the __val parameter. Avoid undefined left
1481 1.1 mrg shifts.
1482 1.1 mrg (__dynamic_bitset_base::_M_assign): Remove.
1483 1.1 mrg (__dynamic_bitset_base::_M_do_reset): Use std::fill.
1484 1.1 mrg (__dynamic_bitset_base::_M_are_all_aux): Avoid integer promotion when
1485 1.1 mrg block_type has lower rank than int.
1486 1.1 mrg (dynamic_bitset): Add noexcept to most members. Use injected-class-name
1487 1.1 mrg in return types and parameter types.
1488 1.1 mrg (dynamic_bitset::_M_Nb): Add default member initializer.
1489 1.1 mrg (dynamic_bitset(), dynamic_bitset(const dynamic_bitset&)): Define as
1490 1.1 mrg defaulted.
1491 1.1 mrg (dynamic_bitset(dynamic_bitset&&)): Clear source object after move.
1492 1.1 mrg (dynamic_bitset::operator=(const dynamic_bitset&)): Define as
1493 1.1 mrg defaulted.
1494 1.1 mrg (dynamic_bitset::operator=(dynamic_bitset&&)): Add noexcept-specifier.
1495 1.1 mrg Define without using swap, to propagate allocator correctly.
1496 1.1 mrg (dynamic_bitset(const char*, const _Alloc&)): Use strlen.
1497 1.1 mrg (dynamic_bitset::_M_do_sanitize, dynamic_bitset::_M_do_fill): Use
1498 1.1 mrg casts to avoid unwanted integer promotions.
1499 1.1 mrg (dynamic_bitset::_M_copy_from_ptr): Rearrange template parameters and
1500 1.1 mrg add default template arguments and default argument to simplify usage.
1501 1.1 mrg (dynamic_bitset::_M_copy_from_string): Adjust call to _M_copy_from_ptr.
1502 1.1 mrg (operator==(const dynamic_bitset&, const dynamic_bitset&))
1503 1.1 mrg (operator<(const dynamic_bitset&, const dynamic_bitset&)): Use _M_Nb.
1504 1.1 mrg * include/tr2/dynamic_bitset.tcc (dynamic_bitset::_M_copy_from_ptr):
1505 1.1 mrg Adjust template parameters to match declaration.
1506 1.1 mrg * testsuite/tr2/dynamic_bitset/cmp.cc: New test.
1507 1.1 mrg * testsuite/tr2/dynamic_bitset/cons.cc: New test.
1508 1.1 mrg * testsuite/tr2/dynamic_bitset/copy.cc: New test.
1509 1.1 mrg * testsuite/tr2/dynamic_bitset/move.cc: New test.
1510 1.1 mrg * testsuite/tr2/dynamic_bitset/pr92059.cc: New test.
1511 1.1 mrg
1512 1.1 mrg * include/bits/charconv.h (__to_chars_len): Avoid -Wsign-compare
1513 1.1 mrg warnings.
1514 1.1 mrg
1515 1.1 mrg 2019-10-10 Jonathan Wakely <jwakely (a] redhat.com>
1516 1.1 mrg
1517 1.1 mrg PR libstdc++/91057
1518 1.1 mrg * src/c++98/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]
1519 1.1 mrg (find_ldbl_sync_facet): Fix parameter type and missing return.
1520 1.1 mrg
1521 1.1 mrg 2019-10-09 Marek Polacek <polacek (a] redhat.com>
1522 1.1 mrg
1523 1.1 mrg PR c++/91364 - P0388R4: Permit conversions to arrays of unknown bound.
1524 1.1 mrg PR c++/69531 - DR 1307: Differently bounded array parameters.
1525 1.1 mrg PR c++/88128 - DR 330: Qual convs and pointers to arrays of pointers.
1526 1.1 mrg * testsuite/23_containers/span/lwg3255.cc: Adjust test to match the
1527 1.1 mrg post-P0388R4 behavior.
1528 1.1 mrg
1529 1.1 mrg 2019-10-09 Jonathan Wakely <jwakely (a] redhat.com>
1530 1.1 mrg
1531 1.1 mrg PR libstdc++/91057
1532 1.1 mrg * src/c++98/locale.cc (locale::id::_M_id()) [__GTHREADS]: Use atomic
1533 1.1 mrg compare-exchange or double-checked lock to ensure only one thread sets
1534 1.1 mrg the _M_index variable.
1535 1.1 mrg [_GLIBCXX_LONG_DOUBLE_COMPAT]: Call find_ldbl_sync_facet to detect
1536 1.1 mrg facets that share another facet's ID.
1537 1.1 mrg [_GLIBCXX_LONG_DOUBLE_COMPAT] (find_ldbl_sync_facet): New function.
1538 1.1 mrg
1539 1.1 mrg PR libstdc++/78552
1540 1.1 mrg * src/c++98/locale_init.cc (locale::classic()): Do not construct a new
1541 1.1 mrg locale object for every call.
1542 1.1 mrg (locale::_S_initialize_once()): Construct C locale here.
1543 1.1 mrg
1544 1.1 mrg 2019-10-08 Jonathan Wakely <jwakely (a] redhat.com>
1545 1.1 mrg
1546 1.1 mrg * doc/Makefile.am (doc-html-docbook-regenerate): New target.
1547 1.1 mrg (${docbook_outdir}/html): Do not create unused 'html/ext' directory.
1548 1.1 mrg * doc/Makefile.in: Regenerate.
1549 1.1 mrg * doc/xml/manual/documentation_hacking.xml: Document new target.
1550 1.1 mrg * doc/html/*: Regenerate.
1551 1.1 mrg
1552 1.1 mrg * doc/xml/manual/allocator.xml: Use archived copy of CUJ article.
1553 1.1 mrg * doc/html/*: Regenerate.
1554 1.1 mrg
1555 1.1 mrg 2019-10-06 Franois Dumont <fdumont (a] gcc.gnu.org>
1556 1.1 mrg
1557 1.1 mrg * include/bits/stl_algo.h
1558 1.1 mrg (__copy_n_a(_IIte, _Size, _OIte)): New.
1559 1.1 mrg (__copy_n_a(istreambuf_iterator<>, _Size, _CharT*)): New declaration.
1560 1.1 mrg (__copy_n(_IIte, _Size, _OIte, input_iterator_tag)): Adapt to use
1561 1.1 mrg latter.
1562 1.1 mrg * include/bits/streambuf_iterator.h (istreambuf_iterator<>): Declare
1563 1.1 mrg std::__copy_n_a friend.
1564 1.1 mrg (__copy_n_a(istreambuf_iterator<>, _Size, _CharT*)): New.
1565 1.1 mrg * testsuite/25_algorithms/copy_n/istreambuf_iterator/1.cc: New.
1566 1.1 mrg * testsuite/25_algorithms/copy_n/istreambuf_iterator/1_neg.cc: New.
1567 1.1 mrg * testsuite/25_algorithms/copy_n/istreambuf_iterator/2_neg.cc: New.
1568 1.1 mrg
1569 1.1 mrg * include/bits/stl_iterator_base_types.h (__iterator_category_t): Define
1570 1.1 mrg for C++11.
1571 1.1 mrg (_RequireInputIte): Likewise and use __enable_if_t.
1572 1.1 mrg * include/std/numeric
1573 1.1 mrg (__is_random_access_iter): Use __iterator_category_t.
1574 1.1 mrg
1575 1.1 mrg * include/bits/stl_algo.h (copy_n): Add __glibcxx_requires_can_increment
1576 1.1 mrg debug checks.
1577 1.1 mrg * testsuite/25_algorithms/copy_n/debug/1_neg.cc: New.
1578 1.1 mrg * testsuite/25_algorithms/copy_n/debug/2_neg.cc: New.
1579 1.1 mrg
1580 1.1 mrg 2019-10-04 Franois Dumont <fdumont (a] gcc.gnu.org>
1581 1.1 mrg
1582 1.1 mrg * include/debug/forward_list
1583 1.1 mrg (_Sequence_traits<__debug::forward_list<>>::_S_size): Returns __dp_sign
1584 1.1 mrg distance when not empty.
1585 1.1 mrg * include/debug/list (_Sequence_traits<__debug::list<>>::_S_size):
1586 1.1 mrg Likewise.
1587 1.1 mrg * include/debug/helper_functions.h (__dp_sign_max_size): New
1588 1.1 mrg _Distance_precision enum entry.
1589 1.1 mrg (__valid_range_aux(_IIte, _IIte, _Distance_traits<>::__type,
1590 1.1 mrg __false_type)): Adapt.
1591 1.1 mrg * include/debug/safe_iterator.tcc
1592 1.1 mrg (_Safe_iterator<>::_M_get_distance_to(const _Safe_iterator&)): Review
1593 1.1 mrg distance computation.
1594 1.1 mrg
1595 1.1 mrg 2019-10-04 Jonathan Wakely <jwakely (a] redhat.com>
1596 1.1 mrg
1597 1.1 mrg PR libstdc++/81091
1598 1.1 mrg PR libstdc++/91947
1599 1.1 mrg * configure.ac: Use AC_SYS_LARGEFILE to enable 64-bit file APIs.
1600 1.1 mrg * config.h.in: Regenerate:
1601 1.1 mrg * configure: Regenerate:
1602 1.1 mrg * include/Makefile.am (${host_builddir}/largefile-config.h): New
1603 1.1 mrg target to generate config header for filesystem library.
1604 1.1 mrg (${host_builddir}/c++config.h): Rename macros for large file support.
1605 1.1 mrg * include/Makefile.in: Regenerate.
1606 1.1 mrg * src/c++17/fs_dir.cc: Include new config header.
1607 1.1 mrg * src/c++17/fs_ops.cc: Likewise.
1608 1.1 mrg (filesystem::file_size): Use uintmax_t for size.
1609 1.1 mrg * src/filesystem/dir.cc: Include new config header.
1610 1.1 mrg * src/filesystem/ops.cc: Likewise.
1611 1.1 mrg (experimental::filesystem::file_size): Use uintmax_t for size.
1612 1.1 mrg
1613 1.1 mrg * testsuite/util/testsuite_abi.h: Use std::unordered_map instead of
1614 1.1 mrg std::tr1::unordered_map.
1615 1.1 mrg * testsuite/util/testsuite_allocator.h: Likewise.
1616 1.1 mrg
1617 1.1 mrg * include/tr1/hashtable.h: Add header for __gnu_cxx::__alloc_traits.
1618 1.1 mrg
1619 1.1 mrg * include/tr1/hashtable.h (tr1::_Hashtable::_M_allocate_node): Use
1620 1.1 mrg __gnu_cxx::__alloc_traits for allocator construct function.
1621 1.1 mrg (tr1::_Hashtable::_M_deallocate_node): Likewise for destroy function.
1622 1.1 mrg
1623 1.1 mrg * include/precompiled/stdc++.h: Include <span> for C++20.
1624 1.1 mrg * testsuite/17_intro/names.cc: Do not define 'e' for C++20.
1625 1.1 mrg
1626 1.1 mrg 2019-10-03 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
1627 1.1 mrg
1628 1.1 mrg * include/parallel/multiway_merge.h (_RAIter3): Replace _C by _Cp.
1629 1.1 mrg
1630 1.1 mrg 2019-10-02 Jonathan Wakely <jwakely (a] redhat.com>
1631 1.1 mrg
1632 1.1 mrg * config/abi/pre/gnu.ver: Tighten up greedy wildcards.
1633 1.1 mrg
1634 1.1 mrg * doc/xml/manual/parallel_mode.xml: Add caveat about support for
1635 1.1 mrg recent standards.
1636 1.1 mrg * doc/html/*: Regenerate.
1637 1.1 mrg
1638 1.1 mrg 2019-10-01 Jonathan Wakely <jwakely (a] redhat.com>
1639 1.1 mrg
1640 1.1 mrg * include/experimental/algorithm (experimental::sample): Qualify call
1641 1.1 mrg to __sample correctly.
1642 1.1 mrg * include/parallel/algo.h (sample, for_each_n): Add using-declarations
1643 1.1 mrg for algorithms that don't have parallel implementations.
1644 1.1 mrg
1645 1.1 mrg * include/parallel/algobase.h (equal, lexicographical_compare): Add
1646 1.1 mrg _GLIBCXX20_CONSTEXPR and dispatch to sequential algorithm when being
1647 1.1 mrg constant evaluated.
1648 1.1 mrg * include/parallel/algorithmfwd.h (equal, lexicographical_compare):
1649 1.1 mrg Add _GLIBCXX20_CONSTEXPR.
1650 1.1 mrg
1651 1.1 mrg * testsuite/17_intro/using_namespace_std_tr1_neg.cc: Skip test for
1652 1.1 mrg parallel mode.
1653 1.1 mrg * testsuite/20_util/hash/84998.cc: Likewise.
1654 1.1 mrg * testsuite/23_containers/deque/types/pmr_typedefs_debug.cc: Likewise.
1655 1.1 mrg * testsuite/23_containers/forward_list/pmr_typedefs_debug.cc: Likewise.
1656 1.1 mrg * testsuite/23_containers/list/pmr_typedefs_debug.cc: Likewise.
1657 1.1 mrg * testsuite/23_containers/map/pmr_typedefs_debug.cc: Likewise.
1658 1.1 mrg * testsuite/23_containers/multimap/pmr_typedefs_debug.cc: Likewise.
1659 1.1 mrg * testsuite/23_containers/multiset/pmr_typedefs_debug.cc: Likewise.
1660 1.1 mrg * testsuite/23_containers/set/pmr_typedefs_debug.cc: Likewise.
1661 1.1 mrg * testsuite/23_containers/unordered_map/pmr_typedefs_debug.cc:
1662 1.1 mrg Likewise.
1663 1.1 mrg * testsuite/23_containers/unordered_multimap/pmr_typedefs_debug.cc:
1664 1.1 mrg Likewise.
1665 1.1 mrg * testsuite/23_containers/unordered_multiset/pmr_typedefs_debug.cc:
1666 1.1 mrg Likewise.
1667 1.1 mrg * testsuite/23_containers/unordered_set/pmr_typedefs_debug.cc:
1668 1.1 mrg Likewise.
1669 1.1 mrg * testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
1670 1.1 mrg Likewise.
1671 1.1 mrg * testsuite/23_containers/vector/types/pmr_typedefs_debug.cc: Likewise.
1672 1.1 mrg * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
1673 1.1 mrg * testsuite/25_algorithms/copy/86658.cc: Likewise.
1674 1.1 mrg * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
1675 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
1676 1.1 mrg * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
1677 1.1 mrg * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
1678 1.1 mrg
1679 1.1 mrg * include/parallel/algo.h: Replace non-reserved names.
1680 1.1 mrg * include/parallel/multiway_merge.h: Likewise.
1681 1.1 mrg * include/parallel/multiway_mergesort.h: Likewise.
1682 1.1 mrg * include/parallel/numericfwd.h: Likewise.
1683 1.1 mrg * testsuite/17_intro/names.cc: Add RAI to test macros.
1684 1.1 mrg
1685 1.1 mrg 2019-09-30 Franois Dumont <fdumont (a] gcc.gnu.org>
1686 1.1 mrg
1687 1.1 mrg * include/debug/array: Add C++20 constexpr to comparison operators.
1688 1.1 mrg * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adapt
1689 1.1 mrg dg-error line numbers.
1690 1.1 mrg * testsuite/23_containers/array/tuple_interface/
1691 1.1 mrg tuple_element_debug_neg.cc: Likewise.
1692 1.1 mrg
1693 1.1 mrg 2019-09-30 Andreas Tobler <andreast (a] gcc.gnu.org>
1694 1.1 mrg
1695 1.1 mrg * include/experimental/internet: Include netinet/in.h if we have
1696 1.1 mrg _GLIBCXX_HAVE_NETINET_IN_H defined.
1697 1.1 mrg
1698 1.1 mrg * testsuite/ext/special_functions/airy_ai/check_nan.cc: Ignore the
1699 1.1 mrg FreeBSD warning about lower advertised precision of tgammal.
1700 1.1 mrg * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
1701 1.1 mrg * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
1702 1.1 mrg * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
1703 1.1 mrg * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
1704 1.1 mrg * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
1705 1.1 mrg * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
1706 1.1 mrg * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
1707 1.1 mrg * testsuite/tr1/5_numerical_facilities/special_functions/
1708 1.1 mrg 08_cyl_bessel_i/check_nan.cc: Likewise.
1709 1.1 mrg * testsuite/tr1/5_numerical_facilities/special_functions/
1710 1.1 mrg 09_cyl_bessel_j/check_nan.cc: Likewise.
1711 1.1 mrg * testuite/tr1/5_numerical_facilities/special_functions/
1712 1.1 mrg 10_cyl_bessel_k/check_nan.cc: Likewise.
1713 1.1 mrg * testsuite/tr1/5_numerical_facilities/special_functions/
1714 1.1 mrg 11_cyl_neumann/check_nan.cc: Likewise.
1715 1.1 mrg * testsuite/tr1/5_numerical_facilities/special_functions/
1716 1.1 mrg 21_sph_bessel/check_nan.cc: Likewise.
1717 1.1 mrg * testsuite/tr1/5_numerical_facilities/special_functions/
1718 1.1 mrg 23_sph_neumann/check_nan.cc: Likewise.
1719 1.1 mrg
1720 1.1 mrg 2019-09-30 Jonathan Wakely <jwakely (a] redhat.com>
1721 1.1 mrg
1722 1.1 mrg * include/std/span (span(element_type(&)[N]))
1723 1.1 mrg (span(array<value_type, N>&), span(const array<value_type, N>&)):
1724 1.1 mrg Deduce array element type to allow safe const conversions (LWG 3255).
1725 1.1 mrg [!_GLIBCXX_P1394] (span(Container&), span(const Container&)): Use
1726 1.1 mrg remove_cv_t on arguments to __is_std_span and __is_std_array.
1727 1.1 mrg * testsuite/23_containers/span/lwg3255.cc: New test.
1728 1.1 mrg
1729 1.1 mrg PR libstdc++/77936
1730 1.1 mrg * include/parallel/checkers.h (__is_sorted): Remove unused variable.
1731 1.1 mrg
1732 1.1 mrg 2019-09-28 Franois Dumont <fdumont (a] gcc.gnu.org>
1733 1.1 mrg
1734 1.1 mrg * include/bits/stl_algo.h (merge): Fix documentation.
1735 1.1 mrg * include/debug/functions.h (__check_sorted_aux): Add C++20 constexpr.
1736 1.1 mrg (__check_sorted): Likewise and remove nested irreflexive check.
1737 1.1 mrg (__check_sorted_set_aux, __check_sorted_set): Add C++20 constexpr.
1738 1.1 mrg (__check_partitioned_lower, __check_partitioned_upper): Likewise.
1739 1.1 mrg (_Irreflexive_checker::_S_is_valid): Likewise.
1740 1.1 mrg (__is_irreflexive, __is_irreflexive_pred): Likewise.
1741 1.1 mrg * include/debug/helper_functions.h (__get_distance): Add constexpr.
1742 1.1 mrg (__valid_range_aux): Add C++20 constexpr.
1743 1.1 mrg (__valid_range(_Iter, _Iter, _Distance_traits<_Iter>::__type&)):
1744 1.1 mrg Likewise and add std::is_constant_evaluated check.
1745 1.1 mrg (__valid_range_aux(_Iter, _Iter, std::input_iterator_tag)): New.
1746 1.1 mrg (__valid_range_aux(_Iter, _Iter, std::random_accss_iterator_tag)): New.
1747 1.1 mrg (__valid_range_aux(_Integral, _Integral, std::__true_type)): New,
1748 1.1 mrg use latter.
1749 1.1 mrg (__valid_range(_Iter, _Iter)): Adapt to use latter, add constexpr and
1750 1.1 mrg __builtin_is_contant_evaludated check..
1751 1.1 mrg (__can_advance, __base): Add constexpr.
1752 1.1 mrg * include/debug/macros.h [_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED]
1753 1.1 mrg (_GLIBCXX_DEBUG_VERIFY_COND_AT): New.
1754 1.1 mrg (__glibcxx_check_sorted): Use __glibcxx_check_irreflexive.
1755 1.1 mrg (__glibcxx_check_sorted_pred): Use __glibcxx_check_irreflexive_pred.
1756 1.1 mrg * testsuite/25_algorithms/binary_search/constexpr.cc: Use irreflexive
1757 1.1 mrg std::less.
1758 1.1 mrg * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise.
1759 1.1 mrg * testsuite/25_algorithms/merge/constexpr.cc: Fix order in camm. Fix
1760 1.1 mrg lambda to be irreflexive.
1761 1.1 mrg
1762 1.1 mrg 2019-09-27 Maciej W. Rozycki <macro (a] wdc.com>
1763 1.1 mrg
1764 1.1 mrg * configure: Regenerate.
1765 1.1 mrg
1766 1.1 mrg 2019-09-27 Jonathan Wakely <jwakely (a] redhat.com>
1767 1.1 mrg
1768 1.1 mrg PR libstdc++/91910
1769 1.1 mrg * src/c++11/debug.cc (_Safe_iterator_base::_M_detach()): Load pointer
1770 1.1 mrg atomically and lock the mutex before accessing the sequence.
1771 1.1 mrg (_Safe_local_iterator_base::_M_detach()): Likewise.
1772 1.1 mrg (_Safe_iterator_base::_M_reset()): Clear _M_sequence atomically.
1773 1.1 mrg
1774 1.1 mrg 2019-09-26 Jonathan Wakely <jwakely (a] redhat.com>
1775 1.1 mrg
1776 1.1 mrg * include/debug/array (to_array): Define for debug mode.
1777 1.1 mrg
1778 1.1 mrg * include/bits/stl_pair.h (pair): Add _GLIBCXX20_CONSTEXPR to
1779 1.1 mrg piecewise construction constructor, assignment operators, and swap.
1780 1.1 mrg * include/std/tuple (pair::pair(piecewise_construct_t, tuple, tuple)):
1781 1.1 mrg Add _GLIBCXX20_CONSTEXPR.
1782 1.1 mrg (pair::pair(tuple, tuple, _Index_tuple, _Index_tuple)): Likewise.
1783 1.1 mrg * testsuite/20_util/pair/constexpr_assign.cc: New test.
1784 1.1 mrg * testsuite/20_util/pair/constexpr_swap.cc: New test.
1785 1.1 mrg
1786 1.1 mrg * include/experimental/internet (operator==, operator<): Fix loop
1787 1.1 mrg condition to avoid reading past the end of the array.
1788 1.1 mrg
1789 1.1 mrg * include/std/array: Remove references to profile mode.
1790 1.1 mrg * include/std/bitset: Likewise.
1791 1.1 mrg * include/std/deque: Likewise.
1792 1.1 mrg * include/std/forward_list: Likewise.
1793 1.1 mrg * include/std/list: Likewise.
1794 1.1 mrg * include/std/map: Likewise.
1795 1.1 mrg * include/std/set: Likewise.
1796 1.1 mrg * include/std/unordered_map: Likewise.
1797 1.1 mrg * include/std/unordered_set: Likewise.
1798 1.1 mrg * include/std/vector: Likewise.
1799 1.1 mrg * testsuite/17_intro/headers/c++1998/profile_mode.cc: New test.
1800 1.1 mrg * testsuite/17_intro/headers/c++2011/profile_mode.cc: New test.
1801 1.1 mrg
1802 1.1 mrg 2019-09-25 Jonathan Wakely <jwakely (a] redhat.com>
1803 1.1 mrg
1804 1.1 mrg * include/bits/regex.h
1805 1.1 mrg (basic_regex::assign(const C*, size_t, flag_type)): Add default
1806 1.1 mrg argument (LWG 3296).
1807 1.1 mrg * testsuite/28_regex/basic_regex/assign/char/lwg3296.cc: New test.
1808 1.1 mrg * testsuite/28_regex/basic_regex/assign/wchar_t/lwg3296.cc: New test.
1809 1.1 mrg
1810 1.1 mrg 2019-09-24 Jonathan Wakely <jwakely (a] redhat.com>
1811 1.1 mrg
1812 1.1 mrg * include/std/variant (variant::index()): Remove impossible case.
1813 1.1 mrg
1814 1.1 mrg PR libstdc++/91871
1815 1.1 mrg * testsuite/util/testsuite_hooks.h
1816 1.1 mrg (conversion::iterator_to_const_iterator()): Do not return an invalid
1817 1.1 mrg iterator. Test direct-initialization and direct-list-initialization
1818 1.1 mrg as well as implicit conversion.
1819 1.1 mrg
1820 1.1 mrg 2019-09-23 Jonathan Wakely <jwakely (a] redhat.com>
1821 1.1 mrg
1822 1.1 mrg PR libstdc++/91788 (partial)
1823 1.1 mrg * include/std/variant (variant::index()): Improve codegen for cases
1824 1.1 mrg where conversion to size_t already works correctly.
1825 1.1 mrg
1826 1.1 mrg 2019-09-23 Andreas Schwab <schwab (a] suse.de>
1827 1.1 mrg
1828 1.1 mrg * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
1829 1.1 mrg
1830 1.1 mrg 2019-09-12 Jonathan Wakely <jwakely (a] redhat.com>
1831 1.1 mrg
1832 1.1 mrg PR libstdc++/91748
1833 1.1 mrg * include/bits/stl_algo.h (for_each_n): Fix random access iterator
1834 1.1 mrg case.
1835 1.1 mrg * testsuite/25_algorithms/for_each/for_each_n.cc: Test with random
1836 1.1 mrg access iterators.
1837 1.1 mrg
1838 1.1 mrg 2019-09-11 Jonathan Wakely <jwakely (a] redhat.com>
1839 1.1 mrg
1840 1.1 mrg * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker.__call__):
1841 1.1 mrg Fix syntax error.
1842 1.1 mrg
1843 1.1 mrg * testsuite/20_util/result_of/sfinae_friendly_1.cc: Add -Wno-volatile
1844 1.1 mrg for C++2a and up. Define HAS_52748_FIXED and fix incorrect tests.
1845 1.1 mrg * testsuite/tr1/3_function_objects/result_of.cc: Add -Wno-volatile
1846 1.1 mrg for C++2a and up.
1847 1.1 mrg
1848 1.1 mrg 2019-09-10 Jonathan Wakely <jwakely (a] redhat.com>
1849 1.1 mrg
1850 1.1 mrg * include/std/type_traits (__do_common_type_impl): Implement
1851 1.1 mrg additional COND-RES(CREF(D1), CRED(D2)) condition for C++20.
1852 1.1 mrg (basic_common_reference, common_reference, common_reference_t): Define
1853 1.1 mrg for C++20.
1854 1.1 mrg * testsuite/20_util/common_reference/requirements/alias_decl.cc: New
1855 1.1 mrg test.
1856 1.1 mrg * testsuite/20_util/common_reference/requirements/
1857 1.1 mrg explicit_instantiation.cc: New test.
1858 1.1 mrg * testsuite/20_util/common_reference/requirements/typedefs.cc: New
1859 1.1 mrg test.
1860 1.1 mrg
1861 1.1 mrg * include/std/charconv (to_chars): Rename to __to_chars_i. Define
1862 1.1 mrg non-template overloads for each signed and unsigned integer type and
1863 1.1 mrg char. Define deleted overload for bool (LWG 3266).
1864 1.1 mrg * testsuite/20_util/to_chars/1_neg.cc: Remove.
1865 1.1 mrg * testsuite/20_util/to_chars/3.cc: New test.
1866 1.1 mrg * testsuite/20_util/to_chars/lwg3266.cc: New test.
1867 1.1 mrg
1868 1.1 mrg 2019-09-10 Christophe Lyon <christophe.lyon (a] st.com>
1869 1.1 mrg
1870 1.1 mrg * acinclude.m4: Handle uclinux*.
1871 1.1 mrg * configure: Regenerate.
1872 1.1 mrg * configure.host: Handle uclinux*
1873 1.1 mrg
1874 1.1 mrg 2019-09-10 Christophe Lyon <christophe.lyon (a] st.com>
1875 1.1 mrg Mickal Gun <mickael.guene (a] st.com>
1876 1.1 mrg
1877 1.1 mrg * libsupc++/eh_personality.cc (get_ttype_entry): Add FDPIC
1878 1.1 mrg support.
1879 1.1 mrg
1880 1.1 mrg 2019-09-10 Jonathan Wakely <jwakely (a] redhat.com>
1881 1.1 mrg
1882 1.1 mrg PR libstdc++/91711
1883 1.1 mrg * testsuite/23_containers/span/get_neg.cc: Avoid ambiguity due to
1884 1.1 mrg 0ul being a valid null pointer constant.
1885 1.1 mrg
1886 1.1 mrg * include/std/type_traits (__remove_cv_t): New alias template.
1887 1.1 mrg (is_void, is_integral, is_floating_point, is_pointer)
1888 1.1 mrg (is_member_object_pointer, is_member_function_pointer, is_null_pointer)
1889 1.1 mrg (is_member_point), __is_signed_integer, __is_unsigned_integer)
1890 1.1 mrg (__make_unsigned_selector, __make_signed_selector, remove_pointer)
1891 1.1 mrg (__decay_selector): Use __remove_cv_t.
1892 1.1 mrg (remove_cv): Add partial specializations for cv-qualified types.
1893 1.1 mrg (__decay_t): New alias template.
1894 1.1 mrg (__decay_and_strip, __common_type_impl, __result_of_impl): Use
1895 1.1 mrg __decay_t.
1896 1.1 mrg (__enable_if_t): Move earlier in the file.
1897 1.1 mrg (_Require): Use __enable_if_t.
1898 1.1 mrg (swap(T&, T&)): Use _Require.
1899 1.1 mrg (swap(T(&)[N])): Use __enable_if_t.
1900 1.1 mrg
1901 1.1 mrg 2019-09-09 Edward Smith-Rowland <3dw4rd (a] verizon.net>
1902 1.1 mrg
1903 1.1 mrg Implement C++20 p1424 - 'constexpr' feature macro concerns,
1904 1.1 mrg Issue 3256 - Feature testing macro for constexpr algorithms,
1905 1.1 mrg and Issue 3257 - Missing feature testing macro update from P0858.
1906 1.1 mrg * include/std/version (__cpp_lib_constexpr_algorithms): Bump value.
1907 1.1 mrg * include/bits/algorithmfwd.h: Ditto.
1908 1.1 mrg * include/std/utility: Ditto.
1909 1.1 mrg * testsuite/25_algorithms/constexpr_macro.cc: Ditto.
1910 1.1 mrg * testsuite/25_algorithms/cpp_lib_constexpr.cc: New check for
1911 1.1 mrg __cpp_lib_constexpr macro in <algorith>.
1912 1.1 mrg * testsuite/20_util/exchange/constexpr.cc: Add check for
1913 1.1 mrg __cpp_lib_constexpr macro in <utility>.
1914 1.1 mrg * testsuite/25_algorithms/adjacent_find/constexpr.cc: Remove check for
1915 1.1 mrg __cpp_lib_constexpr_algorithms.
1916 1.1 mrg * testsuite/25_algorithms/all_of/constexpr.cc: Ditto.
1917 1.1 mrg * testsuite/25_algorithms/any_of/constexpr.cc: Ditto.
1918 1.1 mrg * testsuite/25_algorithms/binary_search/constexpr.cc: Ditto.
1919 1.1 mrg * testsuite/25_algorithms/copy/constexpr.cc: Ditto.
1920 1.1 mrg * testsuite/25_algorithms/copy_backward/constexpr.cc: Ditto.
1921 1.1 mrg * testsuite/25_algorithms/copy_if/constexpr.cc: Ditto.
1922 1.1 mrg * testsuite/25_algorithms/copy_n/constexpr.cc: Ditto.
1923 1.1 mrg * testsuite/25_algorithms/count/constexpr.cc: Ditto.
1924 1.1 mrg * testsuite/25_algorithms/count_if/constexpr.cc: Ditto.
1925 1.1 mrg * testsuite/25_algorithms/equal/constexpr.cc: Ditto.
1926 1.1 mrg * testsuite/25_algorithms/equal_range/constexpr.cc: Ditto.
1927 1.1 mrg * testsuite/25_algorithms/fill/constexpr.cc: Ditto.
1928 1.1 mrg * testsuite/25_algorithms/fill_n/constexpr.cc: Ditto.
1929 1.1 mrg * testsuite/25_algorithms/find/constexpr.cc: Ditto.
1930 1.1 mrg * testsuite/25_algorithms/find_end/constexpr.cc: Ditto.
1931 1.1 mrg * testsuite/25_algorithms/find_first_of/constexpr.cc: Ditto.
1932 1.1 mrg * testsuite/25_algorithms/find_if/constexpr.cc: Ditto.
1933 1.1 mrg * testsuite/25_algorithms/find_if_not/constexpr.cc: Ditto.
1934 1.1 mrg * testsuite/25_algorithms/for_each/constexpr.cc: Ditto.
1935 1.1 mrg * testsuite/25_algorithms/generate/constexpr.cc: Ditto.
1936 1.1 mrg * testsuite/25_algorithms/generate_n/constexpr.cc: Ditto.
1937 1.1 mrg * testsuite/25_algorithms/is_heap/constexpr.cc: Ditto.
1938 1.1 mrg * testsuite/25_algorithms/is_heap_until/constexpr.cc: Ditto.
1939 1.1 mrg * testsuite/25_algorithms/is_partitioned/constexpr.cc: Ditto.
1940 1.1 mrg * testsuite/25_algorithms/is_permutation/constexpr.cc: Ditto.
1941 1.1 mrg * testsuite/25_algorithms/is_sorted/constexpr.cc: Ditto.
1942 1.1 mrg * testsuite/25_algorithms/is_sorted_until/constexpr.cc: Ditto.
1943 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: Ditto.
1944 1.1 mrg * testsuite/25_algorithms/lower_bound/constexpr.cc: Ditto.
1945 1.1 mrg * testsuite/25_algorithms/merge/constexpr.cc: Ditto.
1946 1.1 mrg * testsuite/25_algorithms/mismatch/constexpr.cc: Ditto.
1947 1.1 mrg * testsuite/25_algorithms/none_of/constexpr.cc: Ditto.
1948 1.1 mrg * testsuite/25_algorithms/partition_copy/constexpr.cc: Ditto.
1949 1.1 mrg * testsuite/25_algorithms/partition_point/constexpr.cc: Ditto.
1950 1.1 mrg * testsuite/25_algorithms/remove/constexpr.cc: Ditto.
1951 1.1 mrg * testsuite/25_algorithms/remove_copy/constexpr.cc: Ditto.
1952 1.1 mrg * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Ditto.
1953 1.1 mrg * testsuite/25_algorithms/remove_if/constexpr.cc: Ditto.
1954 1.1 mrg * testsuite/25_algorithms/replace_copy/constexpr.cc: Ditto.
1955 1.1 mrg * testsuite/25_algorithms/replace_copy_if/constexpr.cc: Ditto.
1956 1.1 mrg * testsuite/25_algorithms/replace_if/constexpr.cc: Ditto.
1957 1.1 mrg * testsuite/25_algorithms/reverse_copy/constexpr.cc: Ditto.
1958 1.1 mrg * testsuite/25_algorithms/rotate_copy/constexpr.cc: Ditto.
1959 1.1 mrg * testsuite/25_algorithms/search/constexpr.cc: Ditto.
1960 1.1 mrg * testsuite/25_algorithms/search_n/constexpr.cc: Ditto.
1961 1.1 mrg * testsuite/25_algorithms/set_difference/constexpr.cc: Ditto.
1962 1.1 mrg * testsuite/25_algorithms/set_intersection/constexpr.cc: Ditto.
1963 1.1 mrg * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: Ditto.
1964 1.1 mrg * testsuite/25_algorithms/set_union/constexpr.cc: Ditto.
1965 1.1 mrg * testsuite/25_algorithms/transform/constexpr.cc: Ditto.
1966 1.1 mrg * testsuite/25_algorithms/unique/constexpr.cc: Ditto.
1967 1.1 mrg * testsuite/25_algorithms/unique_copy/constexpr.cc: Ditto.
1968 1.1 mrg * testsuite/25_algorithms/upper_bound/constexpr.cc: Ditto.
1969 1.1 mrg
1970 1.1 mrg 2019-09-09 Edward Smith-Rowland <3dw4rd (a] verizon.net>
1971 1.1 mrg
1972 1.1 mrg Update docs for recent <span> and constexpr lib changes.
1973 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update p0202r3, p0858r0, p0879r0,
1974 1.1 mrg p1023r0, p1085r2 status.
1975 1.1 mrg * doc/html/manual/status.html: Regenerate.
1976 1.1 mrg
1977 1.1 mrg 2019-09-09 Antony Polukhin <antoshkka (a] gmail.com>
1978 1.1 mrg
1979 1.1 mrg * include/bits/charconv.h (__detail::__to_chars_10_impl): Replace
1980 1.1 mrg final offsets with constants.
1981 1.1 mrg
1982 1.1 mrg 2019-09-09 Jonathan Wakely <jwakely (a] redhat.com>
1983 1.1 mrg
1984 1.1 mrg * include/bits/range_access.h (__adl_to_address): Remove.
1985 1.1 mrg * include/std/span (__is_base_derived_safe_convertible_v): Replace
1986 1.1 mrg with span::__is_compatible.
1987 1.1 mrg (__is_std_array_v): Replace with __is_std_array class template and
1988 1.1 mrg partial specializations.
1989 1.1 mrg (__is_std_array, __is_std_span): New class templates and partial
1990 1.1 mrg specializations.
1991 1.1 mrg (span::__is_compatible): New alias template for SFINAE constraints.
1992 1.1 mrg (span::span(element_type (&)[N])): Remove redundant constraints. Do
1993 1.1 mrg not use __adl_data to obtain a pointer.
1994 1.1 mrg (span::span(array<value_type, N>&)): Likewise.
1995 1.1 mrg (span::span(const array<value_type, N>&)): Likewise.
1996 1.1 mrg [_GLIBCXX_P1394] (span::iter_reference_t, span::iterator_t)
1997 1.1 mrg (span::iter_value_t, span::derived_from): New alias templates for
1998 1.1 mrg SFINAE constraints, until the equivalents are supported in <concepts>
1999 1.1 mrg and <iterator>.
2000 1.1 mrg [_GLIBCXX_P1394] (span::__is_compatible_iterator): New alias template
2001 1.1 mrg for SFINAE constraints.
2002 1.1 mrg [_GLIBCXX_P1394] (span::is_compatible_range): New class template for
2003 1.1 mrg SFINAE constraints.
2004 1.1 mrg [_GLIBCXX_P1394] (span::span(Range&&)): Improve constraints.
2005 1.1 mrg [_GLIBCXX_P1394] (span::span(ContiguousIterator, Sentinel)): Likewise.
2006 1.1 mrg Use std::to_address instead of __adl_to_address.
2007 1.1 mrg [_GLIBCXX_P1394] (span::span(ContiguousIterator, size_type)): Likewise.
2008 1.1 mrg [!_GLIBCXX_P1394] (span::__is_compatible_container): New alias
2009 1.1 mrg template for SFINAE constraints.
2010 1.1 mrg [!_GLIBCXX_P1394] (span::span(Container&))
2011 1.1 mrg (span::span(const Container&)): Improve constraints.
2012 1.1 mrg [!_GLIBCXX_P1394] (span::span(pointer, size_type))
2013 1.1 mrg (span::span(pointer, pointer)): Remove redundant cast of pointer.
2014 1.1 mrg (span(const span<OType, OExtent>&)): New constructor.
2015 1.1 mrg
2016 1.1 mrg 2019-09-06 Jonathan Wakely <jwakely (a] redhat.com>
2017 1.1 mrg
2018 1.1 mrg * include/bits/range_access.h (ssize): Define for C++20.
2019 1.1 mrg * testsuite/24_iterators/range_access_cpp20.cc: New test.
2020 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update P1227R2 status.
2021 1.1 mrg * doc/html/*: Regenerate.
2022 1.1 mrg
2023 1.1 mrg 2019-09-06 Florian Weimer <fweimer (a] redhat.com>
2024 1.1 mrg
2025 1.1 mrg * configure: Regenerate.
2026 1.1 mrg
2027 1.1 mrg 2019-09-05 Jonathan Wakely <jwakely (a] redhat.com>
2028 1.1 mrg
2029 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update status for P0122R7 and
2030 1.1 mrg P1024R3. Remove entry for P0920R2.
2031 1.1 mrg * include/std/span (__cpp_lib_span): Change value.
2032 1.1 mrg (__extent_storage, __extent_storage<dynamic_extent>): Remove default
2033 1.1 mrg constructor.
2034 1.1 mrg (span): Replace __extent_storage base class with data member.
2035 1.1 mrg (span::_S_subspan_extent): New function.
2036 1.1 mrg (span::empty()): Add nodiscard attribute.
2037 1.1 mrg (span::front, span::back, span::operator[]): Check preconditions.
2038 1.1 mrg (span::first, span::last, span::subspan): Add noexcept. Improve
2039 1.1 mrg precondition checks (LWG 3103).
2040 1.1 mrg (get): Remove redundant condition from static_assert.
2041 1.1 mrg (tuple_element<I, span<T, E>>): Fix static_assert message and simplify.
2042 1.1 mrg (as_writable_bytes): Add inline specifier.
2043 1.1 mrg * include/std/version (__cpp_lib_span): Change value.
2044 1.1 mrg * testsuite/23_containers/span/back_neg.cc: Remove stray semi-colon.
2045 1.1 mrg * testsuite/23_containers/span/front_neg.cc: Likewise.
2046 1.1 mrg * testsuite/23_containers/span/index_op_neg.cc: Likewise.
2047 1.1 mrg * testsuite/23_containers/span/last_neg.cc: Improve test.
2048 1.1 mrg * testsuite/23_containers/span/subspan_neg.cc: Likewise.
2049 1.1 mrg * testsuite/23_containers/span/1.cc: New test.
2050 1.1 mrg * testsuite/23_containers/span/2.cc: New test.
2051 1.1 mrg * testsuite/23_containers/span/back_assert_neg.cc: New test.
2052 1.1 mrg * testsuite/23_containers/span/first_2_assert_neg.cc: New test.
2053 1.1 mrg * testsuite/23_containers/span/first_assert_neg.cc: New test.
2054 1.1 mrg * testsuite/23_containers/span/first_neg.cc: New test.
2055 1.1 mrg * testsuite/23_containers/span/front_assert_neg.cc: New test.
2056 1.1 mrg * testsuite/23_containers/span/index_op_assert_neg.cc: New test.
2057 1.1 mrg * testsuite/23_containers/span/last_2_assert_neg.cc: New test.
2058 1.1 mrg * testsuite/23_containers/span/last_assert_neg.cc: New test.
2059 1.1 mrg * testsuite/23_containers/span/subspan_2_assert_neg.cc: New test.
2060 1.1 mrg * testsuite/23_containers/span/subspan_3_assert_neg.cc: New test.
2061 1.1 mrg * testsuite/23_containers/span/subspan_4_assert_neg.cc: New test.
2062 1.1 mrg * testsuite/23_containers/span/subspan_5_assert_neg.cc: New test.
2063 1.1 mrg * testsuite/23_containers/span/subspan_6_assert_neg.cc: New test.
2064 1.1 mrg * testsuite/23_containers/span/subspan_assert_neg.cc: New test.
2065 1.1 mrg
2066 1.1 mrg 2019-09-05 JeanHeyd Meneide <phdofthehouse (a] gmail.com>
2067 1.1 mrg
2068 1.1 mrg * include/Makefile.am: Add <span> header.
2069 1.1 mrg * include/Makefile.in: Regenerate.
2070 1.1 mrg * include/bits/range_access.h (__adl_begin, __adl_end, __adl_cbegin)
2071 1.1 mrg (__adl_cend, __adl_rbegin, __adl_rend, __adl_crbegin, __adl_crend)
2072 1.1 mrg (__adl_data, __adl_cdata, __adl_size, __adl_empty, __adl_to_address):
2073 1.1 mrg New functions for performing argument-dependent lookup of range
2074 1.1 mrg customization points.
2075 1.1 mrg * include/bits/stl_iterator.h (__normal_iterator): Add
2076 1.1 mrg _GLIBCXX20_CONSTEXPR to all functions.
2077 1.1 mrg * include/std/span: New header.
2078 1.1 mrg * include/std/version (__cpp_lib_span): Define feature test macro.
2079 1.1 mrg * testsuite/23_containers/span/contiguous_range_neg.cc: New test.
2080 1.1 mrg * testsuite/23_containers/span/everything.cc: New test.
2081 1.1 mrg * testsuite/23_containers/span/get_neg.cc: New test.
2082 1.1 mrg * testsuite/23_containers/span/last_neg.cc: New test.
2083 1.1 mrg * testsuite/23_containers/span/subspan_neg.cc: New test.
2084 1.1 mrg * testsuite/23_containers/span/tuple_element_dynamic_neg.cc: New test.
2085 1.1 mrg * testsuite/23_containers/span/tuple_element_oob_neg.cc: New test.
2086 1.1 mrg * testsuite/23_containers/span/tuple_size_neg.cc: New test.
2087 1.1 mrg
2088 1.1 mrg 2019-09-05 Jonathan Wakely <jwakely (a] redhat.com>
2089 1.1 mrg
2090 1.1 mrg * doc/xml/manual/allocator.xml: Remove URL for bibliography entry.
2091 1.1 mrg * doc/html/*: Regenerate.
2092 1.1 mrg
2093 1.1 mrg 2019-09-04 Mike Crowe <mac (a] mcrowe.com>
2094 1.1 mrg
2095 1.1 mrg PR libstdc++/41861
2096 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_COND_CLOCKWAIT): Check for new
2097 1.1 mrg pthread_cond_clockwait function.
2098 1.1 mrg * configure.ac: Use GLIBCXX_CHECK_PTHREAD_COND_CLOCKWAIT.
2099 1.1 mrg * configure: Regenerate.
2100 1.1 mrg * config.h.in: Regenerate.
2101 1.1 mrg * include/std/condition_variable: (condition_variable): Rename
2102 1.1 mrg __steady_clock_t typedef and add system_clock. Change __clock_t to be
2103 1.1 mrg a typedef for the preferred clock to convert arbitrary other clocks to.
2104 1.1 mrg [_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT] (wait_until): Add a steady_clock
2105 1.1 mrg overload.
2106 1.1 mrg (wait_until): Change __clock_t overload to use system_clock.
2107 1.1 mrg [_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT] (__wait_until_impl): Add
2108 1.1 mrg steady_clock overload that calls pthread_cond_clockwait.
2109 1.1 mrg (__wait_until_impl): Change __clock_t overload to use system_clock.
2110 1.1 mrg (condition_variable_any) [_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT]: Use
2111 1.1 mrg steady_clock for __clock_t if pthread_cond_clockwait is available.
2112 1.1 mrg
2113 1.1 mrg 2019-09-04 Mike Crowe <mac (a] mcrowe.com>
2114 1.1 mrg
2115 1.1 mrg * testsuite/30_threads/condition_variable/members/2.cc (test01):
2116 1.1 mrg Parameterise so that test can be run against an arbitrary clock.
2117 1.1 mrg (main): Test using std::chrono::steady_clock and a user-defined
2118 1.1 mrg clock in addition to the previous std::chrono::system_clock.
2119 1.1 mrg * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
2120 1.1 mrg
2121 1.1 mrg 2019-09-03 Ulrich Weigand <uweigand (a] de.ibm.com>
2122 1.1 mrg
2123 1.1 mrg * crossconfig.m4: Remove references to spu.
2124 1.1 mrg * configure: Regenerate.
2125 1.1 mrg * doc/xml/manual/appendix_contributing.xml: Remove references
2126 1.1 mrg to __ea as "badword" for spu.
2127 1.1 mrg * doc/html/manual/source_code_style.html: Regenerate.
2128 1.1 mrg * include/tr1/ell_integral.tcc (__ellint_rd): Do not attempt
2129 1.1 mrg to avoid __ea (as "badword" for spu).
2130 1.1 mrg (__ellint_rj): Likewise.
2131 1.1 mrg
2132 1.1 mrg 2019-09-03 Chung-Lin Tang <cltang (a] codesourcery.com>
2133 1.1 mrg
2134 1.1 mrg PR other/79543
2135 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Fix GNU ld --version
2136 1.1 mrg scanning to conform to the GNU Coding Standards.
2137 1.1 mrg * configure: Regenerate.
2138 1.1 mrg
2139 1.1 mrg 2019-09-02 Jonathan Wakely <jwakely (a] redhat.com>
2140 1.1 mrg
2141 1.1 mrg * src/c++17/memory_resource.cc: Use __constinit keyword.
2142 1.1 mrg
2143 1.1 mrg 2019-09-02 Jonathan Wakely <jwakely (a] redhat.com>
2144 1.1 mrg
2145 1.1 mrg * doc/xml/manual/abi.xml: Document 9.x library versions.
2146 1.1 mrg * doc/html/*: Regenerate.
2147 1.1 mrg
2148 1.1 mrg 2019-09-02 Jonathan Wakely <jwakely (a] redhat.com>
2149 1.1 mrg
2150 1.1 mrg * include/std/charconv (__detail::__to_chars_2_len): Use std::log2p1.
2151 1.1 mrg (__detail::__to_chars_8_len): Remove.
2152 1.1 mrg (__detail::__to_chars_8): Inline length calculation here.
2153 1.1 mrg (__detail::__from_chars_binary): Use numeric_limits instead of
2154 1.1 mrg CHAR_BIT.
2155 1.1 mrg
2156 1.1 mrg 2019-09-02 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
2157 1.1 mrg
2158 1.1 mrg * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
2159 1.1 mrg * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: Likewise.
2160 1.1 mrg * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
2161 1.1 mrg * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
2162 1.1 mrg Likewise.
2163 1.1 mrg
2164 1.1 mrg 2019-09-01 Franois Dumont <fdumont (a] gcc.gnu.org>
2165 1.1 mrg
2166 1.1 mrg * testsuite_files/util/testsuite_performance.h
2167 1.1 mrg (resource_counter::start): Ignore unused malloc(0) result.
2168 1.1 mrg
2169 1.1 mrg 2019-09-01 Gerald Pfeifer <gerald (a] pfeifer.com>
2170 1.1 mrg
2171 1.1 mrg * doc/xml/manual/policy_data_structures_biblio.xml (COM: Component
2172 1.1 mrg Model Object Technologies): Adjust name and link.
2173 1.1 mrg
2174 1.1 mrg 2019-08-30 Antony Polukhin <antoshkka (a] gmail.com>
2175 1.1 mrg
2176 1.1 mrg * include/std/charconv (__detail::__to_chars_8)
2177 1.1 mrg __detail::__to_chars_16): Replace array of precomputed digits with
2178 1.1 mrg arithmetic operations to avoid CPU cache misses. Remove zero
2179 1.1 mrg termination from array of digits to allow symbol merge with generic
2180 1.1 mrg implementation of __detail::__to_chars. Replace final offsets with
2181 1.1 mrg constants. Use __detail::__to_chars_len_2 instead of a generic
2182 1.1 mrg __detail::__to_chars_len.
2183 1.1 mrg (__detail::__to_chars): Remove zero termination from array of digits.
2184 1.1 mrg (__detail::__to_chars_2): Leading digit is always '1'.
2185 1.1 mrg
2186 1.1 mrg 2019-08-30 Jonathan Wakely <jwakely (a] redhat.com>
2187 1.1 mrg
2188 1.1 mrg * testsuite/23_containers/vector/cons/89164_c++17.cc: Fix errors.
2189 1.1 mrg
2190 1.1 mrg 2019-08-30 Uros Bizjak <ubizjak (a] gmail.com>
2191 1.1 mrg
2192 1.1 mrg * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2193 1.1 mrg
2194 1.1 mrg 2019-08-30 Jonathan Wakely <jwakely (a] redhat.com>
2195 1.1 mrg
2196 1.1 mrg PR libstdc++/89164
2197 1.1 mrg * include/bits/stl_algobase.h (__copy_move): Give descriptive names
2198 1.1 mrg to template parameters.
2199 1.1 mrg * include/bits/stl_uninitialized.h (uninitialized_copy)
2200 1.1 mrg (uninitialized_fill, uninitialized_fill_n): Add static assertions to
2201 1.1 mrg diagnose invalid uses.
2202 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc:
2203 1.1 mrg Adjust expected error.
2204 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_copy/89164.cc:
2205 1.1 mrg New test.
2206 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
2207 1.1 mrg 89164.cc: New test.
2208 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill/89164.cc:
2209 1.1 mrg New test.
2210 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
2211 1.1 mrg 89164.cc: New test.
2212 1.1 mrg * testsuite/23_containers/vector/cons/89164.cc: New test.
2213 1.1 mrg * testsuite/23_containers/vector/cons/89164_c++17.cc: New test.
2214 1.1 mrg
2215 1.1 mrg 2019-08-29 Jonathan Wakely <jwakely (a] redhat.com>
2216 1.1 mrg
2217 1.1 mrg PR libstdc++/91067
2218 1.1 mrg * acinclude.m4 (libtool_VERSION): Bump to 6:28:0.
2219 1.1 mrg * configure: Regenerate.
2220 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.28): Add new version. Export
2221 1.1 mrg missing symbols.
2222 1.1 mrg * testsuite/27_io/filesystem/iterators/91067.cc: Test move
2223 1.1 mrg constructors.
2224 1.1 mrg * testsuite/util/testsuite_abi.cc: Add new symbol version.
2225 1.1 mrg
2226 1.1 mrg 2019-08-29 Jakub Jelinek <jakub (a] redhat.com>
2227 1.1 mrg
2228 1.1 mrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
2229 1.1 mrg * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
2230 1.1 mrg
2231 1.1 mrg 2019-08-28 Jonathan Wakely <jwakely (a] redhat.com>
2232 1.1 mrg
2233 1.1 mrg * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2234 1.1 mrg * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
2235 1.1 mrg * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
2236 1.1 mrg * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2237 1.1 mrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2238 1.1 mrg * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
2239 1.1 mrg * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
2240 1.1 mrg
2241 1.1 mrg 2019-08-23 Joseph Myers <joseph (a] codesourcery.com>
2242 1.1 mrg
2243 1.1 mrg * src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
2244 1.1 mrg (std::filesystem::__gnu_posix::lstat): Add return type.
2245 1.1 mrg
2246 1.1 mrg 2019-08-20 Jonathan Wakely <jwakely (a] redhat.com>
2247 1.1 mrg
2248 1.1 mrg * doc/doxygen/user.cfg.in (INPUT): Remove profile mode headers.
2249 1.1 mrg
2250 1.1 mrg * include/std/numeric (reduce): Fix Doxygen markup.
2251 1.1 mrg
2252 1.1 mrg PR libstdc++/91371
2253 1.1 mrg * include/std/type_traits (is_function): Simplify definition. Remove
2254 1.1 mrg partial specializations for function types.
2255 1.1 mrg (__is_referenceable): Simplify definition.
2256 1.1 mrg * testsuite/20_util/bind/91371.cc: New test.
2257 1.1 mrg * testsuite/20_util/is_function/91371.cc: New test.
2258 1.1 mrg * testsuite/20_util/is_function/value.cc: Check more pointer types.
2259 1.1 mrg * testsuite/20_util/is_member_function_pointer/91371.cc: New test.
2260 1.1 mrg * testsuite/20_util/is_object/91371.cc: New test.
2261 1.1 mrg
2262 1.1 mrg 2019-08-16 Uros Bizjak <ubizjak (a] gmail.com>
2263 1.1 mrg
2264 1.1 mrg * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2265 1.1 mrg
2266 1.1 mrg 2019-08-15 Jonathan Wakely <jwakely (a] redhat.com>
2267 1.1 mrg
2268 1.1 mrg PR libstdc++/91456
2269 1.1 mrg * include/bits/std_function.h (__check_func_return_type): Remove.
2270 1.1 mrg (function::_Callable): Use std::__is_invocable_impl instead of
2271 1.1 mrg __check_func_return_type.
2272 1.1 mrg * include/std/type_traits (__is_invocable_impl): Add another defaulted
2273 1.1 mrg template parameter. Define a separate partial specialization for
2274 1.1 mrg INVOKE and INVOKE<void>. For INVOKE<R> replace is_convertible check
2275 1.1 mrg with a check that models delayed temporary materialization.
2276 1.1 mrg * testsuite/20_util/function/91456.cc: New test.
2277 1.1 mrg * testsuite/20_util/is_invocable/91456.cc: New test.
2278 1.1 mrg
2279 1.1 mrg 2019-08-14 Jonathan Wakely <jwakely (a] redhat.com>
2280 1.1 mrg
2281 1.1 mrg * include/std/type_traits (__is_nullptr_t): Add deprecated attribute.
2282 1.1 mrg
2283 1.1 mrg 2019-08-14 Edward Smith-Rowland <3dw4rd (a] verizon.net>
2284 1.1 mrg
2285 1.1 mrg Implement C++20 p0879 - Constexpr for swap and swap related functions.
2286 1.1 mrg * include/std/version (__cpp_lib_constexpr_swap_algorithms): New macro.
2287 1.1 mrg * include/bits/algorithmfwd.h (__cpp_lib_constexpr_swap_algorithms):
2288 1.1 mrg New macro.
2289 1.1 mrg (iter_swap, make_heap, next_permutation, partial_sort_copy, pop_heap)
2290 1.1 mrg (prev_permutation, push_heap, reverse, rotate, sort_heap, swap)
2291 1.1 mrg (swap_ranges, nth_element, partial_sort, sort): Add constexpr.
2292 1.1 mrg * include/bits/move.h (swap): Add constexpr.
2293 1.1 mrg * include/bits/stl_algo.h (__move_median_to_first, __reverse, reverse)
2294 1.1 mrg (__gcd, __rotate, rotate, __partition, __heap_select)
2295 1.1 mrg (__partial_sort_copy, partial_sort_copy, __unguarded_partition)
2296 1.1 mrg (__unguarded_partition_pivot, __partial_sort, __introsort_loop, __sort)
2297 1.1 mrg (__introselect, __chunk_insertion_sort, next_permutation)
2298 1.1 mrg (prev_permutation, partition, partial_sort, nth_element, sort)
2299 1.1 mrg (__iter_swap::iter_swap, iter_swap, swap_ranges): Add constexpr.
2300 1.1 mrg * include/bits/stl_algobase.h (__iter_swap::iter_swap, iter_swap)
2301 1.1 mrg (swap_ranges): Add constexpr.
2302 1.1 mrg * include/bits/stl_heap.h (__push_heap, push_heap, __adjust_heap,
2303 1.1 mrg __pop_heap, pop_heap, __make_heap, make_heap, __sort_heap, sort_heap):
2304 1.1 mrg Add constexpr.
2305 1.1 mrg * include/std/type_traits (swap): Add constexpr.
2306 1.1 mrg * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Add constexpr.
2307 1.1 mrg * testsuite/25_algorithms/iter_swap/constexpr.cc: New test.
2308 1.1 mrg * testsuite/25_algorithms/make_heap/constexpr.cc: New test.
2309 1.1 mrg * testsuite/25_algorithms/next_permutation/constexpr.cc: New test.
2310 1.1 mrg * testsuite/25_algorithms/nth_element/constexpr.cc: New test.
2311 1.1 mrg * testsuite/25_algorithms/partial_sort/constexpr.cc: New test.
2312 1.1 mrg * testsuite/25_algorithms/partial_sort_copy/constexpr.cc: New test.
2313 1.1 mrg * testsuite/25_algorithms/partition/constexpr.cc: New test.
2314 1.1 mrg * testsuite/25_algorithms/pop_heap/constexpr.cc: New test.
2315 1.1 mrg * testsuite/25_algorithms/prev_permutation/constexpr.cc: New test.
2316 1.1 mrg * testsuite/25_algorithms/push_heap/constexpr.cc: New test.
2317 1.1 mrg * testsuite/25_algorithms/reverse/constexpr.cc: New test.
2318 1.1 mrg * testsuite/25_algorithms/rotate/constexpr.cc: New test.
2319 1.1 mrg * testsuite/25_algorithms/sort/constexpr.cc: New test.
2320 1.1 mrg * testsuite/25_algorithms/sort_heap/constexpr.cc: New test.
2321 1.1 mrg * testsuite/25_algorithms/swap/constexpr.cc: New test.
2322 1.1 mrg * testsuite/25_algorithms/swap_ranges/constexpr.cc: New test.
2323 1.1 mrg
2324 1.1 mrg 2019-08-12 Jonathan Wakely <jwakely (a] redhat.com>
2325 1.1 mrg
2326 1.1 mrg PR libstdc++/90361
2327 1.1 mrg * src/c++17/string-inst.cc: Use _GLIBCXX_USE_CXX11_ABI=1 by default.
2328 1.1 mrg
2329 1.1 mrg * include/std/tuple (__unpack_std_tuple): New variable template and
2330 1.1 mrg partial specializations.
2331 1.1 mrg (apply, make_from_tuple): Add noexcept-specifier.
2332 1.1 mrg * testsuite/20_util/tuple/apply/2.cc: New test.
2333 1.1 mrg * testsuite/20_util/tuple/make_from_tuple/2.cc: New test.
2334 1.1 mrg
2335 1.1 mrg 2019-08-09 Corentin Gay <gay (a] adacore.com>
2336 1.1 mrg
2337 1.1 mrg * testsuite/ext/random/beta_distribution/operators/serialize.cc,
2338 1.1 mrg testsuite/ext/random/hypergeometric_distribution/operators/serialize.cc,
2339 1.1 mrg testsuite/ext/random/normal_mv_distribution/operators/serialize.cc,
2340 1.1 mrg testsuite/ext/random/triangular_distribution/operators/serialize.cc,
2341 1.1 mrg testsuite/ext/random/von_mises_distribution/operators/serialize.cc:
2342 1.1 mrg Add call to `VERIFY`.
2343 1.1 mrg
2344 1.1 mrg 2019-08-09 Alexandre Oliva <oliva (a] adacore.com>
2345 1.1 mrg
2346 1.1 mrg * include/ext/random
2347 1.1 mrg (normal_mv_distribution::param_type::param_type): New private
2348 1.1 mrg ctor taking a decomposed varcov matrix, for use by...
2349 1.1 mrg (operator>>): ... this, befriended.
2350 1.1 mrg * include/ext/random.tcc (operator>>): Use it.
2351 1.1 mrg (normal_mv_distribution::param_type::_M_init_lower): Adjust
2352 1.1 mrg member function name in exception message.
2353 1.1 mrg
2354 1.1 mrg 2019-08-08 Jonathan Wakely <jwakely (a] redhat.com>
2355 1.1 mrg
2356 1.1 mrg P0325R4 to_array from LFTS with updates
2357 1.1 mrg * include/experimental/array (to_array): Qualify call to __to_array.
2358 1.1 mrg * include/std/array (__cpp_lib_to_array, to_array): Define for C++20.
2359 1.1 mrg * include/std/version (__cpp_lib_to_array): Likewise.
2360 1.1 mrg * testsuite/23_containers/array/creation/1.cc: New test.
2361 1.1 mrg * testsuite/23_containers/array/creation/2.cc: New test.
2362 1.1 mrg * testsuite/23_containers/array/creation/3_neg.cc: New test.
2363 1.1 mrg * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2364 1.1 mrg Use zero for dg-error line number.
2365 1.1 mrg
2366 1.1 mrg 2019-08-06 Jonathan Wakely <jwakely (a] redhat.com>
2367 1.1 mrg
2368 1.1 mrg P1651R0 bind_front should not unwrap reference_wrapper
2369 1.1 mrg * include/std/functional (bind_front): Don't unwrap reference_wrapper.
2370 1.1 mrg * include/std/version (__cpp_lib_bind_front): Update value.
2371 1.1 mrg * testsuite/20_util/function_objects/bind_front/1.cc: Fix test for
2372 1.1 mrg feature test macro.
2373 1.1 mrg * testsuite/20_util/function_objects/bind_front/2.cc: New test.
2374 1.1 mrg
2375 1.1 mrg * include/std/numbers [!__STRICT_ANSI__ && _GLIBCXX_USE_FLOAT128]
2376 1.1 mrg (e_v, log2e_v, log10e_v, pi_v, inv_pi_v, inv_sqrtpi_v, ln2_v, ln10_v)
2377 1.1 mrg (sqrt2_v, sqrt3_v, inv_sqrt3, egamma_v, phi_v): Add explicit
2378 1.1 mrg specializations for __float128.
2379 1.1 mrg * testsuite/26_numerics/numbers/float128.cc: New test.
2380 1.1 mrg
2381 1.1 mrg 2019-08-04 Gerald Pfeifer <gerald (a] pfeifer.com>
2382 1.1 mrg
2383 1.1 mrg * doc/xml/manual/documentation_hacking.xml: doxygen.org is now
2384 1.1 mrg doxygen.nl.
2385 1.1 mrg
2386 1.1 mrg 2019-08-01 Edward Smith-Rowland <3dw4rd (a] verizon.net>
2387 1.1 mrg
2388 1.1 mrg Implement C++20 p0202 - Add Constexpr Modifiers to Functions
2389 1.1 mrg in <algorithm> and <utility> Headers.
2390 1.1 mrg Implement C++20 p1023 - constexpr comparison operators for std::array.
2391 1.1 mrg * include/bits/algorithmfwd.h (all_of, any_of, binary_search, copy,
2392 1.1 mrg copy_backward, copy_if, copy_n, equal_range, fill, find_end,
2393 1.1 mrg find_if_not, includes, is_heap, is_heap_until, is_partitioned,
2394 1.1 mrg is_permutation, is_sorted, is_sorted_until, iter_swap, lower_bound,
2395 1.1 mrg none_of, partition_copy, partition_point, remove, remove_if,
2396 1.1 mrg remove_copy, remove_copy_if, replace_copy, replace_copy_if,
2397 1.1 mrg reverse_copy, rotate_copy, uunique, upper_bound, adjacent_find, count,
2398 1.1 mrg count_if, equal, find, find_first_of, find_if, for_each, generate,
2399 1.1 mrg generate_n, lexicographical_compare, merge, mismatch, replace,
2400 1.1 mrg replace_if, search, search_n, set_difference, set_intersection,
2401 1.1 mrg set_symmetric_difference, set_union, transform, unique_copy):
2402 1.1 mrg Mark constexpr.
2403 1.1 mrg * include/bits/cpp_type_traits.h (__miter_base): Mark constexpr.
2404 1.1 mrg * include/bits/predefined_ops.h (_Iter_less_val::operator(),
2405 1.1 mrg _Val_less_iter::operator(), _Iter_equal_to_iter::operator(),
2406 1.1 mrg _Iter_equal_to_val::operator(), _Iter_equals_val::operator()):
2407 1.1 mrg Use const ref instead of ref arg;
2408 1.1 mrg (_Iter_less_val, __iter_less_val, _Val_less_iter, __val_less_iter,
2409 1.1 mrg __iter_equal_to_iter, __iter_equal_to_val, __iter_comp_val,
2410 1.1 mrg _Iter_comp_val, _Val_comp_iter, __val_comp_iter, __iter_equals_val,
2411 1.1 mrg _Iter_equals_iter, __iter_comp_iter, _Iter_pred, __pred_iter,
2412 1.1 mrg _Iter_comp_to_val, __iter_comp_val, _Iter_comp_to_iter,
2413 1.1 mrg __iter_comp_iter): Mark constexpr.
2414 1.1 mrg * include/bits/stl_algo.h (__find_if, __find_if_not, __find_if_not_n,
2415 1.1 mrg __search, __search_n_aux, __search_n, __find_end, find_end, all_of,
2416 1.1 mrg none_of, any_of, find_if_not, is_partitioned, partition_point,
2417 1.1 mrg __remove_copy_if, remove_copy, remove_copy_if, copy_if, __copy_n,
2418 1.1 mrg copy_n, partition_copy, __remove_if, remove, remove_if, __adjacent_find,
2419 1.1 mrg __unique, unique, __unique_copy, reverse_copy, rotate_copy,
2420 1.1 mrg __unguarded_linear_insert, __insertion_sort, __unguarded_insertion_sort,
2421 1.1 mrg __final_insertion_sort, lower_bound, __upper_bound, upper_bound,
2422 1.1 mrg __equal_range, equal_range, binary_search, __includes, includes,
2423 1.1 mrg __next_permutation, __prev_permutation, __replace_copy_if, replace_copy,
2424 1.1 mrg replace_copy_if, __count_if, is_sorted, __is_sorted_until,
2425 1.1 mrg is_sorted_until, __is_permutation, is_permutation, for_each, find,
2426 1.1 mrg find_if, find_first_of, adjacent_find, count, count_if, search,
2427 1.1 mrg search_n, transform, replace, replace_if, generate, generate_n,
2428 1.1 mrg unique_copy, __merge, merge, __set_union, set_union, __set_intersection,
2429 1.1 mrg set_intersection, __set_difference, set_difference,
2430 1.1 mrg __set_symmetric_difference, set_symmetric_difference): Mark constexpr.
2431 1.1 mrg * include/bits/stl_algobase.h (__memmove, __memcmp): New maybe constexpr
2432 1.1 mrg wrappers around __builtin_memmove and __builtin_memcmp
2433 1.1 mrg respectively;
2434 1.1 mrg (__niter_base, __niter_wrap, __copy_m, __copy_move_a, __copy_move_a2,
2435 1.1 mrg copy, move, __copy_move_b, __copy_move_backward_a,
2436 1.1 mrg __copy_move_backward_a2, copy_backward, move_backward, __fill_a, fill,
2437 1.1 mrg __fill_n_a, fill_n, equal, __lc_rai::__newlast1, __lc_rai::__cnd2,
2438 1.1 mrg __lexicographical_compare_impl, __lexicographical_compare,
2439 1.1 mrg __lexicographical_compare<true>::__lc, __lexicographical_compare_aux,
2440 1.1 mrg __lower_bound, lower_bound, equal, __equal4, lexicographical_compare,
2441 1.1 mrg __mismatch, mismatch, __is_heap_until, __is_heap, is_heap_until,
2442 1.1 mrg is_heap): Mark constexpr.
2443 1.1 mrg * include/bits/stl_heap.h (__is_heap_until, __is_heap, is_heap_until,
2444 1.1 mrg is_heap): Mark constexpr.
2445 1.1 mrg * include/bits/stl_iterator.h (__niter_base, __miter_base): Mark constexpr.
2446 1.1 mrg * include/std/array: Make comparison ops constexpr.
2447 1.1 mrg * include/std/utility: Make exchange constexpr.
2448 1.1 mrg * include/std/version (__cpp_lib_constexpr_algorithms): New macro.
2449 1.1 mrg * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
2450 1.1 mrg * testsuite/23_containers/array/tuple_interface/
2451 1.1 mrg tuple_element_neg.cc: Adjust.
2452 1.1 mrg * testsuite/20_util/exchange/constexpr.cc: New.
2453 1.1 mrg * testsuite/23_containers/array/comparison_operators/constexpr.cc: New.
2454 1.1 mrg * testsuite/25_algorithms/constexpr_macro.cc: New.
2455 1.1 mrg * testsuite/25_algorithms/adjacent_find/constexpr.cc: New.
2456 1.1 mrg * testsuite/25_algorithms/all_of/constexpr.cc: New.
2457 1.1 mrg * testsuite/25_algorithms/any_of/constexpr.cc: New.
2458 1.1 mrg * testsuite/25_algorithms/binary_search/constexpr.cc: New.
2459 1.1 mrg * testsuite/25_algorithms/copy/constexpr.cc: New.
2460 1.1 mrg * testsuite/25_algorithms/copy_backward/constexpr.cc: New.
2461 1.1 mrg * testsuite/25_algorithms/copy_if/constexpr.cc: New.
2462 1.1 mrg * testsuite/25_algorithms/copy_n/constexpr.cc: New.
2463 1.1 mrg * testsuite/25_algorithms/count/constexpr.cc: New.
2464 1.1 mrg * testsuite/25_algorithms/count_if/constexpr.cc: New.
2465 1.1 mrg * testsuite/25_algorithms/equal/constexpr.cc: New.
2466 1.1 mrg * testsuite/25_algorithms/equal_range/constexpr.cc: New.
2467 1.1 mrg * testsuite/25_algorithms/fill/constexpr.cc: New.
2468 1.1 mrg * testsuite/25_algorithms/fill_n/constexpr.cc: New.
2469 1.1 mrg * testsuite/25_algorithms/find/constexpr.cc: New.
2470 1.1 mrg * testsuite/25_algorithms/find_end/constexpr.cc: New.
2471 1.1 mrg * testsuite/25_algorithms/find_first_of/constexpr.cc: New.
2472 1.1 mrg * testsuite/25_algorithms/find_if/constexpr.cc: New.
2473 1.1 mrg * testsuite/25_algorithms/find_if_not/constexpr.cc: New.
2474 1.1 mrg * testsuite/25_algorithms/for_each/constexpr.cc: New.
2475 1.1 mrg * testsuite/25_algorithms/generate/constexpr.cc: New.
2476 1.1 mrg * testsuite/25_algorithms/generate_n/constexpr.cc: New.
2477 1.1 mrg * testsuite/25_algorithms/is_heap/constexpr.cc: New.
2478 1.1 mrg * testsuite/25_algorithms/is_heap_until/constexpr.cc: New.
2479 1.1 mrg * testsuite/25_algorithms/is_partitioned/constexpr.cc: New.
2480 1.1 mrg * testsuite/25_algorithms/is_permutation/constexpr.cc: New.
2481 1.1 mrg * testsuite/25_algorithms/is_sorted/constexpr.cc: New.
2482 1.1 mrg * testsuite/25_algorithms/is_sorted_until/constexpr.cc: New.
2483 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: New.
2484 1.1 mrg * testsuite/25_algorithms/lower_bound/constexpr.cc: New.
2485 1.1 mrg * testsuite/25_algorithms/merge/constexpr.cc: New.
2486 1.1 mrg * testsuite/25_algorithms/mismatch/constexpr.cc: New.
2487 1.1 mrg * testsuite/25_algorithms/none_of/constexpr.cc: New.
2488 1.1 mrg * testsuite/25_algorithms/partition_copy/constexpr.cc: New.
2489 1.1 mrg * testsuite/25_algorithms/partition_point/constexpr.cc: New.
2490 1.1 mrg * testsuite/25_algorithms/remove/constexpr.cc: New.
2491 1.1 mrg * testsuite/25_algorithms/remove_copy/constexpr.cc: New.
2492 1.1 mrg * testsuite/25_algorithms/remove_copy_if/constexpr.cc: New.
2493 1.1 mrg * testsuite/25_algorithms/remove_if/constexpr.cc: New.
2494 1.1 mrg * testsuite/25_algorithms/replace_copy/constexpr.cc: New.
2495 1.1 mrg * testsuite/25_algorithms/replace_copy_if/constexpr.cc: New.
2496 1.1 mrg * testsuite/25_algorithms/replace_if/constexpr.cc: New.
2497 1.1 mrg * testsuite/25_algorithms/reverse_copy/constexpr.cc: New.
2498 1.1 mrg * testsuite/25_algorithms/rotate_copy/constexpr.cc: New.
2499 1.1 mrg * testsuite/25_algorithms/search/constexpr.cc: New.
2500 1.1 mrg * testsuite/25_algorithms/search_n/constexpr.cc: New.
2501 1.1 mrg * testsuite/25_algorithms/set_difference/constexpr.cc: New.
2502 1.1 mrg * testsuite/25_algorithms/set_intersection/constexpr.cc: New.
2503 1.1 mrg * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: New.
2504 1.1 mrg * testsuite/25_algorithms/set_union/constexpr.cc: New.
2505 1.1 mrg * testsuite/25_algorithms/transform/constexpr.cc: New.
2506 1.1 mrg * testsuite/25_algorithms/unique/constexpr.cc: New.
2507 1.1 mrg * testsuite/25_algorithms/unique_copy/constexpr.cc: New.
2508 1.1 mrg * testsuite/25_algorithms/upper_bound/constexpr.cc: New.
2509 1.1 mrg
2510 1.1 mrg 2019-07-31 Jonathan Wakely <jwakely (a] redhat.com>
2511 1.1 mrg
2512 1.1 mrg * include/std/memory (make_obj_using_allocator): Qualify call to
2513 1.1 mrg uses_allocator_construction_args.
2514 1.1 mrg
2515 1.1 mrg P0631R4 Math Constants
2516 1.1 mrg * include/Makefile.am: Add new header.
2517 1.1 mrg * include/Makefile.in: Regenerate.
2518 1.1 mrg * include/precompiled/stdc++.h: Include new header.
2519 1.1 mrg * include/std/numbers: New header.
2520 1.1 mrg * include/std/version (__cpp_lib_math_constants): Define.
2521 1.1 mrg * testsuite/26_numerics/numbers/1.cc: New test.
2522 1.1 mrg * testsuite/26_numerics/numbers/2.cc: New test.
2523 1.1 mrg * testsuite/26_numerics/numbers/3.cc: New test.
2524 1.1 mrg * testsuite/26_numerics/numbers/nonfloat_neg.cc: New test.
2525 1.1 mrg
2526 1.1 mrg * include/std/bit: Add Doxygen comments.
2527 1.1 mrg
2528 1.1 mrg PR libstdc++/91308
2529 1.1 mrg * include/bits/unique_ptr.h (unique_ptr::__safe_conversion_up): Remove
2530 1.1 mrg constraints on deleter that should only apply to the constructor.
2531 1.1 mrg (unique_ptr<T[], D>::__safe_conversion_up): Likewise.
2532 1.1 mrg (unique_ptr<T[], D>::unique_ptr(unique_ptr<U, D>&&)): Restore
2533 1.1 mrg constraints on deleter here.
2534 1.1 mrg * testsuite/20_util/unique_ptr/assign/91308.cc: New test.
2535 1.1 mrg
2536 1.1 mrg 2019-07-29 Jonathan Wakely <jwakely (a] redhat.com>
2537 1.1 mrg
2538 1.1 mrg PR libstdc++/51333
2539 1.1 mrg * libsupc++/cxxabi.h (__gnu_cxx::recursive_init_error): Do not define
2540 1.1 mrg constructor inline.
2541 1.1 mrg * libsupc++/guard_error.cc (__gnu_cxx::recursive_init_error): Define
2542 1.1 mrg constructor.
2543 1.1 mrg * testsuite/18_support/51333.cc: New test.
2544 1.1 mrg
2545 1.1 mrg 2019-07-28 Gerald Pfeifer <gerald (a] pfeifer.com>
2546 1.1 mrg
2547 1.1 mrg * doc/xml/manual/documentation_hacking.xml: Fix broken reference
2548 1.1 mrg to the Doxygen manual. Avoid a "here" link on the way.
2549 1.1 mrg Fix another broken link to Doxygen docblocks.
2550 1.1 mrg
2551 1.1 mrg 2019-07-26 Jonathan Wakely <jwakely (a] redhat.com>
2552 1.1 mrg
2553 1.1 mrg * include/std/bit (__cpp_lib_endian): Define.
2554 1.1 mrg * include/std/version (__cpp_lib_endian): Define.
2555 1.1 mrg * testsuite/26_numerics/endian/2.cc: New.
2556 1.1 mrg * testsuite/26_numerics/endian/3.cc: New.
2557 1.1 mrg * testsuite/26_numerics/endian/4.cc: New.
2558 1.1 mrg
2559 1.1 mrg 2019-07-26 Franois Dumont <fdumont (a] gcc.gnu.org>
2560 1.1 mrg
2561 1.1 mrg * testsuite/util/testsuite_iterators.h
2562 1.1 mrg (bidirectional_iterator_wrapper): Fix type comment.
2563 1.1 mrg (random_access_iterator_wrapper): Likewise.
2564 1.1 mrg
2565 1.1 mrg 2019-07-25 Jonathan Wakely <jwakely (a] redhat.com>
2566 1.1 mrg
2567 1.1 mrg * include/std/bit (endian): Move definition here as per P1612R1.
2568 1.1 mrg * include/std/type_traits (endian): Remove definition from here.
2569 1.1 mrg * testsuite/20_util/endian/1.cc: Rename to ...
2570 1.1 mrg * testsuite/26_numerics/endian/1.cc: ... here. Adjust header.
2571 1.1 mrg
2572 1.1 mrg 2019-07-25 Martin Liska <mliska (a] suse.cz>
2573 1.1 mrg Dominik Infuhr <dominik.infuehr (a] theobroma-systems.com>
2574 1.1 mrg
2575 1.1 mrg PR c++/23383
2576 1.1 mrg * testsuite/ext/bitmap_allocator/check_delete.cc: Add
2577 1.1 mrg -fno-allocation-dce.
2578 1.1 mrg * testsuite/ext/bitmap_allocator/check_new.cc: Likewise.
2579 1.1 mrg * testsuite/ext/new_allocator/check_delete.cc: Likewise.
2580 1.1 mrg * testsuite/ext/new_allocator/check_new.cc: Likewise.
2581 1.1 mrg
2582 1.1 mrg 2019-07-22 Jonathan Wakely <jwakely (a] redhat.com>
2583 1.1 mrg
2584 1.1 mrg * testsuite/26_numerics/bit/bitops.count/*: Rename to ...
2585 1.1 mrg * testsuite/26_numerics/bit/bit.count/*: Here.
2586 1.1 mrg
2587 1.1 mrg * include/std/bit (__rotl, __rotr): Change second parameter from
2588 1.1 mrg unsigned int to int and handle negative values.
2589 1.1 mrg (rotl, rotr): Remove check for __STRICT_ANSI__. Change second
2590 1.1 mrg parameter from unsigned int to int. Add nodiscard attribute.
2591 1.1 mrg * testsuite/26_numerics/bit/bitops.rot/rotl.cc: Rename to ...
2592 1.1 mrg * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Here. Test negative
2593 1.1 mrg shifts.
2594 1.1 mrg * testsuite/26_numerics/bit/bitops.rot/rotr.cc: Rename to ...
2595 1.1 mrg * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Here. Test negative
2596 1.1 mrg shifts.
2597 1.1 mrg
2598 1.1 mrg * include/std/bit (__ceil2): Make unrepresentable results undefined,
2599 1.1 mrg as per P1355R2. Add debug assertion. Perform one left shift, not two,
2600 1.1 mrg so that out of range values cause undefined behaviour. Ensure that
2601 1.1 mrg shift will still be undefined if left operand is promoted.
2602 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Replace checks for
2603 1.1 mrg unrepresentable values with checks that they are not core constant
2604 1.1 mrg expressions.
2605 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2_neg.cc: New test.
2606 1.1 mrg
2607 1.1 mrg 2019-07-19 Franois Dumont <fdumont (a] gcc.gnu.org>
2608 1.1 mrg
2609 1.1 mrg * include/bits/stl_tempbuf.h (__detail::__return_temporary_buffer): Fix
2610 1.1 mrg sized deallocation size computation.
2611 1.1 mrg
2612 1.1 mrg 2019-07-19 Andreas Schwab <schwab (a] linux-m68k.org>
2613 1.1 mrg
2614 1.1 mrg * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
2615 1.1 mrg
2616 1.1 mrg 2019-07-18 Franois Dumont <fdumont (a] gcc.gnu.org>
2617 1.1 mrg
2618 1.1 mrg * include/bits/stl_tempbuf.h (__detail::__return_temporary_buffer): New.
2619 1.1 mrg (~_Temporary_buffer()): Use latter.
2620 1.1 mrg (_Temporary_buffer(_FIterator, size_type)): Likewise.
2621 1.1 mrg
2622 1.1 mrg 2019-07-17 Andreas Schwab <schwab (a] suse.de>
2623 1.1 mrg
2624 1.1 mrg * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2625 1.1 mrg
2626 1.1 mrg 2019-07-16 Jason Merrill <jason (a] redhat.com>
2627 1.1 mrg
2628 1.1 mrg * include/std/memory (uses_allocator_construction_args): Add parens
2629 1.1 mrg around constraint.
2630 1.1 mrg
2631 1.1 mrg 2019-07-12 Jonathan Wakely <jwakely (a] redhat.com>
2632 1.1 mrg
2633 1.1 mrg * testsuite/29_atomics/atomic_float/1.cc: Fix comment.
2634 1.1 mrg
2635 1.1 mrg * include/experimental/string_view (__detail::__idt): Remove.
2636 1.1 mrg (operator==, operator!=, operator<, operator>, operator<=, operator>=):
2637 1.1 mrg Use __type_identity_t instead of __detail::__idt;
2638 1.1 mrg * include/std/string_view (__detail::__idt): Remove.
2639 1.1 mrg (operator==, operator!=, operator<, operator>, operator<=, operator>=):
2640 1.1 mrg Use __type_identity_t instead of __detail::__idt;
2641 1.1 mrg * include/std/type_traits (__type_identity_t): New alias template.
2642 1.1 mrg
2643 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update status for atomic_ref
2644 1.1 mrg and floating point atomics.
2645 1.1 mrg
2646 1.1 mrg 2019-07-11 Jonathan Wakely <jwakely (a] redhat.com>
2647 1.1 mrg
2648 1.1 mrg * doc/xml/manual/configure.xml: Improve documentation of
2649 1.1 mrg --enable-libstdcxx-time option.
2650 1.1 mrg
2651 1.1 mrg * include/bits/atomic_base.h (__atomic_impl): New namespace for
2652 1.1 mrg wrappers around atomic built-ins.
2653 1.1 mrg (__atomic_float, __atomic_ref): New class templates for use as base
2654 1.1 mrg classes.
2655 1.1 mrg * include/std/atomic (atomic<float>, atomic<double>)
2656 1.1 mrg (atomic<long double>): New explicit specializations.
2657 1.1 mrg (atomic_ref): New class template.
2658 1.1 mrg (__cpp_lib_atomic_ref): Define.
2659 1.1 mrg * include/std/version (__cpp_lib_atomic_ref): Define.
2660 1.1 mrg * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error.
2661 1.1 mrg * testsuite/29_atomics/atomic_float/1.cc: New test.
2662 1.1 mrg * testsuite/29_atomics/atomic_float/requirements.cc: New test.
2663 1.1 mrg * testsuite/29_atomics/atomic_ref/deduction.cc: New test.
2664 1.1 mrg * testsuite/29_atomics/atomic_ref/float.cc: New test.
2665 1.1 mrg * testsuite/29_atomics/atomic_ref/generic.cc: New test.
2666 1.1 mrg * testsuite/29_atomics/atomic_ref/integral.cc: New test.
2667 1.1 mrg * testsuite/29_atomics/atomic_ref/pointer.cc: New test.
2668 1.1 mrg * testsuite/29_atomics/atomic_ref/requirements.cc: New test.
2669 1.1 mrg
2670 1.1 mrg 2019-07-06 Jonathan Wakely <jwakely (a] redhat.com>
2671 1.1 mrg
2672 1.1 mrg * include/ext/atomicity.h (__exchange_and_add, __atomic_add): Replace
2673 1.1 mrg throw() with _GLIBCXX_NOTHROW.
2674 1.1 mrg (__atomic_add_dispatch): Return after performing atomic increment.
2675 1.1 mrg
2676 1.1 mrg 2019-07-05 Jonathan Wakely <jwakely (a] redhat.com>
2677 1.1 mrg
2678 1.1 mrg * include/ext/atomicity.h [_GLIBCXX_ATOMIC_BUILTINS] (__atomic_add)
2679 1.1 mrg (__exchange_and_add): Replace static specifier with always_inline
2680 1.1 mrg attribute.
2681 1.1 mrg (__exchange_and_add_single, __atomic_add_single): Likewise.
2682 1.1 mrg (__exchange_and_add_dispatch, __atomic_add_dispatch): Likewise. Also
2683 1.1 mrg combine !__gthread_active_p() and !__GTHREADS branches.
2684 1.1 mrg
2685 1.1 mrg 2019-07-03 Jonathan Wakely <jwakely (a] redhat.com>
2686 1.1 mrg
2687 1.1 mrg PR libstdc++/91067
2688 1.1 mrg * acinclude.m4 (libtool_VERSION): Bump to 6:27:0.
2689 1.1 mrg * configure: Regenerate.
2690 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.27): Add new version. Export
2691 1.1 mrg missing symbols.
2692 1.1 mrg * testsuite/27_io/filesystem/iterators/91067.cc: New test.
2693 1.1 mrg * testsuite/util/testsuite_abi.cc: Add new symbol version.
2694 1.1 mrg
2695 1.1 mrg 2019-07-02 Jonathan Wakely <jwakely (a] redhat.com>
2696 1.1 mrg
2697 1.1 mrg * include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_LAUNDER)
2698 1.1 mrg (_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED): Use __has_builtin
2699 1.1 mrg instead of __is_identifier to detect Clang support.
2700 1.1 mrg
2701 1.1 mrg 2019-07-02 Jim Wilson <jimw (a] sifive.com>
2702 1.1 mrg
2703 1.1 mrg * configure.ac (BUILD_PDF): Also test for doxygen, dot, xsltproc,
2704 1.1 mrg and xmllint.
2705 1.1 mrg * configure: Regenerate.
2706 1.1 mrg
2707 1.1 mrg 2019-06-27 Jonathan Wakely <jwakely (a] redhat.com>
2708 1.1 mrg
2709 1.1 mrg PR libstdc++/91012
2710 1.1 mrg * src/c++17/fs_path.cc (filesystem_error::_Impl): Use a string_view
2711 1.1 mrg for the what_arg parameters.
2712 1.1 mrg (filesystem_error::filesystem_error): Pass system_error::what() to
2713 1.1 mrg the _Impl constructor.
2714 1.1 mrg * testsuite/27_io/filesystem/filesystem_error/cons.cc: Ensure that
2715 1.1 mrg filesystem_error::what() contains system_error::what().
2716 1.1 mrg
2717 1.1 mrg 2019-06-26 Jonathan Wakely <jwakely (a] redhat.com>
2718 1.1 mrg
2719 1.1 mrg * include/std/charconv (chars_format): Define bitmask type.
2720 1.1 mrg * testsuite/20_util/to_chars/chars_format.cc: New test.
2721 1.1 mrg
2722 1.1 mrg * include/bits/fs_path.h (path::__is_encoded_char): Use __is_one_of.
2723 1.1 mrg * include/std/bit (_If_is_unsigned_integer_type): Remove.
2724 1.1 mrg (_If_is_unsigned_integer): Use __is_unsigned_integer.
2725 1.1 mrg (rotl(byte, unsigned), rotr(byte, unsigned), countl_zero(byte))
2726 1.1 mrg (countl_one(byte), countr_zero(byte), countr_one(byte))
2727 1.1 mrg (popcount(byte), ispow2(byte), ceil2(byte), floor2(byte))
2728 1.1 mrg (log2p1(byte)): Remove.
2729 1.1 mrg * include/std/charconv (__detail::__is_one_of): Move to <type_traits>.
2730 1.1 mrg (__detail::__is_int_to_chars_type): Remove.
2731 1.1 mrg (__detail::__integer_to_chars_result_type): Use __is_signed_integer
2732 1.1 mrg and __is_unsigned_integer.
2733 1.1 mrg * include/std/type_traits (__is_one_of): Move here from <charconv>.
2734 1.1 mrg (__is_signed_integer, __is_unsigned_integer): New helpers.
2735 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Remove test for
2736 1.1 mrg std::byte overload.
2737 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Likewise.
2738 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Likewise.
2739 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Likewise.
2740 1.1 mrg * testsuite/26_numerics/bit/bitops.count/countl_one.cc: Likewise.
2741 1.1 mrg * testsuite/26_numerics/bit/bitops.count/countl_zero.cc: Likewise.
2742 1.1 mrg * testsuite/26_numerics/bit/bitops.count/countr_one.cc: Likewise.
2743 1.1 mrg * testsuite/26_numerics/bit/bitops.count/countr_zero.cc: Likewise.
2744 1.1 mrg * testsuite/26_numerics/bit/bitops.count/popcount.cc: Likewise.
2745 1.1 mrg * testsuite/26_numerics/bit/bitops.rot/rotl.cc: Likewise.
2746 1.1 mrg * testsuite/26_numerics/bit/bitops.rot/rotr.cc: Likewise.
2747 1.1 mrg
2748 1.1 mrg 2019-06-25 Jonathan Wakely <jwakely (a] redhat.com>
2749 1.1 mrg
2750 1.1 mrg * include/std/numeric (midpoint(T, T)): Avoid std::abs in constexpr
2751 1.1 mrg function.
2752 1.1 mrg
2753 1.1 mrg 2019-06-25 Jakub Jelinek <jakub (a] redhat.com>
2754 1.1 mrg
2755 1.1 mrg * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN,
2756 1.1 mrg _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN):
2757 1.1 mrg Define to OpenMP 5.0 pragmas even for GCC 10.0+.
2758 1.1 mrg (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+.
2759 1.1 mrg
2760 1.1 mrg 2019-06-24 Jonathan Wakely <jwakely (a] redhat.com>
2761 1.1 mrg
2762 1.1 mrg * include/std/numeric (midpoint(T, T)): Change implementation for
2763 1.1 mrg floating-point types to avoid incorrect rounding of denormals.
2764 1.1 mrg * testsuite/26_numerics/midpoint/floating.cc: Add check for correct
2765 1.1 mrg rounding with denormals.
2766 1.1 mrg * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line numbers.
2767 1.1 mrg * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
2768 1.1 mrg
2769 1.1 mrg * testsuite/18_support/headers/cfloat/values_c++17.cc: New test.
2770 1.1 mrg
2771 1.1 mrg 2019-06-20 Jonathan Wakely <jwakely (a] redhat.com>
2772 1.1 mrg
2773 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_DEBUG): Only do debug build for final
2774 1.1 mrg stage of bootstrap.
2775 1.1 mrg * configure: Regenerate.
2776 1.1 mrg
2777 1.1 mrg * include/std/variant (_Variant_storage, _Extra_visit_slot_needed):
2778 1.1 mrg Qualify calls to __never_valueless.
2779 1.1 mrg
2780 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Fix outdated reference to
2781 1.1 mrg C++17 working draft.
2782 1.1 mrg
2783 1.1 mrg * testsuite/libstdc++-prettyprinters/simple.cc: Use non-palindromic
2784 1.1 mrg vector<bool> for test.
2785 1.1 mrg * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
2786 1.1 mrg
2787 1.1 mrg 2019-06-19 Jonathan Wakely <jwakely (a] redhat.com>
2788 1.1 mrg
2789 1.1 mrg * include/bits/stream_iterator.h (istream_iterator::_M_equal()): Make
2790 1.1 mrg private.
2791 1.1 mrg (istream_iterator::_M_read()): Do not check stream state before
2792 1.1 mrg attempting extraction. Set stream pointer to null when extraction
2793 1.1 mrg fails (P0738R2).
2794 1.1 mrg (operator==(const istream_iterator&, const istream_iterator&)): Change
2795 1.1 mrg to be a hidden friend of istream_iterator.
2796 1.1 mrg (operator!=(const istream_iterator&, const istream_iterator&)):
2797 1.1 mrg Likewise.
2798 1.1 mrg (ostream_iterator::ostream_iterator()): Add default constructor.
2799 1.1 mrg (ostream_iterator::ostream_iterator(ostream_type*, const C*)): Use
2800 1.1 mrg addressof.
2801 1.1 mrg * testsuite/24_iterators/istream_iterator/1.cc: New test.
2802 1.1 mrg * testsuite/24_iterators/ostream_iterator/1.cc: New test.
2803 1.1 mrg * testsuite/24_iterators/ostream_iterator/70766.cc: Also check
2804 1.1 mrg constructor taking a string.
2805 1.1 mrg * testsuite/24_iterators/ostream_iterator/requirements/constexpr.cc:
2806 1.1 mrg New test.
2807 1.1 mrg
2808 1.1 mrg 2019-06-19 Michael Weghorn <m.weghorn (a] posteo.de>
2809 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com>
2810 1.1 mrg
2811 1.1 mrg PR libstdc++/90945
2812 1.1 mrg * python/libstdcxx/v6/printers.py (StdVectorPrinter._iterator): Use
2813 1.1 mrg values of type bool for vector<bool> elements.
2814 1.1 mrg * testsuite/libstdc++-prettyprinters/simple.cc: Test vector<bool>.
2815 1.1 mrg * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
2816 1.1 mrg
2817 1.1 mrg 2019-06-19 Jonathan Wakely <jwakely (a] redhat.com>
2818 1.1 mrg
2819 1.1 mrg PR libstdc++/90920 partially revert r263433
2820 1.1 mrg * include/bits/stl_algo.h (__rotate): Restore checks for empty ranges.
2821 1.1 mrg (rotate): Remove checks.
2822 1.1 mrg * testsuite/25_algorithms/rotate/90920.cc: New test.
2823 1.1 mrg
2824 1.1 mrg * include/std/numeric (reduce(Iter, Iter, T, BinOp)): Fix value
2825 1.1 mrg category used in invocable check.
2826 1.1 mrg (reduce(Iter, Iter, T)): Pass initial value as rvalue.
2827 1.1 mrg * testsuite/26_numerics/reduce/2.cc: New test.
2828 1.1 mrg
2829 1.1 mrg 2019-06-18 Jonathan Wakely <jwakely (a] redhat.com>
2830 1.1 mrg
2831 1.1 mrg * include/bits/algorithmfwd.h: Change title of doc group.
2832 1.1 mrg * include/bits/stl_algo.h (for_each_n): Add new C++17 algorithm from
2833 1.1 mrg P0024R2.
2834 1.1 mrg * include/bits/stl_numeric.h: Define doc group and add algos to it.
2835 1.1 mrg * include/std/numeric (__is_random_access_iter): New internal trait.
2836 1.1 mrg (reduce, transform_reduce, exclusive_scan, inclusive_scan)
2837 1.1 mrg (transform_exclusive_scan, transform_inclusive_scan): Likewise.
2838 1.1 mrg * testsuite/25_algorithms/for_each/for_each_n.cc: New test.
2839 1.1 mrg * testsuite/26_numerics/exclusive_scan/1.cc: New test.
2840 1.1 mrg * testsuite/26_numerics/inclusive_scan/1.cc: New test.
2841 1.1 mrg * testsuite/26_numerics/reduce/1.cc: New test.
2842 1.1 mrg * testsuite/26_numerics/transform_exclusive_scan/1.cc: New test.
2843 1.1 mrg * testsuite/26_numerics/transform_inclusive_scan/1.cc: New test.
2844 1.1 mrg * testsuite/26_numerics/transform_reduce/1.cc: New test.
2845 1.1 mrg * testsuite/util/testsuite_iterators.h (test_container::size()): New
2846 1.1 mrg member function.
2847 1.1 mrg
2848 1.1 mrg * include/c_global/cstddef (std::byte): Perform arithmetic operations
2849 1.1 mrg in unsigned int to avoid promotion (LWG 2950).
2850 1.1 mrg
2851 1.1 mrg 2019-06-17 Jonathan Wakely <jwakely (a] redhat.com>
2852 1.1 mrg
2853 1.1 mrg * testsuite/20_util/allocator/1.cc: Add sized delete, which fixes a
2854 1.1 mrg failure on AIX.
2855 1.1 mrg
2856 1.1 mrg * include/c_global/cmath (__lerp, lerp): Add noexcept (LWG 3201).
2857 1.1 mrg
2858 1.1 mrg PR libstdc++/90281 Fix string conversions for filesystem::path
2859 1.1 mrg * include/bits/fs_path.h (u8path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]:
2860 1.1 mrg Use codecvt_utf8_utf16 instead of codecvt_utf8. Use
2861 1.1 mrg __str_codecvt_in_all to fail for partial conversions and throw on
2862 1.1 mrg error.
2863 1.1 mrg [!_GLIBCXX_FILESYSTEM_IS_WINDOWS && _GLIBCXX_USE_CHAR8_T]
2864 1.1 mrg (path::_Cvt<char8_t>): Add explicit specialization.
2865 1.1 mrg [_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_wconvert): Remove
2866 1.1 mrg overloads.
2867 1.1 mrg [_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
2868 1.1 mrg if-constexpr instead of dispatching to _S_wconvert. Use codecvt
2869 1.1 mrg instead of codecvt_utf8. Use __str_codecvt_in_all and
2870 1.1 mrg __str_codecvt_out_all.
2871 1.1 mrg [!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
2872 1.1 mrg codecvt instead of codecvt_utf8. Use __str_codecvt_out_all.
2873 1.1 mrg (path::_S_str_convert) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
2874 1.1 mrg codecvt_utf8_utf16 instead of codecvt_utf8. Construct return values
2875 1.1 mrg with allocator. Use __str_codecvt_out_all. Fallthrough to POSIX code
2876 1.1 mrg after converting to UTF-8.
2877 1.1 mrg (path::_S_str_convert): Use codecvt instead of codecvt_utf8. Use
2878 1.1 mrg __str_codecvt_in_all.
2879 1.1 mrg (path::string): Fix initialization of string types with different
2880 1.1 mrg allocators.
2881 1.1 mrg (path::u8string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
2882 1.1 mrg codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_out_all.
2883 1.1 mrg * include/bits/locale_conv.h (__do_str_codecvt): Reorder static and
2884 1.1 mrg runtime conditions.
2885 1.1 mrg (__str_codecvt_out_all, __str_codecvt_in_all): New functions that
2886 1.1 mrg return false for partial conversions.
2887 1.1 mrg * include/experimental/bits/fs_path.h (u8path):
2888 1.1 mrg [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Implement correctly for mingw.
2889 1.1 mrg [_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_wconvert): Add
2890 1.1 mrg missing handling for char8_t. Use codecvt and codecvt_utf8_utf16
2891 1.1 mrg instead of codecvt_utf8. Use __str_codecvt_in_all and
2892 1.1 mrg __str_codecvt_out_all.
2893 1.1 mrg [!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
2894 1.1 mrg codecvt instead of codecvt_utf8. Use __str_codecvt_out_all.
2895 1.1 mrg (path::string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
2896 1.1 mrg codecvt_utf8_utf16 instead of codecvt_utf8. Construct return values
2897 1.1 mrg with allocator. Use __str_codecvt_out_all and __str_codecvt_in_all.
2898 1.1 mrg (path::string) [!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
2899 1.1 mrg __str_codecvt_in_all.
2900 1.1 mrg (path::u8string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
2901 1.1 mrg codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_out_all.
2902 1.1 mrg * src/c++17/fs_path.cc (path::_S_convert_loc): Use
2903 1.1 mrg __str_codecvt_in_all.
2904 1.1 mrg * src/filesystem/path.cc (path::_S_convert_loc): Likewise.
2905 1.1 mrg * testsuite/27_io/filesystem/path/construct/90281.cc: New test.
2906 1.1 mrg * testsuite/27_io/filesystem/path/factory/u8path.cc: New test.
2907 1.1 mrg * testsuite/27_io/filesystem/path/native/string.cc: Test with empty
2908 1.1 mrg strings and with Unicode characters outside the basic multilingual
2909 1.1 mrg plane.
2910 1.1 mrg * testsuite/27_io/filesystem/path/native/alloc.cc: New test.
2911 1.1 mrg * testsuite/experimental/filesystem/path/construct/90281.cc: New test.
2912 1.1 mrg * testsuite/experimental/filesystem/path/factory/u8path.cc: New test.
2913 1.1 mrg * testsuite/experimental/filesystem/path/native/alloc.cc: New test.
2914 1.1 mrg * testsuite/experimental/filesystem/path/native/string.cc: Test with
2915 1.1 mrg empty strings and with Unicode characters outside the basic
2916 1.1 mrg multilingual plane.
2917 1.1 mrg
2918 1.1 mrg 2019-06-17 Franois Dumont <fdumont (a] gcc.gnu.org>
2919 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com>
2920 1.1 mrg
2921 1.1 mrg * include/bits/hashtable.h (struct _Hashtable::_Scoped_node): New type.
2922 1.1 mrg (_Hashtable::_M_insert_unique_node): Add key_type parameter. Don't
2923 1.1 mrg deallocate node if insertion fails.
2924 1.1 mrg (_Hashtable::_M_insert_multi_node): Likewise.
2925 1.1 mrg (_Hashtable::_M_reinsert_node): Pass additional key argument.
2926 1.1 mrg (_Hashtable::_M_reinsert_node_multi): Likewise. Remove FIXME.
2927 1.1 mrg (_Hashtable::_M_extract_node(size_t, __node_base*)): New function.
2928 1.1 mrg (_Hashtable::extract(const_iterator)): Use _M_extract_node.
2929 1.1 mrg (_Hashtable::extract(const _Key&)): Likewise.
2930 1.1 mrg (_Hashtable::_M_merge_unique): Pass additional key argument.
2931 1.1 mrg (_Hashtable::_M_emplace<Args>(true_type, Args&&...)): Likewise. Use
2932 1.1 mrg _Scoped_node.
2933 1.1 mrg (_Hashtable::_M_insert): Likewise.
2934 1.1 mrg * include/bits/hashtable_policy.h (_Map_base::operator[]): Likewise.
2935 1.1 mrg (_Hashtable_alloc): Add comments to functions with misleading names.
2936 1.1 mrg
2937 1.1 mrg 2019-06-17 Jonathan Wakely <jwakely (a] redhat.com>
2938 1.1 mrg
2939 1.1 mrg * testsuite/20_util/bad_function_call/what.cc: Include <string> header
2940 1.1 mrg for std::string.
2941 1.1 mrg * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Likewise.
2942 1.1 mrg * testsuite/20_util/tuple/cons/allocator_with_any.cc: Include <memory>
2943 1.1 mrg header for std::allocator.
2944 1.1 mrg * testsuite/23_containers/array/tuple_interface/tuple_element.cc: Add
2945 1.1 mrg using-declaration for std::size_t.
2946 1.1 mrg * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
2947 1.1 mrg Likewise.
2948 1.1 mrg * testsuite/23_containers/deque/cons/55977.cc: Include <istream> for
2949 1.1 mrg std::istream.
2950 1.1 mrg * testsuite/23_containers/vector/cons/55977.cc: Likewise.
2951 1.1 mrg * testsuite/experimental/map/erasure.cc: Include <string> for
2952 1.1 mrg std::string.
2953 1.1 mrg * testsuite/experimental/unordered_map/erasure.cc: Likewise.
2954 1.1 mrg
2955 1.1 mrg 2019-06-14 Jonathan Wakely <jwakely (a] redhat.com>
2956 1.1 mrg
2957 1.1 mrg * include/experimental/type_traits (experimental::nonesuch): Use
2958 1.1 mrg pragma to disable -Wctor-dtor-privacy warnings.
2959 1.1 mrg * include/std/type_traits (__is_convertible_helper<From, To, false>)
2960 1.1 mrg (__is_nt_convertible_helper<From, To, false>, __nonesuch): Likewise.
2961 1.1 mrg
2962 1.1 mrg * include/std/version (__cpp_lib_bind_front): Add missing macro.
2963 1.1 mrg
2964 1.1 mrg 2019-06-12 Jonathan Wakely <jwakely (a] redhat.com>
2965 1.1 mrg
2966 1.1 mrg * include/std/algorithm (__cpp_lib_parallel_algorithm): Fix value.
2967 1.1 mrg * include/std/memory (__cpp_lib_parallel_algorithm): Likewise.
2968 1.1 mrg * include/std/numeric (__cpp_lib_parallel_algorithm): Likewise.
2969 1.1 mrg * testsuite/25_algorithms/pstl/feature_test.cc: New test.
2970 1.1 mrg
2971 1.1 mrg * include/std/variant (get<T>, get<N>, get_if<N>, get_if<T>)
2972 1.1 mrg (variant::emplace): Change static_assert messages from "should be"
2973 1.1 mrg to "must be".
2974 1.1 mrg (hash<monostate>::operator()): Remove name of unused parameter.
2975 1.1 mrg
2976 1.1 mrg * include/std/mutex (scoped_lock::~scoped_lock()): Use fold
2977 1.1 mrg expression.
2978 1.1 mrg
2979 1.1 mrg * include/Makefile.am: Add new <bits/charconv.h> header.
2980 1.1 mrg * include/Makefile.in: Regenerate.
2981 1.1 mrg * include/bits/basic_string.h (to_string(int), to_string(unsigned))
2982 1.1 mrg (to_string(long), to_string(unsigned long), to_string(long long))
2983 1.1 mrg (to_string(unsigned long long)): Rewrite to use __to_chars_10_impl.
2984 1.1 mrg * include/bits/charconv.h: New header.
2985 1.1 mrg (__detail::__to_chars_len): Move here from <charconv>.
2986 1.1 mrg (__detail::__to_chars_10_impl): New function extracted from
2987 1.1 mrg __detail::__to_chars_10.
2988 1.1 mrg * include/std/charconv (__cpp_lib_to_chars): Add, but comment out.
2989 1.1 mrg (__to_chars_unsigned_type): New class template that reuses
2990 1.1 mrg __make_unsigned_selector_base::__select to pick a type.
2991 1.1 mrg (__unsigned_least_t): Redefine as __to_chars_unsigned_type<T>::type.
2992 1.1 mrg (__detail::__to_chars_len): Move to new header.
2993 1.1 mrg (__detail::__to_chars_10): Add inline specifier. Move code doing the
2994 1.1 mrg output to __detail::__to_chars_10_impl and call that.
2995 1.1 mrg * include/std/version (__cpp_lib_to_chars): Add, but comment out.
2996 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/char/
2997 1.1 mrg to_string.cc: Fix reference in comment. Remove unused variable.
2998 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/char/
2999 1.1 mrg to_string_int.cc: New test.
3000 1.1 mrg
3001 1.1 mrg 2019-06-09 Edward Smith-Rowland <3dw4rd (a] verizon.net>
3002 1.1 mrg
3003 1.1 mrg Fix ConstexprIterator requirements tests - No constexpr algorithms!
3004 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
3005 1.1 mrg Replace copy with hand-rolled loop.
3006 1.1 mrg * testsuite/23_containers/array/requirements/constexpr_iter.cc:
3007 1.1 mrg Ditto.
3008 1.1 mrg
3009 1.1 mrg 2019-06-08 Edward Smith-Rowland <3dw4rd (a] verizon.net>
3010 1.1 mrg
3011 1.1 mrg Test for C++20 p0858 - ConstexprIterator requirements.
3012 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
3013 1.1 mrg New test.
3014 1.1 mrg * testsuite/23_containers/array/requirements/constexpr_iter.cc:
3015 1.1 mrg New test.
3016 1.1 mrg
3017 1.1 mrg 2019-06-07 Thomas Rodgers <trodgers (a] redhat.com>
3018 1.1 mrg
3019 1.1 mrg Rename PSTL macro's consistent with libstdc++ (and llvm upstream
3020 1.1 mrg project) standards.
3021 1.1 mrg * include/bits/c++config: Rename all macros of the form __PSTL* to
3022 1.1 mrg _PSTL*.
3023 1.1 mrg * include/std/algorithm: Likewise.
3024 1.1 mrg * include/std/execution: Likewise.
3025 1.1 mrg * include/std/numeric: Likewise.
3026 1.1 mrg * include/std/memory: Likewise.
3027 1.1 mrg * include/pstl/glue_memory_impl.h: Likewise.
3028 1.1 mrg * include/pstl/numeric_impl.h: Likewise.
3029 1.1 mrg * include/pstl/glue_memory_defs.h: Likewise.
3030 1.1 mrg * include/pstl/execution_defs.h: Likewise.
3031 1.1 mrg * include/pstl/utils.h: Likewise.
3032 1.1 mrg * include/pstl/algorithm_fwd.h: Likewise.
3033 1.1 mrg * include/pstl/unseq_backend_simd.h: Likewise.
3034 1.1 mrg * include/pstl/glue_execution_defs.h: Likewise.
3035 1.1 mrg * include/pstl/algorithm_impl.h: Likewise.
3036 1.1 mrg * include/pstl/parallel_impl.h: Likewise.
3037 1.1 mrg * include/pstl/memory_impl.h: Likewise.
3038 1.1 mrg * include/pstl/glue_numeric_defs.h: Likewise.
3039 1.1 mrg * include/pstl/parallel_backend_utils.h: Likewise.
3040 1.1 mrg * include/pstl/glue_algorithm_defs.h: Likewise.
3041 1.1 mrg * include/pstl/parallel_backend.h: Likewise.
3042 1.1 mrg * include/pstl/glue_numeric_impl.h: Likewise.
3043 1.1 mrg * include/pstl/parallel_backend_tbb.h: Likewise.
3044 1.1 mrg * include/pstl/numeric_fwd.h: Likewise.
3045 1.1 mrg * include/pstl/glue_algorithm_impl.h: Likewise.
3046 1.1 mrg * include/pstl/execution_impl.h: Likewise.
3047 1.1 mrg * include/pstl/pstl_config.h: Likewise.
3048 1.1 mrg * testsuite/util/pstl/pstl_test_config.h: Likewise.
3049 1.1 mrg * testsuite/util/pstl/test_utils.h: Likewise.
3050 1.1 mrg * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
3051 1.1 mrg Likewise.
3052 1.1 mrg * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
3053 1.1 mrg Likewise.
3054 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
3055 1.1 mrg Likewise.
3056 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/scan.cc: Likewise.
3057 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: Likewise.
3058 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: Likewise.
3059 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: Likewise.
3060 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
3061 1.1 mrg Likewise.
3062 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: Likewise.
3063 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: Likewise.
3064 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: Likewise.
3065 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: Likewise.
3066 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
3067 1.1 mrg Likewise.
3068 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: Likewise.
3069 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: Likewise.
3070 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: Likewise.
3071 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: Likewise.
3072 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
3073 1.1 mrg Likewise.
3074 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: Likewise.
3075 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: Likewise.
3076 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
3077 1.1 mrg Likewise.
3078 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
3079 1.1 mrg Likewise.
3080 1.1 mrg * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: Likewise.
3081 1.1 mrg * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
3082 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
3083 1.1 mrg Likewise.
3084 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
3085 1.1 mrg Likewise.
3086 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
3087 1.1 mrg Likewise.
3088 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
3089 1.1 mrg Likewise.
3090 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
3091 1.1 mrg Likewise.
3092 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
3093 1.1 mrg Likewise.
3094 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
3095 1.1 mrg Likewise.
3096 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
3097 1.1 mrg Likewise.
3098 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
3099 1.1 mrg Likewise.
3100 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
3101 1.1 mrg Likewise.
3102 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
3103 1.1 mrg Likewise.
3104 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: Likewise.
3105 1.1 mrg
3106 1.1 mrg Rename header guards to be consistent with upstream project's
3107 1.1 mrg conventions.
3108 1.1 mrg * include/pstl/glue_memory_impl.h: Rename all macros of the form
3109 1.1 mrg _PSTL_(.*)_H to _PSTL_\U\1_H.
3110 1.1 mrg * include/pstl/numeric_impl.h: Likewise.
3111 1.1 mrg * include/pstl/glue_memory_defs.h: Likewise.
3112 1.1 mrg * include/pstl/execution_defs.h: Likewise.
3113 1.1 mrg * include/pstl/utils.h: Likewise.
3114 1.1 mrg * include/pstl/algorithm_fwd.h: Likewise.
3115 1.1 mrg * include/pstl/unseq_backend_simd.h: Likewise.
3116 1.1 mrg * include/pstl/glue_execution_defs.h: Likewise.
3117 1.1 mrg * include/pstl/algorithm_impl.h: Likewise.
3118 1.1 mrg * include/pstl/parallel_impl.h: Likewise.
3119 1.1 mrg * include/pstl/memory_impl.h: Likewise.
3120 1.1 mrg * include/pstl/glue_numeric_defs.h: Likewise.
3121 1.1 mrg * include/pstl/parallel_backend_utils.h: Likewise.
3122 1.1 mrg * include/pstl/glue_algorithm_defs.h: Likewise.
3123 1.1 mrg * include/pstl/parallel_backend.h: Likewise.
3124 1.1 mrg * include/pstl/glue_numeric_impl.h: Likewise.
3125 1.1 mrg * include/pstl/parallel_backend_tbb.h: Likewise.
3126 1.1 mrg * include/pstl/numeric_fwd.h: Likewise.
3127 1.1 mrg * include/pstl/glue_algorithm_impl.h: Likewise.
3128 1.1 mrg * include/pstl/execution_impl.h: Likewise.
3129 1.1 mrg * include/pstl/pstl_config.h: Likewise.
3130 1.1 mrg * testsuite/util/pstl/pstl_test_config.h: Likewise.
3131 1.1 mrg
3132 1.1 mrg Synchronize libstdc++ parallel algorithms with upstream
3133 1.1 mrg project.
3134 1.1 mrg * include/pstl/algorithm_fwd.h: Synchronize with
3135 1.1 mrg upstream PSTL project.
3136 1.1 mrg * include/pstl/algorithm_impl.h: Likewise.
3137 1.1 mrg * include/pstl/execution_defs.h: Likewise.
3138 1.1 mrg * include/pstl/execution_impl.h: Likewise.
3139 1.1 mrg * include/pstl/glue_algorithm_impl.h: Likewise.
3140 1.1 mrg * include/pstl/glue_execution_defs.h: Likewise.
3141 1.1 mrg * include/pstl/numeric_fwd.h: Likewise.
3142 1.1 mrg * include/pstl/numeric_impl.h: Likewise.
3143 1.1 mrg * include/pstl/parallel_backend.h: Likewise.
3144 1.1 mrg * include/pstl/pstl_config.h: Likewise.
3145 1.1 mrg * include/pstl/unseq_backend_simd.h: Likewise.
3146 1.1 mrg * include/pstl/parallel_backend_serial.h: New file.
3147 1.1 mrg * include/Makefile.am (pstl_headers): Add
3148 1.1 mrg parallel_backend_serial.h.
3149 1.1 mrg * include/Makefile.in: Regenerate.
3150 1.1 mrg
3151 1.1 mrg Clean up non-conforming names
3152 1.1 mrg * include/pstl/algorithm_impl.h (__parallel_set_union_op):
3153 1.1 mrg Uglfiy copy_range1 and copy_range2
3154 1.1 mrg (__pattern_walk2_n): Rename local n to __n
3155 1.1 mrg * include/pstl/parallel_backend_tbb.h (struct __binary_no_op):
3156 1.1 mrg Rename parameter _T to _Tp.
3157 1.1 mrg
3158 1.1 mrg Integrate non-TBB serial backend support
3159 1.1 mrg * include/bits/c++config: Adjust TBB detection logic to select serial
3160 1.1 mrg PSTL backend if no TBB present.
3161 1.1 mrg * testsuite/utils/pstl/test_utils.h: Remove check for
3162 1.1 mrg _PSTL_USE_PAR_POLICIES
3163 1.1 mrg
3164 1.1 mrg 2019-06-07 Jonathan Wakely <jwakely (a] redhat.com>
3165 1.1 mrg
3166 1.1 mrg * testsuite/24_iterators/container_access.cc: Move dg-options before
3167 1.1 mrg dg-do directive so the target check uses the -std option.
3168 1.1 mrg
3169 1.1 mrg PR libstdc++/90770
3170 1.1 mrg * configure: Regenerate.
3171 1.1 mrg * src/Makefile.am (stamp-debug): Also test for missing makefile.
3172 1.1 mrg * src/Makefile.in: Regenerate.
3173 1.1 mrg
3174 1.1 mrg 2019-06-06 Jonathan Wakely <jwakely (a] redhat.com>
3175 1.1 mrg
3176 1.1 mrg * include/std/array: Do not include <stdexcept>.
3177 1.1 mrg * include/std/optional: Include <exception> and
3178 1.1 mrg <bits/exception_defines.h> instead of <stdexcept>.
3179 1.1 mrg * testsuite/20_util/function_objects/searchers.cc: Include <cctype>
3180 1.1 mrg for std::isalnum.
3181 1.1 mrg * testsuite/20_util/tuple/cons/deduction.cc: Include <memory> for
3182 1.1 mrg std::allocator.
3183 1.1 mrg * testsuite/23_containers/map/erasure.cc: Include <string>.
3184 1.1 mrg * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
3185 1.1 mrg
3186 1.1 mrg * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Add
3187 1.1 mrg dg-prune-output for different C++98 diagnostic.
3188 1.1 mrg * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
3189 1.1 mrg Likewise.
3190 1.1 mrg * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
3191 1.1 mrg Likewise.
3192 1.1 mrg * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
3193 1.1 mrg Likewise.
3194 1.1 mrg * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3195 1.1 mrg Likewise.
3196 1.1 mrg * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
3197 1.1 mrg Likewise.
3198 1.1 mrg * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
3199 1.1 mrg Likewise.
3200 1.1 mrg * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3201 1.1 mrg Likewise.
3202 1.1 mrg * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3203 1.1 mrg Likewise.
3204 1.1 mrg * testsuite/23_containers/vector/requirements/dr438/
3205 1.1 mrg constructor_1_neg.cc: Likewise.
3206 1.1 mrg * testsuite/23_containers/vector/requirements/dr438/
3207 1.1 mrg constructor_2_neg.cc: Likewise.
3208 1.1 mrg * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3209 1.1 mrg Likewise.
3210 1.1 mrg * testsuite/libstdc++-prettyprinters/compat.cc: Do not run for C++98.
3211 1.1 mrg
3212 1.1 mrg * testsuite/23_containers/unordered_map/requirements/debug_container.cc:
3213 1.1 mrg Do not test allocator rebinding extension for C++2a.
3214 1.1 mrg * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Change
3215 1.1 mrg dg-do directive for C++17 and C++2a.
3216 1.1 mrg
3217 1.1 mrg * testsuite/23_containers/deque/requirements/explicit_instantiation/
3218 1.1 mrg 1_c++0x.cc: Remove redundant test.
3219 1.1 mrg * testsuite/23_containers/deque/requirements/explicit_instantiation/
3220 1.1 mrg 2.cc: Use target selector instead of preprocessor condition.
3221 1.1 mrg * testsuite/23_containers/deque/requirements/explicit_instantiation/
3222 1.1 mrg 3.cc: Do not run test for C++2a.
3223 1.1 mrg * testsuite/23_containers/forward_list/requirements/
3224 1.1 mrg explicit_instantiation/3.cc: Likewise.
3225 1.1 mrg * testsuite/23_containers/forward_list/requirements/
3226 1.1 mrg explicit_instantiation/5.cc: Do not test allocator rebinding extension
3227 1.1 mrg for C++2a.
3228 1.1 mrg * testsuite/23_containers/list/requirements/explicit_instantiation/
3229 1.1 mrg 1_c++0x.cc: Remove redundant test.
3230 1.1 mrg * testsuite/23_containers/list/requirements/explicit_instantiation/
3231 1.1 mrg 2.cc: Use target selector instead of preprocessor condition.
3232 1.1 mrg * testsuite/23_containers/list/requirements/explicit_instantiation/
3233 1.1 mrg 3.cc: Do not run test for C++2a.
3234 1.1 mrg * testsuite/23_containers/list/requirements/explicit_instantiation/
3235 1.1 mrg 5.cc: Do not test allocator rebinding extension for C++2a.
3236 1.1 mrg * testsuite/23_containers/map/requirements/explicit_instantiation/
3237 1.1 mrg 1_c++0x.cc: Remove redundant test.
3238 1.1 mrg * testsuite/23_containers/map/requirements/explicit_instantiation/
3239 1.1 mrg 2.cc: Adjust comment.
3240 1.1 mrg * testsuite/23_containers/map/requirements/explicit_instantiation/
3241 1.1 mrg 3.cc: Do not run test for C++2a.
3242 1.1 mrg * testsuite/23_containers/map/requirements/explicit_instantiation/
3243 1.1 mrg 5.cc: Do not test allocator rebinding extension for C++2a.
3244 1.1 mrg * testsuite/23_containers/multimap/requirements/explicit_instantiation/
3245 1.1 mrg 1_c++0x.cc: Remove redundant test.
3246 1.1 mrg * testsuite/23_containers/multimap/requirements/explicit_instantiation/
3247 1.1 mrg 3.cc: Do not run test for C++2a.
3248 1.1 mrg * testsuite/23_containers/multimap/requirements/explicit_instantiation/
3249 1.1 mrg 5.cc: Do not test allocator rebinding extension for C++2a.
3250 1.1 mrg * testsuite/23_containers/multiset/requirements/explicit_instantiation/
3251 1.1 mrg 3.cc: Do not run test for C++2a.
3252 1.1 mrg * testsuite/23_containers/multiset/requirements/explicit_instantiation/
3253 1.1 mrg 5.cc: Do not test allocator rebinding extension for C++2a.
3254 1.1 mrg * testsuite/23_containers/set/requirements/explicit_instantiation/3.cc:
3255 1.1 mrg Do not run test for C++2a.
3256 1.1 mrg * testsuite/23_containers/set/requirements/explicit_instantiation/
3257 1.1 mrg 1_c++0x.cc: Remove redundant test.
3258 1.1 mrg * testsuite/23_containers/set/requirements/explicit_instantiation/5.cc:
3259 1.1 mrg Do not test allocator rebinding extension for C++2a.
3260 1.1 mrg * testsuite/23_containers/unordered_map/requirements/
3261 1.1 mrg explicit_instantiation/3.cc: Likewise.
3262 1.1 mrg * testsuite/23_containers/unordered_map/requirements/
3263 1.1 mrg explicit_instantiation/5.cc: Do not test allocator rebinding extension
3264 1.1 mrg for C++2a.
3265 1.1 mrg * testsuite/23_containers/unordered_multimap/requirements/
3266 1.1 mrg explicit_instantiation/3.cc: Do not run test for C++2a.
3267 1.1 mrg * testsuite/23_containers/unordered_multimap/requirements/
3268 1.1 mrg explicit_instantiation/5.cc: Do not test allocator rebinding extension
3269 1.1 mrg for C++2a.
3270 1.1 mrg * testsuite/23_containers/unordered_multiset/requirements/
3271 1.1 mrg explicit_instantiation/3.cc: Do not run test for C++2a.
3272 1.1 mrg * testsuite/23_containers/unordered_multiset/requirements/
3273 1.1 mrg explicit_instantiation/5.cc: Do not test allocator rebinding extension
3274 1.1 mrg for C++2a.
3275 1.1 mrg * testsuite/23_containers/unordered_set/requirements/
3276 1.1 mrg explicit_instantiation/3.cc: Do not run test for C++2a.
3277 1.1 mrg * testsuite/23_containers/unordered_set/requirements/
3278 1.1 mrg explicit_instantiation/5.cc: Do not test allocator rebinding extension
3279 1.1 mrg for C++2a.
3280 1.1 mrg * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
3281 1.1 mrg 2.cc: Remove redundant test.
3282 1.1 mrg * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
3283 1.1 mrg 3.cc: Do not run test for C++2a.
3284 1.1 mrg * testsuite/23_containers/vector/requirements/explicit_instantiation/
3285 1.1 mrg 3.cc: Likewise.
3286 1.1 mrg
3287 1.1 mrg * include/std/type_traits (is_empty, is_polymorphic, is_final)
3288 1.1 mrg (is_abstract, is_aggregate): Remove static_assert.
3289 1.1 mrg * testsuite/20_util/is_abstract/incomplete_neg.cc: Check for error
3290 1.1 mrg from builtin only.
3291 1.1 mrg * testsuite/20_util/is_aggregate/incomplete_neg.cc: Likewise. Add
3292 1.1 mrg missing -std=gnu++17 option.
3293 1.1 mrg * testsuite/20_util/is_empty/incomplete_neg.cc: New test.
3294 1.1 mrg * testsuite/20_util/is_final/incomplete_neg.cc: New test.
3295 1.1 mrg * testsuite/20_util/is_polymorphic/incomplete_neg.cc: Check for error
3296 1.1 mrg from builtin only.
3297 1.1 mrg
3298 1.1 mrg * testsuite/18_support/set_terminate.cc: Do not run for C++98 mode.
3299 1.1 mrg * testsuite/18_support/set_unexpected.cc: Likewise.
3300 1.1 mrg * testsuite/20_util/is_nothrow_invocable/value.cc: Test converting to
3301 1.1 mrg void.
3302 1.1 mrg * testsuite/20_util/is_nothrow_invocable/value_ext.cc: Fix constexpr
3303 1.1 mrg function to be valid in C++11.
3304 1.1 mrg * testsuite/26_numerics/complex/proj.cc: Do not run for C++98 mode.
3305 1.1 mrg * testsuite/experimental/names.cc: Do not run for C++98 mode. Do not
3306 1.1 mrg include Library Fundamentals or Networking headers in C++11 mode.
3307 1.1 mrg * testsuite/ext/char8_t/atomic-1.cc: Do not run for C++98 mode.
3308 1.1 mrg
3309 1.1 mrg * include/std/tuple (_TC): Replace with _TupleConstraints.
3310 1.1 mrg (_TupleConstraints): New helper for SFINAE constraints, with more
3311 1.1 mrg expressive member functions to reduce duplication when used.
3312 1.1 mrg (tuple::_TC2, tuple::_TMC, tuple::_TNTC): Remove.
3313 1.1 mrg (tuple::_TCC): Replace dummy type parameter with bool non-type
3314 1.1 mrg parameter that can be used to check the pack size.
3315 1.1 mrg (tuple::_ImplicitDefaultCtor, tuple::_ExplicitDefaultCtor)
3316 1.1 mrg (tuple::_ImplicitCtor, tuple::_ExplicitCtor): New alias templates for
3317 1.1 mrg checking constraints in constructors.
3318 1.1 mrg (tuple::__valid_args, tuple::_UseOtherCtor, tuple::__use_other_ctor):
3319 1.1 mrg New SFINAE helpers.
3320 1.1 mrg (tuple::tuple): Use new helpers to reduce repitition in constraints.
3321 1.1 mrg (tuple::tuple(allocator_arg_t, const Alloc&)): Constrain.
3322 1.1 mrg (tuple<T1, T2>::_TCC, tuple<T1, T2>::_ImplicitDefaultCtor)
3323 1.1 mrg (tuple<T1, T2>::_ExplicitDefaultCtor, tuple<T1, T2>::_ImplicitCtor)
3324 1.1 mrg (tuple<T1, T2>::_ExplicitCtor): New alias templates for checking
3325 1.1 mrg constraints in constructors.
3326 1.1 mrg (tuple::__is_alloc_arg()): New SFINAE helpers.
3327 1.1 mrg (tuple<T1, T2>::tuple): Use new helpers to reduce repitition in
3328 1.1 mrg constraints.
3329 1.1 mrg (tuple<T1, T2>::tuple(allocator_arg_t, const Alloc&)): Constrain.
3330 1.1 mrg * testsuite/20_util/tuple/cons/90700.cc: New test.
3331 1.1 mrg * testsuite/20_util/tuple/cons/allocators.cc: Add default constructor
3332 1.1 mrg to meet new constraint on allocator-extended default constructor.
3333 1.1 mrg
3334 1.1 mrg 2019-06-03 Jonathan Wakely <jwakely (a] redhat.com>
3335 1.1 mrg
3336 1.1 mrg * include/bits/stl_map.h (map): Disable static assert for C++98 mode.
3337 1.1 mrg * include/bits/stl_multimap.h (multimap): Likewise.
3338 1.1 mrg
3339 1.1 mrg 2019-06-03 Franois Dumont <fdumont (a] gcc.gnu.org>
3340 1.1 mrg
3341 1.1 mrg Rename variables and cleanup comments.
3342 1.1 mrg * include/bits/hashtable_policy.h
3343 1.1 mrg * include/bits/hashtable.h
3344 1.1 mrg
3345 1.1 mrg 2019-06-03 Jonathan Wakely <jwakely (a] redhat.com>
3346 1.1 mrg
3347 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Add missing row for P0920R2.
3348 1.1 mrg Fix bgcolor for P0340R3.
3349 1.1 mrg * doc/html/*: Regenerate.
3350 1.1 mrg
3351 1.1 mrg PR libstdc++/90686
3352 1.1 mrg * doc/xml/manual/status_cxx2014.xml: Document what's missing from
3353 1.1 mrg <experimental/memory_resource>.
3354 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Document status of P1285R0,
3355 1.1 mrg P0339R6, P0340R3, P1164R1 and P1357R1.
3356 1.1 mrg * doc/html/*: Regenerate.
3357 1.1 mrg
3358 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Document P1463R1 status.
3359 1.1 mrg * include/bits/forward_list.h [__cplusplus > 201703]: Enable
3360 1.1 mrg allocator::value_type assertion for C++2a.
3361 1.1 mrg * include/bits/hashtable.h: Likewise.
3362 1.1 mrg * include/bits/stl_deque.h: Likewise.
3363 1.1 mrg * include/bits/stl_list.h: Likewise.
3364 1.1 mrg * include/bits/stl_map.h: Likewise.
3365 1.1 mrg * include/bits/stl_multimap.h: Likewise.
3366 1.1 mrg * include/bits/stl_multiset.h: Likewise.
3367 1.1 mrg * include/bits/stl_set.h: Likewise.
3368 1.1 mrg * include/bits/stl_vector.h: Likewise.
3369 1.1 mrg * testsuite/23_containers/deque/48101-3_neg.cc: New test.
3370 1.1 mrg * testsuite/23_containers/forward_list/48101-3_neg.cc: New test.
3371 1.1 mrg * testsuite/23_containers/list/48101-3_neg.cc: New test.
3372 1.1 mrg * testsuite/23_containers/map/48101-3_neg.cc: New test.
3373 1.1 mrg * testsuite/23_containers/multimap/48101-3_neg.cc: New test.
3374 1.1 mrg * testsuite/23_containers/multiset/48101-3_neg.cc: New test.
3375 1.1 mrg * testsuite/23_containers/set/48101-3_neg.cc: New test.
3376 1.1 mrg * testsuite/23_containers/unordered_map/48101-3_neg.cc: New test.
3377 1.1 mrg * testsuite/23_containers/unordered_multimap/48101-3_neg.cc: New test.
3378 1.1 mrg * testsuite/23_containers/unordered_multiset/48101-3_neg.cc: New test.
3379 1.1 mrg * testsuite/23_containers/unordered_set/48101-3_neg.cc: New test.
3380 1.1 mrg * testsuite/23_containers/vector/48101-3_neg.cc: New test.
3381 1.1 mrg
3382 1.1 mrg 2019-05-31 Gerald Pfeifer <gerald (a] pfeifer.com>
3383 1.1 mrg
3384 1.1 mrg * doc/xml/manual/allocator.xml: Move hoard.org back to http.
3385 1.1 mrg
3386 1.1 mrg 2019-05-31 Jonathan Wakely <jwakely (a] redhat.com>
3387 1.1 mrg
3388 1.1 mrg * include/std/tuple (tuple<>): Add noexcept to allocator-extended
3389 1.1 mrg constructors.
3390 1.1 mrg (tuple<T1, T2>::__nothrow_default_constructible()): New helper
3391 1.1 mrg function.
3392 1.1 mrg (tuple<T1, T2>::tuple(), explicit tuple<T1, T2>::tuple()): Use helper.
3393 1.1 mrg
3394 1.1 mrg 2019-05-31 Jonathan Wakely <jwakely (a] redhat.com>
3395 1.1 mrg
3396 1.1 mrg * src/c++98/bitmap_allocator.cc: Add using-declaration for size_t.
3397 1.1 mrg
3398 1.1 mrg PR libstdc++/90682
3399 1.1 mrg * libsupc++/eh_term_handler.cc: Include eh_term_handler.h to get
3400 1.1 mrg definition of _GLIBCXX_DEFAULT_TERM_HANDLER.
3401 1.1 mrg * libsupc++/eh_term_handler.h: New header defining
3402 1.1 mrg _GLIBCXX_DEFAULT_TERM_HANDLER.
3403 1.1 mrg * libsupc++/eh_terminate.cc: Include eh_term_handler.h.
3404 1.1 mrg (set_terminate): Restore default handler when argument is null.
3405 1.1 mrg (set_unexpected): Likewise.
3406 1.1 mrg * testsuite/18_support/set_terminate.cc: New test.
3407 1.1 mrg * testsuite/18_support/set_unexpected.cc: New test.
3408 1.1 mrg
3409 1.1 mrg * include/backward/hashtable.h (size_t, ptrdiff_t)
3410 1.1 mrg (forward_iterator_tag, input_iterator_tag, _Construct, _Destroy)
3411 1.1 mrg (distance, vector, pair, __iterator_category): Remove
3412 1.1 mrg using-declarations that add these names to namespace __gnu_cxx.
3413 1.1 mrg * include/ext/bitmap_allocator.h (size_t, ptrdiff_t): Likewise.
3414 1.1 mrg * include/ext/debug_allocator.h (size_t): Likewise.
3415 1.1 mrg * include/ext/functional (size_t, unary_function, binary_function)
3416 1.1 mrg (mem_fun1_t, const_mem_fun1_t, mem_fun1_ref_t, const_mem_fun1_ref_t):
3417 1.1 mrg Likewise.
3418 1.1 mrg * include/ext/malloc_allocator.h (size_t, ptrdiff_t): Likewise.
3419 1.1 mrg * include/ext/memory (ptrdiff_t, pair, __iterator_category): Likewise.
3420 1.1 mrg * include/ext/mt_allocator.h (size_t, ptrdiff_t): Likewise.
3421 1.1 mrg * include/ext/new_allocator.h (size_t, ptrdiff_t): Likewise.
3422 1.1 mrg * include/ext/numeric (iota): Fix outdated comment.
3423 1.1 mrg * include/ext/pool_allocator.h (size_t, ptrdiff_t): Likewise.
3424 1.1 mrg * include/ext/rb_tree (_Rb_tree, allocator): Likewise.
3425 1.1 mrg * include/ext/rope (size_t, ptrdiff_t, allocator, _Destroy): Likewise.
3426 1.1 mrg * include/ext/ropeimpl.h (size_t, printf, basic_ostream)
3427 1.1 mrg (__throw_length_error, _Destroy, std::__uninitialized_fill_n_a):
3428 1.1 mrg Likewise.
3429 1.1 mrg * include/ext/slist (size_t, ptrdiff_t, _Construct, _Destroy)
3430 1.1 mrg (allocator, __true_type, __false_type): Likewise.
3431 1.1 mrg
3432 1.1 mrg 2019-05-31 Antony Polukhin <antoshkka (a] gmail.com>
3433 1.1 mrg
3434 1.1 mrg PR libstdc++/71579
3435 1.1 mrg * include/std/type_traits __type_identity, __is_complete_or_unbounded):
3436 1.1 mrg New helpers for checking preconditions in traits.
3437 1.1 mrg (is_trivial, is_trivially_copyable, is_standard_layout, is_pod)
3438 1.1 mrg (is_literal_type, is_empty, is_polymorphic, is_final, is_abstract)
3439 1.1 mrg (is_destructible, is_nothrow_destructible, is_constructible)
3440 1.1 mrg (is_default_constructible, is_copy_constructible)
3441 1.1 mrg (is_move_constructible, is_nothrow_default_constructible)
3442 1.1 mrg (is_nothrow_constructible, is_nothrow_copy_constructible)
3443 1.1 mrg (is_nothrow_move_constructible, is_copy_assignable, is_move_assignable)
3444 1.1 mrg (is_nothrow_assignable, is_nothrow_copy_assignable)
3445 1.1 mrg (is_nothrow_move_assignable, is_trivially_constructible)
3446 1.1 mrg (is_trivially_copy_constructible, is_trivially_move_constructible)
3447 1.1 mrg is_trivially_assignable, is_trivially_copy_assignable)
3448 1.1 mrg (is_trivially_move_assignable, is_trivially_destructible)
3449 1.1 mrg (alignment_of, is_swappable, is_nothrow_swappable, is_invocable)
3450 1.1 mrg (is_invocable_r, is_nothrow_invocable)
3451 1.1 mrg (has_unique_object_representations, is_aggregate): Add static_asserts
3452 1.1 mrg to make sure that type traits are not misused with incomplete types.
3453 1.1 mrg (__is_constructible_impl, __is_nothrow_default_constructible_impl)
3454 1.1 mrg (__is_nothrow_constructible_impl, __is_nothrow_assignable_impl): New
3455 1.1 mrg base characteristics without assertions that can be reused in other
3456 1.1 mrg traits.
3457 1.1 mrg * testsuite/20_util/is_complete_or_unbounded/memoization.cc: New test.
3458 1.1 mrg * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc: New
3459 1.1 mrg test.
3460 1.1 mrg * testsuite/20_util/is_complete_or_unbounded/value.cc: New test.
3461 1.1 mrg * testsuite/20_util/is_abstract/incomplete_neg.cc: New test.
3462 1.1 mrg * testsuite/20_util/is_aggregate/incomplete_neg.cc: New test.
3463 1.1 mrg * testsuite/20_util/is_class/value.cc: Check incomplete type.
3464 1.1 mrg * testsuite/20_util/is_function/value.cc: Likewise.
3465 1.1 mrg * testsuite/20_util/is_move_constructible/incomplete_neg.cc: New test.
3466 1.1 mrg * testsuite/20_util/is_nothrow_move_assignable/incomplete_neg.cc: New
3467 1.1 mrg test.
3468 1.1 mrg * testsuite/20_util/is_polymorphic/incomplete_neg.cc: New test.
3469 1.1 mrg * testsuite/20_util/is_reference/value.cc: Check incomplete types.
3470 1.1 mrg * testsuite/20_util/is_unbounded_array/value.cc: Likewise.
3471 1.1 mrg * testsuite/20_util/is_union/value.cc: Likewise.
3472 1.1 mrg * testsuite/20_util/is_void/value.cc: Likewise.
3473 1.1 mrg * testsuite/util/testsuite_tr1.h: Add incomplete union type.
3474 1.1 mrg
3475 1.1 mrg 2019-05-31 Jonathan Wakely <jwakely (a] redhat.com>
3476 1.1 mrg
3477 1.1 mrg * include/bits/random.h (random_device::_M_init(const char*, size_t)):
3478 1.1 mrg Add new private member function.
3479 1.1 mrg * src/c++11/cow-string-inst.cc (random_device::_M_init(const string&))
3480 1.1 mrg (random_device::_M_init_pretr1(const string&)): Call new private
3481 1.1 mrg member with string data.
3482 1.1 mrg * src/c++11/random.cc (random_device::_M_init(const char*, size_t)):
3483 1.1 mrg Define.
3484 1.1 mrg * testsuite/26_numerics/random/random_device/cons/default-cow.cc: New
3485 1.1 mrg test using COW strings.
3486 1.1 mrg * testsuite/26_numerics/random/random_device/cons/default.cc: Generate
3487 1.1 mrg a value from the device.
3488 1.1 mrg * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
3489 1.1 mrg Fix typo in token string.
3490 1.1 mrg
3491 1.1 mrg 2019-05-30 Nina Dinka Ranns <dinka.ranns (a] gmail.com>
3492 1.1 mrg
3493 1.1 mrg LWG2788 basic_string spurious use of a default constructible allocator
3494 1.1 mrg * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
3495 1.1 mrg (basic_string::_M_replace_dispatch): Construct temporary string with
3496 1.1 mrg the current allocator.
3497 1.1 mrg * testsuite/21_strings/basic_string/allocator/char/lwg2788.cc: New.
3498 1.1 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/lwg2788.cc: New.
3499 1.1 mrg
3500 1.1 mrg 2019-05-30 Jonathan Wakely <jwakely (a] redhat.com>
3501 1.1 mrg
3502 1.1 mrg * doc/xml/manual/diagnostics.xml: Update list of headers that define
3503 1.1 mrg exception classes.
3504 1.1 mrg * doc/xml/manual/support.xml: Rewrite advice around NULL. Rewrite
3505 1.1 mrg section about new/delete overloads. Improve section on verbose
3506 1.1 mrg terminate handler.
3507 1.1 mrg * doc/html/*: Regenerate.
3508 1.1 mrg
3509 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Add feature-test macro for
3510 1.1 mrg P0811R3. Change status of P1353R0.
3511 1.1 mrg * doc/html/*: Regenerate.
3512 1.1 mrg
3513 1.1 mrg * doc/xml/manual/status_cxx2011.xml: Use <variablelist> for
3514 1.1 mrg documentation of implementation-defined types for [thread.req.native].
3515 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Update documentation of
3516 1.1 mrg implementation-defined strings for [variant.bad.access]. Fix typo in
3517 1.1 mrg documentation of implementation-defined support for [fs.conform.9945].
3518 1.1 mrg * doc/html/*: Regenerate.
3519 1.1 mrg
3520 1.1 mrg 2019-05-29 Jonathan Wakely <jwakely (a] redhat.com>
3521 1.1 mrg
3522 1.1 mrg PR libstdc++/85494
3523 1.1 mrg * testsuite/26_numerics/random/random_device/cons/token.cc: Fix test
3524 1.1 mrg that fails on mingw-w64.
3525 1.1 mrg
3526 1.1 mrg PR libstdc++/88881
3527 1.1 mrg * src/c++17/fs_ops.cc [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
3528 1.1 mrg (status(const path&, error_code&)): Use parent_path() to remove
3529 1.1 mrg trailing slash.
3530 1.1 mrg (symlink_status(const path&, error_code&)): Duplicate workaround for
3531 1.1 mrg bug in _wstat for paths with trailing slash.
3532 1.1 mrg * testsuite/27_io/filesystem/operations/remove_all.cc: Check path
3533 1.1 mrg with trailing slash.
3534 1.1 mrg * testsuite/27_io/filesystem/operations/status.cc: Likewise.
3535 1.1 mrg * testsuite/27_io/filesystem/operations/symlink_status.cc: Likewise.
3536 1.1 mrg
3537 1.1 mrg * src/c++17/fs_path.cc (path::parent_path()): Create whole path at
3538 1.1 mrg once instead of building it iteratively.
3539 1.1 mrg
3540 1.1 mrg * testsuite/util/testsuite_api.h: Remove names of unused parameters.
3541 1.1 mrg
3542 1.1 mrg PR libstdc++/85494 use rdseed and rand_s in std::random_device
3543 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_X86_RDSEED): Define macro to check if
3544 1.1 mrg the assembler supports rdseed.
3545 1.1 mrg * config.h.in: Regenerate.
3546 1.1 mrg * configure: Regenerate.
3547 1.1 mrg * configure.ac: Use GLIBCXX_CHECK_X86_RDSEED.
3548 1.1 mrg * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_CRT_RAND_S): Define.
3549 1.1 mrg * doc/html/*: Regenerate.
3550 1.1 mrg * doc/xml/manual/status_cxx2011.xml: Document new tokens.
3551 1.1 mrg * include/bits/random.h (random_device::random_device()): Always call
3552 1.1 mrg _M_init rather than _M_init_pretr1.
3553 1.1 mrg (random_device::random_device(const string&)): Likewise.
3554 1.1 mrg (random_device::operator()()): Always call _M_getval().
3555 1.1 mrg (random_device::_M_file): Replace first member of union with an
3556 1.1 mrg anonymous struct, with _M_file as its first member.
3557 1.1 mrg * src/c++11/random.cc [_GLIBCXX_X86_RDRAND] (USE_RDRAND): Define.
3558 1.1 mrg [_GLIBCXX_X86_RDSEED] (USE_RDSEED): Define.
3559 1.1 mrg (USE_MT19937): Define if none of the above are defined.
3560 1.1 mrg (USE_POSIX_FILE_IO): Define.
3561 1.1 mrg (_M_strtoul): Remove.
3562 1.1 mrg [USE_RDSEED] (__x86_rdseed): Define new function.
3563 1.1 mrg [_GLIBCXX_USE_CRT_RAND_S] (__winxp_rand_s): Define new function.
3564 1.1 mrg (random_device::_M_init(const string&)): Initialize new union members.
3565 1.1 mrg Add support for "rdseed" and "rand_s" tokens. Decide what the
3566 1.1 mrg "default" token does according to which USE_* macros are defined.
3567 1.1 mrg [USE_POSIX_FILE_IO]: Store a file descriptor.
3568 1.1 mrg [USE_MT19937]: Forward to _M_init_pretr1 instead.
3569 1.1 mrg (random_device::_M_init_pretr1(const string&)) [USE_MT19937]: Inline
3570 1.1 mrg code from _M_strtoul.
3571 1.1 mrg [!USE_MT19937]: Call _M_init, transforming the old default token or
3572 1.1 mrg numeric tokens to "default".
3573 1.1 mrg (random_device::_M_fini()) [USE_POSIX_FILE_IO]: Use close not fclose.
3574 1.1 mrg (random_device::_M_getval()): Use new union members to obtain a
3575 1.1 mrg random number from the stored function pointer or file descriptor.
3576 1.1 mrg [USE_MT19937]: Obtain a value from the mt19937 engine.
3577 1.1 mrg (random_device::_M_getval_pretr1()): Call _M_getval().
3578 1.1 mrg (random_device::_M_getentropy()) [USE_POSIX_FILE_IO]: Use _M_fd
3579 1.1 mrg instead of fileno.
3580 1.1 mrg [!USE_MT19937] (mersenne_twister): Do not instantiate when not needed.
3581 1.1 mrg * testsuite/26_numerics/random/random_device/85494.cc: New test.
3582 1.1 mrg
3583 1.1 mrg 2019-05-28 Jonathan Wakely <jwakely (a] redhat.com>
3584 1.1 mrg
3585 1.1 mrg PR libstdc++/90634
3586 1.1 mrg * include/experimental/bits/fs_path.h (path::path(path&&)): Only call
3587 1.1 mrg _M_split_cmpts() for a path with multiple components.
3588 1.1 mrg (path::_S_is_dir_sep()): Add missing 'static' keyword to function.
3589 1.1 mrg * src/filesystem/path.cc (path::_M_split_cmpts()): Count number of
3590 1.1 mrg components and reserve space in vector. Return early when there is
3591 1.1 mrg only one component.
3592 1.1 mrg * testsuite/27_io/filesystem/path/construct/90634.cc: New test.
3593 1.1 mrg * testsuite/experimental/filesystem/path/construct/90634.cc: New test.
3594 1.1 mrg
3595 1.1 mrg * testsuite/util/testsuite_fs.h (compare_paths): Use three-argument
3596 1.1 mrg form of std::equals for C++11 compatibility.
3597 1.1 mrg
3598 1.1 mrg 2019-05-26 Gerald Pfeifer <gerald (a] pfeifer.com>
3599 1.1 mrg
3600 1.1 mrg * doc/xml/manual/appendix_contributing.xml: Update pointer to
3601 1.1 mrg C++ standard at ansi.org.
3602 1.1 mrg
3603 1.1 mrg 2019-05-24 Jonathan Wakely <jwakely (a] redhat.com>
3604 1.1 mrg
3605 1.1 mrg * include/std/numeric (midpoint(T*, T*)): Fix incorrect result.
3606 1.1 mrg * testsuite/26_numerics/midpoint/pointer.cc: Change "compile" test
3607 1.1 mrg to "run".
3608 1.1 mrg
3609 1.1 mrg * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Fix test.
3610 1.1 mrg * testsuite/20_util/shared_ptr/cons/alias.cc: Remove unused function.
3611 1.1 mrg
3612 1.1 mrg 2019-05-23 Jonathan Wakely <jwakely (a] redhat.com>
3613 1.1 mrg
3614 1.1 mrg * testsuite/20_util/function_objects/invoke/1.cc: Move C++17-specific
3615 1.1 mrg tests to ...
3616 1.1 mrg * testsuite/20_util/function_objects/invoke/3.cc: New test.
3617 1.1 mrg * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Change
3618 1.1 mrg "compile" test to "run".
3619 1.1 mrg
3620 1.1 mrg * doc/xml/manual/intro.xml: Document LWG DR 2996 change.
3621 1.1 mrg * doc/html/*: Regenerate.
3622 1.1 mrg * include/bits/shared_ptr.h (shared_ptr(shared_ptr&&, T*)): Add
3623 1.1 mrg rvalue aliasing constructor.
3624 1.1 mrg (static_pointer_cast, const_pointer, dynamic_pointer_cast)
3625 1.1 mrg (reinterpret_pointer_cast): Add overloads taking rvalues.
3626 1.1 mrg * include/bits/shared_ptr_base.h (__shared_ptr(__shared_ptr&&, T*)):
3627 1.1 mrg Add rvalue aliasing constructor.
3628 1.1 mrg * testsuite/20_util/shared_ptr/casts/1.cc: Change "compile" test to
3629 1.1 mrg "run" and check return values as well as types.
3630 1.1 mrg * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
3631 1.1 mrg * testsuite/20_util/shared_ptr/casts/rval.cc: New test.
3632 1.1 mrg * testsuite/20_util/shared_ptr/cons/alias-rval.cc: New test.
3633 1.1 mrg * testsuite/20_util/shared_ptr/cons/alias.cc: Remove unused return
3634 1.1 mrg values.
3635 1.1 mrg
3636 1.1 mrg * doc/xml/manual/evolution.xml: Document LWG DR 2921 change.
3637 1.1 mrg * doc/xml/manual/intro.xml: Likewise.
3638 1.1 mrg * include/std/future (__create_task_state): Add default arguments
3639 1.1 mrg to make providing an allocator optional.
3640 1.1 mrg (packaged_task::packaged_task(F&&)): Call __create_task_state directly
3641 1.1 mrg instead of delegating to another constructor.
3642 1.1 mrg (packaged_task::packaged_task(allocator_arg_t, const A&, ...)): Do not
3643 1.1 mrg define allocator-extended constructors for C++17 and later.
3644 1.1 mrg * testsuite/30_threads/packaged_task/cons/alloc.cc: Only run test for
3645 1.1 mrg C++11 and C++14.
3646 1.1 mrg * testsuite/30_threads/packaged_task/cons/alloc2.cc: Likewise.
3647 1.1 mrg * testsuite/30_threads/packaged_task/cons/alloc_min.cc: Likewise.
3648 1.1 mrg * testsuite/30_threads/packaged_task/uses_allocator.cc: Likewise.
3649 1.1 mrg
3650 1.1 mrg 2019-05-23 Hans-Peter Nilsson <hp (a] axis.com>
3651 1.1 mrg
3652 1.1 mrg * testsuite/26_numerics/random/poisson_distribution/operators/values.cc:
3653 1.1 mrg Don't run the libstdc++/83237 part on simulator targets.
3654 1.1 mrg
3655 1.1 mrg 2019-05-23 Jonathan Wakely <jwakely (a] redhat.com>
3656 1.1 mrg
3657 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Add feature test macro for
3658 1.1 mrg P0040R3.
3659 1.1 mrg * doc/html/*: Regenerate.
3660 1.1 mrg
3661 1.1 mrg * include/experimental/any (__any_caster): Use RTTI if comparing
3662 1.1 mrg addresses fails, to support non-unique addresses in shared libraries.
3663 1.1 mrg * include/std/any (__any_caster): Likewise.
3664 1.1 mrg
3665 1.1 mrg PR libstdc++/90220
3666 1.1 mrg * include/experimental/any (__any_caster): Constrain to only be
3667 1.1 mrg callable for object types. Use remove_cv_t instead of decay_t.
3668 1.1 mrg If the type decays or isn't copy constructible, compare the manager
3669 1.1 mrg function to a dummy specialization.
3670 1.1 mrg (__any_caster): Add overload constrained for non-object types.
3671 1.1 mrg (any::_Manager_internal<_Op>): Add dummy specialization.
3672 1.1 mrg * testsuite/experimental/any/misc/any_cast.cc: Test function types
3673 1.1 mrg and array types.
3674 1.1 mrg
3675 1.1 mrg 2019-05-22 Jonathan Wakely <jwakely (a] redhat.com>
3676 1.1 mrg
3677 1.1 mrg PR libstdc++/90557
3678 1.1 mrg * src/c++17/fs_path.cc (path::_List::operator=(const _List&)): Fix
3679 1.1 mrg reversed arguments to uninitialized_copy_n.
3680 1.1 mrg * testsuite/27_io/filesystem/path/assign/copy.cc: Check that source
3681 1.1 mrg is unchanged by copy assignment.
3682 1.1 mrg * testsuite/util/testsuite_fs.h (compare_paths): Use std::equal to
3683 1.1 mrg compare path components.
3684 1.1 mrg
3685 1.1 mrg PR libstdc++/77691
3686 1.1 mrg * include/experimental/memory_resource: Add system header pragma and
3687 1.1 mrg do not define anything unless compiled as C++14 or later.
3688 1.1 mrg (__resource_adaptor_common::__guaranteed_alignment): Remove.
3689 1.1 mrg (__resource_adaptor_imp::do_allocate): If the requested alignment
3690 1.1 mrg is a fundamental alignment then either allocate directly from _M_alloc
3691 1.1 mrg or call the new _M_allocate function.
3692 1.1 mrg (__resource_adaptor_imp::do_deallocate): Likewise for deallocation.
3693 1.1 mrg (__resource_adaptor_imp::_M_allocate): New function that uses a copy
3694 1.1 mrg of the allocator rebound to a POD type with the specified alignment.
3695 1.1 mrg (__resource_adaptor_imp::_M_deallocate): Likewise for deallocation.
3696 1.1 mrg * testsuite/experimental/memory_resource/new_delete_resource.cc:
3697 1.1 mrg Adjust expected allocation sizes.
3698 1.1 mrg * testsuite/experimental/memory_resource/resource_adaptor.cc: Remove
3699 1.1 mrg xfail for Solaris x86.
3700 1.1 mrg
3701 1.1 mrg 2019-05-21 Thomas Rodgers <trodgers (a] redhat.com>
3702 1.1 mrg
3703 1.1 mrg LWG 3062 - Unnecessary decay_t in is_execution_policy_v
3704 1.1 mrg * include/pstl/execution_defs.h (__enable_if_execution_policy):
3705 1.1 mrg Use std::__remove_cvref_t when building with GCC.
3706 1.1 mrg
3707 1.1 mrg 2019-05-21 Jonathan Wakely <jwakely (a] redhat.com>
3708 1.1 mrg
3709 1.1 mrg PR libstdc++/90252
3710 1.1 mrg * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
3711 1.1 mrg Use "additional_flags" to pass -ltbb to v3_target_compile command.
3712 1.1 mrg Use check_v3_target_prop_cached to cache the result of the test.
3713 1.1 mrg
3714 1.1 mrg * doc/xml/manual/shared_ptr.xml: Fix names of lock policy constants.
3715 1.1 mrg
3716 1.1 mrg 2019-05-20 Thomas Rodgers <trodgers (a] redhat.com>
3717 1.1 mrg
3718 1.1 mrg PR libstdc++/90252
3719 1.1 mrg * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
3720 1.1 mrg Changed v3_target_compile check from preprocess to executable.
3721 1.1 mrg Added "-ltbb" to v3_target_compile flags.
3722 1.1 mrg
3723 1.1 mrg 2019-05-20 Thomas Rodgers <trodgers (a] redhat.com>
3724 1.1 mrg
3725 1.1 mrg * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
3726 1.1 mrg Add check for Thread Building Blocks 2018 or later.
3727 1.1 mrg
3728 1.1 mrg 2019-05-20 Jonathan Wakely <jwakely (a] redhat.com>
3729 1.1 mrg
3730 1.1 mrg * testsuite/experimental/names.cc: Only include Networking TS headers
3731 1.1 mrg on targets with the necessary Gthreads support.
3732 1.1 mrg
3733 1.1 mrg 2019-05-20 Marek Polacek <polacek (a] redhat.com>
3734 1.1 mrg
3735 1.1 mrg CWG 2094 - volatile scalars are trivially copyable.
3736 1.1 mrg PR c++/85679
3737 1.1 mrg * testsuite/20_util/is_trivially_copyable/value.cc: Change the expected
3738 1.1 mrg result for volatile int.
3739 1.1 mrg
3740 1.1 mrg 2019-05-20 Jonathan Wakely <jwakely (a] redhat.com>
3741 1.1 mrg
3742 1.1 mrg * testsuite/17_intro/names.cc: Do not check 'ptr' on Solaris.
3743 1.1 mrg * testsuite/experimental/names.cc: Include <experimental/filesystem>
3744 1.1 mrg conditionally.
3745 1.1 mrg
3746 1.1 mrg PR c++/90532 Ensure __is_constructible(T[]) is false
3747 1.1 mrg * include/std/type_traits (__do_is_default_constructible_impl)
3748 1.1 mrg (__is_default_constructible_atom, __is_default_constructible_safe):
3749 1.1 mrg Remove.
3750 1.1 mrg (is_default_constructible): Use is_constructible.
3751 1.1 mrg * testsuite/20_util/is_constructible/value.cc: Check int[] case.
3752 1.1 mrg * testsuite/20_util/is_default_constructible/value.cc: Likewise.
3753 1.1 mrg * testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
3754 1.1 mrg * testsuite/20_util/is_trivially_default_constructible/value.cc:
3755 1.1 mrg Likewise.
3756 1.1 mrg
3757 1.1 mrg 2019-05-20 Pdraig Brady <pbrady (a] fb.com>
3758 1.1 mrg
3759 1.1 mrg * libstdc++-v3/include/ext/new_allocator.h (deallocate): Pass the size
3760 1.1 mrg to the deallocator with -fsized-deallocation.
3761 1.1 mrg
3762 1.1 mrg 2019-05-20 Jonathan Wakely <jwakely (a] redhat.com>
3763 1.1 mrg
3764 1.1 mrg * testsuite/experimental/memory_resource/new_delete_resource.cc: Fix
3765 1.1 mrg test by passing correct alignment to deallocate function.
3766 1.1 mrg
3767 1.1 mrg 2019-05-18 Jonathan Wakely <jwakely (a] redhat.com>
3768 1.1 mrg
3769 1.1 mrg PR libstdc++/90520
3770 1.1 mrg * python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__):
3771 1.1 mrg Raise exception if unique_ptr tuple member has unknown structure.
3772 1.1 mrg * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker.__call__):
3773 1.1 mrg Adjust worker to support new __uniq_ptr_data base class. Do not
3774 1.1 mrg assume field called _M_head_impl is the first tuple element.
3775 1.1 mrg
3776 1.1 mrg 2019-05-17 Franois Dumont <fdumont (a] gcc.gnu.org>
3777 1.1 mrg
3778 1.1 mrg * include/bits/stl_deque.h
3779 1.1 mrg (_Deque_iterator<>::__ptr_to): Remove, use std::__ptr_rebind.
3780 1.1 mrg (_Deque_base(_Deque_base&&, const allocator_type&)): New.
3781 1.1 mrg (_Deque_base::_Deque_impl_data): New.
3782 1.1 mrg (_Deque_base::_Deque_impl): Inherit latter.
3783 1.1 mrg (_Deque_base::_Deque_impl::_M_swap_data): Move...
3784 1.1 mrg (_Deque_base::_Deque_impl_data::_M_swap_data): ... here.
3785 1.1 mrg (_Deque_base::_Deque_impl()): Add noexcept qualification.
3786 1.1 mrg (_Deque_base::_Deque_impl(_Deque_impl&&, _Tp_alloc_type&&)): New.
3787 1.1 mrg (_Deque_base::_Deque_impl::_M_get_Tp_allocator()): Remove static_cast.
3788 1.1 mrg (deque<>::deque()): Default.
3789 1.1 mrg (deque<>::deque(deque&&)): Default.
3790 1.1 mrg (deque<>::deque(deque&&, const allocator_type&, false_type)): New.
3791 1.1 mrg (deque<>::deque(deque&&, const allocator_type&, true_type)): New.
3792 1.1 mrg (deque<>::deque(deque&&, const allocator_type&)): Delegate to latters.
3793 1.1 mrg (deque<>::deque<_It>(_It, _It, const allocator_type&)): Use
3794 1.1 mrg _M_range_initialize.
3795 1.1 mrg (deque<>::assign<_It>(_It, _It)): Use _M_assign_aux.
3796 1.1 mrg (deque<>::resize(size_type, const value_type&)): Share a single
3797 1.1 mrg implementation.
3798 1.1 mrg (deque<>::insert<_It>(const_iterator, _It, _It)): Use
3799 1.1 mrg _M_range_insert_aux.
3800 1.1 mrg [__cplusplus >= 201103L](_M_initialize_dispatch): Remove.
3801 1.1 mrg [__cplusplus >= 201103L](_M_assign_dispatch): Remove.
3802 1.1 mrg [__cplusplus >= 201103L](_M_insert_dispatch): Remove.
3803 1.1 mrg * testsuite/23_containers/deque/allocator/default_init.cc: New.
3804 1.1 mrg
3805 1.1 mrg 2019-05-17 Jonathan Wakely <jwakely (a] redhat.com>
3806 1.1 mrg
3807 1.1 mrg PR libstdc++/90246
3808 1.1 mrg * include/std/variant (holds_alternative, get, get_if): Improve
3809 1.1 mrg static assertion messages.
3810 1.1 mrg (bad_variant_access::bad_variant_access()): Change default message.
3811 1.1 mrg (__throw_bad_variant_access(bool)): New overload.
3812 1.1 mrg (get): Use new overload.
3813 1.1 mrg (visit, visit<R>): Improve exception message.
3814 1.1 mrg
3815 1.1 mrg * testsuite/20_util/variant/compile.cc: Fix narrowing test for ILP32
3816 1.1 mrg targets. Add more cases from P0608R3.
3817 1.1 mrg * testsuite/20_util/variant/run.cc: Add more cases from P0608R3.
3818 1.1 mrg
3819 1.1 mrg * include/bits/random.h (seed_seq::param): Fix non-reserved name.
3820 1.1 mrg * include/experimental/type_traits (is_detected_exact)
3821 1.1 mrg (is_detected_exact_v): Likewise.
3822 1.1 mrg * include/pstl/execution_defs.h (is_execution_policy)
3823 1.1 mrg (is_execution_policy_v, __enable_if_execution_policy): Likewise.
3824 1.1 mrg * include/pstl/execution_impl.h (__policy_traits): Likewise.
3825 1.1 mrg * testsuite/17_intro/names.cc: Check for more non-reserved names.
3826 1.1 mrg * testsuite/experimental/names.cc: New test.
3827 1.1 mrg
3828 1.1 mrg PR libstdc++/85965
3829 1.1 mrg * include/bits/hashtable.h (_Hashtable::~_Hashtable()): Remove static
3830 1.1 mrg assertions from the destructor.
3831 1.1 mrg * include/bits/hashtable_policy.h (_Hash_code_base::_M_hash_code):
3832 1.1 mrg Move static_assert for hash function to here.
3833 1.1 mrg (_Hash_table_base::_M_equals): Move static_assert for equality
3834 1.1 mrg predicate to here.
3835 1.1 mrg * include/bits/stl_tree.h (_Rb_tree::_S_value(_Const_Link_type)):
3836 1.1 mrg Remove.
3837 1.1 mrg (_Rb_tree::_S_key(_Const_Link_type)): Move assertions here. Access
3838 1.1 mrg the value directly instead of calling _S_value.
3839 1.1 mrg (_Rb_tree::_S_value(_Const_Base_ptr)): Remove.
3840 1.1 mrg (_Rb_tree::_S_key(_Const_Base_ptr)): Do downcast and forward to
3841 1.1 mrg _S_key(_Const_Link_type).
3842 1.1 mrg * testsuite/23_containers/set/85965.cc: Check construction,
3843 1.1 mrg destruction, assignment and size() do not trigger the assertions.
3844 1.1 mrg * testsuite/23_containers/unordered_set/85965.cc: Likewise.
3845 1.1 mrg * testsuite/23_containers/map/48101_neg.cc: Call find and adjust
3846 1.1 mrg expected errors.
3847 1.1 mrg * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
3848 1.1 mrg * testsuite/23_containers/multiset/48101_neg.cc: Likewise.
3849 1.1 mrg * testsuite/23_containers/set/48101_neg.cc: Likewise.
3850 1.1 mrg * testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
3851 1.1 mrg * testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
3852 1.1 mrg * testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
3853 1.1 mrg * testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
3854 1.1 mrg
3855 1.1 mrg * include/bits/invoke.h [__cplusplus < 201703L] (__invoke_r<void>):
3856 1.1 mrg Use _GLIBCXX14_CONSTEXPR because void functions cannot be constexpr
3857 1.1 mrg in C++11.
3858 1.1 mrg
3859 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update P0608R3, P0777R1, and
3860 1.1 mrg P1165R1 entries.
3861 1.1 mrg * doc/html/*: Regenerate.
3862 1.1 mrg * include/std/tuple (make_from_tuple): Use remove_reference_t instead
3863 1.1 mrg of decay_t (P0777R1).
3864 1.1 mrg
3865 1.1 mrg 2019-05-17 Franois Dumont <fdumont (a] gcc.gnu.org>
3866 1.1 mrg
3867 1.1 mrg Move from state of allocators (LWG2593)
3868 1.1 mrg * include/bits/stl_deque.h
3869 1.1 mrg (_Deque_base(_Deque_base&&, false_type)): Remove.
3870 1.1 mrg (_Deque_base(_Deque_base&&, true_type)): Remove.
3871 1.1 mrg (_Deque_base(_Deque_base&&)): Adapt.
3872 1.1 mrg (_Deque_base::_M_move_impl()): Remove.
3873 1.1 mrg * testsuite/util/testsuite_allocator.h
3874 1.1 mrg (propagating_allocator(propagating_allocator&&)): Preserve move from
3875 1.1 mrg state.
3876 1.1 mrg * testsuite/23_containers/deque/allocator/move_assign.cc (test02):
3877 1.1 mrg Adapt.
3878 1.1 mrg * testsuite/23_containers/forward_list/allocator/move_assign.cc (test02):
3879 1.1 mrg Adapt.
3880 1.1 mrg * testsuite/23_containers/list/allocator/move_assign.cc (test02): Adapt.
3881 1.1 mrg * testsuite/23_containers/map/allocator/move_assign.cc (test02): Adapt.
3882 1.1 mrg * testsuite/23_containers/multimap/allocator/move_assign.cc (test02):
3883 1.1 mrg Adapt.
3884 1.1 mrg * testsuite/23_containers/multiset/allocator/move_assign.cc (test02):
3885 1.1 mrg Adapt.
3886 1.1 mrg * testsuite/23_containers/set/allocator/move_assign.cc (test02): Adapt.
3887 1.1 mrg * testsuite/23_containers/unordered_map/allocator/move_assign.cc
3888 1.1 mrg (test02): Adapt.
3889 1.1 mrg * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc
3890 1.1 mrg (test02): Adapt.
3891 1.1 mrg * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc
3892 1.1 mrg (test02): Adapt.
3893 1.1 mrg * testsuite/23_containers/unordered_set/allocator/move_assign.cc
3894 1.1 mrg (test02): Adapt.
3895 1.1 mrg * testsuite/23_containers/vector/allocator/move_assign.cc (test02):
3896 1.1 mrg Adapt.
3897 1.1 mrg * testsuite/23_containers/vector/bool/allocator/move_assign.cc (test02):
3898 1.1 mrg Adapt.
3899 1.1 mrg * testsuite/21_strings/basic_string/allocator/char/move_assign.cc
3900 1.1 mrg (test02): Adapt.
3901 1.1 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc
3902 1.1 mrg (test02): Adapt.
3903 1.1 mrg
3904 1.1 mrg 2019-05-16 Jonathan Wakely <jwakely (a] redhat.com>
3905 1.1 mrg
3906 1.1 mrg * src/c++17/fs_ops.cc (absolute(const path&, error_code&))
3907 1.1 mrg [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove bogus assertion.
3908 1.1 mrg
3909 1.1 mrg * include/std/variant (__overload_set): Remove.
3910 1.1 mrg (_Arr): New helper.
3911 1.1 mrg (_Build_FUN): New class template to define a single FUN overload,
3912 1.1 mrg with specializations to prevent unwanted conversions, as per P0608R3.
3913 1.1 mrg (_Build_FUNs): New class template to build an overload set of FUN.
3914 1.1 mrg (_FUN_type): New alias template to perform overload resolution.
3915 1.1 mrg (__accepted_type): Use integer_constant base for failure case. Use
3916 1.1 mrg _FUN_type for successful case.
3917 1.1 mrg (variant::__accepted_index): Use _Tp instead of _Tp&&.
3918 1.1 mrg (variant::variant(_Tp&&)): Likewise.
3919 1.1 mrg (variant::operator=(_Tp&&)): Likewise.
3920 1.1 mrg
3921 1.1 mrg * include/std/variant (_Variant_storage<false, _Types...>::_M_reset):
3922 1.1 mrg Replace raw visitation with a runtime check for the valueless state
3923 1.1 mrg and a non-raw visitor.
3924 1.1 mrg (_Variant_storage<false, _Types...>::_M_reset_impl): Remove.
3925 1.1 mrg (variant::index()): Remove branch.
3926 1.1 mrg (variant::swap(variant&)): Use valueless_by_exception() instead of
3927 1.1 mrg comparing the index to variant_npos, and add likelihood attribute.
3928 1.1 mrg
3929 1.1 mrg * include/bits/hashtable_policy.h (_Equal_helper): Remove.
3930 1.1 mrg (_Hashtable_base::_Equal_hash_code): Define new class template.
3931 1.1 mrg (_Hashtable_base::_M_equals): Use _Equal_hash_code instead of
3932 1.1 mrg _Equal_helper.
3933 1.1 mrg
3934 1.1 mrg * include/bits/hashtable_policy.h (_Hashtable_ebo_helper::_S_get):
3935 1.1 mrg Replace with _M_get non-static member function.
3936 1.1 mrg (_Hashtable_ebo_helper::_S_cget): Replace with _M_cget non-static
3937 1.1 mrg member function.
3938 1.1 mrg (_Hash_code_base, _Local_iterator_base, _Hashtable_base):
3939 1.1 mrg (_Hashtable_alloc): Adjust to use non-static members of EBO helper.
3940 1.1 mrg
3941 1.1 mrg * include/bits/hashtable_policy.h (_Hash_code_base::_M_swap): Use
3942 1.1 mrg _S_get accessors for members in EBO helpers.
3943 1.1 mrg (_Hash_code_base::_M_extract(), _Hash_code_base::_M_ranged_hash())
3944 1.1 mrg (_Hash_code_base::_M_h1(), _Hash_code_base::_M_h2()): Remove non-const
3945 1.1 mrg overloads.
3946 1.1 mrg (_Hashtable_base::_M_swap): Use _S_get accessors for members in EBO
3947 1.1 mrg helpers.
3948 1.1 mrg (_Hashtable_base::_M_eq()): Remove non-const overload.
3949 1.1 mrg
3950 1.1 mrg 2019-05-15 Jonathan Wakely <jwakely (a] redhat.com>
3951 1.1 mrg
3952 1.1 mrg * include/std/variant (visit, visit<R>): Qualify calls to __do_visit.
3953 1.1 mrg
3954 1.1 mrg 2019-05-14 Jonathan Wakely <jwakely (a] redhat.com>
3955 1.1 mrg
3956 1.1 mrg * testsuite/util/testsuite_allocator.h (NullablePointer::operator bool):
3957 1.1 mrg Fix return value.
3958 1.1 mrg
3959 1.1 mrg 2019-05-14 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
3960 1.1 mrg
3961 1.1 mrg * config/os/solaris/solaris2.10: Move to ...
3962 1.1 mrg * config/os/solaris: ... this.
3963 1.1 mrg * configure.host (os_include_dir): Adapt.
3964 1.1 mrg (abi_baseline_pair): Remove Solaris 10 handling.
3965 1.1 mrg * config/abi/post/i386-solaris2.10: Remove.
3966 1.1 mrg * config/abi/post/sparc-solaris2.10: Remove.
3967 1.1 mrg * config/abi/post/i386-solaris2.11: Rename to ...
3968 1.1 mrg * config/abi/post/i386-solaris: ... this.
3969 1.1 mrg * config/abi/post/sparc-solaris2.11: Rename to ...
3970 1.1 mrg * config/abi/post/sparc-solaris: ... this.
3971 1.1 mrg
3972 1.1 mrg * libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] [__sun]: Remove
3973 1.1 mrg workaround.
3974 1.1 mrg
3975 1.1 mrg * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.10
3976 1.1 mrg xfail.
3977 1.1 mrg
3978 1.1 mrg 2019-05-14 Jonathan Wakely <jwakely (a] redhat.com>
3979 1.1 mrg
3980 1.1 mrg * include/std/variant (__visit_with_index): Remove typedef.
3981 1.1 mrg (__deduce_visit_result): New tag type.
3982 1.1 mrg (__raw_visit, __raw_idx_visit): New helper functions for "raw"
3983 1.1 mrg visitation of possibly-valueless variants, forwarding to __do_visit
3984 1.1 mrg with the relevant tag type.
3985 1.1 mrg (_Variant_storage<false, _Types...>::_M_reset_impl): Use __raw_visit
3986 1.1 mrg and make lambda return void.
3987 1.1 mrg (__variant_construct): Likewise.
3988 1.1 mrg (_Copy_assign_base::operator=, _Move_assign_base::operator=): Use
3989 1.1 mrg __raw_idx_visit and make lambda return void.
3990 1.1 mrg (_Multi_array::__untag_result): Add metafunction to check the function
3991 1.1 mrg pointer type for a tag type that dictates the kind of visitation.
3992 1.1 mrg (_Multi_array<_Ret(*)(_Visitor, _Variants...), __first, __rest...>):
3993 1.1 mrg Use decltype(auto) instead of tagged function pointer type.
3994 1.1 mrg (__gen_vtable_impl): Remove bool non-type parameter and unused
3995 1.1 mrg _Variant_tuple parameter.
3996 1.1 mrg (__gen_vtable_impl::__visit_invoke_impl): Remove.
3997 1.1 mrg (__gen_vtable_impl::__do_visit_invoke): Remove.
3998 1.1 mrg (__gen_vtable_impl::__do_visit_invoke_r): Remove.
3999 1.1 mrg (__gen_vtable_impl::__visit_invoke): Use if-constexpr and __invoke_r
4000 1.1 mrg for the visit<R> case, rather than dispatching to separate functions.
4001 1.1 mrg (_VARIANT_RELATION_FUNCTION_TEMPLATE): Use __raw_idx_visit and make
4002 1.1 mrg lambda return void.
4003 1.1 mrg (variant::swap): Likewise.
4004 1.1 mrg (__do_visit): Replace two non-type template parameters with a single
4005 1.1 mrg type parameter, so that the caller must specify the visitor's return
4006 1.1 mrg type (or one of the tag types).
4007 1.1 mrg (visit): Deduce a return type from the visitor and use the
4008 1.1 mrg __deduce_visit_result tag to enforce that all overloads return the
4009 1.1 mrg same type.
4010 1.1 mrg (visit<R>): Call __do_visit<R> with explicit result type.
4011 1.1 mrg (__variant_hash_call_base_impl::operator()): Use __raw_visit and make
4012 1.1 mrg lambda return void.
4013 1.1 mrg
4014 1.1 mrg 2019-05-14 Nina Dinka Ranns <dinka.ranns (a] gmail.com>
4015 1.1 mrg
4016 1.1 mrg nonesuch is insufficiently useless (lwg2996)
4017 1.1 mrg * include/std/type_traits (struct __nonesuch): Added private base
4018 1.1 mrg class to make __nonesuch not an aggregate and removed deleted default
4019 1.1 mrg constructor.
4020 1.1 mrg * include/bits/stl_pair.h (struct __nonesuch_no_braces): Removed.
4021 1.1 mrg (operator=(const pair&)): Use __nonesuch instead of
4022 1.1 mrg __nonesuch_no_braces.
4023 1.1 mrg (operator=(pair&&)): Likewise
4024 1.1 mrg * include/std/tuple (operator=(const tuple&)): Use __nonesuch instead
4025 1.1 mrg of __nonesuch_no_braces.
4026 1.1 mrg (operator=(tuple&&)): Likewise
4027 1.1 mrg * include/experimental/type_traits (struct nonesuch): Added private
4028 1.1 mrg base class to make nonesuch not an aggregate and removed deleted
4029 1.1 mrg default constructor.
4030 1.1 mrg * testsuite/20_util/nonesuch/nonesuch.cc: New.
4031 1.1 mrg * testsuite/experimental/type_traits/nonesuch.cc: New.
4032 1.1 mrg
4033 1.1 mrg 2019-05-14 Jonathan Wakely <jwakely (a] redhat.com>
4034 1.1 mrg
4035 1.1 mrg * include/bits/std_function.h (_Simple_type_wrapper): Remove.
4036 1.1 mrg (_Function_handler): Remove partial specializations for void return
4037 1.1 mrg types and pointers to member.
4038 1.1 mrg (_Function_handler::_M_manager): Adapt to removal of
4039 1.1 mrg _Simple_type_wrapper.
4040 1.1 mrg (_Function_handler::_M_invoke): Use __invoke_r instead of __invoke.
4041 1.1 mrg * include/std/functional (_Bind_result::__enable_if_void)
4042 1.1 mrg (_Bind_result::__disable_if_void): Remove sfinae helpers.
4043 1.1 mrg (_Bind_result::__call): Use __invoke_r and remove overloads for void
4044 1.1 mrg return types.
4045 1.1 mrg * include/std/future (__future_base::_Task_state::_M_run)
4046 1.1 mrg (__future_base::_Task_state::_M_run_delayed): Use __invoke_r and
4047 1.1 mrg change return type of lambda expressions.
4048 1.1 mrg
4049 1.1 mrg * include/bits/invoke.h (__invoke_r): Define new function implementing
4050 1.1 mrg the INVOKE<R> pseudo-function.
4051 1.1 mrg * testsuite/20_util/function_objects/invoke/1.cc: Add more tests.
4052 1.1 mrg * testsuite/20_util/function_objects/invoke/2.cc: New test.
4053 1.1 mrg
4054 1.1 mrg * include/std/type_traits (__is_nt_convertible_helper): Define it
4055 1.1 mrg unconditionally, not only for C++20.
4056 1.1 mrg (__is_nothrow_convertible): Define internal trait for use in C++11.
4057 1.1 mrg (__is_nt_invocable_impl: Fix by using __is_nothrow_convertible.
4058 1.1 mrg (is_invocable_r_v, is_nothrow_invocable_r_v): Add missing parameter.
4059 1.1 mrg * testsuite/20_util/is_nothrow_convertible/value_ext.cc: New test.
4060 1.1 mrg * testsuite/20_util/is_nothrow_convertible/value.cc: Check with type
4061 1.1 mrg that has nothrow explicit conversion but potentially-throwing implicit
4062 1.1 mrg conversion.
4063 1.1 mrg * testsuite/20_util/is_nothrow_invocable/value.cc: Likewise.
4064 1.1 mrg * testsuite/20_util/is_nothrow_invocable/value_ext.cc: Fix helper
4065 1.1 mrg function to only consider implicit conversions.
4066 1.1 mrg * testsuite/20_util/tuple/cons/noexcept_specs.cc: Add comment.
4067 1.1 mrg
4068 1.1 mrg * include/std/iterator: Include <iosfwd> instead of <istream> and
4069 1.1 mrg <ostream>.
4070 1.1 mrg
4071 1.1 mrg * include/bits/stl_tree.h (_Rb_tree::erase(const Key*, const Key*)):
4072 1.1 mrg Remove unused, non-standard function.
4073 1.1 mrg
4074 1.1 mrg * include/bits/regex.h (match_results::max_size()): Adjust return
4075 1.1 mrg value to account for prefix/suffix/unmatched subs.
4076 1.1 mrg (match_results::_M_resize(unsigned int)): Use _Base_type::assign to
4077 1.1 mrg reset the contained sub matches.
4078 1.1 mrg (match_results::_M_establish_failed_match(_Bi_iter)): Add new member
4079 1.1 mrg function to set result state following a failed match.
4080 1.1 mrg * include/bits/regex.tcc (__regex_algo_impl): Remove loop to set
4081 1.1 mrg sub_match states after _M_resize. Use _M_establish_failed_match.
4082 1.1 mrg
4083 1.1 mrg PR libstdc++/69724
4084 1.1 mrg * include/std/thread (thread::_State_impl, thread::_S_make_state):
4085 1.1 mrg Replace single _Callable parameter with variadic _Args pack, to
4086 1.1 mrg forward them directly to the tuple of decayed copies.
4087 1.1 mrg * testsuite/30_threads/thread/cons/69724.cc: New test.
4088 1.1 mrg
4089 1.1 mrg 2019-05-14 Nina Dinka Ranns <dinka.ranns (a] gmail.com>
4090 1.1 mrg
4091 1.1 mrg Inconsistency wrt Allocators in basic_string assignment (LWG2579)
4092 1.1 mrg * include/bits/basic_string.h: (operator=(const basic_string&):
4093 1.1 mrg Move allocator decision to assign.
4094 1.1 mrg (assign(const basic_string&)): Move allocator decision here.
4095 1.1 mrg * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
4096 1.1 mrg Add tests.
4097 1.1 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
4098 1.1 mrg Add tests.
4099 1.1 mrg
4100 1.1 mrg 2019-05-14 Jonathan Wakely <jwakely (a] redhat.com>
4101 1.1 mrg
4102 1.1 mrg * testsuite/util/testsuite_allocator.h (memory_resource)
4103 1.1 mrg (default_resource_mgr): Fix indentation.
4104 1.1 mrg
4105 1.1 mrg * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
4106 1.1 mrg Use operator-> to access raw pointer member.
4107 1.1 mrg * testsuite/23_containers/vector/59829.cc: Likewise.
4108 1.1 mrg * testsuite/23_containers/vector/bool/80893.cc: Likewise.
4109 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Use NullablePointer.
4110 1.1 mrg * testsuite/util/testsuite_allocator.h (NullablePointer): New utility
4111 1.1 mrg for tests.
4112 1.1 mrg (PointerBase, PointerBase_void): Derive from NullablePointer and use
4113 1.1 mrg its constructors and equality operators. Change converting
4114 1.1 mrg constructors to use operator-> to access private member of the other
4115 1.1 mrg pointer type.
4116 1.1 mrg (PointerBase_void::operator->()): Add, for access to private member.
4117 1.1 mrg (operator-(PointerBase, PointerBase)): Change to hidden friend.
4118 1.1 mrg (operator==(PointerBase, PointerBase)): Remove.
4119 1.1 mrg (operator!=(PointerBase, PointerBase)): Remove.
4120 1.1 mrg
4121 1.1 mrg * python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__): Do
4122 1.1 mrg not assume field called _M_head_impl is the first tuple element.
4123 1.1 mrg * testsuite/libstdc++-prettyprinters/compat.cc: Make tuple
4124 1.1 mrg implementation more accurate.
4125 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Check unique_ptr with
4126 1.1 mrg empty pointer type and non-empty deleter.
4127 1.1 mrg
4128 1.1 mrg LWG 2899 - Make is_move_constructible correct for unique_ptr
4129 1.1 mrg * include/bits/unique_ptr.h (__uniq_ptr_impl): Add move constructor,
4130 1.1 mrg move assignment operator.
4131 1.1 mrg (__uniq_ptr_impl::release(), __uniq_ptr_impl::reset(pointer)): Add.
4132 1.1 mrg (__uniq_ptr_data): New class template with conditionally deleted
4133 1.1 mrg special members.
4134 1.1 mrg (unique_ptr, unique_ptr<T[], D>): Change type of data member from
4135 1.1 mrg __uniq_ptr_impl<T, D> to __uniq_ptr_data<T, D>. Define move
4136 1.1 mrg constructor and move assignment operator as defaulted.
4137 1.1 mrg (unique_ptr::release(), unique_ptr<T[], D>::release()): Forward to
4138 1.1 mrg __uniq_ptr_impl::release().
4139 1.1 mrg (unique_ptr::reset(pointer), unique_ptr<T[], D>::reset<U>(U)): Forward
4140 1.1 mrg to __uniq_ptr_impl::reset(pointer).
4141 1.1 mrg * python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__):
4142 1.1 mrg Check for new __uniq_ptr_data type.
4143 1.1 mrg * testsuite/20_util/unique_ptr/dr2899.cc: New test.
4144 1.1 mrg
4145 1.1 mrg 2019-05-13 Jonathan Wakely <jwakely (a] redhat.com>
4146 1.1 mrg
4147 1.1 mrg PR libstdc++/90454.cc path construction from void*
4148 1.1 mrg * include/bits/fs_path.h (path::_Path): Use remove_pointer so that
4149 1.1 mrg pointers to void are rejected as well as void.
4150 1.1 mrg * include/experimental/bits/fs_path.h (path::_Path): Likewise.
4151 1.1 mrg * testsuite/27_io/filesystem/path/construct/80762.cc: Also check
4152 1.1 mrg pointers to void.
4153 1.1 mrg * testsuite/experimental/filesystem/path/construct/80762.cc: Likewise.
4154 1.1 mrg
4155 1.1 mrg * doc/xml/manual/policy_data_structures.xml: Comment out stray
4156 1.1 mrg <remark> elements. Fix formatting of bibliography references.
4157 1.1 mrg
4158 1.1 mrg 2019-05-13 Edward Smith-Rowland <3dw4rd (a] verizon.net>
4159 1.1 mrg
4160 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Document P0811R3 status.
4161 1.1 mrg
4162 1.1 mrg 2019-05-13 Jonathan Wakely <jwakely (a] redhat.com>
4163 1.1 mrg
4164 1.1 mrg Remove Profile Mode, deprecated since 7.1.0
4165 1.1 mrg * doc/Makefile.am: Remove XML file for profile mode docs.
4166 1.1 mrg * doc/Makefile.in: Regenerate.
4167 1.1 mrg * doc/xml/authors.xml: Remove authors of profile mode docs.
4168 1.1 mrg * doc/xml/manual/appendix_contributing.xml: Remove mention of profile
4169 1.1 mrg mode.
4170 1.1 mrg * doc/xml/manual/debug.xml: Likewise.
4171 1.1 mrg * doc/xml/manual/evolution.xml: Document removal of profile mode.
4172 1.1 mrg * doc/xml/manual/profile_mode.xml: Remove profile mode docs.
4173 1.1 mrg * doc/xml/manual/spine.xml: Remove profile mode author credit.
4174 1.1 mrg * doc/xml/manual/test.xml: Remove docs for dg-require-profile-mode
4175 1.1 mrg directive.
4176 1.1 mrg * doc/xml/manual/using.xml: Remove docs for profile mode headers and
4177 1.1 mrg macro.
4178 1.1 mrg * doc/html/*: Regenerate.
4179 1.1 mrg * include/Makefile.am: Remove profile mode headers.
4180 1.1 mrg * include/Makefile.in: Regenerate.
4181 1.1 mrg * include/bits/c++config (std::__profile): Remove namespace.
4182 1.1 mrg [_GLIBCXX_PROFILE]: Remove checks for macro.
4183 1.1 mrg * include/profile/array: Remove.
4184 1.1 mrg * include/profile/base.h: Remove.
4185 1.1 mrg * include/profile/bitset: Remove.
4186 1.1 mrg * include/profile/deque: Remove.
4187 1.1 mrg * include/profile/forward_list: Remove.
4188 1.1 mrg * include/profile/impl/profiler.h: Remove.
4189 1.1 mrg * include/profile/impl/profiler_algos.h: Remove.
4190 1.1 mrg * include/profile/impl/profiler_container_size.h: Remove.
4191 1.1 mrg * include/profile/impl/profiler_hash_func.h: Remove.
4192 1.1 mrg * include/profile/impl/profiler_hashtable_size.h: Remove.
4193 1.1 mrg * include/profile/impl/profiler_list_to_slist.h: Remove.
4194 1.1 mrg * include/profile/impl/profiler_list_to_vector.h: Remove.
4195 1.1 mrg * include/profile/impl/profiler_map_to_unordered_map.h: Remove.
4196 1.1 mrg * include/profile/impl/profiler_node.h: Remove.
4197 1.1 mrg * include/profile/impl/profiler_state.h: Remove.
4198 1.1 mrg * include/profile/impl/profiler_trace.h: Remove.
4199 1.1 mrg * include/profile/impl/profiler_vector_size.h: Remove.
4200 1.1 mrg * include/profile/impl/profiler_vector_to_list.h: Remove.
4201 1.1 mrg * include/profile/iterator_tracker.h: Remove.
4202 1.1 mrg * include/profile/list: Remove.
4203 1.1 mrg * include/profile/map: Remove.
4204 1.1 mrg * include/profile/map.h: Remove.
4205 1.1 mrg * include/profile/multimap.h: Remove.
4206 1.1 mrg * include/profile/multiset.h: Remove.
4207 1.1 mrg * include/profile/ordered_base.h: Remove.
4208 1.1 mrg * include/profile/set: Remove.
4209 1.1 mrg * include/profile/set.h: Remove.
4210 1.1 mrg * include/profile/unordered_base.h: Remove.
4211 1.1 mrg * include/profile/unordered_map: Remove.
4212 1.1 mrg * include/profile/unordered_set: Remove.
4213 1.1 mrg * include/profile/vector: Remove.
4214 1.1 mrg * scripts/run_doxygen: Do not process profile mode headers.
4215 1.1 mrg * testsuite/23_containers/array/element_access/60497.cc: Don't use
4216 1.1 mrg profile mode type.
4217 1.1 mrg * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
4218 1.1 mrg Remove dg-skip-if for profile mode.
4219 1.1 mrg * testsuite/23_containers/forward_list/capacity/1.cc: Remove
4220 1.1 mrg preprocessor check for profile mode.
4221 1.1 mrg * testsuite/23_containers/list/capacity/29134.cc: Likewise.
4222 1.1 mrg * testsuite/23_containers/map/modifiers/extract.cc: Remove dg-skip-if
4223 1.1 mrg for profile mode.
4224 1.1 mrg * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
4225 1.1 mrg Likewise.
4226 1.1 mrg * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
4227 1.1 mrg * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
4228 1.1 mrg * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
4229 1.1 mrg * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
4230 1.1 mrg * testsuite/23_containers/unordered_map/modifiers/extract.cc:
4231 1.1 mrg Likewise.
4232 1.1 mrg * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
4233 1.1 mrg Likewise.
4234 1.1 mrg * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
4235 1.1 mrg Likewise.
4236 1.1 mrg * testsuite/23_containers/unordered_set/modifiers/extract.cc:
4237 1.1 mrg Likewise.
4238 1.1 mrg * testsuite/23_containers/vector/bool/capacity/29134.cc: Remove
4239 1.1 mrg preprocessor check for profile mode.
4240 1.1 mrg * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
4241 1.1 mrg Likewise.
4242 1.1 mrg * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
4243 1.1 mrg Remove dg-skip-if for profile mode.
4244 1.1 mrg * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
4245 1.1 mrg * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
4246 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
4247 1.1 mrg * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
4248 1.1 mrg * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4249 1.1 mrg * testsuite/Makefile.am: Remove profile_flags variable and
4250 1.1 mrg * testsuite/Makefile.am: Remove profile_flags variable and
4251 1.1 mrg check-profile target.
4252 1.1 mrg * testsuite/Makefile.in: Regenerate.
4253 1.1 mrg * testsuite/ext/profile/all.cc: Remove.
4254 1.1 mrg * testsuite/ext/profile/mutex_extensions_neg.cc: Remove.
4255 1.1 mrg * testsuite/ext/profile/profiler_algos.cc: Remove.
4256 1.1 mrg * testsuite/ext/profile/replace_new.cc: Remove.
4257 1.1 mrg * testsuite/ext/throw_allocator/deallocate_global.cc: Remove
4258 1.1 mrg preprocessor check for profile mode.
4259 1.1 mrg * testsuite/ext/throw_allocator/deallocate_local.cc: Likewise.
4260 1.1 mrg * testsuite/lib/libstdc++.exp (check_v3_target_profile_mode): Remove.
4261 1.1 mrg (check_v3_target_normal_mode): Do not check for profile mode macro.
4262 1.1 mrg * testsuite/libstdc++-prettyprinters/80276.cc: Remove dg-skip-if for
4263 1.1 mrg profile mode.
4264 1.1 mrg * testsuite/libstdc++-prettyprinters/compat.cc: Likewise.
4265 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
4266 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
4267 1.1 mrg * testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
4268 1.1 mrg * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
4269 1.1 mrg * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
4270 1.1 mrg * testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
4271 1.1 mrg * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
4272 1.1 mrg * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
4273 1.1 mrg * testsuite/libstdc++-prettyprinters/whatis2.cc: Likewise.
4274 1.1 mrg
4275 1.1 mrg Remove array_allocator extension, deprecated since 4.9.0
4276 1.1 mrg * doc/xml/manual/allocator.xml: Remove documentation for
4277 1.1 mrg array_allocator.
4278 1.1 mrg * doc/xml/manual/evolution.xml: Document array_allocator removal.
4279 1.1 mrg * doc/xml/manual/using.xml: Remove header from documentation.
4280 1.1 mrg * include/Makefile.am: Remove <ext/array_allocator.h> header.
4281 1.1 mrg * include/Makefile.in: Regenerate.
4282 1.1 mrg * include/ext/array_allocator.h: Remove.
4283 1.1 mrg * include/precompiled/extc++.h: Do not include removed header.
4284 1.1 mrg * testsuite/ext/array_allocator/1.cc: Remove.
4285 1.1 mrg * testsuite/ext/array_allocator/2.cc: Remove.
4286 1.1 mrg * testsuite/ext/array_allocator/26875.cc: Remove.
4287 1.1 mrg * testsuite/ext/array_allocator/3.cc: Remove.
4288 1.1 mrg * testsuite/ext/array_allocator/check_deallocate_null.cc: Remove.
4289 1.1 mrg * testsuite/ext/array_allocator/check_delete.cc: Remove.
4290 1.1 mrg * testsuite/ext/array_allocator/check_new.cc: Remove.
4291 1.1 mrg * testsuite/ext/array_allocator/variadic_construct.cc: Remove.
4292 1.1 mrg * testsuite/ext/headers.cc: Do not include removed header.
4293 1.1 mrg
4294 1.1 mrg 2019-05-11 Franois Dumont <fdumont (a] gcc.gnu.org>
4295 1.1 mrg
4296 1.1 mrg * include/bits/stl_bvector.h
4297 1.1 mrg (operator==(const _Bit_iterator_base&, const _Bit_iterator_base&)):
4298 1.1 mrg Make hidden friend.
4299 1.1 mrg (operator<(const _Bit_iterator_base&, const _Bit_iterator_base&)):
4300 1.1 mrg Likewise.
4301 1.1 mrg (operator!=(const _Bit_iterator_base&, const _Bit_iterator_base&)):
4302 1.1 mrg Likewise.
4303 1.1 mrg (operator>(const _Bit_iterator_base&, const _Bit_iterator_base&)):
4304 1.1 mrg Likewise.
4305 1.1 mrg (operator<=(const _Bit_iterator_base&, const _Bit_iterator_base&)):
4306 1.1 mrg Likewise.
4307 1.1 mrg (operator>=(const _Bit_iterator_base&, const _Bit_iterator_base&)):
4308 1.1 mrg Likewise.
4309 1.1 mrg (operator-(const _Bit_iterator_base&, const _Bit_iterator_base&)):
4310 1.1 mrg Likewise.
4311 1.1 mrg (_Bit_iterator::operator+(difference_type)): Likewise and allow NRVO
4312 1.1 mrg copy elision.
4313 1.1 mrg (_Bit_iterator::operator-(difference_type)): Likewise.
4314 1.1 mrg (operator+(ptrdiff_t, const _Bit_iterator&)): Make hidden friend.
4315 1.1 mrg (_Bit_const_iterator::operator+(difference_type)): Likewise and allow
4316 1.1 mrg NRVO copy elision.
4317 1.1 mrg (_Bit_const_iterator::operator-(difference_type)): Likewise.
4318 1.1 mrg (operator+(ptrdiff_t, const _Bit_const_iterator&)): Make hidden friend.
4319 1.1 mrg
4320 1.1 mrg 2019-05-10 Jonathan Wakely <jwakely (a] redhat.com>
4321 1.1 mrg
4322 1.1 mrg PR libstdc++/81266
4323 1.1 mrg * testsuite/util/thread/all.h: Do not use remove_pointer for
4324 1.1 mrg std::thread::native_handle_type.
4325 1.1 mrg
4326 1.1 mrg PR libstdc++/90397
4327 1.1 mrg * include/std/variant (_Variant_storage<false, Types...>::_M_storage())
4328 1.1 mrg (_Variant_storage<true, Types...>::_M_reset()))
4329 1.1 mrg (_Variant_storage<true, Types...>::_M_storage())): Add noexcept.
4330 1.1 mrg (__get_storage): Likewise.
4331 1.1 mrg (variant): Add noexcept to friend declarations for __get and
4332 1.1 mrg __get_storage.
4333 1.1 mrg
4334 1.1 mrg PR libstdc++/90388
4335 1.1 mrg * include/bits/unique_ptr.h (default_delete, default_delete<T[]>):
4336 1.1 mrg Use _Require for constraints.
4337 1.1 mrg (operator>(nullptr_t, const unique_ptr<T,D>&)): Implement exactly as
4338 1.1 mrg per the standard.
4339 1.1 mrg (__uniq_ptr_hash): New base class with conditionally-disabled call
4340 1.1 mrg operator.
4341 1.1 mrg (hash<unique_ptr<T,D>>): Derive from __uniq_ptr_hash.
4342 1.1 mrg * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
4343 1.1 mrg * testsuite/20_util/unique_ptr/hash/90388.cc: New test.
4344 1.1 mrg
4345 1.1 mrg * include/bits/shared_ptr.h: Improve docs.
4346 1.1 mrg * include/bits/shared_ptr_base.h: Likewise.
4347 1.1 mrg * include/bits/stl_uninitialized.h: Likewise.
4348 1.1 mrg * include/bits/unique_ptr.h: Likewise.
4349 1.1 mrg * libsupc++/new: Likewise.
4350 1.1 mrg
4351 1.1 mrg 2019-05-09 Franois Dumont <fdumont (a] gcc.gnu.org>
4352 1.1 mrg
4353 1.1 mrg * include/bits/stl_deque.h
4354 1.1 mrg (operator==(const _Deque_iterator<>&, const _Deque_iterator<>&)):
4355 1.1 mrg Make hidden friend.
4356 1.1 mrg (operator!=(const _Deque_iterator<>&, const _Deque_iterator<>&)):
4357 1.1 mrg Likewise.
4358 1.1 mrg (operator<(const _Deque_iterator<>&, const _Deque_iterator<>&)):
4359 1.1 mrg Likewise.
4360 1.1 mrg (operator<=(const _Deque_iterator<>&, const _Deque_iterator<>&)):
4361 1.1 mrg Likewise.
4362 1.1 mrg (operator>(const _Deque_iterator<>&, const _Deque_iterator<>&)):
4363 1.1 mrg Likewise.
4364 1.1 mrg (operator>=(const _Deque_iterator<>&, const _Deque_iterator<>&)):
4365 1.1 mrg Likewise.
4366 1.1 mrg (_Deque_iterator<>::operator+(difference_type)): Likewise and allow NRVO
4367 1.1 mrg copy elision.
4368 1.1 mrg (_Deque_iterator<>::operator-(difference_type)): Likewise.
4369 1.1 mrg
4370 1.1 mrg 2019-05-08 Franois Dumont <fdumont (a] gcc.gnu.org>
4371 1.1 mrg
4372 1.1 mrg PR libstdc++/90277
4373 1.1 mrg * testsuite/23_containers/unordered_multiset/insert/24061-multiset.cc
4374 1.1 mrg (test01): Reserve for number of insertions to avoid rehash during test.
4375 1.1 mrg * testsuite/23_containers/unordered_multimap/insert/24061-multimap.cc
4376 1.1 mrg (test01): Likewise.
4377 1.1 mrg * testsuite/23_containers/unordered_multimap/insert/24061-multimap.cc
4378 1.1 mrg (test01): Likewise.
4379 1.1 mrg (test02): Likewise.
4380 1.1 mrg (test03): Likewise.
4381 1.1 mrg
4382 1.1 mrg 2019-05-08 Jonathan Wakely <jwakely (a] redhat.com>
4383 1.1 mrg
4384 1.1 mrg * include/experimental/bits/fs_path.h: Improve docs.
4385 1.1 mrg * include/experimental/bits/net.h: Fix wrong header name in comment.
4386 1.1 mrg Do not document implementation details.
4387 1.1 mrg * include/experimental/netfwd: Fix doxygen grouping.
4388 1.1 mrg
4389 1.1 mrg 2019-05-07 Jonathan Wakely <jwakely (a] redhat.com>
4390 1.1 mrg
4391 1.1 mrg * include/bits/stl_pair.h: Improve docs.
4392 1.1 mrg * include/std/tuple: Likewise.
4393 1.1 mrg
4394 1.1 mrg * doc/doxygen/doxygroups.cc (std::literals): Add documentation for
4395 1.1 mrg inline namespace.
4396 1.1 mrg * include/std/chrono: Improve docs.
4397 1.1 mrg * include/std/ratio: Do not document implementation details.
4398 1.1 mrg * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust dg-error
4399 1.1 mrg line numbers.
4400 1.1 mrg * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
4401 1.1 mrg
4402 1.1 mrg PR libstdc++/89102
4403 1.1 mrg * doc/xml/manual/intro.xml: Document DR 2408 and 2465 changes.
4404 1.1 mrg * include/std/chrono (__duration_common_type_wrapper): Replace with ...
4405 1.1 mrg (__duration_common_type): New helper.
4406 1.1 mrg (common_type<chrono::duration<R1, P2>, chrono::duration<R2, P2>>): Use
4407 1.1 mrg __duration_common_type.
4408 1.1 mrg (__timepoint_common_type_wrapper): Replace with ...
4409 1.1 mrg (__timepoint_common_type): New helper.
4410 1.1 mrg (common_type<chrono::time_point<C, D2>, chrono::time_point<C, D2>>):
4411 1.1 mrg Use __time_point_common_type.
4412 1.1 mrg * include/std/type_traits (common_type<>): Define, as per LWG 2408.
4413 1.1 mrg (__common_type_impl): If either argument is transformed by decay,
4414 1.1 mrg use the common_type of the decayed types.
4415 1.1 mrg (__common_type_impl<_Tp, _Up, _Tp, _Up>): If the types are already
4416 1.1 mrg decayed, use __do_common_type_impl to get the common_type.
4417 1.1 mrg (common_type<_Tp>): Use common_type<_Tp, _Tp>.
4418 1.1 mrg (__do_member_type_wrapper, __member_type_wrapper)
4419 1.1 mrg (__expanded_common_type_wrapper): Remove.
4420 1.1 mrg (__common_type_pack, __common_type_fold): New helpers.
4421 1.1 mrg (common_type<_Tp, _Up, _Vp...>): Use new helpers instead of
4422 1.1 mrg __member_type_wrapper and __expanded_common_type_wrapper.
4423 1.1 mrg * testsuite/20_util/common_type/requirements/explicit_instantiation.cc:
4424 1.1 mrg Test zero-length template argument list.
4425 1.1 mrg * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
4426 1.1 mrg Test single argument cases and argument types that should decay.
4427 1.1 mrg * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
4428 1.1 mrg Adjust expected error.
4429 1.1 mrg * testsuite/20_util/duration/literals/range_neg.cc: Use zero for
4430 1.1 mrg dg-error lineno.
4431 1.1 mrg * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
4432 1.1 mrg * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
4433 1.1 mrg * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
4434 1.1 mrg
4435 1.1 mrg * doc/xml/manual/intro.xml: Fix DR 2537 and DR 2566 confusion.
4436 1.1 mrg
4437 1.1 mrg 2019-05-01 Nina Dinka Ranns <dinka.ranns (a] gmail.com>
4438 1.1 mrg
4439 1.1 mrg Make allocator propagation more consistent for
4440 1.1 mrg operator+(basic_string) (P1165R1)
4441 1.1 mrg * include/bits/basic_string.h
4442 1.1 mrg (operator+(basic_string&&, basic_string&&): Changed resulting
4443 1.1 mrg allocator to always be the one from the first parameter.
4444 1.1 mrg * include/bits/basic_string.tcc
4445 1.1 mrg (operator+(const _CharT*, const basic_string&)): Changed
4446 1.1 mrg resulting allocator to be SOCCC on the second parameter's allocator.
4447 1.1 mrg (operator+(_CharT, const basic_string&)): Likewise.
4448 1.1 mrg * testsuite/21_strings/basic_string/allocator/char/operator_plus.cc:
4449 1.1 mrg New.
4450 1.1 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/operator_plus.cc:
4451 1.1 mrg New.
4452 1.1 mrg
4453 1.1 mrg 2019-05-07 Jonathan Wakely <jwakely (a] redhat.com>
4454 1.1 mrg
4455 1.1 mrg * include/bits/regex.h: Improve docs.
4456 1.1 mrg * include/bits/regex.tcc: Do not document implementation details.
4457 1.1 mrg
4458 1.1 mrg * testsuite/19_diagnostics/error_code/hash.cc: New test.
4459 1.1 mrg
4460 1.1 mrg 2019-05-06 Franois Dumont <fdumont (a] gcc.gnu.org>
4461 1.1 mrg
4462 1.1 mrg * python/libstdcxx/v6/printers.py (add_one_template_type_printer):
4463 1.1 mrg Add type printer for container types in std::__debug namespace.
4464 1.1 mrg * testsuite/lib/gdb-test.exp (whatis-regexp-test): New.
4465 1.1 mrg (gdb-tests): Use distinct parameters for the type of test and use of
4466 1.1 mrg regex.
4467 1.1 mrg (gdb-test): Check for regex test even if 'whatis' test.
4468 1.1 mrg * testsuite/libstdc++-prettyprinters/80276.cc: Adapt for _GLIBCXX_DEBUG
4469 1.1 mrg mode.
4470 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
4471 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
4472 1.1 mrg * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
4473 1.1 mrg * testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
4474 1.1 mrg * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
4475 1.1 mrg * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
4476 1.1 mrg * testsuite/libstdc++-prettyprinters/whatis2.cc: Likewise.
4477 1.1 mrg
4478 1.1 mrg 2019-05-04 Jonathan Wakely <jwakely (a] redhat.com>
4479 1.1 mrg
4480 1.1 mrg * include/std/system_error (error_category): Fix comment.
4481 1.1 mrg
4482 1.1 mrg PR libstdc++/90299
4483 1.1 mrg * src/c++17/fs_ops.cc (absolute(const path&)): Report an error if the
4484 1.1 mrg argument is an empty path.
4485 1.1 mrg (absolute(const path&, error_code&)): Use invalid_argument as error
4486 1.1 mrg code instead of no_such_file_or_directory.
4487 1.1 mrg * testsuite/27_io/filesystem/operations/absolute.cc: Check handling
4488 1.1 mrg of non-existent paths and empty paths with both overloads of absolute.
4489 1.1 mrg
4490 1.1 mrg * include/std/system_error (error_category, error_code)
4491 1.1 mrg (error_condition): Improve docs.
4492 1.1 mrg * libsupc++/exception: Add missing @addtogroup Doxygen command.
4493 1.1 mrg * libsupc++/exception_ptr.h (exception_ptr): Link equality operators
4494 1.1 mrg to class documentation. Suppress documentation for implementation
4495 1.1 mrg details.
4496 1.1 mrg * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
4497 1.1 mrg Suppress documentation for implementation details.
4498 1.1 mrg
4499 1.1 mrg * include/std/system_error (error_code): Remove friend declaration
4500 1.1 mrg for hash<error_code>.
4501 1.1 mrg (hash<error_code>::operator()): Use public member functions to access
4502 1.1 mrg value and category.
4503 1.1 mrg (hash<error_condition>::operator()): Use address of category, not
4504 1.1 mrg its object representation.
4505 1.1 mrg * src/c++11/compatibility-c++0x.cc (hash<error_code>::operator()):
4506 1.1 mrg Use public member functions to access value and category.
4507 1.1 mrg * testsuite/19_diagnostics/error_condition/hash.cc: New test.
4508 1.1 mrg
4509 1.1 mrg 2019-05-04 Franois Dumont <fdumont (a] gcc.gnu.org>
4510 1.1 mrg
4511 1.1 mrg * include/bits/hashtable.h (_Hashtable<>::rehash): Review comment.
4512 1.1 mrg * include/bits/hashtable_policy.h
4513 1.1 mrg (_Prime_rehash_policy::_M_bkt_for_elements): Use __builtin_ceill.
4514 1.1 mrg (_Power2_rehash_policy::_M_bkt_for_elements): Likewise.
4515 1.1 mrg (_Power2_rehash_policy::_M_next_bkt): Enforce returning a result not
4516 1.1 mrg smaller than input value rather than always greater. Preserve
4517 1.1 mrg _M_next_resize if called with 0 input. Use __builtin_floorl.
4518 1.1 mrg (_Power2_rehash_policy::_M_need_rehash): Rehash only if number of
4519 1.1 mrg elements + number of insertions is greater than _M_next_resize. Start
4520 1.1 mrg with 11 buckets if not told otherwise. Use __builtin_floorl.
4521 1.1 mrg (_Rehash_base<>::reserve): Use rehash policy _M_bkt_for_elements.
4522 1.1 mrg * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
4523 1.1 mrg Preserve _M_next_resize if called with 0 input. Use __builtin_floorl.
4524 1.1 mrg (_Prime_rehash_policy::_M_need_rehash): Start with 11 buckets if not
4525 1.1 mrg told otherwise. Use __builtin_floorl.
4526 1.1 mrg * testsuite/23_containers/unordered_set/hash_policy/71181.cc: Adapt test
4527 1.1 mrg to also validate _Power2_rehash_policy.
4528 1.1 mrg * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
4529 1.1 mrg Adapt.
4530 1.1 mrg
4531 1.1 mrg 2019-05-03 Jonathan Wakely <jwakely (a] redhat.com>
4532 1.1 mrg
4533 1.1 mrg PR libstdc++/61761
4534 1.1 mrg * testsuite/26_numerics/complex/proj.cc: Don't assume <cmath> defines
4535 1.1 mrg std::copysign.
4536 1.1 mrg
4537 1.1 mrg PR libstdc++/52119
4538 1.1 mrg * include/ext/numeric_traits.h (__glibcxx_min): Avoid integer
4539 1.1 mrg overflow warning with -Wpedantic -Wsystem-headers.
4540 1.1 mrg
4541 1.1 mrg 2019-05-02 Jonathan Wakely <jwakely (a] redhat.com>
4542 1.1 mrg
4543 1.1 mrg PR libstdc++/90314
4544 1.1 mrg * include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Use variadic macro.
4545 1.1 mrg * include/bits/move.h (swap): Remove extra parentheses.
4546 1.1 mrg
4547 1.1 mrg * include/experimental/bits/lfts_config.h: Improve doc markup.
4548 1.1 mrg * include/experimental/optional: Improve docs.
4549 1.1 mrg (_Has_addressof_mem, _Has_addressof_free, _Has_addressof)
4550 1.1 mrg (__constexpr_addressof): Remove.
4551 1.1 mrg (optional::operator->()): Use std::__addressof().
4552 1.1 mrg * include/std/optional (optional::operator->()): Adjust whitespace.
4553 1.1 mrg * testsuite/experimental/optional/constexpr/observers/2.cc: Check
4554 1.1 mrg that operator-> is still constexpr with overloaded operator&. Change
4555 1.1 mrg to compile-only test.
4556 1.1 mrg * testsuite/experimental/optional/constexpr/observers/3.cc: Change to
4557 1.1 mrg compile-only test.
4558 1.1 mrg
4559 1.1 mrg * include/bits/shared_ptr.h: Improve docs.
4560 1.1 mrg * include/bits/shared_ptr_atomic.h: Likewise.
4561 1.1 mrg * include/bits/unique_ptr.h: Likewise. Adjust whitespace.
4562 1.1 mrg
4563 1.1 mrg * include/bits/basic_string.h: Fix iterator/index confusion in
4564 1.1 mrg Doxygen comments.
4565 1.1 mrg * include/bits/range_access.h: Fix Doxygen warnings.
4566 1.1 mrg * include/bits/refwrap.h: Do not document implementation details.
4567 1.1 mrg (ref, cref): Group docs with reference_wrapper.
4568 1.1 mrg * include/std/fstream: Fix Doxygen markup.
4569 1.1 mrg * libsupc++/initializer_list (begin, end): Group docs with
4570 1.1 mrg initializer_list.
4571 1.1 mrg
4572 1.1 mrg * doc/doxygen/user.cfg.in: Set MARKDOWN_SUPPORT=YES.
4573 1.1 mrg
4574 1.1 mrg * include/bits/unique_lock.h: Fix/improve doxygen markup.
4575 1.1 mrg * include/std/mutex: Likewise.
4576 1.1 mrg * include/std/shared_mutex: Likewise.
4577 1.1 mrg
4578 1.1 mrg * include/bits/fs_dir.h: Fix/improve doxygen markup.
4579 1.1 mrg * include/bits/fs_fwd.h: Likewise.
4580 1.1 mrg * include/bits/fs_ops.h: Likewise.
4581 1.1 mrg * include/bits/fs_path.h: Likewise.
4582 1.1 mrg * include/std/filesystem: Likewise.
4583 1.1 mrg
4584 1.1 mrg * include/experimental/bits/net.h: Fix/improve doxygen markup.
4585 1.1 mrg * include/experimental/buffer: Likewise.
4586 1.1 mrg * include/experimental/executor: Likewise.
4587 1.1 mrg * include/experimental/internet: Likewise.
4588 1.1 mrg * include/experimental/io_context: Likewise.
4589 1.1 mrg * include/experimental/net: Likewise.
4590 1.1 mrg * include/experimental/netfwd: Likewise.
4591 1.1 mrg * include/experimental/socket: Likewise.
4592 1.1 mrg * include/experimental/timer: Likewise.
4593 1.1 mrg
4594 1.1 mrg * doc/doxygen/doxygroups.cc: Move description of experimental group
4595 1.1 mrg here.
4596 1.1 mrg * include/experimental/algorithm: Add to libfund-ts doc group.
4597 1.1 mrg * include/experimental/any: Likewise. Do not document implementation
4598 1.1 mrg details.
4599 1.1 mrg * include/experimental/array: Add to libfund-ts doc group.
4600 1.1 mrg * include/experimental/bits/lfts_config.h: Define libfund-ts doc group
4601 1.1 mrg for Library Fundamentals.
4602 1.1 mrg * include/experimental/chrono: Add to libfund-ts doc group.
4603 1.1 mrg * include/experimental/deque: Likewise.
4604 1.1 mrg * include/experimental/forward_list: Likewise.
4605 1.1 mrg * include/experimental/functional: Likewise.
4606 1.1 mrg * include/experimental/iterator: Likewise.
4607 1.1 mrg * include/experimental/list: Likewise.
4608 1.1 mrg * include/experimental/map: Likewise.
4609 1.1 mrg * include/experimental/memory: Likewise.
4610 1.1 mrg * include/experimental/memory_resource: Likewise. Improve docs.
4611 1.1 mrg details.
4612 1.1 mrg * include/experimental/numeric: Add to libfund-ts doc group.
4613 1.1 mrg * include/experimental/optional: Likewise.
4614 1.1 mrg * include/experimental/propagate_const: Likewise.
4615 1.1 mrg * include/experimental/random: Likewise.
4616 1.1 mrg * include/experimental/ratio: Likewise.
4617 1.1 mrg * include/experimental/regex: Likewise.
4618 1.1 mrg * include/experimental/set: Likewise.
4619 1.1 mrg * include/experimental/source_location: Likewise.
4620 1.1 mrg * include/experimental/string: Likewise.
4621 1.1 mrg * include/experimental/string_view: Likewise.
4622 1.1 mrg * include/experimental/system_error: Likewise.
4623 1.1 mrg * include/experimental/tuple: Likewise.
4624 1.1 mrg * include/experimental/type_traits: Likewise.
4625 1.1 mrg * include/experimental/unordered_map: Likewise.
4626 1.1 mrg * include/experimental/unordered_set: Likewise.
4627 1.1 mrg * include/experimental/utility: Likewise.
4628 1.1 mrg * include/experimental/vector: Likewise.
4629 1.1 mrg * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
4630 1.1 mrg * testsuite/experimental/array/neg.cc: Adjust dg-error.
4631 1.1 mrg * testsuite/experimental/propagate_const/assignment/move_neg.cc:
4632 1.1 mrg Likewise.
4633 1.1 mrg * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
4634 1.1 mrg * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
4635 1.1 mrg * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
4636 1.1 mrg * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4637 1.1 mrg * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4638 1.1 mrg
4639 1.1 mrg * include/experimental/bits/fs_dir.h: Fix Doxygen markup.
4640 1.1 mrg * include/experimental/bits/fs_fwd.h: Improve docs.
4641 1.1 mrg * include/experimental/bits/fs_ops.h: fix Doxygen markup.
4642 1.1 mrg * include/experimental/bits/fs_path.h: Likewise.
4643 1.1 mrg (path, filesystem_error, u8path): Improve docs.
4644 1.1 mrg * include/experimental/filesystem: Link to docs for TS.
4645 1.1 mrg
4646 1.1 mrg * config/allocator/new_allocator_base.h (__allocator_base): Add
4647 1.1 mrg workaround for Doxygen bug #6945.
4648 1.1 mrg * include/std/memory: Improve docs. Define group for pointer safety.
4649 1.1 mrg * include/std/scoped_allocator: Improve docs. Use "undocumented"
4650 1.1 mrg conditional to suppress documentation for implementation details.
4651 1.1 mrg
4652 1.1 mrg * include/bits/specfun.h: Improve docs.
4653 1.1 mrg * include/tr1/cmath: Likewise. Fix nesting of preprocessor conditions
4654 1.1 mrg and namespaces.
4655 1.1 mrg
4656 1.1 mrg * doc/doxygen/doxygroups.cc (std::tr2, std::__gnu_cxx): Improve docs.
4657 1.1 mrg (std::experimental): Add docs.
4658 1.1 mrg * doc/doxygen/user.cfg.in (PREDEFINED): Expand macros for __cxx11
4659 1.1 mrg namespace to nothing when generating docs.
4660 1.1 mrg * include/bits/regex_constants.h (std::regex_constants): Improve docs.
4661 1.1 mrg * include/std/chrono (std::chrono): Likewise.
4662 1.1 mrg * include/std/functional (std::placeholders): Likewise.
4663 1.1 mrg * include/std/thread (std::this_thread): Likewise.
4664 1.1 mrg
4665 1.1 mrg * include/parallel/settings.h: Fix Doxygen markup.
4666 1.1 mrg
4667 1.1 mrg * include/ext/pb_ds/detail/bin_search_tree_/*_imps.hpp: Do not define
4668 1.1 mrg anything unless PB_DS_CLASS_C_DEC is defined.
4669 1.1 mrg * include/ext/pb_ds/detail/binary_heap_/*_imps.hpp: Likewise.
4670 1.1 mrg * include/ext/pb_ds/detail/binomial_heap_/*_imps.hpp: Likewise.
4671 1.1 mrg * include/ext/pb_ds/detail/binomial_heap_base_/*_imps.hpp: Likewise.
4672 1.1 mrg * include/ext/pb_ds/detail/cc_hash_table_map_/*_imps.hpp: Likewise.
4673 1.1 mrg * include/ext/pb_ds/detail/gp_hash_table_map_/*_imps.hpp: Likewise.
4674 1.1 mrg * include/ext/pb_ds/detail/hash_fn/*_imp.hpp: Likewise.
4675 1.1 mrg * include/ext/pb_ds/detail/left_child_next_sibling_heap_/*_imps.hpp:
4676 1.1 mrg Likewise.
4677 1.1 mrg * include/ext/pb_ds/detail/list_update_map_/*_imps.hpp: Likewise.
4678 1.1 mrg * include/ext/pb_ds/detail/ov_tree_map_/*_imps.hpp: Likewise.
4679 1.1 mrg * include/ext/pb_ds/detail/pairing_heap_/*_imps.hpp: Likewise.
4680 1.1 mrg * include/ext/pb_ds/detail/pat_trie_/*_imps.hpp: Likewise.
4681 1.1 mrg * include/ext/pb_ds/detail/rb_tree_map_/*_imps.hpp: Likewise.
4682 1.1 mrg * include/ext/pb_ds/detail/rc_binomial_heap_/*_imps.hpp: Likewise.
4683 1.1 mrg * include/ext/pb_ds/detail/resize_policy*_imp.hpp: Likewise.
4684 1.1 mrg * include/ext/pb_ds/detail/splay_tree_/*_imps.hpp: Likewise.
4685 1.1 mrg * include/ext/pb_ds/detail/thin_heap_/*_imps.hpp: Likewise.
4686 1.1 mrg * include/ext/pb_ds/detail/trie_policy*_imp.hpp: Likewise.
4687 1.1 mrg * include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp:
4688 1.1 mrg Likewise.
4689 1.1 mrg * include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Likewise.
4690 1.1 mrg * include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp:
4691 1.1 mrg Likewise.
4692 1.1 mrg * include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp:
4693 1.1 mrg Likewise.
4694 1.1 mrg
4695 1.1 mrg * doc/doxygen/user.cfg.in: Regenerate with Doxygen 1.8.14 and set
4696 1.1 mrg GROUP_NESTED_COMPOUNDS=YES and SORT_BY_SCOPE_NAME=NO. Add various
4697 1.1 mrg _GLIBCXX_xxx macros and __attribute__(X) to PREDEFINED macros that
4698 1.1 mrg Doxygen expands.
4699 1.1 mrg
4700 1.1 mrg 2019-05-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
4701 1.1 mrg
4702 1.1 mrg * config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate.
4703 1.1 mrg * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise.
4704 1.1 mrg * config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise.
4705 1.1 mrg * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise.
4706 1.1 mrg * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise.
4707 1.1 mrg * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
4708 1.1 mrg Likewise.
4709 1.1 mrg * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise.
4710 1.1 mrg * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
4711 1.1 mrg Likewise.
4712 1.1 mrg
4713 1.1 mrg 2019-05-01 Jonathan Wakely <jwakely (a] redhat.com>
4714 1.1 mrg
4715 1.1 mrg PR libstdc++/61761
4716 1.1 mrg * include/std/complex (__complex_proj): Return parameter unchanged.
4717 1.1 mrg [_GLIBCXX_USE_C99_COMPLEX] (__complex_proj): Change overloads for
4718 1.1 mrg floating-point types to take std::complex arguments.
4719 1.1 mrg [_GLIBCXX_USE_C99_MATH_TR1] (__complex_proj): Add overloads for
4720 1.1 mrg floating-point types.
4721 1.1 mrg * testsuite/26_numerics/complex/proj.cc: New test.
4722 1.1 mrg
4723 1.1 mrg 2019-04-30 Jakub Jelinek <jakub (a] redhat.com>
4724 1.1 mrg
4725 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Change _Lock_policyE2 exports
4726 1.1 mrg to _Lock_policyE[012].
4727 1.1 mrg * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
4728 1.1 mrg
4729 1.1 mrg 2019-04-30 Jonathan Wakely <jwakely (a] redhat.com>
4730 1.1 mrg
4731 1.1 mrg * testsuite/27_io/filesystem/path/decompose/root_path.cc: Remove
4732 1.1 mrg macros accidentally left in.
4733 1.1 mrg * testsuite/27_io/filesystem/path/native/string-char8_t.cc: Remove
4734 1.1 mrg unnecessary -lstdc++fs option. Fix test for mingw.
4735 1.1 mrg * testsuite/experimental/filesystem/path/native/string-char8_t.cc:
4736 1.1 mrg Fix test for mingw.
4737 1.1 mrg
4738 1.1 mrg 2019-04-30 Jakub Jelinek <jakub (a] redhat.com>
4739 1.1 mrg
4740 1.1 mrg * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
4741 1.1 mrg
4742 1.1 mrg 2019-04-29 Jonathan Wakely <jwakely (a] redhat.com>
4743 1.1 mrg
4744 1.1 mrg * include/bits/stl_algo.h (generate_n): Adjust doxygen comment.
4745 1.1 mrg
4746 1.1 mrg * include/bits/move.h (swap(T&, T&), swap(T (&)[N], T (&)[N])): Use
4747 1.1 mrg _GLIBCXX_NOEXCEPT_IF to simplify declarations.
4748 1.1 mrg
4749 1.1 mrg PR libstdc++/71312
4750 1.1 mrg * src/c++11/shared_ptr.cc (get_mutex): Align pool mutexes to 64 bytes.
4751 1.1 mrg
4752 1.1 mrg * include/bits/stl_bvector.h (vector<bool>::empty()): Add nodiscard
4753 1.1 mrg attribute.
4754 1.1 mrg
4755 1.1 mrg * include/bits/stl_iterator_base_types.h (_Iter_base): Remove unused
4756 1.1 mrg class template and partial specialization.
4757 1.1 mrg
4758 1.1 mrg PR libstdc++/87982
4759 1.1 mrg * include/bits/stl_algo.h (generate_n): Convert _Size parameter to
4760 1.1 mrg an integral type.
4761 1.1 mrg * include/bits/stl_algobase.h (__size_to_integer): New overloaded
4762 1.1 mrg functions to convert a value to an integral type.
4763 1.1 mrg (__fill_n_a, __fill_n_a): Assert that __n is already an integral type.
4764 1.1 mrg (fill_n): Convert _Size parameter to an integral type.
4765 1.1 mrg * testsuite/25_algorithms/fill_n/87982.cc: New test.
4766 1.1 mrg * testsuite/25_algorithms/fill_n/87982_neg.cc: New test.
4767 1.1 mrg * testsuite/25_algorithms/fill_n/dr426.cc: New test.
4768 1.1 mrg * testsuite/25_algorithms/generate_n/87982.cc: New test.
4769 1.1 mrg * testsuite/25_algorithms/generate_n/87982_neg.cc: New test.
4770 1.1 mrg * testsuite/25_algorithms/generate_n/dr426.cc: New test.
4771 1.1 mrg
4772 1.1 mrg 2019-04-28 Nina Dinka Ranns <dinka.ranns (a] gmail.com>
4773 1.1 mrg
4774 1.1 mrg Adding noexcept-specification on tuple constructors (LWG 2899)
4775 1.1 mrg * libstdc++-v3/include/std/tuple:
4776 1.1 mrg (tuple()): Add noexcept-specification.
4777 1.1 mrg (tuple(const _Elements&...)): Likewise
4778 1.1 mrg (tuple(_UElements&&...)): Likewise
4779 1.1 mrg (tuple(const tuple<_UElements...>&)): Likewise
4780 1.1 mrg (tuple(tuple<_UElements...>&&)): Likewise
4781 1.1 mrg (tuple(const _T1&, const _T2&)): Likewise
4782 1.1 mrg (tuple(_U1&&, _U2&&)): Likewise
4783 1.1 mrg (tuple(const tuple<_U1, _U2>&): Likewise
4784 1.1 mrg (tuple(tuple<_U1, _U2>&&): Likewise
4785 1.1 mrg (tuple(const pair<_U1, _U2>&): Likewise
4786 1.1 mrg (tuple(pair<_U1, _U2>&&): Likewise
4787 1.1 mrg * libstdc++-v3/testsuite/20_util/tuple/cons/noexcept_specs.cc: New
4788 1.1 mrg
4789 1.1 mrg 2019-04-27 Marc Glisse <marc.glisse (a] inria.fr>
4790 1.1 mrg
4791 1.1 mrg PR libstdc++/87106
4792 1.1 mrg * include/bits/stl_uninitialized.h (__relocate_object_a): Mark the
4793 1.1 mrg arguments with __restrict.
4794 1.1 mrg
4795 1.1 mrg 2019-04-26 H.J. Lu <hongjiu.lu (a] intel.com>
4796 1.1 mrg
4797 1.1 mrg * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
4798 1.1 mrg
4799 1.1 mrg 2019-04-26 Jonathan Wakely <jwakely (a] redhat.com>
4800 1.1 mrg
4801 1.1 mrg * include/experimental/bits/fs_path.h
4802 1.1 mrg (path::_S_convert_loc<_InputIterator>): Create const std::string to
4803 1.1 mrg avoid redundant call to _S_convert_loc with non-const pointers.
4804 1.1 mrg
4805 1.1 mrg * testsuite/20_util/variant/run.cc: Use a new Hashable type to test
4806 1.1 mrg hashing, because pmr::string depends on _GLIBCXX_USE_CXX11_ABI==1.
4807 1.1 mrg * testsuite/21_strings/basic_string/hash/hash.cc
4808 1.1 mrg [!_GLIBCXX_USE_CXX11_ABI]: Don't test pmr strings.
4809 1.1 mrg * testsuite/21_strings/basic_string/hash/hash_char8_t.cc
4810 1.1 mrg [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
4811 1.1 mrg
4812 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace wildcard that matches
4813 1.1 mrg wstring::_M_replace_dispatch with more specific patterns.
4814 1.1 mrg * include/bits/fs_path.h (path::_S_convert_loc<_InputIterator>):
4815 1.1 mrg Create const std::string to avoid redundant call to _S_convert_loc
4816 1.1 mrg with non-const pointers.
4817 1.1 mrg * include/bits/locale_conv.h (__do_str_codecvt): Use if-constexpr to
4818 1.1 mrg avoid unnecessary basic_string::assign instantiations.
4819 1.1 mrg
4820 1.1 mrg * include/std/memory (__uses_alloc_args): Add string-literal to
4821 1.1 mrg static_assert, to match the one in __uses_alloc.
4822 1.1 mrg [__cpp_concepts] (_Std_pair): Use C++2a syntax for concept.
4823 1.1 mrg * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: Check
4824 1.1 mrg for recursive uses-allocator construction of nested pairs.
4825 1.1 mrg * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:: Add
4826 1.1 mrg comment.
4827 1.1 mrg
4828 1.1 mrg 2019-04-26 Jakub Jelinek <jakub (a] redhat.com>
4829 1.1 mrg
4830 1.1 mrg * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
4831 1.1 mrg * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
4832 1.1 mrg * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
4833 1.1 mrg * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
4834 1.1 mrg
4835 1.1 mrg * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
4836 1.1 mrg * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
4837 1.1 mrg * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
4838 1.1 mrg * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
4839 1.1 mrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
4840 1.1 mrg * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
4841 1.1 mrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
4842 1.1 mrg
4843 1.1 mrg 2019-04-25 Jonathan Wakely <jwakely (a] redhat.com>
4844 1.1 mrg
4845 1.1 mrg PR libstdc++/90239
4846 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Amend P0591R4 status.
4847 1.1 mrg * include/std/scoped_allocator [__cplusplus > 201703L]
4848 1.1 mrg (scoped_allocator_adaptor::construct): Define in terms of
4849 1.1 mrg uses_allocator_construction_args, as per P0591R4.
4850 1.1 mrg * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc: New test.
4851 1.1 mrg * testsuite/util/testsuite_allocator.h: Remove name of unused
4852 1.1 mrg parameter.
4853 1.1 mrg
4854 1.1 mrg 2019-04-24 Jonathan Wakely <jwakely (a] redhat.com>
4855 1.1 mrg
4856 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Document P0024R2 status.
4857 1.1 mrg * doc/html/*: Regenerate.
4858 1.1 mrg
4859 1.1 mrg * include/bits/fs_path.h (operator<, operator<=, operator>)
4860 1.1 mrg (operator>=, operator==, operator!=): Make hidden friends, as per
4861 1.1 mrg LWG 3065.
4862 1.1 mrg * testsuite/27_io/filesystem/path/native/string-char8_t.cc: Fix
4863 1.1 mrg string type in test.
4864 1.1 mrg * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
4865 1.1 mrg
4866 1.1 mrg * include/std/any (any::any(ValueType&&)): Use __and_v.
4867 1.1 mrg * include/std/numeric (midpoint(T, T, T), midpoint(T*, T*, T*)):
4868 1.1 mrg Likewise.
4869 1.1 mrg
4870 1.1 mrg * include/std/tuple (apply): Use remove_reference_t instead of decay_t
4871 1.1 mrg as per P0777R1.
4872 1.1 mrg * include/std/type_traits (__result_of_memfun): Use remove_reference
4873 1.1 mrg instead of __remove_cvref_t and remove redundant is_same check.
4874 1.1 mrg (__inv_unwrap): Use __remove_cvref_t instead of decay_t.
4875 1.1 mrg
4876 1.1 mrg * include/experimental/string_view (basic_string_view::pointer)
4877 1.1 mrg (basic_string_view::reference): Fix to refer to non-const value_type.
4878 1.1 mrg * include/bits/basic_string.h (basic_string): Use __sv_check and
4879 1.1 mrg __sv_limit instead of basic_string_view::_M_check and
4880 1.1 mrg basic_string_view::_M_limit.
4881 1.1 mrg * include/std/string_view (__sv_check, __sv_limit): New
4882 1.1 mrg helper functions to replace basic_string_view::_M_check and
4883 1.1 mrg basic_string_view::_M_limit.
4884 1.1 mrg (basic_string_view): Add static assertions to enforce ill-formed
4885 1.1 mrg requirement for traits_type::char_type from P1148R0, and to enforce
4886 1.1 mrg required properties of char-like types.
4887 1.1 mrg (basic_string_view::pointer, basic_string_view::reference): Fix to
4888 1.1 mrg refer to non-const value_type.
4889 1.1 mrg (basic_string_view::operator[], basic_string_view::at)
4890 1.1 mrg (basic_string_view::front, basic_string_view::back)
4891 1.1 mrg (basic_string_view::data): Use const_reference and const_pointer
4892 1.1 mrg typedefs for return types.
4893 1.1 mrg (basic_string_view::_M_check, basic_string_view::_M_limit): Remove.
4894 1.1 mrg (hash<wstring_view>): Fix argument_type typedef.
4895 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
4896 1.1 mrg char/1.cc: Fix expected return type of basic_string_view::data().
4897 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
4898 1.1 mrg wchar_t/1.cc: Likewise.
4899 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
4900 1.1 mrg char/1.cc: Likewise.
4901 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
4902 1.1 mrg wchar_t/1.cc: Likewise.
4903 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/traits_neg.cc:
4904 1.1 mrg New test.
4905 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
4906 1.1 mrg Check reference and pointer typedefs.
4907 1.1 mrg * testsuite/experimental/string_view/requirements/typedefs.cc:
4908 1.1 mrg Likewise.
4909 1.1 mrg * testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc:
4910 1.1 mrg Fix expected return type of basic_string_view::data().
4911 1.1 mrg * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
4912 1.1 mrg 1.cc: Likewise.
4913 1.1 mrg * testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc:
4914 1.1 mrg Likewise.
4915 1.1 mrg * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
4916 1.1 mrg 1.cc: Likewise.
4917 1.1 mrg
4918 1.1 mrg PR libstdc++/90220
4919 1.1 mrg * include/std/any (__any_caster): Use remove_cv_t instead of decay_t.
4920 1.1 mrg Avoid a runtime check for types that can never be stored in std::any.
4921 1.1 mrg * testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
4922 1.1 mrg array types.
4923 1.1 mrg
4924 1.1 mrg PR libstdc++/90220 (partial)
4925 1.1 mrg * include/std/any (any_cast<T>(any*), any_cast<T>(const any*)): Do
4926 1.1 mrg not attempt ill-formed static_cast to pointers to non-object types.
4927 1.1 mrg * testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
4928 1.1 mrg function types.
4929 1.1 mrg
4930 1.1 mrg * testsuite/20_util/variant/run.cc: Catch exception by reference to
4931 1.1 mrg prevent -Wcatch-value warning.
4932 1.1 mrg
4933 1.1 mrg * include/std/variant (__variant_construct): Use template parameter
4934 1.1 mrg type instead of equivalent decltype-specifier.
4935 1.1 mrg (_Move_ctor_base<false, Types...>::_Move_ctor_base(_Move_ctor_base&&)):
4936 1.1 mrg Replace forward with move.
4937 1.1 mrg (_Move_ctor_base<false, Types...>::_M_destructive_move)
4938 1.1 mrg (_Move_ctor_base<false, Types...>::_M_destructive_copy)
4939 1.1 mrg (_Move_ctor_base<true, Types...>::_M_destructive_move)
4940 1.1 mrg (_Move_ctor_base<true, Types...>::_M_destructive_copy): Only set the
4941 1.1 mrg index after construction succeeds.
4942 1.1 mrg (_Copy_assign_base<false, Types...>::operator=): Remove redundant
4943 1.1 mrg if-constexpr checks that are always true. Use __remove_cvref_t instead
4944 1.1 mrg of remove_reference so that is_nothrow_move_constructible check
4945 1.1 mrg doesn't use a const rvalue parameter. In the potentially-throwing case
4946 1.1 mrg construct a temporary and move assign it, as per LWG 2904.
4947 1.1 mrg (_Move_assign_base<false, Types...>::operator=): Remove redundant
4948 1.1 mrg if-constexpr checks that are always true. Use emplace as per LWG 2904.
4949 1.1 mrg (variant::operator=(T&&)): Only use emplace conditionally, otherwise
4950 1.1 mrg construct a temporary and move assign from it, as per LWG 2904.
4951 1.1 mrg * testsuite/20_util/variant/exception_safety.cc: Check that
4952 1.1 mrg assignment operators have strong exception safety guarantee.
4953 1.1 mrg
4954 1.1 mrg 2019-04-23 Thomas Rodgers <trodgers (a] redhat.com>
4955 1.1 mrg
4956 1.1 mrg Document PSTL linker flags
4957 1.1 mrg
4958 1.1 mrg * doc/xml/manual/using.xml: Add PSTL linker flags to table 3.1.
4959 1.1 mrg
4960 1.1 mrg 2019-04-23 Jonathan Wakely <jwakely (a] redhat.com>
4961 1.1 mrg
4962 1.1 mrg * include/std/variant (__detail::__variant::_Traits): Make
4963 1.1 mrg _S_trivial_copy_assign depend on _S_trivial_copy_ctor and make
4964 1.1 mrg _S_trivial_move_assign depend on _S_trivial_move_ctor, as per
4965 1.1 mrg P0602R4.
4966 1.1 mrg (__detail::__variant::_Copy_assign_alias): Only depend on
4967 1.1 mrg _S_trivial_copy_assign, which subsumes _S_trivial_copy_ctor now.
4968 1.1 mrg * testsuite/20_util/variant/compile.cc: Correct checks for trivial
4969 1.1 mrg move assignment operators.
4970 1.1 mrg
4971 1.1 mrg PR libstdc++/90165
4972 1.1 mrg * include/std/variant (variant::__not_self): New helper for the
4973 1.1 mrg is_same_v<remove_cvref_t<T>, variant>==false constraints.
4974 1.1 mrg (variant::__to_type_impl): Remove.
4975 1.1 mrg (variant::__to_type): Add default argument to check pack size, instead
4976 1.1 mrg of using __to_type_impl.
4977 1.1 mrg (variant::__accepted_type): Add default argument using __not_self.
4978 1.1 mrg (variant::__is_in_place_tag, variant::__not_in_place_tag): New helpers
4979 1.1 mrg for variant(T&&) constructor constraint.
4980 1.1 mrg (variant::variant(T&&)): Use __not_in_place_tag in constraints.
4981 1.1 mrg Extract __accepted_type into a named template parameter for reuse in
4982 1.1 mrg other constraints and in the exception specification.
4983 1.1 mrg (variant::variant(in_place_type_t<T>, Args&&...))
4984 1.1 mrg (variant::variant(in_place_type_t<T>, initializer_list<U>, Args&&...))
4985 1.1 mrg (variant::variant(in_place_index_t<T>, Args&&...))
4986 1.1 mrg (variant::variant(in_place_index_t<T>, initializer_list<U>, Args&&...))
4987 1.1 mrg (variant::operator=T&&)): Remove redundant && from trait arguments.
4988 1.1 mrg * testsuite/20_util/variant/compile.cc: Check variant(T&&) constructor
4989 1.1 mrg isn't used for in_place_type or in_place_index arguments.
4990 1.1 mrg
4991 1.1 mrg * include/std/type_traits (unwrap_reference_t): Define for C++2a.
4992 1.1 mrg (unwrap_ref_decay): Remove inheritance from unwrap_reference.
4993 1.1 mrg * testsuite/20_util/unwrap_reference/1.cc: Adjust test to use alias.
4994 1.1 mrg
4995 1.1 mrg 2019-04-23 Ramana Radhakrishnan <ramana.radhakrishnan (a] arm.com>
4996 1.1 mrg Bernd Edlinger <bernd.edlinger (a] hotmail.de>
4997 1.1 mrg Jakub Jelinek <jakub (a] redhat.com>
4998 1.1 mrg
4999 1.1 mrg PR target/89093
5000 1.1 mrg * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Add
5001 1.1 mrg general-regs-only target attribute for ARM.
5002 1.1 mrg
5003 1.1 mrg 2019-04-23 Jonathan Wakely <jwakely (a] redhat.com>
5004 1.1 mrg
5005 1.1 mrg PR libstdc++/87431
5006 1.1 mrg * include/bits/basic_string.h (_Never_valueless_alt): Make partial
5007 1.1 mrg specialization also depend on is_nothrow_move_constructible.
5008 1.1 mrg * include/std/variant (__detail::__variant::__never_valueless()):
5009 1.1 mrg Only true if the variant would have a move assignment operator.
5010 1.1 mrg (__detail::__variant::_Variant_storage<false, T...>::_M_valid()):
5011 1.1 mrg Check __never_valueless<T...>().
5012 1.1 mrg (variant::emplace): Only perform non-throwing move assignments
5013 1.1 mrg for never-valueless alternatives if the variant has a move assignment
5014 1.1 mrg operator.
5015 1.1 mrg * testsuite/20_util/variant/compile.cc: Check that never-valueless
5016 1.1 mrg types can be emplaced into non-assignable variants.
5017 1.1 mrg * testsuite/20_util/variant/run.cc: Check that never-valueless types
5018 1.1 mrg don't get copied when emplaced into non-assignable variants.
5019 1.1 mrg
5020 1.1 mrg * include/std/variant (__detail::__variant::__ref_cast): Remove
5021 1.1 mrg unused function.
5022 1.1 mrg (__detail::__variant::_Uninitialized::_M_get)
5023 1.1 mrg (__detail::__variant::__get)
5024 1.1 mrg (__gen_vtable_impl::__element_by_index_or_cookie): Add noexcept.
5025 1.1 mrg
5026 1.1 mrg 2019-04-21 Iain Sandoe <iain (a] sandoe.co.uk>
5027 1.1 mrg
5028 1.1 mrg * testsuite/17_intro/headers/c++1998/charset.cc: Skip for Darwin8
5029 1.1 mrg to Darwin10.
5030 1.1 mrg * testsuite/17_intro/headers/c++2011/charset.cc: Likewise.
5031 1.1 mrg * testsuite/17_intro/headers/c++2014/charset.cc: Likewise.
5032 1.1 mrg * testsuite/17_intro/headers/c++2017/charset.cc: Likewise.
5033 1.1 mrg * testsuite/17_intro/headers/c++2020/charset.cc: Likewise.
5034 1.1 mrg
5035 1.1 mrg 2019-04-20 Thomas Rodgers <trodgers (a] redhat.com>
5036 1.1 mrg
5037 1.1 mrg Delegate PSTL configuration to pstl/pstl_config.h
5038 1.1 mrg
5039 1.1 mrg * include/bits/c++config: Remove explicit PSTL configuration
5040 1.1 mrg macros and use definitions from <pstl/pstl_config.h>.
5041 1.1 mrg
5042 1.1 mrg 2019-04-20 Thomas Rodgers <trodgers (a] redhat.com>
5043 1.1 mrg
5044 1.1 mrg Cleanup algorithm implementations
5045 1.1 mrg * include/pstl/glue_algorithm_impl.h (stable_sort): Forward
5046 1.1 mrg execution policy.
5047 1.1 mrg (mismatch): Forward execution policy.
5048 1.1 mrg (equal): Qualify call to std::equal().
5049 1.1 mrg (partial_sort): Forward execution policy.
5050 1.1 mrg (inplace_merge): Forward execution policy.
5051 1.1 mrg
5052 1.1 mrg 2019-04-19 Thomas Rodgers <trodgers (a] redhat.com>
5053 1.1 mrg
5054 1.1 mrg Improve implementation of parallel equal()
5055 1.1 mrg * include/pstl/algorithm_impl.h
5056 1.1 mrg (__internal::__brick_equal): use "4 iterator" version of
5057 1.1 mrg std::equal().
5058 1.1 mrg (__internal::__brick_equal): use simd for random access
5059 1.1 mrg iterators on unsequenced execution policies.
5060 1.1 mrg (__internal::__pattern_equal): add "4 iterator" version
5061 1.1 mrg (__internal::__pattern_equal): dispatch to simd __brick_equal
5062 1.1 mrg for vector-only execution policies.
5063 1.1 mrg (__internal::__pattern_equal): dispatch to __parallel_or for
5064 1.1 mrg parallel execution policies.
5065 1.1 mrg * include/pstl/glue_algorithm_impl.h
5066 1.1 mrg (std::equal): dispatch to "4 iterator" version of
5067 1.1 mrg __internal::__pattern_equal().
5068 1.1 mrg
5069 1.1 mrg 2019-04-17 Jonathan Wakely <jwakely (a] redhat.com>
5070 1.1 mrg
5071 1.1 mrg PR libstdc++/90105
5072 1.1 mrg * include/bits/forward_list.h (operator==): Do not use operator!= to
5073 1.1 mrg compare elements.
5074 1.1 mrg (forward_list<T, A>::sort(Comp)): When elements are equal take the one
5075 1.1 mrg earlier in the list, so that sort is stable.
5076 1.1 mrg * testsuite/23_containers/forward_list/operations/90105.cc: New test.
5077 1.1 mrg * testsuite/23_containers/forward_list/comparable.cc: Test with
5078 1.1 mrg types that meet the minimum EqualityComparable and LessThanComparable
5079 1.1 mrg requirements. Remove irrelevant comment.
5080 1.1 mrg
5081 1.1 mrg * include/std/variant (__detail::__variant::_Traits::_S_copy_assign):
5082 1.1 mrg Do not depend on whether all alternative types are move constructible.
5083 1.1 mrg (__detail::__variant::_Copy_assign_base::operator=): Remove cv-quals
5084 1.1 mrg from the operand when deciding whether to perform the assignment.
5085 1.1 mrg * testsuite/20_util/variant/compile.cc (DeletedMoves): Define type
5086 1.1 mrg with deleted move constructor and deleted move assignment operator.
5087 1.1 mrg (default_ctor, copy_ctor, move_ctor, copy_assign, move_assign): Check
5088 1.1 mrg behaviour of variants with DeletedMoves as an alternative.
5089 1.1 mrg * testsuite/20_util/variant/run.cc (DeletedMoves): Define same type.
5090 1.1 mrg (move_ctor, move_assign): Check that moving a variant with a
5091 1.1 mrg DeletedMoves alternative falls back to copying instead of moving.
5092 1.1 mrg
5093 1.1 mrg * testsuite/20_util/variant/compile.cc: Remove empty string literals
5094 1.1 mrg from static_assert declarations.
5095 1.1 mrg
5096 1.1 mrg * testsuite/20_util/variant/compile.cc (MoveCtorOnly): Fix type to
5097 1.1 mrg actually match its name.
5098 1.1 mrg (MoveCtorAndSwapOnly): Define new type that adds swap to MoveCtorOnly.
5099 1.1 mrg (test_swap()): Fix result for MoveCtorOnly and check
5100 1.1 mrg MoveCtorAndSwapOnly.
5101 1.1 mrg
5102 1.1 mrg * include/std/optional (optional::value_or(U&&) &&): Add missing
5103 1.1 mrg constexpr specifier.
5104 1.1 mrg * testsuite/20_util/optional/constexpr/observers/4.cc: Check value_or
5105 1.1 mrg for disengaged optionals and rvalue optionals.
5106 1.1 mrg * testsuite/20_util/optional/observers/4.cc: Likewise.
5107 1.1 mrg
5108 1.1 mrg 2019-04-12 Thomas Rodgers <trodgers (a] redhat.com>
5109 1.1 mrg
5110 1.1 mrg * include/pstl/algorithm_impl.h: Uglify identfiers.
5111 1.1 mrg * include/pstl/numeric_impl.h: Uglify identfiers.
5112 1.1 mrg * include/pstl/parallel_backend_tbb.h: Uglify identfiers.
5113 1.1 mrg
5114 1.1 mrg 2019-04-11 Thomas Rodgers <trodgers (a] redhat.com>
5115 1.1 mrg
5116 1.1 mrg * include/bits/c++config:
5117 1.1 mrg Add definition for __PSTL_ASSERT.
5118 1.1 mrg Add definition for __PSTL_ASSERT_MSG.
5119 1.1 mrg * include/pstl/algorithm_impl.h: Replace use of assert().
5120 1.1 mrg * include/pstl/numeric_impl.h: Replace use of assert().
5121 1.1 mrg * include/pstl/parallel_backend_tbb.h:
5122 1.1 mrg Replace use of assert().
5123 1.1 mrg Replace use of __TBB_ASSERT().
5124 1.1 mrg * include/pstl/parallel_backend_utils.h: Replace use of assert().
5125 1.1 mrg
5126 1.1 mrg 2019-04-11 Jonathan Wakely <jwakely (a] redhat.com>
5127 1.1 mrg
5128 1.1 mrg PR libstdc++/90046
5129 1.1 mrg * src/c++17/memory_resource.cc
5130 1.1 mrg (monotonic_buffer_resource::_Chunk::allocate): Increase alignment if
5131 1.1 mrg needed to allow placing a _Chunk at the end of the buffer.
5132 1.1 mrg (monotonic_buffer_resource::_M_new_buffer): Remove static_assert.
5133 1.1 mrg
5134 1.1 mrg 2019-04-10 Jonathan Wakely <jwakely (a] redhat.com>
5135 1.1 mrg
5136 1.1 mrg * doc/xml/faq.xml: Add information about emergency EH pool.
5137 1.1 mrg * doc/xml/manual/debug.xml: Update list of memory debugging tools.
5138 1.1 mrg Move outdated information on mt_allocator to a separate section.
5139 1.1 mrg * doc/xml/manual/evolution.xml: Clarify that GLIBCXX_FORCE_NEW
5140 1.1 mrg doesn't affect the default allocator.
5141 1.1 mrg
5142 1.1 mrg * testsuite/lib/libstdc++.exp (check_v3_target_parallel_mode): Fix
5143 1.1 mrg typo.
5144 1.1 mrg
5145 1.1 mrg PR libstdc++/89851
5146 1.1 mrg * testsuite/20_util/variant/89851.cc: New test.
5147 1.1 mrg
5148 1.1 mrg 2019-04-09 Jonathan Wakely <jwakely (a] redhat.com>
5149 1.1 mrg
5150 1.1 mrg * include/std/variant: Adjust whitespace. Add comments.
5151 1.1 mrg (_Multi_array): Leave primary template undefined.
5152 1.1 mrg (_Multi_array<_Tp>): Define partial specialization for base case of
5153 1.1 mrg recursion.
5154 1.1 mrg (__gen_vtable_impl, __gen_vtable): Remove redundant && from type
5155 1.1 mrg which is always a reference.
5156 1.1 mrg (__gen_vtable::_S_apply()): Remove function, inline body into
5157 1.1 mrg default member initializer.
5158 1.1 mrg * testsuite/20_util/variant/visit.cc: Test with noncopyable types.
5159 1.1 mrg
5160 1.1 mrg * include/std/variant (__variant_idx_cookie): Add member type.
5161 1.1 mrg (__visitor_result_type): Remove.
5162 1.1 mrg (__do_visit): Use invoke_result instead of __visitor_result_type.
5163 1.1 mrg * testsuite/20_util/variant/visit.cc: New test.
5164 1.1 mrg
5165 1.1 mrg PR libstdc++/90008
5166 1.1 mrg * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Remove
5167 1.1 mrg unused capture.
5168 1.1 mrg * testsuite/20_util/variant/90008.cc: New test.
5169 1.1 mrg
5170 1.1 mrg 2019-04-09 Thomas Rodgers <trodgers (a] redhat.com>
5171 1.1 mrg
5172 1.1 mrg * include/pstl/algorithm_impl.h: Add namespace qualification.
5173 1.1 mrg * include/pstl/execution_defs.h: Add namespace qualification.
5174 1.1 mrg * include/pstl/execution_impl.h: Add namespace qualification.
5175 1.1 mrg * include/pstl/numeric_impl.h: Add namespace qualification.
5176 1.1 mrg * include/pstl/parallel_backend_tbb.h: Add namespace qualification.
5177 1.1 mrg * include/pstl/unseq_backend_simd.h: Add namespace qualification.
5178 1.1 mrg * include/pstl/parallel_backend_utils.h: Include <cassert>.
5179 1.1 mrg
5180 1.1 mrg 2019-04-08 Ville Voutilainen <ville.voutilainen (a] gmail.com>
5181 1.1 mrg
5182 1.1 mrg Fix visit<R> for variant.
5183 1.1 mrg * include/std/variant (__do_visit): Add a template parameter
5184 1.1 mrg for enforcing same return types for visit.
5185 1.1 mrg (__gen_vtable_impl): Likewise.
5186 1.1 mrg (_S_apply_single_alt): Adjust.
5187 1.1 mrg (__visit_invoke_impl): New. Handle casting to void.
5188 1.1 mrg (__do_visit_invoke): New. Enforces same return types.
5189 1.1 mrg (__do_visit_invoke_r): New. Converts return types.
5190 1.1 mrg (__visit_invoke): Adjust.
5191 1.1 mrg (__gen_vtable): Add a template parameter for enforcing
5192 1.1 mrg same return types for visit.
5193 1.1 mrg * testsuite/20_util/variant/visit_r.cc: Add a test for a visitor with
5194 1.1 mrg different return types.
5195 1.1 mrg * testsuite/20_util/variant/visit_neg.cc: New. Ensures that
5196 1.1 mrg visitors with different return types don't accidentally
5197 1.1 mrg compile with regular visitation.
5198 1.1 mrg
5199 1.1 mrg 2019-04-08 Christophe Lyon <christophe.lyon (a] linaro.org>
5200 1.1 mrg
5201 1.1 mrg * testsuite/27_io/filesystem/iterators/caching.cc: Add
5202 1.1 mrg dg-require-filesystem-ts.
5203 1.1 mrg
5204 1.1 mrg 2019-04-05 Jonathan Wakely <jwakely (a] redhat.com>
5205 1.1 mrg
5206 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update status.
5207 1.1 mrg * include/std/variant (visit<R>): Define for C++2a (P0655R1).
5208 1.1 mrg * testsuite/20_util/variant/visit_r.cc: New test.
5209 1.1 mrg
5210 1.1 mrg * include/bits/fs_dir.h (directory_iterator::operator*)
5211 1.1 mrg (directory_iterator::operator->): Add noexcept.
5212 1.1 mrg (operator==, operator!=): Replace namespace-scope equality operators
5213 1.1 mrg for directory iterators with hidden friends.
5214 1.1 mrg
5215 1.1 mrg PR libstdc++/89986
5216 1.1 mrg * config/abi/pre/gnu.ver: Add missing exports.
5217 1.1 mrg * testsuite/27_io/filesystem/iterators/directory_iterator.cc: Test
5218 1.1 mrg increment member.
5219 1.1 mrg
5220 1.1 mrg * config/abi/pre/gnu.ver: Export new symbols.
5221 1.1 mrg * include/bits/fs_dir.h (recursive_directory_iterator::options())
5222 1.1 mrg (recursive_directory_iterator::recursion_pending())
5223 1.1 mrg (recursive_directory_iterator::disable_recursion_pending()): Remove
5224 1.1 mrg inline definitions. Make noexcept.
5225 1.1 mrg (recursive_directory_iterator::depth())
5226 1.1 mrg (recursive_directory_iterator::operator*())
5227 1.1 mrg (recursive_directory_iterator::operator->()): Make noexcept.
5228 1.1 mrg (recursive_directory_iterator::_M_options)
5229 1.1 mrg (recursive_directory_iterator::_M_pending): Remove data members.
5230 1.1 mrg * src/c++17/fs_path.cc (_Dir_stack): Add constructor and data members.
5231 1.1 mrg (recursive_directory_iterator::recursive_directory_iterator): Remove
5232 1.1 mrg ctor-initializer. Use new constructor for _Dir_stack.
5233 1.1 mrg (recursive_directory_iterator::options())
5234 1.1 mrg (recursive_directory_iterator::recursion_pending())
5235 1.1 mrg (recursive_directory_iterator::disable_recursion_pending()): Add
5236 1.1 mrg non-inline definitions.
5237 1.1 mrg (recursive_directory_iterator::depth()): Make noexcept.
5238 1.1 mrg (recursive_directory_iterator::increment(error_code&))
5239 1.1 mrg (recursive_directory_iterator::pop(error_code&)): Adjust to new
5240 1.1 mrg location of options and recursion_pending members.
5241 1.1 mrg * testsuite/27_io/filesystem/iterators/recursion_pending.cc: New test.
5242 1.1 mrg * testsuite/util/testsuite_fs.h (__gnu_test::scoped_file): Add
5243 1.1 mrg user-declared move constructor and assignment operator, to make the
5244 1.1 mrg type move-only.
5245 1.1 mrg
5246 1.1 mrg * src/c++17/fs_dir.cc (_Dir::advance(bool, error_code&)): Handle
5247 1.1 mrg d_type == DT_UNKNOWN immediately.
5248 1.1 mrg (_Dir::should_recurse(bool, error_code&)): Remove file_type::unknown
5249 1.1 mrg handling here.
5250 1.1 mrg * testsuite/27_io/filesystem/iterators/caching.cc: New test.
5251 1.1 mrg
5252 1.1 mrg * include/bits/fs_path.h (path::operator=(path&&)): Check for self
5253 1.1 mrg assignment.
5254 1.1 mrg * src/c++17/fs_path.cc (path::operator=(const path&)): Likewise.
5255 1.1 mrg * testsuite/27_io/filesystem/path/assign/copy.cc: Test self
5256 1.1 mrg assignment.
5257 1.1 mrg
5258 1.1 mrg PR libstdc++/87431 (again)
5259 1.1 mrg * include/bits/basic_string.h (__variant::_Never_valueless_alt):
5260 1.1 mrg Define partial specialization for basic_string.
5261 1.1 mrg * include/bits/shared_ptr.h (_Never_valueless_alt): Likewise for
5262 1.1 mrg shared_ptr and weak_ptr.
5263 1.1 mrg * include/bits/std_function.h (_Never_valueless_alt): Likewise for
5264 1.1 mrg function.
5265 1.1 mrg * include/bits/stl_vector.h (_Never_valueless_alt): Likewise for
5266 1.1 mrg vector.
5267 1.1 mrg * include/bits/unique_ptr.h (_Never_valueless_alt): Likewise for
5268 1.1 mrg unique_ptr.
5269 1.1 mrg * include/debug/vector (_Never_valueless_alt): Likewise for debug
5270 1.1 mrg vector.
5271 1.1 mrg * include/std/any (_Never_valueless_alt): Define explicit
5272 1.1 mrg specialization for any.
5273 1.1 mrg * include/std/variant (_Never_valueless_alt): Define primary template.
5274 1.1 mrg (__never_valueless): Use _Never_valueless_alt instead of
5275 1.1 mrg is_trivially_copyable.
5276 1.1 mrg (variant::emplace<N>(Args&&...)): Add special case for non-throwing
5277 1.1 mrg initializations to avoid try-catch overhead. Add special case for
5278 1.1 mrg scalars produced by potentially-throwing conversions. Use
5279 1.1 mrg _Never_valueless_alt instead of is_trivially_copyable for the
5280 1.1 mrg remaining strong exception-safety cases.
5281 1.1 mrg (variant::emplace<N>(initializer_list<U>, Args&&...)): Likewise.
5282 1.1 mrg * testsuite/20_util/variant/87431.cc: Run both test functions.
5283 1.1 mrg * testsuite/20_util/variant/exception_safety.cc: New test.
5284 1.1 mrg * testsuite/20_util/variant/run.cc: Use pmr::string instead of string,
5285 1.1 mrg so the variant becomes valueless.
5286 1.1 mrg
5287 1.1 mrg 2019-04-03 Jonathan Wakely <jwakely (a] redhat.com>
5288 1.1 mrg
5289 1.1 mrg PR libstdc++/85184
5290 1.1 mrg * include/std/variant (_Copy_assign_base, _Move_assign_base, variant):
5291 1.1 mrg Remove assertions.
5292 1.1 mrg (variant::emplace<_Tp>): Return result of emplace<N> directly.
5293 1.1 mrg
5294 1.1 mrg * include/std/string (__hash_string_base): New class template defining
5295 1.1 mrg operator() for hashing strings.
5296 1.1 mrg (hash<pmr::string>, hash<pmr::u8string>, hash<pmr::u16string>)
5297 1.1 mrg (hash<pmr::u32string>, hash<pmr::wstring>): Define for C++17.
5298 1.1 mrg * testsuite/21_strings/basic_string/hash/hash.cc: New test.
5299 1.1 mrg * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: New test.
5300 1.1 mrg
5301 1.1 mrg 2019-04-01 Ville Voutilainen <ville.voutilainen (a] gmail.com>
5302 1.1 mrg
5303 1.1 mrg Use single-visitation in variant assignment and swap and relops.
5304 1.1 mrg Also use indices instead of types when checking whether
5305 1.1 mrg variants hold the same thing.
5306 1.1 mrg * include/std/variant (__do_visit): Add a template parameter
5307 1.1 mrg for index visitation, invoke with indices if index visitation
5308 1.1 mrg is used.
5309 1.1 mrg (__variant_idx_cookie): New.
5310 1.1 mrg (__visit_with_index): Likewise.
5311 1.1 mrg (_Copy_assign_base::operator=): Do single-visitation with
5312 1.1 mrg an index visitor.
5313 1.1 mrg (_Move_assign_base::operator=): Likewise.
5314 1.1 mrg (_Extra_visit_slot_needed): Adjust.
5315 1.1 mrg (__visit_invoke): Call with indices if it's an index visitor.
5316 1.1 mrg (relops): Do single-visitation with an index visitor.
5317 1.1 mrg (swap): Likewise.
5318 1.1 mrg (__visitor_result_type): New.
5319 1.1 mrg
5320 1.1 mrg 2019-03-30 Eric Botcazou <ebotcazou (a] adacore.com>
5321 1.1 mrg
5322 1.1 mrg * src/c++17/fs_ops.cc (fs::permissions): Use std::errc::not_supported.
5323 1.1 mrg
5324 1.1 mrg 2019-03-28 Ville Voutilainen <ville.voutilainen (a] gmail.com>
5325 1.1 mrg
5326 1.1 mrg Don't revisit a variant we are already visiting.
5327 1.1 mrg * include/std/variant (__variant_construct_single): New.
5328 1.1 mrg (__variant_construct): Use it.
5329 1.1 mrg (_M_destructive_move): Likewise.
5330 1.1 mrg (_M_destructive_copy): Likewise.
5331 1.1 mrg (_Copy_assign_base::operator=): Adjust.
5332 1.1 mrg (_Move_assign_base::operator=): Likewise.
5333 1.1 mrg (swap): Likewise.
5334 1.1 mrg
5335 1.1 mrg 2019-03-26 Jonathan Wakely <jwakely (a] redhat.com>
5336 1.1 mrg
5337 1.1 mrg PR libstdc++/85965
5338 1.1 mrg * include/bits/hashtable.h (_Hashtable): Move static assertions to
5339 1.1 mrg destructor so they are not evaluated until the _Key type is complete.
5340 1.1 mrg * include/bits/stl_tree.h (_Rb_tree): Likewise.
5341 1.1 mrg * testsuite/23_containers/set/85965.cc: New test.
5342 1.1 mrg * testsuite/23_containers/unordered_set/85965.cc: New test.
5343 1.1 mrg * testsuite/23_containers/map/48101_neg.cc: Replace "here" errors
5344 1.1 mrg with regexp matching the corresponding _Rb_tree specialization.
5345 1.1 mrg * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
5346 1.1 mrg * testsuite/23_containers/multiset/48101_neg.cc: Remove "here" error.
5347 1.1 mrg * testsuite/23_containers/set/48101_neg.cc: Likewise.
5348 1.1 mrg * testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
5349 1.1 mrg * testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
5350 1.1 mrg * testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
5351 1.1 mrg * testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
5352 1.1 mrg
5353 1.1 mrg 2019-03-26 Ville Voutilainen <ville.voutilainen (a] gmail.com>
5354 1.1 mrg
5355 1.1 mrg PR libstdc++/89825
5356 1.1 mrg Fix based on a suggestion by Antony Polukhin.
5357 1.1 mrg * include/std/variant (__never_valueless): New.
5358 1.1 mrg (_M_valid): Use it.
5359 1.1 mrg (_Extra_visit_slot_needed): New.
5360 1.1 mrg (_Multi_array): Use it.
5361 1.1 mrg (_S_apply_all_alts): Likewise.
5362 1.1 mrg
5363 1.1 mrg 2019-03-26 Ville Voutilainen <ville.voutilainen (a] gmail.com>
5364 1.1 mrg
5365 1.1 mrg PR libstdc++/89824
5366 1.1 mrg Fix based on a suggestion by Antony Polukhin.
5367 1.1 mrg * include/std/variant (__gen_vtable): Don't reserve an
5368 1.1 mrg additional table slot, _Multi_array already does that.
5369 1.1 mrg
5370 1.1 mrg 2019-03-26 Ville Voutilainen <ville.voutilainen (a] gmail.com>
5371 1.1 mrg
5372 1.1 mrg PR libstdc++/89816
5373 1.1 mrg Fix based on a suggestion by Antony Polukhin.
5374 1.1 mrg * include/std/variant (__variant_construct): Capture a pointer
5375 1.1 mrg to the storage and visit just one variant.
5376 1.1 mrg
5377 1.1 mrg 2019-03-22 Jonathan Wakely <jwakely (a] redhat.com>
5378 1.1 mrg
5379 1.1 mrg * doc/xml/manual/backwards_compatibility.xml: Remove link to
5380 1.1 mrg Doxygen-generated pages with unstable URL.
5381 1.1 mrg * doc/xml/manual/concurrency_extensions.xml: Likewise.
5382 1.1 mrg * doc/xml/manual/extensions.xml: Likewise.
5383 1.1 mrg * doc/xml/manual/parallel_mode.xml: Likewise.
5384 1.1 mrg * doc/xml/manual/support.xml: Likewise.
5385 1.1 mrg
5386 1.1 mrg * include/bits/stl_algobase.h (__lg): Do arithmetic on type int to
5387 1.1 mrg avoid -Wconversion warnings.
5388 1.1 mrg
5389 1.1 mrg 2019-03-21 Thomas Rodgers <trodgers (a] redhat.com>
5390 1.1 mrg
5391 1.1 mrg * include/Makefile.am (std_header): Add ${std_srcdir}/execution.
5392 1.1 mrg (pstl_srcdir, pstl_builddir, pstl_headers): New variables.
5393 1.1 mrg (allstamped): Add stamp-pstl.
5394 1.1 mrg (install-headers): Add ptsl_builddir.
5395 1.1 mrg * include/Makefile.in: Regenerate.
5396 1.1 mrg * include/bits/c++config: Add pstl configuration.
5397 1.1 mrg * include/pstl/LICENSE.txt: New file.
5398 1.1 mrg * include/pstl/algorithm_fwd.h: New file.
5399 1.1 mrg * include/pstl/algorithm_impl.h: New file.
5400 1.1 mrg * include/pstl/execution_defs.h: New file.
5401 1.1 mrg * include/pstl/execution_impl.h: New file.
5402 1.1 mrg * include/pstl/glue_algorithm_defs.h: New file.
5403 1.1 mrg * include/pstl/glue_algorithm_impl.h: New file.
5404 1.1 mrg * include/pstl/glue_execution_defs.h: New file.
5405 1.1 mrg * include/pstl/glue_memory_defs.h: New file.
5406 1.1 mrg * include/pstl/glue_memory_impl.h: New file.
5407 1.1 mrg * include/pstl/glue_numeric_defs.h: New file.
5408 1.1 mrg * include/pstl/glue_numeric_impl.h: New file.
5409 1.1 mrg * include/pstl/memory_impl.h: New file.
5410 1.1 mrg * include/pstl/numeric_fwd.h: New file.
5411 1.1 mrg * include/pstl/numeric_impl.h: New file.
5412 1.1 mrg * include/pstl/parallel_backend.h: New file.
5413 1.1 mrg * include/pstl/parallel_backend_tbb.h: New file.
5414 1.1 mrg * include/pstl/parallel_backend_utils.h: New file.
5415 1.1 mrg * include/pstl/parallel_impl.h: New file.
5416 1.1 mrg * include/pstl/pstl_config.h: New file.
5417 1.1 mrg * include/pstl/unseq_backend_simd.h: New file.
5418 1.1 mrg * include/pstl/utils.h: New file.
5419 1.1 mrg * include/std/algorithm: Include parallel algorithm implementations.
5420 1.1 mrg * include/std/execution: New file.
5421 1.1 mrg * include/std/memory: Include parallel algorithm implementations.
5422 1.1 mrg * include/std/numeric: Include parallel algorithm implementations.
5423 1.1 mrg * include/std/version: Add parallel algorithms feature test macro.
5424 1.1 mrg * testsuite/util/pstl/pstl_test_config.h: New file.
5425 1.1 mrg * testsuite/util/pstl/test_utils.h: New file.
5426 1.1 mrg * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: New file.
5427 1.1 mrg * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: New file.
5428 1.1 mrg * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: New file.
5429 1.1 mrg * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: New file.
5430 1.1 mrg * testsuite/25_algorithms/pstl/alg_merge/merge.cc: New file.
5431 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: New file.
5432 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: New file.
5433 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: New file.
5434 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: New file.
5435 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: New file.
5436 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: New file.
5437 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: New file.
5438 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: New file.
5439 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: New file.
5440 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: New file.
5441 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: New file.
5442 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: New file.
5443 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: New file.
5444 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: New file.
5445 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: New file.
5446 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: New file.
5447 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: New file.
5448 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: New file.
5449 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: New file.
5450 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: New file.
5451 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: New file.
5452 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: New file.
5453 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: New file.
5454 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: New file.
5455 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: New file.
5456 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: New file.
5457 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: New file.
5458 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: New file.
5459 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: New file.
5460 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: New file.
5461 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: New file.
5462 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: New file.
5463 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: New file.
5464 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: New file.
5465 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/includes.cc: New file.
5466 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: New file.
5467 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: New file.
5468 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: New file.
5469 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: New file.
5470 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: New file.
5471 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: New file.
5472 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/set.cc: New file.
5473 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/sort.cc: New file.
5474 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: New file.
5475 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: New file.
5476 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/scan.cc: New file.
5477 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: New file.
5478 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: New file.
5479 1.1 mrg * testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: New file.
5480 1.1 mrg * testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: New file.
5481 1.1 mrg * testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: New file.
5482 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: New file.
5483 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_merge/merge.cc: New file.
5484 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: New file.
5485 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: New file.
5486 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: New file.
5487 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: New file.
5488 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: New file.
5489 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: New file.
5490 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: New file.
5491 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: New file.
5492 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: New file.
5493 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: New file.
5494 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: New file.
5495 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: New file.
5496 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: New file.
5497 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: New file.
5498 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: New file.
5499 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: New file.
5500 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: New file.
5501 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: New file.
5502 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: New file.
5503 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: New file.
5504 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: New file.
5505 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: New file.
5506 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: New file.
5507 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: New file.
5508 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: New file.
5509 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: New file.
5510 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: New file.
5511 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: New file.
5512 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: New file.
5513 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: New file.
5514 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: New file.
5515 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: New file.
5516 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: New file.
5517 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: New file.
5518 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_sorting/includes.cc: New file.
5519 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: New file.
5520 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: New file.
5521 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: New file.
5522 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: New file.
5523 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: New file.
5524 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: New file.
5525 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_sorting/set.cc: New file.
5526 1.1 mrg * testsuite/testsuite/25_algorithms/pstl/alg_sorting/sort.cc: New file.
5527 1.1 mrg * testsuite/testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: New file.
5528 1.1 mrg * testsuite/testsuite/26_numerics/pstl/numeric_ops/reduce.cc: New file.
5529 1.1 mrg * testsuite/testsuite/26_numerics/pstl/numeric_ops/scan.cc: New file.
5530 1.1 mrg * testsuite/testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: New file.
5531 1.1 mrg * testsuite/testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: New file.
5532 1.1 mrg
5533 1.1 mrg 2019-03-21 Jonathan Wakely <jwakely (a] redhat.com>
5534 1.1 mrg
5535 1.1 mrg * include/c_compatibility/math.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]
5536 1.1 mrg (assoc_laguerre, assoc_laguerref, assoc_laguerrel, assoc_legendre)
5537 1.1 mrg (assoc_legendref, assoc_legendrel, beta, betaf, betal, comp_ellint_1)
5538 1.1 mrg (comp_ellint_1f, comp_ellint_1l, comp_ellint_2, comp_ellint_2f)
5539 1.1 mrg (comp_ellint_2l, comp_ellint_3, comp_ellint_3f, comp_ellint_3l)
5540 1.1 mrg (cyl_bessel_i, cyl_bessel_if, cyl_bessel_il, cyl_bessel_j)
5541 1.1 mrg (cyl_bessel_jf, cyl_bessel_jl, cyl_bessel_k, cyl_bessel_kf)
5542 1.1 mrg (cyl_bessel_kl, cyl_neumann, cyl_neumannf, cyl_neumannl, ellint_1)
5543 1.1 mrg (ellint_1f, ellint_1l, ellint_2, ellint_2f, ellint_2l, ellint_3)
5544 1.1 mrg (ellint_3f, ellint_3l, expint, expintf, expintl, hermite, hermitef)
5545 1.1 mrg (hermitel, laguerre, laguerref, laguerrel, legendre, legendref)
5546 1.1 mrg (legendrel, riemann_zeta, riemann_zetaf, riemann_zetal, sph_bessel)
5547 1.1 mrg (sph_besself, sph_bessell, sph_legendre, sph_legendref, sph_legendrel)
5548 1.1 mrg (sph_neumann, sph_neumannf, sph_neumannl): Only add using-declarations
5549 1.1 mrg when the special functions IS is enabled, not for C++17.
5550 1.1 mrg * testsuite/26_numerics/headers/cmath/functions_global_c++17.cc:
5551 1.1 mrg Replace with ...
5552 1.1 mrg * testsuite/26_numerics/headers/cmath/functions_global.cc: New test,
5553 1.1 mrg without checks for special functions in C++17.
5554 1.1 mrg * testsuite/26_numerics/headers/cmath/special_functions_global.cc:
5555 1.1 mrg New test.
5556 1.1 mrg
5557 1.1 mrg PR libstdc++/88066
5558 1.1 mrg * include/backward/hash_map: Use <> for includes not "".
5559 1.1 mrg * include/backward/hash_set: Likewise.
5560 1.1 mrg * include/backward/strstream: Likewise.
5561 1.1 mrg * include/tr1/bessel_function.tcc: Likewise.
5562 1.1 mrg * include/tr1/exp_integral.tcc: Likewise.
5563 1.1 mrg * include/tr1/legendre_function.tcc: Likewise.
5564 1.1 mrg * include/tr1/modified_bessel_func.tcc: Likewise.
5565 1.1 mrg * include/tr1/riemann_zeta.tcc: Likewise.
5566 1.1 mrg
5567 1.1 mrg 2019-03-19 Jonathan Wakely <jwakely (a] redhat.com>
5568 1.1 mrg
5569 1.1 mrg * doc/xml/manual/allocator.xml: Link to table documenting evolution
5570 1.1 mrg of extension allocators.
5571 1.1 mrg * doc/xml/manual/evolution.xml: Use angle brackets for header names.
5572 1.1 mrg Document new headers in 7.2, 8.1 and 9.1 releases.
5573 1.1 mrg * doc/xml/manual/using.xml: Adjust link target for new_allocator.
5574 1.1 mrg * doc/html/*: Regenerate.
5575 1.1 mrg
5576 1.1 mrg 2019-03-12 John David Anglin <dave.anglin (a] bell.net>
5577 1.1 mrg
5578 1.1 mrg PR libstdc++/89461
5579 1.1 mrg * testsuite/lib/libstdc++.exp: Locate libatomic.
5580 1.1 mrg * testsuite/lib/dg-options.exp (add_options_for_libatomic): New.
5581 1.1 mrg * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
5582 1.1 mrg libatomic options.
5583 1.1 mrg * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
5584 1.1 mrg * testsuite/experimental/net/timer/waitable/cons.cc: Likewise.
5585 1.1 mrg * testsuite/experimental/net/timer/waitable/dest.cc: Likewise.
5586 1.1 mrg * testsuite/experimental/net/timer/waitable/ops.cc: Likewise.
5587 1.1 mrg
5588 1.1 mrg 2019-03-11 Jonathan Wakely <jwakely (a] redhat.com>
5589 1.1 mrg
5590 1.1 mrg PR libstdc++/89460
5591 1.1 mrg * configure.ac: Check for sockatmark.
5592 1.1 mrg * crossconfig.m4: Check for sockatmark.
5593 1.1 mrg * config.h.in: Regenerate.
5594 1.1 mrg * configure: Regenerate.
5595 1.1 mrg * include/experimental/internet (address_v4::_S_hton): Rename
5596 1.1 mrg overloaded functions to _S_hton_16 and _S_ntoh_16.
5597 1.1 mrg (address_v4::_S_ntoh): Rename to _S_ntoh_16 and _S_ntoh_32.
5598 1.1 mrg (basic_endpoint): Adjust calls to _S_hton and _S_ntoh.
5599 1.1 mrg * include/experimental/socket (basic_socket::at_mark): Check
5600 1.1 mrg _GLIBCXX_HAVE_SOCKATMARK.
5601 1.1 mrg
5602 1.1 mrg * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Use
5603 1.1 mrg const variables instead of macros.
5604 1.1 mrg
5605 1.1 mrg PR libstdc++/89629
5606 1.1 mrg * libsupc++/hash_bytes.cc [__SIZEOF_SIZE_T__ == 8] (_Hash_bytes):
5607 1.1 mrg Use correct type for len_aligned.
5608 1.1 mrg * testsuite/20_util/hash/89629.cc: New test.
5609 1.1 mrg
5610 1.1 mrg 2019-03-11 Jakub Jelinek <jakub (a] redhat.com>
5611 1.1 mrg
5612 1.1 mrg PR libstdc++/89641
5613 1.1 mrg * include/std/atomic (atomic<T>::store, atomic<T>::load,
5614 1.1 mrg atomic<T>::exchange, atomic<T>::compare_exchange_weak,
5615 1.1 mrg atomic<T>::compare_exchange_strong): Cast __m or __s and __f to int.
5616 1.1 mrg * include/bits/atomic_base.h (__atomic_base<T>::operator++,
5617 1.1 mrg __atomic_base<T>::operator--, __atomic_base<T>::operator+=,
5618 1.1 mrg __atomic_base<T>::operator-=, __atomic_base<T>::operator&=,
5619 1.1 mrg __atomic_base<T>::operator|=, __atomic_base<T>::operator^=,
5620 1.1 mrg __atomic_base<T*>::operator++, __atomic_base<T*>::operator--,
5621 1.1 mrg __atomic_base<T*>::operator+=, __atomic_base<T*>::operator-=): Cast
5622 1.1 mrg memory_order_seq_cst to int.
5623 1.1 mrg
5624 1.1 mrg 2019-03-08 Jonathan Wakely <jwakely (a] redhat.com>
5625 1.1 mrg
5626 1.1 mrg * doc/xml/manual/using.xml: Use link element instead of xref.
5627 1.1 mrg * doc/html/*: Regenerate.
5628 1.1 mrg
5629 1.1 mrg * include/bits/fs_path.h (path::format): Add fixed underlying type.
5630 1.1 mrg
5631 1.1 mrg 2019-03-08 Franois Dumont <fdumont (a] gcc.gnu.org>
5632 1.1 mrg
5633 1.1 mrg PR libstdc++/89477
5634 1.1 mrg * include/debug/map.h (map): Use _RequireNotAllocator to constrain
5635 1.1 mrg parameters in deduction guides.
5636 1.1 mrg * include/debug/multimap.h (multimap): Likewise.
5637 1.1 mrg * include/debug/set.h (multimap): Likewise.
5638 1.1 mrg * include/debug/multiset.h (multimap): Likewise.
5639 1.1 mrg * include/debug/unordered_map (unordered_map): Likewise.
5640 1.1 mrg (unordered_multimap): Likewise.
5641 1.1 mrg * include/debug/unordered_set (unordered_set): Likewise.
5642 1.1 mrg (unordered_multiset): Likewise.
5643 1.1 mrg
5644 1.1 mrg PR libstdc++/89608
5645 1.1 mrg * include/debug/unordered_map (unordered_map<>::_M_check_rehashed):
5646 1.1 mrg Invalidate all iterators in case of rehash.
5647 1.1 mrg (unordered_multimap<>::_M_check_rehashed): Likewise.
5648 1.1 mrg * include/debug/unordered_set
5649 1.1 mrg (unordered_set<>::_M_check_rehashed): Likewise.
5650 1.1 mrg (unordered_multiset<>::_M_check_rehashed): Likewise.
5651 1.1 mrg * testsuite/23_containers/unordered_set/debug/89608_neg.cc: New.
5652 1.1 mrg
5653 1.1 mrg 2019-03-07 Andreas Schwab <schwab (a] suse.de>
5654 1.1 mrg
5655 1.1 mrg * config/abi/post/riscv64-linux-gnu: New directory.
5656 1.1 mrg * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: New file.
5657 1.1 mrg
5658 1.1 mrg 2019-03-07 Jonathan Wakely <jwakely (a] redhat.com>
5659 1.1 mrg
5660 1.1 mrg * testsuite/20_util/function_objects/bind_front/1.cc: Change from
5661 1.1 mrg compile test to run. Fix typo.
5662 1.1 mrg
5663 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update C++20 status.
5664 1.1 mrg * doc/html/*: Regenerate.
5665 1.1 mrg
5666 1.1 mrg P0356R5 Simplified partial function application
5667 1.1 mrg * include/std/functional [C++20] (_Bind_front, _Bind_front_t): Define
5668 1.1 mrg helpers for bind_front.
5669 1.1 mrg (bind_front, __cpp_lib_bind_front): Define.
5670 1.1 mrg * testsuite/20_util/function_objects/bind_front/1.cc: New test.
5671 1.1 mrg
5672 1.1 mrg 2019-03-06 Jonathan Wakely <jwakely (a] redhat.com>
5673 1.1 mrg
5674 1.1 mrg * include/std/type_traits (__cpp_lib_bounded_array_traits): Define.
5675 1.1 mrg * include/std/version (__cpp_lib_bounded_array_traits): Likewise.
5676 1.1 mrg * testsuite/20_util/is_bounded_array/value.cc: Check for macro.
5677 1.1 mrg * testsuite/20_util/is_unbounded_array/value.cc: Likewise.
5678 1.1 mrg
5679 1.1 mrg 2019-03-06 Edward Smith-Rowland <3dw4rd (a] verizon.net>
5680 1.1 mrg
5681 1.1 mrg PR libstdc++/86655 - std::assoc_legendre should not constrain
5682 1.1 mrg the value of m (or x).
5683 1.1 mrg * include/tr1/legendre_function.tcc (__assoc_legendre_p,
5684 1.1 mrg __sph_legendre): If degree > order Don't throw, return 0.
5685 1.1 mrg (__legendre_p, __assoc_legendre_p): Don't constrain x either.
5686 1.1 mrg * testsuite/special_functions/02_assoc_legendre/pr86655.cc: New test.
5687 1.1 mrg * testsuite/special_functions/20_sph_legendre/pr86655.cc: New test.
5688 1.1 mrg * testsuite/tr1/5_numerical_facilities/special_functions/
5689 1.1 mrg 02_assoc_legendre/pr86655.cc: New test.
5690 1.1 mrg * testsuite/tr1/5_numerical_facilities/special_functions/
5691 1.1 mrg 22_sph_legendre/pr86655.cc: New test.
5692 1.1 mrg
5693 1.1 mrg 2019-03-06 Ville Voutilainen <ville.voutilainen (a] gmail.com>
5694 1.1 mrg
5695 1.1 mrg Rewrite variant.
5696 1.1 mrg Also PR libstdc++/85517
5697 1.1 mrg * include/std/variant (__do_visit): New.
5698 1.1 mrg (__variant_cast): Likewise.
5699 1.1 mrg (__variant_cookie): Likewise.
5700 1.1 mrg (__erased_*): Remove.
5701 1.1 mrg (_Variant_storage::_S_vtable): Likewise.
5702 1.1 mrg (_Variant_storage::__M_reset_impl): Adjust to use __do_visit.
5703 1.1 mrg (_Variant_storage::__M_reset): Adjust.
5704 1.1 mrg (__variant_construct): New.
5705 1.1 mrg (_Copy_ctor_base(const _Copy_ctor_base&)): Adjust to use
5706 1.1 mrg __variant_construct.
5707 1.1 mrg (_Move_ctor_base(_Move_ctor_base&&)): Likewise.
5708 1.1 mrg (_Move_ctor_base::__M_destructive_copy): New.
5709 1.1 mrg (_Move_ctor_base::__M_destructive_move): Adjust to use
5710 1.1 mrg __variant_construct.
5711 1.1 mrg (_Copy_assign_base::operator=): Adjust to use __do_visit.
5712 1.1 mrg (_Copy_assign_alias): Adjust to check both copy assignment
5713 1.1 mrg and copy construction for triviality.
5714 1.1 mrg (_Move_assign_base::operator=): Adjust to use __do_visit.
5715 1.1 mrg (_Multi_array): Add support for visitors that accept and return
5716 1.1 mrg a __variant_cookie.
5717 1.1 mrg (__gen_vtable_impl::_S_apply_all_alts): Likewise.
5718 1.1 mrg (__gen_vtable_impl::_S_apply_single_alt): Likewise.
5719 1.1 mrg (__gen_vtable_impl::__element_by_index_or_cookie): New. Generate
5720 1.1 mrg a __variant_cookie temporary for a variant that is valueless and..
5721 1.1 mrg (__gen_vtable_impl::__visit_invoke): ..adjust here.
5722 1.1 mrg (__gen_vtable::_Array_type): Conditionally make space for
5723 1.1 mrg the __variant_cookie visitor case.
5724 1.1 mrg (__variant_construct_by_index): New.
5725 1.1 mrg (get_if): Adjust to use std::addressof.
5726 1.1 mrg (relops): Adjust to use __do_visit.
5727 1.1 mrg (variant): Add __variant_cast and __variant_construct_by_index
5728 1.1 mrg as friends.
5729 1.1 mrg (variant::emplace): Use _M_reset() and __variant_construct_by_index
5730 1.1 mrg instead of self-destruction.
5731 1.1 mrg (variant::swap): Adjust to use __do_visit.
5732 1.1 mrg (visit): Reimplement in terms of __do_visit.
5733 1.1 mrg (__variant_hash_call_base_impl::operator()): Adjust to use __do_visit.
5734 1.1 mrg * testsuite/20_util/variant/compile.cc: Adjust.
5735 1.1 mrg * testsuite/20_util/variant/run.cc: Likewise.
5736 1.1 mrg
5737 1.1 mrg 2019-03-06 Jonathan Wakely <jwakely (a] redhat.com>
5738 1.1 mrg
5739 1.1 mrg * include/bits/c++config.h (_cpp_lib_char8_t): Add L suffix to
5740 1.1 mrg constant.
5741 1.1 mrg * testsuite/experimental/feat-char8_t.cc: Likewise.
5742 1.1 mrg
5743 1.1 mrg * include/std/type_traits [C++20] (is_bounded_array)
5744 1.1 mrg (is_unbounded_array, is_bounded_array_v, is_unbounded_array_v):
5745 1.1 mrg Define.
5746 1.1 mrg * testsuite/20_util/is_bounded_array/requirements/
5747 1.1 mrg explicit_instantiation.cc: New test.
5748 1.1 mrg * testsuite/20_util/is_bounded_array/requirements/typedefs.cc: New
5749 1.1 mrg test.
5750 1.1 mrg * testsuite/20_util/is_bounded_array/value.cc: New test.
5751 1.1 mrg * testsuite/20_util/is_unbounded_array/requirements/
5752 1.1 mrg explicit_instantiation.cc: New test.
5753 1.1 mrg * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc: New
5754 1.1 mrg * test.
5755 1.1 mrg * testsuite/20_util/is_unbounded_array/value.cc: New test.
5756 1.1 mrg
5757 1.1 mrg * include/bits/ptr_traits.h [C++20] (pointer_traits<T*>::pointer_to):
5758 1.1 mrg Add constexpr.
5759 1.1 mrg * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc: New test.
5760 1.1 mrg
5761 1.1 mrg 2019-03-05 Jonathan Wakely <jwakely (a] redhat.com>
5762 1.1 mrg
5763 1.1 mrg * include/c_compatibility/math.h [C++20] (lerp): Add using
5764 1.1 mrg declaration.
5765 1.1 mrg * include/c_global/cmath [C++20] (__cpp_lib_interpolate): Define.
5766 1.1 mrg (__lerp): Define function template to implement lerp.
5767 1.1 mrg (lerp(float, float, float), lerp(double, double, double))
5768 1.1 mrg (lerp(long double, long double, long double)): Define for C++20.
5769 1.1 mrg * include/std/numeric [C++20] (__cpp_lib_interpolate): Define.
5770 1.1 mrg (midpoint(T, T), midpoint(T*, T*)): Define.
5771 1.1 mrg * include/std::version [C++20] (__cpp_lib_interpolate): Define.
5772 1.1 mrg * testsuite/26_numerics/lerp.cc: New test.
5773 1.1 mrg * testsuite/26_numerics/midpoint/floating.cc: New test.
5774 1.1 mrg * testsuite/26_numerics/midpoint/integral.cc: New test.
5775 1.1 mrg * testsuite/26_numerics/midpoint/pointer.cc: New test.
5776 1.1 mrg
5777 1.1 mrg 2019-03-04 Edward Smith-Rowland <3dw4rd (a] verizon.net>
5778 1.1 mrg
5779 1.1 mrg PR libstdc++/88996 Implement P0439R0
5780 1.1 mrg Make std::memory_order a scoped enumeration.
5781 1.1 mrg * include/bits/atomic_base.h: For C++20 make memory_order a scoped enum,
5782 1.1 mrg add variables for the old enumerators. Adjust calls.
5783 1.1 mrg * testsuite/29_atomics/headers/atomic/types_std_c++2a.cc: New test.
5784 1.1 mrg * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: New test.
5785 1.1 mrg
5786 1.1 mrg 2019-03-04 Jonathan Wakely <jwakely (a] redhat.com>
5787 1.1 mrg
5788 1.1 mrg * testsuite/26_numerics/bit/bitops.rot/rotl.cc: Remove bogus dg-do
5789 1.1 mrg directive.
5790 1.1 mrg
5791 1.1 mrg * include/std/memory_resource (polymorphic_allocator): Add default
5792 1.1 mrg template argument for C++20.
5793 1.1 mrg (polymorphic_allocator::allocate_bytes)
5794 1.1 mrg (polymorphic_allocator::deallocate_bytes)
5795 1.1 mrg (polymorphic_allocator::allocate_object)
5796 1.1 mrg (polymorphic_allocator::deallocate_object)
5797 1.1 mrg (polymorphic_allocator::new_object)
5798 1.1 mrg (polymorphic_allocator::delete_object): New member functions for
5799 1.1 mrg C++20.
5800 1.1 mrg * testsuite/20_util/polymorphic_allocator/allocate_object.cc: New
5801 1.1 mrg test.
5802 1.1 mrg
5803 1.1 mrg 2019-03-03 Jonathan Wakely <jwakely (a] redhat.com>
5804 1.1 mrg
5805 1.1 mrg PR libstdc++/89562
5806 1.1 mrg * src/filesystem/ops-common.h (do_copy_file): Open files in binary
5807 1.1 mrg mode for mingw.
5808 1.1 mrg
5809 1.1 mrg 2019-03-01 Jonathan Wakely <jwakely (a] redhat.com>
5810 1.1 mrg
5811 1.1 mrg * testsuite/util/testsuite_allocator.h (__gnu_test::memory_resource)
5812 1.1 mrg [!__cpp_sized_deallocation]: Do not pass size to operator delete.
5813 1.1 mrg
5814 1.1 mrg * include/std/memory (uses_allocator_construction_args): New set of
5815 1.1 mrg overloaded functions.
5816 1.1 mrg (make_obj_using_allocator, uninitialized_construct_using_allocator):
5817 1.1 mrg New functions.
5818 1.1 mrg * include/std/memory_resource (polymorphic_allocator::construct)
5819 1.1 mrg [__cplusplus > 201703l]: Replace all overloads with a single function
5820 1.1 mrg using uses_allocator_construction_args.
5821 1.1 mrg * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: New
5822 1.1 mrg test.
5823 1.1 mrg * testsuite/20_util/uses_allocator/make_obj.cc: New test.
5824 1.1 mrg
5825 1.1 mrg 2019-02-27 Jonathan Wakely <jwakely (a] redhat.com>
5826 1.1 mrg
5827 1.1 mrg PR libstdc++/89466
5828 1.1 mrg * acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Reorder check for local
5829 1.1 mrg stylesheet directories before check for xsltproc. Try to use
5830 1.1 mrg xmlcatalog to find local stylesheet directory before trying hardcoded
5831 1.1 mrg paths. Add path used by suse to hardcoded paths. Adjust xsltproc
5832 1.1 mrg check to look for the same stylesheet as doc/Makefile.am uses. Don't
5833 1.1 mrg use xsltproc if xmlcatalog fails to find a local stylesheet.
5834 1.1 mrg * configure.ac: Check for xmlcatalog.
5835 1.1 mrg * Makefile.in: Regenerate.
5836 1.1 mrg * configure: Likewise.
5837 1.1 mrg * doc/Makefile.in: Likewise.
5838 1.1 mrg * include/Makefile.in: Likewise.
5839 1.1 mrg * libsupc++/Makefile.in: Likewise.
5840 1.1 mrg * po/Makefile.in: Likewise.
5841 1.1 mrg * python/Makefile.in: Likewise.
5842 1.1 mrg * src/Makefile.in: Likewise.
5843 1.1 mrg * src/c++11/Makefile.in: Likewise.
5844 1.1 mrg * src/c++17/Makefile.in: Likewise.
5845 1.1 mrg * src/c++98/Makefile.in: Likewise.
5846 1.1 mrg * src/filesystem/Makefile.in: Likewise.
5847 1.1 mrg * testsuite/Makefile.in: Likewise.
5848 1.1 mrg
5849 1.1 mrg 2019-02-26 Jonathan Wakely <jwakely (a] redhat.com>
5850 1.1 mrg
5851 1.1 mrg PR libstdc++/89477
5852 1.1 mrg * include/bits/alloc_traits.h (_RequireNotAllocator): New helper for
5853 1.1 mrg container deduction guides.
5854 1.1 mrg * include/bits/hashtable.h (_RequireNotAllocatorOrIntegral): Likewise.
5855 1.1 mrg * include/bits/stl_map.h (map): Use _RequireNotAllocator to constrain
5856 1.1 mrg parameters in deduction guides.
5857 1.1 mrg * include/bits/stl_multimap.h (multimap): Likewise.
5858 1.1 mrg * include/bits/stl_multiset.h (multiset): Likewise.
5859 1.1 mrg * include/bits/stl_queue.h (queue, priority_queue): Likewise.
5860 1.1 mrg * include/bits/stl_set.h (set): Likewise.
5861 1.1 mrg * include/bits/stl_stack.h (stack): Likewise.
5862 1.1 mrg * include/bits/unordered_map.h (unordered_map, unordered_multimap):
5863 1.1 mrg use _RequireNotAllocator and _RequireNotAllocatorOrIntegral to
5864 1.1 mrg constrain parameters in deduction guides.
5865 1.1 mrg * include/bits/unordered_set.h (unordered_set, unordered_multiset):
5866 1.1 mrg Likewise.
5867 1.1 mrg * testsuite/23_containers/map/cons/deduction.cc: Test additional
5868 1.1 mrg deduction cases.
5869 1.1 mrg * testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
5870 1.1 mrg * testsuite/23_containers/set/cons/deduction.cc: Likewise.
5871 1.1 mrg * testsuite/23_containers/unordered_map/cons/deduction.cc: Likewise.
5872 1.1 mrg * testsuite/23_containers/unordered_multimap/cons/deduction.cc:
5873 1.1 mrg Likewise.
5874 1.1 mrg * testsuite/23_containers/unordered_multiset/cons/deduction.cc:
5875 1.1 mrg Likewise.
5876 1.1 mrg * testsuite/23_containers/unordered_set/cons/deduction.cc: Likewise.
5877 1.1 mrg
5878 1.1 mrg PR libstdc++/89416
5879 1.1 mrg * include/bits/alloc_traits.h (__is_alloc_insertable_impl): Change
5880 1.1 mrg to class template and partial specialization using void_t.
5881 1.1 mrg (__is_copy_insertable, __is_move_insertable): Adjust base class.
5882 1.1 mrg
5883 1.1 mrg 2019-02-24 Jonathan Wakely <jwakely (a] redhat.com>
5884 1.1 mrg
5885 1.1 mrg PR libstdc++/89416
5886 1.1 mrg * include/bits/alloc_traits.h (__is_alloc_insertable_impl): Make
5887 1.1 mrg copy and move members public.
5888 1.1 mrg
5889 1.1 mrg 2019-02-23 Jonathan Wakely <jwakely (a] redhat.com>
5890 1.1 mrg
5891 1.1 mrg * include/std/type_traits (__underlying_type_impl): New helper to
5892 1.1 mrg make underlying_type SFINAE-friendly.
5893 1.1 mrg (underlying_type): Derive from __underlying_type_impl.
5894 1.1 mrg * testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New
5895 1.1 mrg test.
5896 1.1 mrg
5897 1.1 mrg PR libstdc++/89446
5898 1.1 mrg * include/bits/char_traits.h (__constant_char_array): Check index is
5899 1.1 mrg in range before dereferencing.
5900 1.1 mrg (char_traits<char>::compare, char_traits<char>::find)
5901 1.1 mrg (char_traits<char8_t>::compare, char_traits<char8_t>::find): Return
5902 1.1 mrg immediately if n is zero.
5903 1.1 mrg (char_traits<wchar_t>::compare, char_traits<wchar_t>::find): Likewise.
5904 1.1 mrg Remove workarounds for PR 67026.
5905 1.1 mrg * testsuite/21_strings/basic_string_view/operators/char/89446.cc:
5906 1.1 mrg New test.
5907 1.1 mrg * testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc:
5908 1.1 mrg New test.
5909 1.1 mrg
5910 1.1 mrg 2019-02-22 Eric Botcazou <ebotcazou (a] adacore.com>
5911 1.1 mrg
5912 1.1 mrg * config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Adjust.
5913 1.1 mrg * config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: Likewise.
5914 1.1 mrg
5915 1.1 mrg 2019-02-22 Jakub Jelinek <jakub (a] redhat.com>
5916 1.1 mrg
5917 1.1 mrg PR libstdc++/89402
5918 1.1 mrg * src/c++98/compatibility-ldbl.cc (_ZNKSt4hashIeEclEe): Change return
5919 1.1 mrg type to std::size_t and argument to type to long double.
5920 1.1 mrg
5921 1.1 mrg 2019-02-22 Eric Botcazou <ebotcazou (a] adacore.com>
5922 1.1 mrg
5923 1.1 mrg * configure.host (abi_baseline_pair): Adjust for SPARC64/Linux.
5924 1.1 mrg * config/abi/post/sparc64-linux-gnu: New directory.
5925 1.1 mrg * config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: New file.
5926 1.1 mrg * config/abi/post/sparc64-linux-gnu/32: New directory.
5927 1.1 mrg * config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: New file.
5928 1.1 mrg
5929 1.1 mrg 2019-02-21 Jonathan Wakely <jwakely (a] redhat.com>
5930 1.1 mrg
5931 1.1 mrg * testsuite/29_atomics/headers/atomic/types_std_c++20.cc: New test.
5932 1.1 mrg * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc: New
5933 1.1 mrg test.
5934 1.1 mrg
5935 1.1 mrg 2019-02-22 Tom Honermann <tom (a] honermann.net>
5936 1.1 mrg
5937 1.1 mrg * python/libstdcxx/v6/printers.py (register_type_printers): Add type
5938 1.1 mrg printers for u8string and u8string_view.
5939 1.1 mrg
5940 1.1 mrg 2019-02-22 Tom Honermann <tom (a] honermann.net>
5941 1.1 mrg
5942 1.1 mrg * testsuite/18_support/byte/ops.cc: Validate
5943 1.1 mrg std::to_integer<char8_t>, std::to_integer<char16_t>, and
5944 1.1 mrg std::to_integer<char32_t>.
5945 1.1 mrg * testsuite/18_support/numeric_limits/dr559.cc: Validate
5946 1.1 mrg std::numeric_limits<char8_t>.
5947 1.1 mrg * testsuite/18_support/numeric_limits/lowest.cc: Validate
5948 1.1 mrg std::numeric_limits<char8_t>::lowest().
5949 1.1 mrg * testsuite/18_support/numeric_limits/max_digits10.cc: Validate
5950 1.1 mrg std::numeric_limits<char8_t>::max_digits10.
5951 1.1 mrg * testsuite/18_support/type_info/fundamental.cc: Validate
5952 1.1 mrg typeinfo for char8_t.
5953 1.1 mrg * testsuite/20_util/from_chars/1_c++20_neg.cc: New test, validating
5954 1.1 mrg std::from_chars with char8_t.
5955 1.1 mrg * testsuite/20_util/hash/requirements/explicit_instantiation.cc:
5956 1.1 mrg Validate explicit instantiation of std::hash<char8_t>.
5957 1.1 mrg * testsuite/20_util/is_integral/value.cc: Validate
5958 1.1 mrg std::is_integral<char8_t>.
5959 1.1 mrg * testsuite/20_util/make_signed/requirements/typedefs-4.cc:
5960 1.1 mrg Validate std::make_signed<char8_t>.
5961 1.1 mrg * testsuite/21_strings/basic_string/cons/char/deduction.cc:
5962 1.1 mrg Validate u8string construction from char8_t sources.
5963 1.1 mrg * testsuite/21_strings/basic_string/types/pmr_typedefs.cc: Validate
5964 1.1 mrg std::pmr::u8string.
5965 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/
5966 1.1 mrg char/70483.cc: Validate substr operations on u8string_view.
5967 1.1 mrg * testsuite/21_strings/basic_string_view/typedefs.cc: Validate that
5968 1.1 mrg the u8string_view typedef is defined.
5969 1.1 mrg * testsuite/21_strings/char_traits/requirements/
5970 1.1 mrg constexpr_functions.cc: Validate char_traits<char8_t> constexpr
5971 1.1 mrg member functions.
5972 1.1 mrg * testsuite/21_strings/char_traits/requirements/
5973 1.1 mrg constexpr_functions_c++17.cc: Validate char_traits<char8_t> C++17
5974 1.1 mrg constexpr member functions.
5975 1.1 mrg * testsuite/21_strings/headers/string/types_std_c++0x.cc: Validate
5976 1.1 mrg that the u8string typedef is defined.
5977 1.1 mrg * testsuite/22_locale/locale/cons/unicode.cc: Validate the presence
5978 1.1 mrg of the std::codecvt<char16_t, char8_t, std::mbstate_t> and
5979 1.1 mrg std::codecvt<char32_t, char8_t, std::mbstate_t> facets.
5980 1.1 mrg * testsuite/29_atomics/atomic/cons/assign_neg.cc: Update line
5981 1.1 mrg numbers.
5982 1.1 mrg * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
5983 1.1 mrg * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
5984 1.1 mrg Likewise.
5985 1.1 mrg * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
5986 1.1 mrg * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc:
5987 1.1 mrg Validate std::atomic<char8_t>::is_always_lock_free
5988 1.1 mrg * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
5989 1.1 mrg Update line numbers.
5990 1.1 mrg * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
5991 1.1 mrg Likewise.
5992 1.1 mrg * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
5993 1.1 mrg Likewise.
5994 1.1 mrg * testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
5995 1.1 mrg Validate std::experimental::pmr::u8string.
5996 1.1 mrg * testsuite/experimental/string_view/typedefs.cc: Validate that the
5997 1.1 mrg u8string_view typedef is defined.
5998 1.1 mrg * testsuite/util/testsuite_common_types.h: Add char8_t, char16_t and
5999 1.1 mrg char32_t to the typelists.
6000 1.1 mrg
6001 1.1 mrg 2019-02-22 Tom Honermann <tom (a] honermann.net>
6002 1.1 mrg
6003 1.1 mrg * include/ext/typelist.h: Constrain a partial specialization of
6004 1.1 mrg typelist::detail::append_ to only match chain<T1,T2>.
6005 1.1 mrg
6006 1.1 mrg 2019-02-21 Jonathan Wakely <jwakely (a] redhat.com>
6007 1.1 mrg
6008 1.1 mrg PR libstdc++/89416
6009 1.1 mrg * include/bits/alloc_traits.h (__is_alloc_insertable_impl): Replace
6010 1.1 mrg class template with class. Replace move and copy member types with
6011 1.1 mrg member alias templates, so they are only instantiated when needed.
6012 1.1 mrg (__is_copy_insertable, __is_move_insertable): Adjust base class.
6013 1.1 mrg * testsuite/23_containers/vector/modifiers/push_back/89130.cc: Enable
6014 1.1 mrg test for C++11/14/17 as well.
6015 1.1 mrg * testsuite/23_containers/vector/modifiers/push_back/89416.cc: New
6016 1.1 mrg test.
6017 1.1 mrg
6018 1.1 mrg 2019-02-20 Jakub Jelinek <jakub (a] redhat.com>
6019 1.1 mrg
6020 1.1 mrg PR libstdc++/89402
6021 1.1 mrg * src/c++98/compatibility-ldbl.cc (_ZNKSt4hashIeEclEe): Add
6022 1.1 mrg _GLIBCXX_PURE to the alias declaration.
6023 1.1 mrg
6024 1.1 mrg 2019-02-19 Jonathan Wakely <jwakely (a] redhat.com>
6025 1.1 mrg
6026 1.1 mrg * testsuite/21_strings/basic_string/literals/types.cc
6027 1.1 mrg [_GLIBCXX_USE_CHAR8_T]: Adjust expected string type for u8 literal.
6028 1.1 mrg * testsuite/21_strings/basic_string/literals/values.cc
6029 1.1 mrg [_GLIBCXX_USE_CHAR8_T]: Likewise.
6030 1.1 mrg * testsuite/22_locale/codecvt/char16_t.cc: Adjust for u8 literals
6031 1.1 mrg potentially having different type.
6032 1.1 mrg * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
6033 1.1 mrg * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: Cast u8 literal
6034 1.1 mrg to char.
6035 1.1 mrg * testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: Likewise.
6036 1.1 mrg * testsuite/22_locale/codecvt/utf8.cc: Likewise.
6037 1.1 mrg * testsuite/22_locale/conversions/string/2.cc: Remove u8 prefix from
6038 1.1 mrg string literals only using basic character set.
6039 1.1 mrg * testsuite/22_locale/conversions/string/3.cc: Likewise. Cast other
6040 1.1 mrg u8 literals to char.
6041 1.1 mrg * testsuite/29_atomics/headers/atomic/macros.cc [_GLIBCXX_USE_CHAR8_T]:
6042 1.1 mrg Test ATOMIC_CHAR8_T_LOCK_FREE.
6043 1.1 mrg Add missing #error to ATOMIC_CHAR16_T_LOCK_FREE test.
6044 1.1 mrg * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc
6045 1.1 mrg [_GLIBCXX_USE_CHAR8_T]: Check for std::atomic_char8_t.
6046 1.1 mrg * testsuite/experimental/string_view/literals/types.cc
6047 1.1 mrg [_GLIBCXX_USE_CHAR8_T]: Adjust expected string_view type for u8
6048 1.1 mrg literal.
6049 1.1 mrg * testsuite/experimental/string_view/literals/values.cc
6050 1.1 mrg [_GLIBCXX_USE_CHAR8_T]: Likewise.
6051 1.1 mrg
6052 1.1 mrg 2019-02-19 Tom Honermann <tom (a] honermann.net>
6053 1.1 mrg
6054 1.1 mrg * testsuite/18_support/numeric_limits/char8_t.cc: New test cloned
6055 1.1 mrg from char16_32_t.cc; validates numeric_limits<char8_t>.
6056 1.1 mrg * testsuite/21_strings/basic_string/literals/types-char8_t.cc: New
6057 1.1 mrg test cloned from types.cc; validates operator""s for char8_t
6058 1.1 mrg returns u8string.
6059 1.1 mrg * testsuite/21_strings/basic_string/literals/values-char8_t.cc: New
6060 1.1 mrg test cloned from values.cc; validates construction and comparison
6061 1.1 mrg of u8string values.
6062 1.1 mrg * testsuite/21_strings/basic_string/requirements/
6063 1.1 mrg /explicit_instantiation/char8_t/1.cc: New test cloned from
6064 1.1 mrg char16_t/1.cc; validates explicit instantiation of
6065 1.1 mrg basic_string<char8_t>.
6066 1.1 mrg * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
6067 1.1 mrg New test cloned from types.cc; validates operator""sv for char8_t
6068 1.1 mrg returns u8string_view.
6069 1.1 mrg * testsuite/21_strings/basic_string_view/literals/
6070 1.1 mrg values-char8_t.cc: New test cloned from values.cc; validates
6071 1.1 mrg construction and comparison of u8string_view values.
6072 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/
6073 1.1 mrg explicit_instantiation/char8_t/1.cc: New test cloned from
6074 1.1 mrg char16_t/1.cc; validates explicit instantiation of
6075 1.1 mrg basic_string_view<char8_t>.
6076 1.1 mrg * testsuite/21_strings/char_traits/requirements/char8_t/65049.cc:
6077 1.1 mrg New test cloned from char16_t/65049.cc; validates that
6078 1.1 mrg char_traits<char8_t> is not vulnerable to the concerns in PR65049.
6079 1.1 mrg * testsuite/21_strings/char_traits/requirements/char8_t/
6080 1.1 mrg typedefs.cc: New test cloned from char16_t/typedefs.cc; validates
6081 1.1 mrg that char_traits<char8_t> member typedefs are present and correct.
6082 1.1 mrg * testsuite/21_strings/char_traits/requirements/
6083 1.1 mrg explicit_instantiation/char8_t/1.cc: New test cloned from
6084 1.1 mrg char16_t/1.cc; validates explicit instantiation of
6085 1.1 mrg char_traits<char8_t>.
6086 1.1 mrg * testsuite/22_locale/codecvt/char16_t-char8_t.cc: New test cloned
6087 1.1 mrg from char16_t.cc: validates
6088 1.1 mrg codecvt<char16_t, char8_t, mbstate_t>.
6089 1.1 mrg * testsuite/22_locale/codecvt/char32_t-char8_t.cc: New test cloned
6090 1.1 mrg from char32_t.cc: validates
6091 1.1 mrg codecvt<char32_t, char8_t, mbstate_t>.
6092 1.1 mrg * testsuite/22_locale/codecvt/utf8-char8_t.cc: New test cloned from
6093 1.1 mrg utf8.cc; validates codecvt<char16_t, char8_t, std::mbstate_t> and
6094 1.1 mrg codecvt<char32_t, char8_t, std::mbstate_t>.
6095 1.1 mrg * testsuite/27_io/filesystem/path/native/string-char8_t.cc: New
6096 1.1 mrg test cloned from string.cc; validates filesystem::path construction
6097 1.1 mrg from char8_t input.
6098 1.1 mrg * testsuite/experimental/feat-char8_t.cc: New test; validates that
6099 1.1 mrg the __cpp_lib_char8_t feature test macro is defined with the
6100 1.1 mrg correct value.
6101 1.1 mrg * testsuite/experimental/filesystem/path/native/string-char8_t.cc:
6102 1.1 mrg New test cloned from string.cc; validates filesystem::path
6103 1.1 mrg construction from char8_t input.
6104 1.1 mrg * testsuite/experimental/string_view/literals/types-char8_t.cc: New
6105 1.1 mrg test cloned from types.cc; validates operator""sv for char8_t
6106 1.1 mrg returns u8string_view.
6107 1.1 mrg * testsuite/experimental/string_view/literals/values-char8_t.cc:
6108 1.1 mrg New test cloned from values.cc; validates construction and
6109 1.1 mrg comparison of u8string_view values.
6110 1.1 mrg * testsuite/experimental/string_view/requirements/
6111 1.1 mrg explicit_instantiation/char8_t/1.cc: New test cloned from
6112 1.1 mrg char16_t/1.cc; validates explicit instantiation of
6113 1.1 mrg basic_string_view<char8_t>.
6114 1.1 mrg * testsuite/ext/char8_t/atomic-1.cc: New test; validates that
6115 1.1 mrg ATOMIC_CHAR8_T_LOCK_FREE is not defined if char8_t support is not
6116 1.1 mrg enabled.
6117 1.1 mrg
6118 1.1 mrg 2019-02-19 Tom Honermann <tom (a] honermann.net>
6119 1.1 mrg
6120 1.1 mrg P0482R5 char8_t: Standard library support
6121 1.1 mrg * config/abi/pre/gnu-versioned-namespace.ver (CXXABI_2.0): Add
6122 1.1 mrg typeinfo symbols for char8_t.
6123 1.1 mrg * config/abi/pre/gnu.ver: Add CXXABI_1.3.12.
6124 1.1 mrg (GLIBCXX_3.4.26): Add symbols for specializations of
6125 1.1 mrg numeric_limits and codecvt that involve char8_t.
6126 1.1 mrg (CXXABI_1.3.12): Add typeinfo symbols for char8_t.
6127 1.1 mrg * include/bits/atomic_base.h: Add atomic_char8_t.
6128 1.1 mrg * include/bits/basic_string.h: Add std::hash<u8string> and
6129 1.1 mrg operator""s(const char8_t*, size_t).
6130 1.1 mrg * include/bits/c++config: Define _GLIBCXX_USE_CHAR8_T and
6131 1.1 mrg __cpp_lib_char8_t.
6132 1.1 mrg * include/bits/char_traits.h: Add char_traits<char8_t>.
6133 1.1 mrg * include/bits/codecvt.h: Add
6134 1.1 mrg codecvt<char16_t, char8_t, mbstate_t>,
6135 1.1 mrg codecvt<char32_t, char8_t, mbstate_t>,
6136 1.1 mrg codecvt_byname<char16_t, char8_t, mbstate_t>, and
6137 1.1 mrg codecvt_byname<char32_t, char8_t, mbstate_t>.
6138 1.1 mrg * include/bits/cpp_type_traits.h: Add __is_integer<char8_t> to
6139 1.1 mrg recognize char8_t as an integral type.
6140 1.1 mrg * include/bits/fs_path.h: (path::__is_encoded_char): Recognize
6141 1.1 mrg char8_t.
6142 1.1 mrg (path::u8string): Return std::u8string when char8_t support is
6143 1.1 mrg enabled.
6144 1.1 mrg (path::generic_u8string): Likewise.
6145 1.1 mrg (path::_S_convert): Handle conversion from char8_t input.
6146 1.1 mrg (path::_S_str_convert): Likewise.
6147 1.1 mrg * include/bits/functional_hash.h: Add hash<char8_t>.
6148 1.1 mrg * include/bits/locale_conv.h (__str_codecvt_out): Add overloads for
6149 1.1 mrg char8_t.
6150 1.1 mrg * include/bits/locale_facets.h (_GLIBCXX_NUM_UNICODE_FACETS): Bump
6151 1.1 mrg for new char8_t specializations.
6152 1.1 mrg * include/bits/localefwd.h: Add missing declarations of
6153 1.1 mrg codecvt<char16_t, char, mbstate_t> and
6154 1.1 mrg codecvt<char32_t, char, mbstate_t>. Add char8_t declarations
6155 1.1 mrg codecvt<char16_t, char8_t, mbstate_t> and
6156 1.1 mrg codecvt<char32_t, char8_t, mbstate_t>.
6157 1.1 mrg * include/bits/postypes.h: Add u8streampos
6158 1.1 mrg * include/bits/stringfwd.h: Add declarations of
6159 1.1 mrg char_traits<char8_t> and u8string.
6160 1.1 mrg * include/c_global/cstddef: Add __byte_operand<char8_t>.
6161 1.1 mrg * include/experimental/bits/fs_path.h (path::__is_encoded_char):
6162 1.1 mrg Recognize char8_t.
6163 1.1 mrg (path::u8string): Return std::u8string when char8_t support is
6164 1.1 mrg enabled.
6165 1.1 mrg (path::generic_u8string): Likewise.
6166 1.1 mrg (path::_S_convert): Handle conversion from char8_t input.
6167 1.1 mrg (path::_S_str_convert): Likewise.
6168 1.1 mrg * include/experimental/string: Add u8string.
6169 1.1 mrg * include/experimental/string_view: Add u8string_view,
6170 1.1 mrg hash<experimental::u8string_view>, and
6171 1.1 mrg operator""sv(const char8_t*, size_t).
6172 1.1 mrg * include/std/atomic: Add atomic<char8_t> and atomic_char8_t.
6173 1.1 mrg * include/std/charconv (__is_int_to_chars_type): Recognize char8_t
6174 1.1 mrg as a character type.
6175 1.1 mrg * include/std/limits: Add numeric_limits<char8_t>.
6176 1.1 mrg * include/std/string_view: Add u8string_view,
6177 1.1 mrg hash<experimental::u8string_view>, and
6178 1.1 mrg operator""sv(const char8_t*, size_t).
6179 1.1 mrg * include/std/type_traits: Add __is_integral_helper<char8_t>,
6180 1.1 mrg __make_unsigned<char8_t>, and __make_signed<char8_t>.
6181 1.1 mrg * libsupc++/atomic_lockfree_defines.h: Define
6182 1.1 mrg ATOMIC_CHAR8_T_LOCK_FREE.
6183 1.1 mrg * src/c++11/Makefile.am: Compile with -fchar8_t when compiling
6184 1.1 mrg codecvt.cc and limits.cc so that char8_t specializations of
6185 1.1 mrg numeric_limits and codecvt and emitted.
6186 1.1 mrg * src/c++11/Makefile.in: Likewise.
6187 1.1 mrg * src/c++11/codecvt.cc: Define members of
6188 1.1 mrg codecvt<char16_t, char8_t, mbstate_t>,
6189 1.1 mrg codecvt<char32_t, char8_t, mbstate_t>,
6190 1.1 mrg codecvt_byname<char16_t, char8_t, mbstate_t>, and
6191 1.1 mrg codecvt_byname<char32_t, char8_t, mbstate_t>.
6192 1.1 mrg * src/c++11/limits.cc: Define members of
6193 1.1 mrg numeric_limits<char8_t>.
6194 1.1 mrg * src/c++98/Makefile.am: Compile with -fchar8_t when compiling
6195 1.1 mrg locale_init.cc and localename.cc.
6196 1.1 mrg * src/c++98/Makefile.in: Likewise.
6197 1.1 mrg * src/c++98/locale_init.cc: Add initialization for the
6198 1.1 mrg codecvt<char16_t, char8_t, mbstate_t> and
6199 1.1 mrg codecvt<char32_t, char8_t, mbstate_t> facets.
6200 1.1 mrg * src/c++98/localename.cc: Likewise.
6201 1.1 mrg * testsuite/util/testsuite_abi.cc: Validate ABI bump.
6202 1.1 mrg
6203 1.1 mrg 2019-02-18 Wilco Dijkstra <wdijkstr (a] arm.com>
6204 1.1 mrg
6205 1.1 mrg * 27_io/filesystem/operations/all.cc: Add dg-require-filesystem-ts.
6206 1.1 mrg * 27_io/filesystem/operations/resize_file.cc: Likewise.
6207 1.1 mrg * 27_io/filesystem/path/generation/normal2.cc: Likewise.
6208 1.1 mrg
6209 1.1 mrg 2019-02-14 Jonathan Wakely <jwakely (a] redhat.com>
6210 1.1 mrg
6211 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update P0887R1 status.
6212 1.1 mrg * doc/html/*: Regenerate.
6213 1.1 mrg
6214 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Add P0063R3 to status table.
6215 1.1 mrg * doc/html/*: Regenerate.
6216 1.1 mrg
6217 1.1 mrg * doc/xml/manual/intro.xml: Document LWG 2586 status.
6218 1.1 mrg * include/bits/uses_allocator.h (__uses_alloc): Use const lvalue
6219 1.1 mrg allocator type in is_constructible checks.
6220 1.1 mrg * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
6221 1.1 mrg * testsuite/20_util/scoped_allocator/dr2586.cc: New test.
6222 1.1 mrg * testsuite/20_util/tuple/cons/allocators.cc: Add test using
6223 1.1 mrg problematic type from LWG 2586 discussion.
6224 1.1 mrg * testsuite/20_util/uses_allocator/69293_neg.cc: Adjust dg-error.
6225 1.1 mrg * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
6226 1.1 mrg
6227 1.1 mrg * configure.ac: Check for C11 timespec_get function.
6228 1.1 mrg * crossconfig.m4 (freebsd, linux, gnu, cygwin, solaris, netbsd)
6229 1.1 mrg (openbsd): Likewise
6230 1.1 mrg * config.h.in: Regenerate.
6231 1.1 mrg * configure: Regenerate.
6232 1.1 mrg * include/c_global/ctime (timespec, timespec_get): Add to namespace
6233 1.1 mrg std for C++17 and up.
6234 1.1 mrg
6235 1.1 mrg * doc/xml/manual/intro.xml: Document LWG 2537 status.
6236 1.1 mrg * include/bits/stl_queue.h
6237 1.1 mrg (priority_queue(const Compare&, const Container&, const Alloc&))
6238 1.1 mrg (priority_queue(const Compare&, Container&&, const Alloc&)): Call
6239 1.1 mrg make_heap.
6240 1.1 mrg * testsuite/23_containers/priority_queue/dr2537.cc: New test.
6241 1.1 mrg
6242 1.1 mrg * doc/xml/manual/intro.xml: Document LWG 2566 status.
6243 1.1 mrg * include/bits/stl_queue.h (queue, priority_queue): Add static
6244 1.1 mrg assertions to enforce LWG 2566 requirement on value_type.
6245 1.1 mrg * include/bits/stl_stack.h (stack): Likewise.
6246 1.1 mrg
6247 1.1 mrg PR middle-end/89303
6248 1.1 mrg * testsuite/20_util/enable_shared_from_this/89303.cc: New test.
6249 1.1 mrg
6250 1.1 mrg * doc/xml/manual/intro.xml: Document LWG 2735 status.
6251 1.1 mrg * include/bits/std_abs.h: Add comment about LWG 2735.
6252 1.1 mrg * testsuite/26_numerics/headers/cstdlib/dr2735.cc: New test.
6253 1.1 mrg
6254 1.1 mrg 2019-02-13 Jonathan Wakely <jwakely (a] redhat.com>
6255 1.1 mrg
6256 1.1 mrg PR libstdc++/89345
6257 1.1 mrg * include/std/version [__cpp_impl_destroying_delete]
6258 1.1 mrg (__cpp_lib_destroying_delete): Only define for C++2a and later.
6259 1.1 mrg * libsupc++/new [__cpp_impl_destroying_delete]
6260 1.1 mrg (__cpp_lib_destroying_delete): Likewise.
6261 1.1 mrg (destroying_delete_t, destroying_delete): Likewise, but define even
6262 1.1 mrg when __cpp_impl_destroying_delete is not defined.
6263 1.1 mrg * testsuite/18_support/destroying_delete.cc: New test.
6264 1.1 mrg
6265 1.1 mrg 2019-02-11 Jonathan Wakely <jwakely (a] redhat.com>
6266 1.1 mrg
6267 1.1 mrg PR libstdc++/89023
6268 1.1 mrg * testsuite/17_intro/headers/c++2011/parallel_mode.cc: New test.
6269 1.1 mrg * testsuite/17_intro/headers/c++2014/parallel_mode.cc: New test.
6270 1.1 mrg * testsuite/17_intro/headers/c++2017/parallel_mode.cc: New test.
6271 1.1 mrg * testsuite/28_regex/headers/regex/parallel_mode.cc: Remove.
6272 1.1 mrg
6273 1.1 mrg 2019-02-09 Jonathan Wakely <jwakely (a] redhat.com>
6274 1.1 mrg
6275 1.1 mrg PR libstdc++/71044
6276 1.1 mrg * include/bits/fs_path.h (path::has_root_name)
6277 1.1 mrg (path::has_root_directory, path::has_root_path)
6278 1.1 mrg (path::has_relative_path, path::has_parent_path)
6279 1.1 mrg (path::has_filename, path::has_stem, path::has_extension)
6280 1.1 mrg (path::is_absolute, path::is_relative, path::_M_find_extension): Add
6281 1.1 mrg noexcept.
6282 1.1 mrg * src/c++17/fs_path.cc (path::has_root_name)
6283 1.1 mrg (path::has_root_directory, path::has_root_path)
6284 1.1 mrg (path::has_relative_path, path::has_parent_path)
6285 1.1 mrg (path::has_filename, path::_M_find_extension): Add noexcept.
6286 1.1 mrg
6287 1.1 mrg 2019-02-06 Jonathan Wakely <jwakely (a] redhat.com>
6288 1.1 mrg
6289 1.1 mrg PR libstdc++/89102 (partial)
6290 1.1 mrg * include/std/type_traits (common_type<>): Define.
6291 1.1 mrg (common_type<T>): Derive from common_type<T, T>.
6292 1.1 mrg * testsuite/20_util/common_type/requirements/explicit_instantiation.cc:
6293 1.1 mrg Test zero-length template argument list.
6294 1.1 mrg * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
6295 1.1 mrg Test additional single argument cases.
6296 1.1 mrg * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
6297 1.1 mrg Adjust expected error.
6298 1.1 mrg
6299 1.1 mrg 2019-02-05 Jonathan Wakely <jwakely (a] redhat.com>
6300 1.1 mrg
6301 1.1 mrg PR libstdc++/89128
6302 1.1 mrg * include/bits/stl_queue.h (queue, priority_queue): Add deduction
6303 1.1 mrg guides.
6304 1.1 mrg * include/bits/stl_stack.h (stack): Likewise.
6305 1.1 mrg * testsuite/23_containers/priority_queue/deduction.cc: New test.
6306 1.1 mrg * testsuite/23_containers/queue/deduction.cc: New test.
6307 1.1 mrg * testsuite/23_containers/stack/deduction.cc: New test.
6308 1.1 mrg
6309 1.1 mrg PR libstdc++/89194
6310 1.1 mrg * include/std/type_traits (__is_convertible_helper)
6311 1.1 mrg (__is_convertible_helper<_From, _To, false>): Revert changes to
6312 1.1 mrg support is_nothrow_convertible.
6313 1.1 mrg (__is_nt_convertible_helper): New helper.
6314 1.1 mrg (is_nothrow_convertible): Use __is_nt_convertible_helper.
6315 1.1 mrg
6316 1.1 mrg * testsuite/23_containers/vector/modifiers/push_back/49836.cc: Restore
6317 1.1 mrg use of CopyConsOnlyType, but also test DelAnyAssign for completeness.
6318 1.1 mrg
6319 1.1 mrg PR libstdc++/89130
6320 1.1 mrg * include/bits/alloc_traits.h (__is_copy_insertable_impl): Rename to
6321 1.1 mrg __is_alloc_insertable_impl. Replace single type member with two
6322 1.1 mrg members, one for each of copy and move insertable.
6323 1.1 mrg (__is_move_insertable): New trait for internal use.
6324 1.1 mrg * include/bits/stl_vector.h (vector::_S_nothrow_relocate(true_type))
6325 1.1 mrg (vector::_S_nothrow_relocate(true_type)): New functions to
6326 1.1 mrg conditionally check if __relocate_a can throw.
6327 1.1 mrg (vector::_S_use_relocate()): Dispatch to _S_nothrow_relocate based
6328 1.1 mrg on __is_move_insertable.
6329 1.1 mrg (vector::_S_do_relocate): New overloaded functions to conditionally
6330 1.1 mrg call __relocate_a.
6331 1.1 mrg (vector::_S_relocate): New function that dispatches to _S_do_relocate
6332 1.1 mrg based on _S_use_relocate.
6333 1.1 mrg * include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
6334 1.1 mrg (vector::_M_default_append): Call _S_relocate instead of __relocate_a.
6335 1.1 mrg * testsuite/23_containers/vector/modifiers/push_back/89130.cc: New.
6336 1.1 mrg
6337 1.1 mrg PR libstdc++/89090
6338 1.1 mrg * include/bits/stl_uninitialized.h (__relocate_a_1): Make unused
6339 1.1 mrg parameter unnamed. Add message to static assertion.
6340 1.1 mrg * include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
6341 1.1 mrg (vector::_M_default_append): Use _GLIBCXX17_CONSTEXPR for if constexpr
6342 1.1 mrg in C++11 code.
6343 1.1 mrg
6344 1.1 mrg 2019-02-05 Marc Glisse <marc.glisse (a] inria.fr>
6345 1.1 mrg
6346 1.1 mrg PR libstdc++/87106
6347 1.1 mrg * include/bits/stl_uninitialized.h (__is_trivially_relocatable):
6348 1.1 mrg Rename...
6349 1.1 mrg (__is_bitwise_relocatable): ... to this.
6350 1.1 mrg (__relocate_a_1): Adapt.
6351 1.1 mrg * include/bits/stl_deque.h (__is_trivially_relocatable): Rename...
6352 1.1 mrg (__is_bitwise_relocatable): ... to this.
6353 1.1 mrg
6354 1.1 mrg 2019-01-30 Jonathan Wakely <jwakely (a] redhat.com>
6355 1.1 mrg
6356 1.1 mrg PR libstdc++/89117
6357 1.1 mrg * src/c++17/fs_path.cc (path::replace_extension): Erase extension from
6358 1.1 mrg final component as well as from _M_pathname. Append the dot using
6359 1.1 mrg operator+= instead of only to _M_pathname.
6360 1.1 mrg (path::_M_find_extension): Reformat slightly.
6361 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
6362 1.1 mrg Add more test cases.
6363 1.1 mrg
6364 1.1 mrg 2019-01-30 Ulrich Drepper <drepper (a] redhat.com>
6365 1.1 mrg
6366 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update P0600 entry.
6367 1.1 mrg
6368 1.1 mrg 2019-01-29 Jonathan Wakely <jwakely (a] redhat.com>
6369 1.1 mrg
6370 1.1 mrg * testsuite/26_numerics/headers/complex/synopsis.cc: Remove incorrect
6371 1.1 mrg constexpr specifiers from arg and proj.
6372 1.1 mrg
6373 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Add missing exports for
6374 1.1 mrg __shared_ptr instantiations used by gcc4-compatible ABI.
6375 1.1 mrg
6376 1.1 mrg * include/experimental/forward_list (experimental::erase): Qualify
6377 1.1 mrg call to erase_if.
6378 1.1 mrg * include/experimental/list (experimental::erase): Likewise.
6379 1.1 mrg * include/std/forward_list (std::erase): Likewise.
6380 1.1 mrg * include/std/list (std::erase): Likewise.
6381 1.1 mrg
6382 1.1 mrg * testsuite/20_util/reference_wrapper/result_type.cc: Disable for
6383 1.1 mrg C++2a.
6384 1.1 mrg * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
6385 1.1 mrg * testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
6386 1.1 mrg * testsuite/20_util/reference_wrapper/typedefs.cc: Likewise.
6387 1.1 mrg * testsuite/30_threads/async/54297.cc: Suppress nodiscard warning.
6388 1.1 mrg * testsuite/ext/array_allocator/26875.cc: Likewise.
6389 1.1 mrg * testsuite/ext/pool_allocator/allocate_chunk.cc: Likewise.
6390 1.1 mrg * testsuite/util/replacement_memory_operators.h: Likewise.
6391 1.1 mrg * testsuite/util/testsuite_allocator.h: Likewise.
6392 1.1 mrg
6393 1.1 mrg * include/std/memory_resource (__pool_resource::_M_unpooled): Use
6394 1.1 mrg normal mode vector, even for debug mode.
6395 1.1 mrg * include/std/vector [_GLIBCXX_DEBUG] (_GLIBCXX_STD_C::pmr::vector):
6396 1.1 mrg Define alias template for normal mode vector.
6397 1.1 mrg
6398 1.1 mrg 2019-01-28 Jonathan Wakely <jwakely (a] redhat.com>
6399 1.1 mrg
6400 1.1 mrg PR libstdc++/68737
6401 1.1 mrg * config/locale/generic/c_locale.h (__convert_from_v)
6402 1.1 mrg [_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
6403 1.1 mrg * config/os/hpux/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
6404 1.1 mrg * include/bits/locale_facets.tcc (num_put::_M_insert_float)
6405 1.1 mrg [_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
6406 1.1 mrg
6407 1.1 mrg 2019-01-24 Jonathan Wakely <jwakely (a] redhat.com>
6408 1.1 mrg
6409 1.1 mrg PR libstdc++/88840
6410 1.1 mrg * include/bits/stl_vector.h (vector::__use_relocate): Replace static
6411 1.1 mrg data member with static member function _S_use_relocate().
6412 1.1 mrg * include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
6413 1.1 mrg (vector::_M_default_append): Use _S_use_relocate() instead of
6414 1.1 mrg __use_relocate.
6415 1.1 mrg
6416 1.1 mrg * testsuite/27_io/filesystem/path/compare/strings.cc: Only compare
6417 1.1 mrg sign of results.
6418 1.1 mrg
6419 1.1 mrg 2019-01-22 Jonathan Wakely <jwakely (a] redhat.com>
6420 1.1 mrg
6421 1.1 mrg PR libstdc++/88740
6422 1.1 mrg * testsuite/util/testsuite_hooks.h [stderr] (VERIFY): Use fprintf to
6423 1.1 mrg write to stderr instead of using printf.
6424 1.1 mrg
6425 1.1 mrg 2019-01-21 Jakub Jelinek <jakub (a] redhat.com>
6426 1.1 mrg
6427 1.1 mrg PR libstdc++/86590
6428 1.1 mrg * include/bits/char_traits.h (__constant_string_p,
6429 1.1 mrg __constant_char_array_p): Use __builtin_is_constant_evaluated if
6430 1.1 mrg available.
6431 1.1 mrg
6432 1.1 mrg 2019-01-20 Ulrich Drepper <drepper (a] redhat.com>
6433 1.1 mrg
6434 1.1 mrg Implement C++20 P0600r1.
6435 1.1 mrg * include/backward/hash_map: Add nodiscard attribute to empty.
6436 1.1 mrg * include/backward/hash_set: Likewise.
6437 1.1 mrg * backward/hashtable.h: Likewise.
6438 1.1 mrg * include/bits/basic_string.h: Likewise.
6439 1.1 mrg * include/bits/forward_list.h: Likewise.
6440 1.1 mrg * include/bits/hashtable.h: Likewise.
6441 1.1 mrg * include/bits/regex.h: Likewise.
6442 1.1 mrg * include/bits/stl_deque.h: Likewise.
6443 1.1 mrg * include/bits/stl_list.h: Likewise.
6444 1.1 mrg * include/bits/stl_map.h: Likewise.
6445 1.1 mrg * include/bits/stl_multimap.h: Likewise.
6446 1.1 mrg * include/bits/stl_multiset.h: Likewise.
6447 1.1 mrg * include/bits/stl_queue.h: Likewise.
6448 1.1 mrg * include/bits/stl_set.h: Likewise.
6449 1.1 mrg * include/bits/stl_stack.h: Likewise.
6450 1.1 mrg * include/bits/stl_tree.h: Likewise.
6451 1.1 mrg * include/bits/stl_vector.h: Likewise.
6452 1.1 mrg * include/bits/unordered_map.h: Likewise.
6453 1.1 mrg * include/bits/unordered_set.h: Likewise.
6454 1.1 mrg * include/debug/array: Likewise.
6455 1.1 mrg * include/experimental/any: Likewise.
6456 1.1 mrg * include/experimental/bits/fs_path.h: Likewise.
6457 1.1 mrg * include/experimental/internet: Likewise.
6458 1.1 mrg * include/experimental/string_view: Likewise.
6459 1.1 mrg * include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp:
6460 1.1 mrg Likewise.
6461 1.1 mrg * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp:
6462 1.1 mrg Likewise.
6463 1.1 mrg * include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp:
6464 1.1 mrg Likewise.
6465 1.1 mrg * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp:
6466 1.1 mrg Likewise.
6467 1.1 mrg * include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp:
6468 1.1 mrg Likewise.
6469 1.1 mrg * include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp:
6470 1.1 mrg Likewise.
6471 1.1 mrg * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp:
6472 1.1 mrg Likewise.
6473 1.1 mrg * include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp:
6474 1.1 mrg Likewise.
6475 1.1 mrg * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
6476 1.1 mrg info_fn_imps.hpp: Likewise.
6477 1.1 mrg * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
6478 1.1 mrg left_child_next_sibling_heap_.hpp: Likewise.
6479 1.1 mrg * include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp:
6480 1.1 mrg Likewise.
6481 1.1 mrg * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp:
6482 1.1 mrg Likewise.
6483 1.1 mrg * include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp:
6484 1.1 mrg Likewise.
6485 1.1 mrg * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hp:
6486 1.1 mrg Likewise.
6487 1.1 mrg * include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp:
6488 1.1 mrg Likewise.
6489 1.1 mrg * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp:
6490 1.1 mrg Likewise.
6491 1.1 mrg * include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp:
6492 1.1 mrg Likewise.
6493 1.1 mrg * include/ext/pb_ds/detail/tree_trace_base.hpp: Likewise.
6494 1.1 mrg * include/ext/pb_ds/trie_policy.hpp: Likewise.
6495 1.1 mrg * include/ext/rope: Likewise.
6496 1.1 mrg * include/ext/slist: Likewise.
6497 1.1 mrg * include/ext/vstring.h: Likewise.
6498 1.1 mrg * include/profile/array: Likewise.
6499 1.1 mrg * include/std/array: Likewise.
6500 1.1 mrg * include/tr1/array: Likewise.
6501 1.1 mrg * include/tr1/hashtable.h: Likewise.
6502 1.1 mrg * include/tr1/regex: Likewise.
6503 1.1 mrg * include/tr2/dynamic_bitset: Likewise.
6504 1.1 mrg * include/bits/alloc_traits.h: Add nodiscard attribute to
6505 1.1 mrg allocate.
6506 1.1 mrg * include/experimental/memory_resource: Likewise.
6507 1.1 mrg * include/ext/alloc_traits.h: Likewise.
6508 1.1 mrg * include/ext/array_allocator.h: Likewise.
6509 1.1 mrg * include/ext/bitmap_allocator.h: Likewise.
6510 1.1 mrg * include/ext/debug_allocator.h: Likewise.
6511 1.1 mrg * include/ext/extptr_allocator.h: Likewise.
6512 1.1 mrg * include/ext/mt_allocator.h: Likewise.
6513 1.1 mrg * include/ext/new_allocator.h: Likewise.
6514 1.1 mrg * include/ext/pool_allocator.h: Likewise.
6515 1.1 mrg * include/ext/throw_allocator.h: Likewise.
6516 1.1 mrg * include/std/scoped_allocator: Likewise.
6517 1.1 mrg * libsupc++/eh_alloc.cc: Likewise.
6518 1.1 mrg * include/std/future: Add nodiscard attribute to async.
6519 1.1 mrg * libsupc++/new: Add nodiscard attribute to new.
6520 1.1 mrg
6521 1.1 mrg 2019-01-18 Jonathan Wakely <jwakely (a] redhat.com>
6522 1.1 mrg
6523 1.1 mrg PR libstdc++/87514
6524 1.1 mrg PR libstdc++/87520
6525 1.1 mrg PR libstdc++/88782
6526 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export new symbol.
6527 1.1 mrg * include/bits/shared_ptr.h
6528 1.1 mrg (shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...))
6529 1.1 mrg (allocate_shared): Change to use new tag type.
6530 1.1 mrg * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_eq):
6531 1.1 mrg Declare new member function.
6532 1.1 mrg (_Sp_alloc_shared_tag): Define new type.
6533 1.1 mrg (_Sp_counted_ptr_inplace): Declare __shared_count<_Lp> as a friend.
6534 1.1 mrg (_Sp_counted_ptr_inplace::_M_get_deleter) [!__cpp_rtti]: Use
6535 1.1 mrg _Sp_make_shared_tag::_S_eq to check type_info.
6536 1.1 mrg (__shared_count(Ptr, Deleter),__shared_count(Ptr, Deleter, Alloc)):
6537 1.1 mrg Constrain to prevent being called with _Sp_alloc_shared_tag.
6538 1.1 mrg (__shared_count(_Sp_make_shared_tag, const _Alloc&, Args&&...)):
6539 1.1 mrg Replace constructor with ...
6540 1.1 mrg (__shared_count(Tp*&, _Sp_alloc_shared_tag<_Alloc>, Args&&...)): Use
6541 1.1 mrg reference parameter so address of the new object can be returned to
6542 1.1 mrg the caller. Obtain the allocator from the tag type.
6543 1.1 mrg (__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Replace
6544 1.1 mrg constructor with ...
6545 1.1 mrg (__shared_ptr(_Sp_alloc_shared_tag<Alloc>, Args&&...)): Pass _M_ptr
6546 1.1 mrg to the __shared_count constructor.
6547 1.1 mrg (__allocate_shared): Change to use new tag type.
6548 1.1 mrg * src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq): Define.
6549 1.1 mrg
6550 1.1 mrg 2019-01-17 Jonathan Wakely <jwakely (a] redhat.com>
6551 1.1 mrg
6552 1.1 mrg * src/c++17/fs_ops.cc
6553 1.1 mrg (equivalent(const path&, const path&, error_code&))
6554 1.1 mrg [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use GetFileInformationByHandle to
6555 1.1 mrg compare files instead of relying on incomplete info returned by stat.
6556 1.1 mrg
6557 1.1 mrg PR libstdc++/88884
6558 1.1 mrg * src/c++17/fs_ops.cc (absolute(const path&, error_code&)): Do nothing
6559 1.1 mrg if the path is already absolute.
6560 1.1 mrg [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Normalize root-directory.
6561 1.1 mrg [!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Pass error_code to current_path.
6562 1.1 mrg
6563 1.1 mrg PR libstdc++/88881
6564 1.1 mrg * src/c++17/fs_ops.cc (canonical(const path&, error_code&))
6565 1.1 mrg [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Normalize path, to match behaviour
6566 1.1 mrg of filesystem::exists.
6567 1.1 mrg (create_directories(const path&, error_code&)): Add assertions.
6568 1.1 mrg (status(const path&, error_code&)) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]:
6569 1.1 mrg Add workaround for bug in _wstat for paths with trailing slash.
6570 1.1 mrg * testsuite/27_io/filesystem/operations/create_directories.cc: Adjust
6571 1.1 mrg for expected behaviour on mingw.
6572 1.1 mrg * testsuite/experimental/filesystem/operations/create_directories.cc:
6573 1.1 mrg Likewise.
6574 1.1 mrg * testsuite/27_io/filesystem/operations/temp_directory_path.cc: Use
6575 1.1 mrg "TMP" instead of "TMPDIR" and clean environment before each test. Do
6576 1.1 mrg not test permissions on mingw targets.
6577 1.1 mrg
6578 1.1 mrg 2019-01-16 Jonathan Wakely <jwakely (a] redhat.com>
6579 1.1 mrg
6580 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Add exports for fstream
6581 1.1 mrg constructors and open members taking wide strings. Fix patterns for
6582 1.1 mrg filesystem::path members to match wstring_view parameters. Add
6583 1.1 mrg exports for shared_ptr members used by directory iterators.
6584 1.1 mrg * src/c++17/fs_ops.cc (remove(const path&, error_code&)): Clear the
6585 1.1 mrg error code parameter if the file doesn't exist.
6586 1.1 mrg * src/filesystem/ops.cc (remove(const path&, error_code&)):
6587 1.1 mrg Likewise.
6588 1.1 mrg * testsuite/27_io/filesystem/operations/canonical.cc: Fix expected
6589 1.1 mrg values for mingw targets, where "/" is not an absolute path. Do not
6590 1.1 mrg test symlinks on mingw targets.
6591 1.1 mrg * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
6592 1.1 mrg * testsuite/27_io/filesystem/operations/copy.cc: Do not test symlinks
6593 1.1 mrg on mingw targets.
6594 1.1 mrg * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
6595 1.1 mrg * testsuite/27_io/filesystem/operations/create_directories.cc: Check
6596 1.1 mrg that each component of the path is created.
6597 1.1 mrg * testsuite/experimental/filesystem/operations/create_directories.cc:
6598 1.1 mrg Likewise.
6599 1.1 mrg * testsuite/27_io/filesystem/operations/exists.cc: Do not test
6600 1.1 mrg permissions on mingw targets.
6601 1.1 mrg * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
6602 1.1 mrg * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
6603 1.1 mrg * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
6604 1.1 mrg * testsuite/27_io/filesystem/operations/permissions.cc: XFAIL for
6605 1.1 mrg mingw targets.
6606 1.1 mrg * testsuite/experimental/filesystem/operations/permissions.cc:
6607 1.1 mrg Likewise.
6608 1.1 mrg * testsuite/27_io/filesystem/operations/remove.cc: Do not test
6609 1.1 mrg symlinks or permissions on mingw targets.
6610 1.1 mrg * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
6611 1.1 mrg * testsuite/27_io/filesystem/operations/remove_all.cc: Do not test
6612 1.1 mrg symlinks on mingw targets.
6613 1.1 mrg * testsuite/experimental/filesystem/operations/remove_all.cc:
6614 1.1 mrg Likewise.
6615 1.1 mrg * testsuite/27_io/filesystem/operations/status.cc: Do not test
6616 1.1 mrg permissions on mingw targets.
6617 1.1 mrg * testsuite/27_io/filesystem/operations/weakly_canonical.cc: Do not
6618 1.1 mrg test symlinks on mingw targets.
6619 1.1 mrg * testsuite/experimental/filesystem/operations/space.cc: Fix test
6620 1.1 mrg for mingw targets.
6621 1.1 mrg
6622 1.1 mrg 2019-02-14 Ulrich Drepper <drepper (a] redhat.com>
6623 1.1 mrg
6624 1.1 mrg PR libstdc++/88738
6625 1.1 mrg Warn about unused comparisons of shared_ptr/unique_ptr
6626 1.1 mrg * include/bits/c++config [_GLIBCXX_NODISCARD]: Define.
6627 1.1 mrg * include/bits/shared_ptr.h: Use it for operator ==, !=,
6628 1.1 mrg <, <=, >, >= for shared_ptr.
6629 1.1 mrg * include/bits/unique_ptr.h: Likewise for unique_ptr.
6630 1.1 mrg
6631 1.1 mrg 2019-01-15 Jonathan Wakely <jwakely (a] redhat.com>
6632 1.1 mrg
6633 1.1 mrg * include/bits/shared_ptr_base.h (__cpp_lib_shared_ptr_arrays): Define
6634 1.1 mrg as 201611L, because P0497R0 changes are supported.
6635 1.1 mrg * include/std/version (__cpp_lib_shared_ptr_arrays): Likewise.
6636 1.1 mrg
6637 1.1 mrg * include/bits/erase_if.h [__cplusplus > 201703L]
6638 1.1 mrg (__cpp_lib_erase_if): Only define for C++2a.
6639 1.1 mrg * include/std/iterator [__cplusplus >= 201402L && !_GLIBCXX_DEBUG]
6640 1.1 mrg (__cpp_lib_null_iterators): Define.
6641 1.1 mrg * include/std/version [__cplusplus >= 201402L && !_GLIBCXX_DEBUG]
6642 1.1 mrg (__cpp_lib_null_iterators): Define.
6643 1.1 mrg [__cpp_impl_destroying_delete] (__cpp_lib_destroying_delete): Define.
6644 1.1 mrg
6645 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
6646 1.1 mrg status.
6647 1.1 mrg * include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
6648 1.1 mrg Define.
6649 1.1 mrg * include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3
6650 1.1 mrg changes are supported.
6651 1.1 mrg * include/std/optional (__cpp_lib_optional): Likewise.
6652 1.1 mrg * include/std/variant (__cpp_lib_variant): Likewise.
6653 1.1 mrg * include/std/version [!__STRICT_ANSI__]
6654 1.1 mrg (__cpp_lib_uncaught_exceptions): Define as long integer.
6655 1.1 mrg [__cplusplus >= 201703L] (__cpp_lib_any)
6656 1.1 mrg (__cpp_lib_raw_memory_algorithms, __cpp_lib_uncaught_exceptions)
6657 1.1 mrg (__cpp_lib_variant): Define for C++17.
6658 1.1 mrg [__cplusplus >= 201703L] (__cpp_lib_optional): Update value and define
6659 1.1 mrg as long integer.
6660 1.1 mrg * libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long
6661 1.1 mrg integer.
6662 1.1 mrg
6663 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update P1123R0 status.
6664 1.1 mrg
6665 1.1 mrg 2019-01-12 Jonathan Wakely <jwakely (a] redhat.com>
6666 1.1 mrg
6667 1.1 mrg PR libstdc++/88811
6668 1.1 mrg PR libstdc++/83306
6669 1.1 mrg * src/filesystem/path.cc: Fix typo. If first path is empty, show []
6670 1.1 mrg before second path.
6671 1.1 mrg * testsuite/experimental/filesystem/filesystem_error/cons.cc: New
6672 1.1 mrg test.
6673 1.1 mrg
6674 1.1 mrg 2019-01-11 Jonathan Wakely <jwakely (a] redhat.com>
6675 1.1 mrg
6676 1.1 mrg * doc/xml/manual/intro.xml: Include new section.
6677 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Document more
6678 1.1 mrg implementation-defined properties of the library.
6679 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Document C++2a status.
6680 1.1 mrg * doc/html/*: Regenerate.
6681 1.1 mrg
6682 1.1 mrg * include/bits/refwrap.h [__cplusplus > 201703L]
6683 1.1 mrg (_Refwrap_base_arg1, _Refwrap_base_arg2, _Reference_wrapper_base)
6684 1.1 mrg (_Reference_wrapper_base_memfun): Do not define for C++2a.
6685 1.1 mrg (reference_wrapper): Do not derive from _Reference_wrapper_base_memfun
6686 1.1 mrg for C++2a.
6687 1.1 mrg (reference_wrapper::operator()): Add static assertion.
6688 1.1 mrg * testsuite/20_util/reference_wrapper/incomplete.cc: New test.
6689 1.1 mrg
6690 1.1 mrg * include/std/chrono (duration_values::zero(), duration_values::min())
6691 1.1 mrg (duration_values::max()): Add noexcept.
6692 1.1 mrg (duration::zero(), duration::min(), duration::max()): Likewise.
6693 1.1 mrg (time_point::zero(), time_point::min(), time_point::max()): Likewise.
6694 1.1 mrg * testsuite/20_util/duration/requirements/noexcept.cc: New test.
6695 1.1 mrg * testsuite/20_util/time_point/requirements/noexcept.cc: New test.
6696 1.1 mrg
6697 1.1 mrg * include/std/version (__cpp_lib_erase_if): Move to C++20 group.
6698 1.1 mrg
6699 1.1 mrg 2019-01-11 Jakub Jelinek <jakub (a] redhat.com>
6700 1.1 mrg
6701 1.1 mrg * include/std/type_traits (__cpp_lib_is_constant_evaluated): Define.
6702 1.1 mrg * include/std/version (__cpp_lib_is_constant_evaluated): Define.
6703 1.1 mrg
6704 1.1 mrg 2019-01-11 Jonathan Wakely <jwakely (a] redhat.com>
6705 1.1 mrg
6706 1.1 mrg PR libstdc++/88802
6707 1.1 mrg * include/bits/functional_hash.h (hash<nullptr_t>): Define
6708 1.1 mrg specialization for C++17 (P0513R0, LWG 2817).
6709 1.1 mrg * testsuite/20_util/hash/nullptr.cc: New test.
6710 1.1 mrg
6711 1.1 mrg PR libstdc++/88125
6712 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.6): Remove unused duplicate
6713 1.1 mrg pattern for std::basic_stringbuf::str().
6714 1.1 mrg
6715 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4): Correct recent changes to
6716 1.1 mrg basic_ostream::operator<< patterns.
6717 1.1 mrg
6718 1.1 mrg 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
6719 1.1 mrg
6720 1.1 mrg * testsuite/27_io/filesystem/operations/last_write_time.cc: Fix
6721 1.1 mrg test failures on targets with 32-bit time_t.
6722 1.1 mrg
6723 1.1 mrg * include/bits/erase_if.h: Define __cpp_lib_erase_if.
6724 1.1 mrg * include/std/deque: Likewise.
6725 1.1 mrg * include/std/forward_list: Likewise.
6726 1.1 mrg * include/std/list: Likewise.
6727 1.1 mrg * include/std/string: Likewise.
6728 1.1 mrg * include/std/vector: Likewise.
6729 1.1 mrg * include/std/version: Likewise.
6730 1.1 mrg * testsuite/21_strings/basic_string/erasure.cc: Test macro.
6731 1.1 mrg * testsuite/23_containers/deque/erasure.cc: Likewise.
6732 1.1 mrg * testsuite/23_containers/forward_list/erasure.cc: Likewise.
6733 1.1 mrg * testsuite/23_containers/list/erasure.cc: Likewise.
6734 1.1 mrg * testsuite/23_containers/map/erasure.cc: Likewise.
6735 1.1 mrg * testsuite/23_containers/set/erasure.cc: Likewise.
6736 1.1 mrg * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
6737 1.1 mrg * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
6738 1.1 mrg * testsuite/23_containers/vector/erasure.cc: Likewise.
6739 1.1 mrg
6740 1.1 mrg * include/experimental/internet [AI_NUMERICSERV]
6741 1.1 mrg (resolver_base::numeric_service): Define conditionally.
6742 1.1 mrg * testsuite/experimental/net/internet/resolver/base.cc: Test it
6743 1.1 mrg conditionally.
6744 1.1 mrg * testsuite/experimental/net/internet/resolver/ops/lookup.cc:
6745 1.1 mrg Likewise.
6746 1.1 mrg
6747 1.1 mrg 2019-01-10 Ville Voutilainen <ville.voutilainen (a] gmail.com>
6748 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com>
6749 1.1 mrg
6750 1.1 mrg Implement LWG 2221
6751 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4): Tighten patterns.
6752 1.1 mrg (GLIBCXX_3.4.26): Add new exports.
6753 1.1 mrg * include/Makefile.am: Add ostream-inst.cc. Move string-inst.cc to
6754 1.1 mrg correct list of sources.
6755 1.1 mrg * include/Makefile.in: Regenerate.
6756 1.1 mrg * include/std/ostream (operator<<(nullptr_t)): New member function.
6757 1.1 mrg * src/c++17/ostream-inst.cc: New file.
6758 1.1 mrg * testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc: New
6759 1.1 mrg test.
6760 1.1 mrg
6761 1.1 mrg 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
6762 1.1 mrg
6763 1.1 mrg * testsuite/util/testsuite_fs.h (nonexistent_path): Include name
6764 1.1 mrg of the source file containing the caller.
6765 1.1 mrg * testsuite/27_io/filesystem/iterators/directory_iterator.cc: Remove
6766 1.1 mrg directories created by test.
6767 1.1 mrg * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
6768 1.1 mrg Likewise.
6769 1.1 mrg * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
6770 1.1 mrg Likewise.
6771 1.1 mrg * testsuite/experimental/filesystem/iterators/
6772 1.1 mrg recursive_directory_iterator.cc: Likewise.
6773 1.1 mrg
6774 1.1 mrg 2019-01-10 Jakub Jelinek <jakub (a] redhat.com>
6775 1.1 mrg
6776 1.1 mrg PR tree-optimization/88775
6777 1.1 mrg * include/bits/stl_function.h (greater<_Tp*>::operator(),
6778 1.1 mrg less<_Tp*>::operator(), greater_equal<_Tp*>::operator(),
6779 1.1 mrg less_equal<_Tp*>::operator()): Use __builtin_is_constant_evaluated
6780 1.1 mrg instead of __builtin_constant_p if available. Don't bother with
6781 1.1 mrg the pointer comparison in C++11 and earlier.
6782 1.1 mrg
6783 1.1 mrg 2019-01-09 Sandra Loosemore <sandra (a] codesourcery.com>
6784 1.1 mrg
6785 1.1 mrg PR other/16615
6786 1.1 mrg
6787 1.1 mrg * include/ext/bitmap_allocator.h: Mechanically replace "can not"
6788 1.1 mrg with "cannot".
6789 1.1 mrg
6790 1.1 mrg 2019-01-09 Jonathan Wakely <jwakely (a] redhat.com>
6791 1.1 mrg
6792 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx17.cc: Fix expected output
6793 1.1 mrg for filesystem::path. Give variables more distinctive names.
6794 1.1 mrg
6795 1.1 mrg * include/std/optional (_Optional_payload_base::_M_copy_assign): New
6796 1.1 mrg member function to perform non-trivial assignment.
6797 1.1 mrg (_Optional_payload_base::_M_move_assign): Likewise.
6798 1.1 mrg (_Optional_payload<T, true, false, true>::operator=)
6799 1.1 mrg (_Optional_payload<T, true, true, false>::operator=)
6800 1.1 mrg (_Optional_payload<T, true, false, false>::operator=): Call
6801 1.1 mrg _M_copy_assign and/or _M_move_assign to do non-trivial assignments.
6802 1.1 mrg
6803 1.1 mrg PR libstdc++/88204
6804 1.1 mrg * testsuite/26_numerics/complex/operators/more_constexpr.cc: Do not
6805 1.1 mrg test std::complex<long double> if long double format is IBM128.
6806 1.1 mrg * testsuite/26_numerics/complex/requirements/more_constexpr.cc:
6807 1.1 mrg Likewise.
6808 1.1 mrg
6809 1.1 mrg 2019-01-08 Jonathan Wakely <jwakely (a] redhat.com>
6810 1.1 mrg
6811 1.1 mrg * testsuite/libstdc++-prettyprinters/compat.cc: Test printer support
6812 1.1 mrg for old std::unique_ptr layout.
6813 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx17.cc: Fix std::variant test
6814 1.1 mrg to become valueless. Add filesystem::path tests.
6815 1.1 mrg
6816 1.1 mrg PR libstdc++/87855
6817 1.1 mrg * include/std/optional (_Optional_payload_base): New class template
6818 1.1 mrg for common code hoisted from _Optional_payload specializations. Use
6819 1.1 mrg a template for the union, to allow a partial specialization for
6820 1.1 mrg types with non-trivial destructors. Add constructors for in-place
6821 1.1 mrg initialization to the union.
6822 1.1 mrg (_Optional_payload(bool, const _Optional_payload&)): Use _M_construct
6823 1.1 mrg to perform non-trivial copy construction, instead of relying on
6824 1.1 mrg non-standard copy elision in a delegating constructor.
6825 1.1 mrg (_Optional_payload(bool, _Optional_payload&&)): Likewise for
6826 1.1 mrg non-trivial move construction.
6827 1.1 mrg (_Optional_payload): Derive from _Optional_payload_base and use it
6828 1.1 mrg for everything except the non-trivial assignment operators, which are
6829 1.1 mrg defined as needed.
6830 1.1 mrg (_Optional_payload<false, C, M>): Derive from the specialization
6831 1.1 mrg _Optional_payload<true, false, false> and add a destructor.
6832 1.1 mrg (_Optional_base_impl::_M_destruct, _Optional_base_impl::_M_reset):
6833 1.1 mrg Forward to corresponding members of _Optional_payload.
6834 1.1 mrg (_Optional_base_impl::_M_is_engaged, _Optional_base_impl::_M_get):
6835 1.1 mrg Hoist common members from _Optional_base.
6836 1.1 mrg (_Optional_base): Make all members and base class public.
6837 1.1 mrg (_Optional_base::_M_get, _Optional_base::_M_is_engaged): Move to
6838 1.1 mrg _Optional_base_impl.
6839 1.1 mrg * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Add
6840 1.1 mrg support for new std::optional layout.
6841 1.1 mrg * testsuite/libstdc++-prettyprinters/compat.cc: New test.
6842 1.1 mrg
6843 1.1 mrg PR libstdc++/88066
6844 1.1 mrg * include/bits/locale_conv.h: Use <> for includes not "".
6845 1.1 mrg * include/ext/random: Likewise.
6846 1.1 mrg * include/ext/vstring.h: Likewise.
6847 1.1 mrg
6848 1.1 mrg 2019-01-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6849 1.1 mrg
6850 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4): Tighten existing patterns.
6851 1.1 mrg (GLIBCXX_3.4.21): Likewise.
6852 1.1 mrg
6853 1.1 mrg 2019-01-08 Jonathan Wakely <jwakely (a] redhat.com>
6854 1.1 mrg
6855 1.1 mrg PR libstdc++/88749
6856 1.1 mrg * src/filesystem/ops.cc (last_write_time): Fix preprocessor condition
6857 1.1 mrg to match the one that controls whether utimbuf and utime are declared.
6858 1.1 mrg
6859 1.1 mrg 2019-01-07 Jonathan Wakely <jwakely (a] redhat.com>
6860 1.1 mrg
6861 1.1 mrg PR libstdc++/87787
6862 1.1 mrg * include/bits/char_traits.h (char_traits::move): Do not pass null
6863 1.1 mrg pointers to memmove.
6864 1.1 mrg * include/bits/locale_facets.h
6865 1.1 mrg (ctype<char>::widen(const char*, const char*, char*)): Do not
6866 1.1 mrg pass null pointers to memcpy.
6867 1.1 mrg (ctype<char>::narrow(const char*, const char*, char, char*)):
6868 1.1 mrg Likewise.
6869 1.1 mrg (ctype<char>::do_widen(const char*, const char*, char*)):
6870 1.1 mrg Likewise.
6871 1.1 mrg (ctype<char>::do_narrow(const char*, const char*, char, char*)):
6872 1.1 mrg Likewise.
6873 1.1 mrg
6874 1.1 mrg * doc/xml/manual/spine.xml: Update copyright years.
6875 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Adjust note about -lstdc++fs.
6876 1.1 mrg * doc/xml/manual/using.xml: Remove requirement to link with -lstdc++fs
6877 1.1 mrg for C++17 filesystem library.
6878 1.1 mrg * doc/html/*: Regenerate.
6879 1.1 mrg
6880 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for truncate.
6881 1.1 mrg * config.h.in: Regenerate.
6882 1.1 mrg * config/abi/pre/gnu.ver: Order patterns for filesystem operations
6883 1.1 mrg alphabetically and add missing entries for copy_symlink,
6884 1.1 mrg hard_link_count, rename, and resize_file.
6885 1.1 mrg * configure: Regenerate.
6886 1.1 mrg * src/c++17/fs_ops.cc (resize_file): Remove #if so posix::truncate is
6887 1.1 mrg used unconditionally.
6888 1.1 mrg * src/filesystem/ops-common.h (__gnu_posix::truncate)
6889 1.1 mrg [!_GLIBCXX_HAVE_TRUNCATE]: Provide fallback definition that only
6890 1.1 mrg supports truncating to zero length.
6891 1.1 mrg * testsuite/27_io/filesystem/operations/all.cc: New test.
6892 1.1 mrg * testsuite/27_io/filesystem/operations/resize_file.cc: New test.
6893 1.1 mrg
6894 1.1 mrg 2019-01-06 Jonathan Wakely <jwakely (a] redhat.com>
6895 1.1 mrg
6896 1.1 mrg PR libstdc++/86756
6897 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for utime and
6898 1.1 mrg lstat and define _GLIBCXX_USE_UTIME and _GLIBCXX_USE_LSTAT.
6899 1.1 mrg * config.h.in: Regenerate.
6900 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export symbols for
6901 1.1 mrg remaining std::filesystem types and functions.
6902 1.1 mrg * configure: Regenerate.
6903 1.1 mrg * src/c++17/Makefile.am: Add C++17 filesystem sources.
6904 1.1 mrg * src/c++17/Makefile.in: Regenerate.
6905 1.1 mrg * src/c++17/cow-fs_dir.cc: Move src/filesystem/cow-std-dir.cc to
6906 1.1 mrg here, and change name of included file.
6907 1.1 mrg * src/c++17/cow-fs_ops.cc: Move src/filesystem/cow-std-ops.cc to
6908 1.1 mrg here, and change name of included file.
6909 1.1 mrg * src/c++17/fs_dir.cc: Move src/filesystem/std-dir.cc to here. Change
6910 1.1 mrg path to dir-common.h.
6911 1.1 mrg * src/c++17/fs_ops.cc: Move src/filesystem/std-ops.cc to here. Change
6912 1.1 mrg path to ops-common.h. Disable -Wunused-parameter warnings.
6913 1.1 mrg (internal_file_clock): Define unconditionally.
6914 1.1 mrg [!_GLIBCXX_HAVE_SYS_STAT_H] (internal_file_clock::from_stat): Do not
6915 1.1 mrg define.
6916 1.1 mrg (do_copy_file, do_space): Move definitions to ops.common.h.
6917 1.1 mrg (copy, file_size, hard_link_count, last_write_time, space): Only
6918 1.1 mrg perform operation when _GLIBCXX_HAVE_SYS_STAT_H is defined, otherwise
6919 1.1 mrg report an error.
6920 1.1 mrg (last_write_time, read_symlink): Remove unused attributes from
6921 1.1 mrg parameters.
6922 1.1 mrg * src/filesystem/Makefile.am: Remove C++17 filesystem sources.
6923 1.1 mrg * src/filesystem/Makefile.in: Regenerate.
6924 1.1 mrg * src/filesystem/cow-std-dir.cc: Move to src/c++17/cow-fs_dir.cc.
6925 1.1 mrg * src/filesystem/cow-std-ops.cc: Move to src/c++17/cow-fs_ops.cc.
6926 1.1 mrg * src/filesystem/std-dir.cc: Move to src/c++17/fs_dir.cc.
6927 1.1 mrg * src/filesystem/std-ops.cc: Move to src/c++17/fs_ops.cc.
6928 1.1 mrg * src/filesystem/dir-common.h [!_GLIBCXX_HAVE_DIRENT_H]: Define
6929 1.1 mrg dummy types and functions instead of using #error.
6930 1.1 mrg * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H]: Use #error.
6931 1.1 mrg * src/filesystem/ops-common.h [!_GLIBCXX_USE_LSTAT] (lstat): Define
6932 1.1 mrg in terms of stat.
6933 1.1 mrg [!_GLIBCXX_HAVE_UNISTD_H]: Define dummy types and functions.
6934 1.1 mrg (do_copy_file, do_space): Move definitions here from std-ops.cc.
6935 1.1 mrg * src/filesystem/ops.cc: Adjust calls to do_copy_file and do_space
6936 1.1 mrg to account for new namespace.
6937 1.1 mrg * testsuite/27_io/filesystem/directory_entry/86597.cc: Remove
6938 1.1 mrg -lstdc++fs from dg-options.
6939 1.1 mrg * testsuite/27_io/filesystem/directory_entry/lwg3171.cc: Likewise.
6940 1.1 mrg * testsuite/27_io/filesystem/file_status/1.cc: Likewise.
6941 1.1 mrg * testsuite/27_io/filesystem/filesystem_error/cons.cc: Likewise.
6942 1.1 mrg * testsuite/27_io/filesystem/filesystem_error/copy.cc: Likewise.
6943 1.1 mrg * testsuite/27_io/filesystem/iterators/directory_iterator.cc:
6944 1.1 mrg Likewise.
6945 1.1 mrg * testsuite/27_io/filesystem/iterators/pop.cc: Likewise.
6946 1.1 mrg * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
6947 1.1 mrg Likewise.
6948 1.1 mrg * testsuite/27_io/filesystem/operations/absolute.cc: Likewise.
6949 1.1 mrg * testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
6950 1.1 mrg * testsuite/27_io/filesystem/operations/copy.cc: Likewise.
6951 1.1 mrg * testsuite/27_io/filesystem/operations/copy_file.cc: Likewise.
6952 1.1 mrg * testsuite/27_io/filesystem/operations/create_directories.cc:
6953 1.1 mrg Likewise.
6954 1.1 mrg * testsuite/27_io/filesystem/operations/create_directory.cc: Likewise.
6955 1.1 mrg * testsuite/27_io/filesystem/operations/create_symlink.cc: Likewise.
6956 1.1 mrg * testsuite/27_io/filesystem/operations/current_path.cc: Likewise.
6957 1.1 mrg * testsuite/27_io/filesystem/operations/equivalent.cc: Likewise.
6958 1.1 mrg * testsuite/27_io/filesystem/operations/exists.cc: Likewise.
6959 1.1 mrg * testsuite/27_io/filesystem/operations/file_size.cc: Likewise.
6960 1.1 mrg * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
6961 1.1 mrg * testsuite/27_io/filesystem/operations/last_write_time.cc: Likewise.
6962 1.1 mrg * testsuite/27_io/filesystem/operations/permissions.cc: Likewise.
6963 1.1 mrg * testsuite/27_io/filesystem/operations/proximate.cc: Likewise.
6964 1.1 mrg * testsuite/27_io/filesystem/operations/read_symlink.cc: Likewise.
6965 1.1 mrg * testsuite/27_io/filesystem/operations/relative.cc: Likewise.
6966 1.1 mrg * testsuite/27_io/filesystem/operations/remove.cc: Likewise.
6967 1.1 mrg * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
6968 1.1 mrg * testsuite/27_io/filesystem/operations/space.cc: Likewise.
6969 1.1 mrg * testsuite/27_io/filesystem/operations/status.cc: Likewise.
6970 1.1 mrg * testsuite/27_io/filesystem/operations/symlink_status.cc: Likewise.
6971 1.1 mrg * testsuite/27_io/filesystem/operations/temp_directory_path.cc:
6972 1.1 mrg Likewise.
6973 1.1 mrg * testsuite/27_io/filesystem/operations/weakly_canonical.cc: Likewise.
6974 1.1 mrg
6975 1.1 mrg
6976 1.1 mrg PR libstdc++/86756
6977 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4): Make various patterns for
6978 1.1 mrg typeinfo and vtables less greedy.
6979 1.1 mrg (GLIBCXX_3.4.26): Export symbols for std::filesystem::path.
6980 1.1 mrg * src/c++17/Makefile.am: Add fs_path.cc and cow-fs_path.cc.
6981 1.1 mrg * src/c++17/Makefile.in: Regenerate.
6982 1.1 mrg * src/c++17/cow-fs_path.cc: Move src/filesystem/cow-std-path.cc to
6983 1.1 mrg here, and change name of included file.
6984 1.1 mrg * src/c++17/fs_path.cc: Move src/filesystem/std-path.cc to here.
6985 1.1 mrg * src/filesystem/Makefile.am: Remove std-path.cc and cow-std-path.cc
6986 1.1 mrg from sources.
6987 1.1 mrg * src/filesystem/Makefile.in: Regenerate.
6988 1.1 mrg * src/filesystem/cow-std-path.cc: Move to src/c++17/cow-fs_path.cc.
6989 1.1 mrg * src/filesystem/std-path.cc: Move to src/c++17/fs_path.cc.
6990 1.1 mrg * testsuite/27_io/filesystem/path/append/path.cc: Remove -lstdc++fs
6991 1.1 mrg from dg-options and remove dg-require-filesystem-ts.
6992 1.1 mrg * testsuite/27_io/filesystem/path/append/source.cc: Likewise.
6993 1.1 mrg * testsuite/27_io/filesystem/path/assign/assign.cc: Likewise.
6994 1.1 mrg * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
6995 1.1 mrg * testsuite/27_io/filesystem/path/compare/compare.cc: Likewise.
6996 1.1 mrg * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
6997 1.1 mrg * testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
6998 1.1 mrg * testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
6999 1.1 mrg * testsuite/27_io/filesystem/path/concat/path.cc: Likewise.
7000 1.1 mrg * testsuite/27_io/filesystem/path/concat/strings.cc: Likewise.
7001 1.1 mrg * testsuite/27_io/filesystem/path/construct/80762.cc: Likewise.
7002 1.1 mrg * testsuite/27_io/filesystem/path/construct/copy.cc: Likewise.
7003 1.1 mrg * testsuite/27_io/filesystem/path/construct/default.cc: Likewise.
7004 1.1 mrg * testsuite/27_io/filesystem/path/construct/format.cc: Likewise.
7005 1.1 mrg * testsuite/27_io/filesystem/path/construct/locale.cc: Likewise.
7006 1.1 mrg * testsuite/27_io/filesystem/path/construct/range.cc: Likewise.
7007 1.1 mrg * testsuite/27_io/filesystem/path/construct/string_view.cc: Likewise.
7008 1.1 mrg * testsuite/27_io/filesystem/path/decompose/extension.cc: Likewise.
7009 1.1 mrg * testsuite/27_io/filesystem/path/decompose/filename.cc: Likewise.
7010 1.1 mrg * testsuite/27_io/filesystem/path/decompose/parent_path.cc: Likewise.
7011 1.1 mrg * testsuite/27_io/filesystem/path/decompose/relative_path.cc: Likewise.
7012 1.1 mrg * testsuite/27_io/filesystem/path/decompose/root_directory.cc:
7013 1.1 mrg Likewise.
7014 1.1 mrg * testsuite/27_io/filesystem/path/decompose/root_name.cc: Likewise.
7015 1.1 mrg * testsuite/27_io/filesystem/path/decompose/root_path.cc: Likewise.
7016 1.1 mrg * testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise.
7017 1.1 mrg * testsuite/27_io/filesystem/path/generation/normal.cc: Likewise.
7018 1.1 mrg * testsuite/27_io/filesystem/path/generation/normal2.cc: Likewise.
7019 1.1 mrg * testsuite/27_io/filesystem/path/generation/proximate.cc: Likewise.
7020 1.1 mrg * testsuite/27_io/filesystem/path/generation/relative.cc: Likewise.
7021 1.1 mrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: Likewise.
7022 1.1 mrg * testsuite/27_io/filesystem/path/itr/components.cc: Likewise.
7023 1.1 mrg * testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise.
7024 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise.
7025 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
7026 1.1 mrg Likewise.
7027 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc:
7028 1.1 mrg Likewise.
7029 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
7030 1.1 mrg Likewise.
7031 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
7032 1.1 mrg Likewise.
7033 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise.
7034 1.1 mrg * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
7035 1.1 mrg * testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise.
7036 1.1 mrg * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: Likewise.
7037 1.1 mrg * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
7038 1.1 mrg * testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
7039 1.1 mrg * testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
7040 1.1 mrg * testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
7041 1.1 mrg * testsuite/27_io/filesystem/path/query/has_relative_path.cc: Likewise.
7042 1.1 mrg * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
7043 1.1 mrg Likewise.
7044 1.1 mrg * testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
7045 1.1 mrg * testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
7046 1.1 mrg * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
7047 1.1 mrg * testsuite/27_io/filesystem/path/query/is_absolute.cc: Likewise.
7048 1.1 mrg * testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
7049 1.1 mrg
7050 1.1 mrg PR libstdc++/87431
7051 1.1 mrg * include/std/variant (_Variant_storage<true, _Types...>::_M_valid):
7052 1.1 mrg Check is_trivially_copyable instead of is_scalar.
7053 1.1 mrg (variant::emplace<N, Args>(Args&&...)): If construction of the new
7054 1.1 mrg contained value can throw and its type is trivially copyable then
7055 1.1 mrg construct into a temporary variant and move from it, to provide the
7056 1.1 mrg strong exception safety guarantee.
7057 1.1 mrg (variant::emplace<N, U, Args>(initializer_list<U>, Args&&...)):
7058 1.1 mrg Likewise.
7059 1.1 mrg * testsuite/20_util/variant/87431.cc: New test.
7060 1.1 mrg * testsuite/20_util/variant/run.cc: Adjust test so that throwing
7061 1.1 mrg conversion causes valueless state.
7062 1.1 mrg
7063 1.1 mrg PR libstdc++/88607
7064 1.1 mrg * testsuite/17_intro/headers/c++1998/charset.cc: New test.
7065 1.1 mrg * testsuite/17_intro/headers/c++2011/charset.cc: New test.
7066 1.1 mrg * testsuite/17_intro/headers/c++2014/charset.cc: New test.
7067 1.1 mrg * testsuite/17_intro/headers/c++2017/charset.cc: New test.
7068 1.1 mrg * testsuite/17_intro/headers/c++2020/charset.cc: New test.
7069 1.1 mrg
7070 1.1 mrg 2019-01-05 Jonathan Wakely <jwakely (a] redhat.com>
7071 1.1 mrg
7072 1.1 mrg * include/bits/fs_fwd.h (__file_clock): Define new clock.
7073 1.1 mrg (file_time_type): Redefine in terms of __file_clock.
7074 1.1 mrg * src/filesystem/ops-common.h (file_time): Add FIXME comment about
7075 1.1 mrg overflow.
7076 1.1 mrg * src/filesystem/std-ops.cc (is_set(perm_options, perm_options)): Give
7077 1.1 mrg internal linkage.
7078 1.1 mrg (internal_file_lock): New helper type for accessing __file_clock.
7079 1.1 mrg (do_copy_file): Use internal_file_lock to convert system time to
7080 1.1 mrg file_time_type.
7081 1.1 mrg (last_write_time(const path&, error_code&)): Likewise.
7082 1.1 mrg (last_write_time(const path&, file_time_type, error_code&)): Likewise.
7083 1.1 mrg
7084 1.1 mrg 2019-01-04 Jonathan Wakely <jwakely (a] redhat.com>
7085 1.1 mrg
7086 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Make patterns less greedy
7087 1.1 mrg for const member functions of std::basic_string.
7088 1.1 mrg (GLIBCXX_3.4.26): Export member functions of std::basic_string added
7089 1.1 mrg in C++17.
7090 1.1 mrg * include/bits/basic_string.h (basic_string(__sv_wrapper, const A&)):
7091 1.1 mrg Make non-standard constructor private.
7092 1.1 mrg [!_GLIBCXX_USE_CXX11_ABI] (basic_string(__sv_wrapper, const A&)):
7093 1.1 mrg Likewise.
7094 1.1 mrg * include/bits/basic_string.tcc (std::string, std::wstring): Declare
7095 1.1 mrg explicit instantiations for C++17 as well as earlier dialects.
7096 1.1 mrg * src/c++17/Makefile.am: Add new source files.
7097 1.1 mrg * src/c++17/Makefile.in: Regenerate.
7098 1.1 mrg * src/c++17/cow-string-inst.cc: New file defining explicit
7099 1.1 mrg instantiations for basic_string member functions added in C++17.
7100 1.1 mrg * src/c++17/string-inst.cc: Likewise.
7101 1.1 mrg
7102 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export allocator-extended
7103 1.1 mrg copy/move constructors for old std::basic_string.
7104 1.1 mrg * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
7105 1.1 mrg (basic_string::reference, basic_string::const_reference): Define
7106 1.1 mrg as plain references for C++11 and later.
7107 1.1 mrg (basic_string::basic_string()): Put constructor body outside
7108 1.1 mrg preprocessor conditional groups.
7109 1.1 mrg (basic_string::basic_string(basic_string&&)): Move _Alloc_hider
7110 1.1 mrg instead of copying it.
7111 1.1 mrg (basic_string::basic_string(const basic_string&, const _Alloc&)):
7112 1.1 mrg Define.
7113 1.1 mrg (basic_string::basic_string(basic_string&&, const _Alloc&)):
7114 1.1 mrg Define.
7115 1.1 mrg * include/bits/fs_path.h [!_GLIBCXX_USE_CXX11_ABI]: Remove special
7116 1.1 mrg cases for old basic_string.
7117 1.1 mrg * testsuite/21_strings/basic_string/cons/char/8.cc: Test
7118 1.1 mrg allocator-extended constructors unconditionally. Add extra members to
7119 1.1 mrg allocator type when using old string ABI.
7120 1.1 mrg * testsuite/21_strings/basic_string/allocator/71964.cc: Enable test
7121 1.1 mrg for old string ABI.
7122 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
7123 1.1 mrg
7124 1.1 mrg * testsuite/23_containers/list/61347.cc: Avoid spurious failure when
7125 1.1 mrg -fno-inline added to test flags.
7126 1.1 mrg
7127 1.1 mrg * testsuite/21_strings/basic_string/requirements/
7128 1.1 mrg explicit_instantiation/debug.cc: Remove XFAIL for old ABI.
7129 1.1 mrg
7130 1.1 mrg * testsuite/27_io/filesystem/filesystem_error/copy.cc: Fix static
7131 1.1 mrg assertion failures with old std::string ABI.
7132 1.1 mrg
7133 1.1 mrg * include/bits/fs_path.h (path::_List::erase): Replace both overloads
7134 1.1 mrg with ...
7135 1.1 mrg (path::pop_back(), path::_M_erase_from(const_iterator)): New member
7136 1.1 mrg functions that will only erase elements at the end.
7137 1.1 mrg * src/filesystem/std-path.cc (path::_List::_Impl::pop_back()): Define.
7138 1.1 mrg (path::_List::_Impl::_M_erase_from(const_iterator)): Define.
7139 1.1 mrg (path::_List::operator=(const _List&)): Use _M_erase_from(p) instead
7140 1.1 mrg of erase(p, end()).
7141 1.1 mrg (path::_List::pop_back()): Define.
7142 1.1 mrg (path::_List::_M_erase_from(const_iterator)): Define.
7143 1.1 mrg (path::operator/=(const path&)): Use pop_back to remove last component
7144 1.1 mrg and _M_erase_from to remove multiple components.
7145 1.1 mrg (path::_M_append(basic_string_view<value_type>)): Likewise.
7146 1.1 mrg (path::operator+=(const path&)): Likewise.
7147 1.1 mrg (path::_M_concat(basic_string_view<value_type>)): Likewise.
7148 1.1 mrg (path::remove_filename()): Likewise.
7149 1.1 mrg (path::lexically_normal()): Use _List::_Impl iterators instead of
7150 1.1 mrg path::iterator. Use pop_back to remove components from the end. Clear
7151 1.1 mrg trailing filename, instead of using erase(const_iterator) to remove
7152 1.1 mrg a non-final component.
7153 1.1 mrg * testsuite/27_io/filesystem/path/generation/normal.cc: Test
7154 1.1 mrg additional cases.
7155 1.1 mrg * testsuite/27_io/filesystem/path/generation/normal2.cc: New test.
7156 1.1 mrg
7157 1.1 mrg * src/filesystem/std-path.cc (path::operator+=(const path&)): Fix
7158 1.1 mrg incorrect treatment of empty filename after trailing slash.
7159 1.1 mrg * testsuite/27_io/filesystem/path/concat/path.cc: Test problem case.
7160 1.1 mrg
7161 1.1 mrg * testsuite/21_strings/basic_string/modifiers/assign/char/
7162 1.1 mrg move_assign_optim.cc: Avoid spurious failure when -fno-inline added
7163 1.1 mrg to test flags.
7164 1.1 mrg * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
7165 1.1 mrg move_assign_optim.cc: Likewise.
7166 1.1 mrg
7167 1.1 mrg 2019-01-03 Jonathan Wakely <jwakely (a] redhat.com>
7168 1.1 mrg Jakub Jelinek <jakub (a] redhat.com>
7169 1.1 mrg
7170 1.1 mrg PR libstdc++/88607
7171 1.1 mrg * include/experimental/memory: Replace UTF-8 quote characters.
7172 1.1 mrg * include/std/future: Replace UTF-8 "em dash" characters.
7173 1.1 mrg
7174 1.1 mrg 2019-01-03 Jonathan Wakely <jwakely (a] redhat.com>
7175 1.1 mrg
7176 1.1 mrg PR libstdc++/88607
7177 1.1 mrg * include/bits/forward_list.h: Replace UTF-8 "ligature fi" character.
7178 1.1 mrg * include/debug/forward_list: Likewise.
7179 1.1 mrg * include/experimental/bits/shared_ptr.h: Remove UTF-8 "section sign"
7180 1.1 mrg character.
7181 1.1 mrg * include/experimental/chrono: Likewise.
7182 1.1 mrg * include/experimental/functional: Likewise.
7183 1.1 mrg * include/experimental/ratio: Likewise.
7184 1.1 mrg * include/experimental/system_error: Likewise.
7185 1.1 mrg * include/experimental/tuple: Likewise.
7186 1.1 mrg * include/experimental/type_traits: Likewise.
7187 1.1 mrg * include/parallel/workstealing.h: Replace UTF-8 "en dash" character.
7188 1.1 mrg * include/parallel/multiseq_selection.h: Likewise.
7189 1.1 mrg
7190 1.1 mrg PR libstdc++/88681
7191 1.1 mrg * config/abi/pre/gnu.ver: Add missing exports.
7192 1.1 mrg * testsuite/22_locale/collate_byname/88681.cc: New test.
7193 1.1 mrg * testsuite/22_locale/time_get/get/char/88681.cc: New test.
7194 1.1 mrg * testsuite/22_locale/time_get/get/wchar_t/88681.cc: New test.
7195 1.1 mrg
7196 1.1 mrg 2019-01-02 Jonathan Wakely <jwakely (a] redhat.com>
7197 1.1 mrg
7198 1.1 mrg * testsuite/23_containers/map/cons/deduction.cc: Test deduction from
7199 1.1 mrg initializer_list<value_type> and from input iterator ranges.
7200 1.1 mrg * testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
7201 1.1 mrg
7202 1.1 mrg * testsuite/experimental/string_view/element_access/char/empty.cc:
7203 1.1 mrg Fix year range in copyright header.
7204 1.1 mrg
7205 1.1 mrg 2019-01-02 Joel Brobecker <brobecker (a] adacore.com>
7206 1.1 mrg
7207 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
7208 1.1 mrg Fix year range in copyright header.
7209 1.1 mrg
7210 1.1 mrg 2019-01-01 Jakub Jelinek <jakub (a] redhat.com>
7211 1.1 mrg
7212 1.1 mrg Update copyright years.
7213 1.1 mrg
7215 1.1 mrg Copyright (C) 2019-2020 Free Software Foundation, Inc.
7216 1.1 mrg
7217 1.1 mrg Copying and distribution of this file, with or without modification,
7218 1.1 mrg are permitted in any medium without royalty provided the copyright
7219 notice and this notice are preserved.
7220