| 2024-12-29 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/html/manual/profile_mode_diagnostics.html: Delete. | |
| 2024-12-29 Hans-Peter Nilsson <hp@bitrange.com> | |
| * testsuite/std/time/year_month_day/3.cc (test01): Add ifdeffery to | |
| limit the tested dates. For simulators, pass start and end dates | |
| limiting the tested range to 100000 days, centered on days (0). | |
| * testsuite/std/time/year_month_day/4.cc: Ditto. | |
| 2024-12-28 Jakub Jelinek <jakub@redhat.com> | |
| PR libstdc++/118196 | |
| * testsuite/24_iterators/range_generators/pr118196.cc: Include | |
| <generator> rather than "<generator>". | |
| 2024-12-27 Arsen Arsenović <arsen@aarsen.me> | |
| PR libstdc++/118196 | |
| * include/std/generator (generator::operator=(generator)): Add | |
| missing 'return *this;'. | |
| * testsuite/24_iterators/range_generators/pr118196.cc: New test. | |
| 2024-12-27 Arsen Arsenović <arsen@aarsen.me> | |
| PR libstdc++/118022 | |
| * include/std/generator | |
| (_Promise_erased::yield_value(const _Yielded_deref&)): Don't | |
| implicit-constuct _Yielded_decvref. | |
| * testsuite/24_iterators/range_generators/pr118022.cc: New test. | |
| 2024-12-19 François Dumont <frs.dumont@gmail.com> | |
| PR libstdc++/57272 | |
| * include/bits/stl_tree.h | |
| [_GLIBCXX_USE_ALLOC_PTR_FOR_RB_TREE]: New macro to control usage of the | |
| code required to support fancy allocator pointer type. | |
| (_Rb_tree_node_base::_Const_Base_ptr): Remove. | |
| (_Rb_tree_node_base::_S_minimum, _Rb_tree_node_base::_S_maximum): Remove | |
| overloads for _Const_Base_ptr. | |
| (_Rb_tree_node_base::_M_base_ptr()): New. | |
| (_Rb_tree_node::_Link_type): Remove. | |
| (_Rb_tree_node::_M_node_ptr()): New. | |
| (__rb_tree::_Node_base<>): New. | |
| (__rb_tree::_Header<>): New. | |
| (__rb_tree::_Node<>): New. | |
| (_Rb_tree_increment(const _Rb_tree_node_base*)): Remove declaration. | |
| (_Rb_tree_decrement(const _Rb_tree_node_base*)): Remove declaration. | |
| (_Rb_tree_iterator<>::_Self): Remove. | |
| (_Rb_tree_iterator<>::_Link_type): Rename into... | |
| (_Rb_tree_iterator<>::_Node_ptr): ...this. | |
| (_Rb_tree_const_iterator<>::_Link_type): Rename into... | |
| (_Rb_tree_const_iterator<>::_Node_ptr): ...this. | |
| (_Rb_tree_const_iterator<>::_M_const_cast): Remove. | |
| (_Rb_tree_const_iterator<>::_M_node): Change type into _Base_ptr. | |
| (__rb_tree::_Iterator<>): New. | |
| (__rb_tree::_Node_traits<>): New. | |
| (_Rb_tree<>::_Node_base, _Rb_tree::_Node): New. | |
| (_Rb_tree<>::_Link_type): Rename into... | |
| (_Rb_tree<>::_Node_ptr): ...this. | |
| (_Rb_tree<>::_Const_Base_ptr, _Rb_tree<>::_Const_Node_ptr): Remove. | |
| (_Rb_tree<>::_M_mbegin): Remove. | |
| (_Rb_tree<>::_M_begin_node()): New. | |
| (_S_key(const _Node&)): New. | |
| (_S_key(_Base_ptr)): New, call latter. | |
| (_S_key(_Node_ptr)): Likewise. | |
| (_Rb_tree<>::_S_left(_Const_Base_ptr)): Remove. | |
| (_Rb_tree<>::_S_right(_Const_Base_ptr)): Remove. | |
| (_Rb_tree<>::_S_maximum(_Const_Base_ptr)): Remove. | |
| (_Rb_tree<>::_S_minimum(_Const_Base_ptr)): Remove. | |
| * testsuite/23_containers/map/allocator/ext_ptr.cc: New test case. | |
| * testsuite/23_containers/multimap/allocator/ext_ptr.cc: New test case. | |
| * testsuite/23_containers/multiset/allocator/ext_ptr.cc: New test case. | |
| * testsuite/23_containers/set/allocator/ext_ptr.cc: New test case. | |
| * testsuite/23_containers/set/requirements/explicit_instantiation/alloc_ptr.cc: | |
| New test case. | |
| * testsuite/23_containers/set/requirements/explicit_instantiation/alloc_ptr_ignored.cc: | |
| New test case. | |
| 2024-12-19 Patrick Palka <ppalka@redhat.com> | |
| Jonathan Wakely <jwakely@redhat.com> | |
| * include/Makefile.am: Add new header <flat_set>. | |
| * include/Makefile.in: Regenerate. | |
| * include/bits/version.def (__cpp_flat_set): Define. | |
| * include/bits/version.h: Regenerate | |
| * include/precompiled/stdc++.h: Include <flat_set>. | |
| * include/std/flat_set: New file. | |
| * src/c++23/std.cc.in: Export <flat_set>. | |
| * testsuite/23_containers/flat_multiset/1.cc: New test. | |
| * testsuite/23_containers/flat_set/1.cc: New test. | |
| 2024-12-19 Patrick Palka <ppalka@redhat.com> | |
| Jonathan Wakely <jwakely@redhat.com> | |
| * include/Makefile.am: Add new header <flat_map>. | |
| * include/Makefile.in: Regenerate. | |
| * include/bits/alloc_traits.h (__not_allocator_like): New concept. | |
| * include/bits/stl_function.h (__transparent_comparator): Likewise. | |
| * include/bits/stl_iterator_base_types.h (__has_input_iter_cat): | |
| Likewise. | |
| * include/bits/uses_allocator.h (__allocator_for): Likewise. | |
| * include/bits/utility.h (sorted_unique_t): Define for C++23. | |
| (sorted_unique): Likewise. | |
| (sorted_equivalent_t): Likewise. | |
| (sorted_equivalent): Likewise. | |
| * include/bits/version.def (flat_map): Define. | |
| * include/bits/version.h: Regenerate. | |
| * include/precompiled/stdc++.h: Include <flat_map>. | |
| * include/std/flat_map: New file. | |
| * src/c++23/std.cc.in: Export <flat_map>. | |
| * testsuite/23_containers/flat_map/1.cc: New test. | |
| * testsuite/23_containers/flat_multimap/1.cc: New test. | |
| 2024-12-19 Patrick Palka <ppalka@redhat.com> | |
| * include/bits/ranges_base.h (__detail::__range_key_type): | |
| Define as per P1206R7. | |
| (__detail::__range_mapped_type): Likewise. | |
| 2024-12-18 François Dumont <frs.dumont@gmail.com> | |
| * include/bits/move.h (std::addressof): Call __builtin_addressof. | |
| 2024-12-18 Tamar Christina <tamar.christina@arm.com> | |
| * include/bits/hashtable.h | |
| (_M_find_before_node): Make it likely that the map has at least one | |
| entry and so we do at least one iteration. | |
| 2024-12-18 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/118088 | |
| * include/bits/stl_queue.h (priority_queue(priority_queue&&)): | |
| Clear the source object after moving from it. | |
| (priority_queue(priority_queue&&, const Alloc&)): Likewise. | |
| (operator=(priority_queue&&)): Likewise. | |
| * testsuite/23_containers/priority_queue/118088.cc: New test. | |
| 2024-12-18 Tamar Christina <tamar.christina@arm.com> | |
| * include/bits/hashtable.h: Inline _M_locate. | |
| 2024-12-18 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/basic_string.h (__to_wstring_numeric): Add 'i' | |
| and 'I' to mapping. | |
| 2024-12-18 Luca Bacci <luca.bacci982@gmail.com> | |
| PR libstdc++/98723 | |
| * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply): | |
| Only use transform_primary when an equivalence set is used. | |
| 2024-12-17 Jonathan Wakely <jwakely@redhat.com> | |
| * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS): | |
| Add parentheses to avoid -Wparentheses warning. | |
| 2024-12-17 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/118035 | |
| * include/bits/deque.tcc (_M_range_insert_aux): Return | |
| immediately if inserting an empty range. | |
| * testsuite/23_containers/deque/modifiers/insert/118035.cc: New | |
| test. | |
| 2024-12-16 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable_policy.h (_Local_iterator_base): Use | |
| default member-initializers. | |
| 2024-12-16 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable_policy.h: Replace typedefs with | |
| alias-declarations. Remove redundant std:: qualification. | |
| (_Mod_range_hashing, _Mask_range_hashing): Remove adaptable | |
| function object typedefs. | |
| 2024-12-16 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable_policy.h (_Hash_code_storage): Remove. | |
| (_Hash_obj_storage): New class template. Store the hash | |
| function as a union member instead of using a byte buffer. | |
| (_Local_iterator_base): Use _Hash_obj_storage instead of | |
| _Hash_code_storage, adjust members that construct and destroy | |
| the hash object. | |
| (_Local_iterator_base::_M_incr): Calculate bucket index. | |
| 2024-12-16 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (_Hashtable::swap): Swap hash | |
| function and equality predicate here. Inline allocator swap | |
| instead of using __alloc_on_swap. | |
| * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): | |
| Replace EBO with no_unique_address attribute. Remove NTTP. | |
| (_Hash_code_base): Replace base class with data member using | |
| no_unique_address attribute. | |
| (_Hash_code_base::_M_swap): Remove. | |
| (_Hash_code_base::_M_hash): Remove. | |
| (_Hashtable_base): Replace base class with data member using | |
| no_unique_address attribute. | |
| (_Hashtable_base::_M_swap): Remove. | |
| (_Hashtable_alloc): Replace base class with data member using | |
| no_unique_address attribute. | |
| 2024-12-16 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/57272 | |
| * include/bits/forward_list.h (__fwd_list::_Node): Add | |
| user-provided special member functions to union. | |
| * include/bits/stl_list.h (__list::_Node): Likewise. | |
| (_Node_base::_M_hook, _Node_base::swap): Use _M_base() instead | |
| of std::pointer_traits::pointer_to. | |
| (_Node_base::_M_transfer): Likewise. Add noexcept. | |
| (_List_base::_M_put_node): Use 'if constexpr' to avoid using | |
| pointer_traits::pointer_to when not necessary. | |
| (_List_base::_M_destroy_node): Fix parameter to be the pointer | |
| type used internally, not the allocator's pointer. | |
| (list::_M_create_node): Likewise. | |
| * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr.cc: | |
| Check explicit instantiation of non-trivial value type. | |
| * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr.cc: | |
| Likewise. | |
| * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr_ignored.cc: | |
| Fix macro name. | |
| * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr_ignored.cc: | |
| Likewise. | |
| 2024-12-14 Abdo Eid <abdoeid.eg@ieee.org> | |
| * include/c_compatibility/wchar.h (fgetwc): Remove duplicate | |
| using-declaration. | |
| 2024-12-13 Patrick Palka <ppalka@redhat.com> | |
| PR libstdc++/112349 | |
| * include/bits/ranges_algo.h (__min_fn::operator()): Turn local | |
| object __tmp into a reference. | |
| * include/bits/ranges_util.h (__max_fn::operator()): Likewise. | |
| * testsuite/25_algorithms/max/constrained.cc (test04): New test. | |
| * testsuite/25_algorithms/min/constrained.cc (test04): New test. | |
| 2024-12-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/spanstream (basic_spanbuf::seekoff): Return an | |
| error for invalid seekdir values. | |
| 2024-12-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/ranges_cmp.h (not_equal_to): Make order of | |
| expressions in noexcept-specifier match the body. | |
| * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc: | |
| Check noexcept. | |
| 2024-12-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/regex.tcc: Fix -Wsign-compare warning. | |
| 2024-12-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/pstl/parallel_backend_tbb.h (__merge_func): Fix order | |
| of mem-initializers. | |
| 2024-12-13 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/26_numerics/random/random_device/entropy.cc: Fix | |
| indentation to avoid -Wmisleading-indentation warning. | |
| 2024-12-12 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/23_containers/unordered_map/modifiers/reserve.cc: | |
| Cast to size_t to fix -Wsign-compare warning. | |
| * testsuite/23_containers/unordered_set/hash_policy/71181.cc: | |
| Likewise. | |
| * testsuite/23_containers/unordered_set/insert/move_range.cc: | |
| Likewise. | |
| 2024-12-12 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable_policy.h (_Local_iterator_base): Fix | |
| -Wsign-compare warnings. | |
| 2024-12-12 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++17/fs_dir.cc: Fix typo in comment. | |
| 2024-12-11 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/109517 | |
| PR libstdc++/109976 | |
| * include/debug/helper_functions.h (__valid_range_aux): Treat | |
| all input iterator ranges as valid during constant evaluation. | |
| 2024-12-11 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/106212 | |
| * include/std/array (operator==): Use std::__equal_aux1 instead | |
| of std::equal. | |
| * testsuite/23_containers/array/comparison_operators/106212.cc: | |
| New test. | |
| 2024-12-11 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117966 | |
| * include/std/span (span(T (&)[N])): Do not delegate to | |
| constructor that performs redundant checks. | |
| (span(array<T, N>&), span(const array<T, N>&)): Likewise. | |
| (span(Range&&), span(const span<T, N>&)): Likewise. | |
| * testsuite/23_containers/span/117966.cc: New test. | |
| 2024-12-11 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/generator (_Promise_alloc): Rename template | |
| parameter. Use __alloc_rebind to rebind allocator. | |
| (_Promise_alloc::operator new): Replace constraints with a | |
| static_assert in the body. Rename allocator parameter. | |
| (_Promise_alloc<void>::_M_allocate): Rename allocator parameter. | |
| Use __alloc_rebind to rebind allocator. | |
| (_Promise_alloc<void>::operator new): Rename allocator | |
| parameter. | |
| * testsuite/24_iterators/range_generators/alloc.cc: New test. | |
| * testsuite/24_iterators/range_generators/lwg3900.cc: New test. | |
| 2024-12-11 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/ostream (println): Pass stream's locale to | |
| std::format, as per LWG 4088. | |
| * testsuite/27_io/basic_ostream/print/1.cc: Check std::println | |
| with custom locale. Remove unused brit_punc class. | |
| 2024-12-10 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/memory_resource.h (polymoprhic_allocator): Use | |
| feature test macro for P0339R6 features. | |
| 2024-12-10 Marek Polacek <polacek@redhat.com> | |
| PR c++/117788 | |
| * testsuite/std/ranges/adaptors/conditionally_borrowed.cc: Add a | |
| FIXME, adjust. | |
| 2024-12-10 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_uninitialized.h (__is_bitwise_relocatable): | |
| Revert to depending on is_trivial. | |
| 2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | |
| * include/std/type_traits: Deprecate is_trivial and | |
| is_trivial_v. | |
| * include/experimental/type_traits: Suppress the deprecation | |
| warning. | |
| * testsuite/20_util/is_trivial/requirements/explicit_instantiation.cc: | |
| Amend the test to suppress the deprecation warning. | |
| * testsuite/20_util/is_trivial/requirements/typedefs.cc: | |
| Likewise. | |
| * testsuite/20_util/is_trivial/value.cc: Likewise. | |
| * testsuite/20_util/variable_templates_for_traits.cc: Likewise. | |
| * testsuite/experimental/type_traits/value.cc: Likewise. | |
| * testsuite/18_support/max_align_t/requirements/2.cc: Update the | |
| test with P3247R2's new wording. | |
| 2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | |
| * testsuite/20_util/specialized_algorithms/uninitialized_copy/102064.cc: | |
| Port away from is_trivial. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/102064.cc: | |
| Likewise. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc: | |
| Likewise. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc: | |
| Likewise. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_fill/102064.cc: | |
| Likewise. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/102064.cc: | |
| Likewise. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc: | |
| Likewise. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc: | |
| Likewise. | |
| * testsuite/23_containers/vector/cons/94540.cc: Likewise. | |
| * testsuite/25_algorithms/copy/move_iterators/69478.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/move/69478.cc: Likewise. | |
| * testsuite/25_algorithms/move_backward/69478.cc: Likewise. | |
| * testsuite/25_algorithms/rotate/constrained.cc: Likewise. | |
| * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise. | |
| 2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | |
| * include/bits/ranges_uninitialized.h: port some if | |
| constexpr away from is_trivial, and towards more specific | |
| detections instead. | |
| 2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | |
| * include/bits/stl_uninitialized.h: Amended the | |
| __is_bitwise_relocatable type trait. | |
| 2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | |
| * include/pstl/algorithm_impl.h (__remove_elements): Port away | |
| from is_trivial. | |
| (__pattern_inplace_merge): Likewise. | |
| * include/pstl/glue_memory_impl.h (uninitialized_copy): Likewise. | |
| (uninitialized_copy_n): Likewise. | |
| (uninitialized_move): Likewise. | |
| (uninitialized_move_n): Likewise. | |
| (uninitialized_default_construct): Likewise. | |
| (uninitialized_default_construct_n): Likewise. | |
| (uninitialized_value_construct): Likewise. | |
| (uninitialized_value_construct_n): Likewise. | |
| * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: | |
| Likewise. | |
| * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: | |
| Likewise. | |
| * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: | |
| Likewise. | |
| 2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | |
| * include/bits/basic_string.h: Add a static_assert on the | |
| char-like type. | |
| * include/std/string_view: Port away from is_trivial. | |
| 2024-12-09 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/102259 | |
| * config/io/basic_file_stdio.cc (basic_file::xsgetn): Limit n to | |
| _GLIBCXX_MAX_READ_SIZE if that macro is defined. | |
| * config/os/bsd/darwin/os_defines.h (_GLIBCXX_MAX_READ_SIZE): | |
| Define to INT_MAX-1. | |
| * config/os/bsd/freebsd/os_defines.h (_GLIBCXX_MAX_READ_SIZE): | |
| Likewise. | |
| 2024-12-09 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/allocator.h (allocator::is_always_equal): Do not | |
| define for C++26. | |
| (allocator<void>::is_always_equal): Likewise. | |
| * testsuite/20_util/allocator/requirements/typedefs.cc: Check | |
| that is_always_equal is not present in C++26. | |
| * testsuite/20_util/allocator/void.cc: Do not require | |
| is_always_equal for C++26. | |
| * testsuite/23_containers/vector/bool/cons/constexpr.cc: Add | |
| missing override of base's is_always_equal. | |
| * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. | |
| 2024-12-09 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117962 | |
| * include/debug/safe_container.h: Make allocator-extended move | |
| constructor a no-op during constant evaluation. | |
| 2024-12-09 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117921 | |
| * testsuite/23_containers/set/modifiers/swap/adl.cc: Add | |
| equality comparison for Allocator. | |
| * testsuite/23_containers/unordered_set/modifiers/swap-2.cc: | |
| Likewise. | |
| 2024-12-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/format: Fix typo in Doxygen comment. | |
| 2024-12-07 Matthew Malcomson <mmalcomson@nvidia.com> | |
| * .editorconfig: Adjust globbing style to standard syntax. | |
| 2024-12-05 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117921 | |
| * include/bits/hashtable_policy.h (_Hash_code_base::_M_swap): | |
| Use ADL swap for Hash members. | |
| (_Hashtable_base::_M_swap): Use ADL swap for _Equal members. | |
| * include/bits/stl_tree.h (_Rb_tree::swap): Use ADL swap for | |
| _Compare members. | |
| * testsuite/23_containers/set/modifiers/swap/adl.cc: New test. | |
| * testsuite/23_containers/unordered_set/modifiers/swap-2.cc: New | |
| test. | |
| 2024-12-03 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/108236 | |
| * include/pstl/glue_numeric_impl.h (exclusive_scan): Pass __init | |
| as rvalue. | |
| * include/pstl/numeric_impl.h (__brick_transform_scan): Do not | |
| write through __result until after reading through __first. Move | |
| __init into return value. | |
| (__pattern_transform_scan): Pass __init as rvalue. | |
| * include/std/numeric (exclusive_scan): Move construct instead | |
| of copy constructing. | |
| * testsuite/26_numerics/exclusive_scan/2.cc: New test. | |
| * testsuite/26_numerics/pstl/numeric_ops/108236.cc: New test. | |
| 2024-12-03 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/alloc_traits.h (__do_alloc_on_copy): Remove. | |
| (__do_alloc_on_move __do_alloc_on_swap): Remove. | |
| (__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Use if | |
| constexpr. | |
| 2024-12-03 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/57272 | |
| * include/bits/forward_list.h (_GLIBCXX_USE_ALLOC_PTR_FOR_LIST): | |
| Define. | |
| (_Fwd_list_node_base::_M_base_ptr): New member functions. | |
| (_Fwd_list_node::_M_node_ptr): New member function. | |
| (_Fwd_list_iterator, _Fwd_list_const_iterator): Make internal | |
| member functions and data member private. Declare forward_list | |
| and _Fwd_list_base as friends. | |
| (__fwdlist::_Node_base, __fwdlist::_Node, __fwdlist::_Iterator): | |
| New class templates. | |
| (__fwdlist::_Node_traits): New class template. | |
| (_Fwd_list_base): Use _Node_traits to get types. Use _Base_ptr | |
| instad of _Fwd_list_node_base*. Use _M_base_ptr() instead of | |
| taking address of head node. | |
| (forward_list): Likewise. | |
| (_Fwd_list_base::_M_get_node): Do not define for versioned | |
| namespace. | |
| (_Fwd_list_base::_M_put_node): Only convert pointer if needed. | |
| (_Fwd_list_base::_M_create_node): Use __allocate_guarded_obj. | |
| (_Fwd_list_base::_M_destroy_node): New member function. | |
| * include/bits/forward_list.tcc (_Fwd_list_base::_M_insert_after) | |
| (forward_list::_M_splice_after, forward_list::insert_after): Use | |
| const_iterator::_M_const_cast() instead of casting pointers. | |
| (_Fwd_list_base::_M_erase_after): Use _M_destroy_node. | |
| (forward_list::remove, forward_list::remove_if): Only do | |
| downcasts when accessing the value. | |
| (forward_list::sort): Likewise. | |
| * testsuite/23_containers/forward_list/capacity/1.cc: Check | |
| max_size for new node type. | |
| * testsuite/23_containers/forward_list/capacity/node_sizes.cc: | |
| New test. | |
| * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr.cc: | |
| New test. | |
| * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr_ignored.cc: | |
| New test. | |
| * testsuite/23_containers/forward_list/requirements/completeness.cc: New file. | |
| 2024-12-03 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/57272 | |
| PR libstdc++/110952 | |
| * include/bits/allocated_ptr.h (__allocated_ptr::get): Add | |
| const. | |
| (__allocated_ptr::operator bool, __allocated_ptr::release): New | |
| member functions. | |
| (__allocate_guarded): Add inline. | |
| (__allocated_obj): New class template. | |
| (__allocate_guarded_obj): New function template. | |
| * include/bits/list.tcc (_List_base::_M_clear()): Replace uses | |
| of raw pointers. Use _M_destroy_node. | |
| (list::emplace, list::insert): Likewise. | |
| (list::sort): Adjust check for 0 or 1 wsize. Use template | |
| argument list for _Scratch_list. | |
| * include/bits/stl_list.h (_GLIBCXX_USE_ALLOC_PTR_FOR_LIST): | |
| Define. | |
| (_List_node_base::_Base_ptr): New typedef. | |
| (_List_node_base::_M_base): New member functions. | |
| (_List_node_header::_M_base): Make public and add | |
| using-declaration for base class overload. | |
| (__list::_Node_traits, __list::_Node_base) | |
| (__list::_Node_header, __list::_Node, __list::_Iterator): New | |
| class templates. | |
| (_Scratch_list): Turn class into class template. Use _Base_ptr | |
| typedef instead of _List_node_base*. | |
| (_List_node::_Node_ptr): New typedef. | |
| (_List_node::_M_node_ptr): New member function. | |
| (_List_base, _List_impl): Use _Node_traits to get node types. | |
| (_List_base::_M_put_node): Convert to fancy pointer if needed. | |
| (_List_base::_M_destroy_node): New member function. | |
| (_List_base(_List_base&&, _Node_alloc_type&&)): Use if constexpr | |
| to make function a no-op for fancy pointers. | |
| (_List_base::_S_distance, _List_base::_M_distance) | |
| (_List_base::_M_node_count): Likewise. | |
| (list): Use _Node_traits to get iterator, node and pointer | |
| types. | |
| (list::_M_create_node): Use _Node_ptr typedef instead of _Node*. | |
| Use __allocate_guarded_obj instead of _M_get_node. | |
| (list::end, list::cend, list::empty): Use node header's | |
| _M_base() function instead of taking its address. | |
| (list::swap): Use _Node_traits to get node base type. | |
| (list::_M_create_node, list::_M_insert): Use _Node_ptr instead | |
| of _Node*. | |
| (list::_M_erase): Likewise. Use _M_destroy_node. | |
| (__distance): Overload for __list::_Iterator. | |
| (_Node_base::swap, _Node_base::_M_transfer): Define non-inline | |
| member functions of class templates. | |
| (_Node_header::_M_reverse): Likewise. | |
| * testsuite/23_containers/list/capacity/29134.cc: Check max_size | |
| for allocator of new node type. | |
| * testsuite/23_containers/list/capacity/node_sizes.cc: New test. | |
| * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr.cc: | |
| New test. | |
| * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr_ignored.cc: | |
| New test. | |
| * testsuite/23_containers/list/requirements/completeness.cc: New file. | |
| 2024-12-03 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_list.h (_List_iterator): Remove _Self typedef | |
| and just use injected-class-name instead. | |
| (_List_const_iterator): Likewise. | |
| 2024-12-03 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_list.h (_List_size): New struct. | |
| (_List_node_header): Replace _M_size member with _List_size base | |
| class. | |
| (_List_node_header(_List_node_header&&)): Replace explicit uses | |
| of _M_size with initializing the base. | |
| (_List_node_header::_M_init): Likewise. | |
| (_List_base::_S_distance, _List_base::_M_distance) | |
| (_List_base::_M_node_count): Move to end of class body and add | |
| comment. | |
| (list::_S_distance, list::_M_node_count): Likewise. | |
| (list::size): Inline _M_node_count effects to here. | |
| (list::splice(iterator, list&, iterator, iterator)): Use #if and | |
| call std::distance instead of _S_distance. | |
| 2024-12-03 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_bvector.h (vector(const allocator_type&)): | |
| Add noexcept, as per LWG 3778. | |
| * testsuite/23_containers/vector/bool/cons/lwg3778.cc: New test. | |
| 2024-12-03 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117889 | |
| PR libstdc++/117858 | |
| * include/std/optional (optional(const optional<U>&)): Fix copy | |
| and paste error in constraints. | |
| (optional(optional<U>&&)): Likewise. | |
| * testsuite/20_util/optional/assignment/117858.cc: Move to ... | |
| * testsuite/20_util/optional/cons/117858.cc: New test. | |
| 2024-12-02 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_construct.h (_Destroy(FwdIter, FwdIter)): Use | |
| 'if constexpr' instead of dispatching to a member function of a | |
| class template. | |
| (_Destroy_n(FwdIter, Size)): Likewise. | |
| (_Destroy_aux, _Destroy_n_aux): Only define for C++98. | |
| 2024-12-02 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++23/std.cc.in: Disable deprecated warnings when | |
| exporting std::rel_ops members. | |
| 2024-11-30 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117858 | |
| * testsuite/20_util/optional/assignment/117858.cc: Also test | |
| assignment from rvalue optional. | |
| 2024-11-30 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117858 | |
| * include/std/optional (operator=(const optional<U>&)): Fix copy | |
| and paste error in constraints. | |
| (operator=(optional<U>&&)): Likewise. | |
| * testsuite/20_util/optional/assignment/117858.cc: New test. | |
| 2024-11-30 Jonathan Wakely <jwakely@redhat.com> | |
| * include/Makefile.am: Add bits/monostate.h. | |
| * include/Makefile.in: Regenerate. | |
| * include/std/utility: Include <bits/monostate.h>. | |
| * include/std/variant (monostate, hash<monostate>): Move | |
| definitions to ... | |
| * include/bits/monostate.h: New file. | |
| * testsuite/20_util/headers/utility/synopsis.cc: Add monostate | |
| and hash<monostate> declarations. | |
| * testsuite/20_util/monostate/requirements.cc: New test. | |
| 2024-11-30 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/20_util/headers/utility/synopsis.cc: Add | |
| declarations from C++11 and later. | |
| 2024-11-30 Jakub Jelinek <jakub@redhat.com> | |
| * include/std/functional (_Bind_check_arity): Add , before ... . | |
| * include/bits/refwrap.h (_Mem_fn_traits, _Weak_result_type_impl): | |
| Likewise. | |
| * include/tr1/type_traits (is_function): Likewise. | |
| 2024-11-28 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/stacktrace (basic_stacktrace::_M_impl::_M_resize): | |
| Use std::_Destroy to destroy removed elements. | |
| 2024-11-28 Jonathan Wakely <jwakely@redhat.com> | |
| * python/libstdcxx/v6/printers.py: Reorder registrations. | |
| 2024-11-28 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117822 | |
| * include/std/stacktrace (stacktrace(stacktrace&&, const A&)): | |
| Fix typo in qualified-id for is_always_equal trait. | |
| * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Test | |
| allocator-extended constructors and allocator propagation. | |
| 2024-11-28 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_relops.h (rel_ops): Add deprecated attribute. | |
| * testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc: | |
| Add dg-warning for -Wdeprecated warnings. | |
| * testsuite/20_util/rel_ops.cc: Likewise. | |
| * testsuite/util/testsuite_containers.h: Disable -Wdeprecated | |
| warnings when using rel_ops. | |
| 2024-11-28 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_list.h: Reduce duplication in doxygen | |
| comments. | |
| 2024-11-28 Marek Polacek <polacek@redhat.com> | |
| PR c++/113798 | |
| * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust | |
| dg-prune-output. | |
| 2024-11-28 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117210 | |
| * config/os/bsd/dragonfly/os_defines.h: Include <sys/cdefs.h>. | |
| * config/os/bsd/freebsd/os_defines.h: Likewise. | |
| 2024-11-27 Jan Hubicka <hubicka@ucw.cz> | |
| * include/bits/basic_string.h (basic_string::size(), | |
| basic_string::length(), basic_string::capacity()): Add | |
| __builtin_unreachable to declare value ranges. | |
| (basic_string::empty()): Implement directly | |
| (basic_string::max_size()): Account correctly the terminating 0 | |
| and limits implied by ptrdiff_t. | |
| 2024-11-27 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/c++config (__glibcxx_assert): Remove useless | |
| __builtin_expect from constexpr-only assertion. Improve | |
| comments. | |
| 2024-11-27 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117650 | |
| * include/bits/c++config (__glibcxx_assert_fail): Add cold | |
| attribute. | |
| * include/debug/formatter.h (_Error_formatter::_M_error): | |
| Likewise. | |
| 2024-11-27 Patrick Palka <ppalka@redhat.com> | |
| * include/std/ranges (views::__adaptor::_RangeAdaptorClosure): | |
| Befriend both operator| overloads. | |
| * src/c++23/std.cc.in: Don't export views::__adaptor::operator|. | |
| 2024-11-27 Jason Merrill <jason@redhat.com> | |
| * src/c++23/std.cc.in: Fix iter_move/swap. Add fold_left_first, to, | |
| concat, and some operators. | |
| 2024-11-27 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/forward_list.h (forward_list::front): Add | |
| non-empty assertions. | |
| * include/bits/stl_list.h (list::front, list::back): Add | |
| non-empty assertions. | |
| 2024-11-27 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/forward_list.h (operator=(forward_list&&)): Use | |
| if constexpr instead of dispatching to _M_move_assign. | |
| (assign(InputIterator, InputIterator)): Use if constexpr instead | |
| of dispatching to _M_assign. | |
| (assign(size_type, const T&)): Use if constexpr instead of | |
| dispatching to _M_assign_n. | |
| (_M_move_assign, _M_assign_n): Do not define for versioned | |
| namespace. | |
| (_M_assign): Remove. | |
| 2024-11-27 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_list.h (operator=(list&&)): Use if constexpr | |
| instead of dispatching to _M_move_assign. | |
| (_M_move_assign): Do not define for versioned namespace. | |
| 2024-11-27 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/105857 | |
| * config/locale/dragonfly/codecvt_members.cc (do_length): Limit | |
| size of alloca buffer to 4k. | |
| * config/locale/gnu/codecvt_members.cc (do_length): Likewise. | |
| * testsuite/22_locale/codecvt/length/wchar_t/105857.cc: New | |
| test. | |
| 2024-11-26 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117751 | |
| * testsuite/18_support/50594.cc: Edit dg-options to include the | |
| -fno-assume-sane-operators-new-delete option. | |
| 2024-11-26 Jan Hubicka <hubicka@ucw.cz> | |
| * include/bits/deque.tcc (std::deque::_M_reallocate_map): Add | |
| __builtin_unreachable check to declare that maps are not very large. | |
| * include/bits/stl_deque.h (std::deque::size): Add __builtin_unreachable | |
| to check for maximal size of map. | |
| 2024-11-26 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/range_access.h (begin, end, ssize): Add | |
| conditional noexcept. | |
| * testsuite/18_support/initializer_list/range_access.cc: Check | |
| results and noexcept-specifier for std::begin and std::end. | |
| * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: | |
| Check for conditional noexcept on std::begin and std::end. | |
| * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: | |
| Likewise. | |
| * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: | |
| Likewise. | |
| * testsuite/24_iterators/range_access/range_access.cc: Check | |
| conditional noexcept is correct. | |
| * testsuite/24_iterators/range_access/range_access_cpp17.cc: | |
| Check std::size, std::empty and std::data. | |
| * testsuite/24_iterators/range_access/range_access_cpp20.cc: | |
| Check conditional noexcept on std::ssize. | |
| 2024-11-26 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/forward_list.h: Use Markdown in Doxygen comments. | |
| 2024-11-26 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117630 | |
| * src/c++11/Makefile.am: Add new file. | |
| * src/c++11/Makefile.in: Regnerate. | |
| * src/c++11/cow-stdexcept.cc (error_category::_M_message): Move | |
| member function definition to ... | |
| * src/c++11/cow-system_error.cc: New file. | |
| 2024-11-20 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_set.h (set::find): Use const_iterator in | |
| return type, not iterator. | |
| 2024-11-20 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117686 | |
| * include/bits/hashtable.h (_Hashtable::_M_emplace_uniq): | |
| Adjust usage of __is_key_type to avoid false positive. | |
| * testsuite/23_containers/unordered_set/insert/117686.cc: | |
| New test. | |
| 2024-11-19 Jason Merrill <jason@redhat.com> | |
| * src/c++23/libstdc++.modules.json.in: Remove C++ comment. | |
| 2024-11-18 David Malcolm <dmalcolm@redhat.com> | |
| * testsuite/lib/libstdc++.exp: Add | |
| "load_gcc_lib dg-test-cleanup.exp". | |
| 2024-11-18 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (_Hashtable::_M_src_hash_code): | |
| Improve comments. | |
| (_Hashtable::_M_merge_unique(_Hashtable&)): Use pointer_traits | |
| to get before-begin pointer. Only use static_cast on valid | |
| nodes, not the before-begin pointer. Reuse a hash code cached in | |
| the node when possible. | |
| (_Hashtable::_M_merge_multi(_Hashtable&)): Likewise. | |
| 2024-11-18 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/xml/manual/allocator.xml: Update reference to Angelika | |
| Langer's article. | |
| * doc/html/manual/memory.html: Regenerate. | |
| 2024-11-17 Jason Merrill <jason@redhat.com> | |
| PR libstdc++/106852 | |
| * include/bits/version.def: Add __cpp_lib_modules. | |
| * include/bits/version.h: Regenerate. | |
| * src/c++23/Makefile.am: Add modules std and std.compat. | |
| * src/c++23/Makefile.in: Regenerate. | |
| * src/c++23/std-clib.cc.in: New file. | |
| * src/c++23/std.cc.in: New file. | |
| * src/c++23/std.compat.cc.in: New file. | |
| * src/c++23/libstdc++.modules.json.in: New file. | |
| 2024-11-17 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/xml/manual/intro.xml: Move a gcc.gnu.org link to https. | |
| * doc/html/manual/license.html: Regenerate. | |
| 2024-11-17 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/xml/manual/io.xml: Update link to Angelika Langer's book. | |
| * doc/html/manual/streambufs.html: Regenerate. | |
| 2024-11-17 Jan Hubicka <hubicka@ucw.cz> | |
| PR tree-optimization/109442 | |
| * include/bits/stl_vector.h: (vector::size(), | |
| vector::capacity()): Add __builtin_unreachable call to announce | |
| that size and capacity are non-negative. | |
| 2024-11-16 Jonathan Wakely <jwakely@redhat.com> | |
| * Makefile.am: Use $(MAKE) -C dir instead of cd dir && $(MAKE). | |
| * Makefile.in: Regenerate. | |
| 2024-11-15 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_list.h (list::emplace_back): Fix indentation. | |
| 2024-11-14 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/ranges_algo.h (__is_permutation_fn::operator()): | |
| Short-circuit for sized ranges with different sizes, as per LWG | |
| 3560. | |
| * include/bits/ranges_algobase.h (__equal_fn::operator()): | |
| Likewise. | |
| * include/bits/stl_algo.h (__is_permutation): Use if-constexpr | |
| for random access iterator branches. | |
| * include/bits/stl_algobase.h (__equal4): Likewise. | |
| * testsuite/25_algorithms/equal/lwg3560.cc: New test. | |
| * testsuite/25_algorithms/is_permutation/lwg3560.cc: New test. | |
| 2024-11-14 Patrick Palka <ppalka@redhat.com> | |
| * include/std/ranges (keys_view): Adjust as per LWG 3563. | |
| (values_view): Likewise. | |
| * testsuite/std/ranges/adaptors/elements.cc (test08): New test. | |
| 2024-11-14 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/ranges_util.h (subrange::begin): Fix constraint, | |
| as per LWG 3589. | |
| * testsuite/std/ranges/subrange/lwg3589.cc: New test. | |
| 2024-11-14 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/c++config (_GLIBCXX_NODISCARD): Expand for C++11 | |
| and C++14. | |
| * testsuite/22_locale/locale/cons/12438.cc: Adjust dg-warning to | |
| expect nodiscard warnings for C++11 and C++14 as well. | |
| * testsuite/22_locale/locale/operations/2.cc: Likewise. | |
| * testsuite/25_algorithms/equal/debug/1_neg.cc: Likewise. | |
| * testsuite/25_algorithms/equal/debug/2_neg.cc: Likewise. | |
| * testsuite/25_algorithms/equal/debug/3_neg.cc: Likewise. | |
| * testsuite/25_algorithms/find_first_of/concept_check_1.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/is_permutation/2.cc: Likewise. | |
| * testsuite/25_algorithms/lexicographical_compare/71545.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/lower_bound/33613.cc: Likewise. | |
| * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc: Likewise. | |
| * testsuite/25_algorithms/minmax/3.cc: Likewise. | |
| * testsuite/25_algorithms/search/78346.cc: Likewise. | |
| * testsuite/25_algorithms/search_n/58358.cc: Likewise. | |
| * testsuite/25_algorithms/unique/1.cc: Likewise. | |
| * testsuite/25_algorithms/unique/11480.cc: Likewise. | |
| * testsuite/25_algorithms/upper_bound/33613.cc: Likewise. | |
| * testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc: Likewise. | |
| * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: | |
| Likewise. | |
| * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: | |
| Likewise. | |
| * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: | |
| Likewise. | |
| * testsuite/ext/concept_checks.cc: Likewise. | |
| * testsuite/ext/is_heap/47709.cc: Likewise. | |
| * testsuite/ext/is_sorted/cxx0x.cc: Likewise. | |
| 2024-11-14 Jason Merrill <jason@redhat.com> | |
| * include/precompiled/stdc++.h: <coroutine> is C++20. | |
| 2024-11-14 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_iterator.h (operator+): Add constraint to | |
| move_iterator operator. | |
| * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: | |
| 2024-11-14 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_iterator.h (__normal_iterator): Replace | |
| enable_if constraint with requires-clause. | |
| 2024-11-14 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_iterator.h: Make use of feature test macros | |
| more consistent. Improve doxygen comments. | |
| 2024-11-14 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117560 | |
| * include/bits/fs_dir.h (enable_borrowed_range, enable_view): | |
| Define specializations for directory iterators, as per LWG 3480. | |
| * testsuite/27_io/filesystem/iterators/lwg3480.cc: New test. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/evolution.xml: Document removal of nested types | |
| from std::hash specializations. | |
| * doc/html/manual/api.html: Regenerate. | |
| * include/bits/functional_hash.h (__hash_base): Remove | |
| deprecated nested types for C++20. | |
| (__hash_empty_base): Define new class template. | |
| (__is_hash_enabled_for): Define new variable template. | |
| (__poison_hash): Remove. | |
| (__hash_not_enabled): Define new class template. | |
| (__hash_enum): Remove partial specialization for non-enums. | |
| (hash): Derive from __hash_not_enabled for non-enums, instead of | |
| __hash_enum. | |
| * include/bits/unique_ptr.h (__uniq_ptr_hash): Derive from | |
| __hash_base. Conditionally derive from __hash_empty_base. | |
| (__uniq_ptr_hash<>): Remove disabled specialization. | |
| (hash): Do not derive from __hash_base unconditionally. | |
| Conditionally derive from either __uniq_ptr_hash or | |
| __hash_not_enabled. | |
| * include/std/optional (__optional_hash_call_base): Remove. | |
| (__optional_hash): Define new class template. | |
| (hash): Derive from either | |
| (hash): Conditionally derive from either __optional_hash or | |
| __hash_not_enabled. Remove nested typedefs. | |
| * include/std/variant (_Base_dedup): Replace __poison_hash with | |
| __hash_empty_base. | |
| (__variant_hash_call_base_impl): Remove. | |
| (__variant_hash): Define new class template. | |
| (hash): Conditionally derive from either __variant_hash or | |
| __hash_not_enabled. Remove nested typedefs. | |
| * testsuite/20_util/optional/hash.cc: Check whether nested types | |
| are present. | |
| * testsuite/20_util/variant/hash.cc: Likewise. | |
| * testsuite/20_util/optional/hash_abi.cc: New test. | |
| * testsuite/20_util/unique_ptr/hash/abi.cc: New test. | |
| * testsuite/20_util/unique_ptr/hash/types.cc: New test. | |
| * testsuite/20_util/variant/hash_abi.cc: New test. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (__location_type): New struct. | |
| (_M_locate): New member function. | |
| (_M_find_before_node(const key_type&)): Remove. | |
| (_M_find_node): Move variable initialization into condition. | |
| (_M_find_node_tr): Likewise. | |
| (operator=(initializer_list<T>), try_emplace, _M_reinsert_node) | |
| (_M_merge_unique, find, erase(const key_type&)): Use _M_locate | |
| for lookup. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (_M_merge_unique): Add overload for | |
| merging from same type. | |
| (_M_merge_unique<Compatible>): Simplify size tracking. Add | |
| comment. | |
| (_M_merge_multi): Add overload for merging from same type. | |
| (_M_merge_multi<Compatible>): Add comment. | |
| * include/bits/unordered_map.h (unordered_map::merge): Check for | |
| self-merge in the lvalue overload. Call _M_merge_unique directly | |
| for the rvalue overload. | |
| (unordered_multimap::merge): Likewise. | |
| * include/bits/unordered_set.h (unordered_set::merge): Likewise. | |
| (unordered_multiset::merge): Likewise. | |
| * testsuite/23_containers/unordered_map/modifiers/merge.cc: | |
| Add more tests. | |
| * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: | |
| Likewise. | |
| * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: | |
| Likewise. | |
| * testsuite/23_containers/unordered_set/modifiers/merge.cc: | |
| Likewise. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable_policy.h (_Hashtable_base::_S_equals): | |
| Remove. | |
| (_Hashtable_base::_S_node_equals): Remove. | |
| (_Hashtable_base::_M_key_equals_tr): Fix inaccurate | |
| static_assert string. | |
| (_Hashtable_base::_M_equals, _Hashtable_base::_M_equals_tr): Use | |
| 'if constexpr' instead of _S_equals. | |
| (_Hashtable_base::_M_node_equals): Use 'if constexpr' instead of | |
| _S_node_equals. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (_Hashtable): Remove _Equality base | |
| class. | |
| (_Hashtable::_M_equal): Define equality comparison here instead | |
| of in _Equality::_M_equal. | |
| * include/bits/hashtable_policy.h (_Equality): Remove. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (_Hashtable): Remove inheritance from | |
| __detail::_Insert and move its members into _Hashtable. | |
| * include/bits/hashtable_policy.h (__detail::_Insert): Remove. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (operator=(const _Hashtable&)): Use | |
| RAII instead of try-catch. | |
| (_M_assign(_Ht&&, _NodeGenerator&)): Likewise. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (_Hashtable::__fwd_value_for): | |
| Remove. | |
| (_Hashtable::_M_assign): Use static_cast instead of | |
| __fwd_value_for. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (_Hashtable): Remove typedefs for | |
| node generators. | |
| (_Hashtable::_M_assign(_Ht&&)): Add new overload. | |
| (_Hashtable::operator=(initializer_list<value_type>)): Add local | |
| typedef for node generator. | |
| (_Hashtable::_M_assign_elements): Likewise. | |
| (_Hashtable::operator=(const _Hashtable&)): Use new _M_assign | |
| overload. | |
| (_Hashtable(const _Hashtable&)): Likewise. | |
| (_Hashtable(const _Hashtable&, const allocator_type&)): | |
| Likewise. | |
| (_Hashtable(_Hashtable&&, __node_alloc_type&&, false_type)): | |
| Likewise. | |
| * include/bits/hashtable_policy.h (_Insert): Remove typedef for | |
| node generator. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (_Hashtable::_M_erase): Remove | |
| overloads for erasing by key, moving logic to ... | |
| (_Hashtable::erase): ... here. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115285 | |
| * include/bits/hashtable.h (_Hashtable::_M_emplace): Replace | |
| with _M_emplace_uniq and _M_emplace_multi. | |
| (_Hashtable::_S_forward_key, _Hashtable::_M_insert_unique) | |
| (_Hashtable::_M_insert_unique_aux, _Hashtable::_M_insert): | |
| Remove. | |
| * include/bits/hashtable_policy.h (_ConvertToValueType): | |
| Remove. | |
| (_Insert_base::_M_insert_range): Remove overload for unique keys | |
| and rename overload for non-unique keys to ... | |
| (_Insert_base::_M_insert_range_multi): ... this. | |
| (_Insert_base::insert): Call _M_emplace_uniq or _M_emplace_multi | |
| instead of _M_insert. Add insert overloads from _Insert. | |
| (_Insert_base): Rename to _Insert. | |
| (_Insert): Remove | |
| * testsuite/23_containers/unordered_map/96088.cc: Adjust | |
| expected number of allocations. | |
| * testsuite/23_containers/unordered_set/96088.cc: Likewise. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable_policy.h (_ReuseOrAllocNode::operator()): | |
| Replace parameter pack with a single parameter. Assign to | |
| existing value when possible. | |
| * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc: | |
| Adjust expected count of operations. | |
| * testsuite/23_containers/unordered_set/allocator/move_assign.cc: | |
| Likewise. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (operator=(initializer_list)): | |
| Refactor to not use _M_insert_range. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/util/testsuite_performance.h (time_counter): Add | |
| comment about times. | |
| (time_counter::system_time): Use correct split value. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * scripts/check_performance: Add timestamp to output file at | |
| start of run. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/util/testsuite_performance.h: Use | |
| __gnu_cxx::__is_single_threaded instead of __gthread_active_p(). | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/performance/ext/pb_ds/hash_int_erase_mem.cc: Replace | |
| std::unary_function with result_type and argument_type typedefs. | |
| * testsuite/util/performance/assoc/multimap_common_type.hpp: | |
| Likewise. | |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/performance/20_util/memory_resource/pools.cc: Fix | |
| -Wunused-value warnings about unnamed std::lock_guard objects. | |
| 2024-11-11 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): | |
| Adjust strings passed to exception constructors. | |
| 2024-11-11 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117520 | |
| * include/std/text_encoding (aliases_view:_Iterator::operator+=): | |
| Fix typos that caused == to be used instead of =. | |
| (aliases_view::_Iterator): Fix friend declaration. | |
| * testsuite/std/text_encoding/members.cc: Adjust expected | |
| behaviour of invalid subscript. Add tests for other erroneous | |
| operations on iterators. | |
| 2024-11-11 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/unicode.h (_Utf_iterator::_M_read_utf16): Add | |
| parentheses. | |
| 2024-11-08 Jakub Jelinek <jakub@redhat.com> | |
| * libsupc++/new (::operator new, ::operator new[]): Add malloc | |
| attribute where missing. Add alloc_align attribute when | |
| std::align_val_t is present and where it was missing. Formatting fix. | |
| 2024-11-08 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (_Hashtable): Add 'inline' to some | |
| one-line constructors. | |
| 2024-11-08 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable_policy.h (_Insert_base::try_emplace): | |
| Do not define for C++11 and C++14. | |
| * include/debug/map.h (try_emplace): Use feature test macro. | |
| * include/debug/unordered_map (try_emplace): Likewise. | |
| * testsuite/17_intro/names.cc: Define try_emplace before C++17. | |
| 2024-11-08 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable_policy.h (__distance_fw): Replace tag | |
| dispatching with 'if constexpr'. | |
| 2024-11-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (_M_insert_unique_node): Improve | |
| comment. | |
| 2024-11-07 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115285 | |
| * include/bits/hashtable.h (_Hashtable::_S_forward_key): Remove. | |
| (_Hashtable::_M_insert_unique_aux): Replace _S_forward_key with | |
| a static_cast to a type defined using conditional_t. | |
| (_Hashtable::_M_insert): Replace _ConvertToValueType with a | |
| static_cast to a type defined using conditional_t. | |
| * include/bits/hashtable_policy.h (_ConvertToValueType): Remove. | |
| * testsuite/23_containers/unordered_map/insert/115285.cc: New test. | |
| * testsuite/23_containers/unordered_set/insert/115285.cc: New test. | |
| * testsuite/23_containers/unordered_set/96088.cc: Adjust | |
| expected number of allocations. | |
| 2024-11-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_pair.h (__is_pair): Define for C++11 and | |
| C++14 as well. | |
| 2024-11-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (_Hashtable): Fix comment grammar. | |
| 2024-11-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h: Add is_permutation to comment. | |
| * include/bits/hashtable_policy.h: Remove it from comment. | |
| 2024-11-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h: Fix spelling in comment. | |
| 2024-11-06 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/evolution.xml: Document deprecations. | |
| * doc/html/*: Regenerate. | |
| * include/c_compatibility/complex.h (_GLIBCXX_COMPLEX_H): Move | |
| include guard to start of file. Include <complex> directly | |
| instead of <ccomplex>. | |
| * include/c_compatibility/tgmath.h: Include <cmath> and | |
| <complex> directly, instead of <ctgmath>. | |
| * include/c_global/ccomplex: Add deprecated #warning for C++17 | |
| and #error for C++20 if _GLIBCXX_USE_DEPRECATED == 0. | |
| * include/c_global/ciso646: Likewise. | |
| * include/c_global/cstdalign: Likewise. | |
| * include/c_global/cstdbool: Likewise. | |
| * include/c_global/ctgmath: Likewise. | |
| * include/c_std/ciso646: Likewise. | |
| * include/precompiled/stdc++.h: Do not include ccomplex, | |
| ciso646, cstdalign, cstdbool, or ctgmath in C++17 and later. | |
| * testsuite/18_support/headers/cstdalign/macros.cc: Check for | |
| warnings and errors for unsupported dialects. | |
| * testsuite/18_support/headers/cstdbool/macros.cc: Likewise. | |
| * testsuite/26_numerics/headers/ctgmath/complex.cc: Likewise. | |
| * testsuite/27_io/objects/char/1.cc: Do not include <ciso646>. | |
| * testsuite/27_io/objects/wchar_t/1.cc: Likewise. | |
| * testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Removed. | |
| * testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: Removed. | |
| * testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Removed. | |
| * testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Removed. | |
| * testsuite/18_support/headers/ciso646/macros.cc: New test. | |
| * testsuite/18_support/headers/ciso646/macros.h.cc: New test. | |
| * testsuite/18_support/headers/cstdbool/macros.h.cc: New test. | |
| * testsuite/26_numerics/headers/ccomplex/complex.cc: New test. | |
| * testsuite/26_numerics/headers/ccomplex/complex.h.cc: New test. | |
| * testsuite/26_numerics/headers/ctgmath/complex.h.cc: New test. | |
| * testsuite/18_support/headers/cstdalign/macros.h.cc: New file. | |
| 2024-11-06 Jonathan Wakely <jwakely@redhat.com> | |
| * include/c_compatibility/complex.h (_GLIBCXX_COMPLEX_H): Move | |
| include guard to start of the header. | |
| * include/c_global/ctgmath (_GLIBCXX_CTGMATH): Likewise. | |
| 2024-11-06 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/shared_ptr_base.h (__shared_ptr_deref): New | |
| function template. | |
| (__shared_ptr_access, __shared_ptr_access<>): Use it. | |
| 2024-11-06 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++17/fs_dir.cc (fs::directory_iterator::operator*): Use | |
| shared_ptr::operator* instead of shared_ptr::operator->. | |
| (fs::recursive_directory_iterator::options): Likewise. | |
| (fs::recursive_directory_iterator::depth): Likewise. | |
| (fs::recursive_directory_iterator::recursion_pending): Likewise. | |
| (fs::recursive_directory_iterator::operator*): Likewise. | |
| (fs::recursive_directory_iterator::disable_recursion_pending): | |
| Likewise. | |
| 2024-11-04 Nathaniel Shead <nathanieloshead@gmail.com> | |
| PR testsuite/113710 | |
| PR c++/113814 | |
| * include/bits/stl_pair.h: Remove workaround. | |
| 2024-11-04 Jakub Jelinek <jakub@redhat.com> | |
| PR libstdc++/117406 | |
| * testsuite/26_numerics/headers/cmath/117406.cc: Use | |
| std::numeric_limits<int>::max() instead of INT_MAX. | |
| 2024-11-02 Jakub Jelinek <jakub@redhat.com> | |
| PR libstdc++/117406 | |
| * include/c_global/cmath (std::ilogb(_Float16), std::llrint(_Float16), | |
| std::llround(_Float16), std::lrint(_Float16), std::lround(_Float16)): | |
| Don't cast __builtin_* return to _Float16. | |
| (std::ilogb(__gnu_cxx::__bfloat16_t), | |
| std::llrint(__gnu_cxx::__bfloat16_t), | |
| std::llround(__gnu_cxx::__bfloat16_t), | |
| std::lrint(__gnu_cxx::__bfloat16_t), | |
| std::lround(__gnu_cxx::__bfloat16_t)): Don't cast __builtin_* return to | |
| __gnu_cxx::__bfloat16_t. | |
| * testsuite/26_numerics/headers/cmath/117406.cc: New test. | |
| 2024-11-01 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/unordered_map.h: Check __glibcxx_node_extract and | |
| __glibcxx_unordered_map_try_emplace instead of __cplusplus. | |
| * include/bits/unordered_set.h: Check __glibcxx_node_extract | |
| instead of __cplusplus. | |
| 2024-11-01 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h: Improve comments. | |
| 2024-11-01 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/111055 | |
| * include/bits/forward_list.h | |
| (forward_list(from_range, R&&, const Alloc&), assign_range) | |
| (prepend_range, insert_range_after): Define. | |
| * include/bits/stl_list.h (list(from_range, R&&, const Alloc&)) | |
| (assign_range, prepend_range, append_range, insert_range): | |
| Define. | |
| * include/debug/forward_list | |
| (forward_list(from_range, R&&, const Alloc&), assign_range) | |
| (prepend_range, insert_range_after): Define. | |
| * include/debug/list (list(from_range, R&&, const Alloc&)) | |
| (assign_range, prepend_range, append_range, insert_range): | |
| Define. | |
| * testsuite/23_containers/forward_list/cons/from_range.cc: New | |
| test. | |
| * testsuite/23_containers/forward_list/modifiers/assign_range.cc: | |
| New test. | |
| * testsuite/23_containers/forward_list/modifiers/insert_range_after.cc: | |
| New test. | |
| * testsuite/23_containers/forward_list/modifiers/prepend_range.cc: | |
| New test. | |
| * testsuite/23_containers/list/cons/from_range.cc: New test. | |
| * testsuite/23_containers/list/modifiers/append_range.cc: New | |
| test. | |
| * testsuite/23_containers/list/modifiers/assign/assign_range.cc: | |
| New test. | |
| * testsuite/23_containers/list/modifiers/insert/insert_range.cc: | |
| New test. | |
| * testsuite/23_containers/list/modifiers/prepend_range.cc: New | |
| test. | |
| 2024-11-01 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/23_containers/unordered_set/pr115285.cc: Include | |
| missing header for std::vector. | |
| 2024-11-01 Jonathan Wakely <jwakely@redhat.com> | |
| * libsupc++/typeinfo: Remove whitespace in #endif | |
| 2024-10-31 Jonathan Wakely <jwakely@redhat.com> | |
| * libsupc++/new (operator new): Add attribute align_alloc(2) to | |
| overloads taking a std::align_val_t argument. | |
| * testsuite/18_support/new_aligned_warn.cc: New test. | |
| 2024-10-30 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/23_containers/vector/cons/from_range.cc: Fix copy & | |
| paste error in comment. | |
| * testsuite/23_containers/vector/modifiers/append_range.cc: | |
| Likewise. | |
| * testsuite/23_containers/vector/modifiers/assign/assign_range.cc: | |
| Likewise. | |
| * testsuite/23_containers/vector/modifiers/insert/insert_range.cc: | |
| Likewise. | |
| 2024-10-30 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/using_exceptions.xml: Fix typos and grammatical | |
| errors. | |
| * doc/html/manual/using_exceptions.html: Regenerate. | |
| 2024-10-30 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/c++config (_GLIBCXX_DOUBLE_IS_IEEE_BINARY32): | |
| Define. | |
| (_GLIBCXX_LDOUBLE_IS_IEEE_BINARY64): Define. | |
| (_GLIBCXX_LDOUBLE_IS_IEEE_BINARY32): Define. | |
| * include/bits/cpp_type_traits.h (__memcpyable): Define | |
| specializations when double and long double are compatible. | |
| 2024-10-30 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/cpp_type_traits.h (__memcpyable): Add | |
| specializations for compatible floating-point types. | |
| 2024-10-29 Patrick Palka <ppalka@redhat.com> | |
| PR libstdc++/112641 | |
| * include/std/ranges (drop_view::begin): Reimplement const | |
| overload so that it's O(1) always. | |
| * testsuite/std/ranges/adaptors/drop.cc (test10): New test. | |
| 2024-10-29 Jakub Jelinek <jakub@redhat.com> | |
| PR libstdc++/117321 | |
| * include/c_global/cmath (nextafter(_Float16, _Float16)): Use | |
| if consteval rather than if (std::__is_constant_evaluated()) around | |
| the __builtin_nextafterf16 call. | |
| (nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): Use | |
| if consteval rather than if (std::__is_constant_evaluated()) around | |
| the __builtin_nextafterf16b call. | |
| * testsuite/26_numerics/headers/cmath/117321.cc: New test. | |
| 2024-10-28 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/23_containers/vector/bool/cons/from_range.cc: Use | |
| dg-do run instead of compile. | |
| (test_ranges): Use do_test instead of do_test_a for rvalue | |
| range. | |
| (test_constexpr): Call function template instead of just | |
| instantiating it. | |
| * testsuite/23_containers/vector/bool/modifiers/assign/assign_range.cc: | |
| Use dg-do run instead of compile. | |
| (do_test): Use same test logic for vector<bool> as for primary | |
| template. | |
| (test_constexpr): Call function template instead of just | |
| instantiating it. | |
| * testsuite/23_containers/vector/bool/modifiers/insert/append_range.cc: | |
| Use dg-do run instead of compile. | |
| (test_ranges): Use do_test instead of do_test_a for rvalue | |
| range. | |
| (test_constexpr): Call function template instead of just | |
| instantiating it. | |
| * testsuite/23_containers/vector/bool/modifiers/insert/insert_range.cc: | |
| Use dg-do run instead of compile. | |
| (do_test): Fix incorrect function arguments to match intended | |
| results. | |
| (test_ranges): Use do_test instead of do_test_a for rvalue | |
| range. | |
| (test_constexpr): Call function template instead of just | |
| instantiating it. | |
| * testsuite/23_containers/vector/cons/from_range.cc: Use dg-do | |
| run instead of compile. | |
| (test_ranges): Fix ill-formed call to do_test. | |
| (test_constexpr): Call function template instead of just | |
| instantiating it. | |
| * testsuite/23_containers/vector/modifiers/append_range.cc: | |
| Use dg-do run instead of compile. | |
| (test_constexpr): Likewise. | |
| * testsuite/23_containers/vector/modifiers/assign/assign_range.cc: | |
| Use dg-do run instead of compile. | |
| (do_test): Do not reuse input ranges. | |
| (test_constexpr): Call function template instead of just | |
| instantiating it. | |
| * testsuite/23_containers/vector/modifiers/insert/insert_range.cc: | |
| Use dg-do run instead of compile. | |
| (do_test): Fix incorrect function arguments to match intended | |
| results. | |
| (test_constexpr): Call function template instead of just | |
| instantiating it. | |
| 2024-10-27 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/111055 | |
| * include/bits/ranges_base.h (__container_compatible_range): New | |
| concept. | |
| * include/bits/stl_bvector.h (vector(from_range, R&&, const Alloc&)) | |
| (assign_range, insert_range, append_range): Define. | |
| * include/bits/stl_uninitialized.h (__do_uninit_copy): Support | |
| non-common ranges. | |
| (__uninitialized_copy_a): Likewise. | |
| * include/bits/stl_vector.h (_Vector_base::_M_append_range_to): | |
| New function. | |
| (_Vector_base::_M_append_range): Likewise. | |
| (vector(from_range, R&&, const Alloc&), assign_range): Define. | |
| (append_range): Define. | |
| (insert_range): Declare. | |
| * include/debug/vector (vector(from_range, R&&, const Alloc&)) | |
| (assign_range, insert_range, append_range): Define. | |
| * include/bits/vector.tcc (insert_range): Define. | |
| * testsuite/util/testsuite_iterators.h (input_iterator_wrapper_rval): | |
| New class template. | |
| * testsuite/23_containers/vector/bool/cons/from_range.cc: New test. | |
| * testsuite/23_containers/vector/bool/modifiers/assign/assign_range.cc: | |
| New test. | |
| * testsuite/23_containers/vector/bool/modifiers/insert/append_range.cc: | |
| New test. | |
| * testsuite/23_containers/vector/bool/modifiers/insert/insert_range.cc: | |
| New test. | |
| * testsuite/23_containers/vector/cons/from_range.cc: New test. | |
| * testsuite/23_containers/vector/modifiers/append_range.cc: New test. | |
| * testsuite/23_containers/vector/modifiers/assign/assign_range.cc: | |
| New test. | |
| * testsuite/23_containers/vector/modifiers/insert/insert_range.cc: | |
| New test. | |
| 2024-10-27 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_bvector.h (emplace_back, emplace): Forward | |
| parameter pack to preserve value category. | |
| * testsuite/23_containers/vector/bool/emplace_rvalue.cc: New | |
| test. | |
| 2024-10-25 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/21_strings/basic_string/operators/char/op_plus_string_view.cc: | |
| Check __cpp_lib_constexpr_string. | |
| 2024-10-25 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | |
| * include/bits/basic_string.h: Implement the four operator+ | |
| overloads between basic_string and (types convertible to) | |
| basic_string_view. | |
| * include/bits/version.def: Bump the feature-testing macro. | |
| * include/bits/version.h: Regenerate. | |
| * testsuite/21_strings/basic_string/operators/char/op_plus_fspath_neg.cc: New test. | |
| * testsuite/21_strings/basic_string/operators/char/op_plus_string_view.cc: New test. | |
| * testsuite/21_strings/basic_string/operators/char/op_plus_string_view_compat.cc: | |
| New test. | |
| 2024-10-25 Jakub Jelinek <jakub@redhat.com> | |
| * include/debug/debug.h: Remove trailing whitespace. | |
| * include/parallel/base.h: Likewise. | |
| * include/parallel/types.h: Likewise. | |
| * include/parallel/settings.h: Likewise. | |
| * include/parallel/multiseq_selection.h: Likewise. | |
| * include/parallel/partition.h: Likewise. | |
| * include/parallel/random_number.h: Likewise. | |
| * include/parallel/find_selectors.h: Likewise. | |
| * include/parallel/partial_sum.h: Likewise. | |
| * include/parallel/list_partition.h: Likewise. | |
| * include/parallel/search.h: Likewise. | |
| * include/parallel/algorithmfwd.h: Likewise. | |
| * include/parallel/random_shuffle.h: Likewise. | |
| * include/parallel/multiway_mergesort.h: Likewise. | |
| * include/parallel/sort.h: Likewise. | |
| * include/parallel/algobase.h: Likewise. | |
| * include/parallel/numericfwd.h: Likewise. | |
| * include/parallel/multiway_merge.h: Likewise. | |
| * include/parallel/losertree.h: Likewise. | |
| * include/bits/basic_ios.h: Likewise. | |
| * include/bits/stringfwd.h: Likewise. | |
| * include/bits/ostream_insert.h: Likewise. | |
| * include/bits/stl_heap.h: Likewise. | |
| * include/bits/unordered_map.h: Likewise. | |
| * include/bits/hashtable_policy.h: Likewise. | |
| * include/bits/stl_iterator_base_funcs.h: Likewise. | |
| * include/bits/valarray_before.h: Likewise. | |
| * include/bits/regex.h: Likewise. | |
| * include/bits/postypes.h: Likewise. | |
| * include/bits/stl_iterator.h: Likewise. | |
| * include/bits/localefwd.h: Likewise. | |
| * include/bits/stl_algo.h: Likewise. | |
| * include/bits/ios_base.h: Likewise. | |
| * include/bits/stl_function.h: Likewise. | |
| * include/bits/basic_string.h: Likewise. | |
| * include/bits/hashtable.h: Likewise. | |
| * include/bits/valarray_after.h: Likewise. | |
| * include/bits/char_traits.h: Likewise. | |
| * include/bits/gslice.h: Likewise. | |
| * include/bits/locale_facets_nonio.h: Likewise. | |
| * include/bits/mask_array.h: Likewise. | |
| * include/bits/specfun.h: Likewise. | |
| * include/bits/random.h: Likewise. | |
| * include/bits/slice_array.h: Likewise. | |
| * include/bits/valarray_array.h: Likewise. | |
| * include/tr1/float.h: Likewise. | |
| * include/tr1/functional_hash.h: Likewise. | |
| * include/tr1/math.h: Likewise. | |
| * include/tr1/hashtable_policy.h: Likewise. | |
| * include/tr1/stdio.h: Likewise. | |
| * include/tr1/complex.h: Likewise. | |
| * include/tr1/stdbool.h: Likewise. | |
| * include/tr1/stdarg.h: Likewise. | |
| * include/tr1/inttypes.h: Likewise. | |
| * include/tr1/fenv.h: Likewise. | |
| * include/tr1/stdlib.h: Likewise. | |
| * include/tr1/wchar.h: Likewise. | |
| * include/tr1/tgmath.h: Likewise. | |
| * include/tr1/limits.h: Likewise. | |
| * include/tr1/wctype.h: Likewise. | |
| * include/tr1/stdint.h: Likewise. | |
| * include/tr1/ctype.h: Likewise. | |
| * include/tr1/random.h: Likewise. | |
| * include/tr1/shared_ptr.h: Likewise. | |
| * include/ext/mt_allocator.h: Likewise. | |
| * include/ext/sso_string_base.h: Likewise. | |
| * include/ext/debug_allocator.h: Likewise. | |
| * include/ext/vstring_fwd.h: Likewise. | |
| * include/ext/pointer.h: Likewise. | |
| * include/ext/pod_char_traits.h: Likewise. | |
| * include/ext/malloc_allocator.h: Likewise. | |
| * include/ext/vstring.h: Likewise. | |
| * include/ext/bitmap_allocator.h: Likewise. | |
| * include/ext/pool_allocator.h: Likewise. | |
| * include/ext/type_traits.h: Likewise. | |
| * include/ext/ropeimpl.h: Likewise. | |
| * include/ext/codecvt_specializations.h: Likewise. | |
| * include/ext/throw_allocator.h: Likewise. | |
| * include/ext/extptr_allocator.h: Likewise. | |
| * include/ext/atomicity.h: Likewise. | |
| * include/ext/concurrence.h: Likewise. | |
| * include/c_compatibility/wchar.h: Likewise. | |
| * include/c_compatibility/stdint.h: Likewise. | |
| * include/backward/hash_fun.h: Likewise. | |
| * include/backward/binders.h: Likewise. | |
| * include/backward/hashtable.h: Likewise. | |
| * include/backward/auto_ptr.h: Likewise. | |
| * libsupc++/eh_arm.cc: Likewise. | |
| * libsupc++/unwind-cxx.h: Likewise. | |
| * libsupc++/si_class_type_info.cc: Likewise. | |
| * libsupc++/vec.cc: Likewise. | |
| * libsupc++/class_type_info.cc: Likewise. | |
| * libsupc++/vmi_class_type_info.cc: Likewise. | |
| * libsupc++/guard_error.cc: Likewise. | |
| * libsupc++/bad_typeid.cc: Likewise. | |
| * libsupc++/eh_personality.cc: Likewise. | |
| * libsupc++/atexit_arm.cc: Likewise. | |
| * libsupc++/pmem_type_info.cc: Likewise. | |
| * libsupc++/vterminate.cc: Likewise. | |
| * libsupc++/eh_terminate.cc: Likewise. | |
| * libsupc++/bad_cast.cc: Likewise. | |
| * libsupc++/exception_ptr.h: Likewise. | |
| * libsupc++/eh_throw.cc: Likewise. | |
| * libsupc++/bad_alloc.cc: Likewise. | |
| * libsupc++/nested_exception.cc: Likewise. | |
| * libsupc++/pointer_type_info.cc: Likewise. | |
| * libsupc++/pbase_type_info.cc: Likewise. | |
| * libsupc++/bad_array_new.cc: Likewise. | |
| * libsupc++/pure.cc: Likewise. | |
| * libsupc++/eh_exception.cc: Likewise. | |
| * libsupc++/bad_array_length.cc: Likewise. | |
| * libsupc++/cxxabi.h: Likewise. | |
| * libsupc++/guard.cc: Likewise. | |
| * libsupc++/eh_catch.cc: Likewise. | |
| * libsupc++/cxxabi_forced.h: Likewise. | |
| * libsupc++/tinfo.h: Likewise. | |
| 2024-10-24 François Dumont <frs.dumont@gmail.com> | |
| * testsuite/23_containers/unordered_map/96088.cc (test03): Fix increments | |
| value when _GLIBCXX_USE_CXX11_ABI is equal to 0. | |
| 2024-10-24 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/26_numerics/complex/ext_c++23.cc: Fix typo in macro. | |
| * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: | |
| Likewise. | |
| * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: | |
| Likewise. | |
| * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: | |
| Likewise. | |
| 2024-10-24 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/variant (__throw_bad_variant_access(unsigned)): | |
| Define new function as inline friend, with namespace-scope | |
| declaration using noreturn attribute. | |
| (__throw_bad_variant_access(const char*)): Remove. | |
| (__throw_bad_variant_access(bool)): Remove. | |
| (visit, visit<R>): Adjust calls to __throw_bad_variant_access. | |
| 2024-10-24 Ricardo Jesus <rjj@nvidia.com> | |
| * config/cpu/aarch64/opt/ext/opt_random.h (__VEXT): Replace uses | |
| of __builtin_shuffle with __builtin_shufflevector. | |
| (__aarch64_lsl_128): Move shift amount to a template parameter. | |
| (__aarch64_lsr_128): Move shift amount to a template parameter. | |
| (__aarch64_recursion): Update call sites of __aarch64_lsl_128 | |
| and __aarch64_lsr_128. | |
| 2024-10-23 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/18_support/headers/cstdalign/macros.cc: New test. | |
| 2024-10-23 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/evolution.xml: Document that assertions are | |
| enabled for unoptimized builds. | |
| * doc/html/*: Regenerate. | |
| 2024-10-23 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/test.xml: Add GLIBCXX_TESTSUITE_STDS example. | |
| * doc/html/manual/test.html: Regenerate. | |
| 2024-10-23 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/basic_string.h (assign(Iter, Iter)): Call | |
| std::to_address instead of __to_address. | |
| 2024-10-23 François Dumont <frs.dumont@gmail.com> | |
| PR libstdc++/115285 | |
| * include/bits/hashtable.h (_S_forward_key<_Kt>): Always return a temporary | |
| key_type instance. | |
| * testsuite/23_containers/unordered_map/96088.cc: Adapt to additional instanciation. | |
| Also check that mapped_type is not instantiated when there is no insertion. | |
| * testsuite/23_containers/unordered_multimap/96088.cc: Adapt to additional | |
| instanciation. | |
| * testsuite/23_containers/unordered_multiset/96088.cc: Likewise. | |
| * testsuite/23_containers/unordered_set/96088.cc: Likewise. | |
| * testsuite/23_containers/unordered_set/pr115285.cc: New test case. | |
| 2024-10-22 Patrick Palka <ppalka@redhat.com> | |
| * include/std/ranges (concat_view::begin): Add space after | |
| 'requires' starting a requires-clause. | |
| (concat_view::end): Likewise. Refine condition for returning an | |
| iterator rather than default_sentinel as per LWG 4166. | |
| * testsuite/std/ranges/concat/1.cc (test03): Verify LWG 4166 | |
| example. | |
| 2024-10-22 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/basic_string.h (basic_string::assign): Replace | |
| use of __to_address with __niter_base or std::to_address as | |
| appropriate. | |
| * include/bits/ptr_traits.h (__to_address): Add comment. | |
| * include/bits/shared_ptr_base.h (__shared_ptr): Qualify calls | |
| to __to_address. | |
| * include/bits/stl_algo.h (find): Replace use of __to_address | |
| with __niter_base or std::to_address as appropriate. Only use | |
| either of them when the range is not empty. | |
| * include/bits/stl_iterator.h (__to_address): Remove overload | |
| for __normal_iterator. | |
| * include/debug/safe_iterator.h (__to_address): Remove overload | |
| for _Safe_iterator. | |
| * include/std/ranges (views::counted): Replace use of | |
| __to_address with std::to_address. | |
| * testsuite/24_iterators/normal_iterator/to_address.cc: Removed. | |
| 2024-10-21 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: | |
| Move to ... | |
| * testsuite/26_numerics/headers/cmath/specfun_c++17.cc: here and | |
| adjust test to be valid for all -std dialects. | |
| 2024-10-21 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_vector.h (vector::_M_data_ptr): Remove | |
| non-const overloads. Always return non-const pointer. | |
| 2024-10-21 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117220 | |
| * include/bits/stl_iterator.h: Move _GLIBCXX_NODISCARD | |
| annotations after __attribute__((__always_inline__)). | |
| 2024-10-18 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/ranges_algobase.h (ranges::__assign_one): Remove. | |
| (__copy_or_move, __copy_or_move_backward): Use std::__assign_one | |
| instead of ranges::__assign_one. | |
| 2024-10-18 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_algobase.h (__copy_move_a1, __copy_move_a) | |
| (__copy_move_backward_a1, __copy_move_backward_a, move_backward) | |
| (__fill_a1, __fill_a, fill, __fill_n_a, fill_n, __equal_aux): | |
| Add always_inline attribute to one-line forwarding functions. | |
| 2024-10-18 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_algo.h (find): Add nodiscard. | |
| 2024-10-18 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115444 | |
| PR libstdc++/114817 | |
| * include/bits/stl_algo.h (__copy_n): Remove generic overload | |
| and overload for random access iterators. | |
| (copy_n): Inline generic version of __copy_n here. Do not defer | |
| to std::copy for random access iterators. | |
| * include/bits/stl_algobase.h (__copy_move): Remove. | |
| (__nothrow_contiguous_iterator, __memcpyable_iterators): New | |
| concepts. | |
| (__assign_one, _GLIBCXX_TO_ADDR, _GLIBCXX_ADVANCE): New helpers. | |
| (__copy_move_a2): Inline __copy_move logic and conditional | |
| memmove optimization into the most generic overload. | |
| (__copy_n_a): Likewise. | |
| (__copy_move_backward): Remove. | |
| (__copy_move_backward_a2): Inline __copy_move_backward logic and | |
| memmove optimization into the most generic overload. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_copy/114817.cc: | |
| New test. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/114817.cc: | |
| New test. | |
| * testsuite/25_algorithms/copy/114817.cc: New test. | |
| * testsuite/25_algorithms/copy/115444.cc: New test. | |
| * testsuite/25_algorithms/copy_n/114817.cc: New test. | |
| 2024-10-18 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_iterator.h (__normal_iterator): Make all | |
| members and overloaded operators constexpr before C++20, and add | |
| always_inline attribute | |
| (__to_address): Add nodiscard and always_inline attributes. | |
| (__make_move_if_noexcept_iterator): Add nodiscard | |
| and make unconditionally constexpr. | |
| (__niter_base(__normal_iterator), __niter_base(Iter)): | |
| Add nodiscard and always_inline attributes. | |
| (__niter_base(reverse_iterator), __niter_base(move_iterator)) | |
| (__miter_base): Add inline. | |
| (__niter_wrap(From, To)): Add nodiscard attribute. | |
| (__niter_wrap(const Iter&, Iter)): Add nodiscard and | |
| always_inline attributes. | |
| 2024-10-18 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/68350 | |
| PR libstdc++/93059 | |
| * include/bits/stl_uninitialized.h (__check_constructible) | |
| (_GLIBCXX_USE_ASSIGN_FOR_INIT): Remove. | |
| [C++98] (__unwrappable_niter): New trait. | |
| (__uninitialized_copy<true>): Replace use of std::copy. | |
| (uninitialized_copy): Fix Doxygen comments. Open-code memcpy | |
| optimization for C++11 and later. | |
| (__uninitialized_fill<true>): Replace use of std::fill. | |
| (uninitialized_fill): Fix Doxygen comments. Open-code memset | |
| optimization for C++11 and later. | |
| (__uninitialized_fill_n<true>): Replace use of std::fill_n. | |
| (uninitialized_fill_n): Fix Doxygen comments. Open-code memset | |
| optimization for C++11 and later. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc: | |
| Adjust expected behaviour to match what the standard specifies. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/sizes.cc: | |
| Likewise. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc: | |
| Adjust dg-error directives. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_copy/89164.cc: | |
| Likewise. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/89164.cc: | |
| Likewise. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_fill/89164.cc: | |
| Likewise. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/89164.cc: | |
| Likewise. | |
| * testsuite/23_containers/vector/cons/89164.cc: Likewise. | |
| * testsuite/23_containers/vector/cons/89164_c++17.cc: Likewise. | |
| 2024-10-18 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_algobase.h (__niter_base, __niter_wrap): Move | |
| to ... | |
| * include/bits/stl_iterator.h: ... here. | |
| (__niter_base, __miter_base): Move all overloads to the end of | |
| the header. | |
| * testsuite/24_iterators/normal_iterator/wrapping.cc: New test. | |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> | |
| * python/libstdcxx/v6/printers.py (strip_fundts_namespace): New. | |
| (StdExpAnyPrinter, StdExpOptionalPrinter): Use it. | |
| 2024-10-15 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/106676 | |
| * include/bits/iterator_concepts.h (__cpp17_fwd_iterator): Use | |
| is_reference instead of is_value_reference. | |
| rvalue references. | |
| * include/std/ranges (transform_view:__iter_cat::_S_iter_cat): | |
| Likewise. | |
| (zip_transform_view::__iter_cat::_S_iter_cat): Likewise. | |
| (adjacent_transform_view::__iter_cat::_S_iter_cat): Likewise. | |
| (join_with_view::__iter_cat::_S_iter_cat): Likewise. | |
| * testsuite/std/ranges/adaptors/transform.cc: Check | |
| iterator_category when the transformation function returns an | |
| rvalue reference type. | |
| 2024-10-14 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/ranges (transform_view:_Iterator): Use const F& | |
| to determine value_type and iterator_category of | |
| _Iterator<true>, as per LWG 3564. | |
| * testsuite/std/ranges/adaptors/transform.cc: Check value_type | |
| and iterator_category. | |
| 2024-10-14 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117135 | |
| * config/locale/generic/time_members.cc | |
| (__timepunct<wchar_t>::_M_initialize_timepunc): Set | |
| _M_date_time_format for C locale. Set %Ex formats to the same | |
| values as the %x formats. | |
| 2024-10-14 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/version.def (constrained_equality): Bump value. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/expected (operator==): Add constraints and | |
| noexcept specifiers. | |
| * testsuite/20_util/optional/relops/constrained.cc: Adjust | |
| check for feature test macro. | |
| * testsuite/20_util/pair/comparison_operators/constrained.cc: | |
| Likewise. | |
| * testsuite/20_util/tuple/comparison_operators/constrained.cc: | |
| Likewise. | |
| * testsuite/20_util/variant/relops/constrained.cc: Likewise. | |
| * testsuite/20_util/expected/equality_constrained.cc: New test. | |
| 2024-10-14 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117094 | |
| * include/bits/ranges_algobase.h (__fill_fn): Use std::move for | |
| iterator that might not be copyable. | |
| * testsuite/25_algorithms/fill/constrained.cc: Check | |
| non-copyable iterator with sized sentinel. | |
| 2024-10-14 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/93059 | |
| * include/bits/stl_algobase.h (__fill_a1(T*, T*, const T&)): | |
| Change template parameters and enable_if condition to allow the | |
| fill value to be an integer. | |
| 2024-10-14 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/93059 | |
| * include/bits/cpp_type_traits.h (__memcpyable): Add partial | |
| specialization for pointers to distinct types. | |
| (__memcpyable_integer): New trait to control which types can use | |
| cross-type memcpy optimizations. | |
| 2024-10-13 Sam James <sam@gentoo.org> | |
| * testsuite/17_intro/names_fortify.cc: Undefine _FORTIFY_SOURCE. | |
| 2024-10-13 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117121 | |
| * include/bits/ranges_algobase.h (copy_backward): Decrement | |
| output iterator before assigning one element through it. | |
| * testsuite/25_algorithms/copy/108846.cc: Ensure the algorithm's | |
| effects are correct for a single memcpyable element. | |
| * testsuite/25_algorithms/copy_backward/108846.cc: Likewise. | |
| * testsuite/25_algorithms/copy_n/108846.cc: Likewise. | |
| 2024-10-11 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_iterator.h (__niter_base(move_iterator<I>)) | |
| (__is_move_iterator, __miter_base, _GLIBCXX_MAKE_MOVE_ITERATOR) | |
| (_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR): Move earlier in the | |
| file. | |
| 2024-10-11 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/cpp_type_traits.h (__is_byte<byte>): Guard with | |
| __glibcxx_byte macro instead of checking __cplusplus. | |
| 2024-10-11 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/117085 | |
| * include/bits/chrono_io.h (__formatter_chrono::_M_c): Add L | |
| option to format string. | |
| * testsuite/std/time/format.cc: Move to... | |
| * testsuite/std/time/format/format.cc: ...here. | |
| * testsuite/std/time/format_localized.cc: Move to... | |
| * testsuite/std/time/format/localized.cc: ...here. | |
| * testsuite/std/time/format/pr117085.cc: New test. | |
| 2024-10-11 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/22_locale/time_get/get/char/5.cc: Fix dg-do | |
| directive. | |
| * testsuite/22_locale/time_get/get/wchar_t/5.cc: Likewise. | |
| 2024-10-11 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/20_util/duration/io.cc [!__cpp_lib_char8_t]: Define | |
| char8_t as a typedef for unsigned char. | |
| * testsuite/std/format/parse_ctx_neg.cc: Skip for -fno-char8_t. | |
| 2024-10-09 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116210 | |
| * testsuite/17_intro/names.cc (sz): Undef for versions of Glibc | |
| that use it in the fortify wrappers. | |
| * testsuite/17_intro/names_fortify.cc: New test. | |
| 2024-10-09 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116969 | |
| * include/bits/locale_facets_nonio.tcc (money_put::__do_put): | |
| Remove diagnostic pragmas. | |
| (__glibcxx_snprintfibm128): Declare type manually, instead of | |
| using __typeof__(__builtin_snprintf). | |
| 2024-10-09 Frank Scheiner <frank.scheiner@web.de> | |
| * testsuite/17_intro/names.cc [__linux__ && __ia64__]: Undefine | |
| 'u' as used in glibc headers. | |
| 2024-10-09 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116992 | |
| * include/bits/semaphore_base.h (_GLIBCXX_USE_POSIX_SEMAPHORE): | |
| Undefine and issue a warning if POSIX sem_t is not supported. | |
| * testsuite/30_threads/semaphore/platform_try_acquire_for.cc: | |
| Prune new warning. | |
| 2024-10-09 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116991 | |
| * include/std/complex (__complex_acos): Cast literal to | |
| destination type. | |
| 2024-10-09 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/latch (latch::count_down): Add assertions for | |
| preconditions. Cast parameter to avoid -Wsign-compare on some | |
| targets. | |
| 2024-10-09 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/112808 | |
| * doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document | |
| implicit definition for -O0 compilation. | |
| (_GLIBCXX_NO_ASSERTIONS): Document. | |
| * doc/html/manual/using_macros.html: Regenerate. | |
| * include/bits/c++config [!__OPTIMIZE__] (_GLIBCXX_ASSERTIONS): | |
| Define for unoptimized builds. | |
| 2024-10-09 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/61458 | |
| * doc/doxygen/user.cfg.in (GENERATE_BUGLIST): Set to NO. | |
| * include/std/type_traits (__aligned_storage_msa): Remove. | |
| (__aligned_storage_max_align_t): New struct. | |
| (__aligned_storage_default_alignment): New function. | |
| (aligned_storage): Use __aligned_storage_default_alignment for | |
| default alignment. Replace union with a struct containing an | |
| aligned buffer. Improve Doxygen comment. | |
| (aligned_storage_t): Use __aligned_storage_default_alignment for | |
| default alignment. | |
| 2024-10-09 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/shared_ptr_base.h: Remove cv-qualifiers from | |
| type managed by _Sp_counted_ptr_inplace, as per LWG 3210. | |
| * include/bits/stl_construct.h: Do not cast away cv-qualifiers | |
| when passing pointer to placement new. | |
| * include/std/expected: Use remove_cv_t for union member, as per | |
| LWG 3891. | |
| * testsuite/20_util/allocator/void.cc: Do not test construction | |
| via const pointer. | |
| 2024-10-09 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_construct.h (construct_at): Support array | |
| types (LWG 3436). | |
| * testsuite/20_util/specialized_algorithms/construct_at/array.cc: | |
| New test. | |
| * testsuite/20_util/specialized_algorithms/construct_at/array_neg.cc: | |
| New test. | |
| 2024-10-09 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/chrono_io.h (__formatter_chrono::_M_c): Add | |
| [[unlikely]] attribute to condition for missing %c format in | |
| locale. Use %T instead of %H:%M:%S in fallback. | |
| 2024-10-09 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116755 | |
| * include/bits/chrono_io.h (operator<<): Use +d.count() for | |
| duration inserter. | |
| (__formatter_chrono::_M_format): Likewise for %Q format. | |
| * testsuite/20_util/duration/io.cc: Test durations with | |
| character types as reps. | |
| 2024-10-08 Jakub Jelinek <jakub@redhat.com> | |
| * include/bits/unicode.h (std::__unicode::__v15_1_0): Rename inline | |
| namespace to ... | |
| (std::__unicode::__v16_0_0): ... this. | |
| (_GLIBCXX_GET_UNICODE_DATA): Change from 150100 to 160000. | |
| * include/bits/unicode-data.h: Regenerated. | |
| * testsuite/ext/unicode/properties.cc: Check for _Gcb_SpacingMark | |
| on U+11F03 rather than U+1D16D as the latter lost SpacingMark property | |
| in Unicode 16.0. | |
| 2024-10-05 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | |
| * include/bits/version.def: Added the feature-testing macro. | |
| * include/bits/version.h: Regenerated. | |
| * include/std/type_traits: Add support for | |
| std::is_virtual_base_of and std::is_virtual_base_of_v, | |
| implemented in terms of the compiler builtin. | |
| * testsuite/20_util/is_virtual_base_of/value.cc: New test. | |
| 2024-10-05 Patrick Palka <ppalka@redhat.com> | |
| * include/bits/ranges_base.h (__distance_fn::operator()): | |
| Adjust iterator/sentinel overloads as per LWG 3664. | |
| * testsuite/24_iterators/range_operations/distance.cc: | |
| Test LWG 3664 example. | |
| 2024-10-04 Patrick Palka <ppalka@redhat.com> | |
| * include/std/ranges (single_view::empty): Define as per LWG 4035. | |
| (iota_view::empty): Define as per LWG 4001. | |
| (lazy_split_view::_OuterIter::value_type): Remove default | |
| constructor and make other constructor private as per LWG 4013. | |
| (common_view::begin): Disable non-const overload for simple | |
| views as per LWG 4012. | |
| (common_view::end): Likewise. | |
| (adjacent_view::base): Define as per LWG 3848. | |
| (adjacent_transform_view::base): Likewise. | |
| (chunk_view::_InnerIter::iter_move): Define as per LWG 3851. | |
| (chunk_view::_InnerIter::itep_swap): Likewise. | |
| (slide_view::base): Define as per LWG 3848. | |
| (repeat_view): Adjust deduction guide as per LWG 4053. | |
| (_Repeat::operator()): Adjust single-parameter overload as per | |
| LWG 4054. | |
| * testsuite/std/ranges/adaptors/adjacent/1.cc: Verify existence | |
| of base member function. | |
| * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Likewise. | |
| * testsuite/std/ranges/adaptors/chunk/1.cc: Test LWG 3851 example. | |
| * testsuite/std/ranges/adaptors/slide/1.cc: Verify existence of | |
| base member function. | |
| * testsuite/std/ranges/iota/iota_view.cc: Test LWG 4001 example. | |
| * testsuite/std/ranges/repeat/1.cc: Test LWG 4053/4054 examples. | |
| 2024-10-04 Jonathan Wakely <jwakely@redhat.com> | |
| * include/parallel/algobase.h (search): Use sequential algorithm | |
| for constant evaluation. | |
| * include/parallel/algorithmfwd.h (search): Add | |
| _GLIBCXX20_CONSTEXPR. | |
| * include/parallel/multiway_merge.h: Remove stray semi-colon. | |
| * include/parallel/multiseq_selection.h: Add diagnostic pragmas | |
| for -Wlong-long warning. | |
| * include/parallel/quicksort.h: Likewise. | |
| * include/parallel/random_number.h: Likewise. | |
| * include/parallel/settings.h: Likewise. | |
| * include/parallel/workstealing.h: Replace ++ and -- on volatile | |
| variables. | |
| * testsuite/17_intro/names.cc: Skip names defined by | |
| <tr1/random>. | |
| * testsuite/20_util/pair/dangling_ref.cc: Skip test if Parallel | |
| Mode is enabled. | |
| * testsuite/20_util/tuple/dangling_ref.cc: Likewise. | |
| 2024-10-04 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116964 | |
| * include/std/shared_mutex (__shared_mutex_cv): Use [this] for | |
| lambda captures. | |
| (shared_timed_mutex) [!_GLIBCXX_USE_PTHREAD_RWLOCK_T]: Likewise. | |
| 2024-10-03 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/unicode.h (__unicode::__is_incb_linker): Use | |
| _GLIBCXX_STD_A namespace for std::find. | |
| 2024-10-03 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116944 | |
| * include/parallel/base.h: Move diagnostic pragmas earlier. | |
| 2024-10-03 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/locale_facets_nonio.tcc (money_put::__do_get): | |
| Ignore -Wformat warning for __ibm128 arguments. | |
| * include/tr1/tuple (ignore): Ignore -Wunused warning. | |
| 2024-10-03 François Dumont <fdumont@gcc.gnu.org> | |
| * include/bits/hashtable_policy.h (_NodeBuilder<>::_S_build): Remove | |
| const qualification on _NodeGenerator instance. | |
| (_ReuseOrAllocNode<>::operator()(_Args&&...)): Remove const qualification. | |
| (_ReuseOrAllocNode<>::_M_nodes): Remove mutable. | |
| (_Insert_base<>::_M_insert_range): Remove _NodeGetter const qualification. | |
| (_Hash_code_base<>::_M_bucket_index(const _Hash_node_value<>&, size_t)): | |
| Simplify noexcept declaration, we already static_assert that _RangeHash functor | |
| is noexcept. | |
| * include/bits/hashtable.h: Rework comments. Remove const qualifier on | |
| _NodeGenerator& arguments. | |
| 2024-10-02 Jonathan Wakely <jwakely@redhat.com> | |
| * config/locale/dragonfly/time_members.cc | |
| (__timepunct<char>::_M_initialize_timepunc) | |
| (__timepunct<wchar_t>::_M_initialize_timepunc): Set | |
| _M_date_time_format for C locale. Set %Ex formats to the same | |
| values as the %x formats. | |
| * config/locale/generic/time_members.cc: Likewise. | |
| * config/locale/gnu/time_members.cc: Likewise. | |
| * testsuite/22_locale/time_get/get/char/5.cc: New test. | |
| * testsuite/22_locale/time_get/get/wchar_t/5.cc: New test. | |
| 2024-10-02 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/chrono_io.h (__detail::__use_floor): New | |
| function. | |
| (__detail::__round): New function. | |
| (from_stream): Use __detail::__round. | |
| * testsuite/std/time/clock/file/io.cc: Check for expected | |
| rounding in parse. | |
| * testsuite/std/time/clock/gps/io.cc: Likewise. | |
| 2024-10-02 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/postypes.h: Fix -Wlong-long warning. | |
| 2024-10-01 Hans-Peter Nilsson <hp@axis.com> | |
| PR libstdc++/116895 | |
| * config/os/newlib/ctype_base.h: Avoid signed-overflow warnings by | |
| explicitly casting initializer expressions to mask. | |
| 2024-09-27 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/istream.tcc: Add diagnostic pragmas around uses | |
| of long long and extern template. | |
| * include/bits/locale_facets.h: Likewise. | |
| * include/bits/locale_facets.tcc: Likewise. | |
| * include/bits/locale_facets_nonio.tcc: Likewise. | |
| * include/bits/ostream.tcc: Likewise. | |
| * include/bits/stl_algobase.h: Likewise. | |
| * include/c_global/cstdlib: Likewise. | |
| * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp: | |
| Likewise. | |
| * include/ext/pointer.h: Likewise. | |
| * include/ext/stdio_sync_filebuf.h: Likewise. | |
| * include/std/istream: Likewise. | |
| * include/std/ostream: Likewise. | |
| * include/tr1/cmath: Likewise. | |
| * include/tr1/type_traits: Likewise. | |
| * include/tr1/functional_hash.h: Likewise. Remove semi-colons | |
| at namespace scope that aren't needed after macro expansion. | |
| * include/tr1/tuple: Remove semi-colon at namespace scope. | |
| * include/bits/vector.tcc: Change LL suffix to just L. | |
| 2024-09-27 Jonathan Wakely <jwakely@redhat.com> | |
| * include/experimental/bits/fs_path.h (path::_Cvt): Refactor to | |
| use if-constexpr. | |
| (path::string(const Allocator&)): Likewise. | |
| 2024-09-27 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/basic_string.tcc (resize_for_overwrite): Fix | |
| -Wsign-compare warning. | |
| * include/bits/cow_string.h (resize_for_overwrite): Likewise. | |
| 2024-09-27 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/20_util/bind/dangling_ref.cc: Add an additional | |
| dg-warning for -Wreturn-local-addr warning. | |
| * testsuite/30_threads/packaged_task/cons/dangling_ref.cc: | |
| Likewise. | |
| 2024-09-27 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/atomic_base.h (__atomic_base<T*>::_M_type_size): | |
| Replace overloaded functions with static _S_type_size. | |
| * include/std/atomic (atomic<T*>): Use is_object_v instead of | |
| is_object. | |
| * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: | |
| Add dg-warning for -Wpointer-arith warning. | |
| 2024-09-26 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/cow_string.h (__resize_for_overwrite): Add | |
| inline keyword to function with always_inline attribute. | |
| 2024-09-26 Nathaniel Shead <nathanieloshead@gmail.com> | |
| PR libstdc++/115126 | |
| * include/bits/shared_ptr.h (std::__is_shared_ptr): Remove | |
| unnecessary 'static'. | |
| * include/bits/unique_ptr.h (std::__is_unique_ptr): Likewise. | |
| * include/std/future (std::__create_task_state): Likewise. | |
| * include/std/shared_mutex (_GLIBCXX_GTRHW): Likewise. | |
| (__glibcxx_rwlock_init): Likewise. | |
| (__glibcxx_rwlock_timedrdlock): Likewise. | |
| (__glibcxx_rwlock_timedwrlock): Likewise. | |
| (__glibcxx_rwlock_rdlock): Likewise. | |
| (__glibcxx_rwlock_tryrdlock): Likewise. | |
| (__glibcxx_rwlock_wrlock): Likewise. | |
| (__glibcxx_rwlock_trywrlock): Likewise. | |
| (__glibcxx_rwlock_unlock): Likewise. | |
| (__glibcxx_rwlock_destroy): Likewise. | |
| (__glibcxx_rwlock_init): Likewise. | |
| * include/pstl/algorithm_impl.h | |
| (__pstl::__internal::__set_algo_cut_off): Mark inline. | |
| * include/pstl/unseq_backend_simd.h | |
| (__pstl::__unseq_backend::__lane_size): Mark inline. | |
| 2024-09-26 Jakub Jelinek <jakub@redhat.com> | |
| PR libstdc++/116859 | |
| * config/os/bsd/freebsd/os_defines.h | |
| (_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC, | |
| _GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): Avoid | |
| -Wexpansion-to-defined warnings. | |
| * config/os/bsd/dragonfly/os_defines.h | |
| (_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Likewise. | |
| 2024-09-26 Jonathan Wakely <jwakely@redhat.com> | |
| Andrew Waterman <andrew@sifive.com> | |
| PR libstdc++/113578 | |
| * include/std/ostream (_S_cast_flt): New static member function | |
| to restore signbit after casting to double or long double. | |
| (operator<<(float), operator<<(_Float16), operator<<(_Float32)) | |
| (operator<<(_Float64), operator(_Float128)) | |
| (operator<<(__bfloat16_t)): Use _S_cast_flt. | |
| testsuite/27_io/basic_ostream/inserters_arithmetic/lwg4101.cc: | |
| New test. | |
| * testsuite/27_io/basic_ostream/inserters_arithmetic/lwg4101.cc: New file. | |
| 2024-09-26 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/27_io/basic_istringstream/cons/2020.cc: Fix comment | |
| referring to basic_filebuf. | |
| * testsuite/27_io/basic_istringstream/requirements/base_classes.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise. | |
| * testsuite/27_io/basic_ostringstream/requirements/base_classes.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise. | |
| * testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/2.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/4.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise. | |
| * testsuite/27_io/basic_stringstream/requirements/base_classes.cc: | |
| Likewise. | |
| 2024-09-26 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/basic_ios.h (basic_ios::operator bool()): | |
| Add [[nodiscard]] attribute. | |
| (basic_ios::operator!(), basic_ios::rdstate()) | |
| (basic_ios::good(), basic_ios::eof(), basic_ios::fail()) | |
| (basic_ios::bad(), basic_ios::exceptions(), basic_ios::tie()) | |
| (basic_ios::rdbuf(), basic_ios::fill()): Likewise. | |
| * include/bits/ios_base.h (ios_base::flags()): Likewise. | |
| (ios_base::precision(), ios_base::width(), ios_base::getloc()): | |
| Likewise. | |
| * include/std/fstream (basic_filebuf::is_open) | |
| (basic_ifstream::rdbuf(), basic_ifstream::is_open) | |
| (basic_ofstream::rdbuf(), basic_ofstream::is_open) | |
| (basic_fstream::rdbuf(), basic_fstream::is_open): Likewise. | |
| * include/std/spanstream (basic_spanbuf::span()) | |
| (basic_ispanstream::span(), basic_ispanstream::rdbuf()) | |
| (basic_ospanstream::span(), basic_ospanstream::rdbuf()) | |
| (basic_spanstream::span(), basic_spanstream::rdbuf()): | |
| Likewise. | |
| * include/std/sstream (basic_stringbuf::str()) | |
| (basic_istringstream::rdbuf(), basic_istringstream::str()) | |
| (basic_ostringstream::rdbuf(), basic_ostringstream::str()) | |
| (basic_stringstream::rdbuf(), basic_stringstream::str()): | |
| Likewise. | |
| * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: | |
| Suppress -Wunused-result warnings. | |
| * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc: | |
| Likewise. | |
| 2024-09-26 Iain Sandoe <iain@sandoe.co.uk> | |
| PR libstdc++/116853 | |
| * include/bits/basic_string.h: Ignore suggest-attribute=format | |
| warning when using posix vsnprintf in to_string() implementations. | |
| 2024-09-26 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): | |
| Do not assume allocators only throw std::bad_alloc. | |
| 2024-09-26 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116857 | |
| * libsupc++/guard.cc (__cxa_guard_acquire): Remove | |
| _GLIBCXX_NOTHROW to match declaration in <cxxabi.h>. | |
| 2024-09-25 Sam James <sam@gentoo.org> | |
| PR libstdc++/101831 | |
| * testsuite/23_containers/array/capacity/empty.cc: Add missing brace. | |
| * testsuite/23_containers/array/capacity/max_size.cc: Ditto. | |
| * testsuite/23_containers/array/capacity/size.cc: Ditto. | |
| 2024-09-25 Jason Merrill <jason@redhat.com> | |
| * acinclude.m4 (WARN_FLAGS): Remove -Wsystem-headers. | |
| * configure: Regenerate. | |
| * include/bits/algorithmfwd.h: #ifdef out #pragma GCC system_header. | |
| * include/bits/atomic_base.h | |
| * include/bits/atomic_futex.h | |
| * include/bits/atomic_timed_wait.h | |
| * include/bits/atomic_wait.h | |
| * include/bits/basic_ios.h | |
| * include/bits/basic_string.h | |
| * include/bits/boost_concept_check.h | |
| * include/bits/char_traits.h | |
| * include/bits/charconv.h | |
| * include/bits/chrono.h | |
| * include/bits/chrono_io.h | |
| * include/bits/codecvt.h | |
| * include/bits/concept_check.h | |
| * include/bits/cpp_type_traits.h | |
| * include/bits/elements_of.h | |
| * include/bits/enable_special_members.h | |
| * include/bits/erase_if.h | |
| * include/bits/forward_list.h | |
| * include/bits/functional_hash.h | |
| * include/bits/gslice.h | |
| * include/bits/gslice_array.h | |
| * include/bits/hashtable.h | |
| * include/bits/indirect_array.h | |
| * include/bits/invoke.h | |
| * include/bits/ios_base.h | |
| * include/bits/iterator_concepts.h | |
| * include/bits/locale_classes.h | |
| * include/bits/locale_facets.h | |
| * include/bits/locale_facets_nonio.h | |
| * include/bits/localefwd.h | |
| * include/bits/mask_array.h | |
| * include/bits/max_size_type.h | |
| * include/bits/memory_resource.h | |
| * include/bits/memoryfwd.h | |
| * include/bits/move_only_function.h | |
| * include/bits/node_handle.h | |
| * include/bits/ostream_insert.h | |
| * include/bits/out_ptr.h | |
| * include/bits/parse_numbers.h | |
| * include/bits/postypes.h | |
| * include/bits/quoted_string.h | |
| * include/bits/range_access.h | |
| * include/bits/ranges_base.h | |
| * include/bits/refwrap.h | |
| * include/bits/sat_arith.h | |
| * include/bits/semaphore_base.h | |
| * include/bits/slice_array.h | |
| * include/bits/std_abs.h | |
| * include/bits/std_function.h | |
| * include/bits/std_mutex.h | |
| * include/bits/std_thread.h | |
| * include/bits/stl_iterator_base_funcs.h | |
| * include/bits/stl_iterator_base_types.h | |
| * include/bits/stl_tree.h | |
| * include/bits/stream_iterator.h | |
| * include/bits/streambuf_iterator.h | |
| * include/bits/stringfwd.h | |
| * include/bits/this_thread_sleep.h | |
| * include/bits/unique_lock.h | |
| * include/bits/uses_allocator_args.h | |
| * include/bits/utility.h | |
| * include/bits/valarray_after.h | |
| * include/bits/valarray_array.h | |
| * include/bits/valarray_before.h | |
| * include/bits/version.h | |
| * include/c_compatibility/fenv.h | |
| * include/c_compatibility/inttypes.h | |
| * include/c_compatibility/stdint.h | |
| * include/decimal/decimal.h | |
| * include/experimental/bits/net.h | |
| * include/experimental/bits/shared_ptr.h | |
| * include/ext/aligned_buffer.h | |
| * include/ext/alloc_traits.h | |
| * include/ext/atomicity.h | |
| * include/ext/concurrence.h | |
| * include/ext/numeric_traits.h | |
| * include/ext/pod_char_traits.h | |
| * include/ext/pointer.h | |
| * include/ext/stdio_filebuf.h | |
| * include/ext/stdio_sync_filebuf.h | |
| * include/ext/string_conversions.h | |
| * include/ext/type_traits.h | |
| * include/ext/vstring.h | |
| * include/ext/vstring_fwd.h | |
| * include/ext/vstring_util.h | |
| * include/parallel/algorithmfwd.h | |
| * include/parallel/numericfwd.h | |
| * include/tr1/functional_hash.h | |
| * include/tr1/hashtable.h | |
| * include/tr1/random.h | |
| * libsupc++/exception.h | |
| * libsupc++/hash_bytes.h | |
| * include/bits/basic_ios.tcc | |
| * include/bits/basic_string.tcc | |
| * include/bits/fstream.tcc | |
| * include/bits/istream.tcc | |
| * include/bits/locale_classes.tcc | |
| * include/bits/locale_facets.tcc | |
| * include/bits/locale_facets_nonio.tcc | |
| * include/bits/ostream.tcc | |
| * include/bits/sstream.tcc | |
| * include/bits/streambuf.tcc | |
| * include/bits/string_view.tcc | |
| * include/bits/version.tpl | |
| * include/experimental/bits/string_view.tcc | |
| * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp | |
| * include/ext/random.tcc | |
| * include/ext/vstring.tcc | |
| * include/tr2/bool_set.tcc | |
| * include/tr2/dynamic_bitset.tcc | |
| * include/bits/c++config | |
| * include/c/cassert | |
| * include/c/cctype | |
| * include/c/cerrno | |
| * include/c/cfloat | |
| * include/c/ciso646 | |
| * include/c/climits | |
| * include/c/clocale | |
| * include/c/cmath | |
| * include/c/csetjmp | |
| * include/c/csignal | |
| * include/c/cstdarg | |
| * include/c/cstddef | |
| * include/c/cstdio | |
| * include/c/cstdlib | |
| * include/c/cstring | |
| * include/c/ctime | |
| * include/c/cuchar | |
| * include/c/cwchar | |
| * include/c/cwctype | |
| * include/c_global/cassert | |
| * include/c_global/ccomplex | |
| * include/c_global/cctype | |
| * include/c_global/cerrno | |
| * include/c_global/cfenv | |
| * include/c_global/cfloat | |
| * include/c_global/cinttypes | |
| * include/c_global/ciso646 | |
| * include/c_global/climits | |
| * include/c_global/clocale | |
| * include/c_global/cmath | |
| * include/c_global/csetjmp | |
| * include/c_global/csignal | |
| * include/c_global/cstdalign | |
| * include/c_global/cstdarg | |
| * include/c_global/cstdbool | |
| * include/c_global/cstddef | |
| * include/c_global/cstdint | |
| * include/c_global/cstdio | |
| * include/c_global/cstdlib | |
| * include/c_global/cstring | |
| * include/c_global/ctgmath | |
| * include/c_global/ctime | |
| * include/c_global/cuchar | |
| * include/c_global/cwchar | |
| * include/c_global/cwctype | |
| * include/c_std/cassert | |
| * include/c_std/cctype | |
| * include/c_std/cerrno | |
| * include/c_std/cfloat | |
| * include/c_std/ciso646 | |
| * include/c_std/climits | |
| * include/c_std/clocale | |
| * include/c_std/cmath | |
| * include/c_std/csetjmp | |
| * include/c_std/csignal | |
| * include/c_std/cstdarg | |
| * include/c_std/cstddef | |
| * include/c_std/cstdio | |
| * include/c_std/cstdlib | |
| * include/c_std/cstring | |
| * include/c_std/ctime | |
| * include/c_std/cuchar | |
| * include/c_std/cwchar | |
| * include/c_std/cwctype | |
| * include/debug/array | |
| * include/debug/bitset | |
| * include/debug/deque | |
| * include/debug/forward_list | |
| * include/debug/list | |
| * include/debug/map | |
| * include/debug/set | |
| * include/debug/string | |
| * include/debug/unordered_map | |
| * include/debug/unordered_set | |
| * include/debug/vector | |
| * include/decimal/decimal | |
| * include/experimental/algorithm | |
| * include/experimental/any | |
| * include/experimental/array | |
| * include/experimental/buffer | |
| * include/experimental/chrono | |
| * include/experimental/contract | |
| * include/experimental/deque | |
| * include/experimental/executor | |
| * include/experimental/filesystem | |
| * include/experimental/forward_list | |
| * include/experimental/functional | |
| * include/experimental/internet | |
| * include/experimental/io_context | |
| * include/experimental/iterator | |
| * include/experimental/list | |
| * include/experimental/map | |
| * include/experimental/memory | |
| * include/experimental/memory_resource | |
| * include/experimental/net | |
| * include/experimental/netfwd | |
| * include/experimental/numeric | |
| * include/experimental/propagate_const | |
| * include/experimental/ratio | |
| * include/experimental/regex | |
| * include/experimental/scope | |
| * include/experimental/set | |
| * include/experimental/socket | |
| * include/experimental/string | |
| * include/experimental/string_view | |
| * include/experimental/synchronized_value | |
| * include/experimental/system_error | |
| * include/experimental/timer | |
| * include/experimental/tuple | |
| * include/experimental/type_traits | |
| * include/experimental/unordered_map | |
| * include/experimental/unordered_set | |
| * include/experimental/vector | |
| * include/ext/algorithm | |
| * include/ext/cmath | |
| * include/ext/functional | |
| * include/ext/iterator | |
| * include/ext/memory | |
| * include/ext/numeric | |
| * include/ext/random | |
| * include/ext/rb_tree | |
| * include/ext/rope | |
| * include/parallel/algorithm | |
| * include/std/algorithm | |
| * include/std/any | |
| * include/std/array | |
| * include/std/atomic | |
| * include/std/barrier | |
| * include/std/bit | |
| * include/std/bitset | |
| * include/std/charconv | |
| * include/std/chrono | |
| * include/std/codecvt | |
| * include/std/complex | |
| * include/std/concepts | |
| * include/std/condition_variable | |
| * include/std/coroutine | |
| * include/std/deque | |
| * include/std/execution | |
| * include/std/expected | |
| * include/std/filesystem | |
| * include/std/format | |
| * include/std/forward_list | |
| * include/std/fstream | |
| * include/std/functional | |
| * include/std/future | |
| * include/std/generator | |
| * include/std/iomanip | |
| * include/std/ios | |
| * include/std/iosfwd | |
| * include/std/iostream | |
| * include/std/istream | |
| * include/std/iterator | |
| * include/std/latch | |
| * include/std/limits | |
| * include/std/list | |
| * include/std/locale | |
| * include/std/map | |
| * include/std/memory | |
| * include/std/memory_resource | |
| * include/std/mutex | |
| * include/std/numbers | |
| * include/std/numeric | |
| * include/std/optional | |
| * include/std/ostream | |
| * include/std/print | |
| * include/std/queue | |
| * include/std/random | |
| * include/std/ranges | |
| * include/std/ratio | |
| * include/std/regex | |
| * include/std/scoped_allocator | |
| * include/std/semaphore | |
| * include/std/set | |
| * include/std/shared_mutex | |
| * include/std/span | |
| * include/std/spanstream | |
| * include/std/sstream | |
| * include/std/stack | |
| * include/std/stacktrace | |
| * include/std/stdexcept | |
| * include/std/streambuf | |
| * include/std/string | |
| * include/std/string_view | |
| * include/std/syncstream | |
| * include/std/system_error | |
| * include/std/text_encoding | |
| * include/std/thread | |
| * include/std/tuple | |
| * include/std/type_traits | |
| * include/std/typeindex | |
| * include/std/unordered_map | |
| * include/std/unordered_set | |
| * include/std/utility | |
| * include/std/valarray | |
| * include/std/variant | |
| * include/std/vector | |
| * include/std/version | |
| * include/tr1/array | |
| * include/tr1/cfenv | |
| * include/tr1/cinttypes | |
| * include/tr1/cmath | |
| * include/tr1/complex | |
| * include/tr1/cstdbool | |
| * include/tr1/cstdint | |
| * include/tr1/cstdio | |
| * include/tr1/cstdlib | |
| * include/tr1/cwchar | |
| * include/tr1/cwctype | |
| * include/tr1/functional | |
| * include/tr1/memory | |
| * include/tr1/random | |
| * include/tr1/regex | |
| * include/tr1/tuple | |
| * include/tr1/type_traits | |
| * include/tr1/unordered_map | |
| * include/tr1/unordered_set | |
| * include/tr1/utility | |
| * include/tr2/bool_set | |
| * include/tr2/dynamic_bitset | |
| * include/tr2/type_traits | |
| * libsupc++/atomic_lockfree_defines.h | |
| * libsupc++/compare | |
| * libsupc++/cxxabi.h | |
| * libsupc++/cxxabi_forced.h | |
| * libsupc++/cxxabi_init_exception.h | |
| * libsupc++/exception | |
| * libsupc++/initializer_list | |
| * libsupc++/new | |
| * libsupc++/typeinfo: Likewise. | |
| * testsuite/20_util/ratio/operations/ops_overflow_neg.cc | |
| * testsuite/23_containers/array/tuple_interface/get_neg.cc | |
| * testsuite/23_containers/vector/cons/destructible_debug_neg.cc | |
| * testsuite/24_iterators/operations/prev_neg.cc | |
| * testsuite/ext/type_traits/add_unsigned_floating_neg.cc | |
| * testsuite/ext/type_traits/add_unsigned_integer_neg.cc | |
| * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc | |
| * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Adjust | |
| line numbers. | |
| 2024-09-25 Jason Merrill <jason@redhat.com> | |
| * include/parallel/base.h: Suppress -Wdeprecated-declarations. | |
| * include/parallel/multiseq_selection.h: Likewise. | |
| 2024-09-24 Nathaniel Shead <nathanieloshead@gmail.com> | |
| * include/std/format: Remove unnecessary 'static'. | |
| 2024-09-23 Jason Merrill <jason@redhat.com> | |
| * include/bits/c++config: Don't try to disable -Wc++??-extensions | |
| when compiling as C. | |
| 2024-09-23 Jason Merrill <jason@redhat.com> | |
| * libsupc++/new: Add _GLIBCXX_TXN_SAFE. | |
| 2024-09-22 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/format (__format::__is_formattable_integer): New | |
| variable template and specializations. | |
| (template<integral, __char> struct formatter): Replace | |
| constraints on first arg with __is_formattable_integer. | |
| * testsuite/std/format/formatter/requirements.cc: Check that | |
| std::formatter specializations for char8_t and const int are | |
| disabled. | |
| 2024-09-22 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116754 | |
| * include/bits/ranges_algobase.h (__copy_or_move): Fix order of | |
| arguments to __memcpyable. | |
| 2024-09-22 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116755 | |
| * include/bits/chrono_io.h (formatter<duration<R,P>>::format): | |
| Cast negative integral durations to unsigned rep. | |
| * testsuite/20_util/duration/io.cc: Test the most negative | |
| integer durations. | |
| 2024-09-22 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_vector.h (operator<=>): Use constexpr | |
| instead of _GLIBCXX20_CONSTEXPR macro. | |
| 2024-09-22 Jonathan Wakely <jwakely@redhat.com> | |
| * libsupc++/exception_ptr.h (__exception_ptr::_M_safe_bool_dummy): | |
| Remove __attribute__((const)) from function returning void. | |
| 2024-09-22 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++11/cxx11-ios_failure.cc (__iosfail_type_info): Unhide | |
| the three-arg overload of __do_upcast. | |
| 2024-09-22 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/version.def: Sort C++26 entries alphabetically. | |
| * include/bits/version.h: Regenerate. | |
| 2024-09-22 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/iterator_concepts.h: Add projected_value_t. | |
| * include/bits/algorithmfwd.h: Add the default template | |
| parameter to the relevant forward declarations. | |
| * include/pstl/glue_algorithm_defs.h: Likewise. | |
| * include/bits/ranges_algo.h: Add the default template | |
| parameter to range-based algorithms. | |
| * include/bits/ranges_algobase.h: Likewise. | |
| * include/bits/ranges_util.h: Likewise. | |
| * include/bits/ranges_base.h: Add helper macros. | |
| * include/bits/stl_iterator_base_types.h: Add helper macro. | |
| * include/bits/version.def: Add the new feature-testing macro. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/algorithm: Pull the feature-testing macro. | |
| * include/std/ranges: Likewise. | |
| * include/std/deque: Pull the feature-testing macro, add | |
| the default for std::erase. | |
| * include/std/forward_list: Likewise. | |
| * include/std/list: Likewise. | |
| * include/std/string: Likewise. | |
| * include/std/vector: Likewise. | |
| * testsuite/23_containers/default_template_value.cc: New test. | |
| * testsuite/25_algorithms/default_template_value.cc: New test. | |
| 2024-09-21 Jason Merrill <jason@redhat.com> | |
| * include/c_compatibility/ctype.h | |
| * include/c_compatibility/errno.h | |
| * include/c_compatibility/float.h | |
| * include/c_compatibility/iso646.h | |
| * include/c_compatibility/limits.h | |
| * include/c_compatibility/locale.h | |
| * include/c_compatibility/setjmp.h | |
| * include/c_compatibility/signal.h | |
| * include/c_compatibility/stdarg.h | |
| * include/c_compatibility/stdbool.h | |
| * include/c_compatibility/stddef.h | |
| * include/c_compatibility/stdio.h | |
| * include/c_compatibility/string.h | |
| * include/c_compatibility/tgmath.h | |
| * include/c_compatibility/time.h | |
| * include/c_compatibility/uchar.h | |
| * include/c_compatibility/wchar.h | |
| * include/c_compatibility/wctype.h | |
| * include/c_global/ccomplex | |
| * include/c_global/cctype | |
| * include/c_global/cerrno | |
| * include/c_global/cfloat | |
| * include/c_global/climits | |
| * include/c_global/clocale | |
| * include/c_global/cmath | |
| * include/c_global/csetjmp | |
| * include/c_global/csignal | |
| * include/c_global/cstdalign | |
| * include/c_global/cstdarg | |
| * include/c_global/cstdbool | |
| * include/c_global/cstdio | |
| * include/c_global/cstdlib | |
| * include/c_global/cstring | |
| * include/c_global/ctgmath | |
| * include/c_global/ctime | |
| * include/c_global/cwchar | |
| * include/c_global/cwctype: Move header guard before #includes. | |
| 2024-09-20 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116529 | |
| * include/bits/unique_ptr.h (unique_ptr(auto_ptr<U>&&)): | |
| Use pointer instead of T*. | |
| * testsuite/20_util/unique_ptr/creation/116529.cc: New test. | |
| 2024-09-20 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116777 | |
| * doc/xml/manual/using.xml: Document features that are not | |
| supported for the gcc4-compatible ABI. | |
| * doc/html/manual/using_dual_abi.html: Regenerate. | |
| 2024-09-19 Jason Merrill <jason@redhat.com> | |
| * include/bits/algorithmfwd.h: | |
| * include/bits/allocator.h: | |
| * include/bits/codecvt.h: | |
| * include/bits/concept_check.h: | |
| * include/bits/cpp_type_traits.h: | |
| * include/bits/hashtable.h: | |
| * include/bits/iterator_concepts.h: | |
| * include/bits/ostream_insert.h: | |
| * include/bits/ranges_base.h: | |
| * include/bits/regex_automaton.h: | |
| * include/bits/std_abs.h: | |
| * include/bits/stl_algo.h: | |
| * include/c_compatibility/fenv.h: | |
| * include/c_compatibility/inttypes.h: | |
| * include/c_compatibility/stdint.h: | |
| * include/ext/concurrence.h: | |
| * include/ext/type_traits.h: | |
| * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: | |
| * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: | |
| * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: | |
| * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: | |
| * include/bits/basic_ios.tcc: | |
| * include/bits/basic_string.tcc: | |
| * include/bits/fstream.tcc: | |
| * include/bits/istream.tcc: | |
| * include/bits/locale_classes.tcc: | |
| * include/bits/locale_facets.tcc: | |
| * include/bits/ostream.tcc: | |
| * include/bits/regex_compiler.tcc: | |
| * include/bits/sstream.tcc: | |
| * include/bits/streambuf.tcc: | |
| * configure: Regenerate. | |
| * include/bits/c++config: | |
| * include/c/cassert: | |
| * include/c/cctype: | |
| * include/c/cerrno: | |
| * include/c/cfloat: | |
| * include/c/climits: | |
| * include/c/clocale: | |
| * include/c/cmath: | |
| * include/c/csetjmp: | |
| * include/c/csignal: | |
| * include/c/cstdarg: | |
| * include/c/cstddef: | |
| * include/c/cstdio: | |
| * include/c/cstdlib: | |
| * include/c/cstring: | |
| * include/c/ctime: | |
| * include/c/cwchar: | |
| * include/c/cwctype: | |
| * include/c_global/climits: | |
| * include/c_global/cmath: | |
| * include/c_global/cstddef: | |
| * include/c_global/cstdlib: | |
| * include/decimal/decimal: | |
| * include/ext/rope: | |
| * include/std/any: | |
| * include/std/charconv: | |
| * include/std/complex: | |
| * include/std/coroutine: | |
| * include/std/format: | |
| * include/std/iomanip: | |
| * include/std/limits: | |
| * include/std/numbers: | |
| * include/tr1/functional: | |
| * include/tr1/tuple: | |
| * include/tr1/type_traits: | |
| * libsupc++/compare: | |
| * libsupc++/new: Add #pragma GCC diagnostic to suppress | |
| undesired warnings. | |
| * acinclude.m4: Change -Wabi version from 2 to 19. | |
| 2024-09-18 Jason Merrill <jason@redhat.com> | |
| * include/bits/basic_ios.h: Add braces. | |
| 2024-09-16 Jonathan Wakely <jwakely@redhat.com> | |
| * .editorconfig: New file. | |
| * include/std/.editorconfig: New file. | |
| 2024-09-16 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/xml/manual/intro.xml: Update link to installation docs. | |
| * doc/html/manual/make.html: Regenerate. | |
| 2024-09-15 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/span (span::__iter_tag): Declare nested type. | |
| (span::iterator): Use __iter_tag as second template argument. | |
| * include/std/stacktrace (basic_stacktrace::iterator): Use _Impl | |
| as second template argument. | |
| 2024-09-15 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/using.xml (_GLIBCXX_NO_FREESTANDING_CHRONO): | |
| Document macro. | |
| * doc/html/*: Regenerate. | |
| * include/bits/chrono.h [_GLIBCXX_NO_FREESTANDING_CHRONO]: | |
| Only include <bits/require_hosted.h> when this macro is defined. | |
| [_GLIBCXX_HOSTED]: Only define clocks for hosted. | |
| * include/bits/version.def (chrono_udls): Remove hosted=yes. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/chrono [_GLIBCXX_HOSTED]: Only define clocks and | |
| time zone utilities for hosted. | |
| * testsuite/std/time/freestanding.cc: New test. | |
| 2024-09-15 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/locale_classes.h (__is_facet): New helper. | |
| * include/bits/locale_classes.tcc (locale::combine): Check that | |
| _Facet type is valid. | |
| 2024-09-15 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/110512 | |
| * include/pstl/execution_impl.h (__are_random_access_iterators): | |
| Recognize C++20 random access iterators, and use more efficient | |
| implementations. | |
| * testsuite/25_algorithms/pstl/110512.cc: New test. | |
| 2024-09-14 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/format (__formatter_fp::_M_localize): Add comments | |
| and micro-optimize string copy. | |
| 2024-09-14 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/semaphore_base.h (__platform_semaphore): Refactor | |
| loops to all use similar forms. | |
| (__platform_semaphore::_M_try_acquire_until): Use chrono::ceil | |
| to explicitly convert to __clock_t::time_point. | |
| * testsuite/30_threads/semaphore/try_acquire_for.cc: Check that | |
| using a very high resolution timeout compiles. | |
| * testsuite/30_threads/semaphore/platform_try_acquire_for.cc: | |
| New test. | |
| 2024-09-13 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | |
| PR libstdc++/108846 | |
| PR libstdc++/116471 | |
| * include/bits/ranges_algobase.h (__assign_one): New helper | |
| function. | |
| (__copy_or_move): Remove a spurious static_assert; use | |
| __assign_one for memcpyable ranges of length 1. | |
| (__copy_or_move_backward): Likewise. | |
| * testsuite/25_algorithms/copy/108846.cc: Extend to range-based | |
| algorithms, and cover both memcpyable and non-memcpyable | |
| cases. | |
| * testsuite/25_algorithms/copy_backward/108846.cc: Likewise. | |
| * testsuite/25_algorithms/copy_n/108846.cc: Likewise. | |
| * testsuite/25_algorithms/move/108846.cc: Likewise. | |
| * testsuite/25_algorithms/move_backward/108846.cc: Likewise. | |
| 2024-09-12 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/optional (__is_bool): Remove. | |
| 2024-09-12 Jonathan Wakely <jwakely@redhat.com> | |
| * libsupc++/new (launder): Add static_assert and remove deleted | |
| overloads. | |
| * testsuite/18_support/launder/requirements_neg.cc: Adjust | |
| expected diagnostics. | |
| 2024-09-11 Alex Coplan <alex.coplan@arm.com> | |
| PR libstdc++/116140 | |
| * include/bits/stl_algobase.h (std::__find_if): Add #pragma to | |
| request GCC to unroll the loop. | |
| 2024-09-10 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116159 | |
| * include/std/iostream (ios_base_library_init): Only define for | |
| ELF targets. | |
| * src/c++98/ios_init.cc (ios_base_library_init): Likewise. | |
| 2024-09-10 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116641 | |
| * include/bits/basic_string.h (operator=(basic_string&&)): Call | |
| _M_assign instead of assign. | |
| * testsuite/21_strings/basic_string/allocator/116641.cc: New | |
| test. | |
| 2024-09-10 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/18_support/new_nothrow.cc (THROW_BAD_ALLOC): Define | |
| macro to add exception specifications for C++98 mode. | |
| (NOEXCEPT): Expand to throw() for C++98 mode. | |
| * testsuite/26_numerics/headers/numeric/synopsis.cc (gcd, lcm): | |
| Add noexcept. | |
| 2024-09-06 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/chrono_io.h (from_stream): Fix conversions in | |
| overloads for gps_time and tai_time. | |
| * testsuite/std/time/clock/file/io.cc: Test round tripping using | |
| chrono::parse. Add additional std::format tests. | |
| * testsuite/std/time/clock/gps/io.cc: Likewise. | |
| * testsuite/std/time/clock/local/io.cc: Likewise. | |
| * testsuite/std/time/clock/tai/io.cc: Likewise. | |
| * testsuite/std/time/clock/utc/io.cc: Likewise. | |
| 2024-09-06 Jason Merrill <jason@redhat.com> | |
| * include/bits/regex_constants.h: Add __ to attribute. | |
| 2024-09-06 Jason Merrill <jason@redhat.com> | |
| * include/bits/c++config: Avoid redefining __GLIBCXX__. | |
| 2024-09-06 Jason Merrill <jason@redhat.com> | |
| PR c++/46457 | |
| PR c++/81665 | |
| * include/bits/regex_constants.h: Use flag_enum. | |
| 2024-09-06 Jason Merrill <jason@redhat.com> | |
| * include/bits/ios_base.h (_GLIBCXX_NOREPLACE_UNUSED): New. | |
| (_Ios_Openmode): Add unused attributes. | |
| * testsuite/27_io/ios_base/types/openmode/case_label.cc: Handle | |
| noreplace. | |
| 2024-09-03 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++17/fs_ops.cc (auto_win_file_handle): Add error_code& | |
| member and set it if CreateFileW or GetFileInformationByHandle | |
| fails. | |
| (fs::equiv_files) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Simplify | |
| control flow. | |
| (fs::hard_link_count) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Clear ec | |
| on success. | |
| * testsuite/27_io/filesystem/operations/hard_link_count.cc: | |
| Check error handling. | |
| 2024-09-03 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116549 | |
| * include/bits/stl_iterator.h (disable_sized_sentinel_for): | |
| Define specialization for two move_iterator types, as per LWG | |
| 3736. | |
| * testsuite/24_iterators/move_iterator/lwg3736.cc: New test. | |
| 2024-09-03 Jonathan Wakely <jwakely@redhat.com> | |
| * include/experimental/any (experimental::any::_Storage): Use | |
| array of unsigned char instead of deprecated | |
| std::aligned_storage. | |
| * include/std/any (any::_Storage): Likewise. | |
| * testsuite/20_util/any/layout.cc: New test. | |
| 2024-09-03 Dhruv Chawla <dhruvc@nvidia.com> | |
| * include/std/deque: Define macro | |
| __glibcxx_want_allocator_traits_is_always_equal. | |
| * include/std/forward_list: Likewise. | |
| * include/std/list: Likewise. | |
| * include/std/map: Likewise. | |
| * include/std/scoped_allocator: Likewise. | |
| * include/std/set: Likewise. | |
| * include/std/string: Likewise. | |
| * include/std/unordered_map: Likewise. | |
| * include/std/unordered_set: Likewise. | |
| * include/std/vector: Likewise. | |
| * testsuite/20_util/headers/memory/version.cc: New test. | |
| * testsuite/20_util/scoped_allocator/version.cc: Likewise. | |
| * testsuite/21_strings/headers/string/version.cc: Likewise. | |
| * testsuite/23_containers/deque/version.cc: Likewise. | |
| * testsuite/23_containers/forward_list/version.cc: Likewise. | |
| * testsuite/23_containers/list/version.cc: Likewise. | |
| * testsuite/23_containers/map/version.cc: Likewise. | |
| * testsuite/23_containers/set/version.cc: Likewise. | |
| * testsuite/23_containers/unordered_map/version.cc: Likewise. | |
| * testsuite/23_containers/unordered_set/version.cc: Likewise. | |
| * testsuite/23_containers/vector/version.cc: Likewise. | |
| 2024-09-02 Alexandre Oliva <oliva@adacore.com> | |
| * testsuite/30_threads/future/members/poll.cc: Factor out | |
| calibration, and run it unconditionally. Lower its | |
| strictness. Bump wait_until_*'s slowness factor. | |
| 2024-09-02 Alexandre Oliva <oliva@adacore.com> | |
| PR libstdc++/91486 | |
| * testsuite/30_threads/async/async.cc | |
| (test_pr91486_wait_for): Mark status as unused. | |
| (test_pr91486_wait_until): Likewise. Initialize epoch later. | |
| 2024-09-02 Andreas Schwab <schwab@suse.de> | |
| PR libstdc++/116513 | |
| * libsupc++/compare (_S_fp_bits) [__fmt == _M68k_80bit]: Shift | |
| padding out of exponent word. | |
| 2024-08-28 Jonathan Wakely <jwakely@redhat.com> | |
| * configure.ac: Fix check for O_NONBLOCK. | |
| * config.h.in: Regenerate. | |
| * configure: Regenerate. | |
| 2024-08-28 Jonathan Wakely <jwakely@redhat.com> | |
| * include/experimental/io_context: Remove name of unused | |
| parameter. | |
| * include/experimental/socket: Add [[maybe_unused]] attribute. | |
| 2024-08-28 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/format (format_parse_context::check_dynamic_spec): | |
| Add [[maybe_unused]] attribute and comment. | |
| 2024-08-28 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/ranges (to): Remove unused typedef. | |
| 2024-08-28 Kim Gräsman <kim.grasman@gmail.com> | |
| * config/cpu/aarch64/opt/ext/opt_random.h: Improve doxygen file | |
| docs. | |
| * config/cpu/i486/opt/ext/opt_random.h: Likewise. | |
| 2024-08-28 Kim Gräsman <kim.grasman@gmail.com> | |
| * include/bits/cpp_type_traits.h: Improve doxygen file docs. | |
| 2024-08-28 Jason Merrill <jason@redhat.com> | |
| * include/std/istream: Add cast to avoid -Wsign-compare. | |
| * include/std/stacktrace: Likewise. | |
| 2024-08-28 Jason Merrill <jason@redhat.com> | |
| * testsuite/20_util/default_delete/void_neg.cc: Fix regexp quoting. | |
| 2024-08-28 Jason Merrill <jason@redhat.com> | |
| * include/std/coroutine (coroutine_handle): Use nullptr instead of | |
| 0 as initializer for _M_fr_ptr. | |
| 2024-08-28 Jason Merrill <jason@redhat.com> | |
| * include/bits/stl_uninitialized.h (__uninitialized_move_copy): Add | |
| missing return. | |
| 2024-08-28 Jason Merrill <jason@redhat.com> | |
| * include/decimal/decimal.h (_DEFINE_DECIMAL_BINARY_OP_WITH_INT): | |
| Remove redundant semicolons. | |
| 2024-08-27 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115098 | |
| * python/libstdcxx/v6/printers.py (StdBitReferencePrinter): Add | |
| comment. | |
| * testsuite/libstdc++-prettyprinters/simple.cc: Do not default | |
| construct std::vector<bool>::reference. | |
| * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. | |
| 2024-08-23 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/documentation_hacking.xml: Update minimum | |
| Doxygen version. | |
| * doc/html/*: Regenerate. | |
| 2024-08-23 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/tuple: Do not include implementation details in | |
| Doxygen documentation. | |
| 2024-08-23 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/alloc_traits.h: Improve doxygen docs for | |
| allocator_traits specializations. | |
| * include/bits/memory_resource.h: Likewise. | |
| 2024-08-23 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/optional (__is_derived_from_optional): New | |
| concept. | |
| (operator<=>): Use __is_derived_from_optional. | |
| * testsuite/20_util/optional/relops/lwg3746.cc: New test. | |
| 2024-08-23 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/locale_classes.tcc (__try_use_facet): Also avoid | |
| dynamic_cast for const-qualified facet types. | |
| 2024-08-23 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/108619 | |
| * include/bits/alloc_traits.h (__allocator_traits_base): Add | |
| variable templates for detecting which allocator operations are | |
| supported. | |
| (allocator_traits): Use 'if constexpr' instead of dispatching to | |
| overloads constrained with enable_if. | |
| (allocator_traits<allocator<T>>::construct): Use Construct if | |
| construct_at is not supported. Use | |
| __is_nothrow_new_constructible for noexcept-specifier. | |
| (allocator_traits<allocator<void>>::construct): Use | |
| __is_nothrow_new_constructible for noexcept-specifier. | |
| * include/bits/new_allocator.h (construct): Likewise. | |
| * include/ext/malloc_allocator.h (construct): Likewise. | |
| * include/std/type_traits (__is_nothrow_new_constructible): New | |
| variable template. | |
| * testsuite/20_util/allocator/89510.cc: Adjust expected results. | |
| * testsuite/ext/malloc_allocator/89510.cc: Likewise. | |
| * testsuite/ext/new_allocator/89510.cc: Likewise. | |
| * testsuite/20_util/allocator_traits/members/108619.cc: New test. | |
| 2024-08-23 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): | |
| Ignore modifiers unless the formatting locale is not the C | |
| locale. | |
| (__formatter_chrono::_M_d_e): Likewise. | |
| (__formatter_chrono::_M_H_I): Likewise. | |
| (__formatter_chrono::_M_m): Likewise. | |
| (__formatter_chrono::_M_M): Likewise. | |
| (__formatter_chrono::_M_S): Likewise. | |
| (__formatter_chrono::_M_u_w): Likewise. | |
| (__formatter_chrono::_M_U_V_W): Likewise. | |
| 2024-08-23 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115939 | |
| * include/bits/hashtable_policy.h (_Node_iterator): Add | |
| operator== and operator!=. | |
| (_Node_const_iterator): Likewise. | |
| * testsuite/23_containers/unordered_map/115939.cc: New test. | |
| 2024-08-23 Giovanni Bajo <rasky@develer.com> | |
| Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/88935 | |
| * include/bits/stl_algo.h (random_shuffle) [RAND_MAX < INT_MAX]: | |
| Use xorshift instead of rand(). | |
| * testsuite/25_algorithms/random_shuffle/88935.cc: New test. | |
| 2024-08-23 Jonathan Wakely <jwakely@redhat.com> | |
| PR c++/116369 | |
| * include/debug/safe_base.h (_Safe_sequence_base::_M_iterators): | |
| Add mutable specifier. | |
| (_Safe_sequence_base::_M_const_iterators): Likewise. | |
| 2024-08-23 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++11/debug.cc: Replace throw() with noexcept. | |
| 2024-08-23 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/variant [C++20] (_Uninitialized): Always use the | |
| primary template. | |
| [C++20] (__get_n): Access the _M_storage member directly. | |
| 2024-08-23 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115098 | |
| * include/bits/stl_bvector.h (_Bit_reference): Make default | |
| constructor private. Declare vector and bit iterators as | |
| friends. | |
| * include/std/bitset (bitset::reference): Make constructor and | |
| data members private. | |
| * testsuite/20_util/bitset/115098.cc: New test. | |
| * testsuite/23_containers/vector/bool/115098.cc: New test. | |
| 2024-08-22 Patrick Palka <ppalka@redhat.com> | |
| * testsuite/25_algorithms/contains/1.cc: Verify value of | |
| __cpp_lib_ranges_contains. | |
| * testsuite/25_algorithms/find_last/1.cc: Verify value of | |
| __cpp_lib_ranges_find_last. | |
| * testsuite/26_numerics/iota/2.cc: Verify value of | |
| __cpp_lib_ranges_iota. | |
| 2024-08-22 Patrick Palka <ppalka@redhat.com> | |
| * include/bits/iterator_concepts.h (__detail::__projected): Define | |
| an optimized partial specialization for when the projection is | |
| std::identity. | |
| * testsuite/24_iterators/indirect_callable/projected.cc: Verify the | |
| optimization. | |
| 2024-08-22 Patrick Palka <ppalka@redhat.com> | |
| * include/bits/iterator_concepts.h (indirectly_unary_invocable): | |
| Relax as per P2997R1. | |
| (indirectly_regular_unary_invocable): Likewise. | |
| (indirect_unary_predicate): Likewise. | |
| (indirect_binary_predicate): Likewise. | |
| (indirect_equivalence_relation): Likewise. | |
| (indirect_strict_weak_order): Likewise. | |
| * include/bits/version.def (ranges): Update value for C++26. | |
| * include/bits/version.h: Regenerate. | |
| * testsuite/24_iterators/indirect_callable/p2997r1.cc: New test. | |
| * testsuite/std/ranges/version_c++23.cc: Remove. | |
| * testsuite/std/ranges/headers/ranges/synopsis.cc: Refine the | |
| __cpp_lib_ranges checks. | |
| 2024-08-22 Patrick Palka <ppalka@redhat.com> | |
| * include/bits/iterator_concepts.h (__detail::__indirect_value): | |
| Define. | |
| (__indirect_value_t): Define as per P2609R3. | |
| (iter_common_reference_t): Adjust as per P2609R3. | |
| (indirectly_unary_invocable): Likewise. | |
| (indirectly_regular_unary_invocable): Likewise. | |
| (indirect_unary_predicate): Likewise. | |
| (indirect_binary_predicate): Likewise. | |
| (indirect_equivalence_relation): Likewise. | |
| (indirect_strict_weak_order): Likewise. | |
| (__detail::__projected::__type): Define member aliases | |
| __projected_Iter and __projected_Proj providing the | |
| template arguments of the current specialization. | |
| * include/bits/version.def (ranges): Update value. | |
| * include/bits/version.h: Regenerate. | |
| * testsuite/24_iterators/indirect_callable/p2609r3.cc: New test. | |
| * testsuite/std/ranges/version_c++23.cc: Update expected value | |
| of __cpp_lib_ranges macro. | |
| 2024-08-21 Jonathan Wakely <jwakely@redhat.com> | |
| PR tree-optimization/102958 | |
| * include/bits/char_traits.h (char_traits<char8_t>::length): Use | |
| strlen. | |
| 2024-08-21 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114862 | |
| * src/c++98/locale_facets.cc (__num_base::_S_format_float): | |
| Check uppercase flag for fixed format. | |
| * testsuite/22_locale/num_put/put/char/lwg4084.cc: New test. | |
| 2024-08-21 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116381 | |
| * include/std/variant (variant): Fix conditions for | |
| static_assert to match the spec. | |
| * testsuite/20_util/variant/types_neg.cc: New test. | |
| 2024-08-20 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/optional: Remove redundant redeclaration. | |
| 2024-08-20 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/text_encoding: Fix indentation. | |
| 2024-08-20 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115744 | |
| * testsuite/18_support/headers/new/synopsis.cc [C++26]: Add | |
| constexpr to placement operator new and operator new[]. | |
| 2024-08-18 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/xml/manual/prerequisites.xml: Remove note from the | |
| GCC 4.0.1 days. | |
| * doc/html/manual/setup.html: Regenerate. | |
| 2024-08-17 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/xml/manual/abi.xml: Update reference to | |
| gcc.gnu.org/onlinedocs. | |
| * doc/xml/manual/concurrency_extensions.xml (interface): Ditto. | |
| * doc/xml/manual/extensions.xml: Ditto. | |
| * doc/xml/manual/parallel_mode.xml: Ditto. | |
| * doc/xml/manual/shared_ptr.xml: Ditto. | |
| * doc/xml/manual/using_exceptions.xml: Ditto. And change GNU GCC | |
| to GCC. | |
| * doc/html/manual/abi.html: Regenerate. | |
| * doc/html/manual/ext_concurrency_impl.html: Ditto. | |
| * doc/html/manual/ext_demangling.html: Ditto. | |
| * doc/html/manual/memory.html: Ditto. | |
| * doc/html/manual/parallel_mode_design.html: Ditto. | |
| * doc/html/manual/parallel_mode_using.html: Ditto. | |
| * doc/html/manual/using_exceptions.html: Ditto. | |
| 2024-08-17 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/xml/manual/prerequisites.xml: Tweak two links to | |
| installation docs. Fix grammar. | |
| * doc/html/manual/setup.html: Regenerate. | |
| 2024-08-16 Hans-Peter Nilsson <hp@axis.com> | |
| PR libstdc++/116362 | |
| * configure.ac: Check newlib configuration whether iconv is enabled. | |
| * configure: Regenerate. | |
| 2024-08-16 Hans-Peter Nilsson <hp@axis.com> | |
| * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune | |
| uncapitalized "in function" warning from linker. | |
| 2024-08-08 Jakub Jelinek <jakub@redhat.com> | |
| PR c++/115744 | |
| * libsupc++/new (__glibcxx_want_constexpr_new): Define before | |
| including bits/version.h. | |
| (_GLIBCXX_PLACEMENT_CONSTEXPR): Define. | |
| (operator new, operator new[]): Use it for placement new instead | |
| of inline. | |
| * include/bits/version.def (constexpr_new): New FTM. | |
| * include/bits/version.h: Regenerate. | |
| 2024-08-06 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116247 | |
| * include/bits/fs_path.h: Use __UINTPTR_TYPE__ instead of | |
| uintptr_t. | |
| * include/bits/shared_ptr_atomic.h: Likewise. | |
| * include/ext/pointer.h: Include <stdint.h>. | |
| 2024-08-03 Patrick Palka <ppalka@redhat.com> | |
| * include/bits/move.h (__like_impl): New metafunction. | |
| (__like_t): Redefine in terms of __like_impl. | |
| (forward_like): Redefine in terms of __like_t. | |
| * testsuite/20_util/forward_like/2_neg.cc: Don't expect | |
| error outside the immediate context anymore. | |
| 2024-08-02 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Include | |
| <cstdint>. | |
| 2024-08-01 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/utility.h (__is_in_place_type): Remove. | |
| * include/std/variant (__is_in_place_tag): Remove. | |
| 2024-08-01 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/align.h (align, assume_aligned): Use | |
| __UINTPTR_TYPE__ instead of uintptr_t. Do not include | |
| <stdint.h>. | |
| * include/bits/atomic_base.h (__atomic_ref): Likewise. | |
| * include/bits/atomic_wait.h (__waiter_pool_base::_S_for): | |
| Likewise. | |
| * include/std/atomic: Include <cstdint>. | |
| 2024-08-01 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/atomic_base.h (__atomic_impl::compare_exchange_weak): | |
| Remove unused parameter. | |
| (__atomic_impl::compare_exchange_strong): Likewise. | |
| 2024-08-01 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113807 | |
| * include/std/bitset (bitset::_M_is_equal()): Use memcmp to | |
| optimize operator==. | |
| 2024-08-01 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/26_numerics/random/discrete_distribution/operators/values.cc: | |
| Use ARGS to limit number of iterations for simulators. | |
| 2024-08-01 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113841 | |
| * include/bits/basic_string.h (basic_string::basic_string()): | |
| Constrain so that it's only present if the allocator is default | |
| constructible. | |
| * include/bits/cow_string.h (basic_string::basic_string()): | |
| Likewise. | |
| * testsuite/21_strings/basic_string/cons/113841.cc: New test. | |
| 2024-08-01 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/99942 | |
| * include/bits/cow_string.h (data()): Change to noexcept(false). | |
| 2024-08-01 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/23_containers/map/operators/1_neg.cc (test01): Remove test variable | |
| and use 'no match' dg-error patter. | |
| * testsuite/23_containers/set/operators/1_neg.cc (test01): Likewise. | |
| 2024-07-31 François Dumont <frs.dumont@gmail.com> | |
| * testsuite/23_containers/map/operators/1_neg.cc (test01): Add test variable | |
| declaration. | |
| * testsuite/23_containers/set/operators/1_neg.cc (test01): Likewise. | |
| 2024-07-31 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++20/format.cc [!_GLIBCXX_HAS_GTHREADS] (mutex): Define | |
| dummy mutex type. | |
| * testsuite/std/time/format_localized.cc: Use loop variable | |
| instead of creating the same locale on every iteration. | |
| 2024-07-31 Sam James <sam@gentoo.org> | |
| * testsuite/28_regex/traits/char/translate.cc: Drop bogus 'dg_do run'. | |
| 2024-07-31 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++11/system_error.cc (strerror_string): Handle | |
| non-conforming NULL return from strerror. | |
| 2024-07-31 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): | |
| Only append "@euro" to ".ISO8859-15" locales for Glibc. | |
| 2024-07-31 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/version.def (format): Update value for C++26. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/format (runtime_format, wruntime_format): Check | |
| __cpp_lib_format instead of __cplusplus. | |
| * testsuite/std/format/functions/format.cc: Update expected | |
| value of macro for C++26 mode. | |
| 2024-07-31 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/110356 | |
| * include/bits/c++config (_GLIBCXX26_DEPRECATED): Define. | |
| (_GLIBCXX26_DEPRECATED_SUGGEST): Define. | |
| * include/bits/version.def (format): Update for C++26. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/format (basic_format_arg::visit): New member | |
| functions. | |
| (visit_format_arg): Add deprecated attribute. | |
| * testsuite/std/format/arguments/args.cc: Expect deprecated | |
| warnings. Check member visit. | |
| * testsuite/std/format/functions/format.cc: Update expected | |
| value for __cpp_lib_format macro. | |
| * testsuite/std/format/parse_ctx.cc: Add dg-warning for | |
| deprecation. | |
| 2024-07-31 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/110356 | |
| * include/bits/version.def (variant): Update for C++26. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/variant (variant::visit): New member functions. | |
| * testsuite/20_util/variant/visit.cc: Check second alternative. | |
| * testsuite/20_util/variant/visit_member.cc: New test. | |
| 2024-07-31 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115776 | |
| * include/bits/version.def (format): Update for C++26. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/format (basic_format_parse_context): Remove | |
| default argument from constructor and split into two | |
| constructors. Make the constructor taking size_t private for | |
| C++26 and later. | |
| (basic_format_parse_context::check_dynamic_spec): New member | |
| function template. | |
| (basic_format_parse_context::check_dynamic_spec_integral): New | |
| member function. | |
| (basic_format_parse_context::check_dynamic_spec_string): | |
| Likewise. | |
| (__format::_Spec::_S_parse_width_or_precision): Use | |
| check_dynamic_spec_integral. | |
| (__format::__to_arg_t_enum): New helper function. | |
| (basic_format_arg): Declare __to_arg_t_enum as friend. | |
| (__format::_Scanner): Define and use a derived parse context | |
| type. | |
| (__format::_Checking_scanner): Make arg types available to parse | |
| context. | |
| * testsuite/std/format/functions/format.cc: Check for new values | |
| of __cpp_lib_format macro. | |
| * testsuite/std/format/parse_ctx.cc: Check all members of | |
| basic_format_parse_context. | |
| * testsuite/std/format/parse_ctx_neg.cc: New test. | |
| * testsuite/std/format/string.cc: Add more checks for dynamic | |
| width and precision args. | |
| 2024-07-31 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/version.def (format): Update value for P2510R3. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/format (_GLIBCXX_P2518R3): Remove misspelled macro | |
| and check __glibcxx_format instead. | |
| * testsuite/std/format/functions/format.cc: Check value of the | |
| __cpp_lib_format macro for formatting pointers support. | |
| * testsuite/std/format/parse_ctx.cc: Likewise. | |
| 2024-07-31 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/109162 | |
| * acinclude.m4 (libtool_VERSION): Update to 6:34:0. | |
| * config/abi/pre/gnu.ver: Disambiguate old patters. Add new | |
| GLIBCXX_3.4.34 symbol version and new exports. | |
| * configure: Regenerate. | |
| * include/bits/chrono_io.h (_ChronoSpec::_M_locale_specific): | |
| Add new accessor functions to use a reserved bit in _Spec. | |
| (__formatter_chrono::_M_parse): Use _M_locale_specific(true) | |
| when chrono-specs contains locale-dependent conversion | |
| specifiers. | |
| (__formatter_chrono::_M_format): Open iconv descriptor if | |
| conversion to UTF-8 will be needed. | |
| (__formatter_chrono::_M_write): New function to write a | |
| localized string with possible character conversion. | |
| (__formatter_chrono::_M_a_A, __formatter_chrono::_M_b_B) | |
| (__formatter_chrono::_M_p, __formatter_chrono::_M_r) | |
| (__formatter_chrono::_M_x, __formatter_chrono::_M_X) | |
| (__formatter_chrono::_M_locale_fmt): Use _M_write. | |
| * include/bits/version.def (format): Update value. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/format (_GLIBCXX_P2518R3): Check feature test | |
| macro instead of __cplusplus. | |
| (basic_format_context): Declare __formatter_chrono as friend. | |
| * src/c++20/Makefile.am: Add new file. | |
| * src/c++20/Makefile.in: Regenerate. | |
| * src/c++20/format.cc: New file. | |
| * testsuite/std/time/format_localized.cc: New test. | |
| * testsuite/util/testsuite_abi.cc: Add new symbol version. | |
| 2024-07-30 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/chrono_io.h (__local_time_fmt_for): New alias | |
| template. | |
| (formatter<zoned_time<D, P>>): Use __local_time_fmt_for. | |
| * testsuite/std/time/zoned_time/io.cc: Check zoned_time<minutes> | |
| can be formatted. | |
| 2024-07-30 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/chrono_io.h (__local_fmt_t): Remove unused | |
| declaration. | |
| (__formatter_chrono::_M_format_to_ostream): Add explicit | |
| handling for specializations of __local_time_fmt, including the | |
| time zone abbreviation in the output if __is_neg is true. | |
| (formatter<chrono::tai_time<D>>::format): Add comment. | |
| (formatter<chrono::gps_time<D>>::format): Likewise. | |
| (formatter<chrono::__detail::__local_time_fmt::format): Call | |
| _M_format with true for the __is_neg flag. | |
| * testsuite/std/time/clock/gps/io.cc: Remove unused variable. | |
| * testsuite/std/time/clock/local/io.cc: Fix test error that | |
| checked tai_time instead of local_time. Add tests for | |
| local-time-format-t formatting. | |
| * testsuite/std/time/clock/system/io.cc: Check empty | |
| chrono-specs. | |
| * testsuite/std/time/clock/tai/io.cc: Likewise. | |
| * testsuite/std/time/zoned_time/io.cc: Likewise. | |
| 2024-07-30 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/expected (expected(U&&), operator=(U&&)) | |
| (value_or): Use remove_cv_t on default template argument, as per | |
| LWG 3886. | |
| * include/std/optional (optional(U&&), operator=(U&&)) | |
| (value_or): Likewise. | |
| * testsuite/20_util/expected/lwg3886.cc: New test. | |
| * testsuite/20_util/optional/cons/lwg3886.cc: New test. | |
| 2024-07-30 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++17/fs_ops.cc: Fix file name in comment. | |
| 2024-07-30 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++17/fs_ops.cc (auto_win_file_handle): Change constructor | |
| parameter from const path& to const wchar_t*. | |
| (fs::equiv_files): New function. | |
| (fs::equivalent): Use equiv_files. | |
| * src/filesystem/ops-common.h (fs::equiv_files): Declare. | |
| (do_copy_file): Use equiv_files. | |
| * src/filesystem/ops.cc (fs::equiv_files): Define. | |
| (fs::copy, fs::equivalent): Use equiv_files. | |
| * testsuite/27_io/filesystem/operations/copy.cc: Test | |
| overwriting directory contents recursively. | |
| * testsuite/27_io/filesystem/operations/copy_file.cc: Test | |
| overwriting existing files. | |
| 2024-07-30 Lennox Shou Hao Ho <lennoxhoe@gmail.com> | |
| PR libstdc++/113663 | |
| * src/c++17/fs_ops.cc (fs::equivalent): Moved helper class | |
| auto_handle to anonymous namespace as auto_win_file_handle. | |
| (fs::hard_link_count): Changed Windows implementation to use | |
| information provided by GetFileInformationByHandle which is more | |
| reliable. | |
| * testsuite/27_io/filesystem/operations/hard_link_count.cc: New | |
| test. | |
| 2024-07-29 Thomas Schwinge <tschwinge@baylibre.com> | |
| * testsuite/lib/libstdc++.exp (file-io-diff): Polish. | |
| 2024-07-28 Sam James <sam@gentoo.org> | |
| PR libstdc++/110572 | |
| * testsuite/18_support/type_info/110572.cc: Fix dg-do directive order. | |
| 2024-07-27 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/charconv (__to_chars_16, __to_chars_10) | |
| (__to_chars_8, __to_chars_2, __to_chars): Cast ptrdiff_t to | |
| size_t for comparison. | |
| (__to_chars_i): Check for first >= last instead of first == last | |
| for initial sanity check. | |
| 2024-07-27 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/std_function.h: Add comment about LWG 3617 being | |
| supported. | |
| 2024-07-27 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_algobase.h (__find_if): Remove overloads for | |
| dispatching on iterator_category. Do not unroll loop manually. | |
| * include/bits/stl_algo.h (__find_if_not): Remove | |
| iterator_category argument from __find_if call. | |
| 2024-07-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/expected (expected::value): Add assertions for LWG | |
| 3843 requirements. | |
| (expected<cv void, E>::value): Add assertions for LWG 3940 | |
| requirements. | |
| 2024-07-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/format (basic_format_args): Remove default | |
| constructor, as per LWG 4106. | |
| * testsuite/std/format/arguments/args.cc: Check it isn't default | |
| constructible. | |
| 2024-07-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/utility.h (_Swallow_assign): Make assignment | |
| constexpr for C++11 as well, and add noexcept. | |
| * include/std/tuple (_Swallow_assign, ignore): Move to | |
| bits/utility.h. | |
| * testsuite/20_util/headers/utility/ignore.cc: New test. | |
| 2024-07-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/optional: Reorder parameters in comparison | |
| operators as per LWG 2945. | |
| 2024-07-25 Patrick Palka <ppalka@redhat.com> | |
| PR libstdc++/116038 | |
| * include/std/functional (_Bind_front::operator()): Use __like_t | |
| instead of std::forward when forwarding __self. | |
| (_Bind_back::operator()): Likewise. | |
| * include/std/ranges (_Partial::operator()): Likewise. | |
| (_Pipe::operator()): Likewise. | |
| * testsuite/20_util/function_objects/bind_back/116038.cc: New test. | |
| * testsuite/20_util/function_objects/bind_front/116038.cc: New test. | |
| * testsuite/std/ranges/adaptors/116038.cc: New test. | |
| 2024-07-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/expected (bad_expected_access<void>): Add noexcept | |
| to special member functions, as per LWG 4031. | |
| * testsuite/20_util/expected/bad.cc: Check for nothrow copy and | |
| move members. | |
| 2024-07-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/optional (optional): Use C++20 features to | |
| simplify overload sets for constructors and assignment | |
| operators. | |
| 2024-07-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/optional (optional): Constrain constructors to | |
| prevent problematic bool conversions, as per LWG 3836. | |
| * testsuite/20_util/optional/cons/lwg3836.cc: New test. | |
| 2024-07-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/expected (expected): Constrain constructors to | |
| prevent problematic bool conversions, as per LWG 3836. | |
| * testsuite/20_util/expected/lwg3836.cc: New test. | |
| 2024-07-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/optional (_Optional_payload_base::_Storage) | |
| [C++20]: Define constrained non-trivial destructor. | |
| (_Optional_payload_base::_Storage<U, false>) [C++20]: Do not | |
| define partial specialization when primary template has | |
| constrained destructor. | |
| (_Optional_base) [C++20]: Define constrained trivial copy and | |
| move cons and move constructors. Define payload accessors here | |
| instead of inheriting them from _Optional_base_impl. | |
| (_Optional_base_impl, _Optional_base<T, false, true>) | |
| (_Optional_base<T, true, false>, _Optional_base<T, true, true>) | |
| [C++20]: Do not define. | |
| 2024-07-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/optional (optional): Add using-declaraction for | |
| _Base::_M_get and declare optional<U> as friend. | |
| (optional(const optional<U>&)): Use | |
| _M_get instead of operator*. | |
| (optional(optional<U>&&)): Likewise. | |
| (operator=(const optional<U>&)): Likewise. | |
| (operator=(optional<U>&&)): Likewise. | |
| (and_then, tansform): Likewise. | |
| 2024-07-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/optional (_Optional_base_impl::_M_get()): Move | |
| assertions to ... | |
| (optional::operator->, optional::operator*): ... here. | |
| 2024-07-25 Andrew Pinski <quic_apinski@quicinc.com> | |
| * testsuite/lib/libstdc++.exp (v3_target_compile): Call | |
| string trim on v3_target_compile before calling split. | |
| 2024-07-24 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116070 | |
| * include/std/istream: Check feature test macro before using | |
| is_class_v and is_same_v. | |
| * include/std/ostream: Likewise. | |
| 2024-07-24 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/116070 | |
| * include/bits/stl_bvector.h: Check feature test macro before | |
| using is_default_constructible_v. | |
| 2024-07-24 Michael Levine <mlevine55@bloomberg.net> | |
| * include/bits/ranges_algobase.h: Remove duplicate include of | |
| <bits/stl_algobase.h>. | |
| 2024-07-24 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/12048 | |
| * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Move to... | |
| * testsuite/ext/stdio_sync_filebuf/wchar_t/12048-1.cc: ...here. | |
| * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Move to... | |
| * testsuite/ext/stdio_sync_filebuf/wchar_t/12048-2.cc: ...here. | |
| * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Move to... | |
| * testsuite/ext/stdio_sync_filebuf/wchar_t/12048-3.cc: ...here. | |
| * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Move to... | |
| * testsuite/ext/stdio_sync_filebuf/wchar_t/12048-4.cc: ...here. | |
| 2024-07-24 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/lib/libstdc++.exp (libstdc++_init): Do not copy all | |
| data files into test directory. | |
| 2024-07-24 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/20_util/hash/chi2_q_document_words.cc: Use | |
| dg-additional-files for input text. | |
| * testsuite/performance/ext/pb_ds/all_text_find.cc: Likewise. | |
| * testsuite/performance/ext/pb_ds/multimap_text_find.hpp: | |
| Likewise. | |
| * testsuite/performance/ext/pb_ds/multimap_text_insert.hpp: | |
| Likewise. | |
| * testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp: | |
| Likewise. | |
| * testsuite/performance/ext/pb_ds/priority_queue_text_join.cc: | |
| Likewise. | |
| * testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp: Likewise. | |
| * testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc: Likewise. | |
| * testsuite/performance/ext/pb_ds/priority_queue_text_push.cc: | |
| Likewise. | |
| * testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc: Likewise. | |
| * testsuite/performance/ext/pb_ds/tree_text_insert.cc: Likewise. | |
| * testsuite/performance/ext/pb_ds/tree_text_lor_find.cc: | |
| Likewise. | |
| 2024-07-24 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/25_algorithms/advance/istreambuf_iterators/char/2.cc: | |
| Use dg-additional-files. | |
| * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/copy_n/istreambuf_iterator/2.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/copy_n/istreambuf_iterator/deque.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: | |
| Likewise. | |
| 2024-07-24 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/27_io/basic_filebuf/close/char/1.cc: Remove | |
| @require@ and @diff@. Use dg-final file-io-diff action. | |
| * testsuite/27_io/basic_istream/extractors_other/char/2.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_istream/get/char/2.cc: Likewise. | |
| * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise. | |
| * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise. | |
| * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise. | |
| * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise. | |
| * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise. | |
| * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise. | |
| * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise. | |
| * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise. | |
| * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: | |
| Likewise. | |
| * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Likewise. | |
| * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: | |
| Likewise. Check file positions. | |
| * testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc: | |
| Likewise. | |
| * testsuite/lib/libstdc++.exp (file-io-diff): New proc. | |
| 2024-07-24 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Use | |
| dg-additional-files. | |
| * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/open/char/path.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise. | |
| * testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise. | |
| * testsuite/27_io/basic_fstream/open/char/path.cc: Likewise. | |
| * testsuite/27_io/basic_ifstream/assign/1.cc: Likewise. | |
| * testsuite/27_io/basic_ifstream/cons/move.cc: Likewise. | |
| * testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise. | |
| * testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise. | |
| * testsuite/27_io/basic_ifstream/open/wchar_t/1.cc: Likewise. | |
| * testsuite/27_io/objects/char/10.cc: Likewise. | |
| * testsuite/27_io/objects/char/12048-1.cc: Likewise. | |
| * testsuite/27_io/objects/char/12048-2.cc: Likewise. | |
| * testsuite/27_io/objects/char/12048-3.cc: Likewise. | |
| * testsuite/27_io/objects/char/12048-4.cc: Likewise. | |
| * testsuite/27_io/objects/char/12048-5.cc: Likewise. | |
| * testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise. | |
| * testsuite/27_io/objects/wchar_t/12048-2.cc: Likewise. | |
| * testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise. | |
| * testsuite/27_io/objects/wchar_t/12048-4.cc: Likewise. | |
| * testsuite/27_io/objects/wchar_t/12048-5.cc: Likewise. | |
| * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise. | |
| * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise. | |
| * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise. | |
| * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise. | |
| * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise. | |
| * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise. | |
| * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise. | |
| * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise. | |
| 2024-07-24 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/27_io/basic_filebuf/close/char/2.cc: Remove | |
| @require@ and @diff@ markup. Use dg-additional-files. Remove | |
| unused variable. | |
| * testsuite/27_io/basic_filebuf/close/char/3.cc: Remove | |
| @require@ and @diff@ markup. Use dg-additional-files. | |
| * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise. | |
| Remove unused variable. | |
| * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Remove | |
| @require@ and @diff@ markup. Use dg-additional-files. | |
| * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise. | |
| * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise. | |
| * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise. | |
| * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise. | |
| * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise. | |
| * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise. | |
| * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise. | |
| * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise. | |
| * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise. | |
| * testsuite/lib/dg-options.exp (dg-additional-files): Append to | |
| v3_additional_files instead of replacing. | |
| * testsuite/lib/libstdc++.exp (v3_target_compile): Reset | |
| v3_additional_files after copying files. | |
| 2024-07-24 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/27_io/basic_filebuf/close/char/4879.cc: Remove | |
| @require@ and @diff@ comments. | |
| * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise. | |
| * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise. | |
| Remove unused variable. | |
| * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise. | |
| * testsuite/27_io/basic_ofstream/cons/char/1.cc: Remove | |
| @require@ and @diff@ comments. Remove unused variables. | |
| * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Remove | |
| * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise. | |
| 2024-07-23 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++23/print.cc (__open_terminal): Use [[maybe_unused]] on | |
| parameter. | |
| 2024-07-23 Detlef Vollmann <dv@vollmann.ch> | |
| PR libstdc++/115482 | |
| * src/c++23/print.cc (__open_terminal) [__AVR__]: Do not use | |
| isatty. | |
| 2024-07-18 Patrick Palka <ppalka@redhat.com> | |
| * include/experimental/socket | |
| (basic_socket_iostream::basic_socket_iostream): Fix typo. | |
| * include/tr2/dynamic_bitset | |
| (__dynamic_bitset_base::_M_is_proper_subset_of): Likewise. | |
| 2024-07-12 Alexandre Oliva <oliva@adacore.com> | |
| * testsuite/decimal/binary-arith.cc: Require dfprt. | |
| * testsuite/decimal/comparison.cc: Likewise. | |
| * testsuite/decimal/compound-assignment.cc: Likewise. | |
| * testsuite/decimal/compound-assignment-memfunc.cc: Likewise. | |
| * testsuite/decimal/make-decimal.cc: Likewise. | |
| * testsuite/decimal/pr54036-1.cc: Likewise. | |
| * testsuite/decimal/pr54036-2.cc: Likewise. | |
| * testsuite/decimal/pr54036-3.cc: Likewise. | |
| * testsuite/decimal/unary-arith.cc: Likewise. | |
| 2024-07-11 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/29_atomics/atomic_ref/bool.cc: New test. | |
| 2024-07-11 Damien Lebrun-Grandie <dalg24@gmail.com> | |
| * include/bits/atomic_base.h (__atomic_ref): Do not use integral | |
| specialization for bool. | |
| 2024-07-11 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/xml/manual/using.xml: Switch gcc.gnu.org links to https. | |
| * doc/html/manual/using_concurrency.html: Regenerate. | |
| * doc/html/manual/using_dynamic_or_shared.html: Ditto. | |
| * doc/html/manual/using_headers.html: Ditto. | |
| * doc/html/manual/using_namespaces.html: Ditto. | |
| 2024-07-11 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/108636 | |
| * testsuite/27_io/filesystem/path/108636.cc: Require normal | |
| mode. | |
| 2024-07-10 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114387 | |
| * include/std/format (basic_format_context): Define copy | |
| operations as deleted, as per LWG 4061. | |
| * testsuite/std/format/context.cc: New test. | |
| 2024-07-10 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++26/text_encoding.cc (__locale_encoding): Add to unnamed | |
| namespace. | |
| (std::locale::encoding): Optimize for "C" and "*" names. | |
| 2024-07-10 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115854 | |
| * include/bits/stl_bvector.h (_Bvector_base): Convert allocator | |
| to rebound type explicitly. | |
| * testsuite/23_containers/vector/allocator/115854.cc: New test. | |
| * testsuite/23_containers/vector/bool/allocator/115854.cc: New test. | |
| 2024-07-10 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115799 | |
| * include/bits/ranges_util.h (__find_fn): Make conversion | |
| from difference type ti size_t explicit. | |
| * testsuite/25_algorithms/find/bytes.cc: Check ranges::find with | |
| __gnu_test::test_contiguous_range. | |
| * testsuite/std/ranges/range.cc: Adjust expected difference_type | |
| for __gnu_test::test_contiguous_range. | |
| * testsuite/util/testsuite_iterators.h (contiguous_iterator_wrapper): | |
| Use __max_diff_type as difference type. | |
| (test_range::sentinel, test_sized_range_sized_sent::sentinel): | |
| Ensure that operator- returns difference_type. | |
| 2024-07-10 Marek Polacek <polacek@redhat.com> | |
| * testsuite/std/ranges/access/101782.cc: Don't compile with | |
| -fconcepts-ts. | |
| 2024-07-08 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115807 | |
| * include/c_compatibility/stdatomic.h (_Atomic): Ensure it | |
| refers to std::atomic in the global namespace. | |
| * testsuite/29_atomics/headers/stdatomic.h/115807.cc: New test. | |
| 2024-07-07 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/xml/manual/configure.xml: Update Autobook 14 link. | |
| Update GCC installation instructions link. | |
| * doc/html/manual/configure.html: Regenerate. | |
| 2024-07-07 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115799 | |
| * include/bits/stl_algo.h (find): Use 'if constexpr' so that | |
| memchr optimization is a discarded statement for non-contiguous | |
| iterators. | |
| * testsuite/25_algorithms/find/bytes.cc: Check with input | |
| iterators. | |
| 2024-07-07 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115799 | |
| * include/bits/ranges_util.h (__find_fn): Return iterator | |
| instead of sentinel. | |
| * testsuite/25_algorithms/find/constrained.cc: Check non-common | |
| contiguous sized range of char. | |
| 2024-07-06 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/17_intro/headers/c++1998/all_attributes.cc: Add | |
| attribute names from later standards and remove dg-options. | |
| * testsuite/17_intro/headers/c++1998/stdc++.cc: Add c++98_only | |
| target selector. | |
| * testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc: | |
| Remove content and include stdc++.cc twice instead. | |
| * testsuite/17_intro/headers/c++2011/stdc++.cc: Replace | |
| dg-options with c++11 target selector. | |
| * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc: | |
| Remove content and include stdc++.cc twice instead. | |
| * testsuite/17_intro/headers/c++2011/all_attributes.cc: Removed. | |
| * testsuite/17_intro/headers/c++2011/all_no_exceptions.cc: Removed. | |
| * testsuite/17_intro/headers/c++2011/all_no_rtti.cc: Removed. | |
| * testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc: Removed. | |
| * testsuite/17_intro/headers/c++2011/charset.cc: Removed. | |
| * testsuite/17_intro/headers/c++2011/operator_names.cc: Removed. | |
| * testsuite/17_intro/headers/c++2014/all_attributes.cc: Removed. | |
| * testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: Removed. | |
| * testsuite/17_intro/headers/c++2014/all_no_rtti.cc: Removed. | |
| * testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: Removed. | |
| * testsuite/17_intro/headers/c++2014/charset.cc: Removed. | |
| * testsuite/17_intro/headers/c++2014/operator_names.cc: Removed. | |
| * testsuite/17_intro/headers/c++2014/stdc++.cc: Removed. | |
| * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc: Removed. | |
| * testsuite/17_intro/headers/c++2017/all_attributes.cc: Removed. | |
| * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: Removed. | |
| * testsuite/17_intro/headers/c++2017/all_no_rtti.cc: Removed. | |
| * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: Removed. | |
| * testsuite/17_intro/headers/c++2017/charset.cc: Removed. | |
| * testsuite/17_intro/headers/c++2017/operator_names.cc: Removed. | |
| * testsuite/17_intro/headers/c++2017/stdc++.cc: Removed. | |
| * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc: Removed. | |
| * testsuite/17_intro/headers/c++2020/all_attributes.cc: Removed. | |
| * testsuite/17_intro/headers/c++2020/all_no_exceptions.cc: Removed. | |
| * testsuite/17_intro/headers/c++2020/all_no_rtti.cc: Removed. | |
| * testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc: Removed. | |
| * testsuite/17_intro/headers/c++2020/charset.cc: Removed. | |
| * testsuite/17_intro/headers/c++2020/operator_names.cc: Removed. | |
| * testsuite/17_intro/headers/c++2020/stdc++.cc: Removed. | |
| * testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc: Removed. | |
| 2024-07-06 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/variant (_Variant_storage::_M_reset): Use | |
| __unlikely__ form of attribute instead of unlikely. | |
| 2024-07-06 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115797 | |
| * include/std/type_traits: Ensure "C++" language linkage. | |
| * testsuite/17_intro/headers/c++2011/linkage.cc: Replace | |
| dg-options with c++11 target selector. | |
| 2024-07-05 Jonathan Wakely <jwakely@redhat.com> | |
| PR c++/115747 | |
| * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: | |
| Add dg-error for new C++26 diagnostics. | |
| 2024-07-05 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_uninitialized.h (_UninitDestroyGuard): New | |
| class template and partial specialization. | |
| (__do_uninit_copy, __do_uninit_fill, __do_uninit_fill_n) | |
| (__uninitialized_copy_a, __uninitialized_fill_a) | |
| (__uninitialized_fill_n_a, __uninitialized_copy_move) | |
| (__uninitialized_move_copy, __uninitialized_fill_move) | |
| (__uninitialized_move_fill, __uninitialized_default_1) | |
| (__uninitialized_default_n_a, __uninitialized_default_novalue_1) | |
| (__uninitialized_default_novalue_n_1, __uninitialized_copy_n) | |
| (__uninitialized_copy_n_pair): Use it. | |
| 2024-07-05 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/88545 | |
| PR libstdc++/115040 | |
| * include/bits/cpp_type_traits.h (__can_use_memchr_for_find): | |
| New variable template. | |
| * include/bits/ranges_util.h (__find_fn): Use memchr when | |
| possible. | |
| * include/bits/stl_algo.h (find): Likewise. | |
| * testsuite/25_algorithms/find/bytes.cc: New test. | |
| 2024-07-04 John David Anglin <danglin@gcc.gnu.org> | |
| PR libstdc++/98678 | |
| * testsuite/30_threads/future/members/poll.cc: Skip on hppa*-*-linux*. | |
| 2024-06-28 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115585 | |
| * src/c++11/assert_fail.cc (__glibcxx_assert_fail): Add | |
| definition for non-verbose builds. | |
| 2024-06-28 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/101485 | |
| * include/bits/stl_algobase.h (__equal_aux1): Check for | |
| std::byte as well. | |
| * testsuite/25_algorithms/equal/101485.cc: New test. | |
| 2024-06-28 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/104395 | |
| * include/bits/new_allocator.h: Disable extended alignment | |
| support in C++98 mode. | |
| * include/bits/stl_tempbuf.h: Likewise. | |
| * include/ext/bitmap_allocator.h: Likewise. | |
| * include/ext/malloc_allocator.h: Likewise. | |
| * include/ext/mt_allocator.h: Likewise. | |
| * include/ext/pool_allocator.h: Likewise. | |
| * testsuite/ext/104395.cc: New test. | |
| 2024-06-28 Jonathan Wakely <jwakely@redhat.com> | |
| * include/ext/aligned_buffer.h (__aligned_membuf): Use | |
| alignas(T) directly instead of defining a struct and using 9its | |
| alignment. | |
| (__aligned_buffer): Remove use of std::aligned_storage. | |
| * testsuite/abi/aligned_buffers.cc: New test. | |
| 2024-06-27 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/37475 | |
| * config/locale/gnu/codecvt_members.cc (Guard): New RAII type. | |
| (do_out, do_in): Return partial if the destination is empty but | |
| the source is not. Use Guard to restore locale on scope exit. | |
| Return immediately on any conversion error. | |
| (do_encoding, do_max_length, do_length): Use Guard. | |
| * testsuite/22_locale/codecvt/in/char/37475.cc: New test. | |
| * testsuite/22_locale/codecvt/in/wchar_t/37475.cc: New test. | |
| * testsuite/22_locale/codecvt/out/char/37475.cc: New test. | |
| * testsuite/22_locale/codecvt/out/wchar_t/37475.cc: New test. | |
| 2024-06-27 Alexandre Oliva <oliva@adacore.com> | |
| PR libstdc++/115454 | |
| * testsuite/experimental/simd/pr115454_find_last_set.cc: Defer | |
| to check_vect_support_and_set_flags's default dg-do action. | |
| 2024-06-27 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115668 | |
| * include/bits/chrono_io.h (formatter<duration<R,P, C>::format): | |
| Do not use chrono::abs. | |
| * testsuite/20_util/duration/io.cc: Check formatting a duration | |
| with unsigned rep. | |
| 2024-06-27 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/103191 | |
| * include/bits/stl_bvector.h (vector<bool>::operator[]) | |
| (vector<bool>::front, vector<bool>::back): Add debug assertions. | |
| * testsuite/23_containers/vector/bool/element_access/constexpr.cc: | |
| Remove dg-error that no longer triggers. | |
| 2024-06-27 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/111250 | |
| * include/debug/assertions.h (__glibcxx_requires_non_empty_range) | |
| (__glibcxx_requires_nonempty, __glibcxx_requires_subscript): | |
| Define to __glibcxx_assert expressions or to debug mode | |
| __glibcxx_check_xxx expressions. | |
| * testsuite/23_containers/array/element_access/constexpr_c++17.cc: | |
| Add checks for out-of-bounds accesses in constant expressions. | |
| * testsuite/23_containers/vector/element_access/constexpr.cc: | |
| Likewise. | |
| 2024-06-26 Jonathan Wakely <jwakely@redhat.com> | |
| * scripts/update_release_branch.sh: New file. | |
| 2024-06-26 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc: | |
| Copy defaulted assignment operator from 808590-cxx11.cc to | |
| suppress a warning. | |
| * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc: | |
| Removed. | |
| 2024-06-26 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/90276 | |
| * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: | |
| Increase timeout for debug mode. | |
| * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc: | |
| Likewise. | |
| 2024-06-26 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/90276 | |
| * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc | |
| [_GLIBCXX_DEBUG]: Add xfail-run-if for debug mode. | |
| * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc | |
| [_GLIBCXX_DEBUG]: Reduce size of test data. | |
| * testsuite/25_algorithms/pstl/alg_sorting/includes.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: | |
| Likewise. | |
| 2024-06-26 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++20/tzdb.cc (minmax_year, minmax_year2): Remove. | |
| (years_from_to): New class replacing minmax_year and | |
| minmax_year2. | |
| (format_abbrev_str, select_std_or_dst_abbrev): Move earlier in | |
| the file. Handle "-" for letters. | |
| (ZoneInfo::to): Use format_abbrev_str to expand %z. | |
| (ZoneInfo::set_abbrev): Remove exception. Change parameter from | |
| reference to value. | |
| (operator>>(istream&, Rule&)): Do not clear letters when it | |
| contains "-". | |
| (time_zone::_M_get_sys_info): Add missing logic to find the Rule | |
| in effect before the time point. | |
| * testsuite/std/time/tzdb/1.cc: Adjust for vanguard format using | |
| "GMT" as the Zone name, not as a Link to "Etc/GMT". | |
| * testsuite/std/time/time_zone/sys_info_abbrev.cc: New test. | |
| 2024-06-26 Alexandre Oliva <oliva@adacore.com> | |
| Marc Poulhiès <poulhies@adacore.com> | |
| * testsuite/lib/dg-options.exp (add_options_for_libatomic): | |
| None for *-*-vxworks*. | |
| 2024-06-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/valarray_array.h (_Array_default_ctor): Remove. | |
| (__valarray_default_construct): Inline it into here. | |
| (_Array_init_ctor): Remove. | |
| (__valarray_fill_construct): Inline it into here. | |
| (_Array_copy_ctor): Remove. | |
| (__valarray_copy_construct(const T*, const T*, T*)): Inline it | |
| into here. | |
| (__valarray_copy_construct(const T*, size_t, size_t, T*)): | |
| Use _GLIBCXX17_CONSTEXPR for constant condition. | |
| 2024-06-25 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/faq.xml: Replace viewcvs links with cgit links. | |
| * doc/xml/manual/allocator.xml: Likewise. | |
| * doc/xml/manual/mt_allocator.xml: Likewise. | |
| * doc/html/*: Regenerate. | |
| 2024-06-22 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/xml/manual/debug.xml: Move gcc.gnu.org link to https. | |
| Ditto for sourceware.org links. | |
| * doc/html/manual/debug.html: Regenerate. | |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115497 | |
| * include/bits/cpp_type_traits.h (__is_pointer, __is_scalar): | |
| Remove. | |
| (__is_arithmetic): Do not use __is_pointer in the primary | |
| template. Add partial specialization for pointers. | |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115497 | |
| * include/bits/cpp_type_traits.h (__is_void): Remove. | |
| * include/debug/helper_functions.h (_Distance_traits): | |
| Adjust partial specialization to match void directly, instead of | |
| using __is_void<T>::__type and matching __true_type. | |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115497 | |
| * include/bits/deque.tcc (__lex_cmp_dit): Replace __is_pointer | |
| class template with __is_pointer(T) built-in. | |
| (__lexicographical_compare_aux1): Likewise. | |
| * include/bits/stl_algobase.h (__equal_aux1): Likewise. | |
| (__lexicographical_compare_aux1): Likewise. | |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115497 | |
| * include/bits/valarray_array.h (__valarray_default_construct): | |
| Use __is_trivial(_Tp). instead of __is_scalar<_Tp>. | |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/109150 | |
| * include/bits/stl_algobase.h (__fill_a1): Combine the | |
| !__is_scalar and __is_scalar overloads into one and rewrite the | |
| condition used to decide whether to perform the load outside the | |
| loop. | |
| * testsuite/25_algorithms/fill/109150.cc: New test. | |
| * testsuite/25_algorithms/fill_n/109150.cc: New test. | |
| 2024-06-21 Matthias Kretz <m.kretz@gsi.de> | |
| PR libstdc++/115575 | |
| * testsuite/experimental/simd/pr115454_find_last_set.cc: Require | |
| avx512f_runtime. Don't memcpy fixed_size masks. | |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_uninitialized.h (uninitialized_default_construct) | |
| (uninitialized_default_construct_n, uninitialized_value_construct) | |
| (uninitialized_value_construct_n): Qualify calls to prevent ADL. | |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/any (any_cast(any*), any_cast(const any*)): Add | |
| static assertion to reject void types, as per LWG 3305. | |
| * testsuite/20_util/any/misc/lwg3305.cc: New test. | |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/memory_resource.h (polymorphic_allocator::destroy): | |
| Remove deprecated attribute. | |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> | |
| * include/backward/backward_warning.h: Adjust comments to | |
| suggest <spanstream> as another alternative to <strstream>. | |
| * include/backward/strstream (strstreambuf, istrstream) | |
| (ostrstream, strstream): Add deprecated attribute. | |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/locale_conv.h (wstring_convert): Add deprecated | |
| attribute for C++17 and later. | |
| (wbuffer_convert): Likewise. | |
| * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: Disable | |
| deprecated warnings. | |
| * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: Likewise. | |
| * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: | |
| Likewise. | |
| * testsuite/22_locale/conversions/buffer/1.cc: Add dg-warning. | |
| * testsuite/22_locale/conversions/buffer/2.cc: Likewise. | |
| * testsuite/22_locale/conversions/buffer/3.cc: Likewise. | |
| * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: | |
| Likewise. | |
| * testsuite/22_locale/conversions/string/1.cc: Likewise. | |
| * testsuite/22_locale/conversions/string/2.cc: Likewise. | |
| * testsuite/22_locale/conversions/string/3.cc: Likewise. | |
| * testsuite/22_locale/conversions/string/66441.cc: Likewise. | |
| * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: | |
| Likewise. | |
| * testsuite/22_locale/conversions/string/requirements/typedefs.cc: | |
| Likewise. | |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/version.def (chrono): Add cxx11abi = yes. | |
| * include/bits/version.h: Regenerate. | |
| * testsuite/std/time/syn_c++20.cc: Adjust expected value for | |
| the feature test macro. | |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115522 | |
| * include/std/array (to_array): Workaround the fact that | |
| std::is_trivial is not sufficient to check that a type is | |
| trivially default constructible and assignable. | |
| * testsuite/23_containers/array/creation/115522.cc: New test. | |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/util/testsuite_allocator.h (tracker_allocator): | |
| Initialize base class in copy constructor. | |
| 2024-06-20 Matthias Kretz <m.kretz@gsi.de> | |
| PR libstdc++/115454 | |
| * include/experimental/bits/simd_x86.h (_S_not_equal_to): Use | |
| neq comparison instead of bitwise negation after eq. | |
| (_S_find_last_set): Clear unused high bits before computing | |
| bit_width. | |
| * testsuite/experimental/simd/pr115454_find_last_set.cc: New | |
| test. | |
| 2024-06-19 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/future: Adjust whitespace to use tabs for | |
| indentation. | |
| 2024-06-19 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/future (_State_baseV2::_Setter<R, void>): Add | |
| noexcept to call operator. | |
| (_State_baseV2::_Setter<R, __exception_ptr_tag>): Likewise. | |
| 2024-06-19 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_pair.h [__cpp_lib_concepts] (pair()): Add | |
| conditional noexcept. | |
| 2024-06-19 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_tempbuf.h (__get_temporary_buffer): Cast | |
| argument to size_t to handle negative values and suppress | |
| -Wsign-compare warning. | |
| (_Temporary_buffer): Move diagnostic pragmas to new location of | |
| call to std::get_temporary_buffer. | |
| 2024-06-18 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/cpp_type_traits.h: Fix outdated comment about the | |
| number of standard integer types. | |
| 2024-06-14 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/110572 | |
| * libsupc++/typeinfo (type_info::operator==): Add always_inline | |
| attribute for targets where the ABI requries equality to be | |
| non-inline. | |
| * testsuite/18_support/type_info/110572.cc: New test. | |
| 2024-06-14 Jonathan Wakely <jwakely@redhat.com> | |
| * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Fix declaration of | |
| posix_memalign. | |
| 2024-06-13 Alexandre Oliva <oliva@adacore.com> | |
| PR libstdc++/114359 | |
| * testsuite/26_numerics/random/binomial_distribution/114359.cc: | |
| Require cmath. | |
| 2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits (__add_rval_ref_t): Use | |
| __add_rvalue_reference built-in trait. | |
| 2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits (__add_lval_ref_t): Use | |
| __add_lvalue_reference built-in trait. | |
| 2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> | |
| Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/cpp_type_traits.h (__is_pointer): Use | |
| __is_pointer built-in trait. | |
| * include/std/type_traits (is_pointer): Likewise. Optimize its | |
| implementation. | |
| (is_pointer_v): Likewise. | |
| 2024-06-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/ranges_base.h (range_common_reference_t): New | |
| alias template, as per LWG 3860. | |
| * testsuite/std/ranges/range.cc: Check it. | |
| 2024-06-13 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/ranges_base.h (const_iterator_t): Change | |
| preprocessor condition to use __glibcxx_ranges_as_const. | |
| (const_sentinel_t, range_const_reference_t): Likewise. | |
| (__access::__possibly_const_range, cbegin, cend, crbegin) | |
| (crend, cdata): Likewise. | |
| * include/bits/stl_iterator.h (iter_const_reference_t) | |
| (basic_const_iterator, const_iterator, const_sentinel) | |
| (make_const_iterator): Likewise. | |
| 2024-06-13 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115420 | |
| * include/bits/hashtable.h (_Hashtable): Add static_assert to | |
| check that hash function is copy constructible. | |
| * testsuite/23_containers/unordered_map/115420.cc: New test. | |
| 2024-06-13 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113376 | |
| * include/pstl/pstl_config.h: Use #if instead of #ifdef to test | |
| the _PSTL_USAGE_WARNINGS macro. | |
| 2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits (is_nothrow_invocable): Use | |
| __is_nothrow_invocable built-in trait. | |
| * testsuite/20_util/is_nothrow_invocable/incomplete_args_neg.cc: | |
| Handle the new error from __is_nothrow_invocable. | |
| * testsuite/20_util/is_nothrow_invocable/incomplete_neg.cc: | |
| Likewise. | |
| 2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits (is_invocable): Use __is_invocable | |
| built-in trait. | |
| * testsuite/20_util/is_invocable/incomplete_args_neg.cc: Handle | |
| the new error from __is_invocable. | |
| * testsuite/20_util/is_invocable/incomplete_neg.cc: Likewise. | |
| 2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits (rank): Use __array_rank built-in | |
| trait. | |
| (rank_v): Likewise. | |
| 2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits (decay): Use __decay built-in trait. | |
| 2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits (remove_all_extents): Use | |
| __remove_all_extents built-in trait. | |
| 2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits (remove_extent): Use __remove_extent | |
| built-in trait. | |
| 2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits (add_pointer): Use __add_pointer | |
| built-in trait. | |
| 2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits (is_unbounded_array_v): Use | |
| __is_unbounded_array built-in trait. | |
| 2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits (is_volatile): Use __is_volatile | |
| built-in trait. | |
| (is_volatile_v): Likewise. | |
| 2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits (is_const): Use __is_const built-in | |
| trait. | |
| (is_const_v): Likewise. | |
| 2024-06-12 Alexandre Oliva <oliva@adacore.com> | |
| * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: | |
| Require cmath. | |
| * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: | |
| Likewise. | |
| * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: | |
| Likewise. | |
| 2024-06-12 Alexandre Oliva <oliva@adacore.com> | |
| * testsuite/20_util/from_chars/8.cc: Skip float128_t testing | |
| on aarch64-rtems*. | |
| * testsuite/20_util/to_chars/float128_c++23.cc: Xfail run on | |
| aarch64-rtems*. | |
| 2024-06-12 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115399 | |
| * include/tr2/dynamic_bitset (operator>>=): Remove redundant | |
| call to _M_do_sanitize. | |
| * include/tr2/dynamic_bitset.tcc (_M_do_left_shift): Zero out | |
| low bits in words that should no longer be populated. | |
| (_M_do_right_shift): Likewise for high bits. | |
| * testsuite/tr2/dynamic_bitset/pr115399.cc: New test. | |
| 2024-06-12 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/hashtable.h (_Hashtable::clear): Do not use | |
| memset to zero out bucket pointers. | |
| (_Hashtable::_M_assign_elements): Likewise. | |
| 2024-06-11 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/chrono (leap_seconds): Add comment. | |
| * testsuite/std/time/leap_seconds/io.cc: New test. | |
| 2024-06-10 François Dumont <fdumont@gcc.gnu.org> | |
| * include/bits/hashtable.h (~_Hashtable()): Replace clear call with | |
| a _M_deallocate_nodes call. | |
| 2024-06-08 Deev Patel <dkp10000@gmail.com> | |
| Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/atomic_base.h (__atomic_impl::__clear_padding): | |
| Add missing constexpr specifier. | |
| * testsuite/29_atomics/atomic_float/constinit.cc: New test. | |
| 2024-06-08 Michael Levine <mlevine55@bloomberg.net> | |
| PR libstdc++/108760 | |
| * include/bits/ranges_algo.h (ranges::out_value_result): | |
| Move to <bits/ranges_algobase.h>. | |
| (ranges::iota_result, ranges::__iota_fn, ranges::iota): Move to | |
| <numeric>. | |
| * include/bits/ranges_algobase.h (ranges::out_value_result): | |
| Move to here. | |
| * include/std/numeric (ranges::iota_result, ranges::__iota_fn) | |
| (ranges::iota): Move to here. | |
| * testsuite/25_algorithms/iota/1.cc: Renamed to ... | |
| * testsuite/26_numerics/iota/2.cc: ... here. | |
| 2024-06-08 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/algorithm: Define __glibcxx_want_ranges. | |
| * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Check | |
| feature test macro in C++20 mode. | |
| 2024-06-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/ranges_algobase.h: Include <bits/stl_algobase.h>. | |
| 2024-06-07 Alexandre Oliva <oliva@adacore.com> | |
| * include/std/variant: Drop obsolete workaround. | |
| 2024-06-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/ptr_traits.h (to_address): Optimize. | |
| * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error text. | |
| 2024-06-06 Alexandre Oliva <oliva@adacore.com> | |
| * include/bits/c++config (_GLIBCXX_CLANG): Define or undefine. | |
| * include/bits/locale_facets_nonio.tcc: Test for it. | |
| * include/bits/stl_bvector.h: Likewise. | |
| * include/c_compatibility/stdatomic.h: Likewise. | |
| * include/experimental/bits/simd.h: Likewise. | |
| * include/experimental/bits/simd_builtin.h: Likewise. | |
| * include/experimental/bits/simd_detail.h: Likewise. | |
| * include/experimental/bits/simd_x86.h: Likewise. | |
| * include/experimental/simd: Likewise. | |
| * include/std/complex: Likewise. | |
| * include/std/ranges: Likewise. | |
| * include/std/variant: Likewise. | |
| * include/pstl/pstl_config.h: Likewise. | |
| 2024-06-05 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/xml/faq.xml: Move gcc.gnu.org to https. | |
| * doc/html/faq.html: Regenerate. | |
| 2024-06-04 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115335 | |
| * include/std/span (span::at): Guard with feature test macro. | |
| 2024-06-04 Matthias Kretz <m.kretz@gsi.de> | |
| PR libstdc++/115308 | |
| * include/experimental/bits/simd.h (__int_for_sizeof): Remove | |
| special cases for __clang__. | |
| (_SimdWrapper): Change constructor overload set to allow | |
| conversion from vector types with integral conversions via bit | |
| reinterpretation. | |
| 2024-06-03 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): | |
| Use __detail::__get_temporary_buffer. | |
| (basic_stacktrace::_Impl::_M_deallocate): Use | |
| __detail::__return_temporary_buffer. | |
| 2024-06-03 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/105258 | |
| * include/bits/stl_tempbuf.h (__detail::__get_temporary_buffer): | |
| New function to do allocation for get_temporary_buffer, with | |
| extended alignment support. | |
| (__detail::__return_temporary_buffer): Support extended | |
| alignment. | |
| (get_temporary_buffer): Use __get_temporary_buffer. | |
| (return_temporary_buffer): Support extended alignment. Add | |
| deprecated attribute. | |
| (_Temporary_buffer): Move allocation and deallocation into a | |
| subobject and remove try-catch block in constructor. | |
| (__uninitialized_construct_buf): Use argument deduction for | |
| value type. | |
| * testsuite/20_util/temporary_buffer.cc: Add dg-warning for new | |
| deprecated warning. | |
| * testsuite/25_algorithms/stable_sort/overaligned.cc: New test. | |
| 2024-06-03 François Dumont <frs.dumont@gmail.com> | |
| PR libstdc++/109849 | |
| * include/bits/vector.tcc | |
| (std::vector<>::_M_range_insert(iterator, _FwdIt, _FwdIt, | |
| forward_iterator_tag))[__cplusplus < 201103L]: Add __builtin_unreachable | |
| expression to tell the compiler that the allocated buffer is large enough to | |
| receive current elements plus the elements of the range to insert. | |
| 2024-06-03 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/string_view (starts_with(basic_string_view)): | |
| Compare lengths first and then call traits_type::compare | |
| directly. | |
| 2024-06-02 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/xml/api.xml: Move gcc.gnu.org links to https. | |
| * doc/html/api.html: Regenerate. | |
| 2024-06-01 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115269 | |
| * doc/xml/manual/using.xml: Replace link to gcc-4.3.2 docs. | |
| Replace list of -std=... options with a single entry for -std. | |
| * doc/html/manual/using.html: Regenerate. | |
| 2024-05-30 Alexandre Oliva <oliva@adacore.com> | |
| * configure.ac [*-*-rtems*]: Set chdir, chmod and mkdir as | |
| available. | |
| * configure: Rebuilt. | |
| 2024-05-29 François Dumont <fdumont@gcc.gnu.org> | |
| * include/bits/vector.tcc (_Guard): Move all the nested duplicated class... | |
| * include/bits/stl_vector.h (_Guard_alloc): ...here and rename. | |
| (_M_allocate_and_copy): Use latter. | |
| (_M_initialize_dispatch): Small code simplification. | |
| (_M_range_initialize): Likewise and set _M_finish first from the result | |
| of __uninitialize_fill_n_a that can throw. | |
| 2024-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| PR libstdc++/111641 | |
| * src/libbacktrace/Makefile.am (AM_CFLAGS): Add -funwind-tables. | |
| * src/libbacktrace/Makefile.in: Regenerate. | |
| * testsuite/19_diagnostics/stacktrace/current.cc (dg-options): Add | |
| -funwind-tables. | |
| * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. | |
| * testsuite/19_diagnostics/stacktrace/hash.cc: Likewise. | |
| * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. | |
| * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. | |
| 2024-05-29 Matthias Kretz <m.kretz@gsi.de> | |
| PR libstdc++/115247 | |
| * include/experimental/bits/simd.h (__as_vector): Don't use | |
| vector_size(8) on __i386__. | |
| (__vec_shuffle): Never return MMX vectors, widen to 16 bytes | |
| instead. | |
| (concat): Fix padding calculation to pick up widening logic from | |
| __as_vector. | |
| 2024-05-23 Patrick Palka <ppalka@redhat.com> | |
| * include/bits/version.def (ranges_concat): Define. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/ranges (__detail::__concat_reference_t): Define | |
| for C++26. | |
| (__detail::__concat_value_t): Likewise. | |
| (__detail::__concat_rvalue_reference_t): Likewise. | |
| (__detail::__concat_indirectly_readable_impl): Likewise. | |
| (__detail::__concat_indirectly_readable): Likewise. | |
| (__detail::__concatable): Likewise. | |
| (__detail::__all_but_last_common): Likewise. | |
| (__detail::__concat_is_random_access): Likewise. | |
| (__detail::__concat_is_bidirectional): Likewise. | |
| (__detail::__last_is_common): Likewise. | |
| (concat_view): Likewise. | |
| (__detail::__concat_view_iter_cat): Likewise. | |
| (concat_view::iterator): Likewise. | |
| (views::__detail::__can_concat_view): Likewise. | |
| (views::_Concat, views::concat): Likewise. | |
| * testsuite/std/ranges/concat/1.cc: New test. | |
| 2024-05-22 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/locale_classes.h (locale::combine) | |
| (locale::name, locale::operator==, locale::operator!=) | |
| (locale::operator(), locale::classic): Add nodiscard | |
| attribute. | |
| * include/bits/locale_classes.tcc (has_facet, use_facet): | |
| Likewise. | |
| * testsuite/22_locale/locale/cons/12438.cc: Add dg-warning for | |
| nodiscard diagnostic. | |
| * testsuite/22_locale/locale/cons/2.cc: Cast use_facet | |
| expression to void, to suppress diagnostic. | |
| * testsuite/22_locale/locale/cons/unicode.cc: Likewise. | |
| * testsuite/22_locale/locale/operations/2.cc: Add dg-warning. | |
| 2024-05-22 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/108323 | |
| * include/bits/locale_classes.tcc (locale(const locale&, Facet*)): | |
| Return a copy of the first argument when the facet pointer is | |
| null, as per LWG 2295. | |
| (locale::combine): Ensure the result is unnamed. | |
| * src/c++11/localename.cc (_M_replace_categories): Ignore | |
| whether the second locale has a name when cat == none, as per | |
| LWG 3676. | |
| * src/c++98/locale.cc (_M_install_facet): Use __builtin_expect | |
| to predict that the facet pointer is non-null. | |
| * testsuite/22_locale/locale/cons/names.cc: New test. | |
| 2024-05-22 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114940 | |
| * include/bits/version.def (generator): Depend on | |
| __cpp_sized_deallocation. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/stacktrace (_GLIBCXX_SIZED_DELETE): New macro. | |
| (basic_stacktrace::_Impl::_M_deallocate): Use it. | |
| 2024-05-22 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115099 | |
| * include/bits/std_thread.h: Declare formatter as friend of | |
| thread::id. | |
| * include/std/thread (operator<<): Convert non-void pointers to | |
| void pointers for output. | |
| (formatter): Add constraint that thread::native_handle_type is a | |
| pointer or integer. | |
| (formatter::format): Reimplement without basic_ostringstream. | |
| * testsuite/30_threads/thread/id/output.cc: Check output | |
| compiles before <sstream> has been included. | |
| 2024-05-22 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115145 | |
| * include/std/variant (operator==, operator!=, operator<) | |
| (operator<=, operator>, operator>=): Add trailing-return-type to | |
| lambda expressions to trigger conversion to bool. | |
| * testsuite/20_util/variant/relops/115145.cc: New test. | |
| 2024-05-17 Björn Schäpers <bjoern@hazardy.de> | |
| * acinclude.m4 (GLIBCXX_ENABLE_BACKTACE): Add check for | |
| tlhelp32.h, matching libbacktrace. | |
| * config.h.in: Regenerate. | |
| * configure: Regenerate. | |
| 2024-05-17 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115119 | |
| * include/bits/unicode.h (_Iterator::operator++(int)): Fix typo | |
| in increment expression. | |
| * testsuite/ext/unicode/grapheme_view.cc: Check post-increment | |
| on view's iterator. | |
| 2024-05-15 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/77704 | |
| * include/bits/basic_ios.h (basic_ios::fill()): Do not modify | |
| _M_fill and _M_fill_init in a const member function. | |
| (basic_ios::fill(char_type)): Use _M_fill directly instead of | |
| calling fill(). Set _M_fill_init to true. | |
| * include/bits/basic_ios.tcc (basic_ios::init): Set _M_fill and | |
| _M_fill_init here instead. | |
| * testsuite/27_io/basic_ios/fill/char/1.cc: New test. | |
| * testsuite/27_io/basic_ios/fill/wchar_t/1.cc: New test. | |
| 2024-05-15 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/variant (__detail::__variant::__compare): New | |
| function template. | |
| (operator==, operator!=, operator<, operator>, operator<=) | |
| (operator>=): Replace macro definition with handwritten function | |
| calling __detail::__variant::__compare. | |
| (operator<=>): Call __detail::__variant::__compare. | |
| 2024-05-15 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/89624 | |
| * include/bits/atomic_base.h (memory_order): Use int as | |
| underlying type. | |
| * testsuite/29_atomics/atomic/89624.cc: New test. | |
| 2024-05-14 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115015 | |
| * src/c++23/print.cc (__open_terminal(streambuf*)) [!__cpp_rtti]: | |
| Do not use dynamic_cast. | |
| 2024-05-14 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/strings.xml: Clarify that GCC 4.5 added | |
| std::string::shrink_to_fit. | |
| * doc/html/manual/strings.html: Regenerate. | |
| 2024-05-14 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/115063 | |
| * include/std/stacktrace (basic_stacktrace::max_size): Fix typo | |
| in reference to _M_alloc member. | |
| * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Check | |
| max_size() compiles. | |
| 2024-05-13 Matthias Kretz <m.kretz@gsi.de> | |
| PR libstdc++/114958 | |
| * include/experimental/bits/simd.h (__as_vector): Return scalar | |
| simd as one-element vector. Return vector from single-vector | |
| fixed_size simd. | |
| (__vec_shuffle): New. | |
| (__extract_part): Adjust return type signature. | |
| (split): Use __extract_part for any split into non-fixed_size | |
| simds. | |
| (concat): If the return type stores a single vector, use | |
| __vec_shuffle (which calls __builtin_shufflevector) to produce | |
| the return value. | |
| * include/experimental/bits/simd_builtin.h | |
| (__shift_elements_right): Removed. | |
| (__extract_part): Return single elements directly. Use | |
| __vec_shuffle (which calls __builtin_shufflevector) to for all | |
| non-trivial cases. | |
| * include/experimental/bits/simd_fixed_size.h (__extract_part): | |
| Return single elements directly. | |
| * testsuite/experimental/simd/pr114958.cc: New test. | |
| 2024-05-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/unicode.h (_Unicode_view::_M_read_utf8): Ensure | |
| count of characters consumed is correct when the end of the | |
| input is reached unexpectedly. | |
| * testsuite/ext/unicode/view.cc: Test incomplete UTF-8 | |
| sequences. | |
| 2024-05-07 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114866 | |
| * include/bits/out_ptr.h [!_GLIBCXX_HOSTED]: Don't refer to | |
| shared_ptr, __shared_ptr or __is_shred_ptr. | |
| * testsuite/20_util/headers/memory/114866.cc: New test. | |
| 2024-05-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): | |
| Simplify. | |
| 2024-05-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_pair.h (operator==): Add constraint. | |
| * include/bits/version.def (constrained_equality): Define. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/optional: Define feature test macro. | |
| (__optional_rep_op_t): Use is_convertible_v instead of | |
| is_convertible. | |
| * include/std/tuple: Define feature test macro. | |
| (operator==, __tuple_cmp, operator<=>): Reimplement C++20 | |
| comparisons using lambdas. Add constraints. | |
| * include/std/utility: Define feature test macro. | |
| * include/std/variant: Define feature test macro. | |
| (_VARIANT_RELATION_FUNCTION_TEMPLATE): Add constraints. | |
| (variant): Remove unnecessary friend declarations for comparison | |
| operators. | |
| * testsuite/20_util/optional/relops/constrained.cc: New test. | |
| * testsuite/20_util/pair/comparison_operators/constrained.cc: | |
| New test. | |
| * testsuite/20_util/tuple/comparison_operators/constrained.cc: | |
| New test. | |
| * testsuite/20_util/variant/relops/constrained.cc: New test. | |
| * testsuite/20_util/tuple/comparison_operators/overloaded.cc: | |
| Disable for C++20 and later. | |
| * testsuite/20_util/tuple/comparison_operators/overloaded2.cc: | |
| Remove dg-error line for target c++20. | |
| 2024-05-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/backward/auto_ptr.h: Use https for URL in comment. | |
| * include/bits/basic_ios.h: Likewise. | |
| * include/std/iostream: Likewise. | |
| 2024-05-07 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/util/testsuite_abi.cc: Update latest versions to | |
| new versions that should be used in future. | |
| 2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| * src/Makefile.am [ENABLE_SYMVERS_SUN] | |
| (libstdc++-symbols.ver-sun): Pass $(libstdc___la_OBJECTS), | |
| $(libstdc___la_LIBADD) to make_sunver.pl unmodified. | |
| * src/Makefile.in: Regenerate. | |
| 2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| * testsuite/lib/dg-options.exp (add_options_for_net_ts) | |
| <*-*-solaris2*>: Don't link with -lsocket -lnsl. | |
| 2024-05-03 Andreas Schwab <schwab@linux-m68k.org> | |
| * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. | |
| 2024-05-01 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114891 | |
| * include/std/generator: Check feature test macro before using | |
| is_pointer_interconvertible_v. | |
| 2024-04-30 Christophe Lyon <christophe.lyon@linaro.org> | |
| * testsuite/lib/gdb-test.exp (gdb-test): Fix regexp. Quote | |
| newlines in logs. | |
| 2024-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| Backported from master: | |
| 2024-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. | |
| * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: | |
| Likewise. | |
| * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. | |
| * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: | |
| Likewise. | |
| 2024-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| Backported from master: | |
| 2024-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. | |
| * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: | |
| Likewise. | |
| * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. | |
| * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: | |
| Likewise. | |
| 2024-04-26 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114863 | |
| * include/std/format (__formatter_fp::format): Only use | |
| _M_localized for finite values. | |
| * testsuite/std/format/functions/format.cc: Check localized | |
| formatting of NaN and initiny. | |
| 2024-04-26 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/html/manual/status.html: Regenerate. | |
| * doc/xml/manual/status_cxx1998.xml: Adjust whitespace. | |
| * doc/xml/manual/status_cxx2011.xml: Likewise. | |
| * doc/xml/manual/status_cxx2014.xml: Likewise. | |
| * doc/xml/manual/status_cxx2017.xml: Likewise. | |
| * doc/xml/manual/status_cxx2020.xml: Likewise. | |
| * doc/xml/manual/status_cxx2023.xml: Likewise. | |
| * doc/xml/manual/status_cxxtr1.xml: Likewise. | |
| * doc/xml/manual/status_cxxtr24733.xml: Likewise. | |
| 2024-04-25 Jonathan Wakely <jwakely@redhat.com> | |
| * scripts/run_doxygen: Rename man pages for nested types. | |
| 2024-04-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/chrono (tzdb_list): Fix typo in Doxygen comment. | |
| 2024-04-25 Jonathan Wakely <jwakely@redhat.com> | |
| * scripts/run_doxygen: Adjust sed pattern to match '\fR' for | |
| new man output that Doxygen 1.10 generates. | |
| 2024-04-25 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/doxygen/stdheader.cc (init_map): Add missing headers. | |
| * doc/doxygen/user.cfg.in (EXCLUDE): Exclude generated files for | |
| std::format and std::text_encoding. | |
| 2024-04-25 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/variant: Add comment to #include. | |
| 2024-04-22 Matthias Kretz <m.kretz@gsi.de> | |
| PR libstdc++/114803 | |
| * include/experimental/bits/simd_builtin.h | |
| (_SimdBase2::operator __vector_type_t): There is no __builtin() | |
| function in _SimdWrapper, instead use its conversion operator. | |
| * testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc: New | |
| test. | |
| 2024-04-22 Matthias Kretz <m.kretz@gsi.de> | |
| * include/experimental/bits/simd.h: Ignore -Wnarrowing for | |
| arm_neon.h. | |
| (__int_for_sizeof): Replace tautological compare with checking | |
| for invalid template parameter value. | |
| * include/experimental/bits/simd_builtin.h (__extract_part): | |
| Remove tautological compare by combining two static_assert. | |
| 2024-04-22 Jakub Jelinek <jakub@redhat.com> | |
| * testsuite/17_intro/names.cc (d, f): Undefine on s390*-linux*. | |
| * testsuite/17_intro/headers/c++1998/all_attributes.cc (packed): Don't | |
| define on s390. | |
| * testsuite/17_intro/headers/c++2011/all_attributes.cc (packed): | |
| Likewise. | |
| * testsuite/17_intro/headers/c++2014/all_attributes.cc (packed): | |
| Likewise. | |
| * testsuite/17_intro/headers/c++2017/all_attributes.cc (packed): | |
| Likewise. | |
| * testsuite/17_intro/headers/c++2020/all_attributes.cc (packed): | |
| Likewise. | |
| 2024-04-19 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/refwrap.h (operator<=>): Simplify constraints. | |
| 2024-04-19 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114770 | |
| * src/c++20/tzdb.cc (do_locate_zone): Support links that have | |
| another link as their target. | |
| * testsuite/std/time/tzdb/1.cc: Check that all zones and links | |
| can be found by locate_zone. | |
| * testsuite/std/time/tzdb/links.cc: New test. | |
| 2024-04-18 Alexandre Oliva <oliva@adacore.com> | |
| * testsuite/29_atomics/atomic/compare_exchange_padding.cc: | |
| Disable SRA. | |
| 2024-04-18 Alexandre Oliva <oliva@adacore.com> | |
| * testsuite/20_util/from_chars/8.cc: Skip float128_t testing | |
| on aarch64-vxworks. | |
| * testsuite/20_util/to_chars/float128_c++23.cc: Xfail run on | |
| aarch64-vxworks. | |
| 2024-04-18 Alexandre Oliva <oliva@adacore.com> | |
| * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Define | |
| on VxWorks non-RTP. | |
| 2024-04-17 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/ostream (println(ostream&)): Define new overload. | |
| * include/std/print (println(FILE*), println()): Likewise. | |
| * testsuite/27_io/basic_ostream/print/2.cc: New test. | |
| * testsuite/27_io/print/1.cc: Remove unused header. | |
| * testsuite/27_io/print/3.cc: New test. | |
| 2024-04-17 Matthias Kretz <m.kretz@gsi.de> | |
| * include/experimental/bits/numeric_traits.h: Add include guard. | |
| 2024-04-17 Matthias Kretz <m.kretz@gsi.de> | |
| PR libstdc++/114750 | |
| * include/experimental/bits/simd_builtin.h | |
| (_SimdImplBuiltin::_S_load, _S_store): Fall back to copying | |
| scalars if the memory type cannot be vectorized for the target. | |
| 2024-04-16 Jonathan Wakely <jwakely@redhat.com> | |
| * config/locale/dragonfly/numeric_members.cc: Fix typos in | |
| comments. | |
| * config/locale/gnu/numeric_members.cc: Likewise. | |
| 2024-04-15 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/abi.xml: Replace "<next>" with "14.1.0". | |
| * doc/html/manual/abi.html: Regenerate. | |
| 2024-04-15 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/refwrap.h (reference_wrapper): Add comparison | |
| operators as proposed by P2944R3. | |
| * include/bits/version.def (reference_wrapper): Define. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/functional: Enable feature test macro. | |
| * testsuite/20_util/reference_wrapper/compare.cc: New test. | |
| 2024-04-15 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113386 | |
| * include/bits/stl_pair.h (operator==, operator<=>): Support | |
| heterogeneous comparisons, as per LWG 3865. | |
| * testsuite/20_util/pair/comparison_operators/lwg3865.cc: New | |
| test. | |
| 2024-04-15 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/93672 | |
| * src/c++98/istream.cc (istream::ignore(streamsize, int_type)): | |
| Treat all negative delimiter values as eof(). | |
| * testsuite/27_io/basic_istream/ignore/char/93672.cc: New test. | |
| * testsuite/27_io/basic_istream/ignore/wchar_t/93672.cc: New | |
| test. | |
| 2024-04-15 Andreas Schwab <schwab@suse.de> | |
| * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. | |
| 2024-04-13 H.J. Lu <hjl.tools@gmail.com> | |
| * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: | |
| Updated. | |
| 2024-04-11 Jakub Jelinek <jakub@redhat.com> | |
| * doc/xml/manual/abi.xml: Add latest library versions. | |
| * doc/html/manual/abi.html: Regenerate. | |
| 2024-04-11 Jakub Jelinek <jakub@redhat.com> | |
| * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. | |
| * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. | |
| 2024-04-11 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114692 | |
| * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Move new exports for | |
| __basic_file::native_handle to ... | |
| (GLIBCXX_3.4.33): ... here. Adjust to not match wchar_t | |
| specialization, which isn't used. | |
| * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.33 and update | |
| latest version check. | |
| 2024-04-11 Jakub Jelinek <jakub@redhat.com> | |
| * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. | |
| * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update. | |
| * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. | |
| 2024-04-10 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/27_io/manipulators/extended/get_time/char/2.cc: | |
| Adjust input string so that it matches %a with or without a | |
| trailing period. | |
| * testsuite/std/time/year_month_day/io.cc: Adjust expected | |
| format for %x in the fr_FR locale. | |
| 2024-04-10 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++17/fs_ops.cc (remove_all) [__FreeBSD__ || __DragonFly__]: | |
| Check for EMLINK as well as ELOOP. | |
| [__NetBSD__]: Check for EFTYPE as well as ELOOP. | |
| 2024-04-09 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114633 | |
| * include/bits/chrono_io.h (_Parser::operator()) <'S'>: Use | |
| stream extraction if std::from_chars is not available. | |
| 2024-04-08 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114519 | |
| * include/bits/unicode.h (_Utf8_view) [!__cpp_char8_t]: Define | |
| using char instead of char8_t. | |
| * testsuite/ext/unicode/view.cc: Use u8""sv literals to create | |
| string views, instead of std::u8string_view. | |
| 2024-04-08 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/20_util/integer_comparisons/equal_neg.cc: Use | |
| no-opts selector for errors that depend on -fchar8_t. | |
| * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: | |
| Likewise. | |
| * testsuite/20_util/integer_comparisons/greater_neg.cc: | |
| Likewise. | |
| * testsuite/20_util/integer_comparisons/in_range_neg.cc: | |
| Likewise. | |
| * testsuite/20_util/integer_comparisons/less_equal_neg.cc: | |
| Likewise. | |
| * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise. | |
| * testsuite/20_util/integer_comparisons/not_equal_neg.cc: | |
| Likewise. | |
| * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: Skip | |
| if -fno-char8_t is used. | |
| * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc: | |
| Likewise. | |
| * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc: | |
| Likewise. | |
| * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: Use | |
| char for u8 literal if char8_t is not available. | |
| * testsuite/27_io/headers/iosfwd/synopsis.cc: Check | |
| __cpp_char8_t. | |
| * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. | |
| * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc: | |
| Remove check for _GLIBCXX_USE_CHAR8_T. | |
| 2024-04-08 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/20_util/from_chars/1_neg.cc: Add char8_t cases, | |
| using a struct of that name if -fno-char8_t is active. | |
| * testsuite/20_util/from_chars/1_c++20_neg.cc: Removed. | |
| 2024-04-03 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/104606 | |
| * include/std/optional (operator<=>(const optional<T>&, const U&)): | |
| Reverse order of three_way_comparable_with template arguments. | |
| * testsuite/20_util/optional/relops/104606.cc: New test. | |
| 2024-04-02 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114519 | |
| * include/bits/unicode.h (_Utf8_view): Guard with check for | |
| char8_t being enabled. | |
| (__literal_encoding_is_unicode): Guard use of char8_t with check | |
| for it being enabled. | |
| * testsuite/std/format/functions/114519.cc: New test. | |
| 2024-04-02 Patrick Palka <ppalka@redhat.com> | |
| * include/std/ranges (ranges::__detail::_Empty): Rename to ... | |
| (ranges::__detail::_Absent): ... this. Turn into a template | |
| parameterized by the absent type _Tp and discriminator _Disc. | |
| (ranges::__detail::__maybe_present_t): Add an optional | |
| discriminator parameter. | |
| (slide_view::_M_cached_begin): Pass a discriminator argument to | |
| __maybe_present_t. | |
| (slide_view::_M_cached_end): Likewise. | |
| * testsuite/std/ranges/adaptors/sizeof.cc: Verify the size of | |
| slide_view<V> is 3 instead 4 pointers. | |
| 2024-04-02 Jakub Jelinek <jakub@redhat.com> | |
| * acinclude.m4: Fix duplicated words; file file -> file can. | |
| * configure.host: Fix duplicated words; the the -> the. | |
| 2024-03-29 Arsen Arsenović <arsen@aarsen.me> | |
| * testsuite/24_iterators/range_generators/01.cc: Drop GCC | |
| Runtime Library Exception. | |
| * testsuite/24_iterators/range_generators/02.cc: Drop GCC | |
| Runtime Library Exception. | |
| * testsuite/24_iterators/range_generators/copy.cc: Drop GCC | |
| Runtime Library Exception. | |
| * testsuite/24_iterators/range_generators/except.cc: Drop GCC | |
| Runtime Library Exception. | |
| * testsuite/24_iterators/range_generators/subrange.cc: Drop GCC | |
| Runtime Library Exception. | |
| * testsuite/24_iterators/range_generators/synopsis.cc: Drop GCC | |
| Runtime Library Exception. | |
| * testsuite/24_iterators/range_generators/iter_deref_return.cc: | |
| Drop GCC Runtime Library Exception from the "You should have | |
| received a copy" paragraph. | |
| 2024-03-27 Matthias Kretz <m.kretz@gsi.de> | |
| * include/experimental/bits/simd_x86.h (_S_masked_unary): | |
| Cast inputs < 16 bytes to 16 byte vectors before calling the | |
| right subtraction builtin. Before returning, truncate to the | |
| return vector type. | |
| 2024-03-27 Matthias Kretz <m.kretz@gsi.de> | |
| * include/experimental/bits/simd_x86.h (_S_masked_unary): Call | |
| the 4- and 8-byte variants of __builtin_ia32_subp[ds] without | |
| rounding direction argument. | |
| 2024-03-27 Srinivas Yadav Singanaboina <vasu.srinivasvasu.14@gmail.com> | |
| * include/Makefile.am: Add simd_sve.h. | |
| * include/Makefile.in: Add simd_sve.h. | |
| * include/experimental/bits/simd.h: Add new SveAbi. | |
| * include/experimental/bits/simd_builtin.h: Use | |
| __no_sve_deduce_t to support existing Neon Abi. | |
| * include/experimental/bits/simd_converter.h: Convert | |
| sequentially when sve is available. | |
| * include/experimental/bits/simd_detail.h: Define sve | |
| specific macro. | |
| * include/experimental/bits/simd_math.h: Fallback frexp | |
| to execute sequntially when sve is available, to handle | |
| fixed_size_simd return type that always uses sve. | |
| * include/experimental/simd: Include bits/simd_sve.h. | |
| * testsuite/experimental/simd/tests/bits/main.h: Enable | |
| testing for sve128, sve256, sve512. | |
| * include/experimental/bits/simd_sve.h: New file. | |
| 2024-03-26 Arsen Arsenović <arsen@aarsen.me> | |
| * include/std/generator (generator::_Iterator::operator*): Fix | |
| return type. | |
| * testsuite/24_iterators/range_generators/iter_deref_return.cc: | |
| New test. | |
| 2024-03-26 Arsen Arsenović <arsen@aarsen.me> | |
| * include/std/generator: Fix _V badname. | |
| 2024-03-26 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/19_diagnostics/stacktrace/current.cc: Check for | |
| __cpp_lib_stacktrace instead of check for stacktrace ET. | |
| * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. | |
| * testsuite/19_diagnostics/stacktrace/hash.cc: Likewise. | |
| * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. | |
| * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. | |
| * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. | |
| * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. | |
| * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: | |
| Likewise. | |
| * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): | |
| Remove. | |
| 2024-03-26 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/lib/dg-options.exp (dg-require-cpp-feature-test): | |
| New proc. | |
| * testsuite/lib/libstdc++.exp (check_v3_target_cpp_feature_test): | |
| New proc. | |
| * testsuite/std/text_encoding/cons.cc: Use new directive to skip | |
| the test if the __cpp_lib_text_encoding feature test macro is | |
| not defined. | |
| * testsuite/std/text_encoding/requirements.cc: Likewise. | |
| 2024-03-25 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/std/text_encoding/requirements.cc: #undef the | |
| correct macro. | |
| 2024-03-23 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/format (formatter): Disable specializations that | |
| would allow sequences of narrow characters to be formatted as | |
| wchar_t without conversion, as per LWG 3944. | |
| * testsuite/std/format/formatter/lwg3944.cc: New test. | |
| 2024-03-23 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/utility.h (__is_in_place_index_v): New variable | |
| template. | |
| * include/std/variant (__not_in_place_tag): Define in terms of | |
| variable templates not a class template. | |
| 2024-03-23 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114400 | |
| * include/std/string_view (operator==): Use std::type_identity_t | |
| in C++20 instead of our own __type_identity_t. | |
| 2024-03-22 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114401 | |
| * include/bits/hashtable.h (_Hashtable::_M_reinsert_node): Call | |
| release() on node handle instead of just zeroing its pointer. | |
| (_Hashtable::_M_reinsert_node_multi): Likewise. | |
| (_Hashtable::_M_merge_unique): Likewise. | |
| (_Hashtable::_M_merge_multi): Likewise. | |
| * include/bits/node_handle.h (_Node_handle_common::release()): | |
| New member function. | |
| (_Node_handle_common::_Optional_alloc::_M_empty): Remove | |
| unnecessary union member. | |
| (_Node_handle_common): Declare _Hashtable as a friend. | |
| * include/bits/stl_tree.h (_Rb_tree::_M_reinsert_node_unique): | |
| Call release() on node handle instead of just zeroing its | |
| pointer. | |
| (_Rb_tree::_M_reinsert_node_equal): Likewise. | |
| (_Rb_tree::_M_reinsert_node_hint_unique): Likewise. | |
| (_Rb_tree::_M_reinsert_node_hint_equal): Likewise. | |
| * testsuite/23_containers/multiset/modifiers/114401.cc: New test. | |
| * testsuite/23_containers/set/modifiers/114401.cc: New test. | |
| * testsuite/23_containers/unordered_multiset/modifiers/114401.cc: New test. | |
| * testsuite/23_containers/unordered_set/modifiers/114401.cc: New test. | |
| 2024-03-22 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113841 | |
| * include/bits/allocator.h (allocator<cv T>): Add default | |
| constructor to partial specializations for cv-qualified types. | |
| * include/bits/stl_vector.h (_Vector_impl::_Vector_impl()): | |
| Constrain so that it's only present if the allocator is default | |
| constructible. | |
| * include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()): | |
| Likewise. | |
| * testsuite/23_containers/vector/cons/113841.cc: New test. | |
| 2024-03-22 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_construct.h (destroy_at, construct_at): Guard | |
| with feature test macros instead of just __cplusplus. | |
| 2024-03-22 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/version.def (generator, tuple_like): Move earlier | |
| in the file. | |
| * include/bits/version.h: Regenerate. | |
| 2024-03-22 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114394 | |
| * include/std/functional (bind): Use __invoke_result_t instead | |
| of result_of::type. | |
| * include/std/type_traits (__invoke_result_t): New alias | |
| template. | |
| * testsuite/20_util/bind/ref_neg.cc: Adjust prune pattern. | |
| 2024-03-20 François Dumont <fdumont@gcc.gnu.org> | |
| * include/bits/version.def (null_iterators): Remove extra_cond. | |
| * include/bits/version.h: Regenerate. | |
| 2024-03-19 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114359 | |
| * include/bits/random.tcc (binomial_distribution::param_type): | |
| Ensure arithmetic is done as type double. | |
| * testsuite/26_numerics/random/binomial_distribution/114359.cc: New test. | |
| 2024-03-19 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/101228 | |
| * include/pstl/parallel_backend_tbb.h (TBB_SUPPRESS_DEPRECATED_MESSAGES): | |
| Define before including <tbb/task.h> then undef afterwards. | |
| 2024-03-19 Jonathan Wakely <jwakely@redhat.com> | |
| * include/Makefile.am [MAINTAINER_MODE]: Add target to | |
| automatically update <bits/version.h>. | |
| * include/Makefile.in: Regenerate. | |
| 2024-03-19 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/build_hacking.xml: Document generated files. | |
| Update list of convenience libraries and sub-directories under | |
| the src directory. | |
| * doc/html/*: Regenerate. | |
| 2024-03-19 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/text_encoding-data.h: Regenerate. | |
| * include/bits/unicode-data.h: Regenerate. | |
| * scripts/gen_text_encoding_data.py: Fix header of generated | |
| file to name the correct script. | |
| 2024-03-19 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/util/pstl/test_utils.h: Fix typos in comments. | |
| 2024-03-19 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114367 | |
| * include/bits/stl_bvector.h (_M_allocate): Use allocator's | |
| construct function to begin lifetime of words. | |
| 2024-03-19 Iain Sandoe <iain@sandoe.co.uk> | |
| * testsuite/lib/dg-options.exp (atomic_link_flags): Emit a -B | |
| option for the path to the uninstalled libatomic. | |
| 2024-03-19 Iain Sandoe <iain@sandoe.co.uk> | |
| * testsuite/lib/libstdc++.exp (v3_target_compile): Instead of | |
| /dev/null, use a temporary file for test executables on Darwin. | |
| 2024-03-18 François Dumont <fdumont@gcc.gnu.org> | |
| * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_can_advance): | |
| Accept 0 offset advance on value-initialized iterator. | |
| * testsuite/23_containers/vector/debug/n3644.cc: New test case. | |
| 2024-03-18 François Dumont <fdumont@gcc.gnu.org> | |
| * include/debug/safe_local_iterator.tcc | |
| (_Safe_local_iterator::_M_valid_range): Add _M_value_initialized and | |
| _M_singular checks. | |
| * testsuite/23_containers/unordered_set/debug/114316.cc: New test case. | |
| 2024-03-17 François Dumont <fdumont@gcc.gnu.org> | |
| PR libstdc++/114316 | |
| * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): | |
| First check if both iterators are value-initialized before checking if | |
| singular. | |
| * testsuite/23_containers/set/debug/114316.cc: New test case. | |
| * testsuite/23_containers/vector/debug/114316.cc: New test case. | |
| 2024-03-14 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114325 | |
| * include/std/format (_Scanner::_M_scan): Pass correct length to | |
| __to_chars_10_impl. | |
| * testsuite/std/format/functions/format.cc: Check negative | |
| integers with empty format-spec. | |
| 2024-03-14 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_algo.h (find_end, all_of, none_of, any_of) | |
| (find_if_not, is_partitioned, partition_point, remove) | |
| (remove_if, unique, lower_bound, upper_bound, equal_range) | |
| (binary_search, includes, is_sorted, is_sorted_until, minmax) | |
| (minmax_element, is_permutation, clamp, find_if, find_first_of) | |
| (adjacent_find, count, count_if, search, search_n, min_element) | |
| (max_element): Add nodiscard attribute. | |
| * include/bits/stl_algobase.h (min, max, lower_bound, equal) | |
| (lexicographical_compare, lexicographical_compare_three_way) | |
| (mismatch): Likewise. | |
| * include/bits/stl_heap.h (is_heap, is_heap_until): Likewise. | |
| * testsuite/25_algorithms/equal/debug/1_neg.cc: Add dg-warning. | |
| * testsuite/25_algorithms/equal/debug/2_neg.cc: Likewise. | |
| * testsuite/25_algorithms/equal/debug/3_neg.cc: Likewise. | |
| * testsuite/25_algorithms/find_first_of/concept_check_1.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/is_permutation/2.cc: Likewise. | |
| * testsuite/25_algorithms/lexicographical_compare/71545.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/lower_bound/33613.cc: Likewise. | |
| * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/minmax/3.cc: Likewise. | |
| * testsuite/25_algorithms/search/78346.cc: Likewise. | |
| * testsuite/25_algorithms/search_n/58358.cc: Likewise. | |
| * testsuite/25_algorithms/unique/1.cc: Likewise. | |
| * testsuite/25_algorithms/unique/11480.cc: Likewise. | |
| * testsuite/25_algorithms/upper_bound/33613.cc: Likewise. | |
| * testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc: | |
| Likewise. | |
| * testsuite/ext/concept_checks.cc: Likewise. | |
| * testsuite/ext/is_heap/47709.cc: Likewise. | |
| * testsuite/ext/is_sorted/cxx0x.cc: Likewise. | |
| 2024-03-14 xndcn <xndchn@gmail.com> | |
| * include/bits/atomic_base.h (__atomic_float::__atomic_float(Fp)): | |
| Clear padding. | |
| * testsuite/29_atomics/atomic_float/compare_exchange_padding.cc: | |
| New test. | |
| 2024-03-14 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/66146 | |
| * doc/xml/manual/status_cxx2011.xml: Remove mention of Linux in | |
| note about std::call_once. | |
| * doc/xml/manual/status_cxx2014.xml: Likewise. | |
| * doc/xml/manual/status_cxx2017.xml: Likewise. | |
| * doc/html/manual/status.html: Regenerate. | |
| 2024-03-14 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/status_cxx2023.xml: Update C++23 status table. | |
| * doc/html/manual/status.html: Regenerate. | |
| * include/bits/version.def: Fix typo in comment. | |
| 2024-03-13 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/libstdc++-prettyprinters/cxx11.cc: Move custom_cat | |
| to namespace scope. | |
| 2024-03-13 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/debug.xml: Improve docs on debug builds and | |
| using ASan. Mention _GLIBCXX_ASSERTIONS. Reorder sections to put | |
| the most relevant ones first. | |
| * doc/xml/manual/using.xml: Add comma. | |
| * doc/html/*: Regenerate. | |
| 2024-03-13 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/debug.xml: Document that concept checking might | |
| be removed in future. | |
| * doc/xml/manual/extensions.xml: Likewise. | |
| 2024-03-09 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114240 | |
| * include/bits/chrono_io.h (_Parser::operator()): Assume | |
| hours(0) for a time_point, so that a time is not required | |
| to be present. | |
| * testsuite/std/time/parse/114240.cc: New test. | |
| 2024-03-09 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114279 | |
| * include/bits/chrono_io.h (_Parser::_M_is_leap_second): New | |
| data member. | |
| (_Parser::_M_reserved): Reserve padding bits for future use. | |
| (_Parser::operator()): Set _M_is_leap_second if %S reads 60s. | |
| (from_stream): Only allow _M_is_leap_second for utc_time and | |
| local_time. Adjust arithmetic for utc_time so that leap seconds | |
| are preserved. Use time_point_cast to convert to a possibly | |
| lower-precision result type. | |
| * testsuite/std/time/parse.cc: Move to ... | |
| * testsuite/std/time/parse/parse.cc: ... here. | |
| * testsuite/std/time/parse/114279.cc: New test. | |
| 2024-03-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/chrono_io.h (_Parser::operator()): Use | |
| std::from_chars to parse fractional seconds. | |
| 2024-03-07 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114244 | |
| * include/bits/chrono_io.h (_Parser::operator()): Remove | |
| redundant uses of duration_cast. Use chrono::round to convert | |
| long double value to durations with integer representations. | |
| Check represenation type when deciding whether to skip parsing | |
| fractional seconds. | |
| * testsuite/20_util/duration/114244.cc: New test. | |
| * testsuite/20_util/duration/io.cc: Check that a floating-point | |
| duration with ratio<1> precision can be parsed. | |
| 2024-03-07 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114103 | |
| * include/bits/version.def (atomic_lock_free_type_aliases): Add | |
| extra_cond to check for at least one always-lock-free type. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/atomic (atomic_signed_lock_free) | |
| (atomic_unsigned_lock_free): Only use always-lock-free types. | |
| * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): Don't use | |
| atomic counter if lock-free aliases aren't available. | |
| * testsuite/29_atomics/atomic/lock_free_aliases.cc: XFAIL for | |
| targets without lock-free word-size compare_exchange. | |
| 2024-03-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/chrono (__get_leap_second_info): Update expiry | |
| time for hardcoded list of leap seconds. | |
| * testsuite/std/time/tzdb/leap_seconds.cc: Update comment. | |
| 2024-03-07 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/23_containers/deque/allocator/default_init.cc: Use | |
| std::memset instead of __builtin_memset. | |
| * testsuite/23_containers/forward_list/allocator/default_init.cc: | |
| Likewise. | |
| * testsuite/23_containers/list/allocator/default_init.cc: | |
| Likewise. | |
| * testsuite/23_containers/map/allocator/default_init.cc: | |
| Likewise. | |
| * testsuite/23_containers/set/allocator/default_init.cc: | |
| Likewise. | |
| * testsuite/23_containers/unordered_map/allocator/default_init.cc: | |
| Likewise. | |
| * testsuite/23_containers/unordered_set/allocator/default_init.cc: | |
| Likewise. | |
| * testsuite/23_containers/vector/allocator/default_init.cc: | |
| Likewise. | |
| * testsuite/23_containers/vector/bool/allocator/default_init.cc: | |
| Likewise. | |
| * testsuite/29_atomics/atomic/compare_exchange_padding.cc: | |
| Likewise. | |
| * testsuite/util/atomic/wait_notify_util.h: Likewise. | |
| 2024-03-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/format (_Arg_store::_S_make_elt): Add two | |
| static_assert checks to give more user-friendly error messages. | |
| * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune another | |
| form of "in requirements with" note. | |
| * testsuite/std/format/arguments/args_neg.cc: Check for | |
| user-friendly diagnostics for non-formattable types. | |
| * testsuite/std/format/string_neg.cc: Likewise. | |
| 2024-03-04 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114147 | |
| * include/std/tuple (tuple::tuple(allocator_arg_t, const Alloc&)): | |
| Add missing overload of allocator-extended default constructor. | |
| (tuple<T1,T2>::tuple(allocator_arg_t, const Alloc&)): Likewise. | |
| * testsuite/20_util/tuple/cons/114147.cc: New test. | |
| 2024-02-29 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/format (basic_format_arg::handle::__maybe_const_t): | |
| Fix condition to check if const type is formattable. | |
| (basic_format_arg::handle::handle(T&)): Remove redundant | |
| static_assert. | |
| * testsuite/std/format/formatter/basic.cc: New test. | |
| 2024-02-29 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113960 | |
| * include/bits/stl_algobase.h (__is_byte_iter): Replace with ... | |
| (__memcmp_ordered_with): New concept. | |
| (lexicographical_compare_three_way): Use __memcmp_ordered_with | |
| instead of __is_byte_iter. Use correct length for memcmp. | |
| * testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc: | |
| New test. | |
| 2024-02-28 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/114152 | |
| * include/experimental/scope (scope_exit scope_fail): Make | |
| destructor unconditionally noexcept. | |
| (scope_sucess): Fix noexcept-specifier. | |
| * testsuite/experimental/scopeguard/114152.cc: New test. | |
| 2024-02-28 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/appendix_contributing.xml: Change URLs to use | |
| https. | |
| * doc/html/manual/*: Regenerate. | |
| 2024-02-28 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/appendix_contributing.xml: Replace outdated | |
| info on ChangeLog entries. | |
| * doc/html/manual/appendix_contributing.html: Regenerate. | |
| 2024-02-28 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/stl_bvector.h (vector<bool, A>::at): Add | |
| nodiscard. | |
| * include/bits/stl_vector.h (vector<T, A>::at): Likewise. | |
| (operator==, operator<=>, operator<, operator!=, operator>) | |
| (operator<=, operator>=): Likewise. | |
| * include/debug/vector (operator==, operator<=>, operator<) | |
| (operator!=, operator>, operator<=, operator>=): Likewise. | |
| * testsuite/23_containers/vector/nodiscard.cc: New test. | |
| 2024-02-28 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/atomic_base.h (operator|, operator&): Add | |
| noexcept. | |
| * include/bits/fs_fwd.h (operator&, operator|, operator^) | |
| (operator~): Add nodiscard to overloads for copy_options, perms, | |
| perm_options, and directory_options. | |
| * include/bits/ios_base.h (operator&, operator|, operator^) | |
| (operator~): Add nodiscard and noexcept to overloads for | |
| _Ios_Fmtflags, _Ios_Openmode, and _Ios_Iostate. | |
| (operator|=, operator&=, operator^=): Add constexpr for C++14. | |
| * include/bits/regex_constants.h (operator&, operator|, operator^) | |
| (operator~): Add nodiscard and noexcept to overloads for | |
| syntax_option_type and match_flag_type. | |
| (operator|=, operator&=, operator^=): Add noexcept. | |
| * include/std/charconv (operator&, operator|, operator^) | |
| (operator~): Add nodiscard to overloads for chars_format. | |
| * include/std/future (operator&, operator|, operator^) | |
| (operator~): Add nodiscard for overloads for launch. | |
| (operator&=, operator|=, operator^=): Add constexpr for C++14. | |
| * include/experimental/bits/fs_fwd.h (operator&, operator|) | |
| (operator^, operator~): Add nodiscard to overloads for | |
| copy_options, perms, and directory_options. | |
| * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: | |
| Add dg-warning for nodiscard warnings. | |
| * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: | |
| Likewise. | |
| * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: | |
| Likewise. | |
| * testsuite/27_io/filesystem/operations/bitmask_types.cc: | |
| New test. | |
| 2024-02-28 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/27_io/basic_ostream/print/1.cc: Check error | |
| handling. | |
| * testsuite/27_io/print/1.cc: Likewise. | |
| 2024-02-28 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/ostream (vprint_unicode) [__CYGWIN__]: Use POSIX | |
| code path for Cygwin instead of Windows. | |
| * include/std/print (vprint_unicode) [__CYGWIN__]: Likewise. | |
| * testsuite/27_io/basic_ostream/print/1.cc: Only add -lstdc++exp | |
| for *-*-mingw* targets. | |
| * testsuite/27_io/print/1.cc: Likewise. | |
| 2024-02-28 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/alloc_traits.h: Include <bits/stl_iterator.h> for | |
| __make_move_if_noexcept_iterator. | |
| 2024-02-28 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/stacktrace: Add nodiscard attribute to all | |
| functions without side effects. | |
| 2024-02-20 François Dumont <fdumont@gcc.gnu.org> | |
| * include/bits/stl_algobase.h (std::__niter_wrap): Add a call to | |
| std::__niter_base on res iterator. | |
| 2024-02-19 Iain Sandoe <iain@sandoe.co.uk> | |
| Jonathan Wakely <jwakely@redhat.com> | |
| PR target/112397 | |
| * configure: Regenerate. | |
| * configure.ac: Detect if we are building for Darwin. | |
| * libsupc++/Makefile.am: If we are building for Darwin, then | |
| suppress hot/cold partitioning for the array allocators. | |
| * libsupc++/Makefile.in: Regenerated. | |
| 2024-02-17 François Dumont <fdumont@gcc.gnu.org> | |
| * include/bits/stl_algobase.h (std::__niter_base): Redefine the overload | |
| definitions for __gnu_debug::_Safe_iterator. | |
| * include/debug/safe_iterator.tcc (std::__niter_base): Adapt declarations. | |
| 2024-02-16 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/87744 | |
| PR libstdc++/113961 | |
| * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error | |
| line number. | |
| 2024-02-16 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/87744 | |
| PR libstdc++/113931 | |
| * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error | |
| line number. | |
| 2024-02-16 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/debug_mode.xml: Update docs for backtraces. | |
| * doc/html/manual/debug_mode_using.html: Regenerate. | |
| 2024-02-16 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/test.xml: Fix spelling of <envar> elements. | |
| * doc/html/manual/test.html: Regenerate. | |
| 2024-02-15 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113806 | |
| * include/std/bitset (bitset::operator>>=): Remove redundant | |
| call to _M_do_sanitize. | |
| 2024-02-15 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113807 | |
| * include/std/bitset (bitset::set()): Use memset instead of a | |
| loop over the individual words. | |
| 2024-02-15 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113811 | |
| * include/bits/stl_algo.h (__rotate): Use unsigned values for | |
| division. | |
| 2024-02-15 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/99117 | |
| * include/std/valarray (valarray::operator=(const _Expr&)): | |
| Use loop to copy instead of __valarray_copy with _Array. | |
| * testsuite/26_numerics/valarray/99117.cc: New test. | |
| 2024-02-15 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++20/tzdata.zi: Import new file from 2024a release. | |
| * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds) | |
| Update expiry date for leap seconds list. | |
| 2024-02-15 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/87744 | |
| * include/bits/random.h [!__SIZEOF_INT128__] (_Select_uint_least_t): | |
| Define specialization for 64-bit generators with | |
| non-power-of-two modulus and large constants. | |
| (__mod): Use if constexpr unconditionally. | |
| * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error | |
| line number. | |
| * testsuite/26_numerics/random/linear_congruential_engine/87744.cc: | |
| New test. | |
| 2024-02-14 Gerald Pfeifer <gerald@pfeifer.com> | |
| * doc/xml/manual/status_cxx2023.xml: Fix C++ item p2442 to be | |
| version 1. | |
| * doc/html/manual/status.html: Regenerate. | |
| 2024-02-12 Paul Keir <paul.keir@uws.ac.uk> | |
| PR libstdc++/113294 | |
| * include/bits/basic_string.h (basic_string::operator=): Use | |
| _M_use_local_data() instead of _M_local_buf on the moved-from | |
| string. | |
| * testsuite/21_strings/basic_string/modifiers/constexpr.cc | |
| (test_move): New test. | |
| 2024-02-09 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_IS_SAME): | |
| Removed. | |
| * include/std/type_traits (is_same): Use | |
| _GLIBCXX_USE_BUILTIN_TRAIT instead of | |
| _GLIBCXX_HAVE_BUILTIN_IS_SAME. | |
| (is_same_v): Likewise. | |
| 2024-02-08 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/shared_ptr_atomic.h: Fix typo in comment. | |
| 2024-02-08 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/100147 | |
| * include/bits/gslice.h (operator=): Add comment about lack of | |
| self-assignment check. | |
| 2024-02-08 Jonathan Wakely <jwakely@redhat.com> | |
| * include/tr2/type_traits (bases, direct_bases): Use | |
| __has_builtin to check if required built-ins are supported. | |
| 2024-02-07 Patrick Palka <ppalka@redhat.com> | |
| PR testsuite/113710 | |
| PR c++/113814 | |
| * include/bits/stl_pair.h (tuple_element): Add forward | |
| declaration of the partial specialization for tuple. | |
| 2024-02-06 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> | |
| * testsuite/lib/libstdc++.exp: Use "nul" for Windows, "/dev/null" | |
| for other environments. | |
| 2024-02-04 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/format (__format::_Spec::_M_reserved): Define new | |
| bit-field members to reserve padding bits for future extensions. | |
| 2024-02-04 Jonathan Wakely <jwakely@redhat.com> | |
| * src/experimental/Makefile.am: Use libstdc++fsconvenience.a | |
| instead of libstdc++fs.a. | |
| * src/experimental/Makefile.in: Regenerate. | |
| * src/filesystem/Makefile.am: Build libstdc++fsconvenience.a as | |
| well. | |
| * src/filesystem/Makefile.in: Regenerate. | |
| 2024-02-04 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/text_encoding-data.h: Regenerate. | |
| * include/bits/unicode-data.h: Regenerate. | |
| * scripts/gen_text_encoding_data.py: Add copyright and license | |
| text to the output. | |
| 2024-02-02 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113335 | |
| * include/bits/std_function.h (__function_guide_helper): Add | |
| partial specialization for explicit object member functions, as | |
| per LWG 3617. | |
| * testsuite/20_util/function/cons/deduction_c++23.cc: Check | |
| explicit object member functions. | |
| * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc: | |
| Likewise. | |
| 2024-02-02 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/17_intro/names.cc [_AIX]: Undefine "u". | |
| 2024-02-02 Jonathan Wakely <jwakely@redhat.com> | |
| * include/experimental/internet (network_v6::network): Define. | |
| (network_v6::hosts): Finish implementing. | |
| (network_v6::to_string): Do not concatenate std::string to | |
| arbitrary std::basic_string specialization. | |
| * testsuite/experimental/net/internet/network/v6/cons.cc: New | |
| test. | |
| 2024-02-02 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/90276 | |
| * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: Fix | |
| comparison function to use less-than instead of equality. | |
| 2024-02-02 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/90276 | |
| * testsuite/util/pstl/test_utils.h (reverse_invoker): Do not use | |
| perfect forwarding for iterator arguments. | |
| 2024-02-02 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/string_view (basic_string_view(R&&)): Remove | |
| constraint that traits_type must be the same, as per LWG 3857. | |
| * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: | |
| Explicit conversion between different specializations should be | |
| allowed. | |
| * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: | |
| Likewise. | |
| 2024-02-02 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/syncstream (basic_osyncstream::operator=): Remove | |
| noexcept, as per LWG 3867. | |
| 2024-02-02 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/generator (promise_type::yield_value): Remove | |
| noexcept from fourth overload, as per LWG 3894. | |
| 2024-02-01 Patrick Palka <ppalka@redhat.com> | |
| PR libstdc++/113309 | |
| PR libstdc++/109203 | |
| * include/bits/ranges_util.h (__detail::__pair_like): Don't | |
| define in C++23 mode. | |
| (__detail::__pair_like_convertible_from): Adjust as per P2165R4. | |
| (__detail::__is_subrange<subrange>): Moved from <ranges>. | |
| (__detail::__is_tuple_like_v<subrange>): Likewise. | |
| * include/bits/stl_iterator.h: Include <bits/utility.h> for | |
| C++23. | |
| (__different_from): Move to <concepts>. | |
| (__iter_key_t): Adjust for C++23 as per P2165R4. | |
| (__iter_val_t): Likewise. | |
| * include/bits/stl_pair.h (pair, array): Forward declare. | |
| (get): Forward declare all overloads relevant to P2165R4 | |
| tuple-like constructors. | |
| (__is_tuple_v): Define for C++23. | |
| (__is_tuple_like_v): Define for C++23. | |
| (__tuple_like): Define for C++23 as per P2165R4. | |
| (__pair_like): Define for C++23 as per P2165R4. | |
| (__eligibile_tuple_like): Define for C++23. | |
| (__eligibile_pair_like): Define for C++23. | |
| (pair::_S_constructible_from_pair_like): Define for C++23. | |
| (pair::_S_convertible_from_pair_like): Define for C++23. | |
| (pair::_S_dangles_from_pair_like): Define for C++23. | |
| (pair::pair): Define overloads taking a tuple-like type for | |
| C++23 as per P2165R4. | |
| (pair::_S_assignable_from_tuple_like): Define for C++23. | |
| (pair::_S_const_assignable_from_tuple_like): Define for C++23. | |
| (pair::operator=): Define overloads taking a tuple-like type for | |
| C++23 as per P2165R4. | |
| * include/bits/utility.h (ranges::__detail::__is_subrange): | |
| Moved from <ranges>. | |
| * include/bits/version.def (tuple_like): Define for C++23. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/concepts (__different_from): Moved from | |
| <bits/stl_iterator.h>. | |
| (ranges::__swap::__adl_swap): Clarify which __detail namespace. | |
| * include/std/map (__cpp_lib_tuple_like): Define C++23. | |
| * include/std/ranges (__detail::__is_subrange): Moved to | |
| <bits/utility.h>. | |
| (__detail::__is_subrange<subrange>): Moved to <bits/ranges_util.h> | |
| (__detail::__has_tuple_element): Adjust for C++23 as per P2165R4. | |
| (__detail::__tuple_or_pair): Remove as per P2165R4. Replace all | |
| uses with plain tuple as per P2165R4. | |
| * include/std/tuple (__cpp_lib_tuple_like): Define for C++23. | |
| (__tuple_like_tag_t): Define for C++23. | |
| (__tuple_cmp): Forward declare for C++23. | |
| (_Tuple_impl::_Tuple_impl): Define overloads taking | |
| __tuple_like_tag_t and a tuple-like type for C++23. | |
| (_Tuple_impl::_M_assign): Likewise. | |
| (tuple::__constructible_from_tuple_like): Define for C++23. | |
| (tuple::__convertible_from_tuple_like): Define for C++23. | |
| (tuple::__dangles_from_tuple_like): Define for C++23. | |
| (tuple::tuple): Define overloads taking a tuple-like type for | |
| C++23 as per P2165R4. | |
| (tuple::__assignable_from_tuple_like): Define for C++23. | |
| (tuple::__const_assignable_from_tuple_like): Define for C++23. | |
| (tuple::operator=): Define overloads taking a tuple-like type | |
| for C++23 as per P2165R4. | |
| (tuple::__tuple_like_common_comparison_category): Define for C++23. | |
| (tuple::operator<=>): Define overload taking a tuple-like type | |
| for C++23 as per P2165R4. | |
| (array, get): Forward declarations moved to <bits/stl_pair.h>. | |
| (tuple_cat): Constrain with __tuple_like for C++23 as per P2165R4. | |
| (apply): Likewise. | |
| (make_from_tuple): Likewise. | |
| (__tuple_like_common_reference): Define for C++23. | |
| (basic_common_reference): Adjust as per P2165R4. | |
| (__tuple_like_common_type): Define for C++23. | |
| (common_type): Adjust as per P2165R4. | |
| * include/std/unordered_map (__cpp_lib_tuple_like): Define for | |
| C++23. | |
| * include/std/utility (__cpp_lib_tuple_like): Define for C++23. | |
| * testsuite/std/ranges/zip/1.cc (test01): Adjust to handle pair | |
| and 2-tuple interchangeably. | |
| (test05): New test. | |
| * testsuite/20_util/pair/p2165r4.cc: New test. | |
| * testsuite/20_util/tuple/p2165r4.cc: New test. | |
| 2024-02-01 Patrick Palka <ppalka@redhat.com> | |
| * include/bits/stl_pair.h (pair::_S_const_assignable): Define, | |
| factored out from ... | |
| (pair::operator=): ... the constraints of the const overloads. | |
| 2024-02-01 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/version.tpl: Do not use def-file-line for each | |
| macro being defined. | |
| * include/bits/version.h: Regenerate. | |
| 2024-02-01 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust | |
| dg-error pattern. | |
| * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: | |
| Likewise. | |
| * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: | |
| Likewise. | |
| 2024-02-01 Jonathan Wakely <jwakely@redhat.com> | |
| * include/experimental/internet (network_v4::to_string()): | |
| Remove lambda and use of resize_and_overwrite. | |
| 2024-01-31 Jonathan Wakely <jwakely@redhat.com> | |
| * acinclude.m4 (GLIBCXX_CHECK_TEXT_ENCODING): Use <xlocale.h> if | |
| needed for newlocale. | |
| * configure: Regenerate. | |
| * src/c++26/text_encoding.cc: Use <xlocale.h>. | |
| 2024-01-31 Jonathan Wakely <jwakely@redhat.com> | |
| Ewan Higgs <ewan.higgs@gmail.com> | |
| * include/bits/text_encoding-data.h: Regenerate. | |
| * scripts/gen_text_encoding_data.py: Add extra_aliases dict | |
| containing "ASCII". | |
| * testsuite/std/text_encoding/cons.cc: Check "ascii" is known. | |
| 2024-01-31 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/using.xml: Update tables of supported headers. | |
| * doc/html/*: Regenerate. | |
| 2024-01-31 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/bitset (_Base_bitset::_M_do_to_ullong): Avoid | |
| -Wshift-count-overflow warning. | |
| 2024-01-30 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/std/time/clock/gps/io.cc: Fix expected result in | |
| assertion and call test_format() from main. | |
| 2024-01-29 François Dumont <fdumont@gcc.gnu.org> | |
| * doc/xml/manual/debug_mode.xml: Link against libstdc++exp.a to use | |
| _GLIBCXX_DEBUG_BACKTRACE macro. | |
| 2024-01-24 Huanghui Nie <nnnjkk@gmail.com> | |
| Théo Papadopoulo <papadopoulo@gmail.com> | |
| * include/bits/hashtable.h (_Hahstable<>::_M_remove_bucket_begin): Remove | |
| _M_before_begin check and cleanup implementation. | |
| 2024-01-22 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/std/time/clock/file/io.cc: Fix expected result in | |
| assertion and call test_format() from main. | |
| 2024-01-21 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113500 | |
| * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix | |
| printing of subseconds with floating-point rep. | |
| (__formatter_chrono::_M_format_to_ostream): Do not write | |
| time_point specializations directly to the ostream. | |
| (formatter<chrono::sys_time<D>, C>::parse): Do not allow an | |
| empty chrono-spec if the type fails to meet the constraints for | |
| writing to an ostream with operator<<. | |
| * testsuite/std/time/clock/file/io.cc: Check formatting | |
| non-integral times with empty chrono-specs. | |
| * testsuite/std/time/clock/gps/io.cc: Likewise. | |
| * testsuite/std/time/clock/utc/io.cc: Likewise. | |
| * testsuite/std/time/hh_mm_ss/io.cc: Likewise. | |
| 2024-01-21 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/chrono.h (__file_clock::from_sys) | |
| (__file_clock::to_sys, __file_clock::_S_from_sys) | |
| (__file_clock::_S_to_sys): Use common_type for return type. | |
| * testsuite/std/time/clock/file/members.cc: Check round trip | |
| conversion for time with lower precision that seconds. | |
| 2024-01-21 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113512 | |
| * include/std/format (__formatter_fp::format): Fix logic for | |
| alternate forms. | |
| * testsuite/std/format/functions/format.cc: Check buggy cases of | |
| alternate forms with g presentation type. | |
| 2024-01-20 Marek Polacek <polacek@redhat.com> | |
| PR c++/111410 | |
| * include/std/ranges: Add #pragma to disable -Wdangling-reference with | |
| std::ranges::views::__adaptor::operator|. | |
| 2024-01-19 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/format (_Spec::_M_parse_fill_and_align): Do not | |
| use CTAD for _Utf32_view. | |
| 2024-01-19 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/108822 | |
| * include/std/tuple (__glibcxx_no_dangling_refs) [C++17]: Fix | |
| wrong fold-operator. | |
| * testsuite/20_util/tuple/dangling_ref.cc: Check tuples with one | |
| element and three elements. Check allocator-extended | |
| constructors. | |
| 2024-01-19 Patrick Palka <ppalka@redhat.com> | |
| * include/precompiled/stdc++.h [_GLIBCXX_HOSTED]: Include | |
| <print> and <text_encoding> for C++23 and C++26 respectively. | |
| 2024-01-18 Patrick Palka <ppalka@redhat.com> | |
| * include/bits/stl_pair.h [__cplusplus > 202002L]: | |
| Guard P2321R2 changes with __glibcxx_ranges_zip instead. | |
| 2024-01-18 Patrick Palka <ppalka@redhat.com> | |
| * include/std/tuple [__cplusplus > 202002L]: Guard P2321R2 | |
| changes with __cpp_lib_ranges_zip instead. | |
| 2024-01-18 Patrick Palka <ppalka@redhat.com> | |
| PR libstdc++/109536 | |
| * include/debug/safe_base.h (_Safe_sequence_base::_M_swap): | |
| Remove _GLIBCXX20_CONSTEXPR from non-inline member function. | |
| * include/debug/safe_iterator.h | |
| (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_BEGIN): Define. | |
| (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_END): Define. | |
| (_Safe_iterator::operator=): Use them around the code path that | |
| defines a variable of type __gnu_cxx::__scoped_lock. | |
| (_Safe_iterator::operator++): Likewise. | |
| (_Safe_iterator::operator--): Likewise. | |
| (_Safe_iterator::operator+=): Likewise. | |
| (_Safe_iterator::operator-=): Likewise. | |
| * testsuite/23_containers/vector/element_access/constexpr.cc | |
| (test_iterators): Test more iterator operations. | |
| * testsuite/23_containers/vector/bool/element_access/constexpr.cc | |
| (test_iterators): Likewise. | |
| * testsuite/std/ranges/adaptors/all.cc (test08) [_GLIBCXX_DEBUG]: | |
| Remove. | |
| 2024-01-18 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/unicode.h (__charset_alias_match): Initialize | |
| __var_a and __var_b. | |
| 2024-01-18 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113450 | |
| * testsuite/std/format/functions/format.cc: Use signed char | |
| instead of int8_t. | |
| 2024-01-17 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113318 | |
| * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++26 directory. | |
| (GLIBCXX_CHECK_TEXT_ENCODING): Define. | |
| * config.h.in: Regenerate. | |
| * configure: Regenerate. | |
| * configure.ac: Use GLIBCXX_CHECK_TEXT_ENCODING. | |
| * include/Makefile.am: Add new headers. | |
| * include/Makefile.in: Regenerate. | |
| * include/bits/locale_classes.h (locale::encoding): Declare new | |
| member function. | |
| * include/bits/unicode.h (__charset_alias_match): New function. | |
| * include/bits/text_encoding-data.h: New file. | |
| * include/bits/version.def (text_encoding): Define. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/text_encoding: New file. | |
| * src/Makefile.am: Add new subdirectory. | |
| * src/Makefile.in: Regenerate. | |
| * src/c++26/Makefile.am: New file. | |
| * src/c++26/Makefile.in: New file. | |
| * src/c++26/text_encoding.cc: New file. | |
| * src/experimental/Makefile.am: Include c++26 convenience | |
| library. | |
| * src/experimental/Makefile.in: Regenerate. | |
| * python/libstdcxx/v6/printers.py (StdTextEncodingPrinter): New | |
| printer. | |
| * scripts/gen_text_encoding_data.py: New file. | |
| * testsuite/22_locale/locale/encoding.cc: New test. | |
| * testsuite/ext/unicode/charset_alias_match.cc: New test. | |
| * testsuite/std/text_encoding/cons.cc: New test. | |
| * testsuite/std/text_encoding/members.cc: New test. | |
| * testsuite/std/text_encoding/requirements.cc: New test. | |
| 2024-01-17 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/unicode.h (_Grapheme_cluster_view): Require view. | |
| Do not use CTAD for _Utf32_view. | |
| (__format_width, __truncate): Do not use CTAD. | |
| (enable_borrowed_range<_Utf_view<T, R>>): Define specialization. | |
| (enable_borrowed_range<_Grapheme_cluster_view<R>>): Likewise. | |
| 2024-01-17 Patrick Palka <ppalka@redhat.com> | |
| * include/std/ranges (views::_CartesianProduct::operator()): | |
| Adjust identity case as per P2540R1. | |
| * testsuite/std/ranges/cartesian_product/1.cc (test01): | |
| Adjust expected result of the identity case. | |
| 2024-01-15 Patrick Palka <ppalka@redhat.com> | |
| * include/std/variant (__detail::__variant::_Variadic_union): | |
| Add bool __trivially_destructible template parameter. | |
| (__detail::__variant::_Variadic_union::~_Variadic_union): | |
| Use __trivially_destructible in constraints instead. | |
| (__detail::__variant::_Variant_storage): Pass | |
| __trivially_destructible value to _Variadic_union. | |
| 2024-01-15 Patrick Palka <ppalka@redhat.com> | |
| * include/bits/stl_iterator.h (const_iterator): Define conversion | |
| operators as per P2836R1. | |
| * include/bits/version.def (ranges_as_const): Update value. | |
| * include/bits/version.h: Regenerate. | |
| * testsuite/24_iterators/const_iterator/1.cc (test04): New test. | |
| * testsuite/std/ranges/adaptors/as_const/1.cc: Adjust expected | |
| value of __cpp_lib_ranges_as_const. | |
| * testsuite/std/ranges/version_c++23.cc: Likewise. | |
| 2024-01-15 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/108822 | |
| * include/std/tuple (__assignable, __is_nothrow_assignable): | |
| Move pre-C++20 definitions adjacent to their use. | |
| 2024-01-15 Jonathan Wakely <jwakely@redhat.com> | |
| PR testsuite/113366 | |
| * include/std/format (basic_format_arg): Use __formattable | |
| variable template instead of __format::__formattable_with | |
| concept. | |
| 2024-01-15 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++20/tzdata.zi: Import new file from 2023d release. | |
| * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds) | |
| Update expiry date for leap seconds list. | |
| 2024-01-13 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/108822 | |
| * include/std/tuple (tuple): Add checks for dangling references. | |
| Reimplement constraints and constant expressions using C++20 | |
| features. | |
| * include/std/type_traits [C++20] | |
| (__is_implicitly_default_constructible_v): Define. | |
| (__is_implicitly_default_constructible): Use variable template. | |
| * testsuite/20_util/tuple/dangling_ref.cc: New test. | |
| 2024-01-13 Patrick Palka <ppalka@redhat.com> | |
| PR libstdc++/108827 | |
| PR libstdc++/111327 | |
| * include/bits/version.def (bind_back): Define. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/functional (_Bind_back): Define for C++23. | |
| (bind_back): Likewise. | |
| * testsuite/20_util/function_objects/bind_back/1.cc: New test | |
| (adapted from corresponding bind_front test). | |
| * testsuite/20_util/function_objects/bind_back/111327.cc: Likewise. | |
| 2024-01-13 Patrick Palka <ppalka@redhat.com> | |
| * include/std/functional (_Bind_front): Remove =default special | |
| member function declarations. | |
| (_Bind_front::operator()): Implement using C++23 deducing this | |
| when available. | |
| * testsuite/20_util/function_objects/bind_front/111327.cc: | |
| Adjust testcase to expect better errors in C++23 mode. | |
| 2024-01-13 Patrick Palka <ppalka@redhat.com> | |
| * include/std/ranges (views::__adaptor::operator|): Perform | |
| perfect forwarding of arguments. | |
| (views::__adaptor::_RangeAdaptor::operator()): Pass dummy | |
| first argument to _Partial. | |
| (views::__adaptor::_Partial::_Partial): Likewise. Add dummy | |
| first parameter. | |
| (views::__adaptor::_Pipe::_Pipe): Perform perfect forwarding | |
| of arguments. | |
| (to): Pass dummy first argument to _Partial. | |
| 2024-01-13 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/107466 | |
| * include/bits/random.tcc (subtract_with_carry_engine::seed): | |
| Implement proposed resolution of LWG 4014. | |
| * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error | |
| line number. | |
| * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc: | |
| Check for expected result of 64-bit engine with seed that | |
| doesn't fit in 32-bits. | |
| 2024-01-12 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113320 | |
| * include/std/format (__format::_Runtime_format_string): Add | |
| constructor and disable copy operations. | |
| (basic_format_string(_Runtime_format_string)): Add noexcept and | |
| take parameter by value not rvalue reference. | |
| (runtime_format): Add noexcept. | |
| * testsuite/std/format/runtime_format.cc: Check noexcept. Check | |
| that construction is only possible from prvalues, not xvalues. | |
| 2024-01-12 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/105505 | |
| * include/bits/stl_pair.h (pair::pair(U1&&, U2&&)) [C++23]: Add | |
| default template arguments, as per P1951R1. | |
| * testsuite/20_util/pair/cons/default_tmpl_args.cc: New test. | |
| 2024-01-12 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/format (__format::_Arg_store): Fix PR number in | |
| comment. Simplify preprocessor code. | |
| 2024-01-11 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/evolution.xml: Fix spelling. | |
| * doc/html/manual/api.html: Regenerate. | |
| 2024-01-11 Jonathan Wakely <jwakely@redhat.com> | |
| * doc/xml/manual/evolution.xml: Document addition of | |
| libstdc++exp.a. | |
| * doc/html/*: Regenerate. | |
| 2024-01-11 Marcus Haehnel <marcus.haehnel@kernkonzept.com> | |
| * libsupc++/eh_unex_handler.cc: Adjust definition type to | |
| declaration. | |
| 2024-01-11 Michael Levine <mlevine55@bloomberg.net> | |
| * include/std/ranges (__glibcxx_want_ranges_iota): Remove | |
| duplicate definition. | |
| 2024-01-11 François Dumont <fdumont@gcc.gnu.org> | |
| PR libstdc++/112477 | |
| * src/c++11/debug.cc | |
| (_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null | |
| sequence. | |
| (_Safe_iterator_base::_M_attach_single): Likewise. | |
| (_Safe_local_iterator_base::_M_attach): Likewise. | |
| (_Safe_local_iterator_base::_M_attach_single): Likewise. | |
| * testsuite/23_containers/map/debug/112477.cc: New test case. | |
| 2024-01-11 Patrick Palka <ppalka@redhat.com> | |
| * include/bits/move.h (__like_t): Define in C++23 mode. | |
| * include/std/ranges (views::__adaptor::Partial::operator()): | |
| Implement using C++23 deducing this when available. | |
| (views::__adaptor::_Pipe::operator()): Likewise. | |
| * testsuite/std/ranges/adaptors/100577.cc: Adjust testcase to | |
| accept new "no match for call" errors issued in C++23 mode. | |
| * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise. | |
| 2024-01-11 Jonathan Wakely <jwakely@redhat.com> | |
| * python/libstdcxx/v6/printers.py (StdIntegralConstantPrinter): | |
| Add printer for std::integral_constant. | |
| * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it. | |
| 2024-01-11 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113258 | |
| * libsupc++/new_opa.cc: Prefer to use posix_memalign if | |
| available. | |
| 2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * src/filesystem/ops-common.h (stat_type): Use using. | |
| 2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> | |
| PR libstdc++/113250 | |
| * src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&. | |
| * src/filesystem/ops.cc (fs::equivalent): Likewise. | |
| * testsuite/27_io/filesystem/operations/equivalent.cc: Handle | |
| error codes. | |
| * testsuite/experimental/filesystem/operations/equivalent.cc: | |
| Likewise. | |
| 2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits (is_compound): Do not use __not_. | |
| (is_compound_v): Use is_fundamental_v instead. | |
| 2024-01-11 Patrick Palka <ppalka@redhat.com> | |
| * include/bits/utility.h (_Nth_type): Use | |
| _GLIBCXX_USE_BUILTIN_TRAIT instead of __has_builtin. | |
| 2024-01-09 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/unicode-data.h: Regenerate. | |
| * include/bits/unicode.h (_Utf_iterator::operator++()): Fix off | |
| by one error. | |
| (__incb_property): Add missing check for values before the | |
| first edge. | |
| (__is_extended_pictographic): Invert return values to fix | |
| copy&pasted logic. | |
| (_Grapheme_cluster_view::_Iterator): Remove second iterator | |
| member and find end of cluster lazily. | |
| * testsuite/ext/unicode/grapheme_view.cc: New test. | |
| * testsuite/ext/unicode/properties.cc: New test. | |
| * testsuite/ext/unicode/view.cc: New test. | |
| 2024-01-09 Andreas Schwab <schwab@linux-m68k.org> | |
| * scripts/extract_symvers.in: Require final colon to only match | |
| .dsynsym in the header of the dynamic symtab. | |
| 2024-01-09 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/chrono_io.h (__formatter_chrono::_M_F): Simplify | |
| handling of string returned from std::format. | |
| (__formatter_chrono::_M_R_T): Likewise. | |
| 2024-01-08 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/unicode.h (__null_sentinel): Remove. | |
| * testsuite/17_intro/names.cc: Add __null_sentinel. | |
| 2024-01-08 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/format (__format::_Runtime_format_string): Define | |
| new class template. | |
| (basic_format_string): Add non-consteval constructor for runtime | |
| format strings. | |
| (runtime_format): Define new function for C++26. | |
| * testsuite/std/format/runtime_format.cc: New test. | |
| 2024-01-08 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/chrono_io.h (__formatter_chrono): Always use | |
| lvalue arguments to make_format_args. | |
| * include/std/format (make_format_args): Change parameter pack | |
| from forwarding references to lvalue references. Remove use of | |
| remove_reference_t which is now unnecessary. | |
| (format_to, formatted_size): Remove incorrect forwarding of | |
| arguments. | |
| * include/std/ostream (print): Remove forwarding of arguments. | |
| * include/std/print (print): Likewise. | |
| * testsuite/20_util/duration/io.cc: Use lvalues as arguments to | |
| make_format_args. | |
| * testsuite/std/format/arguments/args.cc: Likewise. | |
| * testsuite/std/format/arguments/lwg3810.cc: Likewise. | |
| * testsuite/std/format/functions/format.cc: Likewise. | |
| * testsuite/std/format/functions/vformat_to.cc: Likewise. | |
| * testsuite/std/format/string.cc: Likewise. | |
| * testsuite/std/time/day/io.cc: Likewise. | |
| * testsuite/std/time/month/io.cc: Likewise. | |
| * testsuite/std/time/weekday/io.cc: Likewise. | |
| * testsuite/std/time/year/io.cc: Likewise. | |
| * testsuite/std/time/year_month_day/io.cc: Likewise. | |
| * testsuite/std/format/arguments/args_neg.cc: New test. | |
| 2024-01-08 Jonathan Wakely <jwakely@redhat.com> | |
| * include/Makefile.am: Add new headers. | |
| * include/Makefile.in: Regenerate. | |
| * include/bits/unicode.h: New file. | |
| * include/bits/unicode-data.h: New file. | |
| * include/std/format: Include <bits/unicode.h>. | |
| (__literal_encoding_is_utf8): Move to <bits/unicode.h>. | |
| (_Spec::_M_fill): Change type to char32_t. | |
| (_Spec::_M_parse_fill_and_align): Read a Unicode scalar value | |
| instead of a single character. | |
| (__write_padded): Change __fill_char parameter to char32_t and | |
| encode it into the output. | |
| (__formatter_str::format): Use new __unicode::__field_width and | |
| __unicode::__truncate functions. | |
| * include/std/ostream: Adjust namespace qualification for | |
| __literal_encoding_is_utf8. | |
| * include/std/print: Likewise. | |
| * src/c++23/print.cc: Add [[unlikely]] attribute to error path. | |
| * testsuite/ext/unicode/view.cc: New test. | |
| * testsuite/std/format/functions/format.cc: Add missing examples | |
| from the standard demonstrating alignment with non-ASCII | |
| characters. Add examples checking correct handling of extended | |
| grapheme clusters. | |
| 2024-01-08 Jonathan Wakely <jwakely@redhat.com> | |
| * include/bits/version.def (format_uchar): Define. | |
| * include/bits/version.h: Regenerate. | |
| * include/std/format (formatter<C, C>::format): Check for | |
| _Pres_c and call _M_format_character directly. Cast C to its | |
| unsigned equivalent for formatting as an integer. | |
| (formatter<char, wchar_t>::format): Likewise. | |
| (basic_format_arg(T&)): Store char arguments as unsigned char | |
| for formatting to a wide string. | |
| * testsuite/std/format/functions/format.cc: Adjust test. Check | |
| formatting of | |
| 2024-01-07 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/112997 | |
| * libsupc++/unwind-cxx.h (__cxa_call_terminate): Change first | |
| parameter to void*. | |
| 2024-01-07 Jonathan Wakely <jwakely@redhat.com> | |
| * testsuite/20_util/variant/87619.cc: Remove dg-timeout-factor. | |
| 2024-01-07 Jonathan Wakely <jwakely@redhat.com> | |
| * include/std/type_traits (is_trivially_destructible_v): Use | |
| built-in directly when concepts are supported. | |
| * testsuite/20_util/is_trivially_destructible/value_v.cc: New | |
| test. | |
| 2024-01-06 Gwenole Beauchesne <gb.devel@gmail.com> | |
| * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Use | |
| nonnull arguments to strtoimax() and wcstoimax() functions. | |
| 2024-01-05 Jonathan Wakely <jwakely@redhat.com> | |
| * src/c++17/fs_path.cc (path::_List::reserve): Limit maximum | |
| size and check for overflows in arithmetic. | |
| (path::operator/=(const path&)): Remove redundant exponential | |
| growth calculation. | |
| 2024-01-05 Martin Küttler <martin.kuettler@kernkonzept.com> | |
| * src/c++17/fs_path.cc (path::_List::reserve): Avoid | |
| floating-point arithmetic. | |
| 2024-01-05 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113241 | |
| * include/std/type_traits (is_convertible_v): Guard use of | |
| built-in with preprocessor check. | |
| 2024-01-05 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113200 | |
| * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use | |
| __builtin_constant_p to check for unrelated pointers that cannot | |
| be compared during constant evaluation. | |
| * testsuite/21_strings/char_traits/requirements/113200.cc: New | |
| test. | |
| 2024-01-05 Cassio Neri <cassio.neri@gmail.com> | |
| * include/std/chrono: Fix + and - for months and weekdays. | |
| * testsuite/std/time/month/1.cc: Add constexpr tests against overflow. | |
| * testsuite/std/time/month/2.cc: New test for extreme values. | |
| * testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow. | |
| * testsuite/std/time/weekday/2.cc: New test for extreme values. | |
| 2024-01-05 Jonathan Wakely <jwakely@redhat.com> | |
| PR libstdc++/113099 | |
| * include/bits/locale_classes.tcc (__try_use_facet): Use | |
| if-constexpr for C++11 and up. | |
| 2024-01-05 Ken Matsui <kmatsui@gcc.gnu.org> | |
| * include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT. | |
| 2024-01-04 Arsen Arsenović <arsen@aarsen.me> | |
| * include/std/generator (_Subyield_state::_M_jump_in): Fix typo | |
| reported by Will Hawkins <hawkinsw@obs.cr>. | |
| 2024-01-04 Arsen Arsenović <arsen@aarsen.me> | |
| * include/std/generator (_Stateless_alloc): Rename typename _A | |
| to _All. | |
| 2024-01-03 Patrick Palka <ppalka@redhat.com> | |
| PR testsuite/113175 | |
| * testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce | |
| 'limit' to 100 from 1000 and adjust 'log2_limit' accordingly. | |
| (test03): Likewise. | |
| Copyright (C) 2024 Free Software Foundation, Inc. | |
| Copying and distribution of this file, with or without modification, | |
| are permitted in any medium without royalty provided the copyright | |
| notice and this notice are preserved. |