mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-19 00:55:13 +08:00
1207 lines
46 KiB
Plaintext
1207 lines
46 KiB
Plaintext
2022-02-04 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* src/filesystem/dir-common.h (_Dir_base::openat): Change return
|
||
type to use portable posix::DIR alias.
|
||
|
||
2022-02-04 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/c_compatibility/stdatomic.h [__clang__]: Use
|
||
#include_next <stdatomic.h>.
|
||
|
||
2022-02-04 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/experimental/bits/fs_ops.h (fs::copy_file): Remove
|
||
noexcept.
|
||
(fs::create_directories): Likewise.
|
||
(fs::remove_all): Likewise.
|
||
* src/filesystem/ops.cc (fs::copy_file): Remove noexcept.
|
||
(fs::create_directories): Likewise.
|
||
(fs::remove_all): Likewise.
|
||
|
||
2022-02-04 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104161
|
||
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for dirfd
|
||
and unlinkat.
|
||
* config.h.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* include/bits/fs_dir.h (recursive_directory_iterator): Declare
|
||
remove_all overloads as friends.
|
||
(recursive_directory_iterator::__erase): Declare new member
|
||
function.
|
||
* include/bits/fs_fwd.h (remove, remove_all): Declare.
|
||
* src/c++17/fs_dir.cc (_Dir): Add filename_only parameter to
|
||
constructor. Pass file descriptor argument to base constructor.
|
||
(_Dir::dir_and_pathname, _Dir::open_subdir, _Dir::do_unlink)
|
||
(_Dir::unlink, _Dir::rmdir): Define new member functions.
|
||
(directory_iterator): Pass filename_only argument to _Dir
|
||
constructor.
|
||
(recursive_directory_iterator::_Dir_stack): Adjust constructor
|
||
parameters to take a _Dir rvalue instead of creating one.
|
||
(_Dir_stack::orig): Add data member for storing original path.
|
||
(_Dir_stack::report_error): Define new member function.
|
||
(__directory_iterator_nofollow): Move here from dir-common.h and
|
||
fix value to be a power of two.
|
||
(__directory_iterator_filename_only): Define new constant.
|
||
(recursive_directory_iterator): Construct _Dir object and move
|
||
into _M_dirs stack. Pass skip_permission_denied argument to first
|
||
advance call.
|
||
(recursive_directory_iterator::increment): Use _Dir::open_subdir.
|
||
(recursive_directory_iterator::__erase): Define new member
|
||
function.
|
||
* src/c++17/fs_ops.cc (ErrorReporter, do_remove_all): Remove.
|
||
(fs::remove_all): Use new recursive_directory_iterator::__erase
|
||
member function.
|
||
* src/filesystem/dir-common.h (_Dir_base): Add int parameter to
|
||
constructor and use openat to implement nofollow semantics.
|
||
(_Dir_base::fdcwd, _Dir_base::set_close_on_exec, _Dir_base::openat):
|
||
Define new member functions.
|
||
(__directory_iterator_nofollow): Move to fs_dir.cc.
|
||
* src/filesystem/dir.cc (_Dir): Pass file descriptor argument to
|
||
base constructor.
|
||
(_Dir::dir_and_pathname, _Dir::open_subdir): Define new member
|
||
functions.
|
||
(recursive_directory_iterator::_Dir_stack): Adjust constructor
|
||
parameters to take a _Dir rvalue instead of creating one.
|
||
(recursive_directory_iterator): Check for new nofollow option.
|
||
Construct _Dir object and move into _M_dirs stack. Pass
|
||
skip_permission_denied argument to first advance call.
|
||
(recursive_directory_iterator::increment): Use _Dir::open_subdir.
|
||
* src/filesystem/ops.cc (fs::remove_all): Use C++17 remove_all.
|
||
|
||
2022-02-04 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/allocator.h: Qualify std::allocator_traits in
|
||
deprecated warnings.
|
||
* libsupc++/exception (uncaught_exception): Add suggestion to
|
||
deprecated warning.
|
||
|
||
2022-02-02 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* src/c++17/fs_dir.cc (fs::recursive_directory_iterator::pop):
|
||
Add [[maybe_unused]] attribute.
|
||
* src/filesystem/dir.cc (fs::recursive_directory_iterator::pop):
|
||
Likewise.
|
||
|
||
2022-02-02 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/23_containers/multiset/operators/cmp_c++20.cc: Use
|
||
custom comparison function for multiset.
|
||
* testsuite/23_containers/set/operators/cmp_c++20.cc: Use custom
|
||
comparison function for set.
|
||
|
||
2022-02-02 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/boost_concept_check.h (_OutputIteratorConcept):
|
||
Change member function to data member of function pointer type.
|
||
|
||
2022-02-02 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR libstdc++/101831
|
||
* include/std/array (begin): Declare const member function attribute
|
||
const.
|
||
(end, rbegin, rend, size, max_size, empty, data): Same.
|
||
* testsuite/23_containers/array/capacity/empty.cc: Add test cases.
|
||
* testsuite/23_containers/array/capacity/max_size.cc: Same.
|
||
* testsuite/23_containers/array/capacity/size.cc: Same.
|
||
* testsuite/23_containers/array/iterators/begin_end.cc: New test.
|
||
|
||
2022-02-02 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/27_io/filesystem/iterators/error_reporting.cc: Use
|
||
autoconf macro to check whether d_type is present.
|
||
* testsuite/experimental/filesystem/iterators/error_reporting.cc:
|
||
Likewise.
|
||
|
||
2022-02-01 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/27_io/filesystem/iterators/97731.cc: New test.
|
||
* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
|
||
Check follow_directory_symlink option.
|
||
* testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc:
|
||
Likewise.
|
||
|
||
2022-02-01 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* src/c++17/fs_dir.cc (recursive_directory_iterator::increment):
|
||
Reset state to past-the-end iterator on error.
|
||
(fs::recursive_directory_iterator::pop(error_code&)): Likewise.
|
||
(fs::recursive_directory_iterator::pop()): Check _M_dirs before
|
||
it might get reset.
|
||
* src/filesystem/dir.cc (recursive_directory_iterator): Likewise,
|
||
for the TS implementation.
|
||
* testsuite/27_io/filesystem/iterators/error_reporting.cc: New test.
|
||
* testsuite/experimental/filesystem/iterators/error_reporting.cc: New test.
|
||
|
||
2022-02-01 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/fs_fwd.h (filesystem::perms): Fix comment.
|
||
|
||
2022-02-01 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104301
|
||
* acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Print different messages
|
||
for stdio_pure and stdio_posix options.
|
||
* configure: Regenerate.
|
||
|
||
2022-02-01 Thomas Rodgers <rodgert@appliantology.com>
|
||
|
||
* include/bits/atomic_wait.h: Change memory order from
|
||
Acquire/Release with relaxed loads to SeqCst+Release for
|
||
accesses to the waiter's count.
|
||
|
||
2022-01-31 Martin Liska <mliska@suse.cz>
|
||
|
||
* acinclude.m4: Detect *_ld_is_mold and use it.
|
||
* configure: Regenerate.
|
||
|
||
2022-01-30 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* testsuite/27_io/basic_istream/get/char/lwg3464.cc: Don't run on
|
||
simulator targets.
|
||
* testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: Likewise.
|
||
|
||
2022-01-27 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/100516
|
||
* include/bits/deque.tcc (_M_range_initialize<ForwardIterator>):
|
||
Add __builtin_unreachable to loop.
|
||
* testsuite/23_containers/deque/100516.cc: New test.
|
||
|
||
2022-01-27 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/ranges_base.h (ranges::advance): Avoid signed
|
||
overflow. Do nothing if already equal to desired result.
|
||
* testsuite/24_iterators/range_operations/advance_overflow.cc:
|
||
New test.
|
||
|
||
2022-01-27 Martin Liska <mliska@suse.cz>
|
||
|
||
PR libstdc++/104259
|
||
* acinclude.m4: Fix typo.
|
||
* configure: Regenerate.
|
||
|
||
2022-01-25 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104019
|
||
* include/bits/istream.tcc (basic_istream::sentry): Add braces
|
||
around try-block.
|
||
* include/bits/shared_ptr_base.h (_Sp_counted_array_base::_M_init):
|
||
Add pragmas to disable bogus warnings from PR 61596.
|
||
|
||
2022-01-25 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104217
|
||
* src/c++17/fs_ops.cc (_GNU_SOURCE): Define.
|
||
* src/filesystem/dir.cc (_GNU_SOURCE): Define.
|
||
* src/filesystem/ops.cc (_GNU_SOURCE): Define.
|
||
|
||
2022-01-25 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104161
|
||
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
|
||
fdopendir.
|
||
* config.h.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* src/c++17/fs_dir.cc (_Dir): Add nofollow flag to constructor
|
||
and pass it to base class constructor.
|
||
(directory_iterator): Pass nofollow flag to _Dir constructor.
|
||
(fs::recursive_directory_iterator::increment): Likewise.
|
||
* src/c++17/fs_ops.cc (do_remove_all): Use nofollow option for
|
||
directory_iterator constructor. Move error check outside loop.
|
||
* src/filesystem/dir-common.h (_Dir_base): Add nofollow flag to
|
||
constructor and when it's set use ::open with O_NOFOLLOW and
|
||
O_DIRECTORY.
|
||
* src/filesystem/dir.cc (_Dir): Add nofollow flag to constructor
|
||
and pass it to base class constructor.
|
||
(directory_iterator): Pass nofollow flag to _Dir constructor.
|
||
(fs::recursive_directory_iterator::increment): Likewise.
|
||
* src/filesystem/ops.cc (remove_all): Use nofollow option for
|
||
directory_iterator constructor. Move error check outside loop.
|
||
|
||
2022-01-23 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104032
|
||
* include/std/spanstream (basic_spanbuf(basic_spanbuf&&)): Use
|
||
mem-initializer for _M_buf.
|
||
(basic_spanbuf::Operator=(basic_spanbuf&&)): Fix ill-formed
|
||
member access.
|
||
* testsuite/27_io/spanstream/2.cc: New test.
|
||
|
||
2022-01-23 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* src/c++17/floating_from_chars.cc (USE_STRTOD_FOR_FROM_CHARS):
|
||
Define macro for case where std::from_chars is implemented in
|
||
terms of strtod, strtof or strtold.
|
||
(buffer_resource, valid_fmt, find_end_of_float, pattern)
|
||
(from_chars_impl, make_result, reserve_string): Do not define
|
||
unless USE_STRTOD_FOR_FROM_CHARS is defined.
|
||
(from_chars): Define when at least one of USE_LIB_FAST_FLOAT and
|
||
USE_STRTOD_FOR_FROM_CHARS is defined, instead of
|
||
_GLIBCXX_HAVE_USELOCALE. Use fast_float for long double when it
|
||
is binary64.
|
||
|
||
2022-01-23 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104174
|
||
* include/bits/hashtable_policy.h (_Map_base): Add partial
|
||
specialization for maps with const key types.
|
||
* testsuite/23_containers/unordered_map/104174.cc: New test.
|
||
|
||
2022-01-23 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104019
|
||
* include/bits/shared_ptr_base.h (_Sp_counted_base<>::_M_release):
|
||
Set members to zero without type punning.
|
||
|
||
2022-01-21 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/20_util/shared_ptr/cons/array.cc: Fix comment.
|
||
|
||
2022-01-21 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/87193
|
||
PR libstdc++/104019
|
||
* include/bits/alloc_traits.h (__cpp_lib_allocator_traits_is_always_equal):
|
||
Define as type long.
|
||
* include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
|
||
Likewise.
|
||
* include/bits/basic_string.h (__cpp_lib_string_udls): Likewise.
|
||
* include/bits/chrono.h (__cpp_lib_chrono): Likewise.
|
||
(__cpp_lib_chrono_udls): Likewise.
|
||
* include/bits/move.h (__cpp_lib_addressof_constexpr): Likewise.
|
||
* include/bits/node_handle.h (__cpp_lib_node_extract): Likewise.
|
||
* include/bits/range_access.h (__cpp_lib_nonmember_container_access):
|
||
Likewise.
|
||
* include/bits/shared_ptr.h (__cpp_lib_enable_shared_from_this):
|
||
Likewise.
|
||
* include/bits/stl_algo.h (__cpp_lib_clamp): Likewise.
|
||
(__cpp_lib_sample): Likewise.
|
||
* include/bits/stl_algobase.h (__cpp_lib_robust_nonmodifying_seq_ops):
|
||
Likewise.
|
||
* include/bits/stl_function.h (__cpp_lib_transparent_operators):
|
||
Likewise.
|
||
* include/bits/stl_iterator.h (__cpp_lib_make_reverse_iterator):
|
||
Likewise.
|
||
* include/bits/stl_map.h (__cpp_lib_map_try_emplace):
|
||
Likewise.
|
||
* include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
|
||
Likewise.
|
||
* include/bits/unique_ptr.h (__cpp_lib_make_unique):
|
||
Likewise.
|
||
* include/bits/unordered_map.h (__cpp_lib_unordered_map_try_emplace):
|
||
Likewise.
|
||
* include/c_global/cmath (__cpp_lib_hypot): Likewise.
|
||
* include/c_global/cstddef (__cpp_lib_byte): Likewise.
|
||
* include/std/atomic (__cpp_lib_atomic_is_always_lock_free):
|
||
Likewise.
|
||
* include/std/complex (__cpp_lib_complex_udls): Likewise.
|
||
* include/std/filesystem (__cpp_lib_filesystem): Likewise.
|
||
* include/std/functional (__cpp_lib_not_fn): Likewise.
|
||
(__cpp_lib_boyer_moore_searcher): Likewise.
|
||
* include/std/iomanip (__cpp_lib_quoted_string_io): Likewise.
|
||
* include/std/mutex (__cpp_lib_scoped_lock): Likewise.
|
||
* include/std/numeric (__cpp_lib_gcd_lcm): Likewise.
|
||
(__cpp_lib_gcd, __cpp_lib_lcm): Likewise.
|
||
* include/std/tuple (__cpp_lib_apply): Likewise.
|
||
(__cpp_lib_make_from_tuple): Likewise.
|
||
* include/std/type_traits (__cpp_lib_integral_constant_callable)
|
||
(__cpp_lib_bool_constant, __cpp_lib_logical_traits)
|
||
(__cpp_lib_is_null_pointer, __cpp_lib_transformation_trait_aliases)
|
||
(__cpp_lib_result_of_sfinae, __cpp_lib_void_t)
|
||
(__cpp_lib_is_swappable, __cpp_lib_is_invocable)
|
||
(__cpp_lib_has_unique_object_representations)
|
||
(__cpp_lib_is_aggregate): Likewise.
|
||
* include/std/version: Likewise.
|
||
* libsupc++/new (__cpp_lib_launder): Likewise.
|
||
|
||
2022-01-21 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/std/version (__cpp_lib_shared_ptr_arrays): Fix
|
||
condition for C++17 definition.
|
||
|
||
2022-01-21 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count):
|
||
Add constexpr.
|
||
(_Sp_atomic::_M_ptr): Add default member-initializer.
|
||
* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
|
||
Check constant initialization.
|
||
* testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
|
||
|
||
2022-01-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* src/c++11/cxx11-ios_failure.cc (__constinit): Define as
|
||
equivalent attribute for Clang.
|
||
* src/c++11/future.cc (__constinit): Likewise.
|
||
* src/c++11/system_error.cc (__constinit): Likewise.
|
||
* src/c++17/memory_resource.cc (__constinit): Likewise.
|
||
|
||
2022-01-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* scripts/testsuite_flags.in: Only add src/filesystem/.libs and
|
||
src/libbacktrace/.libs to LDFLAGS if those directories exist.
|
||
|
||
2022-01-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Remove -gdwarf-4
|
||
from default flags.
|
||
* configure: Regenerate.
|
||
|
||
2022-01-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104123
|
||
* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Include
|
||
<stddef.h>.
|
||
|
||
2022-01-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* scripts/testsuite_flags.in: Add src/libbacktrace/.libs to
|
||
linker search paths.
|
||
* src/Makefile.am: Fix src/debug/libbacktrace build.
|
||
* src/Makefile.in: Regenerate.
|
||
* src/libbacktrace/Makefile.am: Use per-library CPPFLAGS
|
||
variable. Use symlinks for the source files.
|
||
* src/libbacktrace/Makefile.in: Regenerate.
|
||
|
||
2022-01-19 Matthias Kretz <m.kretz@gsi.de>
|
||
|
||
* include/experimental/bits/simd.h (__floating_point_flags): Do
|
||
not rely on math_errhandling to expand to a constant expression.
|
||
|
||
2022-01-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/evolution.xml: Document deprecations.
|
||
* doc/xml/manual/status_cxx2017.xml: Update status.
|
||
* doc/html/*: Regenerate.
|
||
|
||
2022-01-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/stl_tempbuf.h (get_temporary_buffer): Change
|
||
_GLIBCXX14_DEPRECATED to _GLIBCXX17_DEPRECATED.
|
||
|
||
2022-01-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/stl_pair.h (_PCC::_DeprConsPair): Remove unused
|
||
function.
|
||
|
||
2022-01-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104101
|
||
* include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count::lock):
|
||
Only use __thread_relax if __cpp_lib_atomic_wait is defined.
|
||
|
||
2022-01-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104099
|
||
* include/bits/basic_string.h (basic_string(nullptr_t)): Only
|
||
define for C++23.
|
||
(operator=(nullptr_t)): Likewise.
|
||
* include/bits/cow_string.h: Likewise.
|
||
* include/std/string_view (basic_string_view(nullptr_t)):
|
||
Likewise.
|
||
* testsuite/21_strings/basic_string/cons/char/nullptr.cc: Adjust
|
||
expected error. Add examples that become ill-formed in C++23.
|
||
* testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
|
||
Adjust expected errors.
|
||
* testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
|
||
Likewise.
|
||
|
||
2022-01-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104098
|
||
* include/bits/stl_iterator.h (reverse_iterator): Check
|
||
__cpp_lib_concepts instead of __cplusplus.
|
||
|
||
2022-01-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/101124
|
||
* include/bits/stl_pair.h (pair): Adjust constraints on
|
||
deprecated constructors accepting literal zero as null pointer
|
||
constant. Improve wording of deprecated attribute.
|
||
* testsuite/20_util/pair/cons/99957.cc: Check that deprecated
|
||
constructors do not cause ambiguities for copyable types.
|
||
|
||
2022-01-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/stl_function.h (ptr_fun): Fix suggestion for
|
||
non-deprecated alternative.
|
||
|
||
2022-01-18 Tom Honermann <tom@honermann.net>
|
||
|
||
* acinclude.m4: Define config macros if uchar.h provides
|
||
c8rtomb() and mbrtoc8().
|
||
* config.h.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* include/c_compatibility/uchar.h (c8rtomb, mbrtoc8): Define.
|
||
* include/c_global/cuchar (c8rtomb, mbrtoc8): Likewise.
|
||
* include/c_std/cuchar (c8rtomb, mbrtoc8): Likewise.
|
||
* testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
|
||
New test.
|
||
* testsuite/21_strings/headers/cuchar/functions_std_fchar8_t.cc:
|
||
New test.
|
||
|
||
2022-01-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/Makefile.am: Install new header.
|
||
* include/Makefile.in: Regenerate.
|
||
* include/c_compatibility/stdatomic.h: New file.
|
||
* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: New test.
|
||
|
||
2022-01-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104080
|
||
* src/c++17/fast_float/LOCAL_PATCHES: Update.
|
||
* src/c++17/fast_float/fast_float.h (FASTFLOAT_IS_BIG_ENDIAN):
|
||
Define in terms of __BYTE_ORDER__.
|
||
|
||
2022-01-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/104080
|
||
* src/c++17/fast_float/LOCAL_PATCHES: UPDATE.
|
||
* src/c++17/fast_float/fast_float.h (round): Use explicit
|
||
template argument list for std::min.
|
||
|
||
2022-01-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/status_cxx2017.xml: Update C++17 status.
|
||
* doc/xml/manual/status_cxx2020.xml: Use 12.1 instead of 12 for
|
||
upcoming release.
|
||
* doc/html/manual/status.html: Regenerate.
|
||
|
||
2022-01-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): Improve
|
||
comments.
|
||
* configure: Regenerate.
|
||
|
||
2022-01-17 Patrick Palka <ppalka@redhat.com>
|
||
|
||
* src/c++17/floating_from_chars.cc: (USE_LIB_FAST_FLOAT):
|
||
Conditionally define, and use it to conditionally include
|
||
fast_float.
|
||
(from_chars): Use fast_float for float and double when
|
||
USE_LIB_FAST_FLOAT.
|
||
|
||
2022-01-17 Patrick Palka <ppalka@redhat.com>
|
||
|
||
* src/c++17/fast_float/LOCAL_PATCHES: Update.
|
||
* src/c++17/fast_float/fast_float.h (from_chars_advanced): In
|
||
case of over/underflow, return errc::result_out_of_range and don't
|
||
modify 'value'.
|
||
|
||
2022-01-17 Patrick Palka <ppalka@redhat.com>
|
||
|
||
* src/c++17/fast_float/LOCAL_PATCHES: Update.
|
||
* src/c++17/fast_float/fast_float.h: Apply local modifications.
|
||
|
||
2022-01-17 Patrick Palka <ppalka@redhat.com>
|
||
|
||
* src/c++17/fast_float/LOCAL_PATCHES: New file.
|
||
* src/c++17/fast_float/MERGE: New file.
|
||
* src/c++17/fast_float/README.md: New file, copied from the
|
||
fast_float repository.
|
||
* src/c++17/fast_float/fast_float.h: New file, an amalgamation
|
||
of the fast_float library.
|
||
|
||
2022-01-17 Patrick Palka <ppalka@redhat.com>
|
||
|
||
* src/c++17/floating_from_chars.cc: Include <bit>.
|
||
(ascii_to_hexit, starts_with_ci): Conditionally define.
|
||
(__floating_from_chars_hex): Conditionally define.
|
||
(from_chars): Use __floating_from_chars_hex for
|
||
chars_format::hex parsing of binary32/64 float/double.
|
||
(testsuite/20_util/from_chars/7.cc): New test.
|
||
* testsuite/20_util/from_chars/7.cc: New file.
|
||
|
||
2022-01-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): New macro.
|
||
* configure.ac: Use GLIBCXX_ENABLE_BACKTRACE.
|
||
* include/Makefile.am: Add new header.
|
||
* include/Makefile.in: Regenerate.
|
||
* include/std/stacktrace: New header.
|
||
* include/std/version (__cpp_lib_stacktrace): Define.
|
||
* Makefile.in: Regenerate.
|
||
* config.h.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* doc/Makefile.in: Regenerate.
|
||
* libsupc++/Makefile.in: Regenerate.
|
||
* po/Makefile.in: Regenerate.
|
||
* python/Makefile.in: Regenerate.
|
||
* src/Makefile.am: Regenerate.
|
||
* src/Makefile.in: Regenerate.
|
||
* src/c++11/Makefile.in: Regenerate.
|
||
* src/c++17/Makefile.in: Regenerate.
|
||
* src/c++20/Makefile.in: Regenerate.
|
||
* src/c++98/Makefile.in: Regenerate.
|
||
* src/filesystem/Makefile.in: Regenerate.
|
||
* testsuite/Makefile.in: Regenerate.
|
||
* src/libbacktrace/Makefile.am: New file.
|
||
* src/libbacktrace/Makefile.in: New file.
|
||
* src/libbacktrace/backtrace-rename.h: New file.
|
||
* src/libbacktrace/backtrace-supported.h.in: New file.
|
||
* src/libbacktrace/config.h.in: New file.
|
||
* testsuite/lib/libstdc++.exp (check_effective_target_stacktrace):
|
||
New proc.
|
||
* testsuite/20_util/stacktrace/entry.cc: New test.
|
||
* testsuite/20_util/stacktrace/synopsis.cc: New test.
|
||
* testsuite/20_util/stacktrace/version.cc: New test.
|
||
|
||
2022-01-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/status_cxx2020.xml: Use final C++20 option
|
||
names.
|
||
* doc/html/manual/status.html: Regenerate.
|
||
|
||
2022-01-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/103650
|
||
* include/Makefile.am: Rename LT_OBJDIR and STDC_HEADERS.
|
||
* include/Makefile.in: Regenerate.
|
||
* testsuite/17_intro/headers/c++1998/103650.cc: New test.
|
||
|
||
2022-01-17 Matthias Kretz <m.kretz@gsi.de>
|
||
|
||
* include/experimental/bits/simd.h (__floating_point_flags): Do
|
||
not rely on the presence of the math_errhandling macro.
|
||
|
||
2022-01-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/shared_ptr_atomic.h (_Sp_atomic): Add typename
|
||
to qualified-id for dependent type.
|
||
|
||
2022-01-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/status_cxx2020.xml: Update.
|
||
* doc/html/manual/status.html: Regenerate.
|
||
|
||
2022-01-17 Jonathan Wakely <jwakely@redhat.com>
|
||
Thomas Rodgers <trodgers@redhat.com>
|
||
|
||
* include/bits/shared_ptr_atomic.h (__cpp_lib_atomic_shared_ptr):
|
||
New macro.
|
||
(_Sp_atomic): New class template.
|
||
(atomic<shared_ptr<T>>, atomic<weak_ptr<T>>): New partial
|
||
specializations.
|
||
* include/bits/shared_ptr_base.h (__shared_count, __weak_count)
|
||
(__shared_ptr, __weak_ptr): Declare _Sp_atomic as a friend.
|
||
* include/std/version (__cpp_lib_atomic_shared_ptr): New macro.
|
||
* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: New
|
||
test.
|
||
* testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: New test.
|
||
|
||
2022-01-15 Matthias Kretz <m.kretz@gsi.de>
|
||
|
||
* include/experimental/bits/simd.h: Move feature detection bools
|
||
and add __have_avx512bitalg, __have_avx512vbmi2,
|
||
__have_avx512vbmi, __have_avx512ifma, __have_avx512cd,
|
||
__have_avx512vnni, __have_avx512vpopcntdq.
|
||
(__detail::__machine_flags): New function which returns a unique
|
||
uint64 depending on relevant -m and -f flags.
|
||
(__detail::__odr_helper): New type alias for either an anonymous
|
||
type or a type specialized with the __machine_flags number.
|
||
(_SimdIntOperators): Change template parameters from _Impl to
|
||
_Tp, _Abi because _Impl now has an __odr_helper parameter which
|
||
may be _OdrEnforcer from the anonymous namespace, which makes
|
||
for a bad base class.
|
||
(many): Either add __odr_helper template parameter or mark as
|
||
always_inline.
|
||
* include/experimental/bits/simd_detail.h: Add defines for
|
||
AVX512BITALG, AVX512VBMI2, AVX512VBMI, AVX512IFMA, AVX512CD,
|
||
AVX512VNNI, AVX512VPOPCNTDQ, and AVX512VP2INTERSECT.
|
||
* include/experimental/bits/simd_builtin.h: Add __odr_helper
|
||
template parameter or mark as always_inline.
|
||
* include/experimental/bits/simd_fixed_size.h: Ditto.
|
||
* include/experimental/bits/simd_math.h: Ditto.
|
||
* include/experimental/bits/simd_scalar.h: Ditto.
|
||
* include/experimental/bits/simd_neon.h: Add __odr_helper
|
||
template parameter.
|
||
* include/experimental/bits/simd_ppc.h: Ditto.
|
||
* include/experimental/bits/simd_x86.h: Ditto.
|
||
|
||
2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* testsuite/22_locale/numpunct/members/char/3.cc:
|
||
Require pt_PT locale instead of nl_NL.
|
||
(test02): Use pt_PT locale instead of nl_NL.
|
||
|
||
2022-01-14 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/91260
|
||
PR libstdc++/91383
|
||
PR libstdc++/95065
|
||
* include/backward/binders.h (bind1st, bind2nd): Add deprecated
|
||
attribute.
|
||
* include/bits/refwrap.h (_Maybe_unary_or_binary_function):
|
||
Disable deprecated warnings for base classes.
|
||
(_Reference_wrapper_base): Likewise.
|
||
* include/bits/shared_ptr_base.h (_Sp_owner_less): Likewise.
|
||
* include/bits/stl_bvector.h (_Bit_iterator_base): Likewise.
|
||
* include/bits/stl_function.h (unary_function, binary_function):
|
||
Add deprecated attribute.
|
||
(unary_negate, not1, binary_negate, not2, ptr_fun)
|
||
(pointer_to_unary_function, pointer_to_binary_function)
|
||
(mem_fun_t, const_mem_fun_t, mem_fun_ref_t, const_mem_fun_ref_t)
|
||
(mem_fun1_t, const_mem_fun1_t, mem_fun_ref1_t)
|
||
(const_mem_fun1_ref_t, mem_fun, mem_fun_ref): Add deprecated
|
||
attributes.
|
||
* include/bits/stl_iterator.h: Disable deprecated warnings for
|
||
std::iterator base classes.
|
||
* include/bits/stl_iterator_base_types.h (iterator): Add
|
||
deprecated attribute.
|
||
* include/bits/stl_map.h (map::value_compare): Disable
|
||
deprecated warnings for base class.
|
||
* include/bits/stl_multimap.h (multimap::value_compare):
|
||
Likewise.
|
||
* include/bits/stl_raw_storage_iter.h (raw_storage_iterator):
|
||
Add deprecated attribute.
|
||
* include/bits/stl_tempbuf.h (get_temporary_buffer): Likewise.
|
||
* include/bits/stream_iterator.h: Disable deprecated warnings.
|
||
* include/bits/streambuf_iterator.h: Likewise.
|
||
* include/ext/bitmap_allocator.h: Remove unary_function base
|
||
classes.
|
||
* include/ext/functional: Disable deprecated warnings.
|
||
* include/ext/rope: Likewise.
|
||
* include/ext/throw_allocator.h: Likewise.
|
||
* include/std/type_traits (result_of): Add deprecated attribute.
|
||
* include/tr1/functional: Disable deprecated warnings.
|
||
* include/tr1/functional_hash.h: Likewise.
|
||
* testsuite/20_util/function_objects/binders/1.cc: Add
|
||
-Wno-disable-deprecations.
|
||
* testsuite/20_util/function_objects/binders/3113.cc: Likewise.
|
||
* testsuite/20_util/function_objects/constexpr.cc: Add
|
||
dg-warning.
|
||
* testsuite/20_util/raw_storage_iterator/base.cc: Likewise.
|
||
* testsuite/20_util/raw_storage_iterator/dr2127.cc: Likewise.
|
||
* testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc:
|
||
Likewise.
|
||
* testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc:
|
||
Likewise.
|
||
* testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc:
|
||
Likewise.
|
||
* testsuite/20_util/reference_wrapper/24803.cc:
|
||
Likewise.
|
||
* testsuite/20_util/reference_wrapper/typedefs.cc: Enable for
|
||
C++20 and check for absence of nested types.
|
||
* testsuite/20_util/shared_ptr/comparison/less.cc: Remove
|
||
std::binary_function base class.
|
||
* testsuite/20_util/temporary_buffer.cc: Add dg-warning.
|
||
* testsuite/21_strings/basic_string/cons/char/69092.cc: Remove
|
||
std::iterator base class.
|
||
* testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc:
|
||
Likewise.
|
||
* testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc:
|
||
Likewise.
|
||
* testsuite/24_iterators/insert_iterator/requirements/base_classes.cc:
|
||
Likewise.
|
||
* testsuite/24_iterators/istream_iterator/requirements/base_classes.cc:
|
||
Likewise.
|
||
* testsuite/24_iterators/istreambuf_iterator/92285.cc:
|
||
Likewise.
|
||
* testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc:
|
||
Likewise.
|
||
* testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc:
|
||
Likewise.
|
||
* testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc:
|
||
Likewise.
|
||
* testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/copy/34595.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/minmax/3.cc: Remove std::binary_function
|
||
base class.
|
||
* testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc:
|
||
Disable deprecated warnings.
|
||
* testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc:
|
||
Likewise.
|
||
* testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc:
|
||
Likewise.
|
||
* testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Add
|
||
dg-warning.
|
||
* testsuite/ext/pb_ds/example/priority_queue_erase_if.cc:
|
||
Likewise.
|
||
* testsuite/ext/pb_ds/example/priority_queue_split_join.cc:
|
||
Likewise.
|
||
* testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
|
||
Disable deprecated warnings.
|
||
* testsuite/tr1/6_containers/hash/requirements/base_classes.cc:
|
||
Likewise.
|
||
* testsuite/util/regression/trait/erase_if_fn.hpp: Remove
|
||
std::unary_function base classes.
|
||
* testsuite/util/testsuite_iterators.h (output_iterator_wrapper):
|
||
Remove std::iterator base classes.
|
||
|
||
2022-01-14 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/shared_ptr.h (__cpp_lib_shared_ptr_weak_type):
|
||
Correct type of macro value.
|
||
(shared_ptr): Add additional friend declarations.
|
||
(make_shared, allocate_shared): Constrain existing overloads and
|
||
remove static_assert.
|
||
* include/bits/shared_ptr_base.h (__cpp_lib_smart_ptr_for_overwrite):
|
||
New macro.
|
||
(_Sp_counted_ptr_inplace<T, Alloc, Lp>): New partial
|
||
specialization for use with make_shared_for_overwrite.
|
||
(__cpp_lib_shared_ptr_arrays): Update value for C++20.
|
||
(_Sp_counted_array_base): New class template.
|
||
(_Sp_counted_array): New class template.
|
||
(__shared_count(_Tp*&, const _Sp_counted_array_base&, _Init)):
|
||
New constructor for allocating shared arrays.
|
||
(__shared_ptr(const _Sp_counted_array_base&, _Init)): Likewise.
|
||
* include/std/version (__cpp_lib_shared_ptr_weak_type): Correct
|
||
type.
|
||
(__cpp_lib_shared_ptr_arrays): Update value for C++20.
|
||
(__cpp_lib_smart_ptr_for_overwrite): New macro.
|
||
* testsuite/20_util/shared_ptr/creation/99006.cc: Adjust
|
||
expected errors.
|
||
* testsuite/20_util/shared_ptr/creation/array.cc: New test.
|
||
* testsuite/20_util/shared_ptr/creation/overwrite.cc: New test.
|
||
* testsuite/20_util/shared_ptr/creation/version.cc: New test.
|
||
* testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Check
|
||
feature test macro. Test non-trivial default-initialization.
|
||
|
||
2022-01-14 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/stl_construct.h (_Construct, _Construct_novalue):
|
||
Also cast away cv-qualifiers when converting pointer to void.
|
||
* testsuite/20_util/allocator/void.cc: Test construct function
|
||
with cv-qualified types.
|
||
|
||
2022-01-14 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/103992
|
||
* include/bits/stl_iterator.h (common_iterator): Use
|
||
std::construct_at instead of placement new.
|
||
* testsuite/24_iterators/common_iterator/1.cc: Check copy
|
||
construction is usable in constant expressions.
|
||
|
||
2022-01-14 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/status_cxx2011.xml: Document new tokens
|
||
accepted by std::random_device constructor.
|
||
* doc/html/manual/status.html: Regenerate.
|
||
|
||
2022-01-12 Patrick Palka <ppalka@redhat.com>
|
||
|
||
* testsuite/20_util/to_chars/103955.cc: Add explicit dg-do
|
||
directive.
|
||
|
||
2022-01-12 Patrick Palka <ppalka@redhat.com>
|
||
|
||
PR libstdc++/103955
|
||
* src/c++17/floating_to_chars.cc (__floating_to_chars_hex):
|
||
Track the excess precision separately from the effective
|
||
precision. Avoid overflow in bounds check by splitting it into
|
||
two checks.
|
||
(__floating_to_chars_precision): Avoid overflow in bounds checks
|
||
similarly.
|
||
* testsuite/20_util/to_chars/103955.cc: New test.
|
||
|
||
2022-01-11 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/103726
|
||
* include/Makefile.am: Install <source_location> for
|
||
freestanding.
|
||
* include/Makefile.in: Regenerate.
|
||
* include/std/version (__cpp_lib_source_location): Define for
|
||
freestanding.
|
||
|
||
2022-01-11 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/std/ranges (ranges::lazy_split_view::_InnerIter::end()):
|
||
Add neoxcept (LWG 3593).
|
||
|
||
2022-01-11 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/std/ranges (ranges::__detail::__box): Add constexpr to
|
||
assignment operators (LWG 3572).
|
||
* testsuite/std/ranges/adaptors/filter.cc: Check assignment of a
|
||
view that uses copyable-box.
|
||
|
||
2022-01-11 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/103726
|
||
* include/Makefile.am: Install <coroutine> for freestanding.
|
||
* include/Makefile.in: Regenerate.
|
||
* include/std/coroutine: Adjust headers and preprocessor
|
||
conditions.
|
||
(__coroutine_traits_impl): Use concepts when available.
|
||
[_GLIBCXX_HOSTED] (hash<coroutine_handle>): Define.
|
||
|
||
2022-01-11 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/std/ostream (operator<<(basic_ostream&, charT)):
|
||
Use unformatted input if no padding is needed.
|
||
(operator<<(basic_ostream<char>&, char)): Likewise.
|
||
|
||
2022-01-11 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/103891
|
||
* include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS):
|
||
Define.
|
||
* include/std/variant (__cpp_lib_variant): Only define C++20
|
||
value when the compiler is known to support conditionally
|
||
trivial destructors.
|
||
* include/std/version (__cpp_lib_variant): Likewise.
|
||
|
||
2022-01-11 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/stl_iterator.h (common_iterator): Add constexpr
|
||
to all member functions (LWG 3574).
|
||
* testsuite/24_iterators/common_iterator/1.cc: Evaluate some
|
||
tests as constant expressions.
|
||
* testsuite/24_iterators/common_iterator/2.cc: Likewise.
|
||
|
||
2022-01-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR libstdc++/77760
|
||
* include/bits/locale_facets_nonio.h (__time_get_state): New struct.
|
||
(time_get::_M_extract_via_format): Declare new method with
|
||
__time_get_state& as an extra argument.
|
||
* include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Add
|
||
__state argument, set various fields in it while parsing. Handle %j,
|
||
%U, %w and %W, fix up handling of %y, %Y and %C, don't adjust tm_hour
|
||
for %p immediately. Add a wrapper around the method without the
|
||
__state argument for backwards compatibility.
|
||
(_M_extract_num): Remove all __len == 4 special cases.
|
||
(time_get::do_get_time, time_get::do_get_date, time_get::do_get): Zero
|
||
initialize __state, pass it to _M_extract_via_format and finalize it
|
||
at the end.
|
||
(do_get_year): For 1-2 digit parsed years, map 0-68 to 2000-2068,
|
||
69-99 to 1969-1999. For 3-4 digit parsed years use that as year.
|
||
(get): If do_get isn't overloaded from the locale_facets_nonio.tcc
|
||
version, don't call do_get but call _M_extract_via_format instead to
|
||
pass around state.
|
||
* config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_extract_via_format
|
||
with extra __time_get_state and __time_get_state::_M_finalize_state.
|
||
* src/c++98/locale_facets.cc (is_leap, day_of_the_week,
|
||
day_of_the_year): New functions in anon namespace.
|
||
(mon_yday): New var in anon namespace.
|
||
(__time_get_state::_M_finalize_state): Define.
|
||
* testsuite/22_locale/time_get/get/char/4.cc: New test.
|
||
* testsuite/22_locale/time_get/get/wchar_t/4.cc: New test.
|
||
* testsuite/22_locale/time_get/get_year/char/1.cc (test01): Parse 197
|
||
as year 197AD instead of error.
|
||
* testsuite/22_locale/time_get/get_year/char/5.cc (test01): Parse 1 as
|
||
year 2001 instead of error.
|
||
* testsuite/22_locale/time_get/get_year/char/6.cc: New test.
|
||
* testsuite/22_locale/time_get/get_year/wchar_t/1.cc (test01): Parse
|
||
197 as year 197AD instead of error.
|
||
* testsuite/22_locale/time_get/get_year/wchar_t/5.cc (test01): Parse
|
||
1 as year 2001 instead of error.
|
||
* testsuite/22_locale/time_get/get_year/wchar_t/6.cc: New test.
|
||
|
||
2022-01-10 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/103866
|
||
* acinclude.m4 (GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS): Do
|
||
nothing for freestanding builds.
|
||
(GLIBCXX_ENABLE_HOSTED): Define FREESTANDING_FLAGS.
|
||
* configure.ac: Do not use AC_LIBTOOL_DLOPEN when configured
|
||
with --without-headers. Do not use GCC_HEADER_STDINT for
|
||
freestanding builds.
|
||
* libsupc++/Makefile.am (HOSTED_CXXFLAGS): Use -ffreestanding
|
||
for freestanding builds.
|
||
* configure: Regenerate.
|
||
* Makefile.in: Regenerate.
|
||
* doc/Makefile.in: Regenerate.
|
||
* include/Makefile.in: Regenerate.
|
||
* libsupc++/Makefile.in: Regenerate.
|
||
* po/Makefile.in: Regenerate.
|
||
* python/Makefile.in: Regenerate.
|
||
* src/Makefile.in: Regenerate.
|
||
* src/c++11/Makefile.in: Regenerate.
|
||
* src/c++17/Makefile.in: Regenerate.
|
||
* src/c++20/Makefile.in: Regenerate.
|
||
* src/c++98/Makefile.in: Regenerate.
|
||
* src/filesystem/Makefile.in: Regenerate.
|
||
* testsuite/Makefile.in: Regenerate.
|
||
|
||
2022-01-10 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/28_regex/algorithms/regex_replace/char/103664.cc:
|
||
Add dg-timeout-factor directive.
|
||
* testsuite/28_regex/basic_regex/84110.cc: Likewise.
|
||
* testsuite/28_regex/basic_regex/ctors/char/other.cc: Likewise.
|
||
* testsuite/28_regex/match_results/102667.cc: Likewise.
|
||
|
||
2022-01-10 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/using.xml: Update documentation around default
|
||
-std option.
|
||
* doc/html/*: Regenerate.
|
||
|
||
2022-01-10 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/100017
|
||
* src/c++17/Makefile.am (AM_CXXFLAGS): Add -nostdinc++.
|
||
* src/c++17/Makefile.in: Regenerate.
|
||
|
||
2022-01-09 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* testsuite/18_support/type_info/constexpr.cc: Add explicit
|
||
-fdelete-null-pointer-checks option.
|
||
|
||
2022-01-06 Pavel I. Kryukov <pavel.kryukov@phystech.edu>
|
||
Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/103853
|
||
* include/bits/forward_list.tcc (forward_list::merge): Check for
|
||
self-merge.
|
||
* testsuite/23_containers/forward_list/operations/merge.cc: New test.
|
||
|
||
2022-01-06 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/regex.h (basic_regex, match_results): Qualify
|
||
name in friend declaration, to work around Clang bug.
|
||
|
||
2022-01-06 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor.
|
||
|
||
2022-01-06 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/103911
|
||
* include/std/charconv (__from_chars_alpha_to_num): Return
|
||
char instead of unsigned char. Change invalid return value to
|
||
127 instead of using numeric trait.
|
||
(__from_chars_alnum): Fix comment. Do not use std::isdigit.
|
||
Change type of variable to char.
|
||
|
||
2022-01-05 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
PR libstdc++/68303
|
||
* include/bits/hashtable_policy.h
|
||
(_Hashtable_hash_traits<_Hash>): New.
|
||
(_Hash_code_base<>::_M_hash_code(const _Hash_node_value<>&)): New.
|
||
(_Hashtable_base<>::_M_key_equals): New.
|
||
(_Hashtable_base<>::_M_equals): Use latter.
|
||
(_Hashtable_base<>::_M_key_equals_tr): New.
|
||
(_Hashtable_base<>::_M_equals_tr): Use latter.
|
||
* include/bits/hashtable.h
|
||
(_Hashtable<>::__small_size_threshold()): New, use _Hashtable_hash_traits.
|
||
(_Hashtable<>::find): Loop through elements to look for key if size is lower
|
||
than __small_size_threshold().
|
||
(_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
|
||
(_Hashtable<>::_M_insert_unique(_Kt&&, _Args&&, const _NodeGenerator&)): Likewise.
|
||
(_Hashtable<>::_M_compute_hash_code(const_iterator, const key_type&)): New.
|
||
(_Hashtable<>::_M_emplace(const_iterator, false_type, _Args&&...)): Use latter.
|
||
(_Hashtable<>::_M_find_before_node(const key_type&)): New.
|
||
(_Hashtable<>::_M_erase(true_type, const key_type&)): Use latter.
|
||
(_Hashtable<>::_M_erase(false_type, const key_type&)): Likewise.
|
||
* src/c++11/hashtable_c++0x.cc: Include <bits/functional_hash.h>.
|
||
* testsuite/util/testsuite_performance.h
|
||
(report_performance): Use 9 width to display memory.
|
||
* testsuite/performance/23_containers/insert_erase/unordered_small_size.cc:
|
||
New performance test case.
|
||
|
||
2022-01-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/103919
|
||
* include/bits/basic_string.h (basic_string(const T&, size_t, size_t)):
|
||
Relax constraints on string_view parameter.
|
||
* include/bits/cow_string.h (basic_string(const T&, size_t, size_t)):
|
||
Likewise.
|
||
* testsuite/21_strings/basic_string/cons/char/103919.cc: New test.
|
||
|
||
2022-01-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export new symbol for
|
||
ARM EABI.
|
||
* include/bits/c++config (_GLIBCXX23_CONSTEXPR): Define.
|
||
* include/std/version (__cpp_lib_constexpr_typeinfo): Define.
|
||
* libsupc++/tinfo.cc: Add #error to ensure non-inline definition
|
||
is emitted.
|
||
(type_info::__equal): Define alias symbol.
|
||
* libsupc++/typeinfo (type_info::before): Combine different
|
||
implementations into one.
|
||
(type_info::operator==): Likewise. Use address equality for
|
||
constant evaluation. Call __equal for targets that require the
|
||
definition to be non-inline.
|
||
* testsuite/18_support/type_info/constexpr.cc: New test.
|
||
|
||
2022-01-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* src/c++11/cxx11-ios_failure.cc (io_error_category): Define
|
||
class and virtual functions as 'final'.
|
||
(io_category_instance): Use constinit union to make the object
|
||
immortal.
|
||
* src/c++11/future.cc (future_error_category): Define class and
|
||
virtual functions as 'final'.
|
||
(future_category_instance): Use constinit union.
|
||
|
||
2022-01-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip
|
||
versioned namespace from the type name that is printed.
|
||
|
||
2022-01-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New
|
||
printer for std::regex NFA states.
|
||
|
||
2022-01-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/23_containers/forward_list/operations/1.cc: Fill in
|
||
placeholders in comments.
|
||
* testsuite/23_containers/forward_list/operations/2.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/forward_list/operations/3.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/forward_list/operations/4.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/forward_list/operations/5.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/forward_list/operations/6.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/forward_list/operations/7.cc:
|
||
Likewise.
|
||
|
||
2022-01-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/103848
|
||
* include/bits/stl_deque.h (operator-): Do not use 0 as null
|
||
pointer constant.
|
||
|
||
2022-01-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/alloc_traits.h (allocator_traits<allocator<void>>):
|
||
Use std::_Construct for construct.
|
||
|
||
2022-01-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/103877
|
||
* doc/xml/faq.xml: Add '-x c++' to preprocessor command.
|
||
* doc/html/faq.html: Regenerate.
|
||
|
||
2022-01-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/regex.h (__regex_algo_impl): Change __policy and
|
||
__match_mode template parameters to be function parameters.
|
||
(regex_match, regex_search): Pass policy and match mode as
|
||
function arguments.
|
||
* include/bits/regex.tcc (__regex_algo_impl): Change template
|
||
parameters to function parameters.
|
||
* include/bits/regex_compiler.h (_RegexTranslatorBase): Use
|
||
'if constexpr' for conditions using template parameters.
|
||
(_RegexTranslator): Likewise.
|
||
* include/bits/regex_executor.tcc (_Executor::_M_handle_accept):
|
||
Likewise.
|
||
* testsuite/util/testsuite_regex.h (regex_match_debug)
|
||
(regex_search_debug): Move template arguments to function
|
||
arguments.
|
||
|
||
2022-01-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/util/testsuite_regex.h (regex_match_debug): Compare
|
||
results even if the match failed.
|
||
|
||
2022-01-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/regex_compiler.tcc: Adjust all calls to
|
||
__throw_regex_error.
|
||
* include/bits/regex_error.h (__throw_regex_error): Add noreturn
|
||
attribute.
|
||
* include/bits/regex_scanner.tcc: Likewise.
|
||
* src/c++11/regex.cc (desc): New helper function.
|
||
(regex_error::regex_error(error_type)): Use desc to get a string
|
||
corresponding to the error code.
|
||
|
||
|
||
Copyright (C) 2022 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.
|