| 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. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |