1 2023-05-03 Jakub Jelinek <jakub@redhat.com>
3 * src/c++17/floating_from_chars.cc
4 (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to
5 _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format.
6 * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to
7 _ZSt8to_charsPcS_u9__ieee128.
8 (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to
9 _ZSt8to_charsPcS_u9__ieee128St12chars_format.
10 (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to
11 _ZSt8to_charsPcS_u9__ieee128St12chars_formati.
12 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated.
14 2023-05-03 Jakub Jelinek <jakub@redhat.com>
16 * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu
17 rather than powerpc64-linux-gnu for powerpc64le*-linux*.
18 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove
19 _ZTI*DF128_, _ZTI*DF64x symbols and symbols in
20 GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol
22 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New
25 2023-05-03 Kefu Chai <kefu.chai@scylladb.com>
26 Jonathan Wakely <jwakely@redhat.com>
29 * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
30 Initialize _M_string_length.
32 2023-05-02 Jakub Jelinek <jakub@redhat.com>
34 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
35 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
36 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
37 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
38 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
39 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
40 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
41 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
43 2023-05-02 Jakub Jelinek <jakub@redhat.com>
46 * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
49 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
51 * include/bits/random.h (gamma_distribution): Add to the right
53 (discrete_distribution, piecewise_constant_distribution)
54 (piecewise_linear_distribution): Create a new doxygen group and
55 fix the incomplete doxygen comments.
56 * include/bits/uniform_int_dist.h (uniform_int_distribution):
59 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
61 * include/bits/uses_allocator.h: Add missing @file comment.
62 * include/bits/regex.tcc: Remove stray doxygen comments.
63 * include/experimental/memory_resource: Likewise.
64 * include/std/bit: Tweak doxygen @cond comments.
65 * include/std/expected: Likewise.
66 * include/std/numbers: Likewise.
68 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
70 * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
73 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
75 * include/bits/move.h: Simplify opening/closing namespace std.
77 2023-04-28 Jakub Jelinek <jakub@redhat.com>
80 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export
81 _ZSt21ios_base_library_initv.
82 * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32
83 symver and make it the latestp.
84 * src/c++98/ios_init.cc (ios_base_library_init): New alias.
85 * acinclude.m4 (libtool_VERSION): Change to 6:32:0.
86 * include/std/iostream: If init_priority attribute is supported
87 and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv
88 symbol into the object.
89 * configure: Regenerated.
91 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
93 * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
94 * include/std/format: Likewise.
96 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
98 * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
99 (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.
101 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
103 * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
105 * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
107 * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
109 * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
111 * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
113 * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
114 (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
115 (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
116 (_DEFINE_BINARY_OPERATOR): Likewise.
118 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
120 * include/bits/memory_resource.h: Improve doxygen comments.
121 * include/std/memory_resource: Likewise.
123 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
126 * include/bits/basic_string.h: Improve doxygen comments.
127 * include/bits/cow_string.h: Likewise.
128 * include/bits/forward_list.h: Likewise.
129 * include/bits/fs_dir.h: Likewise.
130 * include/bits/fs_path.h: Likewise.
131 * include/bits/quoted_string.h: Likewise.
132 * include/bits/stl_bvector.h: Likewise.
133 * include/bits/stl_map.h: Likewise.
134 * include/bits/stl_multimap.h: Likewise.
135 * include/bits/stl_multiset.h: Likewise.
136 * include/bits/stl_set.h: Likewise.
137 * include/bits/stl_vector.h: Likewise.
138 * include/bits/unordered_map.h: Likewise.
139 * include/bits/unordered_set.h: Likewise.
140 * include/std/filesystem: Likewise.
141 * include/std/iomanip: Likewise.
143 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
146 * src/c++11/random.cc (__throw_syserr): New function.
147 (random_device::_M_init, random_device::_M_init_pretr1): Use new
148 function for bad tokens.
149 (random_device::_M_getval): Use new function for read errors.
150 * testsuite/util/testsuite_random.h (random_device_available):
151 Change catch handler to use std::system_error.
153 2023-04-24 Patrick Palka <ppalka@redhat.com>
155 * include/bits/max_size_type.h (__max_diff_type::operator>>=):
156 Fix propagation of sign bit.
157 * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
158 non-standard 'signed typedef-name'. Add some compile-time tests
159 for right-shifting a negative __max_diff_type value by more than
162 2023-04-19 Patrick Palka <ppalka@redhat.com>
163 Jonathan Wakely <jwakely@redhat.com>
166 * include/bits/utility.h (_Nth_type): Conditionally define in
167 terms of __type_pack_element if available.
168 * testsuite/20_util/tuple/element_access/get_neg.cc: Prune
169 additional errors from the new built-in.
171 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
174 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
177 * src/Makefile.am: Move globals_io.cc to here.
178 * src/Makefile.in: Regenerate.
179 * src/c++98/Makefile.am: Remove globals_io.cc from here.
180 * src/c++98/Makefile.in: Regenerate.
181 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
182 symbol name and then export with GLIBCXX_3.4.31 symver.
183 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
184 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
186 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
188 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
190 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
192 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
194 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
196 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
198 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
200 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
202 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
205 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
208 * config/abi/pre/gnu.ver: Fix preprocessor condition.
210 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
212 * doc/xml/manual/extensions.xml: Fix example to declare and
213 qualify std::free, and use NULL instead of 0.
214 * doc/html/manual/ext_demangling.html: Regenerate.
215 * libsupc++/cxxabi.h: Adjust doxygen comments.
217 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
220 * config/abi/pre/gnu.ver: Fix preprocessor condition.
222 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
225 * src/Makefile.am: Move globals_io.cc to here.
226 * src/Makefile.in: Regenerate.
227 * src/c++98/Makefile.am: Remove globals_io.cc from here.
228 * src/c++98/Makefile.in: Regenerate.
229 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
230 symbol name and then export with GLIBCXX_3.4.31 symver.
231 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
232 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
234 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
236 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
238 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
240 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
242 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
244 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
246 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
248 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
250 2023-04-18 Patrick Palka <ppalka@redhat.com>
253 * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value
255 * include/std/ranges (range_adaptor_closure): Define for C++23.
256 * include/std/version (__cpp_lib_ranges): Bump value for
258 * testsuite/std/ranges/version_c++23.cc: Bump expected value
260 * testsuite/std/ranges/range_adaptor_closure.cc: New test.
262 2023-04-18 Patrick Palka <ppalka@redhat.com>
264 * include/bits/ranges_algo.h (__cpp_lib_ranges_contains):
266 (__cpp_lib_ranges_iota): Likewise.
267 (__cpp_lib_ranges_find_last): Likewise.
268 (__cpp_lib_fold): Rename to ...
269 (__cpp_lib_ranges_fold): ... this.
270 * include/std/version: As above.
271 * testsuite/25_algorithms/fold_left/1.cc: Adjust after
272 renaming __cpp_lib_fold.
273 * testsuite/std/ranges/version_c++23.cc: Verify values
274 of the above feature-test macros.
276 2023-04-18 Patrick Palka <ppalka@redhat.com>
279 * include/std/ranges (views::_AsConst::operator()): Add
280 missing const to constant_range test.
281 * testsuite/std/ranges/adaptors/as_const/1.cc (test02):
282 Improve formatting. Adjust expected type of v2.
285 2023-04-14 Patrick Palka <ppalka@redhat.com>
287 * include/bits/ranges_base.h (const_iterator_t): Define for C++23.
288 (const_sentinel_t): Likewise.
289 (range_const_reference_t): Likewise.
290 (constant_range): Likewise.
291 (__cust_access::__possibly_const_range): Likewise, replacing ...
292 (__cust_access::__as_const): ... this.
293 (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4.
294 (__cust_access::_CEnd::operator()): Likewise.
295 (__cust_access::_CRBegin::operator()): Likewise.
296 (__cust_access::_CREnd::operator()): Likewise.
297 (__cust_access::_CData::operator()): Likewise.
298 * include/bits/ranges_util.h (ranges::__detail::__different_from):
299 Make it an alias of std::__detail::__different_from.
300 (view_interface::cbegin): Define for C++23.
301 (view_interface::cend): Likewise.
302 * include/bits/stl_iterator.h (__detail::__different_from): Define.
303 (iter_const_reference_t): Define for C++23.
304 (__detail::__constant_iterator): Likewise.
305 (__detail::__is_const_iterator): Likewise.
306 (__detail::__not_a_const_iterator): Likewise.
307 (__detail::__iter_const_rvalue_reference_t): Likewise.
308 (__detail::__basic_const_iter_cat):: Likewise.
309 (const_iterator): Likewise.
310 (__detail::__const_sentinel): Likewise.
311 (const_sentinel): Likewise.
312 (basic_const_iterator): Likewise.
313 (common_type<basic_const_iterator<_Tp>, _Up>): Likewise.
314 (common_type<_Up, basic_const_iterator<_Tp>>): Likewise.
315 (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>):
317 (make_const_iterator): Define for C++23.
318 (make_const_sentinel): Likewise.
319 * include/std/ranges (__cpp_lib_ranges_as_const): Likewise.
320 (as_const_view): Likewise.
321 (enable_borrowed_range<as_const_view>): Likewise.
322 (views::__detail::__is_ref_view): Likewise.
323 (views::__detail::__can_is_const_view): Likewise.
324 (views::_AsConst, views::as_const): Likewise.
325 * include/std/span (span::const_iterator): Likewise.
326 (span::const_reverse_iterator): Likewise.
327 (span::cbegin): Likewise.
328 (span::cend): Likewise.
329 (span::crbegin): Likewise.
330 (span::crend): Likewise.
331 * include/std/version (__cpp_lib_ranges_as_const): Likewise.
332 * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to
333 behave independently of C++20 vs C++23.
334 * testsuite/std/ranges/version_c++23.cc: Verify value of
335 __cpp_lib_ranges_as_const macro.
336 * testsuite/24_iterators/const_iterator/1.cc: New test.
337 * testsuite/std/ranges/adaptors/as_const/1.cc: New test.
339 2023-04-14 Patrick Palka <ppalka@redhat.com>
341 * include/bits/ranges_base.h (__cust_access::__as_const)
342 (__cust_access::_CBegin, __cust::cbegin)
343 (__cust_access::_CEnd, __cust::cend)
344 (__cust_access::_CRBegin, __cust::crbegin)
345 (__cust_access::_CREnd, __cust::crend)
346 (__cust_access::_CData, __cust::cdata): Move down definitions to
347 shortly after the definition of input_range.
349 2023-04-14 Patrick Palka <ppalka@redhat.com>
351 * include/bits/ranges_algo.h: Include <optional> for C++23.
352 (__cpp_lib_fold): Define for C++23.
353 (in_value_result): Likewise.
354 (__detail::__flipped): Likewise.
355 (__detail::__indirectly_binary_left_foldable_impl): Likewise.
356 (__detail::__indirectly_binary_left_foldable): Likewise.
357 (___detail:__indirectly_binary_right_foldable): Likewise.
358 (fold_left_with_iter_result): Likewise.
359 (__fold_left_with_iter_fn, fold_left_with_iter): Likewise.
360 (__fold_left_fn, fold_left): Likewise.
361 (__fold_left_first_with_iter_fn, fold_left_first_with_iter):
363 (__fold_left_first_fn, fold_left_first): Likewise.
364 (__fold_right_fn, fold_right): Likewise.
365 (__fold_right_last_fn, fold_right_last): Likewise.
366 * include/std/version (__cpp_lib_fold): Likewise.
367 * testsuite/25_algorithms/fold_left/1.cc: New test.
368 * testsuite/25_algorithms/fold_right/1.cc: New test.
370 2023-04-14 Jonathan Wakely <jwakely@redhat.com>
372 * include/std/format (formatter): Add comment to deleted default
373 constructor of primary template.
374 (_Checking_scanner): Add static_assert.
376 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
378 * doc/xml/manual/using.xml: Document libstdc++exp.a library.
379 * doc/html/*: Regenerate.
381 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
383 * testsuite/17_intro/names.cc [_AIX]: Do not define policy.
384 * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
385 namespace to avoid clashing with libc struct.
386 * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
388 * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
389 * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
390 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
391 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
392 * testsuite/experimental/synchronized_value.cc: Require gthreads
393 and add missing option for pthreads targets.
395 2023-04-12 Patrick Palka <ppalka@redhat.com>
397 * include/std/ranges (__cpp_lib_ranges_enumerate): Define
399 (__detail::__range_with_movable_reference): Likewise.
400 (enumerate_view): Likewise.
401 (enumerate_view::_Iterator): Likewise.
402 (enumerate_view::_Sentinel): Likewise.
403 (views::__detail::__can_enumerate_view): Likewise.
404 (views::_Enumerate, views::enumerate): Likewise.
405 * include/std/version (__cpp_lib_ranges_enumerate): Likewise.
406 * testsuite/std/ranges/version_c++23.cc: Verify value of
407 __cpp_lib_ranges_enumerate.
408 * testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
410 2023-04-12 Patrick Palka <ppalka@redhat.com>
412 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
413 Propagate _M_trailing_empty in the const-converting constructor
415 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
417 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
419 2023-04-12 Patrick Palka <ppalka@redhat.com>
421 * src/c++17/floating_from_chars.cc: Include <algorithm>,
422 <iterator>, <limits> and <cstdint>.
424 2023-04-12 Patrick Palka <ppalka@redhat.com>
427 * include/std/ranges (chunk_by_view::_M_find_next): Generalize
428 parameter types of the lambda wrapper passed to adjacent_find.
429 (chunk_by_view::_M_find_prev): Likewise.
430 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
433 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
436 * include/experimental/internet (basic_endpoint::basic_endpoint()):
437 Ensure that the required union members are active. Only define
438 as constexpr for C++20 and later.
439 (basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
441 * testsuite/experimental/net/internet/endpoint/cons.cc: Only
442 check constexpr default constructor for C++20 and later.
443 * testsuite/experimental/net/internet/endpoint/extensible.cc:
446 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
448 * src/c++20/tzdata.zi: Import new file from 2023c release.
450 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
452 * include/precompiled/stdc++.h (C++17): Don't double-include
453 <charconv>, once with wrong conditions.
454 * testsuite/18_support/96817.cc: Require hosted.
455 * testsuite/18_support/bad_exception/59392.cc: Ditto.
456 * testsuite/20_util/scoped_allocator/108952.cc: Ditto.
457 * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
458 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
461 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
463 * include/bits/c++config: When __STDC_HOSTED__ is zero,
464 disable _GLIBCXX_DEBUG and, if it was set, enable
466 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
467 Include <bits/c++config.h> when determining whether debug is
468 set, in order to inherit the logic from above
470 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
472 * testsuite/17_intro/versionconflict.cc: New test.
473 * include/std/version: Allow disabling the system_header pragma
474 via _GLIBCXX_TESTING_SYSHDR.
476 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
478 * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
479 Synchronize the definition block with...
480 * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
481 ... this one here. Also define the 202202L value, rather than
482 leaving it up to purely unique_ptr.h, so that the value is
483 synchronized across all headers.
484 (__gnu_debug::_Safe_iterator_base): Move into new conditional
486 * include/std/memory (__cpp_lib_atomic_value_initialization):
487 Define on freestanding under the same conditions as in
489 * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
490 Also define on freestanding.
491 (__cpp_lib_to_chars): Ditto.
492 (__cpp_lib_gcd): Ditto.
493 (__cpp_lib_gcd_lcm): Ditto.
494 (__cpp_lib_raw_memory_algorithms): Ditto.
495 (__cpp_lib_array_constexpr): Ditto.
496 (__cpp_lib_nonmember_container_access): Ditto.
497 (__cpp_lib_clamp): Ditto.
498 (__cpp_lib_constexpr_char_traits): Ditto.
499 (__cpp_lib_constexpr_string): Ditto.
500 (__cpp_lib_sample): Ditto.
501 (__cpp_lib_lcm): Ditto.
502 (__cpp_lib_constexpr_iterator): Ditto.
503 (__cpp_lib_constexpr_char_traits): Ditto.
504 (__cpp_lib_interpolate): Ditto.
505 (__cpp_lib_constexpr_utility): Ditto.
506 (__cpp_lib_shift): Ditto.
507 (__cpp_lib_ranges): Ditto.
508 (__cpp_lib_move_iterator_concept): Ditto.
509 (__cpp_lib_constexpr_numeric): Ditto.
510 (__cpp_lib_constexpr_functional): Ditto.
511 (__cpp_lib_constexpr_algorithms): Ditto.
512 (__cpp_lib_constexpr_tuple): Ditto.
513 (__cpp_lib_constexpr_memory): Ditto.
515 2023-04-05 John David Anglin <danglin@gcc.gnu.org>
517 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
518 timeout factor on hppa*-*-*.
520 2023-04-05 Jonathan Wakely <jwakely@redhat.com>
522 * include/bits/regex.h (sub_match::swap): New function.
523 * testsuite/28_regex/sub_match/lwg3204.cc: New test.
525 2023-04-04 Jonathan Wakely <jwakely@redhat.com>
527 * doc/xml/manual/extensions.xml: Remove std::bad_exception from
529 * doc/html/manual/ext_demangling.html: Regenerate.
531 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
533 PR tree-optimization/107087
534 * include/bits/cow_string.h (basic_string::size()): Add
535 optimizer hint that _S_empty_rep()._M_length is always zero.
536 (basic_string::length()): Call size().
538 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
541 * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
542 Add attribute access with access-mode 'none'.
543 * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
545 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
547 * include/experimental/internet (ip::basic_endpoint::_M_if_v6):
548 Revert change from member function to data member. Fix for
549 constant evaluation by detecting which union member is active.
550 (ip::basic_endpoint::resize): Revert changes to update _M_is_v6
553 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
556 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
557 * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
559 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
561 * include/experimental/internet (ip::make_address): Implement
563 (ip::address_v4::broadcast()): Avoid undefined shift.
564 (ip::basic_endpoint): Fix member functions for constexpr.
565 (ip::basic_endpoint::_M_is_v6): Replace member function with
566 data member, adjust member functions using it.
567 (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
569 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
570 constexpr checks to work in C++14.
571 * testsuite/experimental/net/internet/address/v4/creation.cc:
573 * testsuite/experimental/net/internet/endpoint/cons.cc:
575 * testsuite/experimental/net/internet/network/v4/cons.cc:
577 * testsuite/experimental/net/internet/network/v4/members.cc:
579 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
581 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
583 * include/std/expected (expected::value() &): Use const lvalue
584 for unex member passed to bad_expected_access constructor, as
587 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
590 * include/std/expected (expected::transform): Use
591 std::remove_cv_t instead of std::remove_cvref_t.
592 (expected::transform_error): Likewise.
593 (expected<cv void, E>::transform): Likewise.
594 (expected<cv void, E>::transform_error): Likewise.
595 * include/std/optional (transform): Use std::remove_cv_t.
596 * testsuite/20_util/optional/monadic/pr109340.cc: New test.
598 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
600 * include/std/optional (optional): Adjust static assertion to
601 reject arrays and functions as well as references.
602 * testsuite/20_util/optional/requirements_neg.cc: New test.
604 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
607 * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
608 std::use_facet instead of cached _M_num_get facet.
609 (istream::operator>>(short&)): Likewise.
610 (istream::operator>>(int&)): Likewise.
611 * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
612 std::use_facet instead of cached _M_num_put facet.
614 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
616 * include/bits/char_traits.h (char_traits::copy): Return without
617 using memcpy if n==0.
618 (char_traits::assign): Likewise for memset.
620 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
623 * include/bits/basic_string.h (basic_string::_M_is_local()): Add
624 hint for compiler that local strings fit in the local buffer.
626 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
629 * include/std/chrono (__detail::__get_leap_second_info): Update
630 expiry date of hardcoded leapseconds list.
631 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
633 * src/c++20/tzdata.zi: Import new file from 2023a release.
634 * testsuite/std/time/time_zone/get_info_local.cc: Only check
635 transitions for Egypt up to 2014.
637 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
639 * include/experimental/bits/simd.h (is_simd_flag_type): New.
640 (_IsSimdFlagType): New.
641 (copy_from, copy_to, load ctors): Constrain _Flags using
644 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
646 * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
647 _Base::_S_divides if the optimized _S_divides function is hidden
648 via the preprocessor.
650 2023-03-27 Jakub Jelinek <jakub@redhat.com>
652 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
653 warning if size_t is not unsigned long.
655 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
657 * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
658 Add overload, as per LWG 3893.
659 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
660 Check assignment from nullptr.
662 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
664 * include/std/format (formatter<const charT[N], charT>): Do not
665 define partial speclialization, as per LWG 3833.
666 * testsuite/std/format/formatter/requirements.cc: Check it.
668 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
670 * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
672 * testsuite/20_util/exchange/constexpr.cc: Check for it.
674 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
676 * include/std/version (__cpp_lib_format): Define.
677 * testsuite/std/format/functions/format.cc: Check it.
679 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
681 * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
682 Pass rvalues to the callback, as now allowed by LWG 3645.
683 Enforce preconditions on the return value.
684 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
687 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
689 * include/std/format: Add a comment noting that the resolution
690 of LWG 3720 has been applied..
692 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
694 * include/bits/regex.h (match_results): Add allocator-extended
695 copy and move constructors, as per LWG 2195.
696 * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
698 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
700 * include/bits/stream_iterator.h (istream_iterator): Add
701 constexpr to copy constructor, as per LWG 3600.
702 * testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
703 Check copy construction.
705 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
707 * include/experimental/bits/simd_x86.h
708 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
709 with __RECIPROCAL_MATH__.
711 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
713 * include/experimental/bits/simd_detail.h: Don't define
714 _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
715 * include/experimental/bits/simd_x86.h (_S_divides): Remove
718 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
720 * include/experimental/bits/simd_detail.h: Don't declare the
721 simd API as constexpr with Clang.
722 * include/experimental/bits/simd_x86.h (__movm): New.
723 (_S_blend_avx512): Resolve FIXME. Implement blend using __movm
725 (_SimdImplX86::_S_masked_unary): Clang does not implement the
726 same builtins. Implement the function using __movm, ?:, and -
727 operators on vector_size types instead.
729 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
731 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
732 define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
734 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
736 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
739 2023-03-20 Marek Polacek <polacek@redhat.com>
742 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
743 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
744 * testsuite/23_containers/span/explicit.cc: Likewise.
746 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
749 * include/std/expected (expected<void>::expected(in_place_t)):
750 Remove template-head.
752 2023-03-18 Jonathan Wakely <jwakely@redhat.com>
755 * testsuite/18_support/coroutines/hash.cc: Use const object
758 2023-03-17 Jonathan Wakely <jwakely@redhat.com>
761 * include/std/coroutine (hash<>::operator()): Add const.
762 * testsuite/18_support/coroutines/hash.cc: New test.
764 2023-03-14 Patrick Palka <ppalka@redhat.com>
767 * include/std/ranges (repeat_view): Remove redundant parentheses
769 (repeat_view::_Iterator): Correct the requires-clause.
771 2023-03-14 Patrick Palka <ppalka@redhat.com>
773 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
775 (__cpp_lib_move_iterator_concept): Define for C++20.
776 (move_iterator::iterator_concept): Strengthen as per P2520R0.
777 * include/std/version (__cpp_lib_move_iterator_concept): Define
779 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
781 2023-03-14 Patrick Palka <ppalka@redhat.com>
783 * include/bits/ranges_util.h (view_interface::empty): Add
784 preferred overloads that use ranges::size when the range is
785 sized as per LWG 3715.
786 * testsuite/std/ranges/adaptors/lwg3715.cc: New test.
788 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
790 * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
791 Only define for C++17 and later.
793 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
795 * src/Makefile.am: Add comment about linker script fragments.
796 * src/Makefile.in: Regenerate.
798 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
801 * include/bits/mask_array.h (mask_array): Add assertions to
802 assignment operators.
803 * include/std/valarray (valarray::operator[](valarray<bool>)):
805 * testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
806 * testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
807 * testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
808 * testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
809 * testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
810 * testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
811 * testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
812 * testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
813 * testsuite/26_numerics/valarray/mask.cc: New test.
815 2023-03-13 Jakub Jelinek <jakub@redhat.com>
817 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
818 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
820 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
822 * doc/Makefile.am: Add comment referring to documentation.
823 * doc/Makefile.in: Regenerate.
825 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
827 * doc/html/*: Regenerate.
829 2023-03-13 Jonny Grant <jg@jguk.org>
831 * doc/xml/faq.xml: Update copyright year.
833 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
835 * include/bits/allocator.h: Fix typo in comment.
837 2023-03-12 Jakub Jelinek <jakub@redhat.com>
839 * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
840 if it isn't mangled as DF16b but u6__bf16.
842 2023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
844 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
846 * doc/html/manual/documentation_hacking.html: Regenerate.
848 2023-03-10 Jonathan Wakely <jwakely@redhat.com>
851 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
852 Remove self-recursion in __init__. Add missing _supports.
853 * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
856 2023-03-09 Patrick Palka <ppalka@redhat.com>
859 (cartesian_product_view::_Iterator::_Iterator): Remove
860 constraint on default constructor as per LWG 3849.
861 (cartesian_product_view::_Iterator::_M_prev): Adjust position
862 of _Nm > 0 test as per LWG 3820.
863 (cartesian_product_view::_Iterator::_M_advance): Perform bounds
864 checking only on sized cartesian products.
865 * testsuite/std/ranges/cartesian_product/1.cc (test08): New test.
867 2023-03-09 Patrick Palka <ppalka@redhat.com>
870 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
872 (repeat_view::_M_pred): Likewise.
873 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
874 * testsuite/std/ranges/repeat/1.cc (test05): New test.
876 2023-03-09 Patrick Palka <ppalka@redhat.com>
879 * include/std/ranges (__detail::__can_single_view): New concept.
880 (_Single::operator()): Constrain it. Move [[nodiscard]] to the
881 end of the function declarator.
882 (__detail::__can_iota_view): New concept.
883 (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
884 end of the function declarator.
885 (__detail::__can_istream_view): New concept.
886 (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
887 end of the function declarator.
888 * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
889 * testsuite/std/ranges/istream_view.cc (test08): New test.
890 * testsuite/std/ranges/single_view.cc (test07): New test.
892 2023-03-09 Patrick Palka <ppalka@redhat.com>
895 * include/std/ranges (cartesian_product_view::end): When
896 building the tuple of iterators, avoid calling ranges::begin on
897 the first range if __empty_tail is false.
898 * testsuite/std/ranges/cartesian_product/1.cc (test07): New test.
900 2023-03-09 Jonathan Wakely <jwakely@redhat.com>
903 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
906 2023-03-07 Jakub Jelinek <jakub@redhat.com>
908 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
909 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
910 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
911 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
912 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
914 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
917 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
918 not match symbols in namespace std::__gnu_cxx11_ieee128.
919 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
920 std::__gnu_cxx11_ieee128::money_{get,put}.
922 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
924 * libsupc++/eh_personality.cc: Fix spelling in comment.
926 2023-03-03 Alexandre Oliva <oliva@adacore.com>
928 * testsuite/30_threads/async/async.cc (test04): Initialize
929 steady_start, renamed from steady_begin, next to slow_start.
930 Increase tolerance for final wait.
932 2023-03-03 Alexandre Oliva <oliva@adacore.com>
934 * testsuite/libstdc++-prettyprinters/80276.cc: Add
935 std::string to debug info.
936 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
938 2023-03-03 Alexandre Oliva <oliva@adacore.com>
943 * include/bits/std_thread.h (thread::_M_thread_deps): New
944 static implicitly-inline member function.
945 (std::thread template ctor): Pass it to _M_start_thread.
946 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
947 parameter, force it live on entry.
949 2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
951 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
952 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
954 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
955 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
958 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
960 * include/bits/cow_string.h: Fix typo in comment.
962 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
964 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
965 current time zone cannot be determined.
966 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
967 HAVE_TZDB macro and test all members unconditionally.
969 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
972 * include/bits/uses_allocator_args.h
973 (uses_allocator_construction_args): Implement LWG 3527.
974 * testsuite/20_util/pair/astuple/get-2.cc: New test.
975 * testsuite/20_util/scoped_allocator/108952.cc: New test.
976 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
978 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
981 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
982 Add __assign_one static member function.
983 (__copy_move<true, false, RA>): Likewise.
984 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
986 (__copy_move_backward<IsMove, true, RA>): Likewise.
987 * testsuite/25_algorithms/copy/108846.cc: New test.
988 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
989 * testsuite/25_algorithms/copy_n/108846.cc: New test.
990 * testsuite/25_algorithms/move/108846.cc: New test.
991 * testsuite/25_algorithms/move_backward/108846.cc: New test.
993 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
995 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
998 2023-02-27 Jonathan Wakely <jwakely@redhat.com>
1000 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
1002 * include/bits/basic_string.h (resize_and_overwrite): Add
1005 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
1007 * include/experimental/bits/simd.h: Line breaks and indenting
1008 fixed to follow the libstdc++ standard.
1009 * include/experimental/bits/simd_builtin.h: Likewise.
1010 * include/experimental/bits/simd_fixed_size.h: Likewise.
1011 * include/experimental/bits/simd_neon.h: Likewise.
1012 * include/experimental/bits/simd_ppc.h: Likewise.
1013 * include/experimental/bits/simd_scalar.h: Likewise.
1014 * include/experimental/bits/simd_x86.h: Likewise.
1016 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
1019 * include/experimental/bits/simd_fixed_size.h
1020 (_SimdImplFixedSize::_S_broadcast): Replace inline with
1021 _GLIBCXX_SIMD_INTRINSIC.
1022 (_SimdImplFixedSize::_S_generate): Likewise.
1023 (_SimdImplFixedSize::_S_load): Likewise.
1024 (_SimdImplFixedSize::_S_masked_load): Likewise.
1025 (_SimdImplFixedSize::_S_store): Likewise.
1026 (_SimdImplFixedSize::_S_masked_store): Likewise.
1027 (_SimdImplFixedSize::_S_min): Likewise.
1028 (_SimdImplFixedSize::_S_max): Likewise.
1029 (_SimdImplFixedSize::_S_complement): Likewise.
1030 (_SimdImplFixedSize::_S_unary_minus): Likewise.
1031 (_SimdImplFixedSize::_S_plus): Likewise.
1032 (_SimdImplFixedSize::_S_minus): Likewise.
1033 (_SimdImplFixedSize::_S_multiplies): Likewise.
1034 (_SimdImplFixedSize::_S_divides): Likewise.
1035 (_SimdImplFixedSize::_S_modulus): Likewise.
1036 (_SimdImplFixedSize::_S_bit_and): Likewise.
1037 (_SimdImplFixedSize::_S_bit_or): Likewise.
1038 (_SimdImplFixedSize::_S_bit_xor): Likewise.
1039 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
1040 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
1041 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
1042 explicit about not always-inline, yet).
1043 (_SimdImplFixedSize::_S_isinf): Likewise.
1044 (_SimdImplFixedSize::_S_isfinite): Likewise.
1045 (_SimdImplFixedSize::_S_isnan): Likewise.
1046 (_SimdImplFixedSize::_S_isnormal): Likewise.
1047 (_SimdImplFixedSize::_S_signbit): Likewise.
1049 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
1052 * include/experimental/bits/simd_builtin.h
1053 (_SimdImplBuiltin::_S_masked_unary): More efficient
1054 implementation of masked inc-/decrement for integers and floats
1056 * include/experimental/bits/simd_x86.h
1057 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
1058 builtins for masked inc-/decrement.
1060 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1062 * include/experimental/executor (executor): Constrain template
1065 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1067 * include/experimental/internet (basic_endpoint): Add missing
1068 constexpr to comparison operators.
1069 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
1071 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1073 * include/experimental/internet (network_v4::netmask()): Avoid
1075 (network_v4::broadcast()): Optimize and fix for targets with
1076 uint_least32_t wider than 32 bits.
1077 (network_v4::to_string(const Allocator&)): Fix for custom
1078 allocators and optimize using to_chars.
1079 (operator==(const network_v4&, const network_v4&)): Add missing
1081 (operator==(const network_v6&, const network_v6&)): Likewise.
1082 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
1083 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
1085 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1087 * include/experimental/internet (address_4(const bytes_type&)):
1088 Use __builtin_bit_cast if available, otherwise convert to
1090 (address_v4::to_bytes()): Likewise, but convert from network
1092 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
1093 incorrect tests. Check for constexpr too.
1094 * testsuite/experimental/net/internet/address/v4/creation.cc:
1096 * testsuite/experimental/net/internet/address/v4/members.cc:
1097 Check that bytes_type is a standard-layout type.
1099 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1101 * include/experimental/internet (address_v4::to_string):
1103 * testsuite/experimental/net/internet/address/v4/members.cc:
1104 Check more addresses.
1106 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1108 * include/ext/aligned_buffer.h (__aligned_buffer): Add
1111 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1113 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
1116 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1118 * testsuite/experimental/simd/tests/reductions.cc: Introduce
1119 max_distance as the type-dependent max error.
1121 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1123 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
1124 int. The actual range of these indexes is very small.
1126 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1128 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
1129 (_S_bit_shift_right): Declare constexpr. The implementation was
1130 already expecting constexpr evaluation.
1132 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1135 * include/experimental/bits/simd_detail.h
1136 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
1139 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1142 * include/experimental/bits/simd.h (__vector_broadcast):
1143 Implement via __vector_broadcast_impl instead of
1144 __call_with_n_evaluations + 2 lambdas.
1145 (__vector_broadcast_impl): New.
1147 2023-02-22 Alexandre Oliva <oliva@adacore.com>
1149 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
1150 Avoid destruction of the mutex pool.
1152 2023-02-22 Alexandre Oliva <oliva@adacore.com>
1154 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
1156 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
1159 2023-02-22 Alexandre Oliva <oliva@adacore.com>
1161 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
1164 2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
1166 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1168 2023-02-20 Matthias Kretz <m.kretz@gsi.de>
1170 * include/experimental/bits/simd.h (__extract_part, split):
1171 Use reserved name for template parameter.
1173 2023-02-20 Andreas Schwab <schwab@suse.de>
1175 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
1177 2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
1179 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
1180 * doc/html/faq.html: Regenerate.
1182 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1184 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
1185 between scalars requires the __bit_cast helper function instead
1188 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1190 * include/experimental/bits/simd_x86.h
1191 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
1192 (_SimdImplX86::_S_less_equal): Do not call
1193 __builtin_is_constant_evaluated in constexpr-if.
1195 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1197 * testsuite/experimental/simd/tests/bits/verify.h
1198 (verify::verify): Use %zx for size_t in format string.
1200 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1202 * testsuite/experimental/simd/generate_makefile.sh: Generate and
1203 pre-compile pch.h, which includes all headers that do not depend
1204 on command-line macros.
1205 * testsuite/experimental/simd/tests/bits/main.h: New file.
1206 (iterate_abis, main): Moved from verify.h.
1207 * testsuite/experimental/simd/tests/bits/verify.h
1208 (iterate_abis, main): Moved to main.h.
1209 * testsuite/experimental/simd/tests/bits/conversions.h: Add
1211 (genHalfBits): Simplify.
1212 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
1214 (make_alternating_mask): Moved from mask_loadstore.
1215 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
1217 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
1218 * testsuite/experimental/simd/tests/mask_loadstore.cc
1219 (make_mask, make_alternating_mask): Removed.
1220 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
1221 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
1223 * testsuite/experimental/simd/tests/abs.cc: Only include
1226 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
1227 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
1228 * testsuite/experimental/simd/tests/casts.cc: Ditto.
1229 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
1230 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
1231 * testsuite/experimental/simd/tests/generator.cc: Ditto.
1232 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
1233 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
1234 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
1235 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
1236 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
1237 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
1238 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
1239 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
1240 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
1241 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
1242 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
1243 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
1244 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
1245 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
1246 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
1247 * testsuite/experimental/simd/tests/simd.cc: Ditto.
1248 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
1249 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
1250 * testsuite/experimental/simd/tests/splits.cc: Ditto.
1251 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
1252 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
1253 * testsuite/experimental/simd/tests/where.cc: Ditto.
1255 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1257 * testsuite/experimental/simd/README.md: Document the timeout
1258 and timeout-factor directives. Minor typo fixed.
1260 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1263 * include/experimental/bits/simd_detail.h: Define
1264 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
1265 * include/experimental/bits/simd.h: Annotate lambdas with
1266 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
1267 * include/experimental/bits/simd_builtin.h: Ditto.
1268 * include/experimental/bits/simd_converter.h: Ditto.
1269 * include/experimental/bits/simd_fixed_size.h: Ditto.
1270 * include/experimental/bits/simd_math.h: Ditto.
1271 * include/experimental/bits/simd_neon.h: Ditto.
1272 * include/experimental/bits/simd_x86.h: Ditto.
1274 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1276 * include/experimental/bits/simd.h
1277 (_SimdWrapper::_M_is_constprop_none_of)
1278 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
1279 computed result still satisfies __builtin_constant_p.
1281 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1283 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
1286 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1288 * include/Makefile.am: Add new header.
1289 * include/Makefile.in: Regenerate.
1290 * include/experimental/synchronized_value: New file.
1291 * testsuite/experimental/synchronized_value.cc: New test.
1293 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1295 * include/experimental/optional: Fix header name in comment.
1297 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1299 * include/std/format (__format::_Arg_store): New class template.
1300 (basic_format_args): Remove nested type _Store and add deduction
1301 guide from _Arg_store.
1302 (basic_format_arg, make_format_args): Adjust.
1303 * testsuite/std/format/arguments/lwg3810.cc: New test.
1305 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1307 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
1308 constraints to constructors and add deleted overloads for the
1309 dangling cases, as per P2255R2.
1310 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
1311 make dangling cases ill-formed.
1312 * testsuite/20_util/pair/dangling_ref.cc: New test.
1314 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1316 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
1318 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1320 * include/ext/throw_allocator.h: Use reserved names for
1323 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1325 * testsuite/17_intro/names_pstl.cc: Add space after effective
1328 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1330 * include/pstl/algorithm_fwd.h (__pattern_search_n)
1331 (__brick_unique_copy, __brick_adjacent_find)
1332 (__brick_generate_n, __pattern_generate_n): Use reserved names
1334 * include/pstl/algorithm_impl.h (__brick_unique_copy)
1335 (__pattern_reverse, __brick_generate_n): Likewise.
1336 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
1337 (__prefer_parallel_tag): Likewise.
1338 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
1339 * include/pstl/glue_numeric_defs.h (adjacent_difference):
1341 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
1343 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
1344 * include/pstl/unseq_backend_simd.h (_Combiner)
1345 (__simd_min_element, __simd_minmax_element): Likewise.
1346 * testsuite/17_intro/names_pstl.cc: New test.
1348 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1350 * include/bits/fs_ops.h (create_directory): Use reserved name
1352 * include/bits/ranges_algo.h (__contains_subrange_fn):
1354 * include/bits/regex_automaton.h (_State_base::_M_print):
1356 * include/bits/regex_automaton.tcc(_State_base::_M_print):
1358 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
1359 * include/experimental/bits/fs_ops.h (create_directory):
1361 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
1362 (recursive_timed_mutex:_M_clocklock): Likewise.
1363 * include/std/tuple (basic_common_reference): Likewise.
1364 * libsupc++/cxxabi_init_exception.h
1365 (__cxa_init_primary_exception): Likewise.
1366 * testsuite/17_intro/names.cc: Add checks.
1368 2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
1370 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
1371 to www.open-std.org and https.
1372 * doc/html/manual/status.html: Regenerate.
1374 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
1377 * include/std/atomic (atomic_flag_wait): Add.
1378 (atomic_flag_wait_explicit): Add.
1379 (atomic_flag_notify): Add.
1380 (atomic_flag_notify_explicit): Add.
1381 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
1382 Add test case to cover missing atomic_flag free functions.
1384 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
1387 * include/std/atomic (atomic_flag_test): Add.
1388 (atomic_flag_test_explicit): Add.
1389 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
1390 test case to cover missing atomic_flag free functions.
1391 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
1394 2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
1396 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
1397 "The Component Object Model" reference.
1398 * doc/html/manual/policy_data_structures.html: Regenerate.
1400 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1402 * doc/xml/manual/containers.xml: Tweak a link to N1780
1404 * doc/html/manual/associative.html: Regenerate.
1406 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1408 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
1409 * doc/html/manual/facets.html: Regenerate.
1411 2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
1413 * doc/xml/manual/policy_data_structures_biblio.xml: Update
1414 link to "Worst-case efficient priority queues".
1415 * doc/html/manual/policy_data_structures.html: Regenerate.
1417 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
1419 * doc/xml/manual/using.xml: Document newly-freestanding
1420 headers and the effect of the -ffreestanding flag.
1421 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
1423 * doc/xml/manual/configure.xml: Document that hosted installs
1424 respect __STDC_HOSTED__.
1425 * doc/xml/manual/test.xml: Document how to run tests in
1427 * doc/html/*: Regenerate.
1429 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1431 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
1432 (__find_last_if_fn): Likewise.
1434 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1436 * include/std/type_traits: Add diagnostic pragmas around
1437 references to deprecated std::aligned_storage and
1438 std::aligned_union traits.
1439 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
1440 Add dg-warning for et c++23.
1441 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
1443 * testsuite/20_util/aligned_storage/value.cc: Likewise.
1444 * testsuite/20_util/aligned_union/1.cc: Likewise.
1445 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
1448 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
1450 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
1451 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
1452 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
1453 * include/std/type_traits (aligned_storage, aligned_union)
1454 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
1455 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
1456 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
1458 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
1460 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
1461 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
1462 consistent with other 'deprecated' macros.
1463 * include/std/type_traits (is_pod, is_pod_v): Use
1464 _GLIBCXX20_DEPRECATED_SUGGEST instead.
1466 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
1468 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
1469 * Makefile.in: Regenerate.
1470 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
1471 There's no history to be compatible with.
1472 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
1473 source files from the build.
1474 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1475 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1476 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1477 * src/Makefile.in: Regenerate.
1478 * src/c++11/Makefile.in: Regenerate.
1479 * src/c++17/Makefile.in: Regenerate.
1480 * src/c++20/Makefile.in: Regenerate.
1481 * src/c++98/Makefile.in: Regenerate.
1483 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1485 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
1486 filesystem, libbacktrace and experimental.
1487 * src/Makefile.in: Regenerate.
1489 2023-02-04 Hans-Peter Nilsson <hp@axis.com>
1492 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
1495 2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
1497 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
1498 * doc/html/manual/documentation_hacking.html: Regenerate.
1500 2023-02-04 François Dumont <fdumont@gcc.gnu.org>
1502 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
1503 storage to the move-from instance when allocators are equal.
1504 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
1507 2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
1509 * config/os/gnu-linux/os_defines.h [!__linux__]
1510 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
1512 2023-02-03 Patrick Palka <ppalka@redhat.com>
1514 * include/bits/ranges_algo.h (__find_last_fn, find_last):
1516 (__find_last_if_fn, find_last_if): Define.
1517 (__find_last_if_not_fn, find_last_if_not): Define.
1518 * testsuite/25_algorithms/find_last/1.cc: New test.
1519 * testsuite/25_algorithms/find_last_if/1.cc: New test.
1520 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
1522 2023-02-03 Patrick Palka <ppalka@redhat.com>
1524 * include/bits/ranges_algo.h (out_value_result): Define.
1525 (iota_result): Define.
1526 (__iota_fn, iota): Define.
1527 * testsuite/25_algorithms/iota/1.cc: New test.
1529 2023-02-03 Patrick Palka <ppalka@redhat.com>
1531 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
1532 (__contains_subrange_fn, contains_subrange): Define.
1533 * testsuite/25_algorithms/contains/1.cc: New test.
1534 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
1536 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1538 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
1539 * doc/html/manual/abi.html: Regenerate.
1541 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1543 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
1544 errc::function_not_supported instead of errc::not_supported.
1546 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1548 * include/std/sstream (basic_stringbuf::view): Define for old
1550 (basic_istringstream::view, basic_0stringstream::view)
1551 (basic_stringstream::view): Likewise.
1552 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
1553 { dg-require-effective-target cxx11_abi }.
1554 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
1556 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
1557 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
1559 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
1560 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
1561 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
1562 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
1565 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1568 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
1569 conversion operators for directory iterator comparisons with
1570 std::default_sentinel_t.
1571 * include/bits/fs_path.h (path::path(string_view, _Type))
1572 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
1574 * src/c++17/fs_path.cc: ... here.
1575 * testsuite/27_io/filesystem/path/108636.cc: New test.
1577 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1579 * include/std/variant (variant::operator=): Implement resolution
1581 * testsuite/20_util/variant/lwg3585.cc: New test.
1583 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1585 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
1587 * doc/html/manual/using_exceptions.html: Regenerate.
1589 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1591 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
1592 * doc/html/manual/debug.html: Regenerate.
1594 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1596 * src/c++11/random.cc (random_device::_M_fini): Do not try to
1597 close the file handle if the target doesn't support the
1598 /dev/random and /dev/urandom files.
1600 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1602 * config/os/generic/error_constants.h (errc::value_too_large)
1604 * src/c++11/system_error.cc
1605 (system_category::default_error_condition) [__AVR__]: Only match
1606 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
1607 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
1608 for ENOENT etc. in switch.
1609 (fs::remove_all) [__AVR__]: Likewise.
1610 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
1613 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1615 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
1617 * configure: Regenerate.
1619 2023-02-01 Hans-Peter Nilsson <hp@axis.com>
1622 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
1623 struct at end of S0.
1625 2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
1627 * doc/xml/manual/shared_ptr.xml: Move links from both
1628 http://open-std.org and http://www.open-std.org to
1629 https://www.open-std.org.
1630 * doc/html/manual/memory.html: Regenerate.
1632 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1634 * doc/xml/manual/appendix_contributing.xml: Adjust link to
1635 ISO C++ standard at ANSI.
1636 Move link to www.open-std.org to https.
1637 * doc/html/manual/appendix_contributing.html: Regenerate.
1639 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1641 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
1643 * doc/html/manual/documentation_hacking.html: Regenerate.
1645 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1647 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
1648 * doc/html/manual/abi.html: Regenerate.
1650 2023-01-27 Jakub Jelinek <jakub@redhat.com>
1653 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
1654 include features.h if present and then check __GLIBC__ and
1655 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
1656 __GLIBC_PREREQ which isn't defined yet.
1658 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
1660 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
1663 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
1666 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
1668 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1670 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
1671 rules named "+" for compatibility with older tzdata.zi files.
1673 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1676 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
1678 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
1680 * testsuite/23_containers/map/modifiers/108554.cc: New test.
1682 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1685 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
1686 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
1688 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
1690 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
1692 * doc/html/manual/bugs.html: Regenerate.
1694 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
1697 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
1698 /etc/sysconfig/clock.
1700 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
1703 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
1704 std::make_reverse_iterator.
1705 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
1706 (make_from_tuple): Add static assertion from P2255 to diagnose
1707 dangling references.
1708 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
1709 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
1711 2023-01-23 François Dumont <fdumont@gcc.gnu.org>
1713 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
1714 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
1715 (_Safe_iterator::operator++(int)): Use latter.
1716 (_Safe_iterator::operator--(int)): Likewise.
1717 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
1719 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
1721 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
1722 (_Safe_local_iterator::operator++(int)): Use latter.
1723 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
1724 entry associated to the array entry.
1726 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
1728 * include/bits/fs_path.h (u8path): Add deprecated attribute.
1729 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
1730 -Wno-deprecated-declarations for C++20 and later.
1731 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
1733 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
1734 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
1735 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
1737 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
1739 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
1740 Always call _M_fini and _M_getentropy.
1742 2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
1744 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
1745 to www.open-std.org to use https.
1746 (COM: Component Model Object Technologies): Rename from...
1747 (The Component Object Model): ...to.
1748 * doc/html/manual/policy_data_structures.html: Regenerate.
1750 2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
1752 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
1753 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
1754 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
1756 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
1758 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
1759 of $host. Fix check for file being present during native build.
1760 * configure: Regenerate.
1762 2023-01-17 Martin Liska <mliska@suse.cz>
1764 * src/libbacktrace/Makefile.in: Regenerate.
1766 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
1768 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
1770 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
1773 * include/c_compatibility/stdatomic.h: Change copyright line to
1774 be consistent with other headers contributed under DCO terms.
1775 * include/std/expected: Add full stop to copyright line.
1776 * src/c++20/tzdb.cc: Likewise.
1778 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
1780 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
1782 * doc/xml/manual/status_cxx2017.xml: Ditto.
1783 * doc/xml/manual/status_cxx2020.xml: Ditto.
1784 * doc/xml/manual/status_cxx2023.xml: Ditto.
1785 * doc/html/manual/status.html: Regenerate.
1787 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1789 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
1790 and fail gracefully if defining the weak symbol doesn't work.
1792 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
1795 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
1796 fix to other iterator category.
1797 (_Safe_iterator<>::operator--(int)): Likewise.
1798 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
1800 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
1801 (invalid_local_iterator_post_increment): New.
1802 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
1804 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
1807 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1809 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
1812 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1814 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
1816 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
1818 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
1819 windows.h. Add pecoff as FORMAT_FILE.
1820 * config.h.in: Regenerate.
1821 * configure: Regenerate.
1822 * src/libbacktrace/Makefile.am: Regenerate.
1823 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
1825 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
1827 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
1828 raw __name if __cxa_demangle could not demangle it.
1830 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1833 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
1836 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1838 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
1840 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
1842 * testsuite/std/time/tzdb_list/1.cc: Likewise.
1844 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1846 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
1847 --with-libstdcxx-zoneinfo-dir configure option with
1848 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
1850 * config.h.in: Regenerate.
1851 * configure: Regenerate.
1852 * doc/xml/manual/configure.xml: Document configure option.
1853 * doc/html/manual/configure.html: Regenerate.
1854 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
1855 * src/c++20/Makefile.in: Regenerate.
1856 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
1857 null pointer if no directory is configured.
1858 (zoneinfo_dir): Replace with ...
1859 (zoneinfo_file): New function.
1860 (tzdata_stream): New istream class.
1861 (remote_version, reload_tzdb): Use tzdata_stream.
1862 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
1863 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
1864 tzdata.zi file in default location.
1865 * src/c++20/tzdata.zi: New file.
1867 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1869 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
1870 * testsuite/std/time/month_day/io.cc: New test.
1871 * testsuite/std/time/month_day_last/io.cc: New test.
1872 * testsuite/std/time/month_weekday/io.cc: New test.
1873 * testsuite/std/time/month_weekday_last/io.cc: New test.
1874 * testsuite/std/time/weekday_indexed/io.cc: New test.
1875 * testsuite/std/time/weekday_last/io.cc: New test.
1876 * testsuite/std/time/year_month/io.cc: New test.
1877 * testsuite/std/time/year_month_day_last/io.cc: New test.
1878 * testsuite/std/time/year_month_weekday/io.cc: New test.
1879 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
1881 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
1883 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
1885 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
1888 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1890 * include/bits/std_mutex.h: Include <errno.h>.
1892 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
1894 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
1895 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
1896 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
1897 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
1898 std::make_unique with a freestanding-compatible wrapper around
1900 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
1901 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
1902 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
1904 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
1905 of __cpp_lib_ranges in !HOSTED.
1907 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
1909 * include/Makefile.am: Install bits/char_traits.h,
1911 * include/Makefile.in: Regenerate.
1912 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
1913 mbstate-only bits behind appropriate #ifs.
1914 * include/std/string_view: Gate <iostream> functionality behind
1916 * include/std/version: Enable __cpp_lib_constexpr_string_view
1917 and __cpp_lib_starts_ends_with in !HOSTED.
1918 * include/std/ranges: Re-enable __is_basic_string_view on
1919 freestanding, include <string_view> directly.
1920 * include/precompiled/stdc++.h: Include <string_view> when
1922 * testsuite/20_util/function_objects/searchers.cc: Skip testing
1923 boyer_moore searchers on freestanding
1924 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
1925 <string>-related tests behind __STDC_HOSTED__.
1926 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
1927 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
1928 unused <stdexcept> include.
1929 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
1930 unused <vector> include.
1931 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
1932 Guard <string> related testing behind __STDC_HOSTED__.
1933 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
1934 Guard <stdexcept> related tests behind __STDC_HOSTED__.
1935 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1937 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1938 Guard <stdexcept> tests behind __STDC_HOSTED__.
1939 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
1940 Enable test on freestanding, guard <stdexcept> bits behind
1942 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
1943 Guard <stdexcept> bits behind __STDC_HOSTED__.
1944 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
1947 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
1950 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
1951 errors in incomplete multibyte sequences.
1952 (utf16_in): Remove surrogates parameter. Fix conditions for
1954 (utf16_out): Fix condition for returning partial.
1955 (ucs2_in): Do not pass surrogates argument to utf16_in.
1956 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
1957 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
1959 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
1962 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1965 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
1966 __GTHREAD_LEGACY_MUTEX_T if defined.
1968 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1971 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
1972 Export __try_use_facet specializations for facets in namespace
1974 * config/os/gnu-linux/ldbl-ieee128-extra.ver
1975 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
1977 * testsuite/util/testsuite_abi.cc: Add to lists of known and
1980 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1982 * include/bits/std_mutex.h: Remove <system_error> include.
1983 * include/std/condition_variable: Add <bits/error_constants.h>
1985 * include/std/mutex: Likewise.
1986 * include/std/shared_mutex: Likewise.
1988 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1991 * include/experimental/memory_resource
1992 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
1993 (do_allocate, do_deallocate): Check it.
1994 * testsuite/experimental/memory_resource/new_delete_resource.cc:
1995 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
1997 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1999 * doc/xml/manual/abi.xml: Add latest library versions.
2000 * doc/html/manual/abi.html: Regenerate.
2002 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
2005 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
2006 unused _Alloc_node instance.
2008 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
2010 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
2011 Define as unsigned long if always lock-free, and unsigned int
2014 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
2016 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
2017 __catch macros for exception handling.
2019 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
2022 * include/bits/stl_algobase.h (__lg): Replace six overloads with
2023 a single function template for all integer types.
2024 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
2025 arithmetic results back to _Distance.
2027 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
2030 * include/std/span (span::span()): Un-simplify constraint to
2031 work for size_t of lesser rank than int.
2033 2023-01-07 LIU Hao <lh_mouse@126.com>
2035 PR middle-end/108300
2036 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
2038 * src/c++11/thread.cc: Likewise.
2039 * src/c++17/fs_ops.cc: Likewise.
2040 * src/filesystem/ops.cc: Likewise.
2042 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2045 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
2047 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2050 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
2051 template and partial specialization for synchronizing access to
2052 time_zone::_Impl::infos.
2053 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
2056 2023-01-06 Patrick Palka <ppalka@redhat.com>
2059 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
2060 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
2061 (__cpp_lib_ranges_chunk): Likewise.
2062 (__cpp_lib_ranges_slide): Likewise.
2063 (__cpp_lib_ranges_chunk_by): Likewise.
2064 (__cpp_lib_ranges_join_with): Likewise.
2065 (__cpp_lib_ranges_repeat): Likewise.
2066 (__cpp_lib_ranges_stride): Likewise.
2067 (__cpp_lib_ranges_cartesian_product): Likewise.
2068 (__cpp_lib_ranges_as_rvalue): Likewise.
2069 * include/std/version: Ditto.
2070 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
2072 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
2073 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
2074 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
2075 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
2076 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
2077 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
2078 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
2079 * testsuite/std/ranges/repeat/1.cc: Likewise.
2080 * testsuite/std/ranges/zip/1.cc: Likewise.
2081 * testsuite/std/ranges/version_c++23.cc: New test.
2083 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2086 * include/std/bitset (operator>>): Use alloca in the right
2087 scope, not in a constructor.
2088 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
2090 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2093 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
2094 Disable visiting floating-point types.
2096 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2099 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
2100 (_Safe_iterator::operator--(int)): Do not hold lock around
2101 construction of return value.
2103 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
2105 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
2106 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
2107 lock release. Revise loop.
2108 (__atomic_add): Likewise.
2110 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2113 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
2115 (StdChronoTimePointPrinter::to_string): Use it.
2117 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2120 * include/std/functional (_Bind_front): Add no_unique_address
2121 attribute to data members.
2122 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
2123 size of call wrappers with empty types for targets and bound
2126 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2129 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
2130 using only last component of the name.
2132 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2136 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
2137 the latest symbol version.
2138 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
2139 atomic<_Node*> is not always lock free.
2140 (USE_ATOMIC_LIST_HEAD): New macro.
2141 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
2142 definition of weak symbol.
2143 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
2144 (tzdb_list::_Node::_S_list_head): New function for accessing
2145 list head efficiently.
2146 (tzdb_list::_Node::_S_cache_list_head): New function for
2147 updating _S_list_head.
2149 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2152 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
2153 duration rep is unsigned.
2154 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
2156 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
2159 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
2160 Add __gnu_cxx::zoneinfo_dir_override().
2162 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
2165 * include/std/array (__array_traits<T, 0>::operator T*()): Add
2167 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
2168 std::array<T, 0>::data().
2171 Copyright (C) 2023 Free Software Foundation, Inc.
2173 Copying and distribution of this file, with or without modification,
2174 are permitted in any medium without royalty provided the copyright
2175 notice and this notice are preserved.