]> gcc.gnu.org Git - gcc.git/blame - libstdc++-v3/ChangeLog
Regenerate gcc.pot.
[gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
6e81e015
GA
12021-04-19 H.J. Lu <hjl.tools@gmail.com>
2
3 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
4 Updated.
5
da946b41
GA
62021-04-17 Jakub Jelinek <jakub@redhat.com>
7
8 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
9 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
10
112021-04-17 Jakub Jelinek <jakub@redhat.com>
12
13 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
14 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
15 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
16 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
17 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
18 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
19
ee351f7f
GA
202021-04-15 Jonathan Wakely <jwakely@redhat.com>
21
22 * testsuite/lib/dg-options.exp (add_options_for_libatomic): Also
23 add libatomic options for 32-bit sparc*-*-linux-gnu.
24
252021-04-15 Jonathan Wakely <jwakely@redhat.com>
26
27 PR libstdc++/96657
28 * libsupc++/Makefile.am: Add atomicity.cc here.
29 * src/c++98/Makefile.am: Remove it from here.
30 * libsupc++/Makefile.in: Regenerate.
31 * src/c++98/Makefile.in: Regenerate.
32 * testsuite/18_support/exception_ptr/96657.cc: New test.
33
6d0d35d5
GA
342021-04-13 Jonathan Wakely <jwakely@redhat.com>
35
36 PR libstdc++/100060
37 * include/std/bit: Only include <ext/numeric_traits.h> for
38 hosted build, use <limits> otherwise.
39
402021-04-13 Jonathan Wakely <jwakely@redhat.com>
41
42 * doc/xml/manual/backwards_compatibility.xml: Remove porting
43 notes for libg++ and libstdc++-v2, and bibliography.
44 * doc/html/*: Regenerated.
45
287ad814
GA
462021-04-12 Jonathan Wakely <jwakely@redhat.com>
47
48 PR libstdc++/100044
49 * include/bits/ranges_util.h (__detail::__iterator_sentinel_pair):
50 Remove helper concept.
51 (subrange(_Pr), subrange(Pr, __make_unsigned_like<...>)): Remove
52 deduction guides, as per LWG 3404.
53 * testsuite/std/ranges/subrange/lwg3282_neg.cc: Check that class
54 template argument deduction fails.
55
562021-04-12 Jonathan Wakely <jwakely@redhat.com>
57
58 * testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc:
59 Adjust expected error for C++20 mode.
60 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc:
61 Likewise.
62
632021-04-12 Jonathan Wakely <jwakely@redhat.com>
64
65 PR libstdc++/99995
66 * testsuite/17_intro/headers/c++1998/49745.cc: Include all
67 standard headers and XFAIL for effective-target c++20.
68
3115aba8
GA
692021-04-09 François Dumont <fdumont@gcc.gnu.org>
70
71 PR libstdc++/99402
72 * include/debug/helper_functions.h (__can_advance(_InputIterator,
73 const std::pair<_Diff, _Distance_precision>&, int)): New.
74 (__can_advance(const _Safe_iterator<>&,
75 const std::pair<_Diff, _Distance_precision>&, int)): New.
76 * include/debug/macros.h (__glibcxx_check_can_increment_dist): New,
77 use latter.
78 (__glibcxx_check_can_increment_range): Adapt to use latter.
79 (__glibcxx_check_can_decrement_range): Likewise.
80 * include/debug/safe_iterator.h
81 (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
82 int)): New.
83 (__can_advance(const _Safe_iterator<>&,
84 const std::pair<_Diff, _Distance_precision>&, int)): New.
85 * include/debug/safe_iterator.tcc
86 (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
87 int)): New.
88 (_Safe_iterator<>::_M_valid_range(const _Safe_iterator<>&,
89 std::pair<difference_type, _Distance_precision>&, bool)): Adapt for
90 __dp_sign_max_size.
91 (__copy_move_a): Adapt to use __glibcxx_check_can_increment_dist.
92 (__copy_move_backward_a): Likewise.
93 (__equal_aux): Likewise.
94 * include/debug/stl_iterator.h (__can_advance(const std::reverse_iterator<>&,
95 const std::pair<_Diff, _Distance_precision>&, int)): New.
96 (__can_advance(const std::move_iterator<>&,
97 const std::pair<_Diff, _Distance_precision>&, int)): New.
98 * testsuite/25_algorithms/copy/debug/99402.cc: New test.
99
1002021-04-09 Jonathan Wakely <jwakely@redhat.com>
101
102 PR libstdc++/99985
103 * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): Fix
104 to be a valid constexpr function in C++11.
105 * testsuite/23_containers/unordered_set/cons/99985.cc: New test.
106
1072021-04-09 Jonathan Wakely <jwakely@redhat.com>
108
109 * include/bits/fs_fwd.h: Fix doxygen group command.
110 * include/bits/streambuf_iterator.h: Likewise.
111 * include/bits/uses_allocator_args.h: Likewise.
112 * include/std/memory: Likewise.
113 * include/tr1/complex: Likewise.
114
019a9220
GA
1152021-04-08 Jonathan Wakely <jwakely@redhat.com>
116
117 * include/bits/basic_string.h: Tweak doxygen comment.
118
1192021-04-08 Patrick Palka <ppalka@redhat.com>
120
121 * include/std/ranges (__detail::find): Define.
122 (split_view::_OuterIter::operator++): Apply proposed resolution
123 of LWG 3505.
124 * testsuite/std/ranges/adaptors/split.cc (test10): New test.
125
1262021-04-08 Patrick Palka <ppalka@redhat.com>
127
128 * include/std/ranges (__detail::find_if): Simplify.
129 (__detail::find_if_not): Likewise.
130 (__detail::min): Remove.
131 (__detail::mismatch): Simplify.
132 (take_view::size): Use std::min instead of __detail::min.
133
1342021-04-08 Patrick Palka <ppalka@redhat.com>
135
136 * include/std/ranges (__detail::__returnable_element): New
137 concept.
138 (elements_view): Use this concept in its constraints. Add
139 missing private access specifier.
140 (elements_view::_S_get_element): Define as per LWG 3502.
141 (elements_view::operator*, elements_view::operator[]): Use
142 _S_get_element.
143 (elements_view::operator++): Remove unnecessary constraint
144 as per LWG 3492.
145 * testsuite/std/ranges/adaptors/elements.cc (test05): New test.
146
1472021-04-08 Jonathan Wakely <jwakely@redhat.com>
148
149 * doc/Makefile.am (stamp-pdf-doxygen): Also grep for
150 out-of-memory error in log file.
151 * doc/Makefile.in: Regenerate.
152
1532021-04-08 Jonathan Wakely <jwakely@redhat.com>
154
155 * configure: Regenerate.
156
1572021-04-08 Jonathan Wakely <jwakely@redhat.com>
158
159 * include/bits/random.h: Fix doxygen group commands.
160 * include/bits/regex_constants.h: Likewise.
161 * include/tr1/random.h: Likewise.
162
1632021-04-08 Jonathan Wakely <jwakely@redhat.com>
164
165 * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()):
166 New function to determine noexcept-specifier for move
167 constructors.
168 (_Hashtable): Use _S_nothrow_move() on move constructors.
169 * testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc:
170 Correct static assertion message.
171 * testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc:
172 Likewise.
173 * testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc:
174 Likewise.
175 * testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc:
176 Likewise.
177
1782021-04-08 Patrick Palka <ppalka@redhat.com>
179
180 PR libstdc++/98384
181 * testsuite/20_util/to_chars/long_double.cc: Don't run the test
182 on targets without a large long double. XFAIL the execution on
183 targets with a non-conforming printf.
184
1852021-04-08 Patrick Palka <ppalka@redhat.com>
186
187 PR libstdc++/99433
188 * include/std/ranges (__adaptor::__maybe_refwrap): Remove.
189 (__adaptor::__adaptor_invocable): New concept.
190 (__adaptor::__adaptor_partial_app_viable): New concept.
191 (__adaptor::_RangeAdaptorClosure): Rewrite, turning it into a
192 non-template base class.
193 (__adaptor::_RangeAdaptor): Rewrite, turning it into a CRTP base
194 class template.
195 (__adaptor::_Partial): New class template that represents
196 partial application of a range adaptor non-closure.
197 (__adaptor::__pipe_invocable): New concept.
198 (__adaptor::_Pipe): New class template.
199 (__detail::__can_ref_view): New concept.
200 (__detail::__can_subrange): New concept.
201 (all): Replace the lambda here with ...
202 (_All): ... this functor. Add appropriate constraints.
203 (__detail::__can_filter_view): New concept.
204 (filter, _Filter): As in all/_All.
205 (__detail::__can_transform): New concept.
206 (transform, _Transform): As in all/_All.
207 (__detail::__can_take_view): New concept.
208 (take, _Take): As in all/_All.
209 (__detail::__can_take_while_view): New concept.
210 (take_while, _TakeWhile): As in all/_All.
211 (__detail::__can_drop_view): New concept.
212 (drop, _Drop): As in all/_All.
213 (__detail::__can_drop_while_view): New concept.
214 (drop_while, _DropWhile): As in all/_All.
215 (__detail::__can_join_view): New concept.
216 (join, _Join): As in all/_All.
217 (__detail::__can_split_view): New concept.
218 (split, _Split): As in all/_All. Rename template parameter
219 _Fp to _Pattern.
220 (__detail::__already_common): New concept.
221 (__detail::__can_common_view): New concept.
222 (common, _Common): As in all/_All.
223 (__detail::__can_reverse_view): New concept.
224 (reverse, _Reverse): As in all/_All.
225 (__detail::__can_elements_view): New concept.
226 (elements, _Elements): As in all/_All.
227 (keys, values): Adjust.
228 * testsuite/std/ranges/adaptors/99433.cc: New test.
229 * testsuite/std/ranges/adaptors/all.cc: No longer expect that
230 adding empty range adaptor closure objects to a pipeline doesn't
231 increase the size of the pipeline.
232 (test05): New test.
233 * testsuite/std/ranges/adaptors/common.cc (test03): New test.
234 * testsuite/std/ranges/adaptors/drop.cc (test09): New test.
235 * testsuite/std/ranges/adaptors/drop_while.cc (test04): New test.
236 * testsuite/std/ranges/adaptors/elements.cc (test04): New test.
237 * testsuite/std/ranges/adaptors/filter.cc (test06): New test.
238 * testsuite/std/ranges/adaptors/join.cc (test09): New test.
239 * testsuite/std/ranges/adaptors/p2281.cc: New test.
240 * testsuite/std/ranges/adaptors/reverse.cc (test07): New test.
241 * testsuite/std/ranges/adaptors/split.cc (test01, test04):
242 Adjust.
243 (test09): New test.
244 * testsuite/std/ranges/adaptors/split_neg.cc (test01): Adjust
245 expected error message.
246 (test02): Likewise. Extend test.
247 * testsuite/std/ranges/adaptors/take.cc (test06): New test.
248 * testsuite/std/ranges/adaptors/take_while.cc (test05): New test.
249 * testsuite/std/ranges/adaptors/transform.cc (test07, test08):
250 New test.
251
2522021-04-08 Jonathan Wakely <jwakely@redhat.com>
253
254 * include/std/string_view: Adjust Doxygen @file comment.
255
2562021-04-08 Jonathan Wakely <jwakely@redhat.com>
257
258 * include/std/type_traits (is_scoped_enum<T>): Constrain partial
259 specialization to not match incomplete enum types. Use a
260 requires-expression instead of instantiating is_convertible.
261 (is_scoped_enum<const T>): Add as workaround for PR c++/99968.
262 * testsuite/20_util/is_scoped_enum/value.cc: Check with
263 incomplete types and opaque-enum-declarations.
264
299859c2
GA
2652021-04-07 Jonathan Wakely <jwakely@redhat.com>
266
267 PR libstdc++/99805
268 * src/c++17/fs_path.cc (path::_M_split_cmpts): Do not call
269 non-const member on _M_pathname, to avoid copy-on-write.
270 * testsuite/27_io/filesystem/path/decompose/parent_path.cc:
271 Check construction from strings that might be shared.
272
8cac6af6
GA
2732021-04-06 Jonathan Wakely <jwakely@redhat.com>
274
275 * include/bits/move.h (forward, move, move_if_noexcept)
276 (addressof): Add _GLIBCXX_NODISCARD.
277 * include/bits/ranges_cmp.h (identity::operator()): Add
278 nodiscard attribute.
279 * include/c_global/cstddef (to_integer): Likewise.
280 * include/std/bit (bit_cast): Likewise.
281 * include/std/utility (as_const, to_underlying): Likewise.
282
2832021-04-06 Jonathan Wakely <jwakely@redhat.com>
284
285 * include/bits/move.h (forward): Change static_assert message
286 to be unambiguous about what must be true.
287 * testsuite/20_util/forward/c_neg.cc: Adjust dg-error.
288 * testsuite/20_util/forward/f_neg.cc: Likewise.
289
2902021-04-06 Jonathan Wakely <jwakely@redhat.com>
291
292 * include/bits/alloc_traits.h: Use markdown for code font.
293 * include/bits/basic_string.h: Fix @param names.
294 * include/bits/max_size_type.h: Remove period after @file.
295 * include/bits/regex.h: Fix duplicate @retval names, and rename.
296 * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Add
297 group open to match existing group close.
298 * include/ext/pb_ds/priority_queue.hpp: Add blank line before group
299 open.
300
8cac6af6
GA
3012021-04-06 Jonathan Wakely <jwakely@redhat.com>
302
303 * include/bits/atomic_base.h: Fix doxygen group close.
304 * include/bits/basic_ios.h: Likewise.
305 * include/bits/forward_list.h: Likewise.
306 * include/bits/fs_dir.h: Likewise.
307 * include/bits/fs_ops.h: Likewise.
308 * include/bits/fs_path.h: Likewise.
309 * include/bits/functional_hash.h: Likewise.
310 * include/bits/gslice.h: Likewise.
311 * include/bits/gslice_array.h: Likewise.
312 * include/bits/hashtable_policy.h: Likewise.
313 * include/bits/indirect_array.h: Likewise.
314 * include/bits/locale_classes.h: Likewise.
315 * include/bits/locale_facets.h: Likewise.
316 * include/bits/locale_facets_nonio.h: Likewise.
317 * include/bits/mask_array.h: Likewise.
318 * include/bits/refwrap.h: Likewise.
319 * include/bits/regex.h: Likewise.
320 * include/bits/regex_automaton.h: Likewise.
321 * include/bits/regex_compiler.h: Likewise.
322 * include/bits/regex_constants.h: Likewise.
323 * include/bits/regex_error.h: Likewise.
324 * include/bits/regex_executor.h: Likewise.
325 * include/bits/regex_scanner.h: Likewise.
326 * include/bits/shared_ptr.h: Likewise.
327 * include/bits/shared_ptr_atomic.h: Likewise.
328 * include/bits/shared_ptr_base.h: Likewise.
329 * include/bits/slice_array.h: Likewise.
330 * include/bits/specfun.h: Likewise.
331 * include/bits/std_function.h: Likewise.
332 * include/bits/std_mutex.h: Likewise.
333 * include/bits/stl_deque.h: Likewise.
334 * include/bits/stl_iterator.h: Likewise.
335 * include/bits/stl_iterator_base_types.h: Likewise.
336 * include/bits/stl_map.h: Likewise.
337 * include/bits/stl_multimap.h: Likewise.
338 * include/bits/stl_multiset.h: Likewise.
339 * include/bits/stl_numeric.h: Likewise.
340 * include/bits/stl_pair.h: Likewise.
341 * include/bits/stl_set.h: Likewise.
342 * include/bits/stl_uninitialized.h: Likewise.
343 * include/bits/stream_iterator.h: Likewise.
344 * include/bits/streambuf_iterator.h: Likewise.
345 * include/bits/unique_ptr.h: Likewise.
346 * include/bits/unordered_map.h: Likewise.
347 * include/bits/unordered_set.h: Likewise.
348 * include/decimal/decimal: Likewise.
349 * include/experimental/any: Likewise.
350 * include/experimental/array: Likewise.
351 * include/experimental/bits/fs_dir.h: Likewise.
352 * include/experimental/bits/fs_fwd.h: Likewise.
353 * include/experimental/bits/fs_ops.h: Likewise.
354 * include/experimental/bits/fs_path.h: Likewise.
355 * include/experimental/buffer: Likewise.
356 * include/experimental/internet: Likewise.
357 * include/experimental/optional: Likewise.
358 * include/experimental/propagate_const: Likewise.
359 * include/experimental/socket: Likewise.
360 * include/ext/pb_ds/assoc_container.hpp: Likewise.
361 * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
362 Likewise.
363 * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Likewise.
364 * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Likewise.
365 * include/ext/pb_ds/detail/types_traits.hpp: Likewise.
366 * include/ext/pb_ds/exception.hpp: Likewise.
367 * include/ext/pb_ds/priority_queue.hpp: Likewise.
368 * include/ext/pb_ds/tag_and_trait.hpp: Likewise.
369 * include/ext/random: Likewise.
370 * include/std/any: Likewise.
371 * include/std/atomic: Likewise.
372 * include/std/bitset: Likewise.
373 * include/std/chrono: Likewise.
374 * include/std/complex: Likewise.
375 * include/std/condition_variable: Likewise.
376 * include/std/fstream: Likewise.
377 * include/std/future: Likewise.
378 * include/std/iostream: Likewise.
379 * include/std/istream: Likewise.
380 * include/std/mutex: Likewise.
381 * include/std/numeric: Likewise.
382 * include/std/ostream: Likewise.
383 * include/std/ratio: Likewise.
384 * include/std/shared_mutex: Likewise.
385 * include/std/stdexcept: Likewise.
386 * include/std/streambuf: Likewise.
387 * include/std/system_error: Likewise.
388 * include/std/thread: Likewise.
389 * include/std/valarray: Likewise.
390 * include/std/variant: Likewise.
391 * include/tr1/cmath: Likewise.
392 * include/tr1/regex: Likewise.
393 * include/tr2/dynamic_bitset: Likewise.
394 * libsupc++/atomic_lockfree_defines.h: Likewise.
395 * libsupc++/exception: Likewise.
396 * libsupc++/exception.h: Likewise.
397 * libsupc++/exception_ptr.h: Likewise.
398 * libsupc++/nested_exception.h: Likewise.
399
95d217ab
GA
4002021-03-31 Alexandre Oliva <oliva@adacore.com>
401
402 * testsuite/30_threads/future/members/poll.cc: Use faster
403 after-ready call in the calibration loop.
404
65374af2
GA
4052021-03-29 Jonathan Wakely <jwakely@redhat.com>
406
407 * doc/xml/manual/status_cxx2017.xml: Adjust link for PSTL.
408 * doc/html/manual/status.html: Regenerate.
409
c4110112
GA
4102021-03-28 François Dumont <fdumont@gcc.gnu.org>
411
412 * include/debug/forward_list
413 (forward_list(forward_list&&, const allocator_type&)): Add noexcept qualification.
414 * include/debug/list (list(list&&, const allocator_type&)): Likewise and add
415 call to safe container allocator aware move constructor.
416 * include/debug/vector (vector(vector&&, const allocator_type&)):
417 Fix noexcept qualification.
418 * testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc:
419 Add allocator-extended move constructor noexceot qualification check.
420 * testsuite/23_containers/list/cons/noexcept_move_construct.cc: Likewise.
421
651684b4
GA
4222021-03-26 Jonathan Wakely <jwakely@redhat.com>
423
424 * src/c++11/random.cc (USE_LCG): Define when a pseudo-random
425 fallback is needed.
426 [USE_LCG] (bad_seed, construct_lcg_at, destroy_lcg_at, __lcg):
427 New helper functions and callback.
428 (random_device::_M_init): Add 'prng' and 'all' enumerators.
429 Replace switch with fallthrough with a series of 'if' statements.
430 [USE_LCG]: Construct an lcg_type engine and use __lcg when cpuid
431 checks fail.
432 (random_device::_M_init_pretr1) [USE_MT19937]: Accept "prng"
433 token.
434 (random_device::_M_getval): Check for callback unconditionally
435 and always pass _M_file pointer.
436 * testsuite/26_numerics/random/random_device/85494.cc: Remove
437 effective-target check. Use new random_device_available helper.
438 * testsuite/26_numerics/random/random_device/94087.cc: Likewise.
439 * testsuite/26_numerics/random/random_device/cons/default-cow.cc:
440 Remove effective-target check.
441 * testsuite/26_numerics/random/random_device/cons/default.cc:
442 Likewise.
443 * testsuite/26_numerics/random/random_device/cons/token.cc: Use
444 new random_device_available helper. Test "prng" token.
445 * testsuite/util/testsuite_random.h (random_device_available):
446 New helper function.
447
4493b1c1
GA
4482021-03-25 François Dumont <fdumont@gcc.gnu.org>
449
450 * include/debug/string
451 (basic_string(const basic_string&, const _Alloc&)): Define even if !_GLIBCXX_USE_CXX11_ABI.
452 (basic_string(basic_string&&, const _Alloc&)): Likewise and add noexcept qualification.
453 (basic_string<>::erase): Adapt to take __const_iterator.
454 (basic_string(const _CharT*, const _Allocator&)): Remove assign call.
455 (basic_string<>::insert(const_iterator, _InputIte, _InputIte)): Try to
456 remove iterator debug layer even if !_GLIBCXX_USE_CXX11_ABI.
457 [_GLIBCXX_USE_CHAR8_T] (__gnu_debug::u8string): New.
458 (__gnu_debug::u16string, __gnu_debug::u32string): New.
459 (std::hash<__gnu_debug::basic_string<>>): New partial specialization.
460 (std::__is_fast_hash<__gnu_debug::basic_string<>>): Likewise.
461 * testsuite/util/exception/safety.h
462 (erase_base<__gnu_debug::basic_string<>>): New partial specialization.
463 (insert_base<__gnu_debug::basic_string<>>): Likewise.
464 * testsuite/util/testsuite_container_traits.h (traits<__gnu_debug::basic_string<>>):
465 New partial specialization.
466 * testsuite/21_strings/basic_string/hash/debug.cc: New test.
467 * testsuite/21_strings/basic_string/requirements/citerators.cc:
468 Add test on __gnu_debug::string.
469 * testsuite/21_strings/basic_string/requirements/dr438/constructor.cc: Likewise.
470 * testsuite/21_strings/basic_string/requirements/exception/basic.cc: Likewise.
471 * testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc:
472 Likewise.
473 * testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc:
474 Likewise.
475 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc:
476 Likewise.
477 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc:
478 Likewise.
479 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc:
480 Likewise.
481 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc:
482 Likewise.
483 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc:
484 Likewise.
485 * testsuite/21_strings/basic_string/requirements/typedefs.cc: Likewise.
486
4872021-03-25 Jakub Jelinek <jakub@redhat.com>
488
489 PR c++/99672
490 * testsuite/18_support/source_location/consteval.cc (main): Adjust
491 expected column numbers.
492 * testsuite/18_support/source_location/1.cc (main): Likewise.
493
4942021-03-25 Jonathan Wakely <jwakely@redhat.com>
495
496 * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare malloc.
497
4982021-03-25 Jonathan Wakely <jwakely@redhat.com>
499
500 * testsuite/util/exception/safety.h (setup_base::generate):
501 Support seeding random engine.
502 (erase_point, erase_range): Adjust range of random numbers to
503 ensure dereferenceable iterators are used where required.
504 (generation_prohibited::run): Do not try to erase from empty
505 containers.
506 * testsuite/util/testsuite_containergen.h (test_containers):
507 Support seeding random engine.
508
bf1f3168
GA
5092021-03-23 Jonathan Wakely <jwakely@redhat.com>
510
511 * testsuite/std/ranges/adaptors/reverse.cc: Replace duplicated
512 line with a check that uses the const being/end overloads.
513
5142021-03-23 Moritz Sichert <sichert@in.tum.de>
515
516 * include/std/ranges (reverse_view::begin, reverse_view::end):
517 Qualify make_reverse_iterator calls to avoid ADL.
518 * testsuite/std/ranges/adaptors/reverse.cc: Test that
519 views::reverse works when make_reverse_iterator is defined
520 in an associated namespace.
521
5222021-03-23 Jonathan Wakely <jwakely@redhat.com>
523
524 * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT):
525 Do not define when compiling with Clang.
526
8b744f46
GA
5272021-03-22 Jonathan Wakely <jwakely@redhat.com>
528
529 * include/std/string_view (basic_string_view(Range&&)): Define new
530 constructor and deduction guide.
531 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: New test.
532 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: New test.
533
5342021-03-22 Jonathan Wakely <jwakely@redhat.com>
535
536 * include/bits/range_access.h (begin(T (&)[N]), end(T (&)[N])):
537 Add missing 'noexcept' as per LWG 2280.
538 (rbegin(T (&)[N]), rend(T (&)[N]), rbegin(initializer_list<T>))
539 (rend(initializer_list<T>)): Add 'noexcept' as per LWG 3537.
540 * testsuite/24_iterators/range_access/range_access.cc: Check for
541 expected noexcept specifiers. Check result types of generic
542 std::begin and std::end overloads.
543 * testsuite/24_iterators/range_access/range_access_cpp14.cc:
544 Check for expected noexcept specifiers.
545 * testsuite/24_iterators/range_access/range_access_cpp17.cc:
546 Likewise.
547
5f256a70
GA
5482021-03-19 Jonathan Wakely <jwakely@redhat.com>
549
550 * include/std/type_traits (is_scoped_enum): Define.
551 * include/std/version (__cpp_lib_is_scoped_enum): Define.
552 * testsuite/20_util/is_scoped_enum/value.cc: New test.
553 * testsuite/20_util/is_scoped_enum/version.cc: New test.
554
bc212776
GA
5552021-03-16 Jonathan Wakely <jwakely@redhat.com>
556
557 PR libstdc++/99341
558 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Remove
559 std::once_flag symbols.
560 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
561 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
562 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
563 Likewise.
564 * config/abi/pre/gnu.ver: Likewise.
565 * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
566 (struct __once_flag_compat): Remove.
567 (_ZNSt9once_flag11_M_activateEv): Remove.
568 (_ZNSt9once_flag9_M_finishEb): Remove.
569
5702021-03-16 Jonathan Wakely <jwakely@redhat.com>
571
572 PR libstdc++/99341
573 * include/std/mutex [_GLIBCXX_HAVE_LINUX_FUTEX] (once_flag):
574 Revert to pthread_once_t implementation.
575 [_GLIBCXX_HAVE_LINUX_FUTEX] (call_once): Likewise.
576 * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
577 (struct __once_flag_compat): New type matching the reverted
578 implementation of once_flag using futexes.
579 (once_flag::_M_activate): Remove, replace with ...
580 (_ZNSt9once_flag11_M_activateEv): ... alias symbol.
581 (once_flag::_M_finish): Remove, replace with ...
582 (_ZNSt9once_flag9_M_finishEb): ... alias symbol.
583 * testsuite/30_threads/call_once/66146.cc: Removed.
584
3c5b6d24
GA
5852021-03-15 Iain Sandoe <iain@sandoe.co.uk>
586
587 * testsuite/17_intro/names.cc: Exclude j from the list
588 of test symbols for Darwin.
589
5902021-03-15 Iain Sandoe <iain@sandoe.co.uk>
591
592 * config/os/bsd/darwin/ppc-extra.ver: Add matching for
593 to_chars and from_chars for long double.
594
5952021-03-15 Patrick Palka <ppalka@redhat.com>
596
597 * include/bits/max_size_type.h (__max_size_type::operator _Tp):
598 Fix formatting.
599 (__max_size_type::operator++): Define.
600 (__max_size_type::operator--): Likewise.
601 (__max_size_type::operator<=>): Conditionally define (in place
602 of the other comparison operators).
603 (__max_diff_type::operator _Tp): Fix formatting.
604 (__max_diff_type::operator++): Define.
605 (__max_diff_type::operator--): Likewise.
606 (__max_diff_type::operator<=>): Conditionally define (in place
607 of the other comparison operators).
608 * testsuite/std/ranges/iota/max_size_type.cc (test01): Test
609 these operator overloads.
610
c2be8205
CT
6112021-03-15 Caroline Tice <cmtice@google.com>
612
613 PR libstdc++/99172
614 * src/Makefile.am (AM_CXXFLAGS_PRE, AM_CXXFLAGS): Add
615 AM_CXXFLAGS_PRE with the old definition of AM_CXXFLAGS; make
616 AM_CXXFLAGS to be AM_CXXFLAGS_PRE with '-fvtable-verify=std'
617 filtered out.
618 * src/Makefile.in: Regenerate.
619
48ff383f
GA
6202021-03-11 Patrick Palka <ppalka@redhat.com>
621
622 * src/c++17/floating_to_chars.cc: Simplify the file as if
623 __SIZEOF_INT128__ is always defined.
624 [!defined __SIZEOF_INT128__]: Include "uint128_t.h". Define
625 a base-10 to_chars overload for the uint128_t class type.
626 * src/c++17/uint128_t.h: New file.
627 * testsuite/20_util/to_chars/long_double.cc: No longer expect an
628 execution FAIL on targets that have a large long double type
629 but lack __int128.
630
6312021-03-11 Patrick Palka <ppalka@redhat.com>
632
633 * src/c++17/ryu/LOCAL_PATCHES: Update.
634 * src/c++17/ryu/d2s_intrinsics.h: Don't define uint128_t.
635 * src/c++17/ryu/generic_128.h: Likewise.
636 * src/c++17/ryu/ryu_generic_128.h (struct floating_decimal_128):
637 Use uint128_t instead of __uint128_t.
638 (generic_binary_to_decimal): Likewise.
639
6402021-03-11 Patrick Palka <ppalka@redhat.com>
641
642 * src/c++17/ryu/LOCAL_PATCHES: New file.
643
6442021-03-11 Patrick Palka <ppalka@redhat.com>
645
646 * src/c++17/floating_to_chars.cc (uint128_t): New conditionally
647 defined alias of unsigned __int128.
648 (floating_type_traits_binary128::mantissa_t): Use uint128_t
649 instead of unsigned __int128.
650 (floating_type_traits<long double>::mantissa_t)
651 [LONG_DOUBLE_KIND == LDK_IBM128]: Likewise.
652 (get_ieee_repr): Likewise. Make casts from uint_t to mantissa_t
653 and uint32_t explicit. Simplify the extraction of mantissa,
654 exponent and sign bit.
655
6562021-03-11 Jonathan Wakely <jwakely@redhat.com>
657
658 * include/std/barrier (barrier::arrival_token): New move-only
659 class that encapsulates the underlying token value.
660
6612021-03-11 Jonathan Wakely <jwakely@redhat.com>
662
663 * python/libstdcxx/v6/printers.py (find_type): Use tag attribute
664 instead of unqualified() method.
665
6662021-03-11 Jonathan Wakely <jwakely@redhat.com>
667
668 PR libstdc++/99537
669 * include/std/stop_token (_Stop_state_t::_M_release_ownership):
670 Use acq_rel memory ordering.
671
6722021-03-11 Jonathan Wakely <jwakely@redhat.com>
673
864caa15 674 PR libstdc++/99533
48ff383f
GA
675 * src/c++17/fs_dir.cc (recursive_directory_iterator): Use new
676 helper function to check for permission denied errors.
677 * src/filesystem/dir.cc (recursive_directory_iterator):
678 Likewise.
679 * src/filesystem/dir-common.h (is_permission_denied_error): New
680 helper function.
681
6822021-03-11 Jonathan Wakely <jwakely@redhat.com>
683
684 PR libstdc++/99536
685 * include/bits/random.h (normal_distribution): Use
686 default-initializer for _M_saved and _M_saved_available.
687
e9800852
GA
6882021-03-10 John David Anglin <danglin@gcc.gnu.org>
689
690 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Add options to
691 link with libatomic.
692 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
693 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
694 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
695 * testsuite/30_threads/barrier/arrive.cc: Likewise.
696 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
697 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
698 * testsuite/30_threads/barrier/completion.cc: Likewise.
699 * testsuite/30_threads/latch/3.cc: Likewise.
700 * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
701 * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
702 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
703
7042021-03-10 Jonathan Wakely <jwakely@redhat.com>
705
706 PR libstdc++/99413
707 * include/bits/align.h: Include debug/assertions.h.
708 * include/bits/codecvt.h: Include bits/c++config.h.
709 * include/bits/enable_special_members.h: Likewise.
710 * include/bits/erase_if.h: Likewise.
711 * include/bits/functional_hash.h: Include <type_traits>.
712 * include/bits/invoke.h: Include bits/move.h.
713 * include/bits/ostream_insert.h: Include bits/exception_defines.h.
714 * include/bits/parse_numbers.h: Include <type_traits>.
715 * include/bits/predefined_ops.h: Include bits/c++config.h.
716 * include/bits/range_access.h: Include bits/stl_iterator.h.
717 * include/bits/stl_bvector.h: Do not include bits/stl_vector.h.
718 * include/bits/stl_iterator.h: Include bits/stl_iterator_base_types.h.
719 * include/bits/stl_uninitialized.h: Include bits/stl_algobase.h.
720 * include/bits/uniform_int_dist.h: Include bits/concept_check.h.
721 * include/bits/unique_lock.h: Include bits/std_mutex.h.
722 * include/debug/assertions.h: Include bits/c++config.h.
723
7242021-03-10 Jonathan Wakely <jwakely@redhat.com>
725
726 * include/bits/ranges_cmp.h (__eq_builtin_ptr_cmp): Remove.
727 (ranges::equal_to, ranges::not_equal_to): Do not constrain
728 with __eq_builtin_ptr_cmp.
729 (ranges::less, ranges::greater, ranges::less_equal)
730 (ranges::greater_equal): Do not constrain with
731 __less_builtin_ptr_cmp.
732 * libsupc++/compare (compare_three_way): Do not constrain with
733 __3way_builtin_ptr_cmp.
734 * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to...
735 * testsuite/18_support/comparisons/object/lwg3530.cc: ...here.
736 * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test.
737
7382021-03-10 Jonathan Wakely <jwakely@redhat.com>
739
740 * testsuite/std/time/syn_c++20.cc: Enable synopsis checks for
741 C++20 calendar types.
742
0ad6a2e2
GA
7432021-03-06 Jakub Jelinek <jakub@redhat.com>
744
745 PR libstdc++/99396
746 * include/std/bit (__rotl, __rotr): Add optimized variants for power of
747 two _Nd which the compiler can pattern match the rotates.
748
67f10d28
GA
7492021-03-04 Jonathan Wakely <jwakely@redhat.com>
750
751 PR libstdc++/99382
752 * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc:
753 Make storage larger than required. Verify no write to the last
754 element.
755 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
756 Likewise.
757
f3641ac7
GA
7582021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
759
760 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
761 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
762 Likewise.
763 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
764 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
765 Likewise.
766
7672021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
768
769 * include/experimental/bits/simd.h: Replace reserved _X, _B by
770 _Xp, _Bp.
771 * include/experimental/bits/simd_builtin.h: Likewise.
772 * include/experimental/bits/simd_x86.h: Likewise.
773
ec9dc4fa
GA
7742021-02-27 Jonathan Wakely <jwakely@redhat.com>
775
776 PR libstdc++/99301
777 * include/std/chrono (year_month_day::_M_days_since_epoch()):
778 Convert chrono::month and chrono::day to unsigned before
779 converting to uint32_t.
780
daa68844
GA
7812021-02-25 Jonathan Wakely <jwakely@redhat.com>
782
783 * include/std/chrono (year_month_day::_S_from_days): Perform
784 all calculations with type uint32_t.
785
7862021-02-25 Jonathan Wakely <jwakely@redhat.com>
787
788 * doc/xml/manual/abi.xml: Document versioning for GCC 11.
789 * doc/html/manual/abi.html: Regenerate.
790
7912021-02-25 Jonathan Wakely <jwakely@redhat.com>
792
793 PR libstdc++/99270
794 * testsuite/27_io/headers/cstdio/types_std.cc: Use pointer to
795 FILE instead of FILE.
796
7972021-02-25 Andreas Schwab <schwab@suse.de>
798
799 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
800 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
801 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
802 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
803
8042021-02-25 Jonathan Wakely <jwakely@redhat.com>
805
806 PR libstdc++/99265
807 * include/std/chrono (year_month_day::_S_from_days): Cast long
808 to int explicitly.
809
8102021-02-25 Jonathan Wakely <jwakely@redhat.com>
811
812 * include/std/utility (to_underlying): Define.
813 * include/std/version (__cpp_lib_to_underlying): Define.
814 * testsuite/20_util/to_underlying/1.cc: New test.
815 * testsuite/20_util/to_underlying/version.cc: New test.
816
4028d01a
GA
8172021-02-24 Jonathan Wakely <jwakely@redhat.com>
818
819 PR libstdc++/99261
820 * src/c++17/floating_to_chars.cc (sprintf_ld): Add extra args
821 before value to be printed.
822
8232021-02-24 Patrick Palka <ppalka@redhat.com>
824
825 * src/c++17/floating_to_chars.cc (__floating_to_chars_precision):
826 Relax the condition that guards the printf code path to accept
827 F128_type as well as long double.
828
8292021-02-24 Cassio Neri <cassio.neri@gmail.com>
830
831 * include/std/chrono (year_month_day_last:day): New
832 implementation.
833
8342021-02-24 Cassio Neri <cassio.neri@gmail.com>
835
836 * include/std/chrono (year::is_leap): New implementation.
837 * testsuite/std/time/year/2.cc: New test.
838
8392021-02-24 Cassio Neri <cassio.neri@gmail.com>
840
841 * include/std/chrono (year_month_day::_M_days_since_epoch):
842 New implementation.
843 * testsuite/std/time/year_month_day/4.cc: New test.
844
8452021-02-24 Cassio Neri <cassio.neri@gmail.com>
846
847 * include/std/chrono (year_month_day::_S_from_days): New
848 implementation.
849 * testsuite/std/time/year_month_day/3.cc: New test.
850
8512021-02-24 Patrick Palka <ppalka@redhat.com>
852
853 PR libstdc++/98384
854 * testsuite/20_util/to_chars/long_double.cc: Include <optional>.
855 (test01): Simplify verifying the nearby values by using a
856 2-iteration loop and a dedicated output buffer to check that the
857 nearby values are different. Factor out the printf-based
858 verification into a local function, and check that the leading
859 hex digits agree before comparing to the output of printf. Also
860 verify the output by round-tripping it through from_chars.
861
8622021-02-24 Jonathan Wakely <jwakely@redhat.com>
863
864 PR libstdc++/98389
865 * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars
866 symbols for long double arguments mangled as 'g'.
867 * config/os/gnu-linux/ldbl-extra.ver: Likewise.
868 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise.
869 * src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]:
870 Use -mabi=ibmlongdouble for floating_to_chars.cc.
871 * src/c++17/Makefile.in: Regenerate.
872 * src/c++17/floating_to_chars.cc (floating_type_traits_binary128):
873 New type defining type traits of IEEE binary128 format.
874 (floating_type_traits<__float128>): Define specialization.
875 (floating_type_traits<long double>): Define in terms of
876 floating_type_traits_binary128 when appropriate.
877 (floating_to_shortest_scientific): Handle __float128.
878 (sprintf_ld): New function template for printing a long double
879 or __ieee128 value using sprintf.
880 (__floating_to_chars_shortest, __floating_to_chars_precision):
881 Use sprintf_ld.
882 (to_chars): Define overloads for __float128.
883
8842021-02-24 Jonathan Wakely <jwakely@redhat.com>
885
886 * testsuite/17_intro/names.cc: Undefine 'u' on powerpc*-linux*.
887
71e24b06
GA
8882021-02-23 Martin Sebor <msebor@redhat.com>
889
890 PR c++/99074
891 * libsupc++/dyncast.cc (__dynamic_cast): Return null when
892 first argument is null.
893
8942021-02-23 Jakub Jelinek <jakub@redhat.com>
895
896 PR libstdc++/99181
897 * testsuite/21_strings/char_traits/requirements/char/99181.cc: New
898 test.
899
9002021-02-23 Jakub Jelinek <jakub@redhat.com>
901
902 PR libstdc++/99181
903 * include/bits/char_traits.h (char_traits<char>::compare): For
904 constexpr evaluation don't call
905 __gnu_cxx::char_traits<char_type>::compare but do the comparison loop
906 directly.
907
9082021-02-23 Jakub Jelinek <jakub@redhat.com>
909
910 PR libstdc++/97549
911 * include/pstl/parallel_backend_serial.h: Remove __pstl::__par_backend.
912
9132021-02-23 Patrick Palka <ppalka@redhat.com>
914
915 PR libstdc++/98384
916 * src/c++17/floating_to_chars.cc (get_ieee_repr): Extract
917 the high- and low-order parts from an IBM long double value
918 in an endian-agnostic way.
919
50352c6c
GA
9202021-02-19 Jonathan Wakely <jwakely@redhat.com>
921
922 * include/bits/atomic_wait.h (__thread_relax()): Call
923 __thread_yield() not __gthread_yield().
924
de594739
GA
9252021-02-15 Jonathan Wakely <jwakely@redhat.com>
926
927 * include/bits/atomic_wait.h (__thread_yield()): Check
928 _GLIBCXX_HAS_GTHREADS before using __gthread_yield.
929 (__thread_relax()): Use __thread_yield() instead of repeating
930 the preprocessor checks for __gthread_yield.
931
9322021-02-15 Jonathan Wakely <jwakely@redhat.com>
933
934 * include/std/mutex (once_flag::_M_activate()): Add explicit
935 return statement for passive case.
936 (once_flag::_M_finish(bool)): Use reserved name for parameter.
937
c5ae38e8
GA
9382021-02-14 Jonathan Wakely <jwakely@redhat.com>
939
940 PR libstdc++/99096
941 * testsuite/util/testsuite_fs.h: Always include <unistd.h>.
942
fab095da
GA
9432021-02-12 Jonathan Wakely <jwakely@redhat.com>
944
945 PR libstdc++/88881
946 * src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
947
9482021-02-12 Jonathan Wakely <jwakely@redhat.com>
949
950 * doc/xml/manual/status_cxx2014.xml: Document implementation
951 specific properties of std::experimental::filesystem::rename.
952 * doc/xml/manual/status_cxx2017.xml: Document implementation
953 specific properties of std::filesystem::rename.
954 * doc/html/*: Regenerate.
955 * src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour
956 for directories on Windows.
957 * src/filesystem/ops-common.h (__gnu_posix::rename): Use
958 MoveFileExW on Windows.
959 * testsuite/27_io/filesystem/operations/rename.cc: New test.
960 * testsuite/experimental/filesystem/operations/rename.cc: New test.
961
9622021-02-12 Jonathan Wakely <jwakely@redhat.com>
963
964 * testsuite/util/testsuite_fs.h (nonexistent_path): Add
965 random number to the path.
966
9672021-02-12 Jonathan Wakely <jwakely@redhat.com>
968
969 * include/experimental/internet (address_v6::to_string): Include
970 scope ID in string.
971 * testsuite/experimental/net/internet/address/v6/members.cc:
972 Test to_string() results.
973
9742021-02-12 Jonathan Wakely <jwakely@redhat.com>
975
976 * include/experimental/internet (address_v6::any): Avoid using
977 memcpy in constexpr function.
978 (address_v6::loopback): Likewise.
979 (make_address_v6): Fix missing return statements on error paths.
980 * include/experimental/io_context: Avoid -Wdangling-else
981 warning.
982 * testsuite/experimental/net/internet/address/v4/members.cc:
983 Remove unused variables.
984 * testsuite/experimental/net/internet/address/v6/members.cc:
985 New test.
986
9872021-02-12 Jonathan Wakely <jwakely@redhat.com>
988
989 * include/bits/shared_ptr_base.h (__shared_ptr::_M_get_deleter):
990 Add unused attribute to parameter.
991 * src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq):
992 Likewise.
993
9942021-02-12 Jonathan Wakely <jwakely@redhat.com>
995
996 * testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail
997 if -fno-rtti is used.
998 * testsuite/30_threads/async/forced_unwind.cc: Expect test
999 to abort if -fno-rtti is used.
1000
10012021-02-12 Jonathan Wakely <jwakely@redhat.com>
1002
1003 * testsuite/util/testsuite_allocator.h (memory_resource):
1004 Remove requirement for RTTI and exceptions to be enabled.
1005
10062021-02-12 Jonathan Wakely <jwakely@redhat.com>
1007
1008 * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Use
1009 static_cast when RTTI is disabled.
1010 * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc:
1011 Likewise.
1012 * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc:
1013 Likewise.
1014 * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc:
1015 Likewise.
1016 * testsuite/27_io/basic_stringstream/str/char/2.cc:
1017 Likewise.
1018 * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc:
1019 Likewise.
1020
10212021-02-12 Jonathan Wakely <jwakely@redhat.com>
1022
1023 * include/std/ostream (__syncbuf_base::_S_get): Mark parameter
1024 as unused and only use dynamic_cast when RTTI is enabled.
1025
10262021-02-12 Jonathan Wakely <jwakely@redhat.com>
1027
1028 PR libstdc++/99077
1029 * src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)):
1030 Change int parameter to error_code, to match std::ios_failure.
1031 (__throw_ios_failure(const char*, int)): Construct error_code
1032 from int parameter.
1033
0c5cdb31
GA
10342021-02-11 Jonathan Wakely <jwakely@redhat.com>
1035
1036 * libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define
1037 new macro.
1038 * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new
1039 macro instead of _GLIBCXX_EH_PTR_COMPAT.
1040 (operator==): Likewise.
1041
10422021-02-11 Jonathan Wakely <jwakely@redhat.com>
1043
1044 PR libstdc++/99058
1045 * doc/xml/manual/status_cxx2011.xml: Document when support
1046 became stable.
1047 * doc/xml/manual/status_cxx2014.xml: Likewise.
1048 * doc/xml/manual/status_cxx2017.xml: Likewise.
1049 * doc/html/manual/status.html: Regenerate.
1050
4b37c3ea
GA
10512021-02-10 Jonathan Wakely <jwakely@redhat.com>
1052
1053 PR libstdc++/88881
1054 * src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
1055
10562021-02-10 Jonathan Wakely <jwakely@redhat.com>
1057
1058 * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent)
1059 (fs::remove): Use std::system_category() for error codes from
1060 GetLastError().
1061 * src/filesystem/ops.cc (fs::create_hard_link, fs::remove):
1062 Likewise.
1063
10642021-02-10 Jonathan Wakely <jwakely@redhat.com>
1065
1066 * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo
1067 in __MINGW32__ macro name.
1068 * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
1069 * testsuite/27_io/filesystem/path/generation/proximate.cc:
1070 Likewise.
1071 * testsuite/27_io/filesystem/path/generation/relative.cc:
1072 Likewise.
1073 * testsuite/util/testsuite_fs.h: Likewise.
1074
0a91b73e
GA
10752021-02-09 François Dumont <fdumont@gcc.gnu.org>
1076
1077 * include/bits/stl_tree.h
1078 (__has_is_transparent, __has_is_transparent_t): Move...
1079 * include/bits/stl_function.h: ...here.
1080 * include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New..
1081 (_Hashtable_base<>::_M_equals_tr): New.
1082 * include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr,
1083 _Hashtable<>::_M_equal_range_tr): New member function templates to perform
1084 heterogeneous lookup.
1085 (_Hashtable<>::_M_find_before_node_tr): New.
1086 (_Hashtable<>::_M_find_node_tr): New.
1087 * include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>,
1088 unordered_map::contains<>, unordered_map::equal_range<>): New member function
1089 templates to perform heterogeneous lookup.
1090 (unordered_multimap::find<>, unordered_multimap::count<>,
1091 unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise.
1092 * include/bits/unordered_set.h (unordered_set::find<>, unordered_set::count<>,
1093 unordered_set::contains<>, unordered_set::equal_range<>): Likewise.
1094 (unordered_multiset::find<>, unordered_multiset::count<>,
1095 unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise.
1096 * include/debug/unordered_map
1097 (unordered_map::find<>, unordered_map::equal_range<>): Likewise.
1098 (unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise.
1099 * include/debug/unordered_set
1100 (unordered_set::find<>, unordered_set::equal_range<>): Likewise.
1101 (unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise.
1102 * testsuite/23_containers/unordered_map/operations/1.cc: New test.
1103 * testsuite/23_containers/unordered_multimap/operations/1.cc: New test.
1104 * testsuite/23_containers/unordered_multiset/operations/1.cc: New test.
1105 * testsuite/23_containers/unordered_set/operations/1.cc: New test.
1106
11072021-02-09 François Dumont <fdumont@gcc.gnu.org>
1108
1109 * include/bits/stl_deque.h
1110 (std::operator-(deque::iterator, deque::iterator)): Replace if/then with
1111 a null pointer test.
1112
11132021-02-09 Jonathan Wakely <jwakely@redhat.com>
1114
1115 * testsuite/27_io/filesystem/operations/remove_all.cc: Remove
1116 test directory after making it writable again.
1117 * testsuite/experimental/filesystem/operations/remove_all.cc:
1118 Likewise.
1119
11202021-02-09 Jonathan Wakely <jwakely@redhat.com>
1121
1122 PR libstdc++/99021
1123 * include/std/coroutine (coroutine_handle<P>::from_address): Add
1124 noexcept.
1125
11262021-02-09 Vladimir Vishnevsky <vv.os.swe@gmail.com>
1127
1128 * include/ext/stdio_sync_filebuf.h: Remove unused <unistd.h>.
1129 * src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t.
1130
11312021-02-09 Jakub Jelinek <jakub@redhat.com>
1132
1133 PR middle-end/98465
1134 * include/bits/basic_string.tcc (basic_string::_M_replace): When __s
1135 points to the characters moved by earlier _S_move, compute the source
1136 address using expression based on the __p pointer rather than __s
1137 pointer.
1138
9faaa807
GA
11392021-02-03 Jonathan Wakely <jwakely@redhat.com>
1140
1141 * testsuite/19_diagnostics/error_code/operators/not_equal.cc:
1142 Add comparison with same category and different values.
1143 * testsuite/19_diagnostics/error_code/operators/less.cc:
1144 Likewise. Fix comparison involving different categories.
1145 * testsuite/19_diagnostics/error_code/operators/three_way.cc:
1146 Likewise.
1147 * testsuite/19_diagnostics/error_condition/operators/less.cc:
1148 Add comment.
1149 * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
1150 Likewise.
1151
11522021-02-03 yaozhongxiao <yaozhongxiao@linux.alibaba.com>
1153
1154 * include/experimental/bits/simd_neon.h: Replace repeated vpadd
1155 calls with a single vaddv for aarch64.
1156
11572021-02-03 Matthias Kretz <kretz@kde.org>
1158
1159 * testsuite/Makefile.am: Warn about the workaround. Add
1160 -fno-tree-vrp to CXXFLAGS passed to the check_simd script.
1161 Improve initial user feedback from make check-simd.
1162 * testsuite/Makefile.in: Regenerated.
1163
11642021-02-03 Matthias Kretz <kretz@kde.org>
1165
1166 * include/experimental/bits/simd.h: Add __detail::_Minimum and
1167 __detail::_Maximum to use them as _BinaryOperation to _S_reduce.
1168 Add hmin and hmax overloads for simd and const_where_expression.
1169 * include/experimental/bits/simd_scalar.h
1170 (_SimdImplScalar::_S_reduce): Make unused _BinaryOperation
1171 parameter const-ref to allow calling _S_reduce with an rvalue.
1172 * testsuite/experimental/simd/tests/reductions.cc: Add tests for
1173 hmin and hmax. Since the compiler statically determined that all
1174 tests pass, repeat the test after a call to make_value_unknown.
1175
11762021-02-03 Matthias Kretz <kretz@kde.org>
1177
1178 * testsuite/experimental/simd/tests/bits/verify.h (verify): Add
1179 instruction pointer data member. Ensure that the `if (m_failed)`
1180 branch is always inlined into the calling code. The body of the
1181 conditional can still be a function call. Move the get_ip call
1182 into the verify ctor to simplify the ctor calls.
1183 (COMPARE): Don't mention the use of all_of for reduction of a
1184 simd_mask. It only distracts from the real issue.
1185
11862021-02-03 Matthias Kretz <kretz@kde.org>
1187
1188 * testsuite/experimental/simd/driver.sh: Abstract reading test
1189 options into read_src_option function. Read skip, only,
1190 expensive, and xfail via read_src_option. Add timeout and
1191 timeout-factor options and adjust timeout variable accordingly.
1192 * testsuite/experimental/simd/tests/loadstore.cc: Set
1193 timeout-factor 2.
1194
11952021-02-03 Matthias Kretz <kretz@kde.org>
1196
1197 * testsuite/experimental/simd/driver.sh: When handling the pipe
1198 to log (and on verbose to stdout) count the lines. If it exceeds
1199 1000 log the issue and exit 125, which is then handled as a
1200 failure.
1201
12022021-02-03 Matthias Kretz <kretz@kde.org>
1203
1204 * testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip:
1205 markup for long double on powerpc64*.
1206
12072021-02-03 Matthias Kretz <kretz@kde.org>
1208
1209 * include/experimental/bits/simd.h: Add __have_power10vec
1210 conditional on _ARCH_PWR10.
1211 * include/experimental/bits/simd_builtin.h: Forward declare
1212 _MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is
1213 defined.
1214 (_MaskImplBuiltin::_S_some_of): Call _S_popcount from the
1215 _SuperImpl for optimizations and correctness.
1216 * include/experimental/bits/simd_ppc.h: Add _MaskImplPpc.
1217 (_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10.
1218 Otherwise, for >=int use -vec_sums divided by a sizeof factor.
1219 For <int use -vec_sums(vec_sum4s(...)) to sum all mask entries.
1220
12212021-02-03 Matthias Kretz <kretz@kde.org>
1222
1223 * testsuite/experimental/simd/driver.sh: Remove executable on
1224 SIGINT. Process compiler and test executable output: In verbose
1225 mode print messages immediately, limited to 1000 lines and
1226 breaking long lines to below $COLUMNS (or 1024 if not set).
1227 Communicating the exit status of the compiler / test with the
1228 necessary pipe is done via a message through stdout/-in.
1229
12302021-02-03 Matthias Kretz <kretz@kde.org>
1231
1232 * testsuite/Makefile.am: Ensure .simd.summary is empty before
1233 collecting a new summary.
1234 * testsuite/Makefile.in: Regenerate.
1235
12362021-02-03 Matthias Kretz <kretz@kde.org>
1237
1238 * testsuite/experimental/simd/generate_makefile.sh: Use
1239 different variables internally than documented for user
1240 overrides. This makes internal append/prepend work as intended.
1241
12422021-02-03 Matthias Kretz <kretz@kde.org>
1243
1244 * testsuite/experimental/simd/driver.sh (verify_test): Print
1245 test output on run xfail. Do not repeat lines from the log that
1246 were already printed on stdout.
1247 (test_selector): Make the compiler flags pattern usable as a
1248 substring selector.
1249 (toplevel): Trap on SIGINT and remove the log and sum files.
1250 Call timout with --foreground to quickly terminate on SIGINT.
1251 * testsuite/experimental/simd/generate_makefile.sh: Simplify run
1252 targets via target patterns. Default DRIVEROPTS to -v for run
1253 targets. Remove log and sum files after completion of the run
1254 target (so that it's always recompiled).
1255 Place help text into text file for reasonable 'make help'
1256 performance.
1257
12582021-02-03 Matthias Kretz <kretz@kde.org>
1259
1260 * include/experimental/bits/simd.h: Remove unnecessary static
1261 assertion. Allow sizeof(8) integer __intrinsic_type to enable
1262 the necessary mask type.
1263
12642021-02-03 Matthias Kretz <kretz@kde.org>
1265
1266 * include/experimental/bits/simd.h: Let __intrinsic_type<long
1267 double, N> be valid if sizeof(long double) == sizeof(double) and
1268 use a __vector double as member type.
1269
12702021-02-03 Matthias Kretz <kretz@kde.org>
1271
1272 * include/experimental/bits/simd.h (__is_intrinsic_type): New
1273 internal type trait. Alias for __is_vector_type on x86.
1274 (_VectorTraitsImpl): Enable for __intrinsic_type in addition for
1275 __vector_type.
1276 (__intrin_bitcast): Allow casting to & from vector & intrinsic
1277 types.
1278 (__intrinsic_type): Explicitly specialize for NEON intrinsic
1279 vector types.
1280
12812021-02-03 Matthias Kretz <kretz@kde.org>
1282
1283 * testsuite/experimental/simd/driver.sh: Implement skip, only,
1284 expensive, and xfail markers. They can select on type, ABI tag
1285 subset number, target-triplet, and compiler flags.
1286 * testsuite/experimental/simd/generate_makefile.sh: The summary
1287 now includes lines for unexpected passes and expected failures.
1288 If the skip or only markers are only conditional on the type, do
1289 not generate rules for those types.
1290 * testsuite/experimental/simd/tests/abs.cc: Mark test expensive
1291 for ABI tag subsets 1-9.
1292 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
1293 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
1294 * testsuite/experimental/simd/tests/casts.cc: Ditto.
1295 * testsuite/experimental/simd/tests/generator.cc: Ditto.
1296 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
1297 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
1298 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
1299 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
1300 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
1301 * testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto.
1302 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
1303 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
1304 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
1305 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
1306 * testsuite/experimental/simd/tests/operators.cc: Ditto.
1307 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
1308 * testsuite/experimental/simd/tests/simd.cc: Ditto.
1309 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
1310 * testsuite/experimental/simd/tests/splits.cc: Ditto.
1311 * testsuite/experimental/simd/tests/where.cc: Ditto.
1312 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In
1313 addition replace "test only floattypes" marker by unconditional
1314 "float|double|ldouble" only marker.
1315 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
1316 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
1317 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
1318 Ditto.
1319 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
1320 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
1321 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
1322 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
1323 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
1324 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
1325 * testsuite/experimental/simd/tests/sincos.cc: Ditto. In
1326 addition, xfail on run because the reference data is missing.
1327
548b75d8
GA
13282021-02-02 Jonathan Wakely <jwakely@redhat.com>
1329
1330 * doc/xml/manual/status_cxx2011.xml: Remove stray table cell.
1331 * doc/xml/manual/status_cxx2014.xml: Likewise.
1332 * doc/xml/manual/status_cxx2017.xml: Likewise.
1333 * doc/html/manual/status.html: Regenerate.
1334
f7884fb1
GA
13352021-02-01 François Dumont <fdumont@gcc.gnu.org>
1336
1337 PR libstdc++/70303
1338 * include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)):
1339 Return 0 if both iterators are value-initialized.
1340 * testsuite/23_containers/deque/70303.cc: New test.
1341 * testsuite/23_containers/vector/70303.cc: New test.
1342
13432021-02-01 Jonathan Wakely <jwakely@redhat.com>
1344
1345 * doc/xml/manual/status_cxx2011.xml: Update std::call_once
1346 status.
1347 * doc/xml/manual/status_cxx2014.xml: Likewise.
1348 * doc/xml/manual/status_cxx2017.xml: Likewise. Update
1349 std::from_chars and std::to_chars status. Fix formatting.
1350 * doc/html/manual/status.html: Regenerate.
1351
85d04a2e
GA
13522021-01-28 Jonathan Wakely <jwakely@redhat.com>
1353
1354 * include/experimental/bits/numeric_traits.h: Update copyright
1355 dates.
1356 * include/experimental/bits/simd.h: Likewise.
1357 * include/experimental/bits/simd_builtin.h: Likewise.
1358 * include/experimental/bits/simd_converter.h: Likewise.
1359 * include/experimental/bits/simd_detail.h: Likewise.
1360 * include/experimental/bits/simd_fixed_size.h: Likewise.
1361 * include/experimental/bits/simd_math.h: Likewise.
1362 * include/experimental/bits/simd_neon.h: Likewise.
1363 * include/experimental/bits/simd_ppc.h: Likewise.
1364 * include/experimental/bits/simd_scalar.h: Likewise.
1365 * include/experimental/bits/simd_x86.h: Likewise.
1366 * include/experimental/bits/simd_x86_conversions.h: Likewise.
1367 * include/experimental/simd: Likewise.
1368 * testsuite/experimental/simd/*: Likewise.
1369
aa69f0a8
GA
13702021-01-27 Jonathan Wakely <jwakely@redhat.com>
1371
1372 * doc/xml/manual/status_cxx2017.xml: Replace invalid entity.
1373 * doc/html/*: Regenerate.
1374
13752021-01-27 Jonathan Wakely <jwakely@redhat.com>
1376
1377 * testsuite/experimental/simd/generate_makefile.sh: Use printf
1378 instead of echo when printing escape characters.
1379
13802021-01-27 Matthias Kretz <kretz@kde.org>
1381
1382 * scripts/check_simd: New file. This script is called from the
1383 the check-simd target. It determines a set of compiler flags and
1384 simulator setups for calling generate_makefile.sh and passes the
1385 information back to the check-simd target, which recurses to the
1386 generated Makefiles.
1387 * scripts/create_testsuite_files: Remove files below simd/tests/
1388 from testsuite_files and place them in testsuite_files_simd.
1389 * testsuite/Makefile.am: Add testsuite_files_simd. Add
1390 check-simd target.
1391 * testsuite/Makefile.in: Regenerate.
1392 * testsuite/experimental/simd/driver.sh: New file. This script
1393 compiles and runs a given simd test, logging its output and
1394 status. It uses the timeout command to implement compile and
1395 test timeouts.
1396 * testsuite/experimental/simd/generate_makefile.sh: New file.
1397 This script generates a Makefile which uses driver.sh to compile
1398 and run the tests and collect the logs into a single log file.
1399 * testsuite/experimental/simd/tests/abs.cc: New file. Tests
1400 abs(simd).
1401 * testsuite/experimental/simd/tests/algorithms.cc: New file.
1402 Tests min/max(simd, simd).
1403 * testsuite/experimental/simd/tests/bits/conversions.h: New
1404 file. Contains functions to support tests involving conversions.
1405 * testsuite/experimental/simd/tests/bits/make_vec.h: New file.
1406 Support functions make_mask and make_vec.
1407 * testsuite/experimental/simd/tests/bits/mathreference.h: New
1408 file. Support functions to supply precomputed math function
1409 reference data.
1410 * testsuite/experimental/simd/tests/bits/metahelpers.h: New
1411 file. Support code for SFINAE testing.
1412 * testsuite/experimental/simd/tests/bits/simd_view.h: New file.
1413 * testsuite/experimental/simd/tests/bits/test_values.h: New
1414 file. Test functions to easily drive a test with simd objects
1415 initialized from a given list of values and a range of random
1416 values.
1417 * testsuite/experimental/simd/tests/bits/ulp.h: New file.
1418 Support code to determine the ULP distance of simd objects.
1419 * testsuite/experimental/simd/tests/bits/verify.h: New file.
1420 Test framework for COMPARE'ing simd objects and instantiating
1421 the test templates with value_type and ABI tag.
1422 * testsuite/experimental/simd/tests/broadcast.cc: New file. Test
1423 simd broadcasts.
1424 * testsuite/experimental/simd/tests/casts.cc: New file. Test
1425 simd casts.
1426 * testsuite/experimental/simd/tests/fpclassify.cc: New file.
1427 Test floating-point classification functions.
1428 * testsuite/experimental/simd/tests/frexp.cc: New file. Test
1429 frexp(simd).
1430 * testsuite/experimental/simd/tests/generator.cc: New file. Test
1431 simd generator constructor.
1432 * testsuite/experimental/simd/tests/hypot3_fma.cc: New file.
1433 Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim).
1434 * testsuite/experimental/simd/tests/integer_operators.cc: New
1435 file. Test integer operators.
1436 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
1437 New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and
1438 modf(simd).
1439 * testsuite/experimental/simd/tests/loadstore.cc: New file. Test
1440 (converting) simd loads and stores.
1441 * testsuite/experimental/simd/tests/logarithm.cc: New file. Test
1442 log*(simd).
1443 * testsuite/experimental/simd/tests/mask_broadcast.cc: New file.
1444 Test simd_mask broadcasts.
1445 * testsuite/experimental/simd/tests/mask_conversions.cc: New
1446 file. Test simd_mask conversions.
1447 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New
1448 file. Test simd_mask implicit conversions.
1449 * testsuite/experimental/simd/tests/mask_loadstore.cc: New file.
1450 Test simd_mask loads and stores.
1451 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: New
1452 file. Test simd_mask operators convert as specified.
1453 * testsuite/experimental/simd/tests/mask_operators.cc: New file.
1454 Test simd_mask compares, subscripts, and negation.
1455 * testsuite/experimental/simd/tests/mask_reductions.cc: New
1456 file. Test simd_mask reductions.
1457 * testsuite/experimental/simd/tests/math_1arg.cc: New file. Test
1458 1-arg math functions on simd.
1459 * testsuite/experimental/simd/tests/math_2arg.cc: New file. Test
1460 2-arg math functions on simd.
1461 * testsuite/experimental/simd/tests/operator_cvt.cc: New file.
1462 Test implicit conversions on simd binary operators behave as
1463 specified.
1464 * testsuite/experimental/simd/tests/operators.cc: New file. Test
1465 simd compares, subscripts, not, unary minus, plus, minus,
1466 multiplies, divides, increment, and decrement.
1467 * testsuite/experimental/simd/tests/reductions.cc: New file.
1468 Test reduce(simd).
1469 * testsuite/experimental/simd/tests/remqo.cc: New file. Test
1470 remqo(simd).
1471 * testsuite/experimental/simd/tests/simd.cc: New file. Basic
1472 sanity checks of simd types.
1473 * testsuite/experimental/simd/tests/sincos.cc: New file. Test
1474 sin(simd) and cos(simd).
1475 * testsuite/experimental/simd/tests/split_concat.cc: New file.
1476 Test split(simd) and concat(simd, simd).
1477 * testsuite/experimental/simd/tests/splits.cc: New file. Test
1478 split(simd_mask).
1479 * testsuite/experimental/simd/tests/trigonometric.cc: New file.
1480 Test remaining trigonometric functions on simd.
1481 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New
1482 file. Test trunc(simd), ceil(simd), and floor(simd).
1483 * testsuite/experimental/simd/tests/where.cc: New file. Test
1484 masked operations using where.
1485
14862021-01-27 Matthias Kretz <kretz@kde.org>
1487
1488 * doc/xml/manual/status_cxx2017.xml: Add implementation status
1489 of the Parallelism TS 2. Document implementation-defined types
1490 and behavior.
1491 * include/Makefile.am: Add new headers.
1492 * include/Makefile.in: Regenerate.
1493 * include/experimental/simd: New file. New header for
1494 Parallelism TS 2.
1495 * include/experimental/bits/numeric_traits.h: New file.
1496 Implementation of P1841R1 using internal naming. Addition of
1497 missing IEC559 functionality query.
1498 * include/experimental/bits/simd.h: New file. Definition of the
1499 public simd interfaces and general implementation helpers.
1500 * include/experimental/bits/simd_builtin.h: New file.
1501 Implementation of the _VecBuiltin simd_abi.
1502 * include/experimental/bits/simd_converter.h: New file. Generic
1503 simd conversions.
1504 * include/experimental/bits/simd_detail.h: New file. Internal
1505 macros for the simd implementation.
1506 * include/experimental/bits/simd_fixed_size.h: New file. Simd
1507 fixed_size ABI specific implementations.
1508 * include/experimental/bits/simd_math.h: New file. Math
1509 overloads for simd.
1510 * include/experimental/bits/simd_neon.h: New file. Simd NEON
1511 specific implementations.
1512 * include/experimental/bits/simd_ppc.h: New file. Implement bit
1513 shifts to avoid invalid results for integral types smaller than
1514 int.
1515 * include/experimental/bits/simd_scalar.h: New file. Simd scalar
1516 ABI specific implementations.
1517 * include/experimental/bits/simd_x86.h: New file. Simd x86
1518 specific implementations.
1519 * include/experimental/bits/simd_x86_conversions.h: New file.
1520 x86 specific conversion optimizations. The conversion patterns
1521 work around missing conversion patterns in the compiler and
1522 should be removed as soon as PR85048 is resolved.
1523 * testsuite/experimental/simd/standard_abi_usable.cc: New file.
1524 Test that all (not all fixed_size<N>, though) standard simd and
1525 simd_mask types are usable.
1526 * testsuite/experimental/simd/standard_abi_usable_2.cc: New
1527 file. As above but with -ffast-math.
1528 * testsuite/libstdc++-dg/conformance.exp: Don't build simd tests
1529 from the standard test loop. Instead use
1530 check_vect_support_and_set_flags to build simd tests with the
1531 relevant machine flags.
1532
15332021-01-27 Jonathan Wakely <jwakely@redhat.com>
1534
1535 PR libstdc++/66414
1536 * include/bits/string_view.tcc
1537 (basic_string_view::find(const CharT*, size_type, size_type)):
1538 Optimize.
1539
15402021-01-27 Paul Fee <paul.f.fee@gmail.com>
1541
1542 * include/bits/basic_string.h (basic_string::contains): New
1543 member functions.
1544 * include/std/string_view (basic_string_view::contains):
1545 Likewise.
1546 * include/std/version (__cpp_lib_string_contains): Define.
1547 * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
1548 Remove trailing whitespace.
1549 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
1550 Likewise.
1551 * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test.
1552 * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test.
1553 * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test.
1554 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test.
1555 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test.
1556
7559d465
GA
15572021-01-21 Jonathan Wakely <jwakely@redhat.com>
1558
1559 * src/c++17/Makefile.in: Regenerate.
1560
b93d0e36
GA
15612021-01-20 David Edelsohn <dje.gcc@gmail.com>
1562
1563 * config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast
1564 _OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to
1565 __lc_type.
1566 (const char* ctype<char>:: is): Same.
1567
ef1f8ee6
GA
15682021-01-18 Jonathan Wakely <jwakely@redhat.com>
1569
1570 PR libstdc++/98725
1571 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Do not try to
1572 write to a wide character stream if wide character support is
1573 disabled in the library.
1574
15752021-01-18 Jonathan Wakely <jwakely@redhat.com>
1576
1577 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Use
1578 stringbuf not wstringbuf.
1579
15802021-01-18 Jakub Jelinek <jakub@redhat.com>
1581
1582 PR debug/98708
1583 * src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s):
1584 Compile with -gno-as-loc-support.
1585 * src/c++11/Makefile.in: Regenerated.
1586
59cf67d1
GA
15872021-01-16 H.J. Lu <hjl.tools@gmail.com>
1588
1589 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1590 Add -fcf-protection=none to -march=i486.
1591
5fff80fd
GA
15922021-01-14 François Dumont <fdumont@gcc.gnu.org>
1593
1594 * testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11
1595 compliant.
1596
15972021-01-14 Alexandre Oliva <oliva@adacore.com>
1598
1599 * testsuite/30_threads/future/members/poll.cc: Calibrate
1600 iteration count.
1601
16022021-01-14 François Dumont <fdumont@gcc.gnu.org>
1603
1604 PR libstdc++/98466
1605 * include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr.
1606 (_Node_iterator()): Make default.
1607 (_Node_const_iterator()): Make default.
1608 * include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular
1609 iterator checks.
1610 * include/debug/safe_iterator.h
1611 (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized.
1612 * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
1613 Likewise.
1614 * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add
1615 _M_singular checks on input iterators.
1616 * src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular
1617 checks.
1618 * testsuite/23_containers/deque/debug/98466.cc: New test.
1619 * testsuite/23_containers/unordered_map/debug/98466.cc: New test.
1620
16212021-01-14 Jonathan Wakely <jwakely@redhat.com>
1622
1623 PR libstdc++/98471
1624 * include/bits/fs_path.h (__throw_conversion_error): New
1625 function to throw or abort on character conversion errors.
1626 (__wstr_from_utf8): Move definition after filesystem_error has
1627 been defined. Use __throw_conversion_error.
1628 (path::_S_convert<_EcharT>): Use __throw_conversion_error.
1629 (path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise.
1630 (path::u8string): Likewise.
1631
16322021-01-14 Jonathan Wakely <jwakely@redhat.com>
1633
1634 * include/std/barrier: Update copyright years. Fix whitespace.
1635 * include/std/version: Fix whitespace.
1636 * testsuite/30_threads/barrier/1.cc: Update copyright years.
1637 * testsuite/30_threads/barrier/2.cc: Likewise.
1638 * testsuite/30_threads/barrier/arrive.cc: Likewise.
1639 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
1640 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
1641 * testsuite/30_threads/barrier/completion.cc: Likewise.
1642
be0851b8
GA
16432021-01-13 Jonathan Wakely <jwakely@redhat.com>
1644
1645 * doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array.
1646
366f86bd
GA
16472021-01-10 David Edelsohn <dje.gcc@gmail.com>
1648
1649 PR libstdc++/98613
1650 * testsuite/ext/vstring/cons/moveable.cc: Suppress false positive
1651 warning.
1652 * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same.
1653
bf5cbb9e
GA
16542021-01-08 Olivier Hainque <hainque@adacore.com>
1655
1656 * testsuite/20_util/bind/ref_neg.cc: Tweak the
1657 dg-prune-output regex for out-of-build-tree contexts.
1658
7d187e4f
GA
16592021-01-07 Thomas Rodgers <trodgers@redhat.com>
1660
1661 * doc/doxygen/user.cfg.in: Add new header.
1662 * include/Makefile.am (std_headers): likewise.
1663 * include/Makefile.in: Regenerate.
1664 * include/precompiled/stdc++.h: Add new header.
1665 * include/std/barrier: New file.
1666 * include/std/version: Add __cpp_lib_barrier feature test macro.
1667 * testsuite/30_threads/barrier/1.cc: New test.
1668 * testsuite/30_threads/barrier/2.cc: Likewise.
1669 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
1670 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
1671 * testsuite/30_threads/barrier/arrive.cc: Likewise.
1672 * testsuite/30_threads/barrier/completion.cc: Likewise.
1673
16742021-01-07 Patrick Palka <ppalka@redhat.com>
1675
1676 PR libstdc++/98384
1677 * testsuite/20_util/to_chars/long_double.cc: Use nexttowardl
1678 instead of the non-standard nextupl and nextdownl.
1679
651b8a50
GA
16802021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
1681
1682 * configure: Re-generate.
1683
16842021-01-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1685
1686 * include/precompiled/stdc++.h: Add <source_location> to C++20 section.
1687
b6dd195a
GA
16882021-01-01 Jakub Jelinek <jakub@redhat.com>
1689
1690 * ChangeLog-2020: Rotate ChangeLog. New file.
1691
b4df5e92 1692\f
618e665a 1693Copyright (C) 2021 Free Software Foundation, Inc.
b4df5e92
JW
1694
1695Copying and distribution of this file, with or without modification,
1696are permitted in any medium without royalty provided the copyright
1697notice and this notice are preserved.
This page took 1.093103 seconds and 5 git commands to generate.