| 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. |
| |
| |