mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-23 02:44:18 +08:00
6310 lines
226 KiB
Plaintext
6310 lines
226 KiB
Plaintext
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.
|