summaryrefslogtreecommitdiff
path: root/libstdc++-v3/ChangeLog
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2022-01-03 10:23:34 +0100
committerJakub Jelinek <jakub@redhat.com>2022-01-03 10:23:34 +0100
commit6123f29a18a77eb1a0597f403c4424ae375351fd (patch)
treea6ccc508a0fa01f19e65a2e8fada38a7089d819d /libstdc++-v3/ChangeLog
parentd04ae83244d346b95c36c2e3d39918548310f142 (diff)
Rotate ChangeLog files - step 2 - remove 2021 entries from ChangeLog files.
Can't be committed together with the previous one due to the ChangeLog vs. other files restrictions.
Diffstat (limited to 'libstdc++-v3/ChangeLog')
-rw-r--r--libstdc++-v3/ChangeLog9010
1 files changed, 1 insertions, 9009 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 7e046650714..3a4f03c28af 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,9013 +1,5 @@
-2021-12-15 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/stl_iterator.h
- (std::pointer_traits<__gnu_cxx::__normal_iterator<>>): Remove.
- (std::__to_address(const __gnu_cxx::__normal_iterator<>&)): New for C++11 to C++17.
- * include/debug/safe_iterator.h
- (std::__to_address(const __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<>,
- _Sequence>&)): New for C++11 to C++17.
- * testsuite/24_iterators/normal_iterator/to_address.cc: Add check on std::vector::iterator
- to validate both __gnu_cxx::__normal_iterator<> __to_address overload in normal mode and
- __gnu_debug::_Safe_iterator in _GLIBCXX_DEBUG mode.
-
-2021-12-15 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/71557
- * include/bits/locale_facets_nonio.tcc (_M_extract_via_format):
- Compare characters other than format specifiers and whitespace
- case insensitively.
- (_M_extract_name): Compare characters case insensitively.
- * testsuite/22_locale/time_get/get/char/71557.cc: New test.
- * testsuite/22_locale/time_get/get/wchar_t/71557.cc: New test.
-
-2021-12-14 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103687
- * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Restore
- original locale before returning.
- * testsuite/22_locale/time_get/get_time/char/2.cc: Check for %p
- in locale's T_FMT and adjust accordingly.
- * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
-
-2021-12-14 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102447
- * include/bits/regex_compiler.h (_Compiler::_BracketState): New
- class.
- (_Compiler::_BrackeyMatcher): New alias template.
- (_Compiler::_M_expression_term): Change pair<bool, CharT>
- parameter to _BracketState. Process first character for
- ECMAScript syntax as well as POSIX.
- * include/bits/regex_compiler.tcc
- (_Compiler::_M_insert_bracket_matcher): Pass _BracketState.
- (_Compiler::_M_expression_term): Use _BracketState to store
- state between calls. Improve handling of dashes in ranges.
- * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
- Add more tests for ranges containing dashes. Check invalid
- ranges with character class at the beginning.
-
-2021-12-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/ext/pointer.h (_Relative_pointer_impl::_UIntPtrType):
- Rename to uintptr_t and define as __UINTPTR_TYPE__.
-
-2021-12-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex_constants.h (__syntax_option, __match_flag):
- Remove.
- (syntax_option_type, match_flag_type): Define enumerators.
- Use to initialize globals. Add constexpr to compound assignment
- operators.
- * include/bits/regex_error.h (error_type): Add comment.
- * testsuite/28_regex/constants/constexpr.cc: Remove comment.
- * testsuite/28_regex/constants/error_type.cc: Improve comment.
- * testsuite/28_regex/constants/match_flag_type.cc: Check bitmask
- requirements.
- * testsuite/28_regex/constants/syntax_option_type.cc: Likewise.
-
-2021-12-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex_compiler.tcc (_Compiler::_M_match_token):
- Use reserved name for parameter.
- * testsuite/17_intro/names.cc: Check "token".
-
-2021-12-13 Jonathan Wakely <jwakely@redhat.com>
-
- * scripts/make_exports.pl: Replace '?' with '.' when turning
- a glob into a regex.
-
-2021-12-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_base.h (ranges::size, ranges::empty): Add
- explicit check for unbounded arrays before using ranges::begin.
- * testsuite/std/ranges/access/empty.cc: Check handling of unbounded
- arrays.
- * testsuite/std/ranges/access/size.cc: Likewise.
-
-2021-12-13 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103664
- * include/bits/regex.h (__regex_replace): Declare.
- (regex_replace): Use it.
- * include/bits/regex.tcc (__regex_replace): Replace regex_replace
- definition with __regex_replace.
- * testsuite/28_regex/algorithms/regex_replace/char/103664.cc: New test.
-
-2021-12-11 Jason Merrill <jason@redhat.com>
-
- PR c++/103534
- * include/bits/basic_string.h (append (basic_string)): Call pointer
- append instead of _M_append directly.
-
-2021-12-10 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/71367
- * config/locale/dragonfly/time_members.cc (_M_initialize_timepunct):
- Initialize "C" _M_am_pm_format to %I:%M:%S %p rather than empty
- string.
- * config/locale/gnu/time_members.cc (_M_initialize_timepunct):
- Likewise.
- * config/locale/generic/time_members.cc (_M_initialize_timepunct):
- Likewise.
- * include/bits/locale_facets_nonio.h (_M_am_pm_format): New method.
- * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Handle
- %r.
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_am_pm_format
- with const _CharT** argument, ensure it isn't exported in GLIBCXX_3.4.
- * testsuite/22_locale/time_get/get/char/71367.cc: New test.
- * testsuite/22_locale/time_get/get/wchar_t/71367.cc: New test.
-
-2021-12-10 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/78714
- * include/bits/locale_facets_nonio.tcc (_M_extract_via_format):
- Mention in function comment it interprets strptime format string
- rather than strftime. Handle %a and %A the same by accepting both
- full and abbreviated names. Similarly handle %h, %b and %B the same.
- Handle %d and %e the same by accepting possibly optional single space
- and 1 or 2 digits. For %I store tm_hour 0 instead of tm_hour 12. For
- %t and %n skip any whitespace. Handle %p and %%. For whitespace in
- the string skip any whitespace.
- (_M_extract_num): For __len == 2 accept 1 or 2 digits rather than
- always 2. Don't punt early if __value * __mult is larget than __max
- or smaller than __min - __mult, instead punt if __value > __max.
- At the end verify __value is in between __min and __max and punt
- otherwise.
- (_M_extract_name): Allow non-unique names or names which are prefixes
- of other names. Don't recompute lengths of names for every character.
- * testsuite/22_locale/time_get/get/char/3.cc: New test.
- * testsuite/22_locale/time_get/get/wchar_t/3.cc: New test.
- * testsuite/22_locale/time_get/get_date/char/12791.cc (test01): Use
- 62 instead 60 and expect 6 to be accepted and thus *ret01 == '2'.
- * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc (test01):
- Similarly.
- * testsuite/22_locale/time_get/get_time/char/2.cc (test02): Add " PM"
- to the string.
- * testsuite/22_locale/time_get/get_time/char/5.cc (test01): Expect
- tm_hour 1 rather than 0.
- * testsuite/22_locale/time_get/get_time/wchar_t/2.cc (test02): Add
- " PM" to the string.
- * testsuite/22_locale/time_get/get_time/wchar_t/5.cc (test01): Expect
- tm_hour 1 rather than 0.
-
-2021-12-10 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103638
- * include/bits/atomic_timed_wait.h: Check _GLIBCXX_HAS_GTHREADS
- before using std::mutex and std::__condvar.
-
-2021-12-10 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add _GLIBCXX_
- prefix to NO_SLEEP macro.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
-2021-12-10 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/char_traits.h: Change pragma push to pop.
-
-2021-12-10 Thomas Rodgers <rodgert@twrodgers.com>
-
- PR libstdc++/102994
- * include/bits/atomic_base.h (__atomic_base<_PTp*>::wait()):
- Add const qualifier.
- * include/std/atomic (atomic<_Tp*>::wait(), atomic_wait()):
- Likewise.
- * testsuite/29_atomics/atomic/wait_notify/102994.cc:
- New test.
-
-2021-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_iterator.h (operator==, operator<=>): Define
- overloads for homogeneous specializations of reverse_iterator,
- __normal_iterator and move_iterator.
-
-2021-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/scoped_allocator/69293_neg.cc: Remove
- dg-error for c++20.
-
-2021-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/85813
- * libsupc++/exception_ptr.h (__dest_thunk): Add macro for
- destructor calling convention.
- (make_exception_ptr): Enable non-throwing implementation for
- -fno-exceptions and for non-standard calling conventions. Use
- always_inline attribute on the useless no-rtti no-exceptions
- definition.
- * testsuite/18_support/exception_ptr/64241.cc: Add -fno-rtti so
- the no-op implementation is still used.
-
-2021-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103630
- * libsupc++/exception_ptr.h (exception_ptr): Fix exception
- specifications on inline definitions.
- (make_exception_ptr): Decay the template parameter. Use typeid
- of the static type.
- * testsuite/18_support/exception_ptr/103630.cc: New test.
-
-2021-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/59769
- * config/io/basic_file_stdio.cc (fopen_mode): Add support for
- exclusive mode.
- * include/bits/ios_base.h (_S_noreplace): Define new enumerator.
- (ios_base::__noreplace): Define.
- (ios_base::noreplace): Define for C++23.
- * include/std/version (__cpp_lib_ios_noreplace): Define.
- * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: New test.
- * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: New test.
-
-2021-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103382
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Do not export old
- symbol if .symver renaming is supported.
- (GLIBCXX_3.4.30): Export new symbol if .symver renaming is
- supported.
- * doc/xml/manual/evolution.xml: Document change.
- * doc/html/manual/api.html: Regenerate.
- * include/bits/std_mutex.h (__condvar::wait, __condvar::wait_until):
- Remove noexcept.
- * include/std/condition_variable (condition_variable::wait):
- Likewise.
- * src/c++11/condition_variable.cc (condition_variable::wait):
- Likewise.
- * src/c++11/compatibility-condvar.cc (__nothrow_wait_cv::wait):
- Define nothrow wrapper around std::condition_variable::wait and
- export the old symbol as an alias to it.
- * testsuite/30_threads/condition_variable/members/103382.cc: New test.
-
-2021-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/92300
- * include/bits/stl_map.h (insert(Pair&&), emplace(Args&&...)):
- Check whether the arguments can be looked up directly without
- constructing a temporary node first.
- * include/bits/stl_pair.h (__is_pair): Move to here, from ...
- * include/bits/uses_allocator_args.h (__is_pair): ... here.
- * testsuite/23_containers/map/modifiers/emplace/92300.cc: New test.
- * testsuite/23_containers/map/modifiers/insert/92300.cc: New test.
-
-2021-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/cow_string.h (basic_string::_M_leak_hard): Do not
- reallocate an empty string.
-
-2021-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103332
- PR libstdc++/102958
- PR libstdc++/103483
- * include/bits/char_traits.h: Suppress stringop and array-bounds
- warnings.
-
-2021-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64135
- * config/allocator/new_allocator_base.h: Include
- <bits/new_allocator.h> instead of <ext/new_allocator.h>.
- (__allocator_base): Use std::__new_allocator instead of
- __gnu_cxx::new_allocator.
- * doc/xml/manual/allocator.xml: Document new default base class
- for std::allocator.
- * doc/xml/manual/evolution.xml: Likewise.
- * doc/html/*: Regenerate.
- * include/Makefile.am: Add bits/new_allocator.h.
- * include/Makefile.in: Regenerate.
- * include/experimental/memory_resource (new_delete_resource):
- Use std::__new_allocator instead of __gnu_cxx::new_allocator.
- * include/ext/new_allocator.h (new_allocator): Derive from
- std::__new_allocator. Move implementation to ...
- * include/bits/new_allocator.h: New file.
- * testsuite/20_util/allocator/64135.cc: New test.
-
-2021-12-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release()):
- Make shift width conditional on __double_word condition.
-
-2021-12-08 François Dumont <fdumont@gcc.gnu.org>
-
- * include/std/deque (erase_if): Use _GLIBCXX_STD_C container reference and
- __niter_wrap to limit _GLIBCXX_DEBUG mode impact.
- * include/std/vector (erase_if): Likewise.
-
-2021-12-08 Maged Michael <maged.michael@gmail.com>
- Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/c++config (_GLIBCXX_TSAN): Define macro
- indicating that TSan is in use.
- * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release):
- Replace definition in primary template with explicit
- specializations for _S_mutex and _S_atomic policies.
- (_Sp_counted_base<_S_mutex>::_M_release): New specialization.
- (_Sp_counted_base<_S_atomic>::_M_release): New specialization,
- using a single atomic load to access both reference counts at
- once.
- (_Sp_counted_base::_M_release_last_use): New member function.
-
-2021-12-07 Tamar Christina <tamar.christina@arm.com>
-
- Revert:
- 2021-11-19 Tamar Christina <tamar.christina@arm.com>
-
- PR libstdc++/103305
- * config/os/newlib/ctype_base.h (upper, lower, alpha, digit, xdigit,
- space, print, graph, cntrl, punct, alnum, blank): Use short or long
- names depending on if short ones are defined.
-
-2021-12-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103549
- * include/bits/regex.h (match_results): Give names to template
- parameters in first declaration.
- (match_results::_M_begin): Add default member-initializer.
-
-2021-12-03 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_tree.h (_Rb_tree::_Auto_node): Define new
- RAII helper for creating and inserting new nodes.
- (_Rb_tree::_M_insert_node): Use trailing-return-type to simplify
- out-of-line definition.
- (_Rb_tree::_M_insert_lower_node): Likewise.
- (_Rb_tree::_M_insert_equal_lower_node): Likewise.
- (_Rb_tree::_M_emplace_unique): Likewise. Use _Auto_node.
- (_Rb_tree::_M_emplace_equal): Likewise.
- (_Rb_tree::_M_emplace_hint_unique): Likewise.
- (_Rb_tree::_M_emplace_hint_equal): Likewise.
-
-2021-12-02 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/cow-stdexcept.cc [_GLIBCXX_FULLY_DYNAMIC_STRING]
- (logic_error, runtime_error): Remove custom definitions.
-
-2021-12-02 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103340
- PR libstdc++/103400
- PR libstdc++/103381
- * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Remove mt, bitmap
- and pool options.
- * configure: Regenerate.
- * config/allocator/bitmap_allocator_base.h: Removed.
- * config/allocator/mt_allocator_base.h: Removed.
- * config/allocator/pool_allocator_base.h: Removed.
- * doc/xml/manual/allocator.xml: Update.
- * doc/xml/manual/configure.xml: Update.
- * doc/xml/manual/evolution.xml: Document removal.
- * doc/xml/manual/mt_allocator.xml: Editorial tweaks.
- * doc/html/manual/*: Regenerate.
-
-2021-12-02 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/cow_string.h (basic_string::_M_is_leaked()):
- Revert change to check __is_single_threaded() before using
- atomic load.
-
-2021-12-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103501
- * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&, false_type)):
- Clear container if elements have been moved-from.
- * testsuite/23_containers/map/allocator/move_cons.cc: Expect
- moved-from container to be empty.
- * testsuite/23_containers/multimap/allocator/move_cons.cc:
- Likewise.
- * testsuite/23_containers/multiset/allocator/103501.cc: New test.
- * testsuite/23_containers/set/allocator/103501.cc: New test.
-
-2021-12-01 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/doxygen/user.cfg.in (PREDEFINED): Change macro name.
- * include/bits/allocator.h (allocate, deallocate): Use
- std::__is_constant_evaluated() unconditionally, instead of
- checking whether std::is_constant_evaluated() (or the built-in)
- can be used.
- * include/bits/basic_string.h: Check new macro. call
- std::is_constant_evaluated() directly in C++20-only code that is
- guarded by a suitable macro.
- * include/bits/basic_string.tcc: Likewise.
- * include/bits/c++config (__is_constant_evaluated): Define.
- (_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED): Replace with ...
- (_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED): New macro.
- * include/bits/char_traits.h (char_traits): Replace conditional
- calls to std::is_constant_evaluated with unconditional calls to
- std::__is_constant_evaluated.
- * include/bits/cow_string.h: Use new macro.
- * include/bits/ranges_algobase.h (__copy_or_move): Replace
- conditional calls to std::is_constant_evaluated with unconditional
- calls to std::__is_constant_evaluated.
- (__copy_or_move_backward, __fill_n_fn): Likewise.
- * include/bits/ranges_cmp.h (ranges::less): Likewise.
- * include/bits/stl_algobase.h (lexicographical_compare_three_way):
- Likewise.
- * include/bits/stl_bvector.h: Call std::is_constant_evaluated
- directly in C++20-only code that is guarded by a suitable macro.
- * include/bits/stl_construct.h (_Construct, _Destroy, _Destroy_n):
- Replace is_constant_evaluated with __is_constant_evaluated.
- * include/bits/stl_function.h (greater, less, greater_equal)
- (less_equal): Replace __builtin_is_constant_evaluated and
- __builtin_constant_p with __is_constant_evaluated.
- * include/bits/stl_vector.h: Call std::is_constant_evaluated()
- in C++20-only code.
- * include/debug/helper_functions.h (__check_singular): Use
- __is_constant_evaluated instead of built-in, or remove check
- entirely.
- * include/std/array (operator<=>): Use __is_constant_evaluated
- unconditionally.
- * include/std/bit (__bit_ceil): Likewise.
- * include/std/type_traits (is_constant_evaluated): Define using
- 'if consteval' if possible.
- * include/std/version: Use new macro.
- * libsupc++/compare: Use __is_constant_evaluated instead of
- __builtin_is_constant_evaluated.
- * testsuite/23_containers/array/tuple_interface/get_neg.cc:
- Adjust dg-error lines.
-
-2021-12-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/cow_string.h (basic_string::_M_is_leaked): Use
- non-atomic load when __is_single_threaded() is true.
- (basic_string::_M_is_shared): Likewise.
- (basic_string::(basic_string&&)) [_GLIBCXX_FULLY_DYNAMIC_STRING]:
- Use non-atomic store when rvalue is not shared.
-
-2021-12-01 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++17/fs_path.cc (path::_M_split_cmpts()): Remove
- micro-optimization for "/" path.
- * src/filesystem/path.cc (path::_M_split_cmpts()): Only access
- the contents of _M_pathname using const member functions.
-
-2021-11-30 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/21_strings/basic_string/cons/char/moveable.cc: Allow
- moved-from string to be non-empty.
- * testsuite/21_strings/basic_string/cons/char/moveable2.cc:
- Likewise.
- * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc:
- Likewise.
- * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc:
- Likewise.
- * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
- Likewise.
- * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc:
- Likewise.
- * testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc:
- Construct empty string before setting oom flag.
- * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc:
- Likewise.
-
-2021-11-30 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/cow_string.h (basic_string(basic_string&&)): Fix
- mem-initializer for _GLIBCXX_FULLY_DYNAMIC_STRING==0 case.
- * testsuite/21_strings/basic_string/cons/char/noexcept_move_construct.cc:
- Remove outdated comment.
- * testsuite/21_strings/basic_string/cons/wchar_t/noexcept_move_construct.cc:
- Likewise.
-
-2021-11-30 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++20/sstream-inst.cc (_GLIBCXX_USE_CXX11_ABI): Define to
- select new ABI.
-
-2021-11-30 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_vector.h (vector::_S_do_relocate): Remove
- C++20 constexpr specifier.
- (vector::_S_relocate) [__cpp_if_constexpr]: Call __relocate_a
- directly without tag dispatching.
-
-2021-11-30 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103453
- * config/allocator/malloc_allocator_base.h
- (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define for Clang.
- * config/allocator/new_allocator_base.h
- (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Likewise.
-
-2021-11-30 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/debug_mode.xml: Replace "his or her" with "their".
- * doc/html/manual/debug_mode_design.html: Regenerate.
-
-2021-11-30 Jakub Jelinek <jakub@redhat.com>
-
- * include/std/bit (byteswap): Add [[nodiscard]].
-
-2021-11-28 Jakub Jelinek <jakub@redhat.com>
-
- * include/std/bit (__cpp_lib_byteswap, byteswap): Define.
- * include/std/version (__cpp_lib_byteswap): Define.
- * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: New test.
- * testsuite/26_numerics/bit/bit.byteswap/version.cc: New test.
-
-2021-11-26 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/24_iterators/move_iterator/dr3265.cc: Fix test to
- account for LWG 3435 resolution.
-
-2021-11-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_uninitialized.h (__relocate_a_1): Do not use
- memmove during constant evaluation.
- * include/bits/stl_vector.h (vector::_S_use_relocate()): Do not
- check is_constant_evaluated in always-constexpr function.
-
-2021-11-26 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/96592
- * include/std/tuple (tuple::is_constructible): Remove.
-
-2021-11-26 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/29_atomics/atomic_float/1.cc: Reorder directives.
-
-2021-11-26 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/23_containers/unordered_map/modifiers/move_assign.cc:
- Change dg-do compile to run.
- * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc:
- Likewise.
-
-2021-11-26 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
- Remove xfail selector.
- * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
- Likewise.
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
- Likewise.
- * testsuite/23_containers/span/101411.cc: Likewise.
- * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise.
- * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
- Likewise.
- * testsuite/25_algorithms/equal/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.
-
-2021-11-26 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/pointer_traits/lwg3545.cc: Move to_address
- tests to ...
- * testsuite/20_util/to_address/lwg3545.cc: ... here. Add -std
- option before checking effective target.
-
-2021-11-25 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/tuple/comparison_operators/overloaded2.cc:
- Remove dg-error for C++11_only error.
-
-2021-11-25 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/96416
- * include/bits/ptr_traits.h (pointer_traits): Reimplement to be
- SFINAE-friendly (LWG 3545).
- * testsuite/20_util/pointer_traits/lwg3545.cc: New test.
- * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line.
- * testsuite/20_util/to_address/lwg3545.cc: New test.
-
-2021-11-25 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101608
- * include/bits/ranges_algobase.h (__fill_n_fn): Check for
- constant evaluation before using memset.
- * testsuite/25_algorithms/fill_n/constrained.cc: Check
- byte-sized values as well.
-
-2021-11-24 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/libstdc++-prettyprinters/80276.cc: Add xfail for
- debug mode.
- * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
-
-2021-11-24 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/lib/libstdc++.exp: Rename effective target keywords
- to avoid dashes in the name.
- * testsuite/*: Update effective targe keywords.
-
-2021-11-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103086
- * testsuite/libstdc++-prettyprinters/cxx11.cc: Check unique_ptr
- with non-empty pointer and non-empty deleter.
-
-2021-11-23 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/18_support/50594.cc: Check effective target.
- * testsuite/20_util/allocator/1.cc: Likewise.
- * testsuite/20_util/allocator/overaligned.cc: Likewise.
- * testsuite/23_containers/unordered_map/96088.cc: Likewise.
- * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
- * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
- * testsuite/23_containers/unordered_set/96088.cc: Likewise.
- * testsuite/ext/throw_allocator/check_delete.cc: Likewise.
- * testsuite/ext/throw_allocator/check_new.cc: Likewise.
- * testsuite/lib/libstdc++.exp (check_effective_target_std_allocator_new):
- Define new proc.
-
-2021-11-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103381
- * include/ext/bitmap_allocator.h: Include <bits/stl_function.h>
- instead of <functional>.
-
-2021-11-22 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/c++config (_GLIBCXX14_DEPRECATED): Fix condition
- checking for C++14.
-
-2021-11-20 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/erase_if.h (__erase_nodes_if): Add _UnsafeContainer template
- parameter. Use it to get iterators to work with.
- * include/debug/macros.h (__glibcxx_check_erase2): New.
- * include/debug/map.h (map<>::erase(_Base_const_iterator)): New.
- (map<>::erase(const_iterator)): Use latter.
- * include/debug/multimap.h (multimap<>::erase(_Base_const_iterator)): New.
- (multimap<>::erase(const_iterator)): Use latter.
- * include/debug/multiset.h (multiset<>::erase(_Base_const_iterator)): New.
- (multiset<>::erase(const_iterator)): Use latter.
- * include/debug/set.h (set<>::erase(_Base_const_iterator)): New.
- (set<>::erase(const_iterator)): Use latter.
- * include/debug/unordered_map (unordered_map<>::erase(_Base_const_iterator)): New.
- (unordered_multimap<>::erase(const_iterator)): New.
- * include/debug/unordered_set (unordered_set<>::erase(_Base_const_iterator)): New.
- (unordered_multiset<>::erase(const_iterator)): New.
- * include/experimental/map (erase_if): Adapt.
- * include/experimental/set (erase_if): Adapt.
- * include/experimental/unordered_map (erase_if): Adapt.
- * include/experimental/unordered_set (erase_if): Adapt.
- * include/std/map (erase_if): Adapt.
- * include/std/set (erase_if): Adapt.
- * include/std/unordered_map (erase_if): Adapt.
- * include/std/unordered_set (erase_if): Adapt.
-
-2021-11-19 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/27_io/basic_istringstream/cons/char/1.cc: Check all
- constructors.
- * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc:
- Likewise.
- * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise.
- * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc:
- Likewise.
- * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise.
- * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc:
- Likewise.
-
-2021-11-19 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++98/locale_init.cc (_S_initialize_once): Check if
- initialization has already been done.
- (_S_initialize): Replace __gthread_active_p with
- __is_single_threaded. Use __builtin_expect.
-
-2021-11-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103295
- * include/bits/basic_string.tcc (_M_construct): Use the
- traits assign member to write into allcoated memory.
-
-2021-11-19 Iain Sandoe <iain@sandoe.co.uk>
-
- * testsuite/lib/prune.exp: Prune dsymutil (ld64) warning.
-
-2021-11-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103332
- PR libstdc++/102958
- * testsuite/21_strings/basic_string/capacity/char/1.cc: Add
- -Wno-stringop-overflow.
- * testsuite/21_strings/basic_string/operators/char/1.cc:
- Likewise.
- * testsuite/experimental/filesystem/path/factory/u8path-char8_t.cc:
- Add -Wno-stringop-overread.
-
-2021-11-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103295
- * include/bits/basic_string.h (_Alloc_traits): Replace typedef
- with struct for C++20 mode.
- * include/bits/basic_string.tcc (_M_replace): Use _Alloc_traits
- for allocation.
- * include/bits/char_traits.h (__gnu_cxx::char_traits::assign):
- Use std::_Construct during constant evaluation.
- (__gnu_cxx::char_traits::assign(CharT*, const CharT*, size_t)):
- Likewise. Replace std::fill_n with memset or manual loop.
- (__gnu_cxx::char_traits::copy): Likewise, replacing std::copy
- with memcpy.
- * include/ext/vstring.h: Include <bits/stl_algobase.h> for
- std::min.
- * include/std/string_view: Likewise.
- * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
- Add constexpr test.
-
-2021-11-19 Tamar Christina <tamar.christina@arm.com>
-
- PR libstdc++/103305
- * config/os/newlib/ctype_base.h (upper, lower, alpha, digit, xdigit,
- space, print, graph, cntrl, punct, alnum, blank): Use short or long
- names depending on if short ones are defined.
-
-2021-11-18 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/char_traits.h (__gnu_cxx::char_traits::move):
- Do not compare unrelated pointers during constant evaluation.
- * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
- Improve tests for char_traits::move.
-
-2021-11-18 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4: Replace AC_CACHE_VAL with AC_CACHE_CHECK.
- * configure: Regenerate.
-
-2021-11-17 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/internet (address): Use std::_Construct
- to initialize union members.
-
-2021-11-17 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/basic_string.h (_M_construct_aux): Only define
- for C++98. Remove constexpr.
- (_M_construct_aux_2): Likewise.
- (_M_construct(InputIter, InputIter)): Remove.
- (basic_string(const basic_string&)): Call _M_construct with
- iterator category argument.
- (basic_string(const basic_string&, size_type, const Alloc&)):
- Likewise.
- (basic_string(const basic_string&, size_type, size_type)):
- Likewise.
- (basic_string(const charT*, size_type, const Alloc&)): Likewise.
- Check for null pointer.
- (basic_string(const charT*, const Alloc&)): Likewise.
- (basic_string(initializer_list<charT>, const Alloc&)): Call
- _M_construct with iterator category argument.
- (basic_string(const basic_string&, const Alloc&)): Likewise.
- (basic_string(basic_string&&, const Alloc&)): Likewise.
- (basic_string(_InputIter, _InputIter, const Alloc&)): Likewise
- for C++11 and later, call _M_construct_aux for C++98.
- * include/bits/basic_string.tcc
- (_M_construct(I, I, input_iterator_tag)): Replace try-block with
- RAII type.
- (_M_construct(I, I, forward_iterator_tag)): Likewise. Remove
- __is_null_pointer check.
-
-2021-11-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103295
- * include/bits/basic_string.h (_M_use_local_data()): New
- member function to make local buffer the active member.
- (assign(const basic_string&)): Use it.
- * include/bits/basic_string.tcc (_M_construct, reserve()):
- Likewise.
-
-2021-11-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103240
- * libsupc++/tinfo2.cc (type_info::before): Use unadjusted name
- to check for the '*' prefix.
- * testsuite/util/testsuite_shared.cc: Add type_info object for
- use in new test.
- * testsuite/18_support/type_info/103240.cc: New test.
-
-2021-11-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/basic_string.h (operator<=>): Use constexpr
- unconditionally.
- * testsuite/21_strings/basic_string/modifiers/constexpr.cc:
- Require cxx11-abit effective target.
- * testsuite/21_strings/headers/string/synopsis.cc: Add
- conditional constexpr to declarations, and adjust relational
- operators for C++20.
-
-2021-11-16 Patrick Palka <ppalka@redhat.com>
-
- * src/c++17/ryu/MERGE: Update the commit hash.
- * src/c++17/ryu/d2s_intrinsics.h: Merge from Ryu's master
- branch.
-
-2021-11-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/basic_string.h (basic_string, operator""s): Add
- constexpr for C++20.
- (basic_string::basic_string(basic_string&&)): Only copy
- initialized portion of the buffer.
- (basic_string::basic_string(basic_string&&, const Alloc&)):
- Likewise.
- * include/bits/basic_string.tcc (basic_string): Add constexpr
- for C++20.
- (basic_string::swap(basic_string&)): Only copy initialized
- portions of the buffers.
- (basic_string::_M_replace): Add constexpr implementation that
- doesn't depend on pointer comparisons.
- * include/bits/cow_string.h: Adjust comment.
- * include/ext/type_traits.h (__is_null_pointer): Add constexpr.
- * include/std/string (erase, erase_if): Add constexpr.
- * include/std/version (__cpp_lib_constexpr_string): Update
- value.
- * testsuite/21_strings/basic_string/cons/char/constexpr.cc:
- New test.
- * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
- New test.
- * testsuite/21_strings/basic_string/literals/constexpr.cc:
- New test.
- * testsuite/21_strings/basic_string/modifiers/constexpr.cc: New test.
- * testsuite/21_strings/basic_string/modifiers/swap/char/constexpr.cc:
- New test.
- * testsuite/21_strings/basic_string/modifiers/swap/wchar_t/constexpr.cc:
- New test.
- * testsuite/21_strings/basic_string/version.cc: New test.
-
-2021-11-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_bvector.h (swap(_Bit_reference, _Bit_reference))
- (swap(_Bit_reference, bool&), swap(bool&, _Bit_reference)):
- Define as hidden friends of _Bit_reference.
-
-2021-11-16 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
- Fix reads past the end of strings.
- * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
- Likewise.
- * testsuite/experimental/string_view/operations/compare/wchar_t/1.cc:
- Likewise.
-
-2021-11-16 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/21_strings/basic_string/allocator/71964.cc: Fix
- typo.
- * testsuite/23_containers/set/allocator/71964.cc: Likewise.
-
-2021-11-15 Jason Merrill <jason@redhat.com>
-
- * testsuite/20_util/to_address/1_neg.cc: Adjust error.
- * testsuite/26_numerics/random/concept.cc: Adjust asserts.
-
-2021-11-15 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/hashtable_policy.h:
- (_Hash_code_base<>::_M_hash_code(const _Hash&, const _Hash_node_value<_Value, true>&)): New.
- (_Hash_code_base<>::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): New.
- * include/bits/hashtable.h (_Hashtable<>::_M_merge_unique): Use latter.
- (_Hashtable<>::_M_merge_multi): Likewise.
- * testsuite/23_containers/unordered_multiset/modifiers/merge.cc (test05): New test.
- * testsuite/23_containers/unordered_set/modifiers/merge.cc (test04): New test.
-
-2021-11-15 Jason Merrill <jason@redhat.com>
-
- * src/c++17/memory_resource.cc: Add missing constexpr.
- * include/experimental/internet: Only mark copy constructor
- as constexpr with __cpp_constexpr_dynamic_alloc.
-
-2021-11-14 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/safe_container.h (_Safe_container<>::_M_safe): Remove.
- * include/debug/deque (deque::operator=(initializer_list<>)): Replace
- _M_base() call with _Base:: call.
- (deque::operator[](size_type)): Likewise.
- * include/debug/forward_list (forward_list(forward_list&&, const allocator_type&)):
- Remove _M_safe() and _M_base() calls.
- (forward_list::operator=(initializer_list<>)): Remove _M_base() calls.
- (forward_list::splice_after, forward_list::merge): Likewise.
- * include/debug/list (list(list&&, const allocator_type&)):
- Remove _M_safe() and _M_base() calls.
- (list::operator=(initializer_list<>)): Remove _M_base() calls.
- (list::splice, list::merge): Likewise.
- * include/debug/map.h (map(map&&, const allocator_type&)):
- Remove _M_safe() and _M_base() calls.
- (map::operator=(initializer_list<>)): Remove _M_base() calls.
- * include/debug/multimap.h (multimap(multimap&&, const allocator_type&)):
- Remove _M_safe() and _M_base() calls.
- (multimap::operator=(initializer_list<>)): Remove _M_base() calls.
- * include/debug/set.h (set(set&&, const allocator_type&)):
- Remove _M_safe() and _M_base() calls.
- (set::operator=(initializer_list<>)): Remove _M_base() calls.
- * include/debug/multiset.h (multiset(multiset&&, const allocator_type&)):
- Remove _M_safe() and _M_base() calls.
- (multiset::operator=(initializer_list<>)): Remove _M_base() calls.
- * include/debug/string (basic_string(basic_string&&, const allocator_type&)):
- Remove _M_safe() and _M_base() calls.
- (basic_string::operator=(initializer_list<>)): Remove _M_base() call.
- (basic_string::operator=(const _CharT*), basic_string::operator=(_CharT)): Likewise.
- (basic_string::operator[](size_type), basic_string::operator+=(const basic_string&)):
- Likewise.
- (basic_string::operator+=(const _Char*), basic_string::operator+=(_CharT)): Likewise.
- * include/debug/unordered_map (unordered_map(unordered_map&&, const allocator_type&)):
- Remove _M_safe() and _M_base() calls.
- (unordered_map::operator=(initializer_list<>), unordered_map::merge):
- Remove _M_base() calls.
- (unordered_multimap(unordered_multimap&&, const allocator_type&)):
- Remove _M_safe() and _M_base() calls.
- (unordered_multimap::operator=(initializer_list<>), unordered_multimap::merge):
- Remove _M_base() calls.
- * include/debug/unordered_set (unordered_set(unordered_set&&, const allocator_type&)):
- Remove _M_safe() and _M_base() calls.
- (unordered_set::operator=(initializer_list<>), unordered_set::merge):
- Remove _M_base() calls.
- (unordered_multiset(unordered_multiset&&, const allocator_type&)):
- Remove _M_safe() and _M_base() calls.
- (unordered_multiset::operator=(initializer_list<>), unordered_multiset::merge):
- Remove _M_base() calls.
- * include/debug/vector (vector(vector&&, const allocator_type&)):
- Remove _M_safe() and _M_base() calls.
- (vector::operator=(initializer_list<>)): Remove _M_base() calls.
- (vector::operator[](size_type)): Likewise.
-
-2021-11-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/Makefile.am: Add spanstream header.
- * include/Makefile.in: Regenerate.
- * include/precompiled/stdc++.h: Add spanstream header.
- * include/std/version (__cpp_lib_spanstream): Define.
- * include/std/spanstream: New file.
- * testsuite/27_io/spanstream/1.cc: New test.
- * testsuite/27_io/spanstream/version.cc: New test.
-
-2021-11-13 Hans-Peter Nilsson <hp@axis.com>
-
- PR libstdc++/103166
- * acinclude.m4 (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM):
- Use GCC_TRY_COMPILE_OR_LINK instead of AC_TRY_COMPILE.
- * configure: Regenerate.
-
-2021-11-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/59675
- * acinclude.m4 (libtool_VERSION): Bump version.
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Add version and
- export new symbol.
- * configure: Regenerate.
- * include/bits/c++config (__replacement_assert): Remove, declare
- __glibcxx_assert_fail instead.
- * src/c++11/debug.cc (__glibcxx_assert_fail): New function to
- replace __replacement_assert, writing to stderr instead of
- stdout.
- * testsuite/util/testsuite_abi.cc: Update latest version.
-
-2021-11-12 Jonathan Wakely <jwakely@redhat.com>
- Josh Marshall <joshua.r.marshall.1991@gmail.com>
-
- * include/bits/alloc_traits.h (_Destroy): Make constexpr for
- C++20 mode.
- * include/bits/allocator.h (__shrink_to_fit::_S_do_it):
- Likewise.
- * include/bits/stl_algobase.h (__fill_a1): Declare _Bit_iterator
- overload constexpr for C++20.
- * include/bits/stl_bvector.h (_Bit_type, _S_word_bit): Move out
- of inline namespace.
- (_Bit_reference, _Bit_iterator_base, _Bit_iterator)
- (_Bit_const_iterator, _Bvector_impl_data, _Bvector_base)
- (vector<bool, A>>): Add constexpr to every member function.
- (_Bvector_base::_M_allocate): Initialize storage during constant
- evaluation.
- (vector<bool, A>::_M_initialize_value): Use __fill_bvector_n
- instead of memset.
- (__fill_bvector_n): New helper function to replace memset during
- constant evaluation.
- * include/bits/stl_uninitialized.h (__uninitialized_copy<false>):
- Move logic to ...
- (__do_uninit_copy): New function.
- (__uninitialized_fill<false>): Move logic to ...
- (__do_uninit_fill): New function.
- (__uninitialized_fill_n<false>): Move logic to ...
- (__do_uninit_fill_n): New function.
- (__uninitialized_copy_a): Add constexpr. Use __do_uninit_copy.
- (__uninitialized_move_a, __uninitialized_move_if_noexcept_a):
- Add constexpr.
- (__uninitialized_fill_a): Add constexpr. Use __do_uninit_fill.
- (__uninitialized_fill_n_a): Add constexpr. Use
- __do_uninit_fill_n.
- (__uninitialized_default_n, __uninitialized_default_n_a)
- (__relocate_a_1, __relocate_a): Add constexpr.
- * include/bits/stl_vector.h (_Vector_impl_data, _Vector_impl)
- (_Vector_base, vector): Add constexpr to every member function.
- (_Vector_impl::_S_adjust): Disable ASan annotation during
- constant evaluation.
- (_Vector_base::_S_use_relocate): Disable bitwise-relocation
- during constant evaluation.
- (vector::_Temporary_value): Use a union for storage.
- * include/bits/vector.tcc (vector, vector<bool>): Add constexpr
- to every member function.
- * include/std/vector (erase_if, erase): Add constexpr.
- * testsuite/23_containers/headers/vector/synopsis.cc: Add
- constexpr for C++20 mode.
- * testsuite/23_containers/vector/bool/cmp_c++20.cc: Change to
- compile-only test using constant expressions.
- * testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust
- namespace for _S_word_bit.
- * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
- Likewise.
- * testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
- * testsuite/23_containers/vector/cons/89164.cc: Adjust errors
- for C++20 and move C++17 test to ...
- * testsuite/23_containers/vector/cons/89164_c++17.cc: ... here.
- * testsuite/23_containers/vector/bool/capacity/constexpr.cc: New test.
- * testsuite/23_containers/vector/bool/cons/constexpr.cc: New test.
- * testsuite/23_containers/vector/bool/element_access/constexpr.cc: New test.
- * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: New test.
- * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: New test.
- * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: New test.
- * testsuite/23_containers/vector/capacity/constexpr.cc: New test.
- * testsuite/23_containers/vector/cons/constexpr.cc: New test.
- * testsuite/23_containers/vector/data_access/constexpr.cc: New test.
- * testsuite/23_containers/vector/element_access/constexpr.cc: New test.
- * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: New test.
- * testsuite/23_containers/vector/modifiers/constexpr.cc: New test.
- * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: New test.
-
-2021-11-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/debug/deque (deque::operator=(const deque&)): Remove
- definition.
- * include/debug/list (list::operator=(const list&)): Likewise.
- * include/debug/map.h (map::operator=(const map&)): Likewise.
- * include/debug/multimap.h (multimap::operator=(const multimap&)):
- Likewise.
- * include/debug/multiset.h (multiset::operator=(const multiset&)):
- Likewise.
- * include/debug/set.h (set::operator=(const set&)): Likewise.
- * include/debug/string (basic_string::operator=(const basic_string&)):
- Likewise.
- * include/debug/vector (vector::operator=(const vector&)):
- Likewise.
- (_Safe_vector::operator=(const _Safe_vector&)): Define for
- C++98 as well.
-
-2021-11-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/memory_resource (memory_resource::allocate):
- Implicitly create objects in the returned storage.
-
-2021-11-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_bvector.h (vector<bool>::data()): Give
- protected access, and delete for C++11 and later.
-
-2021-11-10 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100117
- * testsuite/17_intro/headers/c++1998/49745.cc: Explicitly list
- all C++ headers instead of including <bits/stdc++.h>
-
-2021-11-10 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100748
- PR libstdc++/103133
- * config/os/gnu-linux/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK):
- Define for glibc 2.34 and later.
-
-2021-11-09 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/hashtable_policy.h (__distance_fw): Replace class keyword with
- typename.
- * include/bits/hashtable.h (_Hashtable<>::_M_merge_unique): Remove noexcept
- qualification. Use const_iterator for node extraction/reinsert.
- (_Hashtable<>::_M_merge_multi): Likewise. Compute new hash code before extract.
- * include/debug/safe_container.h (_Safe_container<>): Make all methods
- protected.
- * include/debug/safe_unordered_container.h
- (_Safe_unordered_container<>::_UContInvalidatePred<_ExtractKey, _Source>): New.
- (_Safe_unordered_container<>::_UMContInvalidatePred<_ExtractKey, _Source>): New.
- (_Safe_unordered_container<>::_UContMergeGuard<_Source, _InvalidatePred>): New.
- (_Safe_unordered_container<>::_S_uc_guard<_ExtractKey, _Source>): New.
- (_Safe_unordered_container<>::_S_umc_guard<_ExtractKey, _Source>): New.
- (_Safe_unordered_container<>::_M_invalide_all): Make public.
- (_Safe_unordered_container<>::_M_invalide_if): Likewise.
- (_Safe_unordered_container<>::_M_invalide_local_if): Likewise.
- * include/debug/unordered_map
- (unordered_map<>::mapped_type, pointer, const_pointer): New typedef.
- (unordered_map<>::reference, const_reference, difference_type): New typedef.
- (unordered_map<>::get_allocator, empty, size, max_size): Add usings.
- (unordered_map<>::bucket_count, max_bucket_count, bucket): Add usings.
- (unordered_map<>::hash_function, key_equal, count, contains): Add usings.
- (unordered_map<>::operator[], at, rehash, reserve): Add usings.
- (unordered_map<>::merge): New.
- (unordered_multimap<>::mapped_type, pointer, const_pointer): New typedef.
- (unordered_multimap<>::reference, const_reference, difference_type): New typedef.
- (unordered_multimap<>::get_allocator, empty, size, max_size): Add usings.
- (unordered_multimap<>::bucket_count, max_bucket_count, bucket): Add usings.
- (unordered_multimap<>::hash_function, key_equal, count, contains): Add usings.
- (unordered_multimap<>::rehash, reserve): Add usings.
- (unordered_multimap<>::merge): New.
- * include/debug/unordered_set
- (unordered_set<>::mapped_type, pointer, const_pointer): New typedef.
- (unordered_set<>::reference, const_reference, difference_type): New typedef.
- (unordered_set<>::get_allocator, empty, size, max_size): Add usings.
- (unordered_set<>::bucket_count, max_bucket_count, bucket): Add usings.
- (unordered_set<>::hash_function, key_equal, count, contains): Add usings.
- (unordered_set<>::rehash, reserve): Add usings.
- (unordered_set<>::merge): New.
- (unordered_multiset<>::mapped_type, pointer, const_pointer): New typedef.
- (unordered_multiset<>::reference, const_reference, difference_type): New typedef.
- (unordered_multiset<>::get_allocator, empty, size, max_size): Add usings.
- (unordered_multiset<>::bucket_count, max_bucket_count, bucket): Add usings.
- (unordered_multiset<>::hash_function, key_equal, count, contains): Add usings.
- (unordered_multiset<>::rehash, reserve): Add usings.
- (unordered_multiset<>::merge): New.
- * testsuite/23_containers/unordered_map/debug/merge1_neg.cc: New test.
- * testsuite/23_containers/unordered_map/debug/merge2_neg.cc: New test.
- * testsuite/23_containers/unordered_map/debug/merge3_neg.cc: New test.
- * testsuite/23_containers/unordered_map/debug/merge4_neg.cc: New test.
- * testsuite/23_containers/unordered_multimap/debug/merge1_neg.cc: New test.
- * testsuite/23_containers/unordered_multimap/debug/merge2_neg.cc: New test.
- * testsuite/23_containers/unordered_multimap/debug/merge3_neg.cc: New test.
- * testsuite/23_containers/unordered_multimap/debug/merge4_neg.cc: New test.
- * testsuite/23_containers/unordered_multiset/debug/merge1_neg.cc: New test.
- * testsuite/23_containers/unordered_multiset/debug/merge2_neg.cc: New test.
- * testsuite/23_containers/unordered_multiset/debug/merge3_neg.cc: New test.
- * testsuite/23_containers/unordered_multiset/debug/merge4_neg.cc: New test.
- * testsuite/23_containers/unordered_set/debug/merge1_neg.cc: New test.
- * testsuite/23_containers/unordered_set/debug/merge2_neg.cc: New test.
- * testsuite/23_containers/unordered_set/debug/merge3_neg.cc: New test.
- * testsuite/23_containers/unordered_set/debug/merge4_neg.cc: New test.
- * testsuite/util/testsuite_abi.h: [_GLIBCXX_DEBUG] Use normal unordered
- container implementation.
-
-2021-11-09 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/26_numerics/random/random_device/cons/token.cc:
- Print results of random_device_available checks.
-
-2021-11-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103146
- * src/c++11/random.cc: Check __powerpc64__ not __powerpc__.
-
-2021-11-09 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM):
- Define.
- * configure.ac (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM):
- Use them.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * src/c++11/random.cc (random_device): Add getentropy and
- arc4random as sources.
- * testsuite/26_numerics/random/random_device/cons/token.cc:
- Check new tokens.
- * testsuite/26_numerics/random/random_device/entropy.cc:
- Likewise.
-
-2021-11-09 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/26_numerics/random/random_device/cons/token.cc:
- Retry if random devices produce the same value.
-
-2021-11-09 Rasmus Villemoes <rasmus.villemoes@prevas.dk>
-
- * config/os/vxworks/os_defines.h (_GLIBCXX_HAVE_TLS): Only
- define for VxWorks >= 6.6.
-
-2021-11-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/range_access.h (begin(valarray), end(valarray)):
- Add noexcept.
-
-2021-11-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/tuple (tuple_size_v): Fix pack expansion.
-
-2021-11-05 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/random.cc (__x86_rdrand, __x86_rdseed): Add
- [[unlikely]] attribute.
-
-2021-11-05 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/random.cc [__powerpc__] (USE_DARN): Define.
- (__ppc_darn): New function to use POWER9 DARN instruction.
- (Which): Add 'darn' enumerator.
- (which_source): Check for __ppc_darn.
- (random_device::_M_init): Support "darn" and "hw" tokens.
- (random_device::_M_getentropy): Add darn to switch.
- * testsuite/26_numerics/random/random_device/cons/token.cc:
- Check "darn" token.
- * testsuite/26_numerics/random/random_device/entropy.cc:
- Likewise.
-
-2021-11-05 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/lib/gdb-test.exp: Add target selector support to the
- dg-final directives.
- * testsuite/libstdc++-prettyprinters/80276.cc: Add xfail for
- C++20.
- * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
- * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Tweak
- comment.
-
-2021-11-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103086
- * python/libstdcxx/v6/printers.py (_tuple_impl_get): New helper
- for accessing the tuple element stored in a _Tuple_impl node.
- (tuple_get): New function for accessing a tuple element.
- (unique_ptr_get): New function for accessing a unique_ptr.
- (UniquePointerPrinter, StdPathPrinter): Use unique_ptr_get.
- * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Cast
- tuple to its base class before accessing _M_head_impl.
-
-2021-11-04 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/evolution.xml: Document deprecations.
- * doc/html/*: Regenerate.
- * libsupc++/exception (unexpected_handler, unexpected)
- (get_unexpected, set_unexpected): Add deprecated attribute.
- Do not define without _GLIBCXX_USE_DEPRECATED for C++17 and up.
- * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Disable
- deprecated warnings.
- * libsupc++/eh_ptr.cc (std::rethrow_exception): Likewise.
- * libsupc++/eh_terminate.cc: Likewise.
- * libsupc++/eh_throw.cc (__cxa_init_primary_exception):
- Likewise.
- * libsupc++/unwind-cxx.h (struct __cxa_exception): Use
- terminate_handler instead of unexpected_handler.
- (struct __cxa_dependent_exception): Likewise.
- (__unexpected): Likewise.
- * testsuite/18_support/headers/exception/synopsis.cc: Add
- dg-warning for deprecated warning.
- * testsuite/18_support/exception_ptr/60612-unexpected.cc:
- Disable deprecated warnings.
- * testsuite/18_support/set_unexpected.cc: Likewise.
- * testsuite/18_support/unexpected_handler.cc: Likewise.
-
-2021-11-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/utility.h (__find_uniq_type_in_pack): Move
- definition to here, ...
- * include/std/tuple (__find_uniq_type_in_pack): ... from here.
- * include/std/variant (__detail__variant::__index_of): Remove.
- (__detail::__variant::__exactly_once): Define using
- __find_uniq_type_in_pack instead of __index_of.
- (get<T>, get_if<T>, variant::__index_of): Likewise.
-
-2021-11-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_pair.h (tuple_size_v): Define partial
- specializations for std::pair.
- * include/bits/utility.h (_Nth_type): Move definition here
- and define primary template.
- (tuple_size_v): Move definition here.
- * include/std/array (tuple_size_v): Define partial
- specializations for std::array.
- * include/std/tuple (tuple_size_v): Move primary template to
- <bits/utility.h>. Define partial specializations for
- std::tuple.
- (tuple_element): Change definition to use _Nth_type.
- * include/std/variant (_Nth_type): Move to <bits/utility.h>.
- (variant_alternative, variant): Adjust qualification of
- _Nth_type.
- * testsuite/20_util/tuple/element_access/get_neg.cc: Prune
- additional errors from _Nth_type.
-
-2021-11-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/variant (__detail::__variant::__emplace): New
- function template.
- (_Copy_assign_base::operator=): Reorder conditions to match
- bulleted list of effects in the standard. Use __emplace instead
- of _M_reset followed by _Construct.
- (_Move_assign_base::operator=): Likewise.
- (__construct_by_index): Remove.
- (variant::emplace): Use __emplace instead of _M_reset followed
- by __construct_by_index.
- (variant::swap): Hoist valueless cases out of visitor. Use
- __emplace to replace _M_reset followed by _Construct.
-
-2021-11-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/variant (_Nth_type): Define partial
- specializations to reduce number of instantiations.
- (variant_size_v): Define partial specializations to avoid
- instantiations.
- (variant_alternative): Use _Nth_type. Add static assert.
- (__tuple_count, __tuple_count_v): Replace with ...
- (__count): New variable template.
- (_Variant_union): Add deleted constructor.
- (variant::__to_type): Use _Nth_type.
- (variant::emplace): Use _Nth_type. Add deleted overloads for
- invalid types and indices.
-
-2021-11-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102912
- * include/std/variant (_Variant_storage::__index_of): Remove.
- (__variant_construct_single): Remove.
- (__variant_construct): Remove.
- (_Copy_ctor_base::_Copy_ctor_base(const _Copy_ctor_base&)): Do
- construction directly instead of using __variant_construct.
- (_Move_ctor_base::_Move_ctor_base(_Move_ctor_base&&)): Likewise.
- (_Move_ctor_base::_M_destructive_move()): Remove.
- (_Move_ctor_base::_M_destructive_copy()): Remove.
- (_Copy_assign_base::operator=(const _Copy_assign_base&)): Do
- construction directly instead of using _M_destructive_copy.
- (variant::swap): Do construction directly instead of using
- _M_destructive_move.
- * testsuite/20_util/variant/102912.cc: New test.
-
-2021-11-03 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/66742
- * include/bits/list.tcc (list::sort): Use mutable iterators for
- comparisons.
- * include/bits/stl_list.h (_Scratch_list::_Ptr_cmp): Likewise.
- * testsuite/23_containers/list/operations/66742.cc: Check
- non-const comparisons.
-
-2021-11-03 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/valarray (valarray::valarray()): Add noexcept.
- (valarray::operator[]): Likewise.
-
-2021-11-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/debug/stl_iterator.h (__valid_range): Add constexpr
- for C++20. Qualify call to avoid ADL.
- (__get_distance, __can_advance, __unsafe, __base): Likewise.
- * testsuite/25_algorithms/move/constexpr.cc: Also check with
- std::reverse_iterator arguments.
-
-2021-11-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/span (span(Range&&)): Reorder constraints.
-
-2021-11-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103022
- * include/std/valarray (begin, end): Do not dereference an empty
- valarray. Add noexcept and [[nodiscard]].
- * testsuite/26_numerics/valarray/range_access.cc: Check empty
- valarray. Check iterator properties. Run as well as compiling.
- * testsuite/26_numerics/valarray/range_access2.cc: Likewise.
- * testsuite/26_numerics/valarray/103022.cc: New test.
-
-2021-10-29 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/23_containers/stack/deduction.cc: Fix typo.
-
-2021-10-26 Martin Sebor <msebor@redhat.com>
-
- * testsuite/21_strings/basic_string/capacity/1.cc: Also suppress
- -Wstringop-overread.
- * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: Same.
-
-2021-10-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/28_regex/basic_regex/84110.cc (test01)
- [__cpp_exceptions]: Disambiguate extended.
-
-2021-10-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/17_intro/names.cc [__sun__] (r, x): Undef.
-
-2021-10-22 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102894
- * include/std/any (make_any): Add SFINAE constraint.
- * testsuite/20_util/any/102894.cc: New test.
-
-2021-10-21 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/doxygen/stdheader.cc: Refactor. Use C++23. Add new
- headers.
- * scripts/run_doxygen: Fix post-processing of #include
- directives in man pages. Use new xg++ to compile helper program.
-
-2021-10-21 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/mofunc_impl.h: Add doxygen comments.
- * include/std/functional: Likewise.
-
-2021-10-21 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/alloc_traits.h: Suppress doxygen documentation.
- * include/bits/allocated_ptr.h: Likewise.
- * include/bits/enable_special_members.h: Likewise.
- * include/bits/hashtable.h: Likewise.
- * include/bits/hashtable_policy.h: Likewise.
- * include/bits/uses_allocator.h: Likewise.
- * include/bits/node_handle.h: Document node handles and suppress
- documentation for protected members.
- * include/std/any: Suppress documentation for implementation
- details.
-
-2021-10-21 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/102358
- * include/bits/stl_iterator.h (__niter_base): Make constexpr
- for C++20.
- (__miter_base): Likewise.
- * testsuite/25_algorithms/move/constexpr.cc: New test.
-
-2021-10-21 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (istream_view): Replace this function
- template with an alias template as per P2432R1.
- (wistream_view): Define as per P2432R1.
- (views::_Istream, views::istream): Likewise.
- * testsuite/std/ranges/istream_view.cc (test07): New test.
-
-2021-10-21 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/ranges_util.h (views::_Drop): Forward declare.
- (subrange): Befriend views::_Drop.
- (subrange::_S_store_size): Declare constexpr instead of just
- const, remove obsolete comment.
- * include/std/ranges (views::__detail::__is_empty_view): Define.
- (views::__detail::__is_basic_string_view): Likewise.
- (views::__detail::__is_subrange): Likewise.
- (views::__detail::__is_iota_view): Likewise.
- (views::__detail::__can_take_view): Rename template parm _Tp to _Dp.
- (views::_Take): Rename template parm _Tp to _Dp, make it non-deducible
- and fix it to range_difference_t<_Range>. Implement P1739R4 and
- LWG 3407 changes.
- (views::__detail::__can_drop_view): Rename template parm _Tp to _Dp.
- (views::_Drop): As with views::_Take.
- (views::_Counted): Implement P1739R4 changes.
- * include/std/span (__detail::__is_std_span): Rename to ...
- (__detail::__is_span): ... this and turn it into a variable
- template.
- (__detail::__is_std_array): Turn it into a variable template.
- (span::span): Adjust uses of __is_std_span and __is_std_array
- accordingly.
- * testsuite/std/ranges/adaptors/p1739.cc: New test.
-
-2021-10-21 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/stl_iterator.h (common_iterator::__arrow_proxy):
- Make fully constexpr as per LWG 3595.
- (common_iterator::__postfix_proxy): Likewise.
-
-2021-10-21 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (lazy_split_view::base): Add forward_range
- constraint as per LWG 3591.
- (lazy_split_view::begin, lazy_split_view::end): Also check
- simpleness of _Pattern as per LWG 3592.
- (split_view::base): Relax copyable constraint as per LWG 3590.
-
-2021-10-21 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (join_view::__iter_cat::_S_iter_cat): Adjust
- criteria for returning bidirectional_iterator_tag as per LWG 3535.
- (join_view::_Iterator::_S_iter_concept): Likewise.
-
-2021-10-21 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/ranges_base.h (viewable_range): Adjust as per
- LWG 3481.
- * testsuite/std/ranges/adaptors/all.cc (test07): New test.
-
-2021-10-21 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102863
- * include/std/optional (optional::and_then, optional::transform):
- Remove requires-clause.
- * testsuite/20_util/optional/monadic/and_then.cc: Check
- overload resolution doesn't cause errors.
- * testsuite/20_util/optional/monadic/transform.cc: Likewise.
-
-2021-10-20 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/optional/monadic/transform.cc: Check that
- an rvalue result is not materialized too soon.
-
-2021-10-19 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (iota_view::_Iterator::operator+): Adjust
- definition as per LWG 3580.
- (iota_view::_Iterator::operator-): Likewise.
-
-2021-10-19 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (basic_istream_view::_M_object): Value
- initialize as per LWG 3568.
-
-2021-10-19 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/ranges_util.h
- (__detail::__uses_nonqualification_pointer_conversion): Define
- and use it ...
- (__detail::__convertible_to_nonslicing): ... here, as per LWG 3470.
- * testsuite/std/ranges/subrange/1.cc: New test.
-
-2021-10-19 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (iota_view::_Iterator): Befriend iota_view.
- (iota_view::_Sentinel): Likewise.
- (iota_view::iota_view): Add three overloads, each taking an
- iterator/sentinel pair as per LWG 3523.
- * testsuite/std/ranges/iota/iota_view.cc (test06): New test.
-
-2021-10-19 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/ranges_base.h (view_interface): Forward declare.
- (__detail::__is_derived_from_view_interface_fn): Declare.
- (__detail::__is_derived_from_view_interface): Define as per LWG 3549.
- (enable_view): Adjust as per LWG 3549.
- * include/bits/ranges_util.h (view_interface): Don't derive from
- view_base.
- * include/std/ranges (filter_view): Revert r11-3504 change.
- (transform_view): Likewise.
- (take_view): Likewise.
- (take_while_view): Likewise.
- (drop_view): Likewise.
- (drop_while_view): Likewise.
- (join_view): Likewise.
- (lazy_split_view): Likewise.
- (split_view): Likewise.
- (reverse_view): Likewise.
- * testsuite/std/ranges/adaptors/sizeof.cc: Update expected sizes.
- * testsuite/std/ranges/view.cc (test_view::test_view): Remove
- this default ctor since views no longer need to be default initable.
- (test01): New test.
-
-2021-10-19 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/random.cc (which_source): New helper function.
- (random_device::_M_getentropy()): Use which_source and return
- suitable values for sources other than device files.
- * testsuite/26_numerics/random/random_device/entropy.cc: New test.
-
-2021-10-19 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/Makefile.am (stamp-html-doxygen, stamp-html-doxygen)
- (stamp-latex-doxygen, stamp-man-doxygen): Fix recipes for
- relative ${top_srcdir}.
- * doc/Makefile.in: Regenerate.
-
-2021-10-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/variant (_Uninitialized): Use an empty struct
- for the unused union member, instead of char.
-
-2021-10-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_stack.h (stack(Iterator, Iterator)): Remove
- non-deducible template parameter from deduction guide.
- * testsuite/23_containers/stack/deduction.cc: Check new C++23
- deduction guides.
-
-2021-10-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/optional (_Optional_payload_base::_Storage): Add
- constructor taking a callable function to invoke.
- (_Optional_payload_base::_M_apply): New function.
- (__cpp_lib_monadic_optional): Define for C++23.
- (optional::and_then, optional::transform, optional::or_else):
- Define for C++23.
- * include/std/ranges (__detail::__cached): Remove.
- (__detail::__non_propagating_cache): Remove use of __cached for
- contained value. Use _Optional_payload_base::_M_construct and
- _Optional_payload_base::_M_apply to set the contained value.
- * include/std/version (__cpp_lib_monadic_optional): Define.
- * testsuite/20_util/optional/monadic/and_then.cc: New test.
- * testsuite/20_util/optional/monadic/or_else.cc: New test.
- * testsuite/20_util/optional/monadic/or_else_neg.cc: New test.
- * testsuite/20_util/optional/monadic/transform.cc: New test.
- * testsuite/20_util/optional/monadic/version.cc: New test.
-
-2021-10-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102825
- * include/bits/mofunc_impl.h (move_only_function): Remove
- invalid base initializer.
- * testsuite/20_util/move_only_function/cons.cc: Instantiate
- constructors to check bodies.
-
-2021-10-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/fs_path.h (path::_S_convert(T)): Avoid recursive
- call to function with deduced return type.
-
-2021-10-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/basic_string.h (__cpp_lib_string_resize_and_overwrite):
- Define for C++23.
- (basic_string::resize_and_overwrite): Declare.
- * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
- Define.
- * include/std/version (__cpp_lib_resize_and_overwrite): Define
- for C++23.
- * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
- New test.
-
-2021-10-15 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101263
- * include/std/ranges (__cached): New wrapper struct.
- (__non_propagating_cache): Use __cached for contained value.
- (__non_propagating_cache::_M_emplace_deref): Add constexpr. Use
- std::construct_at instead of placement new.
- * testsuite/std/ranges/adaptors/join.cc: Check constexpr works.
-
-2021-10-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/variant (__cpp_lib_variant): Update value for
- C++20.
- (__variant_cast, __variant_construct): Add constexpr for C++20.
- (__variant_construct_single, __construct_by_index) Likewise. Use
- std::_Construct instead of placement new.
- (_Uninitialized<T, false>) [__cplusplus >= 202002]: Replace
- buffer with a union and define a destructor.
- (_Variadic_union) [__cplusplus >= 202002]: Add a specialization
- for non-trivial destruction.
- (_Variant_storage::__index_of): New helper variable template.
- (_Variant_storage::~_Variant_storage()): Add constexpr.
- (_Variant_storage::_M_reset()): Likewise.
- (_Copy_ctor_base, _Move_ctor_base): Likewise.
- (_Copy_assign_base, _Move_assign_base): Likewise.
- (variant, swap): Likewise.
- * include/std/version (__cpp_lib_variant): Update value for
- C++20.
- * testsuite/20_util/optional/version.cc: Check for exact value
- in C++17.
- * testsuite/20_util/variant/87619.cc: Increase timeout for
- C++20 mode.
- * testsuite/20_util/variant/constexpr.cc: New test.
- * testsuite/20_util/variant/version.cc: New test.
-
-2021-10-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/variant (__detail::__variant::__get_storage):
- Remove unused function.
- (__variant_construct_by_index): Set index after construction is
- complete. Rename to ...
- (__detail::__variant::__construct_by_index): ... this.
- (variant): Use new name for __variant_construct_by_index friend
- declaration. Remove __get_storage friend declaration.
- (variant::emplace): Use new name and remove try-blocks.
-
-2021-10-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/variant (_Variant_storage::_M_storage()): Remove.
- (__detail::__variant::__get_storage): Remove.
- (variant): Remove friend declaration of __get_storage.
-
-2021-10-15 Jason Merrill <jason@redhat.com>
-
- * testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
- * testsuite/20_util/integer_comparisons/greater_neg.cc:
- * testsuite/20_util/integer_comparisons/less_equal_neg.cc:
- Adjust expected message.
- * testsuite/lib/prune.exp: Prune 'in constexpr expansion'.
-
-2021-10-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/variant (__variant::__get(in_place_index_t<N>, U&&)):
- Rename to __get_n and remove first argument. Replace pair of
- overloads with a single function using 'if constexpr'.
- (__variant::__get(Variant&&)): Adjust to use __get_n.
-
-2021-10-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/fs_path.h (path(path&&)): Make unconditionally
- noexcept.
- (path::_S_convert(T)): Add condtional noexcept.
-
-2021-10-14 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102743
- * include/bits/fs_path.h (path::_S_convert(T)): Fix condition
- for returning the same string unchanged.
-
-2021-10-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex.h: Check __cpp_inline_variables instead of
- __cplusplus.
-
-2021-10-14 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/is_layout_compatible/version.cc: Check
- correct macro.
-
-2021-10-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_construct.h (_Construct): Use
- std::construct_at when constant evaluated.
- * include/std/optional (_Storage, _Optional_payload, optional):
- Add constexpr as specified by P2231R1.
- * include/std/version (__cpp_lib_optional): Update value for
- C++20.
- * testsuite/20_util/optional/requirements.cc: Check feature test
- macro.
- * testsuite/20_util/optional/constexpr/assign.cc: New test.
- * testsuite/20_util/optional/constexpr/cons/conv.cc: New test.
- * testsuite/20_util/optional/constexpr/modifiers.cc: New test.
- * testsuite/20_util/optional/constexpr/swap.cc: New test.
- * testsuite/20_util/optional/version.cc: New test.
-
-2021-10-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/fs_path.h (__detail::__is_contiguous): Add
- partial specializations for pointers and __normal_iterator.
-
-2021-10-13 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/27_io/filesystem/path/construct/102592.C: Moved to...
- * testsuite/27_io/filesystem/path/construct/102592.cc: ...here.
- * testsuite/28_regex/match_results/102667.C: Moved to...
- * testsuite/28_regex/match_results/102667.cc: ...here.
-
-2021-10-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/fs_path.h (__detail::__is_contiguous): New
- variable template to identify contiguous iterators.
- (__detail::__unified_char8_t): New alias template to decide when
- to treat char8_t as char without encoding conversion.
- (__detail::__effective_range(const basic_string<C,T>&)): Use
- std::char_traits<C> for returned string view.
- (__detail::__effective_range(const basic_string_view<C,T>&)):
- Likewise.
- (__detail::__effective_range(const Source&)): Use
- __is_contiguous to detect mode cases of contiguous iterators.
- Use __unified_char8_t to return a std::string instead of
- std::u8string.
-
-2021-10-13 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102592
- * include/bits/fs_path.h (path::path(Iter, Iter, format))
- (path::append(Iter, Iter), path::concat(Iter, Iter)): Call
- __string_from_range directly, instead of two-argument overload
- of _S_convert.
- (path::_S_convert(Iter, Iter)): Remove.
- * testsuite/27_io/filesystem/path/construct/102592.C: New test.
-
-2021-10-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/c++config (__terminate): Add extern "C++".
-
-2021-10-12 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/tuple/comparison_operators/overloaded.cc:
- Restore test for operator<.
- * testsuite/20_util/tuple/comparison_operators/overloaded2.cc:
- Adjust expected errors for C++20.
-
-2021-10-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101960
- * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Define as
- defauled.
- * testsuite/20_util/tuple/cons/101960.cc: Check tuples with
- array elements before the last element.
-
-2021-10-12 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_iterator_base_funcs.h (__advance): Add
- deleted overload to improve diagnostics.
- (__distance): Likewise.
-
-2021-10-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/atomic_timed_wait.h: Remove unused header.
- * include/bits/c++config (std:__terminate): Define.
- * include/bits/semaphore_base.h: Remove <exception> and use
- __terminate instead of terminate.
- * include/bits/std_thread.h: Likewise.
- * libsupc++/eh_terminate.cc (std::terminate): Use qualified-id
- to call __cxxabiv1::__terminate.
-
-2021-10-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex.h (basic_regex::assign(Iter, Iter)): Avoid
- std::__to_address by using poitner directly or using base()
- member of __normal_iterator.
-
-2021-10-11 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/18_support/numeric_limits/lowest.cc: Use
- numeric_limits<T>::is_integer instead of is_integral<T>::value.
-
-2021-10-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/89927
- * include/bits/regex.h (basic_regex(const _Ch_type*, size_t)):
- Add __glibcxx_requires_string_len assertion.
- (basic_regex::assign(InputIterator, InputIterator)): Add
- __glibcxx_requires_valid_range assertion.
- * include/bits/regex_scanner.tcc (_Scanner::_M_advance())
- (_Scanner::_M_scan_normal()): Use string literal in assertions.
-
-2021-10-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102667
- * include/bits/regex.h (match_result::empty()): Optimize by
- calling the base function directly.
- (match_results::end()): Check _Base_type::empty() not empty().
- * testsuite/28_regex/match_results/102667.C: New test.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/98725
- * testsuite/18_support/numeric_limits/lowest.cc: Remove use of
- _GLIBCXX_USE_WCHAR_T.
- * testsuite/18_support/numeric_limits/min_max.cc: Replace use of
- _GLIBCXX_USE_WCHAR_T with checks for WCHAR_MIN and WCHAR_MAX.
- * testsuite/20_util/from_chars/1_neg.cc: Remove use of
- _GLIBCXX_USE_WCHAR_T.
- * testsuite/20_util/function_objects/searchers.cc: Likewise. Use
- char_traits<wchar_t>::length instead of wcslen.
- * testsuite/20_util/hash/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/20_util/is_arithmetic/value.cc: Likewise.
- * testsuite/20_util/is_compound/value.cc: Likewise.
- * testsuite/20_util/is_floating_point/value.cc: Likewise.
- * testsuite/20_util/is_fundamental/value.cc: Likewise.
- * testsuite/20_util/is_integral/value.cc: Likewise.
- * testsuite/20_util/is_signed/value.cc: Likewise.
- * testsuite/20_util/is_unsigned/value.cc: Likewise.
- * testsuite/20_util/is_void/value.cc: Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs-1.cc:
- Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs-2.cc:
- Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs-3.cc:
- Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs-4.cc:
- Likewise.
- * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
- Likewise.
- * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
- Likewise.
- * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc:
- Likewise.
- * testsuite/20_util/to_chars/3.cc: Likewise.
- * testsuite/20_util/type_identity/requirements/typedefs.cc:
- Likewise.
- * testsuite/21_strings/basic_string/hash/debug.cc: Likewise.
- * testsuite/21_strings/basic_string/hash/hash.cc: Likewise.
- * testsuite/21_strings/basic_string/literals/types-char8_t.cc:
- Likewise.
- * testsuite/21_strings/basic_string/literals/types.cc: Likewise.
- * testsuite/21_strings/basic_string/literals/values-char8_t.cc:
- Likewise.
- * testsuite/21_strings/basic_string/literals/values.cc:
- Likewise.
- * testsuite/21_strings/basic_string/modifiers/64422.cc:
- Likewise.
- * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string/requirements/citerators.cc:
- Likewise.
- * testsuite/21_strings/basic_string/requirements/typedefs.cc:
- Likewise.
- * testsuite/21_strings/basic_string/types/pmr_typedefs.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/literals/types.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/literals/values-char8_t.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/literals/values.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
- * testsuite/21_strings/char_traits/requirements/constexpr_functions.cc:
- Likewise.
- * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
- Likewise.
- * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
- Likewise.
- * testsuite/22_locale/ctype/is/string/89728_neg.cc: Likewise.
- * testsuite/25_algorithms/fill/4.cc: Likewise.
- * testsuite/25_algorithms/fill_n/1.cc: Likewise.
- * testsuite/experimental/functional/searchers.cc: Likewise. Use
- char_traits<wchar_t>::length instead of wcslen.
- * testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
- Likewise.
- * testsuite/experimental/string_view/literals/types-char8_t.cc:
- Likewise.
- * testsuite/experimental/string_view/literals/types.cc:
- Likewise.
- * testsuite/experimental/string_view/literals/values-char8_t.cc:
- Likewise.
- * testsuite/experimental/string_view/literals/values.cc:
- Likewise.
- * testsuite/experimental/string_view/range_access/wchar_t/1.cc:
- Likewise.
- * testsuite/experimental/string_view/requirements/typedefs.cc:
- Likewise.
- * testsuite/experimental/string_view/typedefs.cc: Likewise.
- * testsuite/ext/vstring/range_access.cc: Likewise.
- * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc:
- Likewise.
- * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc:
- Likewise.
- * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc:
- Likewise.
- * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc:
- Likewise.
- * testsuite/tr1/4_metaprogramming/is_compound/value.cc:
- Likewise.
- * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc:
- Likewise.
- * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc:
- Likewise.
- * testsuite/tr1/4_metaprogramming/is_integral/value.cc:
- Likewise.
- * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc:
- Likewise.
- * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
- * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/98725
- * include/std/ostream (operator<<(basic_ostream<char, Tr>&, wchar_t))
- (operator<<(basic_ostream<char, Tr>&, const wchar_t*)): Always
- define as deleted. Do not check _GLIBCXX_USE_WCHAR_T.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/98725
- * include/bits/locale_conv.h (wstring_convert, wbuffer_convert):
- Define unconditionally. Do not check _GLIBCXX_USE_WCHAR_T.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/98725
- * include/c_global/cstddef [!_GLIBCXX_USE_WCHAR_T]
- (__byte_operand<wchar_t>): Define specialization.
- * include/std/type_traits (__make_signed<wchar_t>)
- (__make_unsigned<wchar_t>): Remove redundant check for
- __WCHAR_TYPE__ being defined.
- * include/tr1/type_traits [!_GLIBCXX_USE_WCHAR_T]
- (__is_integral_helper<wchar_t>): Likewise.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/98725
- * include/ext/rc_string_base.h [!_GLIBCXX_USE_WCHAR_T]
- (__rc_string_base<wchar_t>): Define member function.
- * include/ext/vstring.h [!_GLIBCXX_USE_WCHAR_T]
- (hash<__gnu_cxx::__wvstring>): Define specialization.
- * include/ext/vstring_fwd.h [!_GLIBCXX_USE_WCHAR_T] (__wvstring)
- (__wsso_string, __wrc_string): Declare typedefs.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/98725
- * include/bits/char_traits.h (char_traits<wchar_t>): Define
- explicit specialization unconditionally.
- * include/bits/basic_string.h (hash<wstring>): Define
- unconditionally. Do not check _GLIBCXX_USE_WCHAR_T.
- * include/bits/stringfwd.h (wstring): Likewise.
- * include/debug/string (wstring): Likewise.
- * include/experimental/string_view (experimental::wstring_view)
- (hash<experimental::wstring_view>): Likewise.
- * include/std/string (pmr::wstring, hash<pmr::wstring>):
- Likewise.
- * include/std/string_view (wstring_view, hash<wstring_view>):
- Likewise.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/27_io/basic_filebuf/close/81256.cc: Moved to...
- * testsuite/27_io/basic_filebuf/close/wchar_t/81256.cc: ...here.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/22_locale/conversions/buffer/1.cc: Check
- _GLIBCXX_USE_WCHAR_T.
- * testsuite/22_locale/conversions/buffer/3.cc: Likewise. Add
- test using char16_t.
- * testsuite/22_locale/conversions/string/1.cc: Check
- _GLIBCXX_USE_WCHAR_T.
- * testsuite/27_io/filesystem/path/generic/generic_string.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/native/alloc.cc: Likewise.
- * testsuite/27_io/filesystem/path/native/string-char8_t.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
- * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
- Likewise.
- * testsuite/experimental/filesystem/path/generic/generic_string.cc:
- Likewise.
- * testsuite/experimental/filesystem/path/native/alloc.cc:
- Likewise.
- * testsuite/experimental/filesystem/path/native/string-char8_t.cc:
- Likewise.
- * testsuite/experimental/filesystem/path/native/string.cc:
- Likewise.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/26_numerics/bit/bit.rotate/rotr.cc:
- * testsuite/util/testsuite_common_types.h:
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/18_support/numeric_limits/40856.cc: Replace use of
- _GLIBCXX_USE_INT128.
- * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
- * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
- * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
- * testsuite/20_util/is_floating_point/value.cc: Likewise.
- * testsuite/20_util/is_integral/value.cc: Likewise.
- * testsuite/20_util/is_signed/value.cc: Likewise.
- * testsuite/20_util/is_unsigned/value.cc: Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs-1.cc:
- Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs-2.cc:
- Likewise.
- * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
- Likewise.
- * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
- Likewise.
- * testsuite/20_util/type_identity/requirements/typedefs.cc:
- Likewise.
- * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise.
- * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
- * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
- * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
- * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
- * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise.
- * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise.
- * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise.
- * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc:
- Likewise.
- * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/hashtable_policy.h (_Select1st): Replace use of
- std::get.
- (_Select2nd): Remove.
- (_NodeBuilder::_S_build): Use _NodeGenerator::__node_type
- typedef instead of deducing it. Remove unnecessary piecewise
- construction.
- (_ReuseOrAllocNode): Make __node_type public.
- (_Map_base): Adjust partial specialization to be able to extract
- the mapped_type without using tuple_element.
- (_Map_base::at): Define inline
- * testsuite/23_containers/unordered_map/requirements/53339.cc:
- Remove XFAIL.
- * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
- Likewise.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/hashtable.h: Move static assertion to destructor.
- * include/bits/hashtable_policy.h: Deduce value type from node
- type without instantiating it.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/limits.cc: Fail if __cpp_inline_variables is
- defined.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/92546
- * include/bits/ranges_algobase.h: Replace <iterator> with a
- subset of the headers it includes.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/deque (erase, erase_if): Revert changes
- to avoid debug mode overhead.
- * include/experimental/map (erase, erase_if): Likewise.
- * include/experimental/set (erase, erase_if): Likewise.
- * include/experimental/unordered_map (erase, erase_if):
- Likewise.
- * include/experimental/unordered_set (erase, erase_if):
- Likewise.
- * include/experimental/vector (erase, erase_if): Likewise.
- * include/std/deque (erase, erase_if): Likewise.
- * include/std/map (erase, erase_if): Likewise.
- * include/std/set (erase, erase_if): Likewise.
- * include/std/unordered_map (erase, erase_if): Likewise.
- * include/std/unordered_set (erase, erase_if): Likewise.
- * include/std/vector (erase, erase_if): Likewise.
-
-2021-10-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/chrono (__detail::__units_suffix_misc): New
- helper function.
- (__detail::__units_suffix): Likewise.
- (chrono::operator<<(basic_ostream&, const duration&)): Define.
- * testsuite/20_util/duration/io.cc: New test.
-
-2021-10-07 Jonathan Wakely <jwakely@redhat.com>
-
- * include/Makefile.am: Add new header.
- * include/Makefile.in: Regenerate.
- * include/std/chrono (duration, time_point, system_clock)
- (steady_clock, high_resolution_clock, chrono_literals, sys_time)
- (file_clock, file_time): Move to ...
- * include/bits/chrono.h: New file.
- * include/bits/atomic_futex.h: Include new header instead of
- <chrono>.
- * include/bits/atomic_timed_wait.h: Likewise.
- * include/bits/fs_fwd.h: Likewise.
- * include/bits/semaphore_base.h: Likewise.
- * include/bits/this_thread_sleep.h: Likewise.
- * include/bits/unique_lock.h: Likewise.
- * include/experimental/bits/fs_fwd.h: Likewise.
- * include/experimental/chrono: Likewise.
- * include/experimental/io_context: Likewise.
- * include/experimental/netfwd: Likewise.
- * include/experimental/timer: Likewise.
- * include/std/condition_variable: Likewise.
- * include/std/mutex: Likewise.
- * include/std/shared_mutex: Likewise.
-
-2021-10-07 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102377
- * include/bits/atomic_wait.h (__waiter_pool_base:_S_align):
- Hardcode to 64 instead of using non-constant constant.
-
-2021-10-07 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/erase_if.h (__erase_nodes_if): Remove redundant
- __niter_base calls.
- * include/std/string (erase, erase_if): Likewise.
- * include/std/deque (erase, erase_if): Access non-debug
- container directly.
- * include/std/map (erase, erase_if): Likewise.
- * include/std/set (erase, erase_if): Likewise.
- * include/std/unordered_map (erase, erase_if): Likewise.
- * include/std/unordered_set (erase, erase_if): Likewise.
- * include/std/vector (erase, erase_if): Likewise.
- * include/experimental/deque (erase, erase_if): Likewise.
- * include/experimental/map (erase, erase_if): Likewise.
- * include/experimental/set (erase, erase_if): Likewise.
- * include/experimental/unordered_map (erase, erase_if):
- Likewise.
- * include/experimental/unordered_set (erase, erase_if):
- Likewise.
- * include/experimental/vector (erase, erase_if): Likewise.
-
-2021-10-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/Makefile.am: Add new headers.
- * include/Makefile.in: Regenerate.
- * include/std/functional: Include <bits/move_only_function.h>.
- * include/std/version (__cpp_lib_move_only_function): Define.
- * include/bits/mofunc_impl.h: New file.
- * include/bits/move_only_function.h: New file.
- * testsuite/20_util/move_only_function/call.cc: New test.
- * testsuite/20_util/move_only_function/cons.cc: New test.
- * testsuite/20_util/move_only_function/move.cc: New test.
- * testsuite/20_util/move_only_function/version.cc: New test.
-
-2021-10-05 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/21_strings/basic_string_view/requirements/trivially_copyable.cc:
- New test.
- * testsuite/23_containers/span/trivially_copyable.cc: New test.
-
-2021-10-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/utility.h (__is_in_place_type_v): Define
- variable template to detect in_place_type_t specializations.
- (__is_in_place_type): Replace class template with alias
- template using __is_in_place_type_v.
- * include/std/any (any(T&&)): Check __is_in_place_type first and
- avoid instantiating is_copy_constructible unnecessarily.
-
-2021-10-05 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/integer_comparisons/greater.cc: New test.
-
-2021-10-05 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc:
- Check result matches non-volatile pointer.
-
-2021-10-05 Jonathan Wakely <jwakely@redhat.com>
-
- PR c++/102535
- * testsuite/20_util/is_trivially_constructible/value.cc: Adjust
- expected value for C++20.
-
-2021-10-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/std_function.h (_Any_data::_M_access): Add
- noexcept.
- (_Function_base::_Base_manager::_M_get_pointer): Likewise.
- (_Function_base::_Base_manager::_M_not_empty_function):
- Likewise.
-
-2021-10-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/ostream (operator<<(const volatile void*)):
- Add new overload, as per P1147R1.
- * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc:
- New test.
-
-2021-10-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_queue.h
- (__cpp_lib_adaptor_iterator_pair_constructor): Set to correct
- value.
- * include/bits/stl_stack.h
- (__cpp_lib_adaptor_iterator_pair_constructor): Likewise.
- * include/std/version
- (__cpp_lib_adaptor_iterator_pair_constructor): Likewise.
- * testsuite/23_containers/queue/cons_from_iters.cc: Update
- expected value.
- * testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
-
-2021-10-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/forward_list.h (forward_list): Use non-deduced
- context for allocator parameter of allocator-extended copy and
- move constructors.
- * include/bits/stl_bvector.h (vector<bool>): Likewise.
- * include/bits/stl_deque.h (deque): Likewise.
- * include/bits/stl_list.h (list): Likewise.
- * include/bits/stl_map.h (map): Likewise.
- * include/bits/stl_multimap.h (multimap): Likewise.
- * include/bits/stl_multiset.h (multiset): Likewise.
- * include/bits/stl_set.h (set): Likewise.
- * include/bits/stl_vector.h (vector): Likewise.
- * include/bits/stl_queue.h (queue, priority_queue): Do not
- constrain Allocator template parameter of deduction guides that
- have a Container parameter.
- * include/bits/stl_stack.h (stack): Likewise.
- * include/debug/deque (__gnu_debug::deque): Use non-deduced
- context for allocator parameter of allocator-extended copy and
- move constructors.
- * include/debug/list (__gnu_debug::list): Likewise.
- * include/debug/map.h (__gnu_debug::map): Likewise.
- * include/debug/multimap.h (__gnu_debug::multimap): Likewise.
- * include/debug/multiset.h (__gnu_debug::multiset): Likewise.
- * include/debug/set.h (__gnu_debug::set): Likewise.
- * include/debug/vector (__gnu_debug::vector): Likewise.
- * testsuite/23_containers/deque/cons/deduction.cc: Test class
- template argument deduction with non-deduced allocator
- arguments.
- * testsuite/23_containers/forward_list/cons/deduction.cc:
- Likewise.
- * testsuite/23_containers/list/cons/deduction.cc: Likewise.
- * testsuite/23_containers/map/cons/deduction.cc: Likewise.
- * testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
- * testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
- * testsuite/23_containers/priority_queue/deduction.cc: Likewise.
- * testsuite/23_containers/queue/deduction.cc: Likewise.
- * testsuite/23_containers/set/cons/deduction.cc: Likewise.
- * testsuite/23_containers/stack/deduction.cc: Likewise.
- * testsuite/23_containers/unordered_map/cons/deduction.cc:
- Likewise.
- * testsuite/23_containers/unordered_multimap/cons/deduction.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/cons/deduction.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/cons/deduction.cc:
- Likewise.
- * testsuite/23_containers/vector/cons/deduction.cc: Likewise.
-
-2021-10-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/variant (__detail::__variant::__as): Add missing
- noexcept to first overload.
-
-2021-10-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/basic_string.h (basic_string(nullptr_t)): Define
- as deleted.
- (operator=(nullptr_t)): Likewise.
- * include/bits/cow_string.h (basic_string(nullptr_t)): Likewise.
- (operator=(nullptr_t)): Likewise.
- * include/std/string_view (basic_string_view(nullptr_t)):
- Likewise.
- * testsuite/21_strings/basic_string/cons/char/nullptr.cc: New test.
- * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
- Change dg-warning to dg-error.
- * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
- Likewise.
-
-2021-10-02 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++17/fs_ops.cc (create_directory): Fix typo in enum name.
- * src/filesystem/ops-common.h (__last_system_error): Add
- explicit cast to avoid narrowing conversion.
- (do_space): Fix type in function name.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102100
- * include/Makefile.am (c++config.h): Define
- _GLIBCXX_VERBOSE_ASSERT based on configure output.
- * include/Makefile.in: Regenerate.
- * include/bits/c++config: Fix condition for verbose assertions.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/92546
- * include/bits/erase_if.h (__erase_nodes_if): Use __niter_base to
- unwrap debug iterators.
- * include/bits/refwrap.h: Do not error if included in C++03.
- * include/bits/stl_algo.h (__remove_if): Move to ...
- * include/bits/stl_algobase.h (__remove_if): ... here.
- * include/std/deque (erase, erase_if): Use __remove_if instead of
- remove and remove_if.
- * include/std/string (erase, erase_if): Likewise.
- * include/std/vector (erase, erase_if): Likewise.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/66742
- * include/bits/list.tcc (list::sort()): Use _Scratch_list
- objects for splicing and merging.
- (list::sort(StrictWeakOrdering)): Likewise.
- * include/bits/stl_list.h (__detail::_Scratch_list): New type.
- * src/c++98/list.cc (_List_node_base::_M_transfer): Add
- assertion for --enable-libstdcxx-debug library.
- * testsuite/23_containers/list/operations/66742.cc: New test.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100612
- * include/std/thread (__pmf_expects_stop_token): New variable
- template to detect a pointer to member function that needs a
- stop_token to be added to the arguments.
- (jthread::__S_create): Use __pmf_expects_stop_token.
- (jthread::__S_create_pmf): New function.
- * testsuite/30_threads/jthread/100612.cc: New test.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_queue.h
- (__cpp_lib_adaptor_iterator_pair_constructor): Define for C++23, as
- per P1425R4.
- (queue(InputIterator, InputIterator)): Likewise.
- (queue(InputIterator, InputIterator, const Alloc&)): Likewise.
- * include/bits/stl_stack.h
- (__cpp_lib_adaptor_iterator_pair_constructor): Likewise.
- (stack(InputIterator, InputIterator)): Likewise.
- (stack(InputIterator, InputIterator, const Alloc&)): Likewise.
- * include/std/version (__cpp_lib_adaptor_iterator_pair_constructor):
- Define.
- * testsuite/23_containers/queue/cons_from_iters.cc: New test.
- * testsuite/23_containers/stack/cons_from_iters.cc: New test.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_queue.h (priority_queue): Add
- allocator-extended overloads for constructors taking iterator.
- * testsuite/23_containers/priority_queue/lwg3506.cc: New test.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_queue.h (priority_queue): Construct sequence
- from iterators when no sequence argument is present (LWG 3529).
- * testsuite/23_containers/priority_queue/lwg3529.cc: New test.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_queue.h (priority_queue): Constrain
- constructors with InputIterator parameters (LWG 3522).
- * testsuite/23_containers/priority_queue/lwg3522.cc: New test.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_base.h (ranges::distance): Split overload
- into two (LWG 3392).
- * testsuite/24_iterators/range_operations/lwg3392.cc: New test.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/30_threads/thread/cons/3.cc: Remove derivation from
- std::unary_function.
- * testsuite/30_threads/thread/cons/4.cc: Likewise.
- * testsuite/30_threads/thread/cons/5.cc: Likewise.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/ext/pb_ds/example/basic_multimap.cc: Remove
- unnecesary derivation from std::unary_function.
- * testsuite/ext/pb_ds/example/erase_if.cc: Likewise.
- * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise.
- * testsuite/ext/pb_ds/example/hash_initial_size.cc: Likewise.
- * testsuite/ext/pb_ds/example/hash_load_set_change.cc: Likewise.
- * testsuite/ext/pb_ds/example/hash_mod.cc: Likewise.
- * testsuite/ext/pb_ds/example/hash_resize.cc: Likewise.
- * testsuite/ext/pb_ds/example/hash_shift_mask.cc: Likewise.
- * testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc:
- Likewise.
- * testsuite/ext/pb_ds/example/ranged_hash.cc: Likewise.
- * testsuite/ext/pb_ds/example/store_hash.cc: Likewise.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/functexcept.cc (__throw_out_of_range_fmt): Do not
- expand the format string for freestanding, or non-vebose, or if
- we're just going to abort anyway.
- * src/c++11/snprintf_lite.cc: Remove unused header and
- declaration.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/variant (__do_visit): Use variant_npos instead of
- literal -1 that requires a narrowing conversion.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99327
- * src/filesystem/ops-common.h (__unsupported): New function to
- return a suitable error code for missing functionality.
- (posix::off_t): New typedef.
- (posix::*): Set errno to ENOSYS instead of ENOTSUP for no-op
- fallback implementations.
- (do_copy_file): Replace uses of errc::not_supported.
- * src/c++17/fs_ops.cc (fs::copy, fs::copy_file, create_dir)
- (fs::create_directory, fs::create_directory_symlink)
- (fs::create_hard_link, fs::create_symlink, fs::current_path)
- (fs::equivalent, do_stat, fs::file_size, fs::hard_link_count)
- (fs::last_write_time, fs::permissions, fs::read_symlink):
- Replace uses of errc::not_supported.
- (fs::resize_file): Qualify off_t.
- * src/filesystem/ops.cc (fs::copy, fs::copy_file, create_dir)
- (fs::create_directory, fs::create_directory_symlink)
- (fs::create_hard_link, fs::create_symlink, fs::current_path)
- (fs::equivalent, do_stat, fs::file_size, fs::last_write_time)
- (fs::permissions, fs::read_symlink, fs::system_complete):
- Replace uses of errc::not_supported.
- (fs::resize_file): Qualify off_t and enable unconditionally.
- * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * src/filesystem/ops-common.h (last_error): New helper function.
- (filesystem::do_space): Use last_error().
- * src/c++17/fs_ops.cc (fs::absolute, fs::create_hard_link)
- (fs::equivalent, fs::remove, fs::temp_directory_path): Use
- last_error().
- * src/filesystem/ops.cc (fs::create_hard_link)
- (fs::remove, fs::temp_directory_path): Likewise.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (__conditional): New class template
- for internal uses of std::conditional.
- (__conditional_t): New alias template to replace conditional_t.
- (__and_, __or_, __result_of_memfun, __result_of_memobj): Use
- __conditional_t instead of conditional::type.
- * include/bits/atomic_base.h (__atomic_impl::_Diff): Likewise.
- * include/bits/hashtable.h (_Hashtable): Likewise.
- * include/bits/hashtable_policy.h (_Node_iterator, _Insert_base)
- (_Local_iterator): Likewise. Replace typedefs with
- using-declarations.
- * include/bits/move.h (move_if_noexcept): Use __conditional_t.
- * include/bits/parse_numbers.h (_Select_int_base): Likewise.
- * include/bits/ptr_traits.h (__make_not_void): Likewise.
- * include/bits/ranges_algobase.h (__copy_or_move_backward)
- (__copy_or_move): Likewise.
- * include/bits/ranges_base.h (borrowed_iterator_t): Likewise.
- * include/bits/ranges_util.h (borrowed_subrange_t): Likewise.
- * include/bits/regex_compiler.h (_BracketMatcher): Use
- __conditional_t. Replace typedefs with using-declarations.
- * include/bits/shared_ptr_base.h (__shared_count): Use
- __conditional_t.
- * include/bits/stl_algobase.h (__copy_move, __copy_move_backward):
- Likewise.
- * include/bits/stl_iterator.h (__detail::__clamp_iter_cat)
- (reverse_iterator::iterator_concept)
- (__make_move_if_noexcept_iterator)
- (iterator_traits<common_iterator<_It, _Sent>>)
- (iterator_traits<counted_iterator<_It>>): Likewise.
- * include/bits/stl_pair.h (_PCC, pair::operator=): Likewise.
- * include/bits/stl_tree.h (_Rb_tree::insert_return_type)
- (_Rb_tree::_M_clone_node): Likewise.
- * include/bits/unique_ptr.h (unique_ptr(unique_ptr<U,E>&&)):
- Likewise.
- * include/bits/uses_allocator.h (__uses_alloc): Likewise.
- (__is_uses_allocator_predicate): Likewise.
- * include/debug/functions.h (__foreign_iterator_aux2): Likewise.
- * include/experimental/any (any::_Manager, __any_caster):
- Likewise.
- * include/experimental/executor (async_completion): Likewise.
- * include/experimental/functional (__boyer_moore_base_t):
- Likewise.
- * include/std/any (any::_Manager): Likewise.
- * include/std/functional (__boyer_moore_base_t): Likewise.
- * include/std/ranges (borrowed_iterator_t)
- (borrowed_subrange_t, __detail::__maybe_present_t)
- (__detail::__maybe_const_t, split_view): Likewise.
- * include/std/tuple (__empty_not_final, tuple::operator=):
- Likewise.
- * include/std/variant (__detail::__variant::__get_t): Likewise.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/78113
- * include/std/variant (__do_visit): Use a switch when we have a
- single variant with a small number of alternatives.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/90943
- * include/std/variant (__cpp_lib_variant): Update value.
- (__detail::__variant::__as): New helpers implementing the
- as-variant exposition-only function templates.
- (visit, visit<R>): Use __as to upcast the variant parameters.
- * include/std/version (__cpp_lib_variant): Update value.
- * testsuite/20_util/variant/visit_inherited.cc: New test.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_iterator.h (__normal_iterator): Simplify
- converting constructor and do not require _Container::pointer.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/cow_string.h [_GLIBCXX_FULLY_DYNAMIC_STRING]
- (basic_string(basic_string&&)): Add noexcept and avoid
- allocation, by sharing rep with the rvalue string.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_iterator.h (common_iterator::__arrow_proxy)
- (common_iterator::__postfix_proxy): Add noexcept.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/94418
- * include/bits/stl_iterator.h (reverse_iterator): Use
- conditional noexcept on constructors and assignment operators.
- * testsuite/24_iterators/reverse_iterator/noexcept.cc: New test.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100153
- * include/bits/vector.tcc (vector<bool>::_M_shrink_to_fit()):
- When size() is zero just deallocate and reset.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/96733
- * include/bits/stl_algo.h (clamp): Use std::min and std::max.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex.h (basic_regex::multiline): Define for
- non-strict C++11 and C++14 modes.
- * include/bits/regex_constants.h (regex_constants::multiline):
- Add _GLIBCXX_RESOLVE_LIB_DEFECTS comment.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/25_algorithms/is_permutation/2.cc: Include <iterator>.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stream_iterator.h (istream_iterator): Add
- noexcept to constructors and non-throwing member functions and
- friend functions.
- (ostream_iterator): Likewise.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/boost_concept_check.h (_Is_vector_bool_iterator):
- New trait to identify vector<bool> iterators, including debug
- ones.
- (_ForwardIteratorReferenceConcept): Add default template
- argument using _Is_vector_bool_iterator and use it in partial
- specialization for the vector<bool> cases.
- (_Mutable_ForwardIteratorReferenceConcept): Likewise.
- * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error
- line number.
-
-2021-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/list.tcc (list::merge): Remove call to size() and
- try-catch block. Use _Finalize_merge instead.
- * include/bits/stl_list.h (list::_Finalize_merge): New
- scope guard type to update _M_size members after a merge.
-
-2021-09-30 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex.h (basic_regex::multiline): Fix #if
- condition.
-
-2021-09-29 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex.h (basic_regex::multiline): Define constant
- for C++17.
- * include/bits/regex_constants.h (regex_constants::multiline):
- Define constant for C++17.
- (regex_constants::__multiline): Define duplicate constant for
- internal use in C++11 and C++14.
- * include/bits/regex_executor.h (_Executor::_M_match_multiline()):
- New member function.
- (_Executor::_M_is_line_terminator(_CharT)): New member function.
- (_Executor::_M_at_begin(), _Executor::_M_at_end()): Use new
- member functions to support multiline matches.
- * testsuite/28_regex/algorithms/regex_match/multiline.cc: New test.
-
-2021-09-29 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex_compiler.h (_Compiler::_S_validate): New
- function.
- * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Use
- _S_validate to check flags.
- * include/bits/regex_error.h (_S_grammar): New error code for
- internal use.
- * testsuite/28_regex/basic_regex/ctors/grammar.cc: New test.
-
-2021-09-29 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/84110
- * include/bits/regex_error.h (regex_constants::_S_null): New
- error code for internal use.
- * include/bits/regex_scanner.tcc (_Scanner::_M_scan_normal()):
- Check for null character.
- * testsuite/28_regex/basic_regex/84110.cc: New test.
-
-2021-09-29 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex.h (__detail::__is_contiguous_iter): Move
- here from <bits/regex_compiler.h>.
- (basic_regex::_M_compile): New function to compile an NFA from
- a regular expression string.
- (basic_regex::basic_regex): Use _M_compile instead of delegating
- to other constructors.
- (basic_regex::operator=(const basic_regex&)): Define as
- defaulted.
- (basic_regex::operator=(initializer_list<C>)): Use _M_compile.
- (basic_regex::assign(const basic_regex&)): Use copy assignment.
- (basic_regex::assign(basic_regex&&)): Use move assignment.
- (basic_regex::assign(const C*, flag_type)): Use _M_compile
- instead of constructing a temporary string.
- (basic_regex::assign(const C*, size_t, flag_type)): Likewise.
- (basic_regex::assign(const basic_string<C,T,A>&, flag_type)):
- Use _M_compile instead of constructing a temporary basic_regex.
- (basic_regex::assign(InputIter, InputIter, flag_type)): Avoid
- constructing a temporary string for contiguous iterators of the
- right value type.
- * include/bits/regex_compiler.h (__is_contiguous_iter): Move to
- <bits/regex.h>.
- (__enable_if_contiguous_iter, __disable_if_contiguous_iter)
- (__compile_nfa): Remove.
- * testsuite/28_regex/basic_regex/assign/exception_safety.cc: New
- test.
- * testsuite/28_regex/basic_regex/ctors/char/other.cc: New test.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/atomic_timed_wait.h (__platform_wait_until_impl):
- Return false for ETIMEDOUT and true otherwise.
-
-2021-09-28 François Dumont <fdumont@gcc.gnu.org>
-
- * testsuite/20_util/default_delete/48631_neg.cc: Adapt dg-prune-output message
- to also match message with '__8' in it.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex_automaton.h (_NFA_base::_SizeT): Remove.
- * include/bits/regex_compiler.h (_Compiler::_IterT): Remove.
- * include/bits/regex_compiler.tcc: Likewise.
- * include/bits/regex_scanner.h (_Scanner::_IterT): Remove.
- * include/bits/regex_scanner.tcc: Likewise.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex_compiler.tcc: Add line break in empty while
- statement.
- * include/bits/regex_executor.tcc: Avoid unused parameter
- warning.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex.h (basic_regex, swap): Add noexcept to
- non-throwing functions.
- * include/bits/regex_automaton.h (_State_base, _State)
- (_NFA_base): Likewise.
- * include/bits/regex_compiler.h (_Compiler): Likewise.
- * include/bits/regex_error.h (regex_error::code()): Likewise.
- * include/bits/regex_scanner.h (_Scanner): Likewise.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/atomic_wait.h (_GLIBCXX_HAVE_PLATFORM_WAIT):
- Define before first attempt to check it.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1.cc:
- Do not check non-default constructible sequences when
- _GLIBCXX_CONCEPT_CHECKS is defined.
- * testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1_c++98.cc:
- Likewise.
- * testsuite/23_containers/queue/requirements/explicit_instantiation/1.cc:
- Likewise.
- * testsuite/23_containers/queue/requirements/explicit_instantiation/1_c++98.cc:
- Likewise.
- * testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc:
- Likewise.
- * testsuite/23_containers/stack/requirements/explicit_instantiation/1_c++98.cc:
- Likewise.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc:
- Do not test implicit allocator rebinding when _GLIBCXX_CONCEPT_CHECKS
- is defined.
- * testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc:
- Likewise.
- * testsuite/23_containers/list/requirements/explicit_instantiation/3.cc:
- Likewise.
- * testsuite/23_containers/list/requirements/explicit_instantiation/5.cc:
- Likewise.
- * testsuite/23_containers/map/requirements/explicit_instantiation/3.cc:
- Likewise.
- * testsuite/23_containers/map/requirements/explicit_instantiation/5.cc:
- Likewise.
- * testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc:
- Likewise.
- * testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc:
- Likewise.
- * testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc:
- Likewise.
- * testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc:
- Likewise.
- * testsuite/23_containers/set/requirements/explicit_instantiation/3.cc:
- Likewise.
- * testsuite/23_containers/set/requirements/explicit_instantiation/5.cc:
- Likewise.
- * testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc:
- Likewise.
- * testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc:
- Likewise.
- * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc:
- Likewise.
- * testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc:
- Likewise.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/boost_concept_check.h (_ForwardIteratorConcept)
- (_BidirectionalIteratorConcept, _RandomAccessIteratorConcept):
- Check result types of iterator operations.
- (_Mutable_ForwardIteratorConcept): Check that iterator's
- reference type is a reference to its value type.
- (_Mutable_BidirectionalIteratorConcept): Do not require the
- value type to be assignable.
- (_Mutable_RandomAccessIteratorConcept): Likewise.
- * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error
- line number.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/25_algorithms/copy/34595.cc: Add missing operation
- for type used as an iterator.
- * testsuite/25_algorithms/unique_copy/check_type.cc: Likewise.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/is_nothrow_swappable/value.h: Use custom
- comparison function for priority_queue of type with no
- relational operators.
- * testsuite/20_util/is_swappable/value.h: Likewise.
- * testsuite/24_iterators/output/concept.cc: Add operator< to
- type used in set.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/boost_concept_check.h (_OutputIteratorConcept):
- Use a function to preserve value category of the type.
- * include/bits/stl_algobase.h (copy, move, fill_n): Use a
- reference as the second argument for _OutputIteratorConcept.
- (copy_backward, move_backward): Use _OutputIteratorConcept
- instead of _ConvertibleConcept.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_iterator.h (pointer_traits): Define partial
- specialization for __normal_iterator.
- * testsuite/24_iterators/normal_iterator/to_address.cc: New test.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/move.h (forward(remove_reference_t<T>&&)):
- Improve text of static_assert.
- * testsuite/20_util/forward/c_neg.cc: Adjust dg-error.
- * testsuite/20_util/forward/f_neg.cc: Likewise.
-
-2021-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102499
- * include/bits/fs_path.h (path::begin, path::end): Add noexcept
- to declarations, to match definitions.
-
-2021-09-24 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/range_access.h (cbegin, cend): Remove redundant
- 'inline' specifier.
-
-2021-09-23 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
- Remove dg-error lines for C++20-only errors.
-
-2021-09-23 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/19_diagnostics/headers/system_error/93151.cc:
- Disable PCH.
-
-2021-09-23 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/system_error.cc (system_error_category) [_WIN32]:
- Map Windows error codes to generic POSIX error numbers. Use
- FormatMessage instead of strerror.
- * testsuite/19_diagnostics/error_category/system_category.cc:
- Adjust for new behaviour on Windows.
-
-2021-09-23 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/system_error.cc (generic_error_category): Define
- class and virtual functions as 'final'.
- (generic_error_category::equivalent(int, const error_condition&)):
- Override.
- (system_error_category): Define class and virtual functions as
- 'final'.
- (system_error_category::equivalent(int, const error_condition&)):
- Override.
- (generic_category_instance, system_category_instance): Use
- constinit union to make the objects immortal.
-
-2021-09-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102425
- * src/c++11/system_error.cc
- (system_error_category::default_error_condition): Add 0 to
- switch.
- * testsuite/19_diagnostics/error_category/102425.cc: New test.
-
-2021-09-17 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/fs_path.h (path::iterator): Add noexcept to all
- member functions and friend functions.
- (distance): Add noexcept.
- (advance): Add noexcept and inline.
- * include/experimental/bits/fs_path.h (path::iterator):
- Add noexcept to all member functions.
-
-2021-09-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102270
- * include/std/tuple (_Tuple_impl): Add constexpr to constructor
- missed in previous patch.
- * testsuite/20_util/tuple/cons/102270.C: Moved to...
- * testsuite/20_util/tuple/cons/102270.cc: ...here.
- * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add
- constexpr to constructor so it can be used for C++20 tests.
-
-2021-09-17 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/26_numerics/valarray/dr630-3.C: Moved to...
- * testsuite/26_numerics/valarray/dr630-3.cc: ...here.
- * testsuite/27_io/basic_iostream/cons/16251.C: Moved to...
- * testsuite/27_io/basic_iostream/cons/16251.cc: ...here.
-
-2021-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * src/Makefile.am (stamp-debug): Add all Makefiles as
- prerequisites.
- * src/Makefile.in: Regenerate.
-
-2021-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Increase
- timeout factor to 3.
- * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
-
-2021-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/using.xml: Generalize to apply to more than
- just -std=c++11.
- * doc/html/manual/using_macros.html: Regenerate.
-
-2021-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/optional (nullptr_t): Make constructor noexcept.
-
-2021-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/fs_path.h (advance): Remove non-deducible
- template parameter.
-
-2021-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102270
- * include/std/tuple (_Head_base, _Tuple_impl): Add
- _GLIBCXX20_CONSTEXPR to allocator-extended constructors.
- (tuple<>::swap(tuple&)): Add _GLIBCXX20_CONSTEXPR.
- * testsuite/20_util/tuple/cons/102270.C: New test.
-
-2021-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102280
- * include/std/span (span(Range&&)): Add constraint to deduction
- guide.
-
-2021-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++98/Makefile.am: Use CXXCOMPILE not LTCXXCOMPILE.
- * src/c++98/Makefile.in: Regenerate.
-
-2021-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
- (to_string): Add noexcept if the type width is 32 bits or less.
-
-2021-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/unique_ptr.h (__uniq_ptr_impl::_M_ptr)
- (__uniq_ptr_impl::_M_deleter): Add noexcept.
-
-2021-09-16 Thomas Rodgers <rodgert@twrodgers.com>
-
- PR libstdc++/101761
- * testsuite/29_atomics/atomic_ref/wait_notify.cc (test): Use
- va and vb as arguments to wait/notify, remove unused bb local.
-
-2021-09-15 Hugo Beauzée-Luyssen <hugo@beauzee.fr>
-
- * crossconfig.m4: Check for TLS support on mingw.
- * configure: Regenerate.
-
-2021-09-13 Jason Merrill <jason@redhat.com>
-
- * include/std/version: Define __cpp_lib_hardware_interference_size.
- * libsupc++/new: Define hardware interference size variables.
-
-2021-09-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/experimental/net/internet/resolver/ops/lookup.cc:
- Fix invalid hostname to only match the .invalid TLD.
-
-2021-09-02 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/atomic_base.h (__atomic_base<P*>::compare_exchange_weak):
- Add new functions.
- * include/std/atomic (atomic<T*>::compare_exchange_weak): Use
- it.
-
-2021-09-02 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/atomic: Tweak whitespace.
-
-2021-09-02 Jonathan Wakely <jwakely@redhat.com>
-
- PR c++/102177
- * include/bits/atomic_base.h (__is_valid_cmpexch_failure_order):
- New function to check if a memory order is valid for the failure
- case of compare exchange operations.
- (__atomic_base<I>::compare_exchange_weak): Simplify assertions
- by using __is_valid_cmpexch_failure_order.
- (__atomic_base<I>::compare_exchange_strong): Likewise.
- (__atomic_base<P*>::compare_exchange_weak): Likewise.
- (__atomic_base<P*>::compare_exchange_strong): Likewise.
- (__atomic_impl::compare_exchange_weak): Add assertion.
- (__atomic_impl::compare_exchange_strong): Likewise.
- * include/std/atomic (atomic::compare_exchange_weak): Likewise.
- (atomic::compare_exchange_strong): Likewise.
-
-2021-09-02 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/functional (invoke_r): Define.
- * include/std/version (__cpp_lib_invoke_r): Define.
- * testsuite/20_util/function_objects/invoke/version.cc: Check
- for __cpp_lib_invoke_r as well as __cpp_lib_invoke.
- * testsuite/20_util/function_objects/invoke/4.cc: New test.
-
-2021-08-31 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/98421
- * include/std/span (span(Iter, size_type), span(Iter, Iter)):
- Add valid range checks.
- * testsuite/23_containers/span/cons_1_assert_neg.cc: New test.
- * testsuite/23_containers/span/cons_2_assert_neg.cc: New test.
-
-2021-08-31 Jonathan Wakely <jwakely@redhat.com>
-
- * configure.ac: Fix checks for F_GETFL, F_SETFL and O_NONBLOCK.
- * configure: Regenerate.
-
-2021-08-31 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/system_error.cc (error_category::~error_category()):
- Remove noexcept-specifier.
- (system_error::~system_error()): Likewise.
- * testsuite/19_diagnostics/error_category/noexcept.cc: New test.
- * testsuite/19_diagnostics/system_error/noexcept.cc: New test.
-
-2021-08-31 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102074
- * include/bits/atomic_timed_wait.h (__timed_waiter_pool)
- [!_GLIBCXX_HAVE_PLATFORM_TIMED_WAIT]: Add missing return.
-
-2021-08-31 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/internet (__make_resolver_error_code):
- Handle EAI_SYSTEM errors.
- (basic_resolver_results): Use __make_resolver_error_code. Use
- Glibc NI_MAXHOST and NI_MAXSERV values for buffer sizes.
-
-2021-08-31 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/experimental/net/internet/resolver/ops/lookup.cc:
- Try other service if "http" fails.
-
-2021-08-31 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/17_intro/names.cc: Undefine some more names used
- by Solaris system headers.
-
-2021-08-30 Jason Merrill <jason@redhat.com>
-
- PR c++/96286
- * testsuite/30_threads/promise/requirements/lwg3466.cc:
- Remove dg-prune-outputs.
-
-2021-08-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/alloc_traits.h (allocator_traits): Add explicit
- specialization for allocator<void>. Improve doxygen comments.
- * include/bits/allocator.h (allocator<void>): Restore for the
- versioned namespace.
- (allocator<void>::construct, allocator<void>::destroy): Remove.
- * include/ext/extptr_allocator.h (_Extptr_allocator<void>):
- Add default constructor and converting constructor.
-
-2021-08-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_uninitialized.h: Fix typo in comment.
-
-2021-08-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99876
- * src/c++17/fs_ops.cc (fs::absolute): Call non-throwing form,
- to avoid unnecessary current_path() call.
-
-2021-08-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/std_function.h (function::function(F&&)): Give
- name to defaulted template parameter, to improve diagnostics.
- Use markdown for more doxygen comments.
-
-2021-08-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/std_function.h (function): Adjust doxygen
- comments.
- * include/bits/unique_ptr.h (make_unique_for_overwrite):
- Change parameter name to match doxygen comment.
-
-2021-08-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/std_function.h (_function_base::_Base_manager):
- Replace _M_init_functor with a function template using a
- forwarding reference, and a pair of _M_create function
- templates. Reuse _M_create for the clone operation.
- (function::_Decay_t): New alias template.
- (function::_Callable): Simplify by using _Decay.
- (function::function(F)): Change parameter to forwarding
- reference, as per LWG 2447. Add noexcept-specifier. Simplify
- constraints.
- (function::operator=(F&&)): Add noexcept-specifier.
- * testsuite/20_util/function/cons/lwg2774.cc: New test.
- * testsuite/20_util/function/cons/noexcept.cc: New test.
-
-2021-08-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/std_function.h (function::function(F)): Add
- static assertions to check constructibility requirements.
-
-2021-08-26 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100285
- * configure.ac: Check for O_NONBLOCK.
- * configure: Regenerate.
- * include/experimental/internet: Include <ws2tcpip.h> for
- Windows. Use preprocessor conditions around more constants.
- * include/experimental/socket: Use preprocessor conditions
- around more constants.
- * testsuite/experimental/net/internet/resolver/base.cc: Only use
- constants when the corresponding C macro is defined.
- * testsuite/experimental/net/socket/basic_socket.cc: Likewise.
- * testsuite/experimental/net/socket/socket_base.cc: Likewise.
- Make preprocessor checks more fine-grained.
-
-2021-08-25 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/17_intro/names.cc: Check 'sz'.
-
-2021-08-25 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/17_intro/names.cc: Adjust for Windows.
-
-2021-08-25 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/valarray: Uglify 'func' parameters.
- * testsuite/17_intro/names.cc: Add 'func' to checks.
-
-2021-08-25 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102064
- * include/bits/stl_uninitialized.h (_GLIBCXX_USE_ASSIGN_FOR_INIT):
- Define macro to check conditions for optimizing trivial cases.
- (__check_constructible): New function to do static assert.
- (uninitialized_copy, uninitialized_fill, uninitialized_fill_n):
- Use new macro.
- * testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc:
- Adjust dg-error pattern.
- * testsuite/23_containers/vector/cons/89164.cc: Likewise. Add
- C++17-specific checks from 89164_c++17.cc.
- * testsuite/23_containers/vector/cons/89164_c++17.cc: Removed.
- * testsuite/20_util/specialized_algorithms/uninitialized_copy/102064.cc:
- New test.
- * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/102064.cc:
- New test.
- * testsuite/20_util/specialized_algorithms/uninitialized_fill/102064.cc:
- New test.
- * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/102064.cc:
- New test.
-
-2021-08-25 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/102048
- * include/ext/rope (rope::erase(size_type)): Remove broken
- function.
-
-2021-08-24 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2020.xml: Update table.
- * doc/html/manual/status.html: Regenerate.
-
-2021-08-24 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (is_layout_compatible): Define.
- (is_corresponding_member): Define.
- * include/std/version (__cpp_lib_is_layout_compatible): Define.
- * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc:
- New test.
- * testsuite/20_util/is_layout_compatible/value.cc: New test.
- * testsuite/20_util/is_layout_compatible/version.cc: New test.
- * testsuite/20_util/is_pointer_interconvertible/with_class.cc:
- New test.
- * testsuite/23_containers/span/layout_compat.cc: Do not use real
- std::is_layout_compatible trait if available.
-
-2021-08-24 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/cxx11-shim_facets.cc: Fix mismatched class-key in
- explicit instantiation definitions.
-
-2021-08-23 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/ranges (basic_istream_view): Add default template
- argument.
- * testsuite/std/ranges/istream_view.cc: Check it.
-
-2021-08-23 Jonathan Wakely <jwakely@redhat.com>
-
- * libsupc++/dyncast.cc (__dynamic_cast): Add __builtin_expect to
- precondition check.
-
-2021-08-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/90787
- * testsuite/util/testsuite_fs.h (permissions_are_testable):
- Define as inline.
-
-2021-08-20 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/90787
- * testsuite/27_io/filesystem/iterators/directory_iterator.cc:
- Use new __gnu_test::permissions_are_testable() function.
- * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/exists.cc: Likewise.
- * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
- * testsuite/27_io/filesystem/operations/remove.cc: Likewise.
- * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
- * testsuite/27_io/filesystem/operations/status.cc: Likewise.
- * testsuite/27_io/filesystem/operations/symlink_status.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/temp_directory_path.cc:
- Likewise.
- * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
- Likewise.
- * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc:
- Likewise.
- * testsuite/experimental/filesystem/operations/exists.cc:
- Likewise.
- * testsuite/experimental/filesystem/operations/is_empty.cc:
- Likewise.
- * testsuite/experimental/filesystem/operations/remove.cc:
- Likewise.
- * testsuite/experimental/filesystem/operations/remove_all.cc:
- Likewise.
- * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
- Likewise.
- * testsuite/util/testsuite_fs.h (__gnu_test::permissions_are_testable):
- New function to guess whether testing permissions will work.
-
-2021-08-19 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2020.xml: Move row earlier in table.
- * doc/html/manual/status.html: Regenerate.
-
-2021-08-19 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/doxygen/user.cfg.in: Update to Doxygen 1.9.2
-
-2021-08-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101965
- * include/std/charconv (__to_chars_i): Remove redundant check.
-
-2021-08-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101960
- * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Use base
- class' move constructor. Define as defaulted for versioned
- namespace.
- * testsuite/20_util/tuple/cons/101960.cc: New test.
-
-2021-08-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100139
- * doc/xml/manual/status_cxx2020.xml: Add P1739R4 to status table.
- * doc/html/manual/status.html: Regenerate.
-
-2021-08-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr.h: Add @since and @headerfile tags.
- * include/bits/unique_ptr.h: Add @headerfile tags.
-
-2021-08-19 Jonathan Wakely <jwakely@redhat.com>
-
- * src/filesystem/ops-common.h (filesystem::file_time): Improve
- overflow check by using system_clock::duration::max().
-
-2021-08-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_tree.h: Tweak whitespace.
-
-2021-08-18 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/unique_ptr.h (default_delete): Add @since tag.
- (unique_ptr, unique_ptr<T[]>): Likewise. Improve @brief.
- (make_unique, make_unique_for_overwrite): Likewise. Add @tparam,
- @param, and @returns.
- (_MakeUniq): Move to __detail namespace. Add alias template
- helpers.
-
-2021-08-18 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_function.h: Improve doxygen comments.
-
-2021-08-18 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/doxygen/user.cfg.in (PREDEFINED): Enable doxygen
- processing for C++20 components and components that depend on
- compiler features.
- * include/bits/stl_algo.h (random_shuffle): Use @deprecated.
- * include/std/type_traits: Improve doxygen comments for C++20
- traits.
-
-2021-08-18 Jonathan Wakely <jwakely@redhat.com>
-
- * include/ext/type_traits.h (__promote_2, __promote_3)
- (__promote_4): Redfine as alias templates using __promoted_t.
- * include/std/complex (__promote_2): Remove partial
- specializations for std::complex.
-
-2021-08-18 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_algo.h (min(initializer_list<T>))
- (min(initializer_list<T>, Compare)): Call __min_element directly to
- avoid redundant debug checks for valid ranges.
- (max(initializer_list<T>), max(initializer_list<T>, Compare)):
- Likewise, for __max_element.
- (minmax(initializer_list<T>), minmax(initializer_list<T>, Compare)):
- Likewise, for __minmax_element.
-
-2021-08-18 Jonathan Wakely <jwakely@redhat.com>
-
- * include/debug/deque (deque(size_type, const T&, const A&)):
- Prevent class template argument deduction and replace with a
- deduction guide.
- * include/debug/forward_list (forward_list(size_type, const T&, const A&)):
- Likewise.
- * include/debug/list (list(size_type, const T&, const A&)):
- Likewise.
- * include/debug/vector (vector(size_type, const T&, const A&)):
- Likewise.
-
-2021-08-18 Jonathan Wakely <jwakely@redhat.com>
-
- * python/libstdcxx/v6/printers.py (StdBitReferencePrinter): Use
- 'std::vector<bool>::reference' as type name, not _Bit_reference.
- (build_libstdcxx_dictionary): Register printers for vector<bool>
- types in debug mode too.
- * testsuite/libstdc++-prettyprinters/simple.cc: Adjust expected
- output for invalid _Bit_reference. Use vector<bool>::reference
- instead of _Bit_reference.
- * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
-
-2021-08-17 Thomas Schwinge <thomas@codesourcery.com>
-
- * testsuite/lib/libstdc++.exp: Avoid illegal argument to verbose,
- continued.
-
-2021-08-17 Luc Michel <lmichel@kalray.eu>
- Marc Poulhies <mpoulhies@kalrayinc.com>
-
- * testsuite/lib/gdb-test.exp (gdb_version_check)
- (gdb_version_check_xmethods): Only check the GDB version for
- local native targets.
-
-2021-08-17 Antony Polukhin <antoshkka@gmail.com>
- Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/random.tcc (seed_seq::seed_seq): Reserve capacity
- if distance is O(1).
- * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
- line number.
-
-2021-08-17 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/26_numerics/random/seed_seq/cons/range.cc: Check
- construction from input iterators.
-
-2021-08-17 Jonathan Wakely <jwakely@redhat.com>
-
- * python/libstdcxx/v6/printers.py (StdErrorCatPrinter): Remove.
-
-2021-08-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101923
- * include/bits/std_function.h (function(function&&)): Check for
- non-empty parameter before doing any work.
-
-2021-08-17 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/cow_string.h (basic_string::contains): Do not
- define for -std=gnu++20.
-
-2021-08-17 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_util.h (__not_same_as): Rename to
- __different_from.
- * include/std/ranges (__not_same_as): Likewise.
-
-2021-08-17 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/utility (exchange): Add noexcept-specifier.
- * testsuite/20_util/exchange/noexcept.cc: New test.
-
-2021-08-17 Jonathan Wakely <jwakely@redhat.com>
-
- * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Define.
- (build_libstdcxx_dictionary): Register printer for
- std::error_code and std::error_condition.
- * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it.
-
-2021-08-16 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101937
- * src/c++11/debug.cc (PrintContext::_M_indent): Replace with a
- static data member.
- (print_word): Use qualified-id to access it.
-
-2021-08-16 Jonathan Wakely <jwakely@redhat.com>
-
- * python/Makefile.am [GLIBCXX_BUILD_DEBUG] (install-data-local):
- Install another copy of the GDB hook.
- * python/Makefile.in: Regenerate.
-
-2021-08-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101870
- * include/c_global/cmath (hypot): Use __promoted_t.
- (lerp): Add new overload accepting any arithmetic types.
- * include/ext/type_traits.h (__promoted_t): New alias template.
- * testsuite/26_numerics/lerp.cc: Moved to...
- * testsuite/26_numerics/lerp/1.cc: ...here.
- * testsuite/26_numerics/lerp/constexpr.cc: New test.
- * testsuite/26_numerics/lerp/version.cc: New test.
-
-2021-08-12 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/26_numerics/lerp.cc: Add header name to #error.
- * testsuite/26_numerics/midpoint/integral.cc: Likewise.
- * testsuite/26_numerics/midpoint/version.cc: New test.
-
-2021-08-12 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/random (experimental::randint): Add
- nodiscard attribute.
-
-2021-08-12 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++98/locale_init.cc: Require C++11.
- * src/c++98/localename.cc: Likewise.
- * src/c++98/misc-inst.cc: Require C++98.
-
-2021-08-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101866
- * testsuite/experimental/random/randint.cc: Loop and retry if
- reseed() produces the same sequence.
-
-2021-08-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (__cpp_lib_is_pointer_interconvertible)
- (is_pointer_interconvertible_base_of_v)
- (is_pointer_interconvertible_base_of): Define for C++20.
- * include/std/version (__cpp_lib_is_pointer_interconvertible):
- Define.
- * testsuite/23_containers/span/layout_compat.cc: Use correct
- feature test macro for std::is_layout_compatible_v.
- * testsuite/20_util/is_pointer_interconvertible/value.cc: New test.
- * testsuite/20_util/is_pointer_interconvertible/version.cc: New test.
-
-2021-08-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex.h (basic_regex::transform_primary): Use
- _GLIBCXX_STD_C::vector for local variable.
- * include/bits/regex.tcc (__regex_algo_impl): Use reference to
- _GLIBCXX_STD_C::vector base class of match_results.
- * include/bits/regex_automaton.tcc (_StateSeq:_M_clone): Use
- _GLIBCXX_STD_C::map and _GLIBCXX_STD_C::deque for local
- variables.
- * include/bits/regex_compiler.h (_BracketMatcher): Use
- _GLIBCXX_STD_C::vector for data members.
- * include/bits/regex_executor.h (_Executor): Likewise.
- * include/std/regex [_GLIBCXX_DEBUG]: Include <debug/vector>.
-
-2021-08-09 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/safe_container.h
- (_Safe_container(_Safe_container&&, const _Alloc&, std::true_type)): New.
- (_Safe_container(_Safe_container&&, const _Alloc&, std::false_type)): New.
- (_Safe_container(_Safe_container&&, const _Alloc&)): Use latters.
-
-2021-08-09 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/23_containers/unordered_map/cons/default.cc: Add
- equality comparison operators to allocator.
- * testsuite/23_containers/unordered_set/cons/default.cc:
- Likewise.
-
-2021-08-08 François Dumont <fdumont@gcc.gnu.org>
-
- * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Replace 'failed_assertion'
- dg-prune-output reason with 'builtin_unreachable'.
- * 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.
-
-2021-08-08 Hans-Peter Nilsson <hp@bitrange.com>
-
- * testsuite/std/ranges/iota/max_size_type.cc: Set
- dg-timeout-factor to 4.
-
-2021-08-06 Jonathan Wakely <jwakely@redhat.com>
-
- * libsupc++/compare (compare_three_way, strong_order)
- (weak_order, partial_order, compare_strong_order_fallback)
- (compare_weak_order_fallback, compare_partial_order_fallback):
- Move nodiscard attributes to correct location.
-
-2021-08-05 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101782
- * include/bits/ranges_base.h (ranges::begin, ranges::end)
- (ranges::rbegin, ranges::rend, ranges::size, ranges::ssize)
- (ranges::empty, ranges::data): Move attribute after the
- declarator-id instead of at the end of the declarator.
- * include/bits/stl_iterator.h (__gnu_cxx::__normal_iterator):
- Move attributes back to the start of the function declarator,
- but move the requires-clause to the end.
- (common_iterator): Move attribute after the declarator-id.
- * include/bits/stl_queue.h (queue): Remove ill-formed attributes
- from friend declaration that are not definitions.
- * include/std/ranges (views::all, views::filter)
- (views::transform, views::take, views::take_while,
- views::drop) (views::drop_while, views::join,
- views::lazy_split) (views::split, views::counted,
- views::common, views::reverse) (views::elements): Move
- attributes after the declarator-id.
-
-2021-08-05 Jonathan Wakely <jwakely@redhat.com>
-
- * libsupc++/compare (partial_ordering, weak_ordering)
- (strong_ordering, is_eq, is_neq, is_lt, is_lteq, is_gt, is_gteq)
- (compare_three_way, strong_order, weak_order, partial_order)
- (compare_strong_order_fallback, compare_weak_order_fallback)
- (compare_partial_order_fallback, __detail::__synth3way): Add
- nodiscard attribute.
- * testsuite/18_support/comparisons/categories/zero_neg.cc: Add
- -Wno-unused-result to options.
-
-2021-08-05 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101782
- * include/bits/ranges_base.h (ranges::begin, ranges::end)
- (ranges::rbegin, ranges::rend, ranges::size, ranges::ssize)
- (ranges::empty, ranges::data): Move attribute to the end of
- the declarator.
- * include/bits/stl_iterator.h (__gnu_cxx::__normal_iterator)
- (common_iterator): Likewise for non-member operator functions.
- * include/std/ranges (views::all, views::filter)
- (views::transform, views::take, views::take_while, views::drop)
- (views::drop_while, views::join, views::lazy_split)
- (views::split, views::counted, views::common, views::reverse)
- (views::elements): Likewise.
- * testsuite/std/ranges/access/101782.cc: New test.
-
-2021-08-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/forward_list.h: Add [[nodiscard]] to functions
- with no side-effects.
- * include/bits/stl_bvector.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_queue.h: Likewise.
- * include/bits/stl_stack.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/debug/deque: Likewise.
- * include/debug/forward_list: Likewise.
- * include/debug/list: Likewise.
- * include/debug/safe_iterator.h: Likewise.
- * include/debug/vector: Likewise.
- * include/std/array: Likewise.
- * testsuite/23_containers/array/creation/3_neg.cc: Use
- -Wno-unused-result.
- * testsuite/23_containers/array/debug/back1_neg.cc: Cast result
- to void.
- * testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
- * testsuite/23_containers/array/debug/front1_neg.cc: Likewise.
- * testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
- * testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc:
- Likewise.
- * testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc:
- Likewise.
- * testsuite/23_containers/array/tuple_interface/get_neg.cc:
- Adjust dg-error line numbers.
- * testsuite/23_containers/deque/cons/clear_allocator.cc: Cast
- result to void.
- * testsuite/23_containers/deque/debug/invalidation/4.cc:
- Likewise.
- * testsuite/23_containers/deque/types/1.cc: Use
- -Wno-unused-result.
- * testsuite/23_containers/list/types/1.cc: Cast result to void.
- * testsuite/23_containers/priority_queue/members/7161.cc:
- Likewise.
- * testsuite/23_containers/queue/members/7157.cc: Likewise.
- * testsuite/23_containers/vector/59829.cc: Likewise.
- * testsuite/23_containers/vector/ext_pointer/types/1.cc:
- Likewise.
- * testsuite/23_containers/vector/ext_pointer/types/2.cc:
- Likewise.
- * testsuite/23_containers/vector/types/1.cc: Use
- -Wno-unused-result.
-
-2021-08-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/iterator_concepts.h (iter_move): Add
- [[nodiscard]].
- * include/bits/range_access.h (begin, end, cbegin, cend)
- (rbegin, rend, crbegin, crend, size, data, ssize): Likewise.
- * include/bits/ranges_base.h (ranges::begin, ranges::end)
- (ranges::cbegin, ranges::cend, ranges::rbegin, ranges::rend)
- (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize)
- (ranges::empty, ranges::data, ranges::cdata): Likewise.
- * include/bits/stl_iterator.h (reverse_iterator, __normal_iterator)
- (back_insert_iterator, front_insert_iterator, insert_iterator)
- (move_iterator, move_sentinel, common_iterator)
- (counted_iterator): Likewise.
- * include/bits/stl_iterator_base_funcs.h (distance, next, prev):
- Likewise.
- * include/bits/stream_iterator.h (istream_iterator)
- (ostream_iterartor): Likewise.
- * include/bits/streambuf_iterator.h (istreambuf_iterator)
- (ostreambuf_iterator): Likewise.
- * include/std/ranges (views::single, views::iota, views::all)
- (views::filter, views::transform, views::take, views::take_while)
- (views::drop, views::drop_while, views::join, views::lazy_split)
- (views::split, views::counted, views::common, views::reverse)
- (views::elements): Likewise.
- * testsuite/20_util/rel_ops.cc: Use -Wno-unused-result.
- * testsuite/24_iterators/move_iterator/greedy_ops.cc: Likewise.
- * testsuite/24_iterators/normal_iterator/greedy_ops.cc:
- Likewise.
- * testsuite/24_iterators/reverse_iterator/2.cc: Likewise.
- * testsuite/24_iterators/reverse_iterator/greedy_ops.cc:
- Likewise.
- * testsuite/21_strings/basic_string/range_access/char/1.cc:
- Cast result to void.
- * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
- Likewise.
- * testsuite/23_containers/array/range_access.cc: Likewise.
- * testsuite/23_containers/deque/range_access.cc: Likewise.
- * testsuite/23_containers/forward_list/range_access.cc:
- Likewise.
- * testsuite/23_containers/list/range_access.cc: Likewise.
- * testsuite/23_containers/map/range_access.cc: Likewise.
- * testsuite/23_containers/multimap/range_access.cc: Likewise.
- * testsuite/23_containers/multiset/range_access.cc: Likewise.
- * testsuite/23_containers/set/range_access.cc: Likewise.
- * testsuite/23_containers/unordered_map/range_access.cc:
- Likewise.
- * testsuite/23_containers/unordered_multimap/range_access.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/range_access.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/range_access.cc:
- Likewise.
- * testsuite/23_containers/vector/range_access.cc: Likewise.
- * testsuite/24_iterators/customization_points/iter_move.cc:
- Likewise.
- * testsuite/24_iterators/istream_iterator/sentinel.cc:
- Likewise.
- * testsuite/24_iterators/istreambuf_iterator/sentinel.cc:
- Likewise.
- * testsuite/24_iterators/move_iterator/dr2061.cc: Likewise.
- * testsuite/24_iterators/operations/prev_neg.cc: Likewise.
- * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
- * testsuite/24_iterators/range_access/range_access.cc:
- Likewise.
- * testsuite/24_iterators/range_operations/100768.cc: Likewise.
- * testsuite/26_numerics/valarray/range_access2.cc: Likewise.
- * testsuite/28_regex/range_access.cc: Likewise.
- * testsuite/experimental/string_view/range_access/char/1.cc:
- Likewise.
- * testsuite/experimental/string_view/range_access/wchar_t/1.cc:
- Likewise.
- * testsuite/ext/vstring/range_access.cc: Likewise.
- * testsuite/std/ranges/adaptors/take.cc: Likewise.
- * testsuite/std/ranges/p2259.cc: Likewise.
-
-2021-08-03 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/random.tcc (linear_congruential_engine): Do not
- define static constexpr members when they are implicitly inline.
- * include/std/ratio (ratio, __ratio_multiply, __ratio_divide)
- (__ratio_add, __ratio_subtract): Likewise.
- * include/std/type_traits (integral_constant): Likewise.
- * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
- line number.
-
-2021-08-03 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/util/testsuite_common_types.h: Replace uses of
- tr1::unordered_map and tr1::unordered_set with their C++11
- equivalents.
- * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust
- dg-error line number.
- * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
- * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
- Likewise.
- * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc:
- Likewise.
- * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
- Likewise.
- * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
- Likewise.
- * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
- Likewise.
-
-2021-08-03 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/memory_resource (polymorphic_allocator::delete_object):
- Call destructor directly instead of using destroy.
- (allocator_traits<polymorphic_allocator<T>>): Define partial
- specialization.
-
-2021-08-03 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/function_objects/binders/3113.cc: Remove
- trailing whitespace.
- * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
- * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
- * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
- * testsuite/25_algorithms/headers/algorithm/synopsis.cc:
- Likewise.
- * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc:
- Likewise.
-
-2021-08-03 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/evolution.xml: Document deprecation.
- * doc/html/*: Regenerate.
- * include/bits/c++config (_GLIBCXX14_DEPRECATED): Define.
- (_GLIBCXX14_DEPRECATED_SUGGEST): Define.
- * include/bits/stl_algo.h (random_shuffle): Deprecate for C++14
- and later.
- * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust
- for C++11 and C++14 changes to std::random_shuffle and
- std::shuffle.
- * testsuite/25_algorithms/random_shuffle/1.cc: Add options to
- use deprecated algorithms.
- * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
- * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
- * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc:
- Likewise.
-
-2021-08-03 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/23_containers/forward_list/operations/3.cc:
- Use lambda instead of std::bind2nd.
- * testsuite/20_util/function_objects/binders/3113.cc: Add
- options for testing deprecated features.
- * testsuite/20_util/pair/cons/99957.cc: Likewise.
- * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
- * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
- * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
- * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
- * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
- * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
- * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc:
- Likewise.
- * testsuite/ext/pb_ds/example/priority_queue_split_join.cc:
- Likewise.
- * testsuite/lib/dg-options.exp (dg_add_options_using-deprecated):
- New proc.
-
-2021-08-03 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex_executor.h (_State_info): Replace
- unique_ptr<bool[]> with array of bool.
- * include/bits/regex_executor.tcc: Likewise.
- * include/bits/regex_scanner.tcc: Replace std::strchr with
- __builtin_strchr.
- * include/std/regex: Replace standard headers with smaller
- internal ones.
- * testsuite/28_regex/traits/char/lookup_classname.cc: Include
- <string.h> for strlen.
- * testsuite/28_regex/traits/char/lookup_collatename.cc:
- Likewise.
-
-2021-08-03 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/locale_conv.h (__detail::_Scoped_ptr): Define new
- RAII class template.
- (wstring_convert, wbuffer_convert): Use __detail::_Scoped_ptr
- instead of unique_ptr.
-
-2021-08-02 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/101599
- * include/bits/ranges_algo.h (__reverse_copy_fn::operator()):
- Add missing std::move in return statement.
- (__partition_copy_fn::operator()): Rename templtae parameter
- _O2 to _Out2. Uglify function parameters out_true and out_false.
- * include/bits/ranges_algobase.h (__copy_or_move): Add missing
- std::move to recursive call that unwraps a __normal_iterator
- output iterator.
- * testsuite/25_algorithms/copy/constrained.cc (test06): New test.
- * testsuite/25_algorithms/move/constrained.cc (test05): New test.
-
-2021-08-02 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/101589
- * include/std/ranges (lazy_split_view::_InnerIter::base): Make
- the const& overload unconstrained and return a const reference
- as per LWG 3533. Make unconditionally noexcept.
- (elements_view::base): Revert accidental r12-569 change.
- (elements_view::_Iterator::base): Make the const& overload
- unconstrained and return a const reference as per LWG 3533.
- Make unconditionally noexcept.
-
-2021-08-02 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/101483
- * include/std/ranges (join_view::_Iterator::_Iterator): Add
- missing std::move.
-
-2021-08-02 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101709
- * src/filesystem/ops-common.h (get_temp_directory_from_env):
- Add error_code parameter.
- * src/c++17/fs_ops.cc (fs::temp_directory_path): Pass error_code
- argument to get_temp_directory_from_env and check it.
- * src/filesystem/ops.cc (fs::temp_directory_path): Likewise.
-
-2021-08-02 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/tuple/comparison_operators/overloaded2.cc:
- Add dg-error for c++11_only target.
-
-2021-07-30 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/65018
- * configure.ac: Check for secure_getenv.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * src/filesystem/ops-common.h (get_temp_directory_from_env): New
- helper function to obtain path from the environment.
- * src/c++17/fs_ops.cc (fs::temp_directory_path): Use new helper.
- * src/filesystem/ops.cc (fs::temp_directory_path): Likewise.
- * testsuite/27_io/filesystem/operations/temp_directory_path.cc:
- Print messages if test cannot be run.
- * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
- Likewise. Fix incorrect condition. Use "TMP" to work with
- Windows as well as POSIX.
-
-2021-07-29 Hans-Peter Nilsson <hp@bitrange.com>
-
- * src/c++17/memory_resource.cc: Use __exchange instead
- of std::exchange.
-
-2021-07-27 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/optional (__throw_bad_optional_access):
- Replace GNU attribute with C++11 attribute.
- (optional::value, optional::value_or): Use if statements
- instead of conditional expressions.
- * include/std/optional (__throw_bad_optional_access)
- (optional::value, optional::value_or): Likewise.
-
-2021-07-27 Marek Polacek <polacek@redhat.com>
-
- DR 1512
- PR c++/99701
- * testsuite/20_util/tuple/comparison_operators/overloaded.cc:
- Move a line...
- * testsuite/20_util/tuple/comparison_operators/overloaded2.cc:
- ...here. New test.
-
-2021-07-27 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/cow_string.h: Consistently use tab for
- indentation.
-
-2021-07-27 Jonathan Wakely <jwakely@redhat.com>
-
- * include/Makefile.am: Add new header.
- * include/Makefile.in: Regenerate.
- * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
- (basic_string): Move definition of Copy-on-Write string to
- new file.
- * include/bits/basic_string.tcc: Likewise.
- * include/bits/cow_string.h: New file.
-
-2021-07-27 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/algorithm: Do not include <utility>.
- * include/std/functional: Likewise.
- * include/std/regex: Include <bits/stl_pair.h> instead of
- <utility>.
- * include/debug/map.h: Likewise.
- * include/debug/multimap.h: Likewise.
- * include/debug/multiset.h: Likewise.
- * include/debug/set.h: Likewise.
- * include/debug/vector: Likewise.
- * include/bits/fs_path.h: Likewise.
- * include/bits/unique_ptr.h: Do not include <utility>.
- * include/experimental/any: Likewise.
- * include/experimental/executor: Likewise.
- * include/experimental/memory: Likewise.
- * include/experimental/optional: Likewise.
- * include/experimental/socket: Use __exchange instead
- of std::exchange.
- * src/filesystem/ops-common.h: Likewise.
- * testsuite/20_util/default_delete/48631_neg.cc: Adjust expected
- errors to not use a hardcoded line number.
- * testsuite/20_util/default_delete/void_neg.cc: Likewise.
- * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
- Include <utility> for std::as_const.
- * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc:
- Likewise.
- * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
- Likewise.
- * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc:
- Likewise.
- * testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
- Adjust dg-error line number.
-
-2021-07-27 Jonathan Wakely <jwakely@redhat.com>
-
- * include/Makefile.am: Add bits/utility.h header.
- * include/Makefile.in: Regenerate.
- * include/bits/utility.h: New file.
- * include/std/utility (tuple_size, tuple_element): Move
- to new header.
- * include/std/type_traits (__is_tuple_like_impl<tuple<T...>>):
- Move to <tuple>.
- (_Index_tuple, _Build_index_tuple, integer_sequence): Likewise.
- (in_place_t, in_place_index_t, in_place_type_t): Likewise.
- * include/bits/ranges_util.h: Include new header instead of
- <utility>.
- * include/bits/stl_pair.h (tuple_size, tuple_element): Move
- partial specializations for std::pair here.
- (get): Move overloads for std::pair here.
- * include/std/any: Include new header instead of <utility>.
- * include/std/array: Likewise.
- * include/std/memory_resource: Likewise.
- * include/std/optional: Likewise.
- * include/std/variant: Likewise.
- * include/std/tuple: Likewise.
- (__is_tuple_like_impl<tuple<T...>>): Move here.
- (get) Declare overloads for std::array.
- * include/std/version (__cpp_lib_tuples_by_type): Change type
- to long.
- * testsuite/20_util/optional/84601.cc: Include <utility>.
- * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc:
- Likewise.
- * testsuite/23_containers/array/tuple_interface/get_neg.cc:
- Adjust dg-error line numbers.
- * testsuite/std/ranges/access/cbegin.cc: Include <utility>.
- * testsuite/std/ranges/access/cend.cc: Likewise.
- * testsuite/std/ranges/access/end.cc: Likewise.
- * testsuite/std/ranges/single_view.cc: Likewise.
-
-2021-07-23 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/future: Include <bits/atomic_base.h> instead of
- <atomic>.
-
-2021-07-23 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_relops.h: Update documentation comments.
-
-2021-07-22 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101583
- * include/bits/hashtable.h (_Hashtable): Replace mixin with
- _Enable_default_ctor. Construct it explicitly in all
- non-forwarding, non-defaulted constructors.
- * testsuite/23_containers/unordered_map/cons/default.cc: Check
- non-default constructors can be used.
- * testsuite/23_containers/unordered_set/cons/default.cc:
- Likewise.
-
-2021-07-22 David Edelsohn <dje.gcc@gmail.com>
-
- * config/os/aix/os_defines.h (__LIBC_NO_CPP_MATH_OVERLOADS__): Define.
-
-2021-07-22 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/94295
- * include/ext/new_allocator.h (_GLIBCXX_OPERATOR_NEW)
- (_GLIBCXX_OPERATOR_DELETE, _GLIBCXX_SIZED_DEALLOC): Define.
- (allocator::allocate, allocator::deallocate): Use new macros.
-
-2021-07-22 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101571
- * include/bits/ranges_uninitialized.h (_DestroyGuard): Change
- constructor parameter to reference and use addressof.
- * testsuite/util/testsuite_iterators.h: Define deleted operator&
- overloads for test iterators.
-
-2021-07-22 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/std_function.h (_Function_base): Add
- default member initializers and define constructor as defaulted.
- (function::_M_invoker): Add default member initializer.
-
-2021-07-22 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100682
- * doc/xml/manual/debug_mode.xml: Update documentation about
- debug capability of std::array.
- * doc/html/*: Regenerate.
- * include/debug/array: New file.
-
-2021-07-21 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101542
- * include/ext/rope (sequence_buffer): Add move constructor and
- move assignment operator.
- * testsuite/ext/rope/101542.cc: New test.
-
-2021-07-20 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101510
- * src/c++17/fs_ops.cc (fs::create_directories): Use status
- instead of symlink_status.
- * src/filesystem/ops.cc (fs::create_directories): Likewise.
- * testsuite/27_io/filesystem/operations/create_directories.cc:
- Check symlink to existing directory.
- * testsuite/27_io/filesystem/operations/create_directory.cc: Do
- not test with symlinks on Windows.
- * testsuite/experimental/filesystem/operations/create_directories.cc:
- Check symlink to existing directory.
- * testsuite/experimental/filesystem/operations/create_directory.cc:
- Do not test with symlinks on Windows.
-
-2021-07-20 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100863
- * include/bits/hashtable.h (_Hashtable): Conditionally delete
- default constructor by deriving from _Enable_special_members.
- * testsuite/23_containers/unordered_map/cons/default.cc: New test.
- * testsuite/23_containers/unordered_set/cons/default.cc: New test.
-
-2021-07-20 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101510
- * src/c++17/fs_ops.cc (create_dir): Adjust whitespace.
- * testsuite/27_io/filesystem/operations/create_directory.cc:
- Test creating directory with name of existing symlink to
- directory.
- * testsuite/experimental/filesystem/operations/create_directory.cc:
- Likewise.
-
-2021-07-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/tuple (get<I>): Add deleted overload for bad
- index.
- * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust
- expected errors.
-
-2021-07-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/max_size_type.h (numeric_limits<__max_size_type>):
- Use __int_traits unconditionally.
-
-2021-07-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/random.h (_Shift::__value): Use constexpr.
- (_Select_uint_least_t::type): Use using-declaration.
- (_Mod): Likewise.
- * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
- line number.
-
-2021-07-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/cpp_type_traits.h (__INT_N): Use __extension__
- instead of diagnostic pragmas.
- * include/bits/functional_hash.h: Likewise.
- * include/bits/iterator_concepts.h (__is_signed_int128)
- (__is_unsigned_int128): Likewise.
- * include/bits/max_size_type.h (__max_size_type): Likewise.
- (numeric_limits<__max_size_type>): Likewise.
- * include/bits/std_abs.h (abs): Likewise.
- * include/bits/stl_algobase.h (__size_to_integer): Likewise.
- * include/bits/uniform_int_dist.h (uniform_int_distribution):
- Likewise.
- * include/ext/numeric_traits.h (_GLIBCXX_INT_N_TRAITS):
- Likewise.
- * include/std/type_traits (__is_integral_helper<INT_N>)
- (__is_signed_integer, __is_unsigned_integer)
- (__make_unsigned<INT_N>, __make_signed<INT_N>): Likewise.
- * include/std/limits (__INT_N): Add __extension__ keyword.
- * include/bits/random.h (_Select_uint_least_t)
- (random_device): Likewise.
-
-2021-07-16 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/101231
- * include/std/ranges (_CachedPosition::_M_get): For non-forward
- ranges, just call __builtin_unreachable.
- * testsuite/std/ranges/istream_view.cc (test05): New test.
-
-2021-07-16 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/101214
- * include/std/ranges (split_view::split_view): Use std::move.
- (split_view::_Iterator::_Iterator): Remove redundant
- default_initializable constraint.
- (split_view::_Sentinel::_Sentinel): Declare.
- * testsuite/std/ranges/adaptors/split.cc (test02): New test.
-
-2021-07-16 Marek Polacek <polacek@redhat.com>
-
- * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Add
- dg-error.
-
-2021-07-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/unique_ptr.h: Adjust doxygen markup.
-
-2021-07-16 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101307
- * include/std/type_traits: Adjust doxygen markup.
-
-2021-07-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/cpp_type_traits.h: Add diagnostic pragmas around
- uses of non-standard integer types.
- * include/bits/functional_hash.h: Likewise.
- * include/bits/iterator_concepts.h: Likewise.
- * include/bits/max_size_type.h: Likewise.
- * include/bits/std_abs.h: Likewise.
- * include/bits/stl_algobase.h: Likewise.
- * include/bits/uniform_int_dist.h: Likewise.
- * include/ext/numeric_traits.h: Likewise.
- * include/std/type_traits: Likewise.
-
-2021-07-15 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101427
- * include/std/tuple (tuple_element): Improve static_assert text.
- (__get_helper): Add deleted overload.
- (get<i>(tuple<T...>&&), get<i>(const tuple<T...>&&)): Use
- __get_helper directly.
- (__get_helper2): Remove.
- (__find_uniq_type_in_pack): New constexpr helper function.
- (get<T>): Use __find_uniq_type_in_pack and __get_helper instead
- of __get_helper2.
- * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust
- expected errors.
- * testsuite/20_util/tuple/element_access/101427.cc: New test.
-
-2021-07-15 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101429
- * include/bits/c++config (__replacement_assert): Add noexcept.
- [!_GLIBCXX_VERBOSE] (__glibcxx_assert_impl): Use __builtin_abort
- instead of __replacement_assert.
-
-2021-07-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/string_view (basic_string_view(It, End)): Add
- noexcept-specifier.
- * testsuite/21_strings/basic_string_view/cons/char/range.cc:
- Check noexcept-specifier. Also check construction without CTAD.
-
-2021-07-13 Jonathan Wakely <jwakely@redhat.com>
-
- PR c++/101361
- * include/std/string_view (ends_with): Use traits_type::compare
- directly.
-
-2021-07-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/string_view: Only include <bits/ranges_base.h>
- once, and only for C++20 and later.
-
-2021-07-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101411
- * include/std/span (as_writable_bytes): Add requires-clause.
- * testsuite/23_containers/span/101411.cc: New test.
-
-2021-07-09 Matheus Castanho <msc@linux.ibm.com>
-
- * include/std/mutex (__lock_impl): Check
- _GLIBCXX_HAS_GTHREADS before using __gthread_yield.
-
-2021-07-02 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101271
- * include/bits/unique_ptr.h (unique_ptr<T[],D>::operator[]):
- Remove noexcept-specifier.
- (unique_ptr<T[],D>::_S_nothrow_deref): Remove.
- * testsuite/20_util/unique_ptr/lwg2762.cc: Remove checks for
- operator[].
-
-2021-07-01 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/doxygen/doxygroups.cc: Fix docs for std::literals.
- * doc/doxygen/user.cfg.in: Exclude the Networking TS header.
- Add some more predefined macros.
- * include/bits/fs_fwd.h: Move @addtogroup commands inside
- namespaces. Add better documentation.
- * include/bits/fs_path.h: Likewise.
- * include/experimental/bits/fs_fwd.h: Likewise.
- * include/experimental/bits/fs_path.h: Likewise.
- * include/ext/throw_allocator.h: Fix typo and improve docs.
- * include/std/chrono: Move @addtogroup commands.
- * include/std/system_error: Move @addtogroup commands.
- * libsupc++/exception: Improve documentation.
- * libsupc++/exception.h: Add @since documentation.
-
-2021-06-30 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101258
- * doc/doxygen/user.cfg.in (INPUT): Add <experimental/simd>.
- (COLS_IN_ALPHA_INDEX): Remove obsolete tag.
- (PREDEFINED): Add/fix some more macros that need to be expanded.
- * include/bits/random.h: Stop Doxygen from documenting internal
- implementation details.
- * include/bits/random.tcc: Likewise.
- * include/bits/this_thread_sleep.h: Fix @file name.
- * include/experimental/bits/simd.h: Add to Doxygen group. Do not
- document internal implementation details.
- * include/experimental/bits/simd_detail.h: Do not document
- internal implementation details.
- * include/experimental/simd: Define Doxygen groups.
- * include/experimental/type_traits: Improve documentation for
- the header file. Define groups. Use @since commands.
- * include/std/scoped_allocator (scoped_allocator_adaptor): Move
- declaration before undocumented region.
- * include/std/type_traits (true_type, false_type): Use using
- declaration instead of typedef.
- (is_invocable_v, is_nothrow_invocable_v, is_invocable_r_v)
- (is_nothrow_invocable_r_v): Move definitions next to other C++17
- variable templates.
- Do not document internal implementation details. Move misplaced
- group-end command. Define group for variable templates.
- * include/std/variant: Do not document internal implementation
- details.
- * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
- line number.
-
-2021-06-30 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/simd: Do not define anything pre-C++17.
-
-2021-06-30 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/random.tcc [__cpp_inline_variables]: Remove
- redundant definitions of static constexpr member variables.
- * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
- line number.
-
-2021-06-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/streambuf.tcc (__copy_streambufs_eof): Remove
- explicit instantiation declarations.
- * src/c++11/streambuf-inst.cc (__copy_streambufs_eof): Remove
- explicit instantiation definitions.
-
-2021-06-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/97088
- * testsuite/17_intro/names.cc: Fix #if condition for names used
- by newlib headers.
-
-2021-06-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101236
- * include/bits/unique_ptr.h (unique_ptr<T[], D>::operator[]):
- Fail gracefully if element_type is incomplete.
- * testsuite/20_util/unique_ptr/cons/incomplete.cc: Clarify that
- the standard doesn't require this test to work for array types.
- * testsuite/20_util/unique_ptr/lwg2762.cc: Check that incomplete
- types can be used with array specialization.
- * testsuite/20_util/unique_ptr/101236.cc: New test.
-
-2021-06-28 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/intro.xml: Document LWG 415 change.
- * doc/html/manual/bugs.html: Regenerate.
- * include/bits/istream.tcc (ws): Create sentry and catch
- exceptions.
- * testsuite/27_io/basic_istream/ws/char/lwg415.cc: New test.
- * testsuite/27_io/basic_istream/ws/wchar_t/lwg415.cc: New test.
-
-2021-06-25 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ostream.tcc (basic_ostream::write): Call sputn
- directly instead of using _M_write. Do setstate(__err) all
- outside the try-catch block.
- * include/std/ostream (basic_ostream::_M_write): Declare
- private. Use __ostream_insert. Do not define for the versioned
- namespace.
-
-2021-06-25 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/intro.xml: Document LWG 581 change.
- * doc/html/manual/bugs.html: Regenerate.
- * include/bits/basic_ios.tcc: Whitespace.
- * include/bits/ostream.tcc (basic_ostream::flush()): Construct
- sentry.
- * testsuite/27_io/basic_ostream/flush/char/2.cc: Check
- additional cases.
- * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/flush/wchar_t/exceptions_badbit_throw.cc:
- Likewise.
-
-2021-06-25 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ostream.tcc (sentry): Only set failbit if badbit
- is set, not if eofbit is set.
- (tellp, seekp, seekp): Create sentry object. Do not set badbit
- on exceptions.
- * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
- Adjust expected behaviour.
- * testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/seekp/char/n3168.cc: New test.
- * testsuite/27_io/basic_ostream/seekp/wchar_t/n3168.cc: New test.
- * testsuite/27_io/basic_ostream/tellp/char/n3168.cc: New test.
- * testsuite/27_io/basic_ostream/tellp/wchar_t/n3168.cc: New test.
-
-2021-06-25 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/syncstream (basic_syncbuf::swap()): Remove
- noexcept, as per LWG 3498.
-
-2021-06-25 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/97088
- * testsuite/17_intro/names.cc: Undef more names for newlib and
- also for arm-none-linux-gnueabi.
- * testsuite/experimental/names.cc: Disable PCH.
-
-2021-06-25 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd.h (__bit_cast): Implement via
- __builtin_bit_cast #if available.
- (__proposed::simd_bit_cast): Add overloads for simd and
- simd_mask, which use __builtin_bit_cast (or __bit_cast #if not
- available), which return an object of the requested type with
- the same bits as the argument.
- * include/experimental/bits/simd_math.h: Use simd_bit_cast
- instead of __bit_cast to allow casts to fixed_size_simd.
- (copysign): Remove branch that was only required if __bit_cast
- cannot be constexpr.
- * testsuite/experimental/simd/tests/bits/test_values.h: Switch
- from __bit_cast to __proposed::simd_bit_cast since the former
- will not cast fixed_size objects anymore.
-
-2021-06-24 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd_math.h
- (_GLIBCXX_SIMD_MATH_CALL2_): Rename arg2_ to __arg2.
- (_GLIBCXX_SIMD_MATH_CALL3_): Rename arg2_ to __arg2 and arg3_ to
- __arg3.
-
-2021-06-24 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd.h (__execute_on_index_sequence)
- (__execute_on_index_sequence_with_return)
- (__call_with_n_evaluations, __call_with_subscripts): Add flatten
- attribute.
-
-2021-06-24 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd_x86.h (_S_trunc, _S_floor)
- (_S_ceil): Set bit 8 (_MM_FROUND_NO_EXC) on AVX and SSE4.1
- roundp[sd] calls.
-
-2021-06-24 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd_x86.h (_S_ldexp): The AVX512F
- implementation doesn't require a _VecBltnBtmsk ABI tag, it
- requires either a 64-Byte input (in which case AVX512F must be
- available) or AVX512VL.
-
-2021-06-24 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd_math.h: Undefine internal
- macros after use.
- (frexp): Move #if to a more sensible position and reformat
- preceding code.
- (logb): Call _SimdImpl::_S_logb for fixed_size instead of
- duplicating the code here.
- (modf): Simplify condition.
-
-2021-06-24 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd_math.h (fabs): Remove
- fabs(simd<integral>) overload.
-
-2021-06-24 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd_converter.h
- (_SimdConverter::operator()): Pass _SimdTuple by const-ref.
- * include/experimental/bits/simd_fixed_size.h
- (_GLIBCXX_SIMD_FIXED_OP): Pass binary operator _SimdTuple
- arguments by const-ref.
- (_S_masked_unary): Pass _SimdTuple by const-ref.
-
-2021-06-24 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd_fixed_size.h
- (_AbisInSimdTuple): Removed.
-
-2021-06-24 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd.h: Add missing operator~
- overload for simd<floating-point> to __float_bitwise_operators.
- * include/experimental/bits/simd_builtin.h
- (_SimdImplBuiltin::_S_complement): Bitcast to int (and back) to
- implement complement for floating-point vectors.
- * include/experimental/bits/simd_fixed_size.h
- (_SimdImplFixedSize::_S_copysign): New function, forwarding to
- copysign implementation of _SimdTuple members.
- * include/experimental/bits/simd_math.h (copysign): Call
- _SimdImpl::_S_copysign for fixed_size arguments. Simplify
- generic copysign implementation using the new ~ operator.
-
-2021-06-24 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/experimental/simd/README.md: Fix typos.
-
-2021-06-24 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr_base.h (__shared_ptr_access::operator[]):
- Add noexcept.
- * include/bits/unique_ptr.h (unique_ptr::operator*): Add
- conditional noexcept as per LWG 2762.
- * testsuite/20_util/shared_ptr/observers/array.cc: Check that
- dereferencing cannot throw.
- * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
- * testsuite/20_util/optional/observers/lwg2762.cc: New test.
- * testsuite/20_util/unique_ptr/lwg2762.cc: New test.
-
-2021-06-23 Patrick Palka <ppalka@redhat.com>
-
- PR c++/101174
- * testsuite/23_containers/multiset/cons/deduction.cc:
- Uncomment CTAD example that was rejected by this bug.
- * testsuite/23_containers/set/cons/deduction.cc: Likewise.
-
-2021-06-23 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/chrono (chrono::year::is_leap()): Fix incorrect
- logic in comment.
-
-2021-06-23 Matthias Kretz <m.kretz@gsi.de>
-
- * testsuite/experimental/simd/README.md: New file.
-
-2021-06-23 Matthias Kretz <m.kretz@gsi.de>
-
- * testsuite/experimental/simd/driver.sh: Rewrite output
- verbosity logic. Add -p/--percentage option. Allow -v/--verbose
- to be used twice. Add -x and -o short options. Parse long
- options with = instead of separating space generically. Parce
- contracted short options. Make unrecognized options an error.
- If same-line output is active, trap on EXIT to increment the
- progress (only with --percentage), erase the line and print the
- current status.
- * testsuite/experimental/simd/generate_makefile.sh: Initialize
- helper files for progress account keeping. Update help target
- for changes to DRIVEROPTS.
-
-2021-06-23 Matthias Kretz <m.kretz@gsi.de>
-
- * testsuite/Makefile.am (check-simd): Remove -fno-tree-vrp flag
- and associated warning.
- * testsuite/Makefile.in: Regenerate.
-
-2021-06-23 Cassio Neri <cassio.neri@gmail.com>
- Jonathan Wakely <jwakely@redhat.com>
- Ulrich Drepper <drepper@redhat.com>
-
- * include/std/chrono (chrono::year::is_leap()): Optimize.
-
-2021-06-23 Patrick Palka <ppalka@redhat.com>
-
- PR c++/86439
- * testsuite/23_containers/map/cons/deduction.cc: Replace ambiguous
- CTAD examples.
- * testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
- * testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
- Mention one of the replaced examples is broken due to PR101174.
- * testsuite/23_containers/set/cons/deduction.cc: Likewise.
- * testsuite/23_containers/unordered_map/cons/deduction.cc: Replace
- ambiguous CTAD examples.
- * testsuite/23_containers/unordered_multimap/cons/deduction.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/cons/deduction.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/cons/deduction.cc: Likewise.
-
-2021-06-23 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/mutex (__detail::__try_lock_impl): Rename
- parameter to avoid clashing with newlib's __lockable macro.
- (try_lock): Add 'inline' specifier.
- * testsuite/17_intro/names.cc: Add check for __lockable.
- * testsuite/30_threads/try_lock/5.cc: Add options for pthreads.
-
-2021-06-22 Jonathan Wakely <jwakely@redhat.com>
- Matthias Kretz <m.kretz@gsi.de>
-
- * include/std/mutex (lock): Replace recursion with iteration
- when lockables all have the same type.
- (__detail::__try_lock_impl): Likewise. Pass lockables as
- parameters, instead of a tuple. Always lock the first one, and
- recurse for the rest.
- (__detail::__lock_impl): Adjust call to __try_lock_impl.
- (__detail::__try_to_lock): Remove.
- * testsuite/30_threads/lock/3.cc: Check that mutexes are locked.
- * testsuite/30_threads/lock/4.cc: Also test non-heterogeneous
- arguments.
- * testsuite/30_threads/unique_lock/cons/60497.cc: Also check
- std::try_lock.
- * testsuite/30_threads/try_lock/5.cc: New test.
-
-2021-06-22 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/memory (declare_reachable, undeclare_reachable)
- (declare_no_pointers, undeclare_no_pointers, get_pointer_safety)
- (pointer_safety): Only define for C++11 to C++20 inclusive.
- * testsuite/20_util/pointer_safety/1.cc: Do not run for C++23.
-
-2021-06-22 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/random.h (seed_seq): Constrain initializer-list
- constructor.
- * include/bits/random.tcc (seed_seq): Add template parameter.
- * testsuite/26_numerics/random/seed_seq/cons/default.cc: Check
- for noexcept.
- * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Check
- constraints.
-
-2021-06-22 Thomas Rodgers <rodgert@appliantology.com>
-
- PR libstdc++/100806
- * include/bits/semaphore_base.h (__atomic_semaphore::_M_release):
- Force _M_release() to wake all waiting threads.
- * testsuite/30_threads/semaphore/100806.cc: New test.
-
-2021-06-21 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/mutex (__try_to_lock): Move to __detail namespace.
- (struct __try_lock_impl): Replace with ...
- (__detail::__try_lock_impl<Idx>(tuple<Lockables...>&)): New
- function templates to implement std::try_lock.
- (try_lock): Use new __try_lock_impl.
- (__detail::__lock_impl(int, int&, L0&, L1&...)): New function
- template to implement std::lock.
- (lock): Use __lock_impl.
-
-2021-06-21 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value.
-
-2021-06-20 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (__non_propagating_cache::operator bool):
- Define for split_view::begin().
- (split_view): Define as per P2210.
- (views::__detail::__can_split_view): Define.
- (views::_Split, views::split): Define.
- * testsuite/std/ranges/adaptors/100577.cc (test01, test02):
- Test views::split.
- * testsuite/std/ranges/adaptors/split.cc: New test.
- * testsuite/std/ranges/p2325.cc (test08a): New test.
- * testsuite/std/ranges/p2367.cc (test01): Test views::split.
-
-2021-06-20 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges: Rename views::split to views::lazy_split,
- split_view to lazy_split_view, etc. throughout.
- * testsuite/std/ranges/*: Likewise.
- * testsuite/std/ranges/adaptors/lazy_split.cc: New file.
- * testsuite/std/ranges/adaptors/lazy_split_neg.cc: New file.
-
-2021-06-20 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (split_view::_OuterIter::__at_end):
- Check _M_trailing_empty.
- (split_view::_OuterIter::_M_trailing_empty): Define this
- data member.
- (split_view::_OuterIter::operator++): Set _M_trailing_empty
- appropriately.
- (split_view::_OuterIter::operator==): Compare
- _M_trailing_empty.
- * testsuite/std/ranges/adaptors/100479.cc (test03): Expect two
- split parts instead of one.
- * testsuite/std/ranges/adaptors/split.cc (test11): New test.
-
-2021-06-20 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (split_view::_InnerIter::base): Define as
- per P2210.
-
-2021-06-19 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (transform_view::_Iterator::_S_iter_concept):
- Consider _Base instead of _Vp as per LWG 3555.
- (elements_view::_Iterator::_S_iter_concept): Likewise.
-
-2021-06-19 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (split_view::_OuterIter::value_type::begin):
- Remove the non-const overload, and remove the copyable constraint
- on the const overload as per LWG 3553.
-
-2021-06-19 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/stl_iterator.h
- (__detail::__common_iter_use_postfix_proxy): Add
- move_constructible constraint as per LWG 3546.
- (common_iterator::__postfix_proxy): Adjust initializer of
- _M_keep as per LWG 3546.
-
-2021-06-18 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100387
- * include/bits/ranges_algo.h (__minmax_fn::operator()): Rewrite
- to limit comparison complexity to 3*N/2.
- (__minmax_element_fn::operator()): Likewise.
- (shift_right): Avoid premature std::move of __result.
- * testsuite/25_algorithms/minmax/constrained.cc (test04, test05):
- New tests.
- * testsuite/25_algorithms/minmax_element/constrained.cc (test02):
- Likewise.
-
-2021-06-18 Patrick Palka <ppalka@redhat.com>
-
- * include/std/concepts (convertible_to): Just use declval as per
- LWG 3557.
-
-2021-06-18 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/95833
- * include/std/numeric (reduce(Iter, Iter, T, BinaryOp)): Replace
- incorrect static_assert with ones matching the 'Mandates'
- conditions in the standard.
- * testsuite/26_numerics/reduce/95833.cc: New test.
-
-2021-06-18 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/21_strings/basic_string/cons/char/1.cc: Use
- diagnostic pragma to suppress -Wstringop-overread error.
-
-2021-06-18 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/ranges_algo.h (__find_fn, find, __find_if_fn)
- (find_if, __find_if_not_fn, find_if_not, _in_in_result)
- (__mismatch_fn, mismatch, __search_fn, search): Move to ...
- * include/bits/ranges_util.h: ... here.
- * include/std/ranges (__detail::find, __detail::find_if)
- (__detail::find_if_not, __detail::mismatch): Remove.
- (filter_view): Use ranges::find_if instead.
- (drop_while_view): Use ranges::find_if_not instead.
- (split_view): Use ranges::find and ranges::mismatch instead.
-
-2021-06-18 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/iterator_concepts.h (weakly_incrementable): Remove
- default_initializable requirement.
- * include/bits/ranges_base.h (ranges::view): Likewise.
- * include/bits/ranges_util.h (subrange): Constrain the default
- ctor.
- * include/bits/stl_iterator.h (back_insert_iterator): Remove the
- default ctor.
- (front_insert_iterator): Likewise.
- (insert_iterator): Likewise. Remove NSDMIs.
- (common_iterator): Constrain the default ctor.
- (counted_iterator): Likewise.
- * include/bits/stream_iterator.h (ostream_iterator): Remove the
- default ctor.
- * include/std/ranges (__detail::__box::operator=): Handle
- self-assignment in the primary template.
- (__detail::__box): In the partial specialization: adjust
- constraints as per P2325. Add specialized operator= for the
- case when the wrapped type is not copyable. Constrain the
- default ctor. Avoid list-initialization.
- (single_view): Constraint the default ctor.
- (iota_view): Relax semiregular constraint to copyable.
- Constrain the default ctor.
- (iota_view::_Iterator): Constraint the default ctor.
- (basic_istream_view): Remove the default ctor. Remove NSDMIs.
- Remove redundant checks for empty _M_stream.
- (basic_istream_view::_Iterator): Likewise.
- (ref_view): Remove the default ctor. Remove NSDMIs.
- (ref_view::_Iterator): Constrain the default ctor.
- (__detail::__non_propagating_cache::operator=): Define overload
- for assigning from a value of the underlying type.
- (filter_view): Likewise.
- (filter_view::_Iterator): Likewise.
- (transform_view): Likewise.
- (transform_view::_Iterator): Likewise.
- (take_view): Likewise.
- (take_view::_Iterator): Likewise.
- (take_while_view): Likewise.
- (take_while_view::_Iterator): Likewise.
- (drop_while_view): Likewise.
- (drop_while_view::_Iterator): Likewise.
- (join_view): Likewise.
- (split_view::_OuterIter::__current): Adjust after changing the
- type of _M_current.
- (split_view::_M_current): Wrap it in a __non_propagating_cache.
- (split_view::split_view): Constrain the default ctor.
- (common_view): Constrain the default ctor.
- (reverse_view): Likewise.
- (elements_view): Likewise.
- * include/std/span (enable_view<span<_ElementType, _Extent>>):
- Define this partial specialization to true unconditionally.
- * include/std/version (__cpp_lib_ranges): Adjust value.
- * testsuite/24_iterators/back_insert_iterator/constexpr.cc:
- Don't attempt to default construct a back_insert_iterator.
- * testsuite/24_iterators/front_insert_iterator/constexpr.cc:
- Don't attempt to default construct a front_insert_iterator.
- * testsuite/24_iterators/insert_iterator/constexpr.cc:
- Don't attempt to default construct an insert_iterator.
- * testsuite/24_iterators/ostream_iterator/requirements/constexpr.cc:
- Remove this test for default constructibility of ostream_iterator.
- * testsuite/std/ranges/97600.cc: Don't attempt to default
- construct a basic_istream_view.
- * testsuite/std/ranges/adaptors/detail/semiregular_box.cc:
- Rename to ...
- * testsuite/std/ranges/adaptors/detail/copyable_box.cc: ... this.
- (test02): Adjust now that __box is copyable-box not
- semiregular-box.
- (test03): New test.
- * testsuite/std/ranges/p2325.cc: New test.
- * testsuite/std/ranges/single_view.cc (test06): New test.
- * testsuite/std/ranges/view.cc: Adjust now that view doesn't
- require default_initializable.
-
-2021-06-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/91488
- * include/bits/basic_string.h (__cpp_lib_constexpr_string): Only
- define when is_constant_evaluated is available.
- * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits):
- Likewise.
- (__constant_string_p, __constant_array_p): Remove.
- (char_traits): Use is_constant_evaluated directly.
- * include/std/version (__cpp_lib_constexpr_char_traits)
- (__cpp_lib_constexpr_string): Only define when
- is_constant_evaluated is available.
-
-2021-06-17 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100940
- * include/std/ranges (__adaptor::_Partial): For the "simple"
- forwarding partial specializations, also require that
- the extra arguments are trivially copyable.
- * testsuite/std/ranges/adaptors/100577.cc (test04): New test.
-
-2021-06-17 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100940
- * include/std/ranges (__adaptor::_RangeAdaptor): Document the
- template form of _S_has_simple_extra_args.
- (__adaptor::__adaptor_has_simple_extra_args): Add _Args template
- parameter pack. Try to treat _S_has_simple_extra_args as a
- variable template parameterized by _Args.
- (__adaptor::_Partial): Pass _Arg/_Args to the constraint
- __adaptor_has_simple_extra_args.
- (views::_Take::_S_has_simple_extra_args): Templatize according
- to the type of the extra argument.
- (views::_Drop::_S_has_simple_extra_args): Likewise.
- (views::_Split::_S_has_simple_extra_args): Define.
- * testsuite/std/ranges/adaptors/100577.cc (test01, test02):
- Adjust after changes to _S_has_simple_extra_args mechanism.
- (test03): Define.
-
-2021-06-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/iterator_concepts.h (__decay_copy): Name type.
-
-2021-06-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_base.h (ranges::begin, ranges::end)
- (ranges::cbegin, ranges::cend, ranges::rbeing, ranges::rend)
- (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize)
- (ranges::empty, ranges::data, ranges::cdata): Remove final
- keywords and deleted operator& overloads.
- * testsuite/24_iterators/customization_points/iter_move.cc: Use
- new is_customization_point_object function.
- * testsuite/24_iterators/customization_points/iter_swap.cc:
- Likewise.
- * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc:
- Likewise.
- * testsuite/std/ranges/access/begin.cc: Likewise.
- * testsuite/std/ranges/access/cbegin.cc: Likewise.
- * testsuite/std/ranges/access/cdata.cc: Likewise.
- * testsuite/std/ranges/access/cend.cc: Likewise.
- * testsuite/std/ranges/access/crbegin.cc: Likewise.
- * testsuite/std/ranges/access/crend.cc: Likewise.
- * testsuite/std/ranges/access/data.cc: Likewise.
- * testsuite/std/ranges/access/empty.cc: Likewise.
- * testsuite/std/ranges/access/end.cc: Likewise.
- * testsuite/std/ranges/access/rbegin.cc: Likewise.
- * testsuite/std/ranges/access/rend.cc: Likewise.
- * testsuite/std/ranges/access/size.cc: Likewise.
- * testsuite/std/ranges/access/ssize.cc: Likewise.
- * testsuite/util/testsuite_iterators.h
- (is_customization_point_object): New function.
-
-2021-06-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_base.h (ranges::begin, ranges::end)
- (ranges::cbegin, ranges::cend, ranges::rbeing, ranges::rend)
- (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize)
- (ranges::empty, ranges::data, ranges::cdata): Make types final.
- Add deleted operator& overloads.
- (ranges::advance, ranges::distance, ranges::next, ranges::prev):
- Likewise.
- * testsuite/std/ranges/headers/ranges/synopsis.cc: Replace
- ill-formed & expressions with using-declarations. Add checks for
- other function objects.
-
-2021-06-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_util.h (view_interface): Add noexcept to
- empty, operator bool, data and size members.
- (subrange): Add noexcept to constructors.
- * include/std/ranges (single_view, ref_view): Add noexcept to
- constructors.
- (views::single, views::all): Add noexcept.
- * testsuite/std/ranges/adaptors/all.cc: Check noexcept.
- * testsuite/std/ranges/single_view.cc: Likewise.
-
-2021-06-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_util.h (subrange): Add __size_type typedef
- and use it to simplify declarations.
- (subrange(i, s, n)): Remove assertion.
- * testsuite/std/ranges/subrange/constexpr.cc: New test.
-
-2021-06-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/iterator_concepts.h (__cust_access::__decay_copy):
- Replace with function object.
- (__cust_access::__member_begin, ___cust_access::_adl_begin): Use
- __decay_copy unqualified.
- * include/bits/ranges_base.h (__member_end, __adl_end):
- Likewise. Use __range_iter_t for type of ranges::begin.
- (__member_rend): Use correct value category for rbegin argument.
- (__member_data): Use __decay_copy unqualified.
- (__begin_data): Use __range_iter_t for type of ranges::begin.
-
-2021-06-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_base.h (ranges::empty): Check whether
- conversion to bool can throw.
- * testsuite/std/ranges/access/empty.cc: Check for correct
- noexcept-specifier.
-
-2021-06-14 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100894
- * include/std/type_traits (__common_ref_impl<X&, Y&>): Only
- use the type if it's a reference.
- * testsuite/20_util/common_reference/100894.cc: New test.
-
-2021-06-14 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/experimental/filesystem/path/native/conv_c++23.cc:
- Add dg-require-filesystem-ts directive.
-
-2021-06-14 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101034
- * include/std/any (any(in_place_t<T>, initializer_list<U>, A&&...))
- (any::emplace<T>(initializer_list<U>, A&&...)): Fix constraint
- to use lvalue.
- * testsuite/20_util/any/cons/101034.cc: New test.
-
-2021-06-14 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/17_intro/headers/c++2017/all_attributes.cc: Add
- -std=gnu++17 option.
-
-2021-06-14 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101056
- * libsupc++/compare (compare_partial_order_fallback): Add
- constraint using reversed parameter order, as per LWG 3465.
- * testsuite/18_support/comparisons/algorithms/fallback.cc:
- Adjust expected result.
-
-2021-06-14 Jonathan Wakely <jwakely@redhat.com>
-
- * libsupc++/compare (__decayed_same_as): New helper concept.
- (strong_order, weak_order, partial_order): Constrain with new
- concept instead of using static_assert.
- (compare_strong_order_fallback, compare_weak_order_fallback)
- (compare_partial_order_fallback): Likewise. Do not deduce return
- types. Remove redundant if-constexpr checks.
- * testsuite/18_support/comparisons/algorithms/fallback.cc: New test.
-
-2021-06-14 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/101055
- * include/std/tuple: Use reserved form of attribute name.
- * testsuite/17_intro/headers/c++2011/all_attributes.cc: Add
- check for no_unique_address.
- * testsuite/17_intro/headers/c++2014/all_attributes.cc:
- Likewise.
- * testsuite/17_intro/headers/c++2017/all_attributes.cc:
- Likewise.
-
-2021-06-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/fs_path.h (operator==, operator<=>): Use new
- _S_compare function.
- (path::_S_compare): New function to call path::compare in a
- context where path::iterator is complete.
- * include/experimental/bits/fs_path.h (operator<, operator==):
- Define after path::iterator is complete.
- * testsuite/27_io/filesystem/path/native/conv_c++23.cc: New
- test.
- * testsuite/experimental/filesystem/path/native/conv_c++23.cc:
- New test.
-
-2021-06-09 Thomas Rodgers <rodgert@appliantology.com>
-
- * testsuite/29_atomics/atomic_ref/wait_notify.cc: Guard
- test logic with constexpr check for is_always_lock_free.
-
-2021-06-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100982
- * include/std/optional (optional::operator=(const optional<U>&)):
- Fix value category used in is_assignable check.
- * testsuite/20_util/optional/assignment/100982.cc: New test.
-
-2021-06-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/allocator.h (allocator::is_always_equal): Deprecate.
- * include/bits/iterator_concepts.h (indirectly_readable_traits):
- Add LWG issue number to comment.
- * include/std/memory_resource (polymorphic_allocator::release):
- Deprecate.
- * testsuite/20_util/allocator/requirements/typedefs.cc: Add
- dg-warning for deprecation. Also check std::allocator<void>.
-
-2021-06-08 Thomas Rodgers <rodgert@appliantology.com>
-
- PR libstdc++/100889
- * include/bits/atomic_base.h (atomic_ref<_Tp*>::wait):
- Change parameter type from _Tp to _Tp*.
- * testsuite/29_atomics/atomic_ref/wait_notify.cc: Extend
- coverage of types tested.
-
-2021-06-08 Thomas Rodgers <rodgert@appliantology.com>
-
- * include/std/barrier (__tree_barrier::_M_arrive): Remove
- unnecessary hasher instantiation.
-
-2021-06-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/propagate_const (swap): Constrain.
- * testsuite/experimental/propagate_const/swap/lwg3413.cc: New test.
-
-2021-06-07 Avi Kivity <avi@scylladb.com>
-
- PR libstdc++/100900
- * include/std/ranges (elements_view::__iter_cat::_S_iter_cat):
- Add missing typename.
-
-2021-06-07 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/98842
- * include/std/optional (operator<=>(const optional<T>& const U&)):
- Add missing constraint and add workaround for template
- recursion.
- * testsuite/20_util/optional/relops/three_way.cc: Check that
- type without equality comparison cannot be compared when wrapped
- in std::optional.
-
-2021-06-05 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100824
- * include/bits/ranges_base.h (_SSize): Return signed type.
- * testsuite/std/ranges/access/ssize.cc: Check with __int128.
-
-2021-06-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_base.h (_SSize): Return the result of
- ranges::size converted to the wider of make-signed-like-t<S> and
- ptrdiff_t, rather than the ranges different type.
- * testsuite/std/ranges/access/ssize.cc: Adjust expected result
- for an iota_view that uses an integer class type for its
- difference_type.
-
-2021-06-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100824
- * include/bits/ranges_base.h (__member_data): Use __decay_copy.
- * testsuite/std/ranges/access/data.cc: Add testcase from PR.
-
-2021-06-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100824
- * include/bits/iterator_concepts.h (__detail::__decay_copy)
- (__detail::__member_begin, __detail::__adl_begin): Move to
- namespace ranges::__cust_access.
- (__detail::__ranges_begin): Likewise, and rename to __begin.
- Remove redundant static assertion.
- * include/bits/ranges_base.h (_Begin, _End, _RBegin, _REnd):
- Use lvalue in noexcept specifier.
- (__as_const): Add non-deduced parameter for value category.
- (_CBegin, _CEnd, _CRBegin, _CREnd, _CData): Adjust uses of
- __as_const.
- (__member_size, __adl_size, __member_empty, __size0_empty):
- (__eq_iter_empty, __adl_data): Use lvalue objects in
- requirements.
- (__sentinel_size): Likewise. Add check for conversion to
- unsigned-like.
- (__member_data): Allow non-lvalue types to satisfy the concept,
- but use lvalue object in requirements.
- (_Size, _SSize): Remove forwarding to always use an lvalue.
- (_Data): Likewise. Add static assertion for arrays.
- * testsuite/std/ranges/access/cdata.cc: Adjust expected
- behaviour for rvalues. Add negative tests for ill-formed
- expressions.
- * testsuite/std/ranges/access/data.cc: Likewise.
- * testsuite/std/ranges/access/empty.cc: Adjust expected
- behaviour for rvalues.
- * testsuite/std/ranges/access/size.cc: Likewise.
-
-2021-06-04 Tim Adye <Tim.Adye@cern.ch>
-
- * include/std/any (any::_Manager::_S_access): New static
- function to access the contained value.
- (any::emplace, __any_caster): Use _S_access member of the
- manager type.
-
-2021-06-04 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2020.xml:
- * doc/html/*: Regenerate.
- * include/bits/hashtable.h (__cpp_lib_generic_unordered_lookup):
- Define.
- * include/std/version (__cpp_lib_generic_unordered_lookup):
- Define.
- * testsuite/23_containers/unordered_map/operations/1.cc: Check
- feature test macro.
- * testsuite/23_containers/unordered_set/operations/1.cc:
- Likewise.
-
-2021-06-03 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/ranges_algo.h (__detail::__can_reread_output):
- Factor out this concept from ...
- (__unique_copy_fn::operator()): ... here. Use the concept
- throughout.
- * testsuite/std/ranges/range.cc: Remove now ill-formed use
- of range_value_t on an output_range.
- * testsuite/util/testsuite_iterators.h (output_iterator_wrapper):
- Define value_type, pointer and reference member types to void.
-
-2021-06-03 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100577
- * include/std/ranges (_RangeAdaptorClosure): Document
- _S_has_simple_call_op mechanism.
- (_RangeAdaptor): Document _S_has_simple_extra_args mechanism.
- (__closure_has_simple_call_op): New concept.
- (__adaptor_has_simple_extra_args): Likewise.
- (_Partial<_Adaptor, _Args...>): New partial specialization.
- (_Partial<_Adaptor, _Arg>): Likewise.
- (_Pipe<_Lhs, _Rhs>): Likewise.
- (views::_All::_S_has_simple_call_op): Define to true.
- (views::_Filter::_S_has_simple_extra_args): Likewise.
- (views::_Transform::_S_has_simple_extra_args): Likewise.
- (views::_Take::_S_has_simple_extra_args): Likewise.
- (views::_TakeWhile::_S_has_simple_extra_args): Likewise.
- (views::_Drop::_S_has_simple_extra_args): Likewise.
- (views::_DropWhile::_S_has_simple_extra_args): Likewise.
- (views::_Join::_S_has_simple_call_op): Likewise.
- (views::_Split): Document why we don't define
- _S_has_simple_extra_args to true for this adaptor.
- (views::_Common::_S_has_simple_call_op): Define to true.
- (views::_Reverse::_S_has_simple_call_op): Likewise.
- (views::_Elements::_S_has_simple_call_op): Likewise.
- * testsuite/std/ranges/adaptors/100577.cc: New test.
-
-2021-06-02 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100863
- PR libstdc++/65816
- * include/bits/hashtable_policy.h (_Hashtable_ebo_helper):
- Value-initialize subobject.
- * testsuite/23_containers/unordered_map/allocator/default_init.cc:
- Remove XFAIL.
- * testsuite/23_containers/unordered_set/allocator/default_init.cc:
- Remove XFAIL.
-
-2021-06-02 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/96088
- * testsuite/23_containers/unordered_map/96088.cc: Adjust
- expected number of allocations.
- * testsuite/23_containers/unordered_set/96088.cc: Likewise.
-
-2021-06-02 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxxis29124.xml: Improve punctuation.
- * doc/xml/manual/status_cxxtr1.xml: Likewise.
- * doc/xml/manual/status_cxxtr24733.xml: Likewise.
- * doc/html/*: Regenerate.
-
-2021-06-01 Patrick Palka <ppalka@redhat.com>
-
- PR c++/65816
- * testsuite/23_containers/deque/allocator/default_init.cc,
- testsuite/23_containers/forward_list/allocator/default_init.cc,
- testsuite/23_containers/list/allocator/default_init.cc,
- testsuite/23_containers/map/allocator/default_init.cc,
- testsuite/23_containers/set/allocator/default_init.cc,
- testsuite/23_containers/vector/allocator/default_init.cc,
- testsuite/23_containers/vector/bool/allocator/default_init.cc:
- Remove xfail.
-
-2021-06-01 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/23_containers/unordered_map/96088.cc: Change
- effective target to c++17.
- * testsuite/23_containers/unordered_set/96088.cc: Likewise.
-
-2021-06-01 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/22_locale/ctype/is/string/89728_neg.cc: Only test
- isblank for C++11 and later.
-
-2021-06-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100833
- * include/bits/ranges_base.h (ranges::advance(iter, n, sentinel)):
- Fix return value for no-op case.
- * testsuite/24_iterators/range_operations/advance.cc: Test
- return values of three-argument overload.
-
-2021-06-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99453
- * python/Makefile.am: Use archive name for printer hook if no
- dynamic library name is available.
- * python/Makefile.in: Regenerate.
-
-2021-05-30 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/abi.xml: Remove dead reference to "Intel
- Compilers for Linux: Compatibility with GNU Compilers" article.
- * doc/html/manual/abi.html: Regenerate.
-
-2021-05-26 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/formatter.h
- (_Error_formatter::_Parameter::_Named): New.
- (_Error_formatter::_Parameter::_Type): Inherit latter.
- (_Error_formatter::_Parameter::_M_integer): Likewise.
- (_Error_formatter::_Parameter::_M_string): Likewise.
- * src/c++11/debug.cc: Include <cstring>.
- (_Print_func_t): New.
- (print_raw(PrintContext&, const char*, ptrdiff_t)): New.
- (print_word): Use '%.*s' format in fprintf to render only expected number of chars.
- (pretty_print(PrintContext&, const char*, _Print_func_t)): New.
- (print_type): Rename in...
- (print_type_info): ...this. Use pretty_print.
- (print_address, print_integer): New.
- (print_named_name, print_iterator_constness, print_iterator_state): New.
- (print_iterator_seq_type): New.
- (print_named_field, print_type_field, print_instance_field, print_iterator_field): New.
- (print_field): Use latters.
- (print_quoted_named_name, print_type_type, print_type, print_instance): New.
- (print_string(PrintContext&, const char*, const _Parameter*, size_t)):
- Change signature to...
- (print_string(PrintContext&, const char*, ptrdiff_t, const _Parameter*, size_t)):
- ...this and adapt. Remove intermediate buffer to render input string.
- (print_string(PrintContext&, const char*, ptrdiff_t)): New.
-
-2021-05-26 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100768
- * include/bits/ranges_base.h (advance, distance, next, prev):
- Replace function templates with function objects.
- * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
- Adjust for changes to function objects.
- * testsuite/std/ranges/adaptors/elements.cc: Add using
- declarations for names from namespace ranges.
- * testsuite/std/ranges/adaptors/transform.cc: Likewise.
- * testsuite/24_iterators/range_operations/100768.cc: New test.
-
-2021-05-24 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/96088
- * include/bits/hashtable_policy.h (_Select2nd): New.
- (_NodeBuilder<>): New.
- (_ReuseOrAllocNode<>::operator()): Use variadic template args.
- (_AllocNode<>::operator()): Likewise.
- * include/bits/hashtable.h
- (_Hashtable<>::__node_builder_t): New.
- (_Hashtable<>::_M_insert_unique<>(_Kt&&, _Arg&&, const _NodeGenerator&)):
- New.
- (_Hashtable<>::_S_forward_key): New.
- (_Hashtable<>::_M_insert): Use latter.
- (_Hashtable<>::_M_insert(const_iterator, _Arg&&, const _NodeGenerator&, false_type)):
- Instantiate node first, compute hash code second.
- * testsuite/23_containers/unordered_map/96088.cc: New test.
- * testsuite/23_containers/unordered_multimap/96088.cc: New test.
- * testsuite/23_containers/unordered_multiset/96088.cc: New test.
- * testsuite/23_containers/unordered_set/96088.cc: New test.
- * testsuite/util/replacement_memory_operators.h
- (counter::_M_increment): New.
- (counter::_M_decrement): New.
- (counter::reset()): New.
-
-2021-05-24 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100479
- * include/std/ranges (__detail::__non_propagating_cache): Move
- definition up to before that of _CachedPosition. Make base
- class _Optional_base protected instead of private. Add const
- overload for operator*.
- (__detail::_CachedPosition): Rewrite the partial specialization
- for forward ranges as a derived class of __non_propagating_cache.
- Remove the size constraint on the partial specialization for
- random access ranges. Add copy/move/copy-assignment/move-assignment
- members to the offset partial specialization for random
- access ranges that propagate the cached value but additionally
- invalidate it in the source object on move.
- * testsuite/std/ranges/adaptors/100479.cc: New test.
-
-2021-05-24 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/25_algorithms/inplace_merge/constrained.cc: Qualify
- call to ranges::next.
- * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise.
- * testsuite/25_algorithms/is_sorted_until/constrained.cc:
- Likewise.
- * testsuite/25_algorithms/swap_ranges/1.cc: Qualify call to
- swap_ranges.
-
-2021-05-21 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100606
- * include/std/ranges (drop_while_view::begin): Assert the
- precondition added by LWG 3490.
-
-2021-05-21 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100690
- * include/std/ranges (iota_view::_Sentinel::_M_distance_from):
- Split out this member function from ...
- (iota_view::_Sentinel::operator-): ... here, for sake of access
- control.
- * testsuite/std/ranges/iota/iota_view.cc (test05): New test.
-
-2021-05-20 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/random.tcc (__representable_as_double)
- (__p1_representable_as_double): Add "" to static asserts.
-
-2021-05-20 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100676
- * include/bits/c++config (__glibcxx_assert_1): Rename to ...
- (__glibcxx_constexpr_assert): ... this.
- (__glibcxx_assert_impl): Use __glibcxx_constexpr_assert.
- (__glibcxx_assert): Define as either __glibcxx_constexpr_assert
- or __glibcxx_assert_impl.
- (__glibcxx_assert_2): Remove
- * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): Use
- __glibcxx_constexpr_assert instead of __glibcxx_assert_1.
- * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
- Adjust expected error.
- * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
- Likewise.
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
- Likewise.
- * testsuite/23_containers/span/back_neg.cc: Likewise.
- * testsuite/23_containers/span/front_neg.cc: Likewise.
- * testsuite/23_containers/span/index_op_neg.cc: Likewise.
-
-2021-05-20 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100639
- * include/bits/stl_iterator.h (reverse_iterator::difference_type):
- In C++20 mode, define in terms of iter_difference_t as per P0896R4.
- (reverse_iterator::reference): Likewise, but with iter_reference_t.
- (reverse_iterator::value_type): Likewise, but with iter_value_t.
- * testsuite/std/ranges/adaptors/reverse.cc (test08): New test.
- * testsuite/24_iterators/reverse_iterator/100639.cc: New test.
-
-2021-05-20 Joern Rennecke <joern.rennecke@riscy-ip.com>
-
- PR libstdc++/100361
- * include/std/charconv (to_chars): Hide the overloads for
- floating-point types for 16 bit targets.
- * src/c++17/floating_to_chars.cc: Don't compile for 16 bit targets.
- * testsuite/20_util/to_chars/double.cc: Run this test only on
- size32plus targets.
- * testsuite/20_util/to_chars/float.cc: Likewise.
- * testsuite/20_util/to_chars/long_double.cc: Likewise.
-
-2021-05-18 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100631
- * include/std/ranges (elements_view::_Sentinel::operator-): Use
- _M_distance_from in the other operator- overload too.
- * testsuite/std/ranges/adaptors/elements.cc (test06): Augment test.
-
-2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
-
- * testsuite/lib/prune.exp: Add note about 'dg-note'.
-
-2021-05-18 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100475
- * include/std/ranges (__box::__box): Use non-list-initialization
- in member initializer list of in-place constructor of the
- partial specialization for semiregular types.
- (__box::operator->): Use std::__addressof.
- * testsuite/std/ranges/adaptors/detail/semiregular_box.cc
- (test02): New test.
- * testsuite/std/ranges/single_view.cc (test04): New test.
-
-2021-05-18 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100621
- * include/std/ranges (reverse_view::_S_needs_cached_begin):
- Set to true if the underlying non-common random-access range
- doesn't have a sized sentinel.
-
-2021-05-18 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100631
- * include/std/ranges (elements_view::_Iterator): Also befriend
- _Sentinel<!_Const>.
- (elements_view::_Sentinel::_M_equal): Templatize.
- (elements_view::_Sentinel::_M_distance_from): Split out from ...
- (elements_view::_Sentinel::operator-): ... here. Depend on
- _Base2 instead of _Base in the return type.
- * testsuite/std/ranges/adaptors/elements.cc (test06, test07):
- New tests.
-
-2021-05-17 Thomas Rodgers <rodgert@twrodgers.com>
-
- * include/bits/atomic_wait.h (__waiter::_M_do_wait_v): loop
- until value change observed.
- (__waiter_base::_M_laundered): New member.
- (__waiter_base::_M_notify): Check _M_laundered to determine
- whether to wake one or all.
- (__detail::__atomic_compare): Return true if call to
- __builtin_memcmp() == 0.
- (__waiter_base::_S_do_spin_v): Adjust predicate.
- * testsuite/29_atomics/atomic/wait_notify/100334.cc: New
- test.
-
-2021-05-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100630
- * include/experimental/bits/fs_path.h (__is_constructible_from):
- Test construction from a const lvalue, not an rvalue.
- * testsuite/27_io/filesystem/path/construct/100630.cc: New test.
- * testsuite/experimental/filesystem/path/construct/100630.cc:
- New test.
-
-2021-05-17 Antony Polukhin <antoshkka@gmail.com>
-
- PR libstdc++/89728
- * include/bits/locale_facets.h (ctype<basic_string<C,T,A>>):
- Declare (but do not define) partial specialization.
- * testsuite/22_locale/ctype/is/string/89728_neg.cc: New test.
-
-2021-05-17 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/thread (jthread::_S_create): Fix static assert
- message.
- * testsuite/30_threads/jthread/95989.cc: Re-enable test.
- * testsuite/30_threads/jthread/jthread.cc: Do not require
- pthread effective target.
- * testsuite/30_threads/jthread/2.cc: Moved to...
- * testsuite/30_threads/jthread/version.cc: ...here.
-
-2021-05-17 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/Makefile.am: Simplify doxygen recipes and use --latex_cmd.
- * doc/Makefile.in: Regenerate.
- * doc/doxygen/user.cfg.in (LATEX_CMD_NAME): Add placeholder
- value.
- * scripts/run_doxygen (print_usage): Always print to stdout and
- do not exit.
- (fail): New function for exiting on error.
- (parse_options): Handle --latex_cmd. Do not treat --help the
- same as errors. Simplify handling of required arguments.
-
-2021-05-12 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
- Increase dg-timeout-factor to 4. Fix -Wunused-parameter
- warnings. Replace bitwise AND with logical AND in loop
- condition.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
- Replace bitwise AND with logical AND in loop condition.
- * testsuite/util/pstl/test_utils.h: Remove unused parameter
- names.
-
-2021-05-11 Patrick Palka <ppalka@redhat.com>
-
- * src/c++17/ryu/LOCAL_PATCHES: Update.
- * src/c++17/ryu/ryu_generic_128.h: Remove extern "C".
- Remove declarations for never-defined functions.
- * testsuite/20_util/to_chars/4.cc: New test.
-
-2021-05-11 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/headers/memory/synopsis.cc: Define C++98
- alternative for macro.
- * testsuite/20_util/shared_ptr/creation/99006.cc: Add effective
- target keyword.
- * testsuite/25_algorithms/copy/debug/99402.cc: Avoid C++11
- syntax.
-
-2021-05-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/allocator.h (allocator<void>) [C++20]: Add
- missing noexcept to constructor. Restore missing POCMA and
- is_always_equal_traits.
- [C++17]: Make construct and destroy members private and
- declare allocator_traits as a friend.
- * include/bits/memoryfwd.h (allocator_traits): Declare.
- * include/ext/malloc_allocator.h (malloc_allocator::allocate):
- Add nodiscard attribute. Add static assertion for LWG 3307.
- * include/ext/new_allocator.h (new_allocator::allocate): Add
- static assertion for LWG 3307.
- * testsuite/20_util/allocator/void.cc: Check that converting
- constructor is noexcept. Check for propagation traits and
- size_type and difference_type. Check that pointer and
- const_pointer are gone in C++20.
-
-2021-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/stop_token: Remove TODO comment.
-
-2021-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)):
- Initialize a non-reference deleter from an rvalue, as per LWG
- 3548.
- (__shared_ptr::_UniqCompatible): Add missing constraint.
- * testsuite/20_util/shared_ptr/cons/lwg3548.cc: New test.
- * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Check
- constraints.
-
-2021-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/17_intro/headers/c++2017/all_attributes.cc: Remove
- -std=gnu++17 from dg-options directive.
- * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc:
- Likewise.
- * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc:
- Likewise.
- * testsuite/17_intro/headers/c++2017/operator_names.cc:
- Likewise.
- * testsuite/17_intro/headers/c++2017/parallel_mode.cc: Likewise.
- * testsuite/17_intro/headers/c++2017/stdc++.cc: Likewise.
- * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc:
- Likewise.
- * testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise.
- * testsuite/18_support/byte/81076.cc: Likewise.
- * testsuite/18_support/byte/global_neg.cc: Likewise.
- * testsuite/18_support/byte/ops.cc: Likewise.
- * testsuite/18_support/byte/requirements.cc: Likewise.
- * testsuite/18_support/headers/cfloat/values_c++17.cc: Likewise.
- * testsuite/18_support/launder/1.cc: Likewise.
- * testsuite/18_support/launder/nodiscard.cc: Likewise.
- * testsuite/18_support/launder/requirements.cc: Likewise.
- * testsuite/18_support/launder/requirements_neg.cc: Likewise.
- * testsuite/18_support/new_aligned.cc: Likewise.
- * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
- Likewise.
- * testsuite/19_diagnostics/error_code/is_error_code_v.cc:
- Likewise.
- * testsuite/19_diagnostics/error_condition/hash.cc: Likewise.
- * testsuite/20_util/addressof/requirements/constexpr.cc:
- Likewise.
- * testsuite/20_util/as_const/1.cc: Likewise.
- * testsuite/20_util/as_const/rvalue_neg.cc: Likewise.
- * testsuite/20_util/bind/83427.cc: Likewise.
- * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
- * testsuite/20_util/bool_constant/requirements.cc: Likewise.
- * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
- Likewise.
- * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
- Likewise.
- * testsuite/20_util/duration_cast/rounding.cc: Likewise.
- * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
- Likewise.
- * testsuite/20_util/from_chars/1_neg.cc: Likewise.
- * testsuite/20_util/from_chars/requirements.cc: Likewise.
- * testsuite/20_util/function/91456.cc: Likewise.
- * testsuite/20_util/function/cons/deduction.cc: Likewise.
- * testsuite/20_util/function_objects/83607.cc: Likewise.
- * testsuite/20_util/function_objects/invoke/59768.cc: Likewise.
- * testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise.
- * testsuite/20_util/function_objects/not_fn/1.cc: Likewise.
- * testsuite/20_util/function_objects/not_fn/87538.cc: Likewise.
- * testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc:
- Likewise.
- * testsuite/20_util/has_unique_object_representations/value.cc:
- Likewise.
- * testsuite/20_util/hash/nullptr.cc: Likewise.
- * testsuite/20_util/in_place/requirements.cc: Likewise.
- * testsuite/20_util/is_aggregate/incomplete_neg.cc: Likewise.
- * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/20_util/is_aggregate/requirements/typedefs.cc:
- Likewise.
- * testsuite/20_util/is_aggregate/value.cc: Likewise.
- * testsuite/20_util/is_invocable/83395.cc: Likewise.
- * testsuite/20_util/is_invocable/91456.cc: Likewise.
- * testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/20_util/is_invocable/requirements/typedefs.cc:
- Likewise.
- * testsuite/20_util/is_invocable/value.cc: Likewise.
- * testsuite/20_util/is_literal_type/deprecated-1z.cc: Likewise.
- * testsuite/20_util/is_nothrow_constructible/94003.cc: Likewise.
- * testsuite/20_util/is_nothrow_invocable/83395.cc: Likewise.
- * testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc: Likewise.
- * testsuite/20_util/is_nothrow_invocable/value.cc: Likewise.
- * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
- Likewise.
- * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
- * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
- Likewise.
- * testsuite/20_util/is_nothrow_swappable_with/value.cc:
- Likewise.
- * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/20_util/is_swappable/requirements/typedefs.cc:
- Likewise.
- * testsuite/20_util/is_swappable/value.cc: Likewise.
- * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/20_util/is_swappable_with/requirements/typedefs.cc:
- Likewise.
- * testsuite/20_util/is_swappable_with/value.cc: Likewise.
- * testsuite/20_util/logical_traits/83134.cc: Likewise.
- * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/20_util/logical_traits/requirements/typedefs.cc:
- Likewise.
- * testsuite/20_util/logical_traits/value.cc: Likewise.
- * testsuite/20_util/pair/cons/deduction.cc: Likewise.
- * testsuite/20_util/pair/swap_cxx17.cc: Likewise.
- * testsuite/20_util/ratio/requirements/ratio_equal_v.cc:
- Likewise.
- * testsuite/20_util/reference_wrapper/83427.cc: Likewise.
- * testsuite/20_util/reference_wrapper/deduction.cc: Likewise.
- * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise.
- * testsuite/20_util/shared_ptr/requirements/weak_type.cc:
- Likewise.
- * testsuite/20_util/time_point/arithmetic/constexpr.cc:
- Likewise.
- * testsuite/20_util/time_point_cast/rounding.cc: Likewise.
- * testsuite/20_util/to_chars/3.cc: Likewise.
- * testsuite/20_util/to_chars/chars_format.cc: Likewise.
- * testsuite/20_util/to_chars/lwg3266.cc: Likewise.
- * testsuite/20_util/to_chars/requirements.cc: Likewise.
- * testsuite/20_util/tuple/78939.cc: Likewise.
- * testsuite/20_util/tuple/apply/1.cc: Likewise.
- * testsuite/20_util/tuple/apply/2.cc: Likewise.
- * testsuite/20_util/tuple/cons/deduction.cc: Likewise.
- * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
- * testsuite/20_util/tuple/make_from_tuple/2.cc: Likewise.
- * testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
- * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
- * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise.
- * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
- Likewise.
- * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
- * testsuite/20_util/void_t/1.cc: Likewise.
- * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise.
- * testsuite/24_iterators/container_access.cc: Likewise.
- * testsuite/24_iterators/headers/iterator/range_access_c++17.cc:
- Likewise.
- * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc:
- Likewise.
- * testsuite/24_iterators/range_access/range_access_cpp17.cc:
- Likewise.
- * testsuite/24_iterators/range_access/range_access_cpp17_neg.cc:
- Likewise.
- * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
- * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc:
- Likewise.
- * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
- * testsuite/26_numerics/headers/cmath/special_functions_global.cc:
- Likewise.
- * testsuite/26_numerics/lcm/1.cc: Likewise.
- * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
- * testsuite/26_numerics/valarray/deduction.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc:
- Likewise.
- * testsuite/27_io/manipulators/standard/char/quoted_sv.cc:
- Likewise.
- * testsuite/27_io/manipulators/standard/wchar_t/quoted_sv.cc:
- Likewise.
- * testsuite/27_io/types/4.cc: Likewise.
- * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise.
- * testsuite/libstdc++-prettyprinters/91997.cc: Likewise.
- * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
-
-2021-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/function_objects/searchers.cc: Remove
- -std=gnu++17 from dg-options directive.
- * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
- Likewise.
- * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
- Likewise.
- * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc:
- Likewise.
- * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94831.cc:
- Likewise.
- * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc:
- Likewise.
- * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
- Likewise.
- * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
- Likewise.
- * testsuite/25_algorithms/clamp/1.cc: Likewise.
- * testsuite/25_algorithms/clamp/2.cc: Likewise.
- * testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
- * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc:
- Likewise.
- * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/for_each/for_each_n.cc: Likewise.
- * testsuite/25_algorithms/for_each/for_each_n_debug.cc:
- Likewise.
- * testsuite/25_algorithms/sample/1.cc: Likewise.
- * testsuite/25_algorithms/sample/2.cc: Likewise.
- * testsuite/25_algorithms/sample/3.cc: Likewise.
- * testsuite/25_algorithms/sample/81221.cc: Likewise.
- * testsuite/25_algorithms/search/searcher.cc: Likewise.
- * testsuite/26_numerics/exclusive_scan/1.cc: Likewise.
- * testsuite/26_numerics/inclusive_scan/1.cc: Likewise.
- * testsuite/26_numerics/reduce/1.cc: Likewise.
- * testsuite/26_numerics/reduce/2.cc: Likewise.
- * testsuite/26_numerics/transform_exclusive_scan/1.cc: Likewise.
- * testsuite/26_numerics/transform_inclusive_scan/1.cc: Likewise.
- * testsuite/26_numerics/transform_reduce/1.cc: Likewise.
-
-2021-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/23_containers/array/cons/deduction.cc: Remove
- -std=gnu++17 from dg-options directive.
- * testsuite/23_containers/array/cons/deduction_neg.cc: Likewise.
- * testsuite/23_containers/array/element_access/constexpr_c++17.cc:
- Likewise.
- * testsuite/23_containers/array/requirements/constexpr_iter.cc:
- Likewise.
- * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
- Likewise.
- * testsuite/23_containers/deque/cons/deduction.cc: Likewise.
- * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
- Likewise.
- * testsuite/23_containers/forward_list/cons/deduction.cc:
- Likewise.
- * testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc:
- Likewise.
- * testsuite/23_containers/list/cons/deduction.cc: Likewise.
- * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc:
- Likewise.
- * testsuite/23_containers/map/cons/deduction.cc: Likewise.
- * testsuite/23_containers/map/modifiers/extract.cc: Likewise.
- * testsuite/23_containers/map/modifiers/insert/83226.cc:
- Likewise.
- * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
- Likewise.
- * testsuite/23_containers/map/modifiers/merge.cc: Likewise.
- * testsuite/23_containers/map/modifiers/try_emplace/1.cc:
- Likewise.
- * testsuite/23_containers/multimap/cons/deduction.cc: Likewise.
- * testsuite/23_containers/multimap/modifiers/extract.cc:
- Likewise.
- * testsuite/23_containers/multimap/modifiers/merge.cc: Likewise.
- * testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
- * testsuite/23_containers/multiset/modifiers/extract.cc:
- Likewise.
- * testsuite/23_containers/multiset/modifiers/merge.cc: Likewise.
- * testsuite/23_containers/priority_queue/deduction.cc: Likewise.
- * testsuite/23_containers/queue/deduction.cc: Likewise.
- * testsuite/23_containers/queue/members/emplace_cxx17_return.cc:
- Likewise.
- * testsuite/23_containers/set/cons/deduction.cc: Likewise.
- * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
- * testsuite/23_containers/set/modifiers/merge.cc: Likewise.
- * testsuite/23_containers/set/modifiers/node_swap.cc: Likewise.
- * testsuite/23_containers/stack/deduction.cc: Likewise.
- * testsuite/23_containers/stack/members/emplace_cxx17_return.cc:
- Likewise.
- * testsuite/23_containers/unordered_map/cons/deduction.cc:
- Likewise.
- * testsuite/23_containers/unordered_map/modifiers/extract.cc:
- Likewise.
- * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
- Likewise.
- * testsuite/23_containers/unordered_map/modifiers/merge.cc:
- Likewise.
- * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
- Likewise.
- * testsuite/23_containers/unordered_multimap/cons/deduction.cc:
- Likewise.
- * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
- Likewise.
- * testsuite/23_containers/unordered_multimap/modifiers/merge.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/cons/deduction.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/modifiers/merge.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/cons/deduction.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/modifiers/extract.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/modifiers/merge.cc:
- Likewise.
- * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc:
- Likewise.
- * testsuite/23_containers/vector/cons/89164_c++17.cc: Likewise.
- * testsuite/23_containers/vector/cons/deduction.cc: Likewise.
- * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
- Likewise.
-
-2021-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/21_strings/basic_string/79162.cc: Remove
- -std=gnu++17 from dg-options directive.
- * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
- * testsuite/21_strings/basic_string/cons/char/79162.cc:
- Likewise.
- * testsuite/21_strings/basic_string/cons/char/86138.cc:
- Likewise.
- * testsuite/21_strings/basic_string/cons/char/9.cc: Likewise.
- * testsuite/21_strings/basic_string/cons/char/deduction.cc:
- Likewise.
- * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc:
- Likewise.
- * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
- * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc:
- Likewise.
- * testsuite/21_strings/basic_string/cons/wchar_t/86138.cc:
- Likewise.
- * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise.
- * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
- Likewise.
- * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc:
- Likewise.
- * testsuite/21_strings/basic_string/hash/hash.cc: Likewise.
- * testsuite/21_strings/basic_string/lwg2758.cc: Likewise.
- * testsuite/21_strings/basic_string/lwg2946.cc: Likewise.
- * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
- Likewise.
- * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
- Likewise.
- * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
- Likewise.
- * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
- Likewise.
- * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
- Likewise.
- * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
- Likewise.
- * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
- Likewise.
- * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
- Likewise.
- * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string/operations/data/char/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string/operations/data/char/86169.cc:
- Likewise.
- * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string/operations/find/char/5.cc:
- Likewise.
- * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
- Likewise.
- * testsuite/21_strings/basic_string/operators/char/5.cc:
- Likewise.
- * testsuite/21_strings/basic_string/operators/wchar_t/5.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/capacity/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/capacity/empty_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/cons/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/cons/char/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/cons/char/3.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/char/constexpr.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/char/front_back_constexpr.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/include.cc: Likewise.
- * testsuite/21_strings/basic_string_view/inserters/94051.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/inserters/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/inserters/char/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/inserters/char/3.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/literals/types.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/literals/values-char8_t.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/literals/values.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/copy/char/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/substr/char/83511.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/83511.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operators/char/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operators/char/89446.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/requirements/traits_neg.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
- * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
- * testsuite/21_strings/char_traits/requirements/char/99181.cc:
- Likewise.
- * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
-
-2021-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/memory_resource/1.cc: Remove -std=gnu++17
- from dg-options directive.
- * testsuite/20_util/memory_resource/2.cc: Likewise.
- * testsuite/20_util/monotonic_buffer_resource/1.cc: Likewise.
- * testsuite/20_util/monotonic_buffer_resource/93208.cc:
- Likewise.
- * testsuite/20_util/monotonic_buffer_resource/allocate.cc:
- Likewise.
- * testsuite/20_util/monotonic_buffer_resource/deallocate.cc:
- Likewise.
- * testsuite/20_util/monotonic_buffer_resource/release.cc:
- Likewise.
- * testsuite/20_util/monotonic_buffer_resource/upstream_resource.cc:
- Likewise.
- * testsuite/20_util/polymorphic_allocator/1.cc: Likewise.
- * testsuite/20_util/polymorphic_allocator/construct_pair.cc:
- Likewise.
- * testsuite/20_util/polymorphic_allocator/resource.cc: Likewise.
- * testsuite/20_util/polymorphic_allocator/select.cc: Likewise.
- * testsuite/20_util/synchronized_pool_resource/allocate.cc:
- Likewise.
- * testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
- Likewise.
- * testsuite/20_util/synchronized_pool_resource/cons.cc:
- Likewise.
- * testsuite/20_util/synchronized_pool_resource/cons_single.cc:
- Likewise.
- * testsuite/20_util/synchronized_pool_resource/is_equal.cc:
- Likewise.
- * testsuite/20_util/synchronized_pool_resource/multithreaded.cc:
- Likewise.
- * testsuite/20_util/synchronized_pool_resource/options.cc:
- Likewise.
- * testsuite/20_util/synchronized_pool_resource/release.cc:
- Likewise.
- * testsuite/20_util/synchronized_pool_resource/release_single.cc:
- Likewise.
- * testsuite/20_util/unsynchronized_pool_resource/allocate-max-chunks.cc:
- Likewise.
- * testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
- Likewise.
- * testsuite/20_util/unsynchronized_pool_resource/cons.cc:
- Likewise.
- * testsuite/20_util/unsynchronized_pool_resource/is_equal.cc:
- Likewise.
- * testsuite/20_util/unsynchronized_pool_resource/options.cc:
- Likewise.
- * testsuite/20_util/unsynchronized_pool_resource/release.cc:
- Likewise.
- * testsuite/21_strings/basic_string/types/pmr_typedefs.cc:
- Likewise.
- * testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise.
- * testsuite/23_containers/deque/types/pmr_typedefs_debug.cc:
- Likewise.
- * testsuite/23_containers/forward_list/pmr_typedefs.cc:
- Likewise.
- * testsuite/23_containers/forward_list/pmr_typedefs_debug.cc:
- Likewise.
- * testsuite/23_containers/list/pmr_typedefs.cc: Likewise.
- * testsuite/23_containers/list/pmr_typedefs_debug.cc: Likewise.
- * testsuite/23_containers/map/pmr_typedefs.cc: Likewise.
- * testsuite/23_containers/map/pmr_typedefs_debug.cc: Likewise.
- * testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise.
- * testsuite/23_containers/multimap/pmr_typedefs_debug.cc:
- Likewise.
- * testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise.
- * testsuite/23_containers/multiset/pmr_typedefs_debug.cc:
- Likewise.
- * testsuite/23_containers/set/pmr_typedefs.cc: Likewise.
- * testsuite/23_containers/set/pmr_typedefs_debug.cc: Likewise.
- * testsuite/23_containers/unordered_map/pmr_typedefs.cc:
- Likewise.
- * testsuite/23_containers/unordered_map/pmr_typedefs_debug.cc:
- Likewise.
- * testsuite/23_containers/unordered_multimap/pmr_typedefs.cc:
- Likewise.
- * testsuite/23_containers/unordered_multimap/pmr_typedefs_debug.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/pmr_typedefs.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/pmr_typedefs_debug.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/pmr_typedefs.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/pmr_typedefs_debug.cc:
- Likewise.
- * testsuite/23_containers/vector/pmr_typedefs.cc: Likewise.
- * testsuite/23_containers/vector/types/pmr_typedefs_debug.cc:
- Likewise.
- * testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise.
-
-2021-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/29_atomics/atomic/69769.cc: Remove -std=gnu++17 from
- dg-options.
- * testsuite/29_atomics/atomic/is_always_lock_free.cc:
- * testsuite/29_atomics/atomic/requirements/typedefs.cc:
- * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc:
- * testsuite/29_atomics/atomic_integral/requirements/typedefs.cc:
- * testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise.
- * testsuite/30_threads/scoped_lock/cons/1.cc: Likewise.
- * testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise.
- * testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
- Likewise.
- * testsuite/30_threads/shared_lock/70766.cc: Likewise.
- * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/shared_mutex/cons/assign_neg.cc:
- Likewise.
- * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Likewise.
- * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
- Likewise.
- * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise.
-
-2021-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/any/assign/1.cc: Remove -std=gnu++17 from
- dg-options directive.
- * testsuite/20_util/any/assign/2.cc: Likewise.
- * testsuite/20_util/any/assign/emplace.cc: Likewise.
- * testsuite/20_util/any/assign/exception.cc: Likewise.
- * testsuite/20_util/any/assign/self.cc: Likewise.
- * testsuite/20_util/any/cons/1.cc: Likewise.
- * testsuite/20_util/any/cons/2.cc: Likewise.
- * testsuite/20_util/any/cons/90415.cc: Likewise.
- * testsuite/20_util/any/cons/92156.cc: Likewise.
- * testsuite/20_util/any/cons/aligned.cc: Likewise.
- * testsuite/20_util/any/cons/explicit.cc: Likewise.
- * testsuite/20_util/any/cons/in_place.cc: Likewise.
- * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
- * testsuite/20_util/any/make_any.cc: Likewise.
- * testsuite/20_util/any/misc/any_cast.cc: Likewise.
- * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
- * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
- * testsuite/20_util/any/misc/swap.cc: Likewise.
- * testsuite/20_util/any/modifiers/1.cc: Likewise.
- * testsuite/20_util/any/modifiers/83658.cc: Likewise.
- * testsuite/20_util/any/modifiers/92156.cc: Likewise.
- * testsuite/20_util/any/observers/type.cc: Likewise.
- * testsuite/20_util/any/requirements.cc: Likewise.
- * testsuite/20_util/any/typedefs.cc: Likewise.
- * testsuite/20_util/optional/77288.cc: Likewise.
- * testsuite/20_util/optional/84601.cc: Likewise.
- * testsuite/20_util/optional/assignment/1.cc: Likewise.
- * testsuite/20_util/optional/assignment/2.cc: Likewise.
- * testsuite/20_util/optional/assignment/3.cc: Likewise.
- * testsuite/20_util/optional/assignment/4.cc: Likewise.
- * testsuite/20_util/optional/assignment/5.cc: Likewise.
- * testsuite/20_util/optional/assignment/6.cc: Likewise.
- * testsuite/20_util/optional/assignment/7.cc: Likewise.
- * testsuite/20_util/optional/assignment/8.cc: Likewise.
- * testsuite/20_util/optional/assignment/9.cc: Likewise.
- * testsuite/20_util/optional/bad_access.cc: Likewise.
- * testsuite/20_util/optional/cons/77727.cc: Likewise.
- * testsuite/20_util/optional/cons/85642.cc: Likewise.
- * testsuite/20_util/optional/cons/copy.cc: Likewise.
- * testsuite/20_util/optional/cons/deduction.cc: Likewise.
- * testsuite/20_util/optional/cons/default.cc: Likewise.
- * testsuite/20_util/optional/cons/move.cc: Likewise.
- * testsuite/20_util/optional/cons/trivial.cc: Likewise.
- * testsuite/20_util/optional/cons/value.cc: Likewise.
- * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
- * testsuite/20_util/optional/constexpr/cons/default.cc:
- Likewise.
- * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
- * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
- * testsuite/20_util/optional/constexpr/make_optional.cc:
- Likewise.
- * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
- * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
- * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
- * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
- * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
- * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
- * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
- * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
- * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
- * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
- * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
- * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
- * testsuite/20_util/optional/hash.cc: Likewise.
- * testsuite/20_util/optional/in_place.cc: Likewise.
- * testsuite/20_util/optional/make_optional.cc: Likewise.
- * testsuite/20_util/optional/nullopt.cc: Likewise.
- * testsuite/20_util/optional/observers/1.cc: Likewise.
- * testsuite/20_util/optional/observers/2.cc: Likewise.
- * testsuite/20_util/optional/observers/3.cc: Likewise.
- * testsuite/20_util/optional/observers/4.cc: Likewise.
- * testsuite/20_util/optional/observers/5.cc: Likewise.
- * testsuite/20_util/optional/observers/6.cc: Likewise.
- * testsuite/20_util/optional/relops/1.cc: Likewise.
- * testsuite/20_util/optional/relops/2.cc: Likewise.
- * testsuite/20_util/optional/relops/3.cc: Likewise.
- * testsuite/20_util/optional/relops/4.cc: Likewise.
- * testsuite/20_util/optional/relops/5.cc: Likewise.
- * testsuite/20_util/optional/relops/6.cc: Likewise.
- * testsuite/20_util/optional/relops/7.cc: Likewise.
- * testsuite/20_util/optional/requirements.cc: Likewise.
- * testsuite/20_util/optional/swap/1.cc: Likewise.
- * testsuite/20_util/optional/swap/2.cc: Likewise.
- * testsuite/20_util/optional/typedefs.cc: Likewise.
- * testsuite/20_util/variant/80165.cc: Likewise.
- * testsuite/20_util/variant/85183.cc: Likewise.
- * testsuite/20_util/variant/86874.cc: Likewise.
- * testsuite/20_util/variant/87431.cc: Likewise.
- * testsuite/20_util/variant/87619.cc: Likewise.
- * testsuite/20_util/variant/91807.cc: Likewise.
- * testsuite/20_util/variant/any.cc: Likewise.
- * testsuite/20_util/variant/compile.cc: Likewise.
- * testsuite/20_util/variant/deduction.cc: Likewise.
- * testsuite/20_util/variant/exception_safety.cc: Likewise.
- * testsuite/20_util/variant/hash.cc: Likewise.
- * testsuite/20_util/variant/index_type.cc: Likewise.
- * testsuite/20_util/variant/relops/89851.cc: Likewise.
- * testsuite/20_util/variant/relops/90008.cc: Likewise.
- * testsuite/20_util/variant/run.cc: Likewise.
- * testsuite/20_util/variant/visit.cc: Likewise.
-
-2021-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/27_io/basic_filebuf/open/char/path.cc: Remove
- -std=gnu++17 from dg-options directive.
- * 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/cons/char/path.cc: Likewise.
- * testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise.
- * testsuite/27_io/basic_ofstream/cons/char/path.cc: Likewise.
- * testsuite/27_io/basic_ofstream/open/char/path.cc: Likewise.
- * testsuite/27_io/filesystem/directory_entry/86597.cc: Likewise.
- * testsuite/27_io/filesystem/directory_entry/lwg3171.cc:
- Likewise.
- * testsuite/27_io/filesystem/file_status/1.cc: Likewise.
- * testsuite/27_io/filesystem/filesystem_error/cons.cc: Likewise.
- * testsuite/27_io/filesystem/filesystem_error/copy.cc: Likewise.
- * testsuite/27_io/filesystem/iterators/91067.cc: Likewise.
- * testsuite/27_io/filesystem/iterators/caching.cc: Likewise.
- * testsuite/27_io/filesystem/iterators/directory_iterator.cc:
- Likewise.
- * testsuite/27_io/filesystem/iterators/pop.cc: Likewise.
- * testsuite/27_io/filesystem/iterators/recursion_pending.cc:
- Likewise.
- * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/absolute.cc: Likewise.
- * testsuite/27_io/filesystem/operations/all.cc: Likewise.
- * testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
- * testsuite/27_io/filesystem/operations/copy.cc: Likewise.
- * testsuite/27_io/filesystem/operations/copy_file.cc: Likewise.
- * testsuite/27_io/filesystem/operations/create_directories.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/create_directory.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/create_symlink.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/current_path.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/equivalent.cc: Likewise.
- * testsuite/27_io/filesystem/operations/exists.cc: Likewise.
- * testsuite/27_io/filesystem/operations/file_size.cc: Likewise.
- * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
- * testsuite/27_io/filesystem/operations/last_write_time.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/permissions.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/proximate.cc: Likewise.
- * testsuite/27_io/filesystem/operations/read_symlink.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/relative.cc: Likewise.
- * testsuite/27_io/filesystem/operations/remove.cc: Likewise.
- * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
- * testsuite/27_io/filesystem/operations/rename.cc: Likewise.
- * testsuite/27_io/filesystem/operations/resize_file.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/space.cc: Likewise.
- * testsuite/27_io/filesystem/operations/status.cc: Likewise.
- * testsuite/27_io/filesystem/operations/symlink_status.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/temp_directory_path.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/weakly_canonical.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/append/path.cc: Likewise.
- * testsuite/27_io/filesystem/path/append/source.cc: Likewise.
- * testsuite/27_io/filesystem/path/assign/assign.cc: Likewise.
- * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
- * testsuite/27_io/filesystem/path/compare/compare.cc: Likewise.
- * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
- * testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
- * testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
- * testsuite/27_io/filesystem/path/concat/92853.cc: Likewise.
- * testsuite/27_io/filesystem/path/concat/94063.cc: Likewise.
- * testsuite/27_io/filesystem/path/concat/path.cc: Likewise.
- * testsuite/27_io/filesystem/path/concat/strings.cc: Likewise.
- * testsuite/27_io/filesystem/path/construct/80762.cc: Likewise.
- * testsuite/27_io/filesystem/path/construct/90281.cc: Likewise.
- * testsuite/27_io/filesystem/path/construct/90634.cc: Likewise.
- * testsuite/27_io/filesystem/path/construct/copy.cc: Likewise.
- * testsuite/27_io/filesystem/path/construct/default.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/construct/format.cc: Likewise.
- * testsuite/27_io/filesystem/path/construct/locale.cc: Likewise.
- * testsuite/27_io/filesystem/path/construct/range.cc: Likewise.
- * testsuite/27_io/filesystem/path/construct/string_view.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/decompose/extension.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/decompose/filename.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/decompose/parent_path.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/decompose/relative_path.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/decompose/root_directory.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/decompose/root_name.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/decompose/root_path.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise.
- * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
- * testsuite/27_io/filesystem/path/generation/normal.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/generation/normal2.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/generation/proximate.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/generation/relative.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/generic/94242.cc: Likewise.
- * testsuite/27_io/filesystem/path/generic/generic_string.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/generic/utf.cc: Likewise.
- * testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise.
- * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise.
- * testsuite/27_io/filesystem/path/itr/components.cc: Likewise.
- * testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise.
- * testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise.
- * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise.
- * testsuite/27_io/filesystem/path/native/alloc.cc: Likewise.
- * testsuite/27_io/filesystem/path/native/string-char8_t.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
- * testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise.
- * testsuite/27_io/filesystem/path/nonmember/cmp.cc: Likewise.
- * testsuite/27_io/filesystem/path/nonmember/hash_value.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
- * testsuite/27_io/filesystem/path/query/empty_neg.cc:
- * testsuite/27_io/filesystem/path/query/has_extension.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/query/has_filename.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/query/has_parent_path.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/query/has_relative_path.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/query/has_root_name.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/query/has_root_path.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
- * testsuite/27_io/filesystem/path/query/is_absolute.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/query/is_relative.cc:
- Likewise.
- * testsuite/experimental/filesystem/path/construct/string_view.cc:
- Likewise.
-
-2021-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
- Remove -std=gnu++17 from dg-options.
- * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
- Likewise.
- * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.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/partial_sort.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/sort.cc: Likewise.
- * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise.
- * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
- * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise.
- * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
- * testsuite/25_algorithms/pstl/feature_test.cc: Likewise.
- * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
- Likewise.
- * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: Likewise.
- * testsuite/26_numerics/pstl/numeric_ops/scan.cc: Likewise.
- * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
- Likewise.
- * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc:
- Likewise.
-
-2021-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/scoped_allocator/69293_neg.cc: Add dg-error
- for additional errors in C++20.
- * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
- Likewise.
- * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
- * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise.
-
-2021-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/variant/compile.cc: Rename 'any' to avoid
- clash with std::any.
-
-2021-05-07 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/istream (__rvalue_stream_extraction_t): Replace
- use of __rval_streamable.
- * include/std/ostream (__rvalue_stream_insertion_t): Likewise.
- (__rval_streamable): Remove.
- (_Require_derived_from_ios_base, __derived_from_ios_base): New
- helper for checking constraints.
- * testsuite/27_io/basic_istream/extractors_other/char/4.cc: Fix
- reference to the wrong subclause of the standard.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/6.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/99692.cc:
- New test.
- * testsuite/27_io/filesystem/path/io/dr2989.cc: Adjust pruned
- errors.
-
-2021-05-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_algobase.h (__copy_move, __copy_move_backward):
- Improve static_assert messages.
- * testsuite/25_algorithms/copy/58982.cc: Adjust expected output.
- * testsuite/25_algorithms/copy_n/58982.cc: Likewise.
-
-2021-05-06 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (filter_view::_Iterator::base): Make the
- const& overload unconstrained and return a const reference as
- per LWG 3533. Make unconditionally noexcept.
- (transform_view::_Iterator::base): Likewise.
- (elements_view::_Iterator::base): Likewise.
-
-2021-05-06 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/stl_iterator.h (move_iterator::base): Make the
- const& overload unconstrained and return a const reference as
- per LWG 3391. Make unconditionally noexcept.
- (counted_iterator::base): Likewise.
- * testsuite/24_iterators/move_iterator/lwg3391.cc: New test.
- * testsuite/24_iterators/move_iterator/move_only.cc: Adjust
- has_member_base concept to decay-copy the result of base().
-
-2021-05-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (remove_cvref_t): Define in terms of
- remove_cvref.
- * testsuite/20_util/remove_cvref/value.cc: Check alias.
-
-2021-05-06 Jonathan Wakely <jwakely@redhat.com>
-
- Revert:
- 2021-05-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/charconv (__from_chars_alnum): Pass unsigned
- char to std::isdigit.
-
-2021-05-05 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/ranges_util.h (enable_borrowed_range<subrange>):
- Remove constraints on this partial specialization.
- * include/std/ranges (enable_borrowed_range<iota_view>):
- Likewise.
-
-2021-05-05 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (transform_view::_Iterator::iter_swap):
- Remove as per LWG 3520.
- (join_view::_Iterator::iter_swap): Add indirectly_swappable
- constraint as per LWG 3517.
-
-2021-05-05 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/function_objects/invoke/3.cc: Check feature
- test macro.
- * testsuite/20_util/function_objects/invoke/version.cc: New test.
-
-2021-05-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/charconv (__from_chars_alnum): Pass unsigned
- char to std::isdigit.
-
-2021-05-05 Corentin Gay <gay@adacore.com>
-
- * acinclude.m4: Add VxWorks-specific case for the
- configuration of ctypes.
- * configure: Regenerate.
- * config/locale/vxworks/ctype_members.cc: Add VxWorks-specific
- version.
- * config/os/vxworks/ctype_base.h: Adjust for VxWorks7+.
- * config/os/vxworks/ctype_configure_char.cc: Likewise.
- * config/os/vxworks/ctype_inline.h: Likewise.
- * testsuite/28_regex/traits/char/isctype.cc: Defines
- NEWLINE_IN_CLASS_BLANK if the target is VxWorks.
- * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
-
-2021-05-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/future (promise::set_value): Check for existence
- of shared state before dereferncing it.
- (promise::set_exception, promise::set_value_at_thread_exit)
- (promise::set_exception_at_thread_exit): Likewise.
- (promise<R&>::set_value, promise<R&>::set_exception)
- (promise<R&>::set_value_at_thread_exit)
- (promise<R&>::set_exception_at_thread_exit): Likewise.
- (promise<void>::set_value, promise<void>::set_exception)
- (promise<void>::set_value_at_thread_exit)
- (promise<void>::set_exception_at_thread_exit): Likewise.
- * testsuite/30_threads/promise/members/at_thread_exit2.cc:
- Remove unused variable.
-
-2021-05-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/basic_string.h (basic_string(const CharT*, const A&)):
- Do not do arithmetic on null pointer.
-
-2021-05-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
- (find_key_pointer(key_const_reference, false_type))
- (find_key_pointer(key_const_reference, true_type)): Do not
- dereference null pointer.
-
-2021-05-04 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/from_chars/3.cc: Use unsigned type to avoid
- overflow.
- * testsuite/24_iterators/reverse_iterator/2.cc: Do not add
- non-zero value to null pointer.
- * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc:
- Use past-the-end iterator for result.
- * testsuite/25_algorithms/move_backward/69478.cc: Likewise.
- * testsuite/25_algorithms/move_backward/93872.cc: Likewise.
-
-2021-05-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100384
- * include/std/variant (__get_t): New alias template yielding the
- return type of std::get<N> on a variant.
- (__visit_result_t): New alias template yielding the result of
- std::visit.
- (__same_types): Move into namespace __detail::__variant.
- (__check_visitor_results): Likewise. Use __invoke_result_t and
- __get_t.
- (__check_visitor_result): Remove.
- (visit): Use __visit_result_t for return type.
- * testsuite/20_util/variant/100384.cc: New test.
-
-2021-05-04 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_INT128_FLOAT128): Remove
- checks for __int128 and rename to GLIBCXX_ENABLE_FLOAT128.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * configure.ac: Adjust to use GLIBCXX_ENABLE_FLOAT128.
- * include/bits/random.h (_Select_uint_least_t<s, 1>):
- Use __SIZEOF_INT128__ to decide whether to use __int128.
- * include/std/charconv (__to_chars_unsigned_type): Likewise.
-
-2021-05-03 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/ctype.xml: Move unix.org reference to https.
- * doc/html/manual/facets.html: Regenerate.
-
-2021-04-30 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (__detail::__non_propating_cache): Define
- as per P2328.
- (join_view): Remove constraints on the value and reference types
- of the wrapped iterator type as per P2328.
- (join_view::_Iterator::_M_satisfy): Adjust as per P2328.
- (join_view::_Iterator::operator++): Likewise.
- (join_view::_M_inner): Use __non_propating_cache as per P2328.
- Remove now-redundant use of __maybe_present_t.
- * testsuite/std/ranges/adaptors/join.cc: Include <array>.
- (test10): New test.
-
-2021-04-30 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/basic_string.h (__cpp_lib_constexpr_string):
- Only define for C++17 and later.
- * include/std/version (__cpp_lib_semaphore): Fix condition
- to match the one in <semaphore>.
-
-2021-04-30 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_CHECK_INT64_T): Delete.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * configure.ac: Do not use GLIBCXX_CHECK_INT64_T.
- * include/bits/postypes.h: Remove include of <stdint.h> and
- definition/undefinition of the __STDC_LIMIT_MACROS and
- __STDC_CONSTANT_MACROS macros.
- (streamoff): Use __INT64_TYPE__ if defined.
-
-2021-04-30 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (split_view::_InnerIter::operator++):
- Depend on _Base instead of _Vp directly, as per LWG 3532.
-
-2021-04-30 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/ranges_util.h (subrange::subrange): Avoid
- list-initialization in delegating constructor.
- * include/std/ranges (single_view): Replace implicit guide
- with explicit deduction guide that decays its argument.
- (_Single::operator()): Avoid CTAD when constructing the
- single_view object.
- (_Iota::operator()): Avoid list-initialization.
- (__detail::__can_filter_view, _Filter::operator()): Likewise.
- (__detail::__can_transform_view, _Transform::operator()): Likewise.
- (take_view::begin): Likewise.
- (__detail::__can_take_view, _Take::operator()): Likewise.
- (__detail::__can_take_while_view, _TakeWhile::operator()): Likewise.
- (__detail::__can_drop_view, _Drop::operator()): Likewise.
- (__detail::__can_drop_while_view, _DropWhile::operator()): Likewise.
- (split_view::split_view): Use views::single when initializing
- _M_pattern.
- (__detail::__can_split_view, _Split::operator()): Avoid
- list-initialization.
- (_Counted::operator()): Likewise.
- * testsuite/std/ranges/p2367.cc: New test.
-
-2021-04-30 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/60497
- * include/bits/basic_ios.tcc (basic_ios::copyfmt): use
- std::addressof.
- * include/bits/basic_string.tcc (basic_string::swap)
- (basic_string::assign): Likewise.
- * include/bits/deque.tcc (deque::operator=(const deque&)):
- Likewise.
- * include/bits/stl_tree.h (_Rb_tree::operator=(const * _Rb_tree&)):
- Likewise.
- * include/bits/vector.tcc (vector::operator=(const vector&)):
- Likewise.
-
-2021-04-30 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/istream (operator>>(Istream&&, x&)): Simplify, as
- per LWG 1203.
- * include/std/ostream (operator<<(Ostream&&, const x&)):
- Likewise.
- * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
- Adjust dg-error pattern.
- * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_other/char/4.cc: Define
- is_extractable trait to replace std::__is_extractable. Make it
- work with rvalue streams as well as lvalues, to replace f() and
- g() helper functions.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/6.cc:
- Define is_insertable trait to replace std::__is_insertable. Make
- it work with rvalue streams as well as lvalues, to replace f()
- and g() helper functions.
- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/io/dr2989.cc: Prune additional
- errors from new constraints.
- * testsuite/27_io/rvalue_streams-2.cc: Remove PR 80675 checks,
- which are no longer expected to compile.
- * testsuite/27_io/rvalue_streams.cc: Adjust existing test.
- Verify LWG 1203 changes.
-
-2021-04-30 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100285
- * include/experimental/socket (__basic_socket_impl::set_option)
- (__basic_socket_impl::get_option) [!_GLIBCXX_HAVE_SYS_SOCKET_H]:
- Just set error code.
- * testsuite/experimental/net/socket/socket_base.cc: CHeck
- for <sys/socket.h> not <socket.h>.
-
-2021-04-30 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100180
- PR libstdc++/100286
- PR libstdc++/100351
- * testsuite/experimental/net/internet/address/v4/comparisons.cc:
- Use new effective-target keyword.
- * testsuite/experimental/net/internet/address/v4/cons.cc:
- Likewise.
- * testsuite/experimental/net/internet/address/v4/creation.cc:
- Likewise.
- * testsuite/experimental/net/internet/address/v4/members.cc:
- Likewise.
- * testsuite/experimental/net/internet/address/v6/members.cc:
- Likewise.
- * testsuite/experimental/net/internet/resolver/base.cc:
- Likewise.
- * testsuite/experimental/net/internet/resolver/ops/lookup.cc:
- Likewise.
- * testsuite/experimental/net/internet/resolver/ops/reverse.cc:
- Likewise.
- * testsuite/experimental/net/internet/socket/opt.cc:
- Likewise.
- * testsuite/experimental/net/internet/tcp.cc:
- Likewise.
- * testsuite/experimental/net/internet/udp.cc:
- Likewise.
- * testsuite/lib/libstdc++.exp (check_effective_target_net_ts_ip):
- New proc to check net_ts_ip et.
-
-2021-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/97930
- * testsuite/20_util/pair/requirements/structural.cc: New test.
-
-2021-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_pair.h (pair) [__cplusplus > 202002]: Add
- new definitions for constructors and assignment operators using
- concepts for constraints.
- * testsuite/20_util/pair/cons/99957.cc: Disable for C++20 and
- later.
- * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust
- expected error messages to also match C++20 errors.
-
-2021-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99957
- * include/bits/stl_pair.h (_PCC::_MoveCopyPair, _PCC::_CopyMovePair):
- Combine and replace with ...
- (_PCC::_DeprConsPair): New SFINAE helper function.
- (pair): Merge preprocessor blocks so that all C++03 members
- are defined together at the end.
- (pair::pair(const _T1&, _U2&&), pair::pair(_U1&&, const _T2&)):
- Replace _T1 and _T2 parameters with __null_ptr_constant and
- adjust constraints.
- * testsuite/20_util/pair/40925.cc: Use nullptr instead of 0.
- * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
- * testsuite/20_util/pair/cons/99957.cc: New test.
-
-2021-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/basic_string.h (__cpp_lib_constexpr_string): Define.
- * include/std/version (__cpp_lib_constexpr_string): Define.
- * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
- Check for __cpp_lib_constexpr_string.
- * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
- Likewise.
- * testsuite/21_strings/char_traits/requirements/version.cc: New test.
-
-2021-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/Makefile.am (stamp-pdf-doxygen): Improve comment about
- dealing with errors. Use '@' to prevent shell command being
- echoed.
- * doc/Makefile.in: Regenerate.
-
-2021-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100298
- * include/bits/std_thread.h (thread::hardware_concurrency): Add
- missing noexcept to inline definition for non-gthreads targets.
-
-2021-04-28 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100187
- PR libstdc++/100237
- PR libstdc++/100249
- PR libstdc++/100287
- * include/bits/ranges_algo.h (__search_n_fn::operator()): Give
- the __value_comp lambda an explicit bool return type.
- (__is_permutation_fn::operator()): Give the __proj_scan local
- variable auto&& return type. Give the __comp_scan lambda an
- explicit bool return type.
- (__remove_fn::operator()): Give the __pred lambda an explicit
- bool return type.
- (__partition_fn::operator()): Don't std::move __first twice
- when returning an empty subrange.
- (__min_fn::operator()): Don't std::move __comp.
- (__max_fn::operator()): Likewise.
- (__minmax_fn::operator()): Likewise.
-
-2021-04-27 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/100290
- * include/std/ranges (join_view::_Iterator::operator++): Correct
- the return type of the lambda to avoid returning a copy of
- _M_parent->_M_inner.
- * testsuite/std/ranges/adaptors/join.cc (test10): New test.
-
-2021-04-27 Jakub Jelinek <jakub@redhat.com>
-
- Revert:
- 2021-04-22 Jakub Jelinek <jakub@redhat.com>
-
- PR target/100182
- * testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for
- ia32.
- * testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for
- ia32.
-
-2021-04-27 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/internet (address_v6::bytes_type): Adjust
- formatting.
- (basic_endpoint): Define _M_is_v6() to put all checks for
- AF_INET6 in one place.
- (basic_endpoint::resize): Simplify.
- (operator==(const tcp&, const tcp&)): Add constexpr and noexcept.
- (operator!=(const tcp&, const tcp&)): Likewise.
- (operator==(const udp&, const udp&)): Likewise.
- (operator!=(const udp&, const udp&)): Likewise.
- * testsuite/experimental/net/internet/tcp.cc: New test.
- * testsuite/experimental/net/internet/udp.cc: New test.
-
-2021-04-27 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100286
- * include/experimental/internet (resolver_errc, resolver_category())
- (make_error_code, make_error_condition): Define unconditionally,
- only make enumerators and use of gai_strerror depend on the
- availability of <netdb.h>.
- (address_v4::to_string): Use correct constant for string length.
- (address_v4::to_string, address_v6::to_string): Define
- unconditionally, throw if unsupported.
- (make_address_v4, make_address_v6): Define unconditionally.
- Return an error if unsupported.
- (tcp, udp, v6_only, unicast::hops, multicast::*): Define
- conditionally,
- * testsuite/experimental/net/internet/socket/opt.cc: Check for
- <netinet/in.h> and <netinet/tcp.h> before using types from
- namespace net::ip.
-
-2021-04-27 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100285
- * include/experimental/internet (resolver_base::flags):
- Define overloaded operators as hidden friends.
- * include/experimental/socket (socket_base::message_flags):
- Likewise.
-
-2021-04-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/internet (tcp::no_delay, v6_only)
- (unicast::hops, multicast::hops, multicast::enable_loopback):
- Change access of base class and static data members. Add
- using-declaration for __socket_crtp::operator=(_Tp).
- (multicast::__mcastopt): New type.
- (multicast::join_group, multicast::leave_group): Derive from
- __mcastopt for common implementation.
- * include/experimental/socket: Add comment.
- * testsuite/experimental/net/internet/socket/opt.cc: New test.
- * testsuite/experimental/net/socket/socket_base.cc: Check for
- protected constructor/destructor of socket_base. Check for
- explicit constructors of socket option classes.
-
-2021-04-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/bits/net.h (__socket_base): Add
- bool template parameter to allow BooleanSocketOption and
- IntegerSocketOption to have different __socket_base<int>
- base classes.
- (__socket_base<bool>): Adjust base class.
- (__socket_base<int>): Add partial specialization.
- (__socket_crtp::operator=(_Tp)): Add noexcept-specifier.
- * include/experimental/socket (socket_base::broadcast)
- (socket_base::debug, socket_base::do_not_route)
- (socket_base::keep_alive, socket_base::linger)
- (socket_base::out_of_band_inline)
- (socket_base::receive_buffer_size)
- (socket_base::receive_low_watermark)
- (socket_base::reuse_address, socket_base::send_buffer_size)
- (socket_base::send_low_watermark): Add using-declaration for
- __socket_crtp::operator=(_Tp).
- * testsuite/experimental/net/socket/socket_base.cc: Check
- properties of socket option types.
-
-2021-04-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/internet (resolver_base::flags): Remove
- enumerators. Initialize constants directly with desired values.
- Make all operators constexpr and noexcept.
- * testsuite/experimental/net/internet/resolver/base.cc: Use
- __gnu_test::test_bitmask_values for bitmask type. Check
- construction and destruction is protected.
-
-2021-04-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/semaphore_base.h: Include <exception> and <errno.h>.
-
-2021-04-26 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100259
- * include/experimental/internet (net::ip::make_error_code)
- (net::ip::make_error_condition, net::ip::make_network_v4)
- (net::ip::operator==(const udp&, const udp&)): Add 'inline'.
-
-2021-04-24 David Edelsohn <dje.gcc@gmail.com>
-
- * testsuite/lib/dg-options.exp (atomic_link_flags): New.
- (add_options_for_libatomic): Use atomic_link_flags.
-
-2021-04-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100180
- * include/experimental/io_context (io_context): Define
- dummy_pollfd type so that most member functions still compile
- without <poll.h> and struct pollfd.
-
-2021-04-23 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/io_context (io_context::async_wait): Add
- comment.
- * include/experimental/socket (basic_socket::async_connect):
- Cast wait_type constant to int.
- (basic_datagram_socket::async_receive): Likewise.
- (basic_datagram_socket::async_receive_from): Likewise.
- (basic_datagram_socket::async_send): Likewise.
- (basic_datagram_socket::async_send_to): Likewise.
- (basic_stream_socket::async_receive): Likewise.
- (basic_stream_socket::async_send): Likewise. Use io_context
- parameter directly, instead of via an executor.
- (basic_socket_acceptor::async_accept): Likewise.
-
-2021-04-23 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/socket (socket_base::shutdown_type):
- (socket_base::wait_type, socket_base::message_flags):
- Remove enumerators. Initialize constants directly with desired
- values.
- (socket_base::message_flags): Make all operators constexpr and
- noexcept.
- * testsuite/util/testsuite_common_types.h (test_bitmask_values):
- New test utility.
- * testsuite/experimental/net/socket/socket_base.cc: New test.
-
-2021-04-22 David Edelsohn <dje.gcc@gmail.com>
-
- * config/os/aix/atomicity.h: Delete.
-
-2021-04-22 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/atomic_timed_wait.h (__cond_wait_until_impl):
- Handle system_clock as well as steady_clock.
- * testsuite/30_threads/semaphore/try_acquire_for.cc: Re-enable.
- * testsuite/30_threads/semaphore/try_acquire_until.cc:
- Re-enable.
-
-2021-04-22 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/30_threads/semaphore/try_acquire_posix.cc: Add
- options for libatomic.
-
-2021-04-22 Jonathan Wakely <jwakely@redhat.com>
-
- * config/os/gnu-linux/os_defines.h: Fix type in comment.
-
-2021-04-22 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99006
- * include/bits/shared_ptr.h (allocate_shared): Assert that _Tp
- is not an array type.
- * include/bits/shared_ptr_base.h (__allocate_shared): Likewise.
- * testsuite/20_util/shared_ptr/creation/99006.cc: New test.
-
-2021-04-22 Thomas Rodgers <rodgert@twrodgers.com>
-
- * include/bits/atomic_wait.h: Always notify waiters in the
- case of 'bare' address notification.
-
-2021-04-22 Jakub Jelinek <jakub@redhat.com>
-
- PR target/100182
- * testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for
- ia32.
- * testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for
- ia32.
-
-2021-04-22 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100179
- * include/bits/semaphore_base.h: Remove #error.
- * include/std/semaphore: Do not define anything unless one of
- the implementations is available.
-
-2021-04-21 Thomas Rodgers <rodgert@twrodgers.com>
-
- * include/bits/semaphore_base.h: Always reload __old in
- __atomic_semaphore::_S_do_try_acquire().
- * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
- re-enable testcase.
-
-2021-04-21 Philippe Blain <levraiphilippeblain@gmail.com>
- Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99453
- * python/Makefile.am: Install libstdc++*-gdb.py more robustly.
- * python/Makefile.in: Regenerate.
-
-2021-04-21 Thomas Rodgers <rodgert@twrodgers.com>
-
- * include/bits/semaphore_base.h: Add missing _M_try_acquire()
- member to __platform_wait.
-
-2021-04-21 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/latch: Replace tab characters in license text.
- * include/std/semaphore: Likewise.
-
-2021-04-21 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/100164
- * acinclude.m4: For POSIX semaphores AC_DEFINE HAVE_POSIX_SEMAPHORE
- rather than _GLIBCXX_HAVE_POSIX_SEMAPHORE.
- * configure: Regenerated.
- * config.h.in: Regenerated.
-
-2021-04-20 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/30_threads/semaphore/try_acquire_for.cc: Disable
- test for targets not using futexes for semaphores.
- * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
- * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
- Disable for all targets.
-
-2021-04-20 Thomas Rodgers <trodgers@redhat.com>
-
- * include/Makefile.am: Add new <bits/this_thread_sleep.h> header.
- * include/Makefile.in: Regenerate.
- * include/bits/this_thread_sleep.h: New file.
- * include/bits/atomic_base.h: Adjust all calls
- to __atomic_wait/__atomic_notify for new call signatures.
- * include/bits/atomic_timed_wait.h: Extensive rewrite.
- * include/bits/atomic_wait.h: Likewise.
- * include/bits/semaphore_base.h: Adjust all calls
- to __atomic_wait/__atomic_notify for new call signatures.
- * include/std/atomic: Likewise.
- * include/std/barrier: Likewise.
- * include/std/latch: Likewise.
- * include/std/semaphore: Likewise.
- * include/std/thread (this_thread::sleep_for)
- (this_thread::sleep_until): Move to new header.
- * testsuite/29_atomics/atomic/wait_notify/bool.cc: Simplify
- test.
- * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
- * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
- * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
- * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
- * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
- * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise.
-
-2021-04-20 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/95983
- * include/bits/stl_iterator.h (__detail::__move_iter_cat):
- Define.
- (move_iterator): Derive from the above in C++20 in order to
- conditionally define iterator_category as per P2259.
- (move_iterator::__base_cat): No longer used, so remove.
- (move_iterator::iterator_category): Remove in C++20.
- (__detail::__common_iter_use_postfix_proxy): Define.
- (common_iterator::_Proxy): Rename to ...
- (common_iterator:__arrow_proxy): ... this.
- (common_iterator::__postfix_proxy): Define as per P2259.
- (common_iterator::operator->): Adjust.
- (common_iterator::operator++): Adjust as per P2259.
- (iterator_traits<common_iterator>::_S_iter_cat): Define.
- (iterator_traits<common_iterator>::iterator_category): Change as
- per P2259.
- (__detail::__counted_iter_value_type): Define.
- (__detail::__counted_iter_concept): Define.
- (__detail::__counted_iter_cat): Define.
- (counted_iterator): Derive from the above three classes in order
- to conditionally define value_type, iterator_concept and
- iterator category respectively as per P2259.
- (counted_iterator::operator->): Define as per P2259.
- (incrementable_traits<counted_iterator>): Remove as per P2259.
- (iterator_traits<counted_iterator>): Adjust as per P2259.
- * include/std/ranges (__detail::__iota_view_iter_cat): Define.
- (iota_view::_Iterator): Derive from the above in order to
- conditionally define iterator_category as per P2259.
- (iota_view::_S_iter_cat): Rename to ...
- (iota_view::_S_iter_concept): ... this.
- (iota_view::iterator_concept): Use it to apply LWG 3291 changes.
- (iota_view::iterator_category): Remove.
- (__detail::__filter_view_iter_cat): Define.
- (filter_view::_Iterator): Derive from the above in order to
- conditionally define iterator_category as per P2259.
- (filter_view::_Iterator): Move to struct __filter_view_iter_cat.
- (filter_view::_Iterator::iterator_category): Remove.
- (transform_view::_Base): Define.
- (transform_view::__iter_cat): Define.
- (transform_view::_Iterator): Derive from the above in order to
- conditionally define iterator_category as per P2259.
- (transform_view::_Iterator::_Base): Just alias
- transform_view::_Base.
- (transform_view::_Iterator::_S_iter_cat): Move to struct
- transform_view::__iter_cat.
- (transform_view::_Iterator::iterator_category): Remove.
- (transform_view::_Sentinel::_Base): Just alias
- transform_view::_Base.
- (join_view::_Base): Define.
- (join_view::_Outer_iter): Define.
- (join_view::_Inner_iter): Define.
- (join_view::_S_ref_is_glvalue): Define.
- (join_view::__iter_cat): Define.
- (join_view::_Iterator): Derive from it in order to conditionally
- define iterator_category as per P2259.
- (join_view::_Iterator::_Base): Just alias join_view::_Base.
- (join_view::_Iterator::_S_ref_is_glvalue): Just alias
- join_view::_S_ref_is_glvalue.
- (join_view::_Iterator::_S_iter_cat): Move to struct
- transform_view::__iter_cat.
- (join_view::_Iterator::_Outer_iter): Just alias
- join_view::_Outer_iter.
- (join_view::_Iterator::_Inner_iter): Just alias
- join_view::_Inner_iter.
- (join_view::_Iterator::iterator_category): Remove.
- (join_view::_Sentinel::_Base): Just alias join_view::_Base.
- (__detail::__split_view_outer_iter_cat): Define.
- (__detail::__split_view_inner_iter_cat): Define.
- (split_view::_Base): Define.
- (split_view::_Outer_iter): Derive from __split_view_outer_iter_cat
- in order to conditionally define iterator_category as per P2259.
- (split_view::_Outer_iter::iterator_category): Remove.
- (split_view::_Inner_iter): Derive from __split_view_inner_iter_cat
- in order to conditionally define iterator_category as per P2259.
- (split_view::_Inner_iter::_S_iter_cat): Move to
- __split_view_inner_iter_cat.
- (split_view::_Inner_iter::iterator_category): Remove.
- (elements_view::_Base): Define.
- (elements_view::__iter_cat): Define.
- (elements_view::_Iterator): Derive from the above in order to
- conditionall define iterator_category as per P2259.
- (elements_view::_Iterator::_Base): Just alias
- elements_view::_Base.
- (elements_view::_Iterator::_S_iter_concept)
- (elements_view::_Iterator::iterator_concept): Define as per
- P2259.
- (elements_view::_Iterator::iterator_category): Remove.
- (elements_view::_Sentinel::_Base): Just alias
- elements_view::_Base.
- * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
- Adjust constraints on iterator_traits<counted_iterator>.
- * testsuite/std/ranges/p2259.cc: New test.
-
-2021-04-20 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100146
- * include/std/charconv (__cpp_lib_to_chars): Define
- conditionally.
- * include/std/version (__cpp_lib_to_chars): Likewise..
- * testsuite/20_util/from_chars/4.cc: Only check feature test
- macro, not _GLIBCXX_HAVE_USELOCALE.
- * testsuite/20_util/from_chars/5.cc: Likewise.
- * testsuite/20_util/from_chars/6.cc: Likewise.
- * testsuite/20_util/to_chars/long_double.cc: Likewise.
-
-2021-04-20 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/util/testsuite_abi.cc (compare_symbols): If any symbol
- versions with _IEEE128_ substring are found, set ieee_version_found
- to true. Ignore missing symbols with _IEEE128_ in version name if
- !ieee_version_found. Use i->first as version_name instead of
- i->second.version_name if the latter is empty.
- * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
-
-2021-04-19 H.J. Lu <hjl.tools@gmail.com>
-
- * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
- Updated.
-
-2021-04-17 Jakub Jelinek <jakub@redhat.com>
-
- * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
-
-2021-04-17 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/i386-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
-
-2021-04-15 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/lib/dg-options.exp (add_options_for_libatomic): Also
- add libatomic options for 32-bit sparc*-*-linux-gnu.
-
-2021-04-15 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/96657
- * libsupc++/Makefile.am: Add atomicity.cc here.
- * src/c++98/Makefile.am: Remove it from here.
- * libsupc++/Makefile.in: Regenerate.
- * src/c++98/Makefile.in: Regenerate.
- * testsuite/18_support/exception_ptr/96657.cc: New test.
-
-2021-04-13 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100060
- * include/std/bit: Only include <ext/numeric_traits.h> for
- hosted build, use <limits> otherwise.
-
-2021-04-13 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/backwards_compatibility.xml: Remove porting
- notes for libg++ and libstdc++-v2, and bibliography.
- * doc/html/*: Regenerated.
-
-2021-04-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100044
- * include/bits/ranges_util.h (__detail::__iterator_sentinel_pair):
- Remove helper concept.
- (subrange(_Pr), subrange(Pr, __make_unsigned_like<...>)): Remove
- deduction guides, as per LWG 3404.
- * testsuite/std/ranges/subrange/lwg3282_neg.cc: Check that class
- template argument deduction fails.
-
-2021-04-12 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc:
- Adjust expected error for C++20 mode.
- * testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc:
- Likewise.
-
-2021-04-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99995
- * testsuite/17_intro/headers/c++1998/49745.cc: Include all
- standard headers and XFAIL for effective-target c++20.
-
-2021-04-09 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/99402
- * include/debug/helper_functions.h (__can_advance(_InputIterator,
- const std::pair<_Diff, _Distance_precision>&, int)): New.
- (__can_advance(const _Safe_iterator<>&,
- const std::pair<_Diff, _Distance_precision>&, int)): New.
- * include/debug/macros.h (__glibcxx_check_can_increment_dist): New,
- use latter.
- (__glibcxx_check_can_increment_range): Adapt to use latter.
- (__glibcxx_check_can_decrement_range): Likewise.
- * include/debug/safe_iterator.h
- (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
- int)): New.
- (__can_advance(const _Safe_iterator<>&,
- const std::pair<_Diff, _Distance_precision>&, int)): New.
- * include/debug/safe_iterator.tcc
- (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
- int)): New.
- (_Safe_iterator<>::_M_valid_range(const _Safe_iterator<>&,
- std::pair<difference_type, _Distance_precision>&, bool)): Adapt for
- __dp_sign_max_size.
- (__copy_move_a): Adapt to use __glibcxx_check_can_increment_dist.
- (__copy_move_backward_a): Likewise.
- (__equal_aux): Likewise.
- * include/debug/stl_iterator.h (__can_advance(const std::reverse_iterator<>&,
- const std::pair<_Diff, _Distance_precision>&, int)): New.
- (__can_advance(const std::move_iterator<>&,
- const std::pair<_Diff, _Distance_precision>&, int)): New.
- * testsuite/25_algorithms/copy/debug/99402.cc: New test.
-
-2021-04-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99985
- * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): Fix
- to be a valid constexpr function in C++11.
- * testsuite/23_containers/unordered_set/cons/99985.cc: New test.
-
-2021-04-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/fs_fwd.h: Fix doxygen group command.
- * include/bits/streambuf_iterator.h: Likewise.
- * include/bits/uses_allocator_args.h: Likewise.
- * include/std/memory: Likewise.
- * include/tr1/complex: Likewise.
-
-2021-04-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/basic_string.h: Tweak doxygen comment.
-
-2021-04-08 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (__detail::find): Define.
- (split_view::_OuterIter::operator++): Apply proposed resolution
- of LWG 3505.
- * testsuite/std/ranges/adaptors/split.cc (test10): New test.
-
-2021-04-08 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (__detail::find_if): Simplify.
- (__detail::find_if_not): Likewise.
- (__detail::min): Remove.
- (__detail::mismatch): Simplify.
- (take_view::size): Use std::min instead of __detail::min.
-
-2021-04-08 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (__detail::__returnable_element): New
- concept.
- (elements_view): Use this concept in its constraints. Add
- missing private access specifier.
- (elements_view::_S_get_element): Define as per LWG 3502.
- (elements_view::operator*, elements_view::operator[]): Use
- _S_get_element.
- (elements_view::operator++): Remove unnecessary constraint
- as per LWG 3492.
- * testsuite/std/ranges/adaptors/elements.cc (test05): New test.
-
-2021-04-08 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/Makefile.am (stamp-pdf-doxygen): Also grep for
- out-of-memory error in log file.
- * doc/Makefile.in: Regenerate.
-
-2021-04-08 Jonathan Wakely <jwakely@redhat.com>
-
- * configure: Regenerate.
-
-2021-04-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/random.h: Fix doxygen group commands.
- * include/bits/regex_constants.h: Likewise.
- * include/tr1/random.h: Likewise.
-
-2021-04-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()):
- New function to determine noexcept-specifier for move
- constructors.
- (_Hashtable): Use _S_nothrow_move() on move constructors.
- * testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc:
- Correct static assertion message.
- * testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc:
- Likewise.
-
-2021-04-08 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/98384
- * testsuite/20_util/to_chars/long_double.cc: Don't run the test
- on targets without a large long double. XFAIL the execution on
- targets with a non-conforming printf.
-
-2021-04-08 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/99433
- * include/std/ranges (__adaptor::__maybe_refwrap): Remove.
- (__adaptor::__adaptor_invocable): New concept.
- (__adaptor::__adaptor_partial_app_viable): New concept.
- (__adaptor::_RangeAdaptorClosure): Rewrite, turning it into a
- non-template base class.
- (__adaptor::_RangeAdaptor): Rewrite, turning it into a CRTP base
- class template.
- (__adaptor::_Partial): New class template that represents
- partial application of a range adaptor non-closure.
- (__adaptor::__pipe_invocable): New concept.
- (__adaptor::_Pipe): New class template.
- (__detail::__can_ref_view): New concept.
- (__detail::__can_subrange): New concept.
- (all): Replace the lambda here with ...
- (_All): ... this functor. Add appropriate constraints.
- (__detail::__can_filter_view): New concept.
- (filter, _Filter): As in all/_All.
- (__detail::__can_transform): New concept.
- (transform, _Transform): As in all/_All.
- (__detail::__can_take_view): New concept.
- (take, _Take): As in all/_All.
- (__detail::__can_take_while_view): New concept.
- (take_while, _TakeWhile): As in all/_All.
- (__detail::__can_drop_view): New concept.
- (drop, _Drop): As in all/_All.
- (__detail::__can_drop_while_view): New concept.
- (drop_while, _DropWhile): As in all/_All.
- (__detail::__can_join_view): New concept.
- (join, _Join): As in all/_All.
- (__detail::__can_split_view): New concept.
- (split, _Split): As in all/_All. Rename template parameter
- _Fp to _Pattern.
- (__detail::__already_common): New concept.
- (__detail::__can_common_view): New concept.
- (common, _Common): As in all/_All.
- (__detail::__can_reverse_view): New concept.
- (reverse, _Reverse): As in all/_All.
- (__detail::__can_elements_view): New concept.
- (elements, _Elements): As in all/_All.
- (keys, values): Adjust.
- * testsuite/std/ranges/adaptors/99433.cc: New test.
- * testsuite/std/ranges/adaptors/all.cc: No longer expect that
- adding empty range adaptor closure objects to a pipeline doesn't
- increase the size of the pipeline.
- (test05): New test.
- * testsuite/std/ranges/adaptors/common.cc (test03): New test.
- * testsuite/std/ranges/adaptors/drop.cc (test09): New test.
- * testsuite/std/ranges/adaptors/drop_while.cc (test04): New test.
- * testsuite/std/ranges/adaptors/elements.cc (test04): New test.
- * testsuite/std/ranges/adaptors/filter.cc (test06): New test.
- * testsuite/std/ranges/adaptors/join.cc (test09): New test.
- * testsuite/std/ranges/adaptors/p2281.cc: New test.
- * testsuite/std/ranges/adaptors/reverse.cc (test07): New test.
- * testsuite/std/ranges/adaptors/split.cc (test01, test04):
- Adjust.
- (test09): New test.
- * testsuite/std/ranges/adaptors/split_neg.cc (test01): Adjust
- expected error message.
- (test02): Likewise. Extend test.
- * testsuite/std/ranges/adaptors/take.cc (test06): New test.
- * testsuite/std/ranges/adaptors/take_while.cc (test05): New test.
- * testsuite/std/ranges/adaptors/transform.cc (test07, test08):
- New test.
-
-2021-04-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/string_view: Adjust Doxygen @file comment.
-
-2021-04-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (is_scoped_enum<T>): Constrain partial
- specialization to not match incomplete enum types. Use a
- requires-expression instead of instantiating is_convertible.
- (is_scoped_enum<const T>): Add as workaround for PR c++/99968.
- * testsuite/20_util/is_scoped_enum/value.cc: Check with
- incomplete types and opaque-enum-declarations.
-
-2021-04-07 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99805
- * src/c++17/fs_path.cc (path::_M_split_cmpts): Do not call
- non-const member on _M_pathname, to avoid copy-on-write.
- * testsuite/27_io/filesystem/path/decompose/parent_path.cc:
- Check construction from strings that might be shared.
-
-2021-04-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/move.h (forward, move, move_if_noexcept)
- (addressof): Add _GLIBCXX_NODISCARD.
- * include/bits/ranges_cmp.h (identity::operator()): Add
- nodiscard attribute.
- * include/c_global/cstddef (to_integer): Likewise.
- * include/std/bit (bit_cast): Likewise.
- * include/std/utility (as_const, to_underlying): Likewise.
-
-2021-04-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/move.h (forward): Change static_assert message
- to be unambiguous about what must be true.
- * testsuite/20_util/forward/c_neg.cc: Adjust dg-error.
- * testsuite/20_util/forward/f_neg.cc: Likewise.
-
-2021-04-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/alloc_traits.h: Use markdown for code font.
- * include/bits/basic_string.h: Fix @param names.
- * include/bits/max_size_type.h: Remove period after @file.
- * include/bits/regex.h: Fix duplicate @retval names, and rename.
- * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Add
- group open to match existing group close.
- * include/ext/pb_ds/priority_queue.hpp: Add blank line before group
- open.
-
-2021-04-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/atomic_base.h: Fix doxygen group close.
- * include/bits/basic_ios.h: Likewise.
- * include/bits/forward_list.h: Likewise.
- * include/bits/fs_dir.h: Likewise.
- * include/bits/fs_ops.h: Likewise.
- * include/bits/fs_path.h: Likewise.
- * include/bits/functional_hash.h: Likewise.
- * include/bits/gslice.h: Likewise.
- * include/bits/gslice_array.h: Likewise.
- * include/bits/hashtable_policy.h: Likewise.
- * include/bits/indirect_array.h: Likewise.
- * include/bits/locale_classes.h: Likewise.
- * include/bits/locale_facets.h: Likewise.
- * include/bits/locale_facets_nonio.h: Likewise.
- * include/bits/mask_array.h: Likewise.
- * include/bits/refwrap.h: Likewise.
- * include/bits/regex.h: Likewise.
- * include/bits/regex_automaton.h: Likewise.
- * include/bits/regex_compiler.h: Likewise.
- * include/bits/regex_constants.h: Likewise.
- * include/bits/regex_error.h: Likewise.
- * include/bits/regex_executor.h: Likewise.
- * include/bits/regex_scanner.h: Likewise.
- * include/bits/shared_ptr.h: Likewise.
- * include/bits/shared_ptr_atomic.h: Likewise.
- * include/bits/shared_ptr_base.h: Likewise.
- * include/bits/slice_array.h: Likewise.
- * include/bits/specfun.h: Likewise.
- * include/bits/std_function.h: Likewise.
- * include/bits/std_mutex.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_iterator.h: Likewise.
- * include/bits/stl_iterator_base_types.h: Likewise.
- * include/bits/stl_map.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_numeric.h: Likewise.
- * include/bits/stl_pair.h: Likewise.
- * include/bits/stl_set.h: Likewise.
- * include/bits/stl_uninitialized.h: Likewise.
- * include/bits/stream_iterator.h: Likewise.
- * include/bits/streambuf_iterator.h: Likewise.
- * include/bits/unique_ptr.h: Likewise.
- * include/bits/unordered_map.h: Likewise.
- * include/bits/unordered_set.h: Likewise.
- * include/decimal/decimal: Likewise.
- * include/experimental/any: Likewise.
- * include/experimental/array: Likewise.
- * include/experimental/bits/fs_dir.h: Likewise.
- * include/experimental/bits/fs_fwd.h: Likewise.
- * include/experimental/bits/fs_ops.h: Likewise.
- * include/experimental/bits/fs_path.h: Likewise.
- * include/experimental/buffer: Likewise.
- * include/experimental/internet: Likewise.
- * include/experimental/optional: Likewise.
- * include/experimental/propagate_const: Likewise.
- * include/experimental/socket: Likewise.
- * include/ext/pb_ds/assoc_container.hpp: Likewise.
- * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
- Likewise.
- * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Likewise.
- * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Likewise.
- * include/ext/pb_ds/detail/types_traits.hpp: Likewise.
- * include/ext/pb_ds/exception.hpp: Likewise.
- * include/ext/pb_ds/priority_queue.hpp: Likewise.
- * include/ext/pb_ds/tag_and_trait.hpp: Likewise.
- * include/ext/random: Likewise.
- * include/std/any: Likewise.
- * include/std/atomic: Likewise.
- * include/std/bitset: Likewise.
- * include/std/chrono: Likewise.
- * include/std/complex: Likewise.
- * include/std/condition_variable: Likewise.
- * include/std/fstream: Likewise.
- * include/std/future: Likewise.
- * include/std/iostream: Likewise.
- * include/std/istream: Likewise.
- * include/std/mutex: Likewise.
- * include/std/numeric: Likewise.
- * include/std/ostream: Likewise.
- * include/std/ratio: Likewise.
- * include/std/shared_mutex: Likewise.
- * include/std/stdexcept: Likewise.
- * include/std/streambuf: Likewise.
- * include/std/system_error: Likewise.
- * include/std/thread: Likewise.
- * include/std/valarray: Likewise.
- * include/std/variant: Likewise.
- * include/tr1/cmath: Likewise.
- * include/tr1/regex: Likewise.
- * include/tr2/dynamic_bitset: Likewise.
- * libsupc++/atomic_lockfree_defines.h: Likewise.
- * libsupc++/exception: Likewise.
- * libsupc++/exception.h: Likewise.
- * libsupc++/exception_ptr.h: Likewise.
- * libsupc++/nested_exception.h: Likewise.
-
-2021-03-31 Alexandre Oliva <oliva@adacore.com>
-
- * testsuite/30_threads/future/members/poll.cc: Use faster
- after-ready call in the calibration loop.
-
-2021-03-29 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2017.xml: Adjust link for PSTL.
- * doc/html/manual/status.html: Regenerate.
-
-2021-03-28 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/forward_list
- (forward_list(forward_list&&, const allocator_type&)): Add noexcept qualification.
- * include/debug/list (list(list&&, const allocator_type&)): Likewise and add
- call to safe container allocator aware move constructor.
- * include/debug/vector (vector(vector&&, const allocator_type&)):
- Fix noexcept qualification.
- * testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc:
- Add allocator-extended move constructor noexceot qualification check.
- * testsuite/23_containers/list/cons/noexcept_move_construct.cc: Likewise.
-
-2021-03-26 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/random.cc (USE_LCG): Define when a pseudo-random
- fallback is needed.
- [USE_LCG] (bad_seed, construct_lcg_at, destroy_lcg_at, __lcg):
- New helper functions and callback.
- (random_device::_M_init): Add 'prng' and 'all' enumerators.
- Replace switch with fallthrough with a series of 'if' statements.
- [USE_LCG]: Construct an lcg_type engine and use __lcg when cpuid
- checks fail.
- (random_device::_M_init_pretr1) [USE_MT19937]: Accept "prng"
- token.
- (random_device::_M_getval): Check for callback unconditionally
- and always pass _M_file pointer.
- * testsuite/26_numerics/random/random_device/85494.cc: Remove
- effective-target check. Use new random_device_available helper.
- * testsuite/26_numerics/random/random_device/94087.cc: Likewise.
- * testsuite/26_numerics/random/random_device/cons/default-cow.cc:
- Remove effective-target check.
- * testsuite/26_numerics/random/random_device/cons/default.cc:
- Likewise.
- * testsuite/26_numerics/random/random_device/cons/token.cc: Use
- new random_device_available helper. Test "prng" token.
- * testsuite/util/testsuite_random.h (random_device_available):
- New helper function.
-
-2021-03-25 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/string
- (basic_string(const basic_string&, const _Alloc&)): Define even if !_GLIBCXX_USE_CXX11_ABI.
- (basic_string(basic_string&&, const _Alloc&)): Likewise and add noexcept qualification.
- (basic_string<>::erase): Adapt to take __const_iterator.
- (basic_string(const _CharT*, const _Allocator&)): Remove assign call.
- (basic_string<>::insert(const_iterator, _InputIte, _InputIte)): Try to
- remove iterator debug layer even if !_GLIBCXX_USE_CXX11_ABI.
- [_GLIBCXX_USE_CHAR8_T] (__gnu_debug::u8string): New.
- (__gnu_debug::u16string, __gnu_debug::u32string): New.
- (std::hash<__gnu_debug::basic_string<>>): New partial specialization.
- (std::__is_fast_hash<__gnu_debug::basic_string<>>): Likewise.
- * testsuite/util/exception/safety.h
- (erase_base<__gnu_debug::basic_string<>>): New partial specialization.
- (insert_base<__gnu_debug::basic_string<>>): Likewise.
- * testsuite/util/testsuite_container_traits.h (traits<__gnu_debug::basic_string<>>):
- New partial specialization.
- * testsuite/21_strings/basic_string/hash/debug.cc: New test.
- * testsuite/21_strings/basic_string/requirements/citerators.cc:
- Add test on __gnu_debug::string.
- * testsuite/21_strings/basic_string/requirements/dr438/constructor.cc: Likewise.
- * testsuite/21_strings/basic_string/requirements/exception/basic.cc: Likewise.
- * testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc:
- Likewise.
- * testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc:
- Likewise.
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string/requirements/typedefs.cc: Likewise.
-
-2021-03-25 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/99672
- * testsuite/18_support/source_location/consteval.cc (main): Adjust
- expected column numbers.
- * testsuite/18_support/source_location/1.cc (main): Likewise.
-
-2021-03-25 Jonathan Wakely <jwakely@redhat.com>
-
- * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare malloc.
-
-2021-03-25 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/util/exception/safety.h (setup_base::generate):
- Support seeding random engine.
- (erase_point, erase_range): Adjust range of random numbers to
- ensure dereferenceable iterators are used where required.
- (generation_prohibited::run): Do not try to erase from empty
- containers.
- * testsuite/util/testsuite_containergen.h (test_containers):
- Support seeding random engine.
-
-2021-03-23 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/std/ranges/adaptors/reverse.cc: Replace duplicated
- line with a check that uses the const being/end overloads.
-
-2021-03-23 Moritz Sichert <sichert@in.tum.de>
-
- * include/std/ranges (reverse_view::begin, reverse_view::end):
- Qualify make_reverse_iterator calls to avoid ADL.
- * testsuite/std/ranges/adaptors/reverse.cc: Test that
- views::reverse works when make_reverse_iterator is defined
- in an associated namespace.
-
-2021-03-23 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT):
- Do not define when compiling with Clang.
-
-2021-03-22 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/string_view (basic_string_view(Range&&)): Define new
- constructor and deduction guide.
- * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: New test.
- * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: New test.
-
-2021-03-22 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/range_access.h (begin(T (&)[N]), end(T (&)[N])):
- Add missing 'noexcept' as per LWG 2280.
- (rbegin(T (&)[N]), rend(T (&)[N]), rbegin(initializer_list<T>))
- (rend(initializer_list<T>)): Add 'noexcept' as per LWG 3537.
- * testsuite/24_iterators/range_access/range_access.cc: Check for
- expected noexcept specifiers. Check result types of generic
- std::begin and std::end overloads.
- * testsuite/24_iterators/range_access/range_access_cpp14.cc:
- Check for expected noexcept specifiers.
- * testsuite/24_iterators/range_access/range_access_cpp17.cc:
- Likewise.
-
-2021-03-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (is_scoped_enum): Define.
- * include/std/version (__cpp_lib_is_scoped_enum): Define.
- * testsuite/20_util/is_scoped_enum/value.cc: New test.
- * testsuite/20_util/is_scoped_enum/version.cc: New test.
-
-2021-03-16 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99341
- * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Remove
- std::once_flag symbols.
- * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
- * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
- * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
- Likewise.
- * config/abi/pre/gnu.ver: Likewise.
- * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
- (struct __once_flag_compat): Remove.
- (_ZNSt9once_flag11_M_activateEv): Remove.
- (_ZNSt9once_flag9_M_finishEb): Remove.
-
-2021-03-16 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99341
- * include/std/mutex [_GLIBCXX_HAVE_LINUX_FUTEX] (once_flag):
- Revert to pthread_once_t implementation.
- [_GLIBCXX_HAVE_LINUX_FUTEX] (call_once): Likewise.
- * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
- (struct __once_flag_compat): New type matching the reverted
- implementation of once_flag using futexes.
- (once_flag::_M_activate): Remove, replace with ...
- (_ZNSt9once_flag11_M_activateEv): ... alias symbol.
- (once_flag::_M_finish): Remove, replace with ...
- (_ZNSt9once_flag9_M_finishEb): ... alias symbol.
- * testsuite/30_threads/call_once/66146.cc: Removed.
-
-2021-03-15 Iain Sandoe <iain@sandoe.co.uk>
-
- * testsuite/17_intro/names.cc: Exclude j from the list
- of test symbols for Darwin.
-
-2021-03-15 Iain Sandoe <iain@sandoe.co.uk>
-
- * config/os/bsd/darwin/ppc-extra.ver: Add matching for
- to_chars and from_chars for long double.
-
-2021-03-15 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/max_size_type.h (__max_size_type::operator _Tp):
- Fix formatting.
- (__max_size_type::operator++): Define.
- (__max_size_type::operator--): Likewise.
- (__max_size_type::operator<=>): Conditionally define (in place
- of the other comparison operators).
- (__max_diff_type::operator _Tp): Fix formatting.
- (__max_diff_type::operator++): Define.
- (__max_diff_type::operator--): Likewise.
- (__max_diff_type::operator<=>): Conditionally define (in place
- of the other comparison operators).
- * testsuite/std/ranges/iota/max_size_type.cc (test01): Test
- these operator overloads.
-
-2021-03-15 Caroline Tice <cmtice@google.com>
-
- PR libstdc++/99172
- * src/Makefile.am (AM_CXXFLAGS_PRE, AM_CXXFLAGS): Add
- AM_CXXFLAGS_PRE with the old definition of AM_CXXFLAGS; make
- AM_CXXFLAGS to be AM_CXXFLAGS_PRE with '-fvtable-verify=std'
- filtered out.
- * src/Makefile.in: Regenerate.
-
-2021-03-11 Patrick Palka <ppalka@redhat.com>
-
- * src/c++17/floating_to_chars.cc: Simplify the file as if
- __SIZEOF_INT128__ is always defined.
- [!defined __SIZEOF_INT128__]: Include "uint128_t.h". Define
- a base-10 to_chars overload for the uint128_t class type.
- * src/c++17/uint128_t.h: New file.
- * testsuite/20_util/to_chars/long_double.cc: No longer expect an
- execution FAIL on targets that have a large long double type
- but lack __int128.
-
-2021-03-11 Patrick Palka <ppalka@redhat.com>
-
- * src/c++17/ryu/LOCAL_PATCHES: Update.
- * src/c++17/ryu/d2s_intrinsics.h: Don't define uint128_t.
- * src/c++17/ryu/generic_128.h: Likewise.
- * src/c++17/ryu/ryu_generic_128.h (struct floating_decimal_128):
- Use uint128_t instead of __uint128_t.
- (generic_binary_to_decimal): Likewise.
-
-2021-03-11 Patrick Palka <ppalka@redhat.com>
-
- * src/c++17/ryu/LOCAL_PATCHES: New file.
-
-2021-03-11 Patrick Palka <ppalka@redhat.com>
-
- * src/c++17/floating_to_chars.cc (uint128_t): New conditionally
- defined alias of unsigned __int128.
- (floating_type_traits_binary128::mantissa_t): Use uint128_t
- instead of unsigned __int128.
- (floating_type_traits<long double>::mantissa_t)
- [LONG_DOUBLE_KIND == LDK_IBM128]: Likewise.
- (get_ieee_repr): Likewise. Make casts from uint_t to mantissa_t
- and uint32_t explicit. Simplify the extraction of mantissa,
- exponent and sign bit.
-
-2021-03-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/barrier (barrier::arrival_token): New move-only
- class that encapsulates the underlying token value.
-
-2021-03-11 Jonathan Wakely <jwakely@redhat.com>
-
- * python/libstdcxx/v6/printers.py (find_type): Use tag attribute
- instead of unqualified() method.
-
-2021-03-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99537
- * include/std/stop_token (_Stop_state_t::_M_release_ownership):
- Use acq_rel memory ordering.
-
-2021-03-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99533
- * src/c++17/fs_dir.cc (recursive_directory_iterator): Use new
- helper function to check for permission denied errors.
- * src/filesystem/dir.cc (recursive_directory_iterator):
- Likewise.
- * src/filesystem/dir-common.h (is_permission_denied_error): New
- helper function.
-
-2021-03-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99536
- * include/bits/random.h (normal_distribution): Use
- default-initializer for _M_saved and _M_saved_available.
-
-2021-03-10 John David Anglin <danglin@gcc.gnu.org>
-
- * testsuite/29_atomics/atomic/wait_notify/bool.cc: Add options to
- link with libatomic.
- * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
- * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
- * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
- * testsuite/30_threads/barrier/arrive.cc: Likewise.
- * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
- * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
- * testsuite/30_threads/barrier/completion.cc: Likewise.
- * testsuite/30_threads/latch/3.cc: Likewise.
- * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
- * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
- * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
-
-2021-03-10 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99413
- * include/bits/align.h: Include debug/assertions.h.
- * include/bits/codecvt.h: Include bits/c++config.h.
- * include/bits/enable_special_members.h: Likewise.
- * include/bits/erase_if.h: Likewise.
- * include/bits/functional_hash.h: Include <type_traits>.
- * include/bits/invoke.h: Include bits/move.h.
- * include/bits/ostream_insert.h: Include bits/exception_defines.h.
- * include/bits/parse_numbers.h: Include <type_traits>.
- * include/bits/predefined_ops.h: Include bits/c++config.h.
- * include/bits/range_access.h: Include bits/stl_iterator.h.
- * include/bits/stl_bvector.h: Do not include bits/stl_vector.h.
- * include/bits/stl_iterator.h: Include bits/stl_iterator_base_types.h.
- * include/bits/stl_uninitialized.h: Include bits/stl_algobase.h.
- * include/bits/uniform_int_dist.h: Include bits/concept_check.h.
- * include/bits/unique_lock.h: Include bits/std_mutex.h.
- * include/debug/assertions.h: Include bits/c++config.h.
-
-2021-03-10 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_cmp.h (__eq_builtin_ptr_cmp): Remove.
- (ranges::equal_to, ranges::not_equal_to): Do not constrain
- with __eq_builtin_ptr_cmp.
- (ranges::less, ranges::greater, ranges::less_equal)
- (ranges::greater_equal): Do not constrain with
- __less_builtin_ptr_cmp.
- * libsupc++/compare (compare_three_way): Do not constrain with
- __3way_builtin_ptr_cmp.
- * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to...
- * testsuite/18_support/comparisons/object/lwg3530.cc: ...here.
- * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test.
-
-2021-03-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/std/time/syn_c++20.cc: Enable synopsis checks for
- C++20 calendar types.
-
-2021-03-06 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/99396
- * include/std/bit (__rotl, __rotr): Add optimized variants for power of
- two _Nd which the compiler can pattern match the rotates.
-
-2021-03-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99382
- * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc:
- Make storage larger than required. Verify no write to the last
- element.
- * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
- Likewise.
-
-2021-03-03 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.
-
-2021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * include/experimental/bits/simd.h: Replace reserved _X, _B by
- _Xp, _Bp.
- * include/experimental/bits/simd_builtin.h: Likewise.
- * include/experimental/bits/simd_x86.h: Likewise.
-
-2021-02-27 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99301
- * include/std/chrono (year_month_day::_M_days_since_epoch()):
- Convert chrono::month and chrono::day to unsigned before
- converting to uint32_t.
-
-2021-02-25 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/chrono (year_month_day::_S_from_days): Perform
- all calculations with type uint32_t.
-
-2021-02-25 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/abi.xml: Document versioning for GCC 11.
- * doc/html/manual/abi.html: Regenerate.
-
-2021-02-25 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99270
- * testsuite/27_io/headers/cstdio/types_std.cc: Use pointer to
- FILE instead of FILE.
-
-2021-02-25 Andreas Schwab <schwab@suse.de>
-
- * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
-
-2021-02-25 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99265
- * include/std/chrono (year_month_day::_S_from_days): Cast long
- to int explicitly.
-
-2021-02-25 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/utility (to_underlying): Define.
- * include/std/version (__cpp_lib_to_underlying): Define.
- * testsuite/20_util/to_underlying/1.cc: New test.
- * testsuite/20_util/to_underlying/version.cc: New test.
-
-2021-02-24 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99261
- * src/c++17/floating_to_chars.cc (sprintf_ld): Add extra args
- before value to be printed.
-
-2021-02-24 Patrick Palka <ppalka@redhat.com>
-
- * src/c++17/floating_to_chars.cc (__floating_to_chars_precision):
- Relax the condition that guards the printf code path to accept
- F128_type as well as long double.
-
-2021-02-24 Cassio Neri <cassio.neri@gmail.com>
-
- * include/std/chrono (year_month_day_last:day): New
- implementation.
-
-2021-02-24 Cassio Neri <cassio.neri@gmail.com>
-
- * include/std/chrono (year::is_leap): New implementation.
- * testsuite/std/time/year/2.cc: New test.
-
-2021-02-24 Cassio Neri <cassio.neri@gmail.com>
-
- * include/std/chrono (year_month_day::_M_days_since_epoch):
- New implementation.
- * testsuite/std/time/year_month_day/4.cc: New test.
-
-2021-02-24 Cassio Neri <cassio.neri@gmail.com>
-
- * include/std/chrono (year_month_day::_S_from_days): New
- implementation.
- * testsuite/std/time/year_month_day/3.cc: New test.
-
-2021-02-24 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/98384
- * testsuite/20_util/to_chars/long_double.cc: Include <optional>.
- (test01): Simplify verifying the nearby values by using a
- 2-iteration loop and a dedicated output buffer to check that the
- nearby values are different. Factor out the printf-based
- verification into a local function, and check that the leading
- hex digits agree before comparing to the output of printf. Also
- verify the output by round-tripping it through from_chars.
-
-2021-02-24 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/98389
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars
- symbols for long double arguments mangled as 'g'.
- * config/os/gnu-linux/ldbl-extra.ver: Likewise.
- * config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise.
- * src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]:
- Use -mabi=ibmlongdouble for floating_to_chars.cc.
- * src/c++17/Makefile.in: Regenerate.
- * src/c++17/floating_to_chars.cc (floating_type_traits_binary128):
- New type defining type traits of IEEE binary128 format.
- (floating_type_traits<__float128>): Define specialization.
- (floating_type_traits<long double>): Define in terms of
- floating_type_traits_binary128 when appropriate.
- (floating_to_shortest_scientific): Handle __float128.
- (sprintf_ld): New function template for printing a long double
- or __ieee128 value using sprintf.
- (__floating_to_chars_shortest, __floating_to_chars_precision):
- Use sprintf_ld.
- (to_chars): Define overloads for __float128.
-
-2021-02-24 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/17_intro/names.cc: Undefine 'u' on powerpc*-linux*.
-
-2021-02-23 Martin Sebor <msebor@redhat.com>
-
- PR c++/99074
- * libsupc++/dyncast.cc (__dynamic_cast): Return null when
- first argument is null.
-
-2021-02-23 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/99181
- * testsuite/21_strings/char_traits/requirements/char/99181.cc: New
- test.
-
-2021-02-23 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/99181
- * include/bits/char_traits.h (char_traits<char>::compare): For
- constexpr evaluation don't call
- __gnu_cxx::char_traits<char_type>::compare but do the comparison loop
- directly.
-
-2021-02-23 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/97549
- * include/pstl/parallel_backend_serial.h: Remove __pstl::__par_backend.
-
-2021-02-23 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/98384
- * src/c++17/floating_to_chars.cc (get_ieee_repr): Extract
- the high- and low-order parts from an IBM long double value
- in an endian-agnostic way.
-
-2021-02-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/atomic_wait.h (__thread_relax()): Call
- __thread_yield() not __gthread_yield().
-
-2021-02-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/atomic_wait.h (__thread_yield()): Check
- _GLIBCXX_HAS_GTHREADS before using __gthread_yield.
- (__thread_relax()): Use __thread_yield() instead of repeating
- the preprocessor checks for __gthread_yield.
-
-2021-02-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/mutex (once_flag::_M_activate()): Add explicit
- return statement for passive case.
- (once_flag::_M_finish(bool)): Use reserved name for parameter.
-
-2021-02-14 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99096
- * testsuite/util/testsuite_fs.h: Always include <unistd.h>.
-
-2021-02-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/88881
- * src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
-
-2021-02-12 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2014.xml: Document implementation
- specific properties of std::experimental::filesystem::rename.
- * doc/xml/manual/status_cxx2017.xml: Document implementation
- specific properties of std::filesystem::rename.
- * doc/html/*: Regenerate.
- * src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour
- for directories on Windows.
- * src/filesystem/ops-common.h (__gnu_posix::rename): Use
- MoveFileExW on Windows.
- * testsuite/27_io/filesystem/operations/rename.cc: New test.
- * testsuite/experimental/filesystem/operations/rename.cc: New test.
-
-2021-02-12 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/util/testsuite_fs.h (nonexistent_path): Add
- random number to the path.
-
-2021-02-12 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/internet (address_v6::to_string): Include
- scope ID in string.
- * testsuite/experimental/net/internet/address/v6/members.cc:
- Test to_string() results.
-
-2021-02-12 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/internet (address_v6::any): Avoid using
- memcpy in constexpr function.
- (address_v6::loopback): Likewise.
- (make_address_v6): Fix missing return statements on error paths.
- * include/experimental/io_context: Avoid -Wdangling-else
- warning.
- * testsuite/experimental/net/internet/address/v4/members.cc:
- Remove unused variables.
- * testsuite/experimental/net/internet/address/v6/members.cc:
- New test.
-
-2021-02-12 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr_base.h (__shared_ptr::_M_get_deleter):
- Add unused attribute to parameter.
- * src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq):
- Likewise.
-
-2021-02-12 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail
- if -fno-rtti is used.
- * testsuite/30_threads/async/forced_unwind.cc: Expect test
- to abort if -fno-rtti is used.
-
-2021-02-12 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/util/testsuite_allocator.h (memory_resource):
- Remove requirement for RTTI and exceptions to be enabled.
-
-2021-02-12 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Use
- static_cast when RTTI is disabled.
- * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc:
- Likewise.
- * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc:
- Likewise.
- * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc:
- Likewise.
- * testsuite/27_io/basic_stringstream/str/char/2.cc:
- Likewise.
- * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc:
- Likewise.
-
-2021-02-12 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/ostream (__syncbuf_base::_S_get): Mark parameter
- as unused and only use dynamic_cast when RTTI is enabled.
-
-2021-02-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99077
- * src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)):
- Change int parameter to error_code, to match std::ios_failure.
- (__throw_ios_failure(const char*, int)): Construct error_code
- from int parameter.
-
-2021-02-11 Jonathan Wakely <jwakely@redhat.com>
-
- * libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define
- new macro.
- * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new
- macro instead of _GLIBCXX_EH_PTR_COMPAT.
- (operator==): Likewise.
-
-2021-02-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99058
- * doc/xml/manual/status_cxx2011.xml: Document when support
- became stable.
- * doc/xml/manual/status_cxx2014.xml: Likewise.
- * doc/xml/manual/status_cxx2017.xml: Likewise.
- * doc/html/manual/status.html: Regenerate.
-
-2021-02-10 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/88881
- * src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
-
-2021-02-10 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent)
- (fs::remove): Use std::system_category() for error codes from
- GetLastError().
- * src/filesystem/ops.cc (fs::create_hard_link, fs::remove):
- Likewise.
-
-2021-02-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo
- in __MINGW32__ macro name.
- * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
- * testsuite/27_io/filesystem/path/generation/proximate.cc:
- Likewise.
- * testsuite/27_io/filesystem/path/generation/relative.cc:
- Likewise.
- * testsuite/util/testsuite_fs.h: Likewise.
-
-2021-02-09 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/stl_tree.h
- (__has_is_transparent, __has_is_transparent_t): Move...
- * include/bits/stl_function.h: ...here.
- * include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New..
- (_Hashtable_base<>::_M_equals_tr): New.
- * include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr,
- _Hashtable<>::_M_equal_range_tr): New member function templates to perform
- heterogeneous lookup.
- (_Hashtable<>::_M_find_before_node_tr): New.
- (_Hashtable<>::_M_find_node_tr): New.
- * include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>,
- unordered_map::contains<>, unordered_map::equal_range<>): New member function
- templates to perform heterogeneous lookup.
- (unordered_multimap::find<>, unordered_multimap::count<>,
- unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise.
- * include/bits/unordered_set.h (unordered_set::find<>, unordered_set::count<>,
- unordered_set::contains<>, unordered_set::equal_range<>): Likewise.
- (unordered_multiset::find<>, unordered_multiset::count<>,
- unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise.
- * include/debug/unordered_map
- (unordered_map::find<>, unordered_map::equal_range<>): Likewise.
- (unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise.
- * include/debug/unordered_set
- (unordered_set::find<>, unordered_set::equal_range<>): Likewise.
- (unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise.
- * testsuite/23_containers/unordered_map/operations/1.cc: New test.
- * testsuite/23_containers/unordered_multimap/operations/1.cc: New test.
- * testsuite/23_containers/unordered_multiset/operations/1.cc: New test.
- * testsuite/23_containers/unordered_set/operations/1.cc: New test.
-
-2021-02-09 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/stl_deque.h
- (std::operator-(deque::iterator, deque::iterator)): Replace if/then with
- a null pointer test.
-
-2021-02-09 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/27_io/filesystem/operations/remove_all.cc: Remove
- test directory after making it writable again.
- * testsuite/experimental/filesystem/operations/remove_all.cc:
- Likewise.
-
-2021-02-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99021
- * include/std/coroutine (coroutine_handle<P>::from_address): Add
- noexcept.
-
-2021-02-09 Vladimir Vishnevsky <vv.os.swe@gmail.com>
-
- * include/ext/stdio_sync_filebuf.h: Remove unused <unistd.h>.
- * src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t.
-
-2021-02-09 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/98465
- * include/bits/basic_string.tcc (basic_string::_M_replace): When __s
- points to the characters moved by earlier _S_move, compute the source
- address using expression based on the __p pointer rather than __s
- pointer.
-
-2021-02-03 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/19_diagnostics/error_code/operators/not_equal.cc:
- Add comparison with same category and different values.
- * testsuite/19_diagnostics/error_code/operators/less.cc:
- Likewise. Fix comparison involving different categories.
- * testsuite/19_diagnostics/error_code/operators/three_way.cc:
- Likewise.
- * testsuite/19_diagnostics/error_condition/operators/less.cc:
- Add comment.
- * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
- Likewise.
-
-2021-02-03 yaozhongxiao <yaozhongxiao@linux.alibaba.com>
-
- * include/experimental/bits/simd_neon.h: Replace repeated vpadd
- calls with a single vaddv for aarch64.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * testsuite/Makefile.am: Warn about the workaround. Add
- -fno-tree-vrp to CXXFLAGS passed to the check_simd script.
- Improve initial user feedback from make check-simd.
- * testsuite/Makefile.in: Regenerated.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * include/experimental/bits/simd.h: Add __detail::_Minimum and
- __detail::_Maximum to use them as _BinaryOperation to _S_reduce.
- Add hmin and hmax overloads for simd and const_where_expression.
- * include/experimental/bits/simd_scalar.h
- (_SimdImplScalar::_S_reduce): Make unused _BinaryOperation
- parameter const-ref to allow calling _S_reduce with an rvalue.
- * testsuite/experimental/simd/tests/reductions.cc: Add tests for
- hmin and hmax. Since the compiler statically determined that all
- tests pass, repeat the test after a call to make_value_unknown.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * testsuite/experimental/simd/tests/bits/verify.h (verify): Add
- instruction pointer data member. Ensure that the `if (m_failed)`
- branch is always inlined into the calling code. The body of the
- conditional can still be a function call. Move the get_ip call
- into the verify ctor to simplify the ctor calls.
- (COMPARE): Don't mention the use of all_of for reduction of a
- simd_mask. It only distracts from the real issue.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * testsuite/experimental/simd/driver.sh: Abstract reading test
- options into read_src_option function. Read skip, only,
- expensive, and xfail via read_src_option. Add timeout and
- timeout-factor options and adjust timeout variable accordingly.
- * testsuite/experimental/simd/tests/loadstore.cc: Set
- timeout-factor 2.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * testsuite/experimental/simd/driver.sh: When handling the pipe
- to log (and on verbose to stdout) count the lines. If it exceeds
- 1000 log the issue and exit 125, which is then handled as a
- failure.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip:
- markup for long double on powerpc64*.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * include/experimental/bits/simd.h: Add __have_power10vec
- conditional on _ARCH_PWR10.
- * include/experimental/bits/simd_builtin.h: Forward declare
- _MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is
- defined.
- (_MaskImplBuiltin::_S_some_of): Call _S_popcount from the
- _SuperImpl for optimizations and correctness.
- * include/experimental/bits/simd_ppc.h: Add _MaskImplPpc.
- (_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10.
- Otherwise, for >=int use -vec_sums divided by a sizeof factor.
- For <int use -vec_sums(vec_sum4s(...)) to sum all mask entries.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * testsuite/experimental/simd/driver.sh: Remove executable on
- SIGINT. Process compiler and test executable output: In verbose
- mode print messages immediately, limited to 1000 lines and
- breaking long lines to below $COLUMNS (or 1024 if not set).
- Communicating the exit status of the compiler / test with the
- necessary pipe is done via a message through stdout/-in.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * testsuite/Makefile.am: Ensure .simd.summary is empty before
- collecting a new summary.
- * testsuite/Makefile.in: Regenerate.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * testsuite/experimental/simd/generate_makefile.sh: Use
- different variables internally than documented for user
- overrides. This makes internal append/prepend work as intended.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * testsuite/experimental/simd/driver.sh (verify_test): Print
- test output on run xfail. Do not repeat lines from the log that
- were already printed on stdout.
- (test_selector): Make the compiler flags pattern usable as a
- substring selector.
- (toplevel): Trap on SIGINT and remove the log and sum files.
- Call timout with --foreground to quickly terminate on SIGINT.
- * testsuite/experimental/simd/generate_makefile.sh: Simplify run
- targets via target patterns. Default DRIVEROPTS to -v for run
- targets. Remove log and sum files after completion of the run
- target (so that it's always recompiled).
- Place help text into text file for reasonable 'make help'
- performance.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * include/experimental/bits/simd.h: Remove unnecessary static
- assertion. Allow sizeof(8) integer __intrinsic_type to enable
- the necessary mask type.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * include/experimental/bits/simd.h: Let __intrinsic_type<long
- double, N> be valid if sizeof(long double) == sizeof(double) and
- use a __vector double as member type.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * include/experimental/bits/simd.h (__is_intrinsic_type): New
- internal type trait. Alias for __is_vector_type on x86.
- (_VectorTraitsImpl): Enable for __intrinsic_type in addition for
- __vector_type.
- (__intrin_bitcast): Allow casting to & from vector & intrinsic
- types.
- (__intrinsic_type): Explicitly specialize for NEON intrinsic
- vector types.
-
-2021-02-03 Matthias Kretz <kretz@kde.org>
-
- * testsuite/experimental/simd/driver.sh: Implement skip, only,
- expensive, and xfail markers. They can select on type, ABI tag
- subset number, target-triplet, and compiler flags.
- * testsuite/experimental/simd/generate_makefile.sh: The summary
- now includes lines for unexpected passes and expected failures.
- If the skip or only markers are only conditional on the type, do
- not generate rules for those types.
- * testsuite/experimental/simd/tests/abs.cc: Mark test expensive
- for ABI tag subsets 1-9.
- * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
- * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
- * testsuite/experimental/simd/tests/casts.cc: Ditto.
- * testsuite/experimental/simd/tests/generator.cc: Ditto.
- * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
- * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
- * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
- * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
- * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
- * testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto.
- * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
- * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
- * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
- * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
- * testsuite/experimental/simd/tests/operators.cc: Ditto.
- * testsuite/experimental/simd/tests/reductions.cc: Ditto.
- * testsuite/experimental/simd/tests/simd.cc: Ditto.
- * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
- * testsuite/experimental/simd/tests/splits.cc: Ditto.
- * testsuite/experimental/simd/tests/where.cc: Ditto.
- * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In
- addition replace "test only floattypes" marker by unconditional
- "float|double|ldouble" only marker.
- * testsuite/experimental/simd/tests/frexp.cc: Ditto.
- * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
- * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
- Ditto.
- * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
- * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
- * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
- * testsuite/experimental/simd/tests/remqo.cc: Ditto.
- * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
- * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
- * testsuite/experimental/simd/tests/sincos.cc: Ditto. In
- addition, xfail on run because the reference data is missing.
-
-2021-02-02 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2011.xml: Remove stray table cell.
- * doc/xml/manual/status_cxx2014.xml: Likewise.
- * doc/xml/manual/status_cxx2017.xml: Likewise.
- * doc/html/manual/status.html: Regenerate.
-
-2021-02-01 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/70303
- * include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)):
- Return 0 if both iterators are value-initialized.
- * testsuite/23_containers/deque/70303.cc: New test.
- * testsuite/23_containers/vector/70303.cc: New test.
-
-2021-02-01 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2011.xml: Update std::call_once
- status.
- * doc/xml/manual/status_cxx2014.xml: Likewise.
- * doc/xml/manual/status_cxx2017.xml: Likewise. Update
- std::from_chars and std::to_chars status. Fix formatting.
- * doc/html/manual/status.html: Regenerate.
-
-2021-01-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/bits/numeric_traits.h: Update copyright
- dates.
- * include/experimental/bits/simd.h: Likewise.
- * include/experimental/bits/simd_builtin.h: Likewise.
- * include/experimental/bits/simd_converter.h: Likewise.
- * include/experimental/bits/simd_detail.h: Likewise.
- * include/experimental/bits/simd_fixed_size.h: Likewise.
- * include/experimental/bits/simd_math.h: Likewise.
- * include/experimental/bits/simd_neon.h: Likewise.
- * include/experimental/bits/simd_ppc.h: Likewise.
- * include/experimental/bits/simd_scalar.h: Likewise.
- * include/experimental/bits/simd_x86.h: Likewise.
- * include/experimental/bits/simd_x86_conversions.h: Likewise.
- * include/experimental/simd: Likewise.
- * testsuite/experimental/simd/*: Likewise.
-
-2021-01-27 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2017.xml: Replace invalid entity.
- * doc/html/*: Regenerate.
-
-2021-01-27 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/experimental/simd/generate_makefile.sh: Use printf
- instead of echo when printing escape characters.
-
-2021-01-27 Matthias Kretz <kretz@kde.org>
-
- * scripts/check_simd: New file. This script is called from the
- the check-simd target. It determines a set of compiler flags and
- simulator setups for calling generate_makefile.sh and passes the
- information back to the check-simd target, which recurses to the
- generated Makefiles.
- * scripts/create_testsuite_files: Remove files below simd/tests/
- from testsuite_files and place them in testsuite_files_simd.
- * testsuite/Makefile.am: Add testsuite_files_simd. Add
- check-simd target.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/experimental/simd/driver.sh: New file. This script
- compiles and runs a given simd test, logging its output and
- status. It uses the timeout command to implement compile and
- test timeouts.
- * testsuite/experimental/simd/generate_makefile.sh: New file.
- This script generates a Makefile which uses driver.sh to compile
- and run the tests and collect the logs into a single log file.
- * testsuite/experimental/simd/tests/abs.cc: New file. Tests
- abs(simd).
- * testsuite/experimental/simd/tests/algorithms.cc: New file.
- Tests min/max(simd, simd).
- * testsuite/experimental/simd/tests/bits/conversions.h: New
- file. Contains functions to support tests involving conversions.
- * testsuite/experimental/simd/tests/bits/make_vec.h: New file.
- Support functions make_mask and make_vec.
- * testsuite/experimental/simd/tests/bits/mathreference.h: New
- file. Support functions to supply precomputed math function
- reference data.
- * testsuite/experimental/simd/tests/bits/metahelpers.h: New
- file. Support code for SFINAE testing.
- * testsuite/experimental/simd/tests/bits/simd_view.h: New file.
- * testsuite/experimental/simd/tests/bits/test_values.h: New
- file. Test functions to easily drive a test with simd objects
- initialized from a given list of values and a range of random
- values.
- * testsuite/experimental/simd/tests/bits/ulp.h: New file.
- Support code to determine the ULP distance of simd objects.
- * testsuite/experimental/simd/tests/bits/verify.h: New file.
- Test framework for COMPARE'ing simd objects and instantiating
- the test templates with value_type and ABI tag.
- * testsuite/experimental/simd/tests/broadcast.cc: New file. Test
- simd broadcasts.
- * testsuite/experimental/simd/tests/casts.cc: New file. Test
- simd casts.
- * testsuite/experimental/simd/tests/fpclassify.cc: New file.
- Test floating-point classification functions.
- * testsuite/experimental/simd/tests/frexp.cc: New file. Test
- frexp(simd).
- * testsuite/experimental/simd/tests/generator.cc: New file. Test
- simd generator constructor.
- * testsuite/experimental/simd/tests/hypot3_fma.cc: New file.
- Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim).
- * testsuite/experimental/simd/tests/integer_operators.cc: New
- file. Test integer operators.
- * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
- New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and
- modf(simd).
- * testsuite/experimental/simd/tests/loadstore.cc: New file. Test
- (converting) simd loads and stores.
- * testsuite/experimental/simd/tests/logarithm.cc: New file. Test
- log*(simd).
- * testsuite/experimental/simd/tests/mask_broadcast.cc: New file.
- Test simd_mask broadcasts.
- * testsuite/experimental/simd/tests/mask_conversions.cc: New
- file. Test simd_mask conversions.
- * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New
- file. Test simd_mask implicit conversions.
- * testsuite/experimental/simd/tests/mask_loadstore.cc: New file.
- Test simd_mask loads and stores.
- * testsuite/experimental/simd/tests/mask_operator_cvt.cc: New
- file. Test simd_mask operators convert as specified.
- * testsuite/experimental/simd/tests/mask_operators.cc: New file.
- Test simd_mask compares, subscripts, and negation.
- * testsuite/experimental/simd/tests/mask_reductions.cc: New
- file. Test simd_mask reductions.
- * testsuite/experimental/simd/tests/math_1arg.cc: New file. Test
- 1-arg math functions on simd.
- * testsuite/experimental/simd/tests/math_2arg.cc: New file. Test
- 2-arg math functions on simd.
- * testsuite/experimental/simd/tests/operator_cvt.cc: New file.
- Test implicit conversions on simd binary operators behave as
- specified.
- * testsuite/experimental/simd/tests/operators.cc: New file. Test
- simd compares, subscripts, not, unary minus, plus, minus,
- multiplies, divides, increment, and decrement.
- * testsuite/experimental/simd/tests/reductions.cc: New file.
- Test reduce(simd).
- * testsuite/experimental/simd/tests/remqo.cc: New file. Test
- remqo(simd).
- * testsuite/experimental/simd/tests/simd.cc: New file. Basic
- sanity checks of simd types.
- * testsuite/experimental/simd/tests/sincos.cc: New file. Test
- sin(simd) and cos(simd).
- * testsuite/experimental/simd/tests/split_concat.cc: New file.
- Test split(simd) and concat(simd, simd).
- * testsuite/experimental/simd/tests/splits.cc: New file. Test
- split(simd_mask).
- * testsuite/experimental/simd/tests/trigonometric.cc: New file.
- Test remaining trigonometric functions on simd.
- * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New
- file. Test trunc(simd), ceil(simd), and floor(simd).
- * testsuite/experimental/simd/tests/where.cc: New file. Test
- masked operations using where.
-
-2021-01-27 Matthias Kretz <kretz@kde.org>
-
- * doc/xml/manual/status_cxx2017.xml: Add implementation status
- of the Parallelism TS 2. Document implementation-defined types
- and behavior.
- * include/Makefile.am: Add new headers.
- * include/Makefile.in: Regenerate.
- * include/experimental/simd: New file. New header for
- Parallelism TS 2.
- * include/experimental/bits/numeric_traits.h: New file.
- Implementation of P1841R1 using internal naming. Addition of
- missing IEC559 functionality query.
- * include/experimental/bits/simd.h: New file. Definition of the
- public simd interfaces and general implementation helpers.
- * include/experimental/bits/simd_builtin.h: New file.
- Implementation of the _VecBuiltin simd_abi.
- * include/experimental/bits/simd_converter.h: New file. Generic
- simd conversions.
- * include/experimental/bits/simd_detail.h: New file. Internal
- macros for the simd implementation.
- * include/experimental/bits/simd_fixed_size.h: New file. Simd
- fixed_size ABI specific implementations.
- * include/experimental/bits/simd_math.h: New file. Math
- overloads for simd.
- * include/experimental/bits/simd_neon.h: New file. Simd NEON
- specific implementations.
- * include/experimental/bits/simd_ppc.h: New file. Implement bit
- shifts to avoid invalid results for integral types smaller than
- int.
- * include/experimental/bits/simd_scalar.h: New file. Simd scalar
- ABI specific implementations.
- * include/experimental/bits/simd_x86.h: New file. Simd x86
- specific implementations.
- * include/experimental/bits/simd_x86_conversions.h: New file.
- x86 specific conversion optimizations. The conversion patterns
- work around missing conversion patterns in the compiler and
- should be removed as soon as PR85048 is resolved.
- * testsuite/experimental/simd/standard_abi_usable.cc: New file.
- Test that all (not all fixed_size<N>, though) standard simd and
- simd_mask types are usable.
- * testsuite/experimental/simd/standard_abi_usable_2.cc: New
- file. As above but with -ffast-math.
- * testsuite/libstdc++-dg/conformance.exp: Don't build simd tests
- from the standard test loop. Instead use
- check_vect_support_and_set_flags to build simd tests with the
- relevant machine flags.
-
-2021-01-27 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/66414
- * include/bits/string_view.tcc
- (basic_string_view::find(const CharT*, size_type, size_type)):
- Optimize.
-
-2021-01-27 Paul Fee <paul.f.fee@gmail.com>
-
- * include/bits/basic_string.h (basic_string::contains): New
- member functions.
- * include/std/string_view (basic_string_view::contains):
- Likewise.
- * include/std/version (__cpp_lib_string_contains): Define.
- * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
- Remove trailing whitespace.
- * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test.
- * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test.
- * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test.
- * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test.
- * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test.
-
-2021-01-21 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++17/Makefile.in: Regenerate.
-
-2021-01-20 David Edelsohn <dje.gcc@gmail.com>
-
- * config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast
- _OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to
- __lc_type.
- (const char* ctype<char>:: is): Same.
-
-2021-01-18 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/98725
- * testsuite/20_util/unique_ptr/io/lwg2948.cc: Do not try to
- write to a wide character stream if wide character support is
- disabled in the library.
-
-2021-01-18 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/27_io/basic_stringstream/cons/char/1.cc: Use
- stringbuf not wstringbuf.
-
-2021-01-18 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/98708
- * src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s):
- Compile with -gno-as-loc-support.
- * src/c++11/Makefile.in: Regenerated.
-
-2021-01-16 H.J. Lu <hjl.tools@gmail.com>
-
- * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
- Add -fcf-protection=none to -march=i486.
-
-2021-01-14 François Dumont <fdumont@gcc.gnu.org>
-
- * testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11
- compliant.
-
-2021-01-14 Alexandre Oliva <oliva@adacore.com>
-
- * testsuite/30_threads/future/members/poll.cc: Calibrate
- iteration count.
-
-2021-01-14 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/98466
- * include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr.
- (_Node_iterator()): Make default.
- (_Node_const_iterator()): Make default.
- * include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular
- iterator checks.
- * include/debug/safe_iterator.h
- (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized.
- * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
- Likewise.
- * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add
- _M_singular checks on input iterators.
- * src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular
- checks.
- * testsuite/23_containers/deque/debug/98466.cc: New test.
- * testsuite/23_containers/unordered_map/debug/98466.cc: New test.
-
-2021-01-14 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/98471
- * include/bits/fs_path.h (__throw_conversion_error): New
- function to throw or abort on character conversion errors.
- (__wstr_from_utf8): Move definition after filesystem_error has
- been defined. Use __throw_conversion_error.
- (path::_S_convert<_EcharT>): Use __throw_conversion_error.
- (path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise.
- (path::u8string): Likewise.
-
-2021-01-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/barrier: Update copyright years. Fix whitespace.
- * include/std/version: Fix whitespace.
- * testsuite/30_threads/barrier/1.cc: Update copyright years.
- * testsuite/30_threads/barrier/2.cc: Likewise.
- * testsuite/30_threads/barrier/arrive.cc: Likewise.
- * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
- * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
- * testsuite/30_threads/barrier/completion.cc: Likewise.
-
-2021-01-13 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array.
-
-2021-01-10 David Edelsohn <dje.gcc@gmail.com>
-
- PR libstdc++/98613
- * testsuite/ext/vstring/cons/moveable.cc: Suppress false positive
- warning.
- * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same.
-
-2021-01-08 Olivier Hainque <hainque@adacore.com>
-
- * testsuite/20_util/bind/ref_neg.cc: Tweak the
- dg-prune-output regex for out-of-build-tree contexts.
-
-2021-01-07 Thomas Rodgers <trodgers@redhat.com>
-
- * doc/doxygen/user.cfg.in: Add new header.
- * include/Makefile.am (std_headers): likewise.
- * include/Makefile.in: Regenerate.
- * include/precompiled/stdc++.h: Add new header.
- * include/std/barrier: New file.
- * include/std/version: Add __cpp_lib_barrier feature test macro.
- * testsuite/30_threads/barrier/1.cc: New test.
- * testsuite/30_threads/barrier/2.cc: Likewise.
- * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
- * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
- * testsuite/30_threads/barrier/arrive.cc: Likewise.
- * testsuite/30_threads/barrier/completion.cc: Likewise.
-
-2021-01-07 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/98384
- * testsuite/20_util/to_chars/long_double.cc: Use nexttowardl
- instead of the non-standard nextupl and nextdownl.
-
-2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
-
- * configure: Re-generate.
-
-2021-01-05 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- * include/precompiled/stdc++.h: Add <source_location> to C++20 section.
-
-2021-01-01 Jakub Jelinek <jakub@redhat.com>
-
- * ChangeLog-2020: Rotate ChangeLog. New file.
-
-Copyright (C) 2021 Free Software Foundation, Inc.
+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