diff options
Diffstat (limited to 'libstdc++-v3/ChangeLog')
-rw-r--r-- | libstdc++-v3/ChangeLog | 335 |
1 files changed, 335 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 59c784378d9..461cc8a7086 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,338 @@ +2022-04-27 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/aarch64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. + +2022-04-27 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (SharedPointerPrinter): Add + support for atomic<shared_ptr<T>> and atomic<weak_ptr<T>>. + (StdAtomicPrinter): New printer. + (build_libstdcxx_dictionary): Register new printer. + * testsuite/libstdc++-prettyprinters/cxx11.cc: Test std::atomic. + * testsuite/libstdc++-prettyprinters/cxx20.cc: Test atomic smart + pointers. + +2022-04-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr_atomic.h (atomic<shared_ptr>): Add + constructor for constant initialization from nullptr_t. + * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: + Check for new constructor. + +2022-04-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/fs_path.h (hash<filesystem::path>): Define. + * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: + Check std::hash specialization. + +2022-04-25 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define + conditionally. + * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory): + Define for C++23. + (default_delete, default_delete<T[]>, __uniq_ptr_impl) + (unique_ptr, unique_ptr<T[], D>): Add constexpr to all member + functions. + * include/std/version (__cpp_lib_constexpr_memory): Define new + value for C++23. + * testsuite/20_util/unique_ptr/assign/constexpr.cc: New test. + * testsuite/20_util/unique_ptr/comparison/constexpr.cc: New test. + * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: New test. + * testsuite/20_util/unique_ptr/creation/constexpr.cc: New test. + * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: New test. + * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: + New test. + +2022-04-25 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105375 + * include/std/future (packaged_task): Add deduction guides. + * testsuite/30_threads/packaged_task/cons/deduction.cc: New test. + +2022-04-25 Philipp Fent <fent@in.tum.de> + + * python/libstdcxx/v6/printers.py (StdSpanPrinter._iterator): + Rename as iterator. + (StdInitializerListPrinter): Define new printer. + (build_libstdcxx_dictionary): Register new printer. + * testsuite/libstdc++-prettyprinters/cxx11.cc: Check printer for + initializer_list. + +2022-04-22 Thomas W Rodgers <trodgers@redhat.com> + + PR libstdc++/102994 + * include/bits/atomic_base.h (atomic_flag::notify_one, + notify_all): Remove const qualification. + (__atomic_base::notify_one, notify_all): Likewise. + * include/std/atomic (atomic<bool>::notify_one, notify_all): + Likewise. + (atomic::notify_one, notify_all): Likewise. + (atomic<T*>::notify_one, notify_all): Likewise. + (atomic_notify_one, atomic_notify_all): Likewise. + * testsuite/29_atomics/atomic/wait_notify/102994.cc: Adjust test + to account for change in notify_one/notify_all signature. + +2022-04-21 Patrick Palka <ppalka@redhat.com> + + * include/std/charconv (__from_chars_alnum_to_val_table): + Simplify initialization of __lower/__upper_letters. + (__from_chars_alnum_to_val): Default the template parameter to + false. + * src/c++17/floating_from_chars.cc (starts_with_ci): Don't + assume the uppercase and lowercase letters are contiguous. + (__floating_from_chars_hex): Likewise. + +2022-04-21 Patrick Palka <ppalka@redhat.com> + + PR c++/105297 + PR c++/105322 + * include/std/charconv (__from_chars_alnum_to_val): Make + initializer for __table dependent in an artificial way. + +2022-04-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105324 + * src/c++17/floating_from_chars.cc (buffer_resource::do_allocate): + Remove assertion. + * testsuite/20_util/from_chars/pr105324.cc: New test. + +2022-04-20 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: + Check correct feature test macro. + +2022-04-20 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/93602 + * doc/xml/manual/prerequisites.xml: Document libiconv + workarounds. + * doc/html/manual/setup.html: Regenerate. + * src/Makefile.am (CXXLINK): Add $(LTLIBICONV). + * src/Makefile.in: Regenerate. + +2022-04-19 Patrick Palka <ppalka@redhat.com> + + * src/c++17/floating_to_chars.cc (_GLIBCXX_ASSERTIONS): Don't + define. + (__floating_to_chars_shortest): Add __builtin_unreachable calls to + squelch false-positive -Wmaybe-uninitialized and -Wreturn-type + warnings. + (__floating_to_chars_precision): Likewise. + +2022-04-19 Philipp Fent <fent@in.tum.de> + + * python/libstdcxx/v6/printers.py (StdSpanPrinter): Define. + * testsuite/libstdc++-prettyprinters/cxx20.cc: Test it. + +2022-04-19 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Fix shell operators. + * configure: Regenerate. + +2022-04-18 Patrick Palka <ppalka@redhat.com> + + * include/std/charconv (__from_chars_pow2_base): Manually + unroll the first iteration of the main loop and simplify + accordingly. + +2022-04-15 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/104858 + * include/bits/ranges_algo.h (__minmax_fn): Avoid dereferencing + __first twice at the start. + * testsuite/25_algorithms/minmax/constrained.cc (test06): New test. + +2022-04-15 Patrick Palka <ppalka@redhat.com> + + * include/std/charconv (__from_chars_alnum_to_val_table): Define. + (__from_chars_alnum_to_val): Define. + (__from_chars_binary): Rename to ... + (__from_chars_pow2_base): ... this. Generalize to handle any + power-of-two base using __from_chars_alnum_to_val. + (__from_chars_digit): Optimize digit recognition to a single + test instead of two tests. Use [[__unlikely___]] attribute. + (__from_chars_alpha_to_num): Remove. + (__from_chars_alnum): Use __from_chars_alnum_to_val. Use a + nested loop for the overflow case. Maintain a lower bound + on the number of available bits in the result and use it to + omit the overflow check. + (from_chars): Adjust appropriately. + * src/c++17/floating_from_chars.cc (ascii_to_hexit): Remove. + (__floating_from_chars_hex): Use __from_chars_alnum_to_val + to recognize a hex digit instead. + +2022-04-14 Palmer Dabbelt <palmer@rivosinc.com> + + * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Force auto to mutex + for RISC-V. + * configure: Regenerate. + +2022-04-14 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/intro.xml: Fix comment. + +2022-04-14 Jonathan Wakely <jwakely@redhat.com> + + * include/precompiled/stdc++.h: Include <stacktrace> and + <stdatomic.h> for C++23. + +2022-04-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105269 + * include/bits/stl_vector.h (__cpp_lib_constexpr_vector): + Define. + * include/c_compatibility/stdatomic.h (__cpp_lib_stdatomic_h): + Define. + * include/std/optional (__cpp_lib_optional): Define new value + for C++23. + (__cpp_lib_monadic_optional): Remove. + * include/std/version (__cpp_lib_constexpr_vector): Define. + (__cpp_lib_stdatomic_h): Define. + (__cpp_lib_optional): Define new value for C++23. + (__cpp_lib_monadic_optional): Remove. + * testsuite/20_util/optional/monadic/and_then.cc: Adjust. + * testsuite/20_util/optional/requirements.cc: Adjust for C++23. + * testsuite/20_util/optional/version.cc: Likewise. + * testsuite/23_containers/vector/cons/constexpr.cc: Check + feature test macro. + * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: + Likewise. + * testsuite/20_util/optional/monadic/version.cc: Removed. + * testsuite/23_containers/vector/requirements/version.cc: New test. + * testsuite/29_atomics/headers/stdatomic.h/version.cc: New test. + +2022-04-12 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Check for mmap. + * config.h.in: Regenerate. + * configure: Regenerate. + +2022-04-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::current): Reallocate + a smaller container if the unused capacity is larger than the + used size. + +2022-04-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace): Use _Impl::_M_clone + or _Impl::_M_assign to initialize elements in allocated storage. + (basic_stacktrace::_M_clear()): Use _Impl::_M_resize instead of + _Impl::_M_destroy. + (basic_stacktrace::_Impl::_M_destroy()): Replace with ... + (basic_stacktrace::_Impl::_M_resize(size_type, allocator&)): New + function. + (basic_stacktrace::_Impl::_M_push_back): Use _M_xclone. Construct + new element using allocator. + (basic_stacktrace::_Impl::_M_clone): New function. + (basic_stacktrace::_Impl::_M_xclone): New function. + (basic_stacktrace::_Impl::_M_assign): New function. + +2022-04-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): + Use nothrow new instead of try block for std::allocator. + (basic_stacktrace::_Impl::_M_deallocate): Use delete for + std::allocator. + +2022-04-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::current): Replace + calls to _M_reserve and _S_curr_cb with call to _M_prepare. + Check return value of backtrace_simple when max depth given. + (basic_stacktrace::_M_reserve): Remove. + (basic_stacktrace::_S_curr_cb): Remove. + (basic_stacktrace::_M_prepare(size_type)): New function to + reserve initial capacity and return callback. + (basic_stacktrace::_Impl::_M_allocate): Remove check for 0 < n + and remove redundant zeroing of _M_frames and _M_capacity. + (basic_stacktrace::_Impl::_M_push_back): Add [[unlikely]] + attribute. Assign _Impl instead of swapping. + * testsuite/19_diagnostics/stacktrace/current.cc: New test. + +2022-04-11 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): + Change [[unlikely]] attribute to [[likely]]. + +2022-04-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105031 + * include/std/stacktrace (basic_stacktrace::basic_stacktrace): + Fix allocator usage in constructors. + (basic_stacktrace::operator=(const basic_stacktrace&)): Do not + try to reallocate using const allocator. + (basic_stacktrace::operator=(basic_stacktrace&&)): Fix + if-constexpr with non-constant condition. Do not allocate new + storage if allocator propagates. Do not set _M_size if + allocation fails. + (basic_stacktrace::swap(basic_stacktrace&)): Fix typo. Add + assertion that non-propagating allocators are equal. + * testsuite/19_diagnostics/stacktrace/stacktrace.cc: New test. + +2022-04-11 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::current): Duplicate + implementation into each overload. Add noinline attribute and + skip current frame. + (basic_stacktrace::max_size()): Call _Impl::_S_max_size. + (basic_stacktrace::_S_curr_cb()): New function defining lambda. + (basic_stacktrace::_Impl::_S_max_size): New function defining + maximum size in terms of allocator and size_type. + (basic_stacktrace::_Impl::_M_allocate): Check against + max_size(). + * testsuite/19_diagnostics/stacktrace/entry.cc: Call function + for non-constexpr checks. Check line number is correct. + +2022-04-11 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/stacktrace/entry.cc: Moved to... + * testsuite/19_diagnostics/stacktrace/entry.cc: ...here. + * testsuite/20_util/stacktrace/synopsis.cc: Moved to... + * testsuite/19_diagnostics/stacktrace/synopsis.cc: ...here. + * testsuite/20_util/stacktrace/version.cc: Moved to... + * testsuite/19_diagnostics/stacktrace/version.cc: ...here. + +2022-04-11 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/bits/fs_path.h (path): Define special + members after path::_Cmpt is complete. + +2022-04-08 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105153 + * include/std/expected + (expected<void,E>::expected(expected<U,G>&&)): Fix constraints. + * testsuite/20_util/expected/cons.cc: Check constructor. + +2022-04-08 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105154 + * include/std/expected (expected<void, E>::swap): Set + _M_has_value to false for objects that previously had a value. + * testsuite/20_util/expected/swap.cc: Fix test to check void + specialization. + +2022-04-08 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105146 + * include/std/expected (bad_expected_access): Move constructor + parameter. + * testsuite/20_util/expected/bad.cc: New test. + +2022-04-07 Hans-Peter Nilsson <hp@axis.com> + + * testsuite/20_util/expected/requirements.cc: Correct minimal-size + test. + 2022-04-02 Jakub Jelinek <jakub@redhat.com> PR libstdc++/105128 |