summaryrefslogtreecommitdiff
path: root/libstdc++-v3/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/ChangeLog')
-rw-r--r--libstdc++-v3/ChangeLog335
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