1 1.1 mrg 2021-12-15 Franois Dumont <fdumont (a] gcc.gnu.org> 2 1.1 mrg 3 1.1 mrg * include/bits/stl_iterator.h 4 1.1 mrg (std::pointer_traits<__gnu_cxx::__normal_iterator<>>): Remove. 5 1.1 mrg (std::__to_address(const __gnu_cxx::__normal_iterator<>&)): New for C++11 to C++17. 6 1.1 mrg * include/debug/safe_iterator.h 7 1.1 mrg (std::__to_address(const __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<>, 8 1.1 mrg _Sequence>&)): New for C++11 to C++17. 9 1.1 mrg * testsuite/24_iterators/normal_iterator/to_address.cc: Add check on std::vector::iterator 10 1.1 mrg to validate both __gnu_cxx::__normal_iterator<> __to_address overload in normal mode and 11 1.1 mrg __gnu_debug::_Safe_iterator in _GLIBCXX_DEBUG mode. 12 1.1 mrg 13 1.1 mrg 2021-12-15 Jakub Jelinek <jakub (a] redhat.com> 14 1.1 mrg 15 1.1 mrg PR libstdc++/71557 16 1.1 mrg * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): 17 1.1 mrg Compare characters other than format specifiers and whitespace 18 1.1 mrg case insensitively. 19 1.1 mrg (_M_extract_name): Compare characters case insensitively. 20 1.1 mrg * testsuite/22_locale/time_get/get/char/71557.cc: New test. 21 1.1 mrg * testsuite/22_locale/time_get/get/wchar_t/71557.cc: New test. 22 1.1 mrg 23 1.1 mrg 2021-12-14 Jonathan Wakely <jwakely (a] redhat.com> 24 1.1 mrg 25 1.1 mrg PR libstdc++/103687 26 1.1 mrg * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Restore 27 1.1 mrg original locale before returning. 28 1.1 mrg * testsuite/22_locale/time_get/get_time/char/2.cc: Check for %p 29 1.1 mrg in locale's T_FMT and adjust accordingly. 30 1.1 mrg * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise. 31 1.1 mrg 32 1.1 mrg 2021-12-14 Jonathan Wakely <jwakely (a] redhat.com> 33 1.1 mrg 34 1.1 mrg PR libstdc++/102447 35 1.1 mrg * include/bits/regex_compiler.h (_Compiler::_BracketState): New 36 1.1 mrg class. 37 1.1 mrg (_Compiler::_BrackeyMatcher): New alias template. 38 1.1 mrg (_Compiler::_M_expression_term): Change pair<bool, CharT> 39 1.1 mrg parameter to _BracketState. Process first character for 40 1.1 mrg ECMAScript syntax as well as POSIX. 41 1.1 mrg * include/bits/regex_compiler.tcc 42 1.1 mrg (_Compiler::_M_insert_bracket_matcher): Pass _BracketState. 43 1.1 mrg (_Compiler::_M_expression_term): Use _BracketState to store 44 1.1 mrg state between calls. Improve handling of dashes in ranges. 45 1.1 mrg * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: 46 1.1 mrg Add more tests for ranges containing dashes. Check invalid 47 1.1 mrg ranges with character class at the beginning. 48 1.1 mrg 49 1.1 mrg 2021-12-14 Jonathan Wakely <jwakely (a] redhat.com> 50 1.1 mrg 51 1.1 mrg * include/ext/pointer.h (_Relative_pointer_impl::_UIntPtrType): 52 1.1 mrg Rename to uintptr_t and define as __UINTPTR_TYPE__. 53 1.1 mrg 54 1.1 mrg 2021-12-14 Jonathan Wakely <jwakely (a] redhat.com> 55 1.1 mrg 56 1.1 mrg * include/bits/regex_constants.h (__syntax_option, __match_flag): 57 1.1 mrg Remove. 58 1.1 mrg (syntax_option_type, match_flag_type): Define enumerators. 59 1.1 mrg Use to initialize globals. Add constexpr to compound assignment 60 1.1 mrg operators. 61 1.1 mrg * include/bits/regex_error.h (error_type): Add comment. 62 1.1 mrg * testsuite/28_regex/constants/constexpr.cc: Remove comment. 63 1.1 mrg * testsuite/28_regex/constants/error_type.cc: Improve comment. 64 1.1 mrg * testsuite/28_regex/constants/match_flag_type.cc: Check bitmask 65 1.1 mrg requirements. 66 1.1 mrg * testsuite/28_regex/constants/syntax_option_type.cc: Likewise. 67 1.1 mrg 68 1.1 mrg 2021-12-14 Jonathan Wakely <jwakely (a] redhat.com> 69 1.1 mrg 70 1.1 mrg * include/bits/regex_compiler.tcc (_Compiler::_M_match_token): 71 1.1 mrg Use reserved name for parameter. 72 1.1 mrg * testsuite/17_intro/names.cc: Check "token". 73 1.1 mrg 74 1.1 mrg 2021-12-13 Jonathan Wakely <jwakely (a] redhat.com> 75 1.1 mrg 76 1.1 mrg * scripts/make_exports.pl: Replace '?' with '.' when turning 77 1.1 mrg a glob into a regex. 78 1.1 mrg 79 1.1 mrg 2021-12-13 Jonathan Wakely <jwakely (a] redhat.com> 80 1.1 mrg 81 1.1 mrg * include/bits/ranges_base.h (ranges::size, ranges::empty): Add 82 1.1 mrg explicit check for unbounded arrays before using ranges::begin. 83 1.1 mrg * testsuite/std/ranges/access/empty.cc: Check handling of unbounded 84 1.1 mrg arrays. 85 1.1 mrg * testsuite/std/ranges/access/size.cc: Likewise. 86 1.1 mrg 87 1.1 mrg 2021-12-13 Jonathan Wakely <jwakely (a] redhat.com> 88 1.1 mrg 89 1.1 mrg PR libstdc++/103664 90 1.1 mrg * include/bits/regex.h (__regex_replace): Declare. 91 1.1 mrg (regex_replace): Use it. 92 1.1 mrg * include/bits/regex.tcc (__regex_replace): Replace regex_replace 93 1.1 mrg definition with __regex_replace. 94 1.1 mrg * testsuite/28_regex/algorithms/regex_replace/char/103664.cc: New test. 95 1.1 mrg 96 1.1 mrg 2021-12-11 Jason Merrill <jason (a] redhat.com> 97 1.1 mrg 98 1.1 mrg PR c++/103534 99 1.1 mrg * include/bits/basic_string.h (append (basic_string)): Call pointer 100 1.1 mrg append instead of _M_append directly. 101 1.1 mrg 102 1.1 mrg 2021-12-10 Jakub Jelinek <jakub (a] redhat.com> 103 1.1 mrg 104 1.1 mrg PR libstdc++/71367 105 1.1 mrg * config/locale/dragonfly/time_members.cc (_M_initialize_timepunct): 106 1.1 mrg Initialize "C" _M_am_pm_format to %I:%M:%S %p rather than empty 107 1.1 mrg string. 108 1.1 mrg * config/locale/gnu/time_members.cc (_M_initialize_timepunct): 109 1.1 mrg Likewise. 110 1.1 mrg * config/locale/generic/time_members.cc (_M_initialize_timepunct): 111 1.1 mrg Likewise. 112 1.1 mrg * include/bits/locale_facets_nonio.h (_M_am_pm_format): New method. 113 1.1 mrg * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Handle 114 1.1 mrg %r. 115 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_am_pm_format 116 1.1 mrg with const _CharT** argument, ensure it isn't exported in GLIBCXX_3.4. 117 1.1 mrg * testsuite/22_locale/time_get/get/char/71367.cc: New test. 118 1.1 mrg * testsuite/22_locale/time_get/get/wchar_t/71367.cc: New test. 119 1.1 mrg 120 1.1 mrg 2021-12-10 Jakub Jelinek <jakub (a] redhat.com> 121 1.1 mrg 122 1.1 mrg PR libstdc++/78714 123 1.1 mrg * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): 124 1.1 mrg Mention in function comment it interprets strptime format string 125 1.1 mrg rather than strftime. Handle %a and %A the same by accepting both 126 1.1 mrg full and abbreviated names. Similarly handle %h, %b and %B the same. 127 1.1 mrg Handle %d and %e the same by accepting possibly optional single space 128 1.1 mrg and 1 or 2 digits. For %I store tm_hour 0 instead of tm_hour 12. For 129 1.1 mrg %t and %n skip any whitespace. Handle %p and %%. For whitespace in 130 1.1 mrg the string skip any whitespace. 131 1.1 mrg (_M_extract_num): For __len == 2 accept 1 or 2 digits rather than 132 1.1 mrg always 2. Don't punt early if __value * __mult is larget than __max 133 1.1 mrg or smaller than __min - __mult, instead punt if __value > __max. 134 1.1 mrg At the end verify __value is in between __min and __max and punt 135 1.1 mrg otherwise. 136 1.1 mrg (_M_extract_name): Allow non-unique names or names which are prefixes 137 1.1 mrg of other names. Don't recompute lengths of names for every character. 138 1.1 mrg * testsuite/22_locale/time_get/get/char/3.cc: New test. 139 1.1 mrg * testsuite/22_locale/time_get/get/wchar_t/3.cc: New test. 140 1.1 mrg * testsuite/22_locale/time_get/get_date/char/12791.cc (test01): Use 141 1.1 mrg 62 instead 60 and expect 6 to be accepted and thus *ret01 == '2'. 142 1.1 mrg * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc (test01): 143 1.1 mrg Similarly. 144 1.1 mrg * testsuite/22_locale/time_get/get_time/char/2.cc (test02): Add " PM" 145 1.1 mrg to the string. 146 1.1 mrg * testsuite/22_locale/time_get/get_time/char/5.cc (test01): Expect 147 1.1 mrg tm_hour 1 rather than 0. 148 1.1 mrg * testsuite/22_locale/time_get/get_time/wchar_t/2.cc (test02): Add 149 1.1 mrg " PM" to the string. 150 1.1 mrg * testsuite/22_locale/time_get/get_time/wchar_t/5.cc (test01): Expect 151 1.1 mrg tm_hour 1 rather than 0. 152 1.1 mrg 153 1.1 mrg 2021-12-10 Jonathan Wakely <jwakely (a] redhat.com> 154 1.1 mrg 155 1.1 mrg PR libstdc++/103638 156 1.1 mrg * include/bits/atomic_timed_wait.h: Check _GLIBCXX_HAS_GTHREADS 157 1.1 mrg before using std::mutex and std::__condvar. 158 1.1 mrg 159 1.1 mrg 2021-12-10 Jonathan Wakely <jwakely (a] redhat.com> 160 1.1 mrg 161 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add _GLIBCXX_ 162 1.1 mrg prefix to NO_SLEEP macro. 163 1.1 mrg * config.h.in: Regenerate. 164 1.1 mrg * configure: Regenerate. 165 1.1 mrg 166 1.1 mrg 2021-12-10 Jonathan Wakely <jwakely (a] redhat.com> 167 1.1 mrg 168 1.1 mrg * include/bits/char_traits.h: Change pragma push to pop. 169 1.1 mrg 170 1.1 mrg 2021-12-10 Thomas Rodgers <rodgert (a] twrodgers.com> 171 1.1 mrg 172 1.1 mrg PR libstdc++/102994 173 1.1 mrg * include/bits/atomic_base.h (__atomic_base<_PTp*>::wait()): 174 1.1 mrg Add const qualifier. 175 1.1 mrg * include/std/atomic (atomic<_Tp*>::wait(), atomic_wait()): 176 1.1 mrg Likewise. 177 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/102994.cc: 178 1.1 mrg New test. 179 1.1 mrg 180 1.1 mrg 2021-12-09 Jonathan Wakely <jwakely (a] redhat.com> 181 1.1 mrg 182 1.1 mrg * include/bits/stl_iterator.h (operator==, operator<=>): Define 183 1.1 mrg overloads for homogeneous specializations of reverse_iterator, 184 1.1 mrg __normal_iterator and move_iterator. 185 1.1 mrg 186 1.1 mrg 2021-12-09 Jonathan Wakely <jwakely (a] redhat.com> 187 1.1 mrg 188 1.1 mrg * testsuite/20_util/scoped_allocator/69293_neg.cc: Remove 189 1.1 mrg dg-error for c++20. 190 1.1 mrg 191 1.1 mrg 2021-12-09 Jonathan Wakely <jwakely (a] redhat.com> 192 1.1 mrg 193 1.1 mrg PR libstdc++/85813 194 1.1 mrg * libsupc++/exception_ptr.h (__dest_thunk): Add macro for 195 1.1 mrg destructor calling convention. 196 1.1 mrg (make_exception_ptr): Enable non-throwing implementation for 197 1.1 mrg -fno-exceptions and for non-standard calling conventions. Use 198 1.1 mrg always_inline attribute on the useless no-rtti no-exceptions 199 1.1 mrg definition. 200 1.1 mrg * testsuite/18_support/exception_ptr/64241.cc: Add -fno-rtti so 201 1.1 mrg the no-op implementation is still used. 202 1.1 mrg 203 1.1 mrg 2021-12-09 Jonathan Wakely <jwakely (a] redhat.com> 204 1.1 mrg 205 1.1 mrg PR libstdc++/103630 206 1.1 mrg * libsupc++/exception_ptr.h (exception_ptr): Fix exception 207 1.1 mrg specifications on inline definitions. 208 1.1 mrg (make_exception_ptr): Decay the template parameter. Use typeid 209 1.1 mrg of the static type. 210 1.1 mrg * testsuite/18_support/exception_ptr/103630.cc: New test. 211 1.1 mrg 212 1.1 mrg 2021-12-09 Jonathan Wakely <jwakely (a] redhat.com> 213 1.1 mrg 214 1.1 mrg PR libstdc++/59769 215 1.1 mrg * config/io/basic_file_stdio.cc (fopen_mode): Add support for 216 1.1 mrg exclusive mode. 217 1.1 mrg * include/bits/ios_base.h (_S_noreplace): Define new enumerator. 218 1.1 mrg (ios_base::__noreplace): Define. 219 1.1 mrg (ios_base::noreplace): Define for C++23. 220 1.1 mrg * include/std/version (__cpp_lib_ios_noreplace): Define. 221 1.1 mrg * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: New test. 222 1.1 mrg * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: New test. 223 1.1 mrg 224 1.1 mrg 2021-12-09 Jonathan Wakely <jwakely (a] redhat.com> 225 1.1 mrg 226 1.1 mrg PR libstdc++/103382 227 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Do not export old 228 1.1 mrg symbol if .symver renaming is supported. 229 1.1 mrg (GLIBCXX_3.4.30): Export new symbol if .symver renaming is 230 1.1 mrg supported. 231 1.1 mrg * doc/xml/manual/evolution.xml: Document change. 232 1.1 mrg * doc/html/manual/api.html: Regenerate. 233 1.1 mrg * include/bits/std_mutex.h (__condvar::wait, __condvar::wait_until): 234 1.1 mrg Remove noexcept. 235 1.1 mrg * include/std/condition_variable (condition_variable::wait): 236 1.1 mrg Likewise. 237 1.1 mrg * src/c++11/condition_variable.cc (condition_variable::wait): 238 1.1 mrg Likewise. 239 1.1 mrg * src/c++11/compatibility-condvar.cc (__nothrow_wait_cv::wait): 240 1.1 mrg Define nothrow wrapper around std::condition_variable::wait and 241 1.1 mrg export the old symbol as an alias to it. 242 1.1 mrg * testsuite/30_threads/condition_variable/members/103382.cc: New test. 243 1.1 mrg 244 1.1 mrg 2021-12-09 Jonathan Wakely <jwakely (a] redhat.com> 245 1.1 mrg 246 1.1 mrg PR libstdc++/92300 247 1.1 mrg * include/bits/stl_map.h (insert(Pair&&), emplace(Args&&...)): 248 1.1 mrg Check whether the arguments can be looked up directly without 249 1.1 mrg constructing a temporary node first. 250 1.1 mrg * include/bits/stl_pair.h (__is_pair): Move to here, from ... 251 1.1 mrg * include/bits/uses_allocator_args.h (__is_pair): ... here. 252 1.1 mrg * testsuite/23_containers/map/modifiers/emplace/92300.cc: New test. 253 1.1 mrg * testsuite/23_containers/map/modifiers/insert/92300.cc: New test. 254 1.1 mrg 255 1.1 mrg 2021-12-09 Jonathan Wakely <jwakely (a] redhat.com> 256 1.1 mrg 257 1.1 mrg * include/bits/cow_string.h (basic_string::_M_leak_hard): Do not 258 1.1 mrg reallocate an empty string. 259 1.1 mrg 260 1.1 mrg 2021-12-09 Jonathan Wakely <jwakely (a] redhat.com> 261 1.1 mrg 262 1.1 mrg PR libstdc++/103332 263 1.1 mrg PR libstdc++/102958 264 1.1 mrg PR libstdc++/103483 265 1.1 mrg * include/bits/char_traits.h: Suppress stringop and array-bounds 266 1.1 mrg warnings. 267 1.1 mrg 268 1.1 mrg 2021-12-09 Jonathan Wakely <jwakely (a] redhat.com> 269 1.1 mrg 270 1.1 mrg PR libstdc++/64135 271 1.1 mrg * config/allocator/new_allocator_base.h: Include 272 1.1 mrg <bits/new_allocator.h> instead of <ext/new_allocator.h>. 273 1.1 mrg (__allocator_base): Use std::__new_allocator instead of 274 1.1 mrg __gnu_cxx::new_allocator. 275 1.1 mrg * doc/xml/manual/allocator.xml: Document new default base class 276 1.1 mrg for std::allocator. 277 1.1 mrg * doc/xml/manual/evolution.xml: Likewise. 278 1.1 mrg * doc/html/*: Regenerate. 279 1.1 mrg * include/Makefile.am: Add bits/new_allocator.h. 280 1.1 mrg * include/Makefile.in: Regenerate. 281 1.1 mrg * include/experimental/memory_resource (new_delete_resource): 282 1.1 mrg Use std::__new_allocator instead of __gnu_cxx::new_allocator. 283 1.1 mrg * include/ext/new_allocator.h (new_allocator): Derive from 284 1.1 mrg std::__new_allocator. Move implementation to ... 285 1.1 mrg * include/bits/new_allocator.h: New file. 286 1.1 mrg * testsuite/20_util/allocator/64135.cc: New test. 287 1.1 mrg 288 1.1 mrg 2021-12-08 Jonathan Wakely <jwakely (a] redhat.com> 289 1.1 mrg 290 1.1 mrg * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release()): 291 1.1 mrg Make shift width conditional on __double_word condition. 292 1.1 mrg 293 1.1 mrg 2021-12-08 Franois Dumont <fdumont (a] gcc.gnu.org> 294 1.1 mrg 295 1.1 mrg * include/std/deque (erase_if): Use _GLIBCXX_STD_C container reference and 296 1.1 mrg __niter_wrap to limit _GLIBCXX_DEBUG mode impact. 297 1.1 mrg * include/std/vector (erase_if): Likewise. 298 1.1 mrg 299 1.1 mrg 2021-12-08 Maged Michael <maged.michael (a] gmail.com> 300 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 301 1.1 mrg 302 1.1 mrg * include/bits/c++config (_GLIBCXX_TSAN): Define macro 303 1.1 mrg indicating that TSan is in use. 304 1.1 mrg * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release): 305 1.1 mrg Replace definition in primary template with explicit 306 1.1 mrg specializations for _S_mutex and _S_atomic policies. 307 1.1 mrg (_Sp_counted_base<_S_mutex>::_M_release): New specialization. 308 1.1 mrg (_Sp_counted_base<_S_atomic>::_M_release): New specialization, 309 1.1 mrg using a single atomic load to access both reference counts at 310 1.1 mrg once. 311 1.1 mrg (_Sp_counted_base::_M_release_last_use): New member function. 312 1.1 mrg 313 1.1 mrg 2021-12-07 Tamar Christina <tamar.christina (a] arm.com> 314 1.1 mrg 315 1.1 mrg Revert: 316 1.1 mrg 2021-11-19 Tamar Christina <tamar.christina (a] arm.com> 317 1.1 mrg 318 1.1 mrg PR libstdc++/103305 319 1.1 mrg * config/os/newlib/ctype_base.h (upper, lower, alpha, digit, xdigit, 320 1.1 mrg space, print, graph, cntrl, punct, alnum, blank): Use short or long 321 1.1 mrg names depending on if short ones are defined. 322 1.1 mrg 323 1.1 mrg 2021-12-04 Jonathan Wakely <jwakely (a] redhat.com> 324 1.1 mrg 325 1.1 mrg PR libstdc++/103549 326 1.1 mrg * include/bits/regex.h (match_results): Give names to template 327 1.1 mrg parameters in first declaration. 328 1.1 mrg (match_results::_M_begin): Add default member-initializer. 329 1.1 mrg 330 1.1 mrg 2021-12-03 Jonathan Wakely <jwakely (a] redhat.com> 331 1.1 mrg 332 1.1 mrg * include/bits/stl_tree.h (_Rb_tree::_Auto_node): Define new 333 1.1 mrg RAII helper for creating and inserting new nodes. 334 1.1 mrg (_Rb_tree::_M_insert_node): Use trailing-return-type to simplify 335 1.1 mrg out-of-line definition. 336 1.1 mrg (_Rb_tree::_M_insert_lower_node): Likewise. 337 1.1 mrg (_Rb_tree::_M_insert_equal_lower_node): Likewise. 338 1.1 mrg (_Rb_tree::_M_emplace_unique): Likewise. Use _Auto_node. 339 1.1 mrg (_Rb_tree::_M_emplace_equal): Likewise. 340 1.1 mrg (_Rb_tree::_M_emplace_hint_unique): Likewise. 341 1.1 mrg (_Rb_tree::_M_emplace_hint_equal): Likewise. 342 1.1 mrg 343 1.1 mrg 2021-12-02 Jonathan Wakely <jwakely (a] redhat.com> 344 1.1 mrg 345 1.1 mrg * src/c++11/cow-stdexcept.cc [_GLIBCXX_FULLY_DYNAMIC_STRING] 346 1.1 mrg (logic_error, runtime_error): Remove custom definitions. 347 1.1 mrg 348 1.1 mrg 2021-12-02 Jonathan Wakely <jwakely (a] redhat.com> 349 1.1 mrg 350 1.1 mrg PR libstdc++/103340 351 1.1 mrg PR libstdc++/103400 352 1.1 mrg PR libstdc++/103381 353 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Remove mt, bitmap 354 1.1 mrg and pool options. 355 1.1 mrg * configure: Regenerate. 356 1.1 mrg * config/allocator/bitmap_allocator_base.h: Removed. 357 1.1 mrg * config/allocator/mt_allocator_base.h: Removed. 358 1.1 mrg * config/allocator/pool_allocator_base.h: Removed. 359 1.1 mrg * doc/xml/manual/allocator.xml: Update. 360 1.1 mrg * doc/xml/manual/configure.xml: Update. 361 1.1 mrg * doc/xml/manual/evolution.xml: Document removal. 362 1.1 mrg * doc/xml/manual/mt_allocator.xml: Editorial tweaks. 363 1.1 mrg * doc/html/manual/*: Regenerate. 364 1.1 mrg 365 1.1 mrg 2021-12-02 Jonathan Wakely <jwakely (a] redhat.com> 366 1.1 mrg 367 1.1 mrg * include/bits/cow_string.h (basic_string::_M_is_leaked()): 368 1.1 mrg Revert change to check __is_single_threaded() before using 369 1.1 mrg atomic load. 370 1.1 mrg 371 1.1 mrg 2021-12-01 Jonathan Wakely <jwakely (a] redhat.com> 372 1.1 mrg 373 1.1 mrg PR libstdc++/103501 374 1.1 mrg * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&, false_type)): 375 1.1 mrg Clear container if elements have been moved-from. 376 1.1 mrg * testsuite/23_containers/map/allocator/move_cons.cc: Expect 377 1.1 mrg moved-from container to be empty. 378 1.1 mrg * testsuite/23_containers/multimap/allocator/move_cons.cc: 379 1.1 mrg Likewise. 380 1.1 mrg * testsuite/23_containers/multiset/allocator/103501.cc: New test. 381 1.1 mrg * testsuite/23_containers/set/allocator/103501.cc: New test. 382 1.1 mrg 383 1.1 mrg 2021-12-01 Jonathan Wakely <jwakely (a] redhat.com> 384 1.1 mrg 385 1.1 mrg * doc/doxygen/user.cfg.in (PREDEFINED): Change macro name. 386 1.1 mrg * include/bits/allocator.h (allocate, deallocate): Use 387 1.1 mrg std::__is_constant_evaluated() unconditionally, instead of 388 1.1 mrg checking whether std::is_constant_evaluated() (or the built-in) 389 1.1 mrg can be used. 390 1.1 mrg * include/bits/basic_string.h: Check new macro. call 391 1.1 mrg std::is_constant_evaluated() directly in C++20-only code that is 392 1.1 mrg guarded by a suitable macro. 393 1.1 mrg * include/bits/basic_string.tcc: Likewise. 394 1.1 mrg * include/bits/c++config (__is_constant_evaluated): Define. 395 1.1 mrg (_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED): Replace with ... 396 1.1 mrg (_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED): New macro. 397 1.1 mrg * include/bits/char_traits.h (char_traits): Replace conditional 398 1.1 mrg calls to std::is_constant_evaluated with unconditional calls to 399 1.1 mrg std::__is_constant_evaluated. 400 1.1 mrg * include/bits/cow_string.h: Use new macro. 401 1.1 mrg * include/bits/ranges_algobase.h (__copy_or_move): Replace 402 1.1 mrg conditional calls to std::is_constant_evaluated with unconditional 403 1.1 mrg calls to std::__is_constant_evaluated. 404 1.1 mrg (__copy_or_move_backward, __fill_n_fn): Likewise. 405 1.1 mrg * include/bits/ranges_cmp.h (ranges::less): Likewise. 406 1.1 mrg * include/bits/stl_algobase.h (lexicographical_compare_three_way): 407 1.1 mrg Likewise. 408 1.1 mrg * include/bits/stl_bvector.h: Call std::is_constant_evaluated 409 1.1 mrg directly in C++20-only code that is guarded by a suitable macro. 410 1.1 mrg * include/bits/stl_construct.h (_Construct, _Destroy, _Destroy_n): 411 1.1 mrg Replace is_constant_evaluated with __is_constant_evaluated. 412 1.1 mrg * include/bits/stl_function.h (greater, less, greater_equal) 413 1.1 mrg (less_equal): Replace __builtin_is_constant_evaluated and 414 1.1 mrg __builtin_constant_p with __is_constant_evaluated. 415 1.1 mrg * include/bits/stl_vector.h: Call std::is_constant_evaluated() 416 1.1 mrg in C++20-only code. 417 1.1 mrg * include/debug/helper_functions.h (__check_singular): Use 418 1.1 mrg __is_constant_evaluated instead of built-in, or remove check 419 1.1 mrg entirely. 420 1.1 mrg * include/std/array (operator<=>): Use __is_constant_evaluated 421 1.1 mrg unconditionally. 422 1.1 mrg * include/std/bit (__bit_ceil): Likewise. 423 1.1 mrg * include/std/type_traits (is_constant_evaluated): Define using 424 1.1 mrg 'if consteval' if possible. 425 1.1 mrg * include/std/version: Use new macro. 426 1.1 mrg * libsupc++/compare: Use __is_constant_evaluated instead of 427 1.1 mrg __builtin_is_constant_evaluated. 428 1.1 mrg * testsuite/23_containers/array/tuple_interface/get_neg.cc: 429 1.1 mrg Adjust dg-error lines. 430 1.1 mrg 431 1.1 mrg 2021-12-01 Jonathan Wakely <jwakely (a] redhat.com> 432 1.1 mrg 433 1.1 mrg * include/bits/cow_string.h (basic_string::_M_is_leaked): Use 434 1.1 mrg non-atomic load when __is_single_threaded() is true. 435 1.1 mrg (basic_string::_M_is_shared): Likewise. 436 1.1 mrg (basic_string::(basic_string&&)) [_GLIBCXX_FULLY_DYNAMIC_STRING]: 437 1.1 mrg Use non-atomic store when rvalue is not shared. 438 1.1 mrg 439 1.1 mrg 2021-12-01 Jonathan Wakely <jwakely (a] redhat.com> 440 1.1 mrg 441 1.1 mrg * src/c++17/fs_path.cc (path::_M_split_cmpts()): Remove 442 1.1 mrg micro-optimization for "/" path. 443 1.1 mrg * src/filesystem/path.cc (path::_M_split_cmpts()): Only access 444 1.1 mrg the contents of _M_pathname using const member functions. 445 1.1 mrg 446 1.1 mrg 2021-11-30 Jonathan Wakely <jwakely (a] redhat.com> 447 1.1 mrg 448 1.1 mrg * testsuite/21_strings/basic_string/cons/char/moveable.cc: Allow 449 1.1 mrg moved-from string to be non-empty. 450 1.1 mrg * testsuite/21_strings/basic_string/cons/char/moveable2.cc: 451 1.1 mrg Likewise. 452 1.1 mrg * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: 453 1.1 mrg Likewise. 454 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: 455 1.1 mrg Likewise. 456 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc: 457 1.1 mrg Likewise. 458 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc: 459 1.1 mrg Likewise. 460 1.1 mrg * testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc: 461 1.1 mrg Construct empty string before setting oom flag. 462 1.1 mrg * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc: 463 1.1 mrg Likewise. 464 1.1 mrg 465 1.1 mrg 2021-11-30 Jonathan Wakely <jwakely (a] redhat.com> 466 1.1 mrg 467 1.1 mrg * include/bits/cow_string.h (basic_string(basic_string&&)): Fix 468 1.1 mrg mem-initializer for _GLIBCXX_FULLY_DYNAMIC_STRING==0 case. 469 1.1 mrg * testsuite/21_strings/basic_string/cons/char/noexcept_move_construct.cc: 470 1.1 mrg Remove outdated comment. 471 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/noexcept_move_construct.cc: 472 1.1 mrg Likewise. 473 1.1 mrg 474 1.1 mrg 2021-11-30 Jonathan Wakely <jwakely (a] redhat.com> 475 1.1 mrg 476 1.1 mrg * src/c++20/sstream-inst.cc (_GLIBCXX_USE_CXX11_ABI): Define to 477 1.1 mrg select new ABI. 478 1.1 mrg 479 1.1 mrg 2021-11-30 Jonathan Wakely <jwakely (a] redhat.com> 480 1.1 mrg 481 1.1 mrg * include/bits/stl_vector.h (vector::_S_do_relocate): Remove 482 1.1 mrg C++20 constexpr specifier. 483 1.1 mrg (vector::_S_relocate) [__cpp_if_constexpr]: Call __relocate_a 484 1.1 mrg directly without tag dispatching. 485 1.1 mrg 486 1.1 mrg 2021-11-30 Jonathan Wakely <jwakely (a] redhat.com> 487 1.1 mrg 488 1.1 mrg PR libstdc++/103453 489 1.1 mrg * config/allocator/malloc_allocator_base.h 490 1.1 mrg (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define for Clang. 491 1.1 mrg * config/allocator/new_allocator_base.h 492 1.1 mrg (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Likewise. 493 1.1 mrg 494 1.1 mrg 2021-11-30 Jonathan Wakely <jwakely (a] redhat.com> 495 1.1 mrg 496 1.1 mrg * doc/xml/manual/debug_mode.xml: Replace "his or her" with "their". 497 1.1 mrg * doc/html/manual/debug_mode_design.html: Regenerate. 498 1.1 mrg 499 1.1 mrg 2021-11-30 Jakub Jelinek <jakub (a] redhat.com> 500 1.1 mrg 501 1.1 mrg * include/std/bit (byteswap): Add [[nodiscard]]. 502 1.1 mrg 503 1.1 mrg 2021-11-28 Jakub Jelinek <jakub (a] redhat.com> 504 1.1 mrg 505 1.1 mrg * include/std/bit (__cpp_lib_byteswap, byteswap): Define. 506 1.1 mrg * include/std/version (__cpp_lib_byteswap): Define. 507 1.1 mrg * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: New test. 508 1.1 mrg * testsuite/26_numerics/bit/bit.byteswap/version.cc: New test. 509 1.1 mrg 510 1.1 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com> 511 1.1 mrg 512 1.1 mrg * testsuite/24_iterators/move_iterator/dr3265.cc: Fix test to 513 1.1 mrg account for LWG 3435 resolution. 514 1.1 mrg 515 1.1 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com> 516 1.1 mrg 517 1.1 mrg * include/bits/stl_uninitialized.h (__relocate_a_1): Do not use 518 1.1 mrg memmove during constant evaluation. 519 1.1 mrg * include/bits/stl_vector.h (vector::_S_use_relocate()): Do not 520 1.1 mrg check is_constant_evaluated in always-constexpr function. 521 1.1 mrg 522 1.1 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com> 523 1.1 mrg 524 1.1 mrg PR libstdc++/96592 525 1.1 mrg * include/std/tuple (tuple::is_constructible): Remove. 526 1.1 mrg 527 1.1 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com> 528 1.1 mrg 529 1.1 mrg * testsuite/29_atomics/atomic_float/1.cc: Reorder directives. 530 1.1 mrg 531 1.1 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com> 532 1.1 mrg 533 1.1 mrg * testsuite/23_containers/unordered_map/modifiers/move_assign.cc: 534 1.1 mrg Change dg-do compile to run. 535 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc: 536 1.1 mrg Likewise. 537 1.1 mrg 538 1.1 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com> 539 1.1 mrg 540 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: 541 1.1 mrg Remove xfail selector. 542 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: 543 1.1 mrg Likewise. 544 1.1 mrg Likewise. 545 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: 546 1.1 mrg Likewise. 547 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: 548 1.1 mrg Likewise. 549 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: 550 1.1 mrg Likewise. 551 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: 552 1.1 mrg Likewise. 553 1.1 mrg * testsuite/23_containers/span/101411.cc: Likewise. 554 1.1 mrg * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise. 555 1.1 mrg * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: 556 1.1 mrg Likewise. 557 1.1 mrg * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise. 558 1.1 mrg * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: Likewise. 559 1.1 mrg * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: 560 1.1 mrg Likewise. 561 1.1 mrg * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: 562 1.1 mrg Likewise. 563 1.1 mrg * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: 564 1.1 mrg Likewise. 565 1.1 mrg * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: 566 1.1 mrg Likewise. 567 1.1 mrg * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: 568 1.1 mrg Likewise. 569 1.1 mrg * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: 570 1.1 mrg Likewise. 571 1.1 mrg 572 1.1 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com> 573 1.1 mrg 574 1.1 mrg * testsuite/20_util/pointer_traits/lwg3545.cc: Move to_address 575 1.1 mrg tests to ... 576 1.1 mrg * testsuite/20_util/to_address/lwg3545.cc: ... here. Add -std 577 1.1 mrg option before checking effective target. 578 1.1 mrg 579 1.1 mrg 2021-11-25 Jonathan Wakely <jwakely (a] redhat.com> 580 1.1 mrg 581 1.1 mrg * testsuite/20_util/tuple/comparison_operators/overloaded2.cc: 582 1.1 mrg Remove dg-error for C++11_only error. 583 1.1 mrg 584 1.1 mrg 2021-11-25 Jonathan Wakely <jwakely (a] redhat.com> 585 1.1 mrg 586 1.1 mrg PR libstdc++/96416 587 1.1 mrg * include/bits/ptr_traits.h (pointer_traits): Reimplement to be 588 1.1 mrg SFINAE-friendly (LWG 3545). 589 1.1 mrg * testsuite/20_util/pointer_traits/lwg3545.cc: New test. 590 1.1 mrg * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line. 591 1.1 mrg * testsuite/20_util/to_address/lwg3545.cc: New test. 592 1.1 mrg 593 1.1 mrg 2021-11-25 Jonathan Wakely <jwakely (a] redhat.com> 594 1.1 mrg 595 1.1 mrg PR libstdc++/101608 596 1.1 mrg * include/bits/ranges_algobase.h (__fill_n_fn): Check for 597 1.1 mrg constant evaluation before using memset. 598 1.1 mrg * testsuite/25_algorithms/fill_n/constrained.cc: Check 599 1.1 mrg byte-sized values as well. 600 1.1 mrg 601 1.1 mrg 2021-11-24 Jonathan Wakely <jwakely (a] redhat.com> 602 1.1 mrg 603 1.1 mrg * testsuite/libstdc++-prettyprinters/80276.cc: Add xfail for 604 1.1 mrg debug mode. 605 1.1 mrg * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. 606 1.1 mrg 607 1.1 mrg 2021-11-24 Jonathan Wakely <jwakely (a] redhat.com> 608 1.1 mrg 609 1.1 mrg * testsuite/lib/libstdc++.exp: Rename effective target keywords 610 1.1 mrg to avoid dashes in the name. 611 1.1 mrg * testsuite/*: Update effective targe keywords. 612 1.1 mrg 613 1.1 mrg 2021-11-23 Jonathan Wakely <jwakely (a] redhat.com> 614 1.1 mrg 615 1.1 mrg PR libstdc++/103086 616 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Check unique_ptr 617 1.1 mrg with non-empty pointer and non-empty deleter. 618 1.1 mrg 619 1.1 mrg 2021-11-23 Jonathan Wakely <jwakely (a] redhat.com> 620 1.1 mrg 621 1.1 mrg * testsuite/18_support/50594.cc: Check effective target. 622 1.1 mrg * testsuite/20_util/allocator/1.cc: Likewise. 623 1.1 mrg * testsuite/20_util/allocator/overaligned.cc: Likewise. 624 1.1 mrg * testsuite/23_containers/unordered_map/96088.cc: Likewise. 625 1.1 mrg * testsuite/23_containers/unordered_multimap/96088.cc: Likewise. 626 1.1 mrg * testsuite/23_containers/unordered_multiset/96088.cc: Likewise. 627 1.1 mrg * testsuite/23_containers/unordered_set/96088.cc: Likewise. 628 1.1 mrg * testsuite/ext/throw_allocator/check_delete.cc: Likewise. 629 1.1 mrg * testsuite/ext/throw_allocator/check_new.cc: Likewise. 630 1.1 mrg * testsuite/lib/libstdc++.exp (check_effective_target_std_allocator_new): 631 1.1 mrg Define new proc. 632 1.1 mrg 633 1.1 mrg 2021-11-23 Jonathan Wakely <jwakely (a] redhat.com> 634 1.1 mrg 635 1.1 mrg PR libstdc++/103381 636 1.1 mrg * include/ext/bitmap_allocator.h: Include <bits/stl_function.h> 637 1.1 mrg instead of <functional>. 638 1.1 mrg 639 1.1 mrg 2021-11-22 Jonathan Wakely <jwakely (a] redhat.com> 640 1.1 mrg 641 1.1 mrg * include/bits/c++config (_GLIBCXX14_DEPRECATED): Fix condition 642 1.1 mrg checking for C++14. 643 1.1 mrg 644 1.1 mrg 2021-11-20 Franois Dumont <fdumont (a] gcc.gnu.org> 645 1.1 mrg 646 1.1 mrg * include/bits/erase_if.h (__erase_nodes_if): Add _UnsafeContainer template 647 1.1 mrg parameter. Use it to get iterators to work with. 648 1.1 mrg * include/debug/macros.h (__glibcxx_check_erase2): New. 649 1.1 mrg * include/debug/map.h (map<>::erase(_Base_const_iterator)): New. 650 1.1 mrg (map<>::erase(const_iterator)): Use latter. 651 1.1 mrg * include/debug/multimap.h (multimap<>::erase(_Base_const_iterator)): New. 652 1.1 mrg (multimap<>::erase(const_iterator)): Use latter. 653 1.1 mrg * include/debug/multiset.h (multiset<>::erase(_Base_const_iterator)): New. 654 1.1 mrg (multiset<>::erase(const_iterator)): Use latter. 655 1.1 mrg * include/debug/set.h (set<>::erase(_Base_const_iterator)): New. 656 1.1 mrg (set<>::erase(const_iterator)): Use latter. 657 1.1 mrg * include/debug/unordered_map (unordered_map<>::erase(_Base_const_iterator)): New. 658 1.1 mrg (unordered_multimap<>::erase(const_iterator)): New. 659 1.1 mrg * include/debug/unordered_set (unordered_set<>::erase(_Base_const_iterator)): New. 660 1.1 mrg (unordered_multiset<>::erase(const_iterator)): New. 661 1.1 mrg * include/experimental/map (erase_if): Adapt. 662 1.1 mrg * include/experimental/set (erase_if): Adapt. 663 1.1 mrg * include/experimental/unordered_map (erase_if): Adapt. 664 1.1 mrg * include/experimental/unordered_set (erase_if): Adapt. 665 1.1 mrg * include/std/map (erase_if): Adapt. 666 1.1 mrg * include/std/set (erase_if): Adapt. 667 1.1 mrg * include/std/unordered_map (erase_if): Adapt. 668 1.1 mrg * include/std/unordered_set (erase_if): Adapt. 669 1.1 mrg 670 1.1 mrg 2021-11-19 Jonathan Wakely <jwakely (a] redhat.com> 671 1.1 mrg 672 1.1 mrg * testsuite/27_io/basic_istringstream/cons/char/1.cc: Check all 673 1.1 mrg constructors. 674 1.1 mrg * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc: 675 1.1 mrg Likewise. 676 1.1 mrg * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise. 677 1.1 mrg * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc: 678 1.1 mrg Likewise. 679 1.1 mrg * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise. 680 1.1 mrg * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc: 681 1.1 mrg Likewise. 682 1.1 mrg 683 1.1 mrg 2021-11-19 Jonathan Wakely <jwakely (a] redhat.com> 684 1.1 mrg 685 1.1 mrg * src/c++98/locale_init.cc (_S_initialize_once): Check if 686 1.1 mrg initialization has already been done. 687 1.1 mrg (_S_initialize): Replace __gthread_active_p with 688 1.1 mrg __is_single_threaded. Use __builtin_expect. 689 1.1 mrg 690 1.1 mrg 2021-11-19 Jonathan Wakely <jwakely (a] redhat.com> 691 1.1 mrg 692 1.1 mrg PR libstdc++/103295 693 1.1 mrg * include/bits/basic_string.tcc (_M_construct): Use the 694 1.1 mrg traits assign member to write into allcoated memory. 695 1.1 mrg 696 1.1 mrg 2021-11-19 Iain Sandoe <iain (a] sandoe.co.uk> 697 1.1 mrg 698 1.1 mrg * testsuite/lib/prune.exp: Prune dsymutil (ld64) warning. 699 1.1 mrg 700 1.1 mrg 2021-11-19 Jonathan Wakely <jwakely (a] redhat.com> 701 1.1 mrg 702 1.1 mrg PR libstdc++/103332 703 1.1 mrg PR libstdc++/102958 704 1.1 mrg * testsuite/21_strings/basic_string/capacity/char/1.cc: Add 705 1.1 mrg -Wno-stringop-overflow. 706 1.1 mrg * testsuite/21_strings/basic_string/operators/char/1.cc: 707 1.1 mrg Likewise. 708 1.1 mrg * testsuite/experimental/filesystem/path/factory/u8path-char8_t.cc: 709 1.1 mrg Add -Wno-stringop-overread. 710 1.1 mrg 711 1.1 mrg 2021-11-19 Jonathan Wakely <jwakely (a] redhat.com> 712 1.1 mrg 713 1.1 mrg PR libstdc++/103295 714 1.1 mrg * include/bits/basic_string.h (_Alloc_traits): Replace typedef 715 1.1 mrg with struct for C++20 mode. 716 1.1 mrg * include/bits/basic_string.tcc (_M_replace): Use _Alloc_traits 717 1.1 mrg for allocation. 718 1.1 mrg * include/bits/char_traits.h (__gnu_cxx::char_traits::assign): 719 1.1 mrg Use std::_Construct during constant evaluation. 720 1.1 mrg (__gnu_cxx::char_traits::assign(CharT*, const CharT*, size_t)): 721 1.1 mrg Likewise. Replace std::fill_n with memset or manual loop. 722 1.1 mrg (__gnu_cxx::char_traits::copy): Likewise, replacing std::copy 723 1.1 mrg with memcpy. 724 1.1 mrg * include/ext/vstring.h: Include <bits/stl_algobase.h> for 725 1.1 mrg std::min. 726 1.1 mrg * include/std/string_view: Likewise. 727 1.1 mrg * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: 728 1.1 mrg Add constexpr test. 729 1.1 mrg 730 1.1 mrg 2021-11-19 Tamar Christina <tamar.christina (a] arm.com> 731 1.1 mrg 732 1.1 mrg PR libstdc++/103305 733 1.1 mrg * config/os/newlib/ctype_base.h (upper, lower, alpha, digit, xdigit, 734 1.1 mrg space, print, graph, cntrl, punct, alnum, blank): Use short or long 735 1.1 mrg names depending on if short ones are defined. 736 1.1 mrg 737 1.1 mrg 2021-11-18 Jonathan Wakely <jwakely (a] redhat.com> 738 1.1 mrg 739 1.1 mrg * include/bits/char_traits.h (__gnu_cxx::char_traits::move): 740 1.1 mrg Do not compare unrelated pointers during constant evaluation. 741 1.1 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: 742 1.1 mrg Improve tests for char_traits::move. 743 1.1 mrg 744 1.1 mrg 2021-11-18 Jonathan Wakely <jwakely (a] redhat.com> 745 1.1 mrg 746 1.1 mrg * acinclude.m4: Replace AC_CACHE_VAL with AC_CACHE_CHECK. 747 1.1 mrg * configure: Regenerate. 748 1.1 mrg 749 1.1 mrg 2021-11-17 Jonathan Wakely <jwakely (a] redhat.com> 750 1.1 mrg 751 1.1 mrg * include/experimental/internet (address): Use std::_Construct 752 1.1 mrg to initialize union members. 753 1.1 mrg 754 1.1 mrg 2021-11-17 Jonathan Wakely <jwakely (a] redhat.com> 755 1.1 mrg 756 1.1 mrg * include/bits/basic_string.h (_M_construct_aux): Only define 757 1.1 mrg for C++98. Remove constexpr. 758 1.1 mrg (_M_construct_aux_2): Likewise. 759 1.1 mrg (_M_construct(InputIter, InputIter)): Remove. 760 1.1 mrg (basic_string(const basic_string&)): Call _M_construct with 761 1.1 mrg iterator category argument. 762 1.1 mrg (basic_string(const basic_string&, size_type, const Alloc&)): 763 1.1 mrg Likewise. 764 1.1 mrg (basic_string(const basic_string&, size_type, size_type)): 765 1.1 mrg Likewise. 766 1.1 mrg (basic_string(const charT*, size_type, const Alloc&)): Likewise. 767 1.1 mrg Check for null pointer. 768 1.1 mrg (basic_string(const charT*, const Alloc&)): Likewise. 769 1.1 mrg (basic_string(initializer_list<charT>, const Alloc&)): Call 770 1.1 mrg _M_construct with iterator category argument. 771 1.1 mrg (basic_string(const basic_string&, const Alloc&)): Likewise. 772 1.1 mrg (basic_string(basic_string&&, const Alloc&)): Likewise. 773 1.1 mrg (basic_string(_InputIter, _InputIter, const Alloc&)): Likewise 774 1.1 mrg for C++11 and later, call _M_construct_aux for C++98. 775 1.1 mrg * include/bits/basic_string.tcc 776 1.1 mrg (_M_construct(I, I, input_iterator_tag)): Replace try-block with 777 1.1 mrg RAII type. 778 1.1 mrg (_M_construct(I, I, forward_iterator_tag)): Likewise. Remove 779 1.1 mrg __is_null_pointer check. 780 1.1 mrg 781 1.1 mrg 2021-11-17 Jonathan Wakely <jwakely (a] redhat.com> 782 1.1 mrg 783 1.1 mrg PR libstdc++/103295 784 1.1 mrg * include/bits/basic_string.h (_M_use_local_data()): New 785 1.1 mrg member function to make local buffer the active member. 786 1.1 mrg (assign(const basic_string&)): Use it. 787 1.1 mrg * include/bits/basic_string.tcc (_M_construct, reserve()): 788 1.1 mrg Likewise. 789 1.1 mrg 790 1.1 mrg 2021-11-17 Jonathan Wakely <jwakely (a] redhat.com> 791 1.1 mrg 792 1.1 mrg PR libstdc++/103240 793 1.1 mrg * libsupc++/tinfo2.cc (type_info::before): Use unadjusted name 794 1.1 mrg to check for the '*' prefix. 795 1.1 mrg * testsuite/util/testsuite_shared.cc: Add type_info object for 796 1.1 mrg use in new test. 797 1.1 mrg * testsuite/18_support/type_info/103240.cc: New test. 798 1.1 mrg 799 1.1 mrg 2021-11-16 Jonathan Wakely <jwakely (a] redhat.com> 800 1.1 mrg 801 1.1 mrg * include/bits/basic_string.h (operator<=>): Use constexpr 802 1.1 mrg unconditionally. 803 1.1 mrg * testsuite/21_strings/basic_string/modifiers/constexpr.cc: 804 1.1 mrg Require cxx11-abit effective target. 805 1.1 mrg * testsuite/21_strings/headers/string/synopsis.cc: Add 806 1.1 mrg conditional constexpr to declarations, and adjust relational 807 1.1 mrg operators for C++20. 808 1.1 mrg 809 1.1 mrg 2021-11-16 Patrick Palka <ppalka (a] redhat.com> 810 1.1 mrg 811 1.1 mrg * src/c++17/ryu/MERGE: Update the commit hash. 812 1.1 mrg * src/c++17/ryu/d2s_intrinsics.h: Merge from Ryu's master 813 1.1 mrg branch. 814 1.1 mrg 815 1.1 mrg 2021-11-16 Jonathan Wakely <jwakely (a] redhat.com> 816 1.1 mrg 817 1.1 mrg * include/bits/basic_string.h (basic_string, operator""s): Add 818 1.1 mrg constexpr for C++20. 819 1.1 mrg (basic_string::basic_string(basic_string&&)): Only copy 820 1.1 mrg initialized portion of the buffer. 821 1.1 mrg (basic_string::basic_string(basic_string&&, const Alloc&)): 822 1.1 mrg Likewise. 823 1.1 mrg * include/bits/basic_string.tcc (basic_string): Add constexpr 824 1.1 mrg for C++20. 825 1.1 mrg (basic_string::swap(basic_string&)): Only copy initialized 826 1.1 mrg portions of the buffers. 827 1.1 mrg (basic_string::_M_replace): Add constexpr implementation that 828 1.1 mrg doesn't depend on pointer comparisons. 829 1.1 mrg * include/bits/cow_string.h: Adjust comment. 830 1.1 mrg * include/ext/type_traits.h (__is_null_pointer): Add constexpr. 831 1.1 mrg * include/std/string (erase, erase_if): Add constexpr. 832 1.1 mrg * include/std/version (__cpp_lib_constexpr_string): Update 833 1.1 mrg value. 834 1.1 mrg * testsuite/21_strings/basic_string/cons/char/constexpr.cc: 835 1.1 mrg New test. 836 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: 837 1.1 mrg New test. 838 1.1 mrg * testsuite/21_strings/basic_string/literals/constexpr.cc: 839 1.1 mrg New test. 840 1.1 mrg * testsuite/21_strings/basic_string/modifiers/constexpr.cc: New test. 841 1.1 mrg * testsuite/21_strings/basic_string/modifiers/swap/char/constexpr.cc: 842 1.1 mrg New test. 843 1.1 mrg * testsuite/21_strings/basic_string/modifiers/swap/wchar_t/constexpr.cc: 844 1.1 mrg New test. 845 1.1 mrg * testsuite/21_strings/basic_string/version.cc: New test. 846 1.1 mrg 847 1.1 mrg 2021-11-16 Jonathan Wakely <jwakely (a] redhat.com> 848 1.1 mrg 849 1.1 mrg * include/bits/stl_bvector.h (swap(_Bit_reference, _Bit_reference)) 850 1.1 mrg (swap(_Bit_reference, bool&), swap(bool&, _Bit_reference)): 851 1.1 mrg Define as hidden friends of _Bit_reference. 852 1.1 mrg 853 1.1 mrg 2021-11-16 Jonathan Wakely <jwakely (a] redhat.com> 854 1.1 mrg 855 1.1 mrg * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc: 856 1.1 mrg Fix reads past the end of strings. 857 1.1 mrg * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc: 858 1.1 mrg Likewise. 859 1.1 mrg * testsuite/experimental/string_view/operations/compare/wchar_t/1.cc: 860 1.1 mrg Likewise. 861 1.1 mrg 862 1.1 mrg 2021-11-16 Jonathan Wakely <jwakely (a] redhat.com> 863 1.1 mrg 864 1.1 mrg * testsuite/21_strings/basic_string/allocator/71964.cc: Fix 865 1.1 mrg typo. 866 1.1 mrg * testsuite/23_containers/set/allocator/71964.cc: Likewise. 867 1.1 mrg 868 1.1 mrg 2021-11-15 Jason Merrill <jason (a] redhat.com> 869 1.1 mrg 870 1.1 mrg * testsuite/20_util/to_address/1_neg.cc: Adjust error. 871 1.1 mrg * testsuite/26_numerics/random/concept.cc: Adjust asserts. 872 1.1 mrg 873 1.1 mrg 2021-11-15 Franois Dumont <fdumont (a] gcc.gnu.org> 874 1.1 mrg 875 1.1 mrg * include/bits/hashtable_policy.h: 876 1.1 mrg (_Hash_code_base<>::_M_hash_code(const _Hash&, const _Hash_node_value<_Value, true>&)): New. 877 1.1 mrg (_Hash_code_base<>::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): New. 878 1.1 mrg * include/bits/hashtable.h (_Hashtable<>::_M_merge_unique): Use latter. 879 1.1 mrg (_Hashtable<>::_M_merge_multi): Likewise. 880 1.1 mrg * testsuite/23_containers/unordered_multiset/modifiers/merge.cc (test05): New test. 881 1.1 mrg * testsuite/23_containers/unordered_set/modifiers/merge.cc (test04): New test. 882 1.1 mrg 883 1.1 mrg 2021-11-15 Jason Merrill <jason (a] redhat.com> 884 1.1 mrg 885 1.1 mrg * src/c++17/memory_resource.cc: Add missing constexpr. 886 1.1 mrg * include/experimental/internet: Only mark copy constructor 887 1.1 mrg as constexpr with __cpp_constexpr_dynamic_alloc. 888 1.1 mrg 889 1.1 mrg 2021-11-14 Franois Dumont <fdumont (a] gcc.gnu.org> 890 1.1 mrg 891 1.1 mrg * include/debug/safe_container.h (_Safe_container<>::_M_safe): Remove. 892 1.1 mrg * include/debug/deque (deque::operator=(initializer_list<>)): Replace 893 1.1 mrg _M_base() call with _Base:: call. 894 1.1 mrg (deque::operator[](size_type)): Likewise. 895 1.1 mrg * include/debug/forward_list (forward_list(forward_list&&, const allocator_type&)): 896 1.1 mrg Remove _M_safe() and _M_base() calls. 897 1.1 mrg (forward_list::operator=(initializer_list<>)): Remove _M_base() calls. 898 1.1 mrg (forward_list::splice_after, forward_list::merge): Likewise. 899 1.1 mrg * include/debug/list (list(list&&, const allocator_type&)): 900 1.1 mrg Remove _M_safe() and _M_base() calls. 901 1.1 mrg (list::operator=(initializer_list<>)): Remove _M_base() calls. 902 1.1 mrg (list::splice, list::merge): Likewise. 903 1.1 mrg * include/debug/map.h (map(map&&, const allocator_type&)): 904 1.1 mrg Remove _M_safe() and _M_base() calls. 905 1.1 mrg (map::operator=(initializer_list<>)): Remove _M_base() calls. 906 1.1 mrg * include/debug/multimap.h (multimap(multimap&&, const allocator_type&)): 907 1.1 mrg Remove _M_safe() and _M_base() calls. 908 1.1 mrg (multimap::operator=(initializer_list<>)): Remove _M_base() calls. 909 1.1 mrg * include/debug/set.h (set(set&&, const allocator_type&)): 910 1.1 mrg Remove _M_safe() and _M_base() calls. 911 1.1 mrg (set::operator=(initializer_list<>)): Remove _M_base() calls. 912 1.1 mrg * include/debug/multiset.h (multiset(multiset&&, const allocator_type&)): 913 1.1 mrg Remove _M_safe() and _M_base() calls. 914 1.1 mrg (multiset::operator=(initializer_list<>)): Remove _M_base() calls. 915 1.1 mrg * include/debug/string (basic_string(basic_string&&, const allocator_type&)): 916 1.1 mrg Remove _M_safe() and _M_base() calls. 917 1.1 mrg (basic_string::operator=(initializer_list<>)): Remove _M_base() call. 918 1.1 mrg (basic_string::operator=(const _CharT*), basic_string::operator=(_CharT)): Likewise. 919 1.1 mrg (basic_string::operator[](size_type), basic_string::operator+=(const basic_string&)): 920 1.1 mrg Likewise. 921 1.1 mrg (basic_string::operator+=(const _Char*), basic_string::operator+=(_CharT)): Likewise. 922 1.1 mrg * include/debug/unordered_map (unordered_map(unordered_map&&, const allocator_type&)): 923 1.1 mrg Remove _M_safe() and _M_base() calls. 924 1.1 mrg (unordered_map::operator=(initializer_list<>), unordered_map::merge): 925 1.1 mrg Remove _M_base() calls. 926 1.1 mrg (unordered_multimap(unordered_multimap&&, const allocator_type&)): 927 1.1 mrg Remove _M_safe() and _M_base() calls. 928 1.1 mrg (unordered_multimap::operator=(initializer_list<>), unordered_multimap::merge): 929 1.1 mrg Remove _M_base() calls. 930 1.1 mrg * include/debug/unordered_set (unordered_set(unordered_set&&, const allocator_type&)): 931 1.1 mrg Remove _M_safe() and _M_base() calls. 932 1.1 mrg (unordered_set::operator=(initializer_list<>), unordered_set::merge): 933 1.1 mrg Remove _M_base() calls. 934 1.1 mrg (unordered_multiset(unordered_multiset&&, const allocator_type&)): 935 1.1 mrg Remove _M_safe() and _M_base() calls. 936 1.1 mrg (unordered_multiset::operator=(initializer_list<>), unordered_multiset::merge): 937 1.1 mrg Remove _M_base() calls. 938 1.1 mrg * include/debug/vector (vector(vector&&, const allocator_type&)): 939 1.1 mrg Remove _M_safe() and _M_base() calls. 940 1.1 mrg (vector::operator=(initializer_list<>)): Remove _M_base() calls. 941 1.1 mrg (vector::operator[](size_type)): Likewise. 942 1.1 mrg 943 1.1 mrg 2021-11-13 Jonathan Wakely <jwakely (a] redhat.com> 944 1.1 mrg 945 1.1 mrg * include/Makefile.am: Add spanstream header. 946 1.1 mrg * include/Makefile.in: Regenerate. 947 1.1 mrg * include/precompiled/stdc++.h: Add spanstream header. 948 1.1 mrg * include/std/version (__cpp_lib_spanstream): Define. 949 1.1 mrg * include/std/spanstream: New file. 950 1.1 mrg * testsuite/27_io/spanstream/1.cc: New test. 951 1.1 mrg * testsuite/27_io/spanstream/version.cc: New test. 952 1.1 mrg 953 1.1 mrg 2021-11-13 Hans-Peter Nilsson <hp (a] axis.com> 954 1.1 mrg 955 1.1 mrg PR libstdc++/103166 956 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM): 957 1.1 mrg Use GCC_TRY_COMPILE_OR_LINK instead of AC_TRY_COMPILE. 958 1.1 mrg * configure: Regenerate. 959 1.1 mrg 960 1.1 mrg 2021-11-12 Jonathan Wakely <jwakely (a] redhat.com> 961 1.1 mrg 962 1.1 mrg PR libstdc++/59675 963 1.1 mrg * acinclude.m4 (libtool_VERSION): Bump version. 964 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Add version and 965 1.1 mrg export new symbol. 966 1.1 mrg * configure: Regenerate. 967 1.1 mrg * include/bits/c++config (__replacement_assert): Remove, declare 968 1.1 mrg __glibcxx_assert_fail instead. 969 1.1 mrg * src/c++11/debug.cc (__glibcxx_assert_fail): New function to 970 1.1 mrg replace __replacement_assert, writing to stderr instead of 971 1.1 mrg stdout. 972 1.1 mrg * testsuite/util/testsuite_abi.cc: Update latest version. 973 1.1 mrg 974 1.1 mrg 2021-11-12 Jonathan Wakely <jwakely (a] redhat.com> 975 1.1 mrg Josh Marshall <joshua.r.marshall.1991 (a] gmail.com> 976 1.1 mrg 977 1.1 mrg * include/bits/alloc_traits.h (_Destroy): Make constexpr for 978 1.1 mrg C++20 mode. 979 1.1 mrg * include/bits/allocator.h (__shrink_to_fit::_S_do_it): 980 1.1 mrg Likewise. 981 1.1 mrg * include/bits/stl_algobase.h (__fill_a1): Declare _Bit_iterator 982 1.1 mrg overload constexpr for C++20. 983 1.1 mrg * include/bits/stl_bvector.h (_Bit_type, _S_word_bit): Move out 984 1.1 mrg of inline namespace. 985 1.1 mrg (_Bit_reference, _Bit_iterator_base, _Bit_iterator) 986 1.1 mrg (_Bit_const_iterator, _Bvector_impl_data, _Bvector_base) 987 1.1 mrg (vector<bool, A>>): Add constexpr to every member function. 988 1.1 mrg (_Bvector_base::_M_allocate): Initialize storage during constant 989 1.1 mrg evaluation. 990 1.1 mrg (vector<bool, A>::_M_initialize_value): Use __fill_bvector_n 991 1.1 mrg instead of memset. 992 1.1 mrg (__fill_bvector_n): New helper function to replace memset during 993 1.1 mrg constant evaluation. 994 1.1 mrg * include/bits/stl_uninitialized.h (__uninitialized_copy<false>): 995 1.1 mrg Move logic to ... 996 1.1 mrg (__do_uninit_copy): New function. 997 1.1 mrg (__uninitialized_fill<false>): Move logic to ... 998 1.1 mrg (__do_uninit_fill): New function. 999 1.1 mrg (__uninitialized_fill_n<false>): Move logic to ... 1000 1.1 mrg (__do_uninit_fill_n): New function. 1001 1.1 mrg (__uninitialized_copy_a): Add constexpr. Use __do_uninit_copy. 1002 1.1 mrg (__uninitialized_move_a, __uninitialized_move_if_noexcept_a): 1003 1.1 mrg Add constexpr. 1004 1.1 mrg (__uninitialized_fill_a): Add constexpr. Use __do_uninit_fill. 1005 1.1 mrg (__uninitialized_fill_n_a): Add constexpr. Use 1006 1.1 mrg __do_uninit_fill_n. 1007 1.1 mrg (__uninitialized_default_n, __uninitialized_default_n_a) 1008 1.1 mrg (__relocate_a_1, __relocate_a): Add constexpr. 1009 1.1 mrg * include/bits/stl_vector.h (_Vector_impl_data, _Vector_impl) 1010 1.1 mrg (_Vector_base, vector): Add constexpr to every member function. 1011 1.1 mrg (_Vector_impl::_S_adjust): Disable ASan annotation during 1012 1.1 mrg constant evaluation. 1013 1.1 mrg (_Vector_base::_S_use_relocate): Disable bitwise-relocation 1014 1.1 mrg during constant evaluation. 1015 1.1 mrg (vector::_Temporary_value): Use a union for storage. 1016 1.1 mrg * include/bits/vector.tcc (vector, vector<bool>): Add constexpr 1017 1.1 mrg to every member function. 1018 1.1 mrg * include/std/vector (erase_if, erase): Add constexpr. 1019 1.1 mrg * testsuite/23_containers/headers/vector/synopsis.cc: Add 1020 1.1 mrg constexpr for C++20 mode. 1021 1.1 mrg * testsuite/23_containers/vector/bool/cmp_c++20.cc: Change to 1022 1.1 mrg compile-only test using constant expressions. 1023 1.1 mrg * testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust 1024 1.1 mrg namespace for _S_word_bit. 1025 1.1 mrg * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: 1026 1.1 mrg Likewise. 1027 1.1 mrg * testsuite/23_containers/vector/cmp_c++20.cc: Likewise. 1028 1.1 mrg * testsuite/23_containers/vector/cons/89164.cc: Adjust errors 1029 1.1 mrg for C++20 and move C++17 test to ... 1030 1.1 mrg * testsuite/23_containers/vector/cons/89164_c++17.cc: ... here. 1031 1.1 mrg * testsuite/23_containers/vector/bool/capacity/constexpr.cc: New test. 1032 1.1 mrg * testsuite/23_containers/vector/bool/cons/constexpr.cc: New test. 1033 1.1 mrg * testsuite/23_containers/vector/bool/element_access/constexpr.cc: New test. 1034 1.1 mrg * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: New test. 1035 1.1 mrg * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: New test. 1036 1.1 mrg * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: New test. 1037 1.1 mrg * testsuite/23_containers/vector/capacity/constexpr.cc: New test. 1038 1.1 mrg * testsuite/23_containers/vector/cons/constexpr.cc: New test. 1039 1.1 mrg * testsuite/23_containers/vector/data_access/constexpr.cc: New test. 1040 1.1 mrg * testsuite/23_containers/vector/element_access/constexpr.cc: New test. 1041 1.1 mrg * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: New test. 1042 1.1 mrg * testsuite/23_containers/vector/modifiers/constexpr.cc: New test. 1043 1.1 mrg * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: New test. 1044 1.1 mrg 1045 1.1 mrg 2021-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1046 1.1 mrg 1047 1.1 mrg * include/debug/deque (deque::operator=(const deque&)): Remove 1048 1.1 mrg definition. 1049 1.1 mrg * include/debug/list (list::operator=(const list&)): Likewise. 1050 1.1 mrg * include/debug/map.h (map::operator=(const map&)): Likewise. 1051 1.1 mrg * include/debug/multimap.h (multimap::operator=(const multimap&)): 1052 1.1 mrg Likewise. 1053 1.1 mrg * include/debug/multiset.h (multiset::operator=(const multiset&)): 1054 1.1 mrg Likewise. 1055 1.1 mrg * include/debug/set.h (set::operator=(const set&)): Likewise. 1056 1.1 mrg * include/debug/string (basic_string::operator=(const basic_string&)): 1057 1.1 mrg Likewise. 1058 1.1 mrg * include/debug/vector (vector::operator=(const vector&)): 1059 1.1 mrg Likewise. 1060 1.1 mrg (_Safe_vector::operator=(const _Safe_vector&)): Define for 1061 1.1 mrg C++98 as well. 1062 1.1 mrg 1063 1.1 mrg 2021-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1064 1.1 mrg 1065 1.1 mrg * include/std/memory_resource (memory_resource::allocate): 1066 1.1 mrg Implicitly create objects in the returned storage. 1067 1.1 mrg 1068 1.1 mrg 2021-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1069 1.1 mrg 1070 1.1 mrg * include/bits/stl_bvector.h (vector<bool>::data()): Give 1071 1.1 mrg protected access, and delete for C++11 and later. 1072 1.1 mrg 1073 1.1 mrg 2021-11-10 Jonathan Wakely <jwakely (a] redhat.com> 1074 1.1 mrg 1075 1.1 mrg PR libstdc++/100117 1076 1.1 mrg * testsuite/17_intro/headers/c++1998/49745.cc: Explicitly list 1077 1.1 mrg all C++ headers instead of including <bits/stdc++.h> 1078 1.1 mrg 1079 1.1 mrg 2021-11-10 Jonathan Wakely <jwakely (a] redhat.com> 1080 1.1 mrg 1081 1.1 mrg PR libstdc++/100748 1082 1.1 mrg PR libstdc++/103133 1083 1.1 mrg * config/os/gnu-linux/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): 1084 1.1 mrg Define for glibc 2.34 and later. 1085 1.1 mrg 1086 1.1 mrg 2021-11-09 Franois Dumont <fdumont (a] gcc.gnu.org> 1087 1.1 mrg 1088 1.1 mrg * include/bits/hashtable_policy.h (__distance_fw): Replace class keyword with 1089 1.1 mrg typename. 1090 1.1 mrg * include/bits/hashtable.h (_Hashtable<>::_M_merge_unique): Remove noexcept 1091 1.1 mrg qualification. Use const_iterator for node extraction/reinsert. 1092 1.1 mrg (_Hashtable<>::_M_merge_multi): Likewise. Compute new hash code before extract. 1093 1.1 mrg * include/debug/safe_container.h (_Safe_container<>): Make all methods 1094 1.1 mrg protected. 1095 1.1 mrg * include/debug/safe_unordered_container.h 1096 1.1 mrg (_Safe_unordered_container<>::_UContInvalidatePred<_ExtractKey, _Source>): New. 1097 1.1 mrg (_Safe_unordered_container<>::_UMContInvalidatePred<_ExtractKey, _Source>): New. 1098 1.1 mrg (_Safe_unordered_container<>::_UContMergeGuard<_Source, _InvalidatePred>): New. 1099 1.1 mrg (_Safe_unordered_container<>::_S_uc_guard<_ExtractKey, _Source>): New. 1100 1.1 mrg (_Safe_unordered_container<>::_S_umc_guard<_ExtractKey, _Source>): New. 1101 1.1 mrg (_Safe_unordered_container<>::_M_invalide_all): Make public. 1102 1.1 mrg (_Safe_unordered_container<>::_M_invalide_if): Likewise. 1103 1.1 mrg (_Safe_unordered_container<>::_M_invalide_local_if): Likewise. 1104 1.1 mrg * include/debug/unordered_map 1105 1.1 mrg (unordered_map<>::mapped_type, pointer, const_pointer): New typedef. 1106 1.1 mrg (unordered_map<>::reference, const_reference, difference_type): New typedef. 1107 1.1 mrg (unordered_map<>::get_allocator, empty, size, max_size): Add usings. 1108 1.1 mrg (unordered_map<>::bucket_count, max_bucket_count, bucket): Add usings. 1109 1.1 mrg (unordered_map<>::hash_function, key_equal, count, contains): Add usings. 1110 1.1 mrg (unordered_map<>::operator[], at, rehash, reserve): Add usings. 1111 1.1 mrg (unordered_map<>::merge): New. 1112 1.1 mrg (unordered_multimap<>::mapped_type, pointer, const_pointer): New typedef. 1113 1.1 mrg (unordered_multimap<>::reference, const_reference, difference_type): New typedef. 1114 1.1 mrg (unordered_multimap<>::get_allocator, empty, size, max_size): Add usings. 1115 1.1 mrg (unordered_multimap<>::bucket_count, max_bucket_count, bucket): Add usings. 1116 1.1 mrg (unordered_multimap<>::hash_function, key_equal, count, contains): Add usings. 1117 1.1 mrg (unordered_multimap<>::rehash, reserve): Add usings. 1118 1.1 mrg (unordered_multimap<>::merge): New. 1119 1.1 mrg * include/debug/unordered_set 1120 1.1 mrg (unordered_set<>::mapped_type, pointer, const_pointer): New typedef. 1121 1.1 mrg (unordered_set<>::reference, const_reference, difference_type): New typedef. 1122 1.1 mrg (unordered_set<>::get_allocator, empty, size, max_size): Add usings. 1123 1.1 mrg (unordered_set<>::bucket_count, max_bucket_count, bucket): Add usings. 1124 1.1 mrg (unordered_set<>::hash_function, key_equal, count, contains): Add usings. 1125 1.1 mrg (unordered_set<>::rehash, reserve): Add usings. 1126 1.1 mrg (unordered_set<>::merge): New. 1127 1.1 mrg (unordered_multiset<>::mapped_type, pointer, const_pointer): New typedef. 1128 1.1 mrg (unordered_multiset<>::reference, const_reference, difference_type): New typedef. 1129 1.1 mrg (unordered_multiset<>::get_allocator, empty, size, max_size): Add usings. 1130 1.1 mrg (unordered_multiset<>::bucket_count, max_bucket_count, bucket): Add usings. 1131 1.1 mrg (unordered_multiset<>::hash_function, key_equal, count, contains): Add usings. 1132 1.1 mrg (unordered_multiset<>::rehash, reserve): Add usings. 1133 1.1 mrg (unordered_multiset<>::merge): New. 1134 1.1 mrg * testsuite/23_containers/unordered_map/debug/merge1_neg.cc: New test. 1135 1.1 mrg * testsuite/23_containers/unordered_map/debug/merge2_neg.cc: New test. 1136 1.1 mrg * testsuite/23_containers/unordered_map/debug/merge3_neg.cc: New test. 1137 1.1 mrg * testsuite/23_containers/unordered_map/debug/merge4_neg.cc: New test. 1138 1.1 mrg * testsuite/23_containers/unordered_multimap/debug/merge1_neg.cc: New test. 1139 1.1 mrg * testsuite/23_containers/unordered_multimap/debug/merge2_neg.cc: New test. 1140 1.1 mrg * testsuite/23_containers/unordered_multimap/debug/merge3_neg.cc: New test. 1141 1.1 mrg * testsuite/23_containers/unordered_multimap/debug/merge4_neg.cc: New test. 1142 1.1 mrg * testsuite/23_containers/unordered_multiset/debug/merge1_neg.cc: New test. 1143 1.1 mrg * testsuite/23_containers/unordered_multiset/debug/merge2_neg.cc: New test. 1144 1.1 mrg * testsuite/23_containers/unordered_multiset/debug/merge3_neg.cc: New test. 1145 1.1 mrg * testsuite/23_containers/unordered_multiset/debug/merge4_neg.cc: New test. 1146 1.1 mrg * testsuite/23_containers/unordered_set/debug/merge1_neg.cc: New test. 1147 1.1 mrg * testsuite/23_containers/unordered_set/debug/merge2_neg.cc: New test. 1148 1.1 mrg * testsuite/23_containers/unordered_set/debug/merge3_neg.cc: New test. 1149 1.1 mrg * testsuite/23_containers/unordered_set/debug/merge4_neg.cc: New test. 1150 1.1 mrg * testsuite/util/testsuite_abi.h: [_GLIBCXX_DEBUG] Use normal unordered 1151 1.1 mrg container implementation. 1152 1.1 mrg 1153 1.1 mrg 2021-11-09 Jonathan Wakely <jwakely (a] redhat.com> 1154 1.1 mrg 1155 1.1 mrg * testsuite/26_numerics/random/random_device/cons/token.cc: 1156 1.1 mrg Print results of random_device_available checks. 1157 1.1 mrg 1158 1.1 mrg 2021-11-09 Jonathan Wakely <jwakely (a] redhat.com> 1159 1.1 mrg 1160 1.1 mrg PR libstdc++/103146 1161 1.1 mrg * src/c++11/random.cc: Check __powerpc64__ not __powerpc__. 1162 1.1 mrg 1163 1.1 mrg 2021-11-09 Jonathan Wakely <jwakely (a] redhat.com> 1164 1.1 mrg 1165 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM): 1166 1.1 mrg Define. 1167 1.1 mrg * configure.ac (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM): 1168 1.1 mrg Use them. 1169 1.1 mrg * config.h.in: Regenerate. 1170 1.1 mrg * configure: Regenerate. 1171 1.1 mrg * src/c++11/random.cc (random_device): Add getentropy and 1172 1.1 mrg arc4random as sources. 1173 1.1 mrg * testsuite/26_numerics/random/random_device/cons/token.cc: 1174 1.1 mrg Check new tokens. 1175 1.1 mrg * testsuite/26_numerics/random/random_device/entropy.cc: 1176 1.1 mrg Likewise. 1177 1.1 mrg 1178 1.1 mrg 2021-11-09 Jonathan Wakely <jwakely (a] redhat.com> 1179 1.1 mrg 1180 1.1 mrg * testsuite/26_numerics/random/random_device/cons/token.cc: 1181 1.1 mrg Retry if random devices produce the same value. 1182 1.1 mrg 1183 1.1 mrg 2021-11-09 Rasmus Villemoes <rasmus.villemoes (a] prevas.dk> 1184 1.1 mrg 1185 1.1 mrg * config/os/vxworks/os_defines.h (_GLIBCXX_HAVE_TLS): Only 1186 1.1 mrg define for VxWorks >= 6.6. 1187 1.1 mrg 1188 1.1 mrg 2021-11-05 Jonathan Wakely <jwakely (a] redhat.com> 1189 1.1 mrg 1190 1.1 mrg * include/bits/range_access.h (begin(valarray), end(valarray)): 1191 1.1 mrg Add noexcept. 1192 1.1 mrg 1193 1.1 mrg 2021-11-05 Jonathan Wakely <jwakely (a] redhat.com> 1194 1.1 mrg 1195 1.1 mrg * include/std/tuple (tuple_size_v): Fix pack expansion. 1196 1.1 mrg 1197 1.1 mrg 2021-11-05 Jonathan Wakely <jwakely (a] redhat.com> 1198 1.1 mrg 1199 1.1 mrg * src/c++11/random.cc (__x86_rdrand, __x86_rdseed): Add 1200 1.1 mrg [[unlikely]] attribute. 1201 1.1 mrg 1202 1.1 mrg 2021-11-05 Jonathan Wakely <jwakely (a] redhat.com> 1203 1.1 mrg 1204 1.1 mrg * src/c++11/random.cc [__powerpc__] (USE_DARN): Define. 1205 1.1 mrg (__ppc_darn): New function to use POWER9 DARN instruction. 1206 1.1 mrg (Which): Add 'darn' enumerator. 1207 1.1 mrg (which_source): Check for __ppc_darn. 1208 1.1 mrg (random_device::_M_init): Support "darn" and "hw" tokens. 1209 1.1 mrg (random_device::_M_getentropy): Add darn to switch. 1210 1.1 mrg * testsuite/26_numerics/random/random_device/cons/token.cc: 1211 1.1 mrg Check "darn" token. 1212 1.1 mrg * testsuite/26_numerics/random/random_device/entropy.cc: 1213 1.1 mrg Likewise. 1214 1.1 mrg 1215 1.1 mrg 2021-11-05 Jonathan Wakely <jwakely (a] redhat.com> 1216 1.1 mrg 1217 1.1 mrg * testsuite/lib/gdb-test.exp: Add target selector support to the 1218 1.1 mrg dg-final directives. 1219 1.1 mrg * testsuite/libstdc++-prettyprinters/80276.cc: Add xfail for 1220 1.1 mrg C++20. 1221 1.1 mrg * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. 1222 1.1 mrg * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Tweak 1223 1.1 mrg comment. 1224 1.1 mrg 1225 1.1 mrg 2021-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1226 1.1 mrg 1227 1.1 mrg PR libstdc++/103086 1228 1.1 mrg * python/libstdcxx/v6/printers.py (_tuple_impl_get): New helper 1229 1.1 mrg for accessing the tuple element stored in a _Tuple_impl node. 1230 1.1 mrg (tuple_get): New function for accessing a tuple element. 1231 1.1 mrg (unique_ptr_get): New function for accessing a unique_ptr. 1232 1.1 mrg (UniquePointerPrinter, StdPathPrinter): Use unique_ptr_get. 1233 1.1 mrg * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Cast 1234 1.1 mrg tuple to its base class before accessing _M_head_impl. 1235 1.1 mrg 1236 1.1 mrg 2021-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1237 1.1 mrg 1238 1.1 mrg * doc/xml/manual/evolution.xml: Document deprecations. 1239 1.1 mrg * doc/html/*: Regenerate. 1240 1.1 mrg * libsupc++/exception (unexpected_handler, unexpected) 1241 1.1 mrg (get_unexpected, set_unexpected): Add deprecated attribute. 1242 1.1 mrg Do not define without _GLIBCXX_USE_DEPRECATED for C++17 and up. 1243 1.1 mrg * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Disable 1244 1.1 mrg deprecated warnings. 1245 1.1 mrg * libsupc++/eh_ptr.cc (std::rethrow_exception): Likewise. 1246 1.1 mrg * libsupc++/eh_terminate.cc: Likewise. 1247 1.1 mrg * libsupc++/eh_throw.cc (__cxa_init_primary_exception): 1248 1.1 mrg Likewise. 1249 1.1 mrg * libsupc++/unwind-cxx.h (struct __cxa_exception): Use 1250 1.1 mrg terminate_handler instead of unexpected_handler. 1251 1.1 mrg (struct __cxa_dependent_exception): Likewise. 1252 1.1 mrg (__unexpected): Likewise. 1253 1.1 mrg * testsuite/18_support/headers/exception/synopsis.cc: Add 1254 1.1 mrg dg-warning for deprecated warning. 1255 1.1 mrg * testsuite/18_support/exception_ptr/60612-unexpected.cc: 1256 1.1 mrg Disable deprecated warnings. 1257 1.1 mrg * testsuite/18_support/set_unexpected.cc: Likewise. 1258 1.1 mrg * testsuite/18_support/unexpected_handler.cc: Likewise. 1259 1.1 mrg 1260 1.1 mrg 2021-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1261 1.1 mrg 1262 1.1 mrg * include/bits/utility.h (__find_uniq_type_in_pack): Move 1263 1.1 mrg definition to here, ... 1264 1.1 mrg * include/std/tuple (__find_uniq_type_in_pack): ... from here. 1265 1.1 mrg * include/std/variant (__detail__variant::__index_of): Remove. 1266 1.1 mrg (__detail::__variant::__exactly_once): Define using 1267 1.1 mrg __find_uniq_type_in_pack instead of __index_of. 1268 1.1 mrg (get<T>, get_if<T>, variant::__index_of): Likewise. 1269 1.1 mrg 1270 1.1 mrg 2021-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1271 1.1 mrg 1272 1.1 mrg * include/bits/stl_pair.h (tuple_size_v): Define partial 1273 1.1 mrg specializations for std::pair. 1274 1.1 mrg * include/bits/utility.h (_Nth_type): Move definition here 1275 1.1 mrg and define primary template. 1276 1.1 mrg (tuple_size_v): Move definition here. 1277 1.1 mrg * include/std/array (tuple_size_v): Define partial 1278 1.1 mrg specializations for std::array. 1279 1.1 mrg * include/std/tuple (tuple_size_v): Move primary template to 1280 1.1 mrg <bits/utility.h>. Define partial specializations for 1281 1.1 mrg std::tuple. 1282 1.1 mrg (tuple_element): Change definition to use _Nth_type. 1283 1.1 mrg * include/std/variant (_Nth_type): Move to <bits/utility.h>. 1284 1.1 mrg (variant_alternative, variant): Adjust qualification of 1285 1.1 mrg _Nth_type. 1286 1.1 mrg * testsuite/20_util/tuple/element_access/get_neg.cc: Prune 1287 1.1 mrg additional errors from _Nth_type. 1288 1.1 mrg 1289 1.1 mrg 2021-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1290 1.1 mrg 1291 1.1 mrg * include/std/variant (__detail::__variant::__emplace): New 1292 1.1 mrg function template. 1293 1.1 mrg (_Copy_assign_base::operator=): Reorder conditions to match 1294 1.1 mrg bulleted list of effects in the standard. Use __emplace instead 1295 1.1 mrg of _M_reset followed by _Construct. 1296 1.1 mrg (_Move_assign_base::operator=): Likewise. 1297 1.1 mrg (__construct_by_index): Remove. 1298 1.1 mrg (variant::emplace): Use __emplace instead of _M_reset followed 1299 1.1 mrg by __construct_by_index. 1300 1.1 mrg (variant::swap): Hoist valueless cases out of visitor. Use 1301 1.1 mrg __emplace to replace _M_reset followed by _Construct. 1302 1.1 mrg 1303 1.1 mrg 2021-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1304 1.1 mrg 1305 1.1 mrg * include/std/variant (_Nth_type): Define partial 1306 1.1 mrg specializations to reduce number of instantiations. 1307 1.1 mrg (variant_size_v): Define partial specializations to avoid 1308 1.1 mrg instantiations. 1309 1.1 mrg (variant_alternative): Use _Nth_type. Add static assert. 1310 1.1 mrg (__tuple_count, __tuple_count_v): Replace with ... 1311 1.1 mrg (__count): New variable template. 1312 1.1 mrg (_Variant_union): Add deleted constructor. 1313 1.1 mrg (variant::__to_type): Use _Nth_type. 1314 1.1 mrg (variant::emplace): Use _Nth_type. Add deleted overloads for 1315 1.1 mrg invalid types and indices. 1316 1.1 mrg 1317 1.1 mrg 2021-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1318 1.1 mrg 1319 1.1 mrg PR libstdc++/102912 1320 1.1 mrg * include/std/variant (_Variant_storage::__index_of): Remove. 1321 1.1 mrg (__variant_construct_single): Remove. 1322 1.1 mrg (__variant_construct): Remove. 1323 1.1 mrg (_Copy_ctor_base::_Copy_ctor_base(const _Copy_ctor_base&)): Do 1324 1.1 mrg construction directly instead of using __variant_construct. 1325 1.1 mrg (_Move_ctor_base::_Move_ctor_base(_Move_ctor_base&&)): Likewise. 1326 1.1 mrg (_Move_ctor_base::_M_destructive_move()): Remove. 1327 1.1 mrg (_Move_ctor_base::_M_destructive_copy()): Remove. 1328 1.1 mrg (_Copy_assign_base::operator=(const _Copy_assign_base&)): Do 1329 1.1 mrg construction directly instead of using _M_destructive_copy. 1330 1.1 mrg (variant::swap): Do construction directly instead of using 1331 1.1 mrg _M_destructive_move. 1332 1.1 mrg * testsuite/20_util/variant/102912.cc: New test. 1333 1.1 mrg 1334 1.1 mrg 2021-11-03 Jonathan Wakely <jwakely (a] redhat.com> 1335 1.1 mrg 1336 1.1 mrg PR libstdc++/66742 1337 1.1 mrg * include/bits/list.tcc (list::sort): Use mutable iterators for 1338 1.1 mrg comparisons. 1339 1.1 mrg * include/bits/stl_list.h (_Scratch_list::_Ptr_cmp): Likewise. 1340 1.1 mrg * testsuite/23_containers/list/operations/66742.cc: Check 1341 1.1 mrg non-const comparisons. 1342 1.1 mrg 1343 1.1 mrg 2021-11-03 Jonathan Wakely <jwakely (a] redhat.com> 1344 1.1 mrg 1345 1.1 mrg * include/std/valarray (valarray::valarray()): Add noexcept. 1346 1.1 mrg (valarray::operator[]): Likewise. 1347 1.1 mrg 1348 1.1 mrg 2021-11-01 Jonathan Wakely <jwakely (a] redhat.com> 1349 1.1 mrg 1350 1.1 mrg * include/debug/stl_iterator.h (__valid_range): Add constexpr 1351 1.1 mrg for C++20. Qualify call to avoid ADL. 1352 1.1 mrg (__get_distance, __can_advance, __unsafe, __base): Likewise. 1353 1.1 mrg * testsuite/25_algorithms/move/constexpr.cc: Also check with 1354 1.1 mrg std::reverse_iterator arguments. 1355 1.1 mrg 1356 1.1 mrg 2021-11-01 Jonathan Wakely <jwakely (a] redhat.com> 1357 1.1 mrg 1358 1.1 mrg * include/std/span (span(Range&&)): Reorder constraints. 1359 1.1 mrg 1360 1.1 mrg 2021-11-01 Jonathan Wakely <jwakely (a] redhat.com> 1361 1.1 mrg 1362 1.1 mrg PR libstdc++/103022 1363 1.1 mrg * include/std/valarray (begin, end): Do not dereference an empty 1364 1.1 mrg valarray. Add noexcept and [[nodiscard]]. 1365 1.1 mrg * testsuite/26_numerics/valarray/range_access.cc: Check empty 1366 1.1 mrg valarray. Check iterator properties. Run as well as compiling. 1367 1.1 mrg * testsuite/26_numerics/valarray/range_access2.cc: Likewise. 1368 1.1 mrg * testsuite/26_numerics/valarray/103022.cc: New test. 1369 1.1 mrg 1370 1.1 mrg 2021-10-29 Jonathan Wakely <jwakely (a] redhat.com> 1371 1.1 mrg 1372 1.1 mrg * testsuite/23_containers/stack/deduction.cc: Fix typo. 1373 1.1 mrg 1374 1.1 mrg 2021-10-26 Martin Sebor <msebor (a] redhat.com> 1375 1.1 mrg 1376 1.1 mrg * testsuite/21_strings/basic_string/capacity/1.cc: Also suppress 1377 1.1 mrg -Wstringop-overread. 1378 1.1 mrg * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: Same. 1379 1.1 mrg 1380 1.1 mrg 2021-10-26 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 1381 1.1 mrg 1382 1.1 mrg * testsuite/28_regex/basic_regex/84110.cc (test01) 1383 1.1 mrg [__cpp_exceptions]: Disambiguate extended. 1384 1.1 mrg 1385 1.1 mrg 2021-10-26 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 1386 1.1 mrg 1387 1.1 mrg * testsuite/17_intro/names.cc [__sun__] (r, x): Undef. 1388 1.1 mrg 1389 1.1 mrg 2021-10-22 Jonathan Wakely <jwakely (a] redhat.com> 1390 1.1 mrg 1391 1.1 mrg PR libstdc++/102894 1392 1.1 mrg * include/std/any (make_any): Add SFINAE constraint. 1393 1.1 mrg * testsuite/20_util/any/102894.cc: New test. 1394 1.1 mrg 1395 1.1 mrg 2021-10-21 Jonathan Wakely <jwakely (a] redhat.com> 1396 1.1 mrg 1397 1.1 mrg * doc/doxygen/stdheader.cc: Refactor. Use C++23. Add new 1398 1.1 mrg headers. 1399 1.1 mrg * scripts/run_doxygen: Fix post-processing of #include 1400 1.1 mrg directives in man pages. Use new xg++ to compile helper program. 1401 1.1 mrg 1402 1.1 mrg 2021-10-21 Jonathan Wakely <jwakely (a] redhat.com> 1403 1.1 mrg 1404 1.1 mrg * include/bits/mofunc_impl.h: Add doxygen comments. 1405 1.1 mrg * include/std/functional: Likewise. 1406 1.1 mrg 1407 1.1 mrg 2021-10-21 Jonathan Wakely <jwakely (a] redhat.com> 1408 1.1 mrg 1409 1.1 mrg * include/bits/alloc_traits.h: Suppress doxygen documentation. 1410 1.1 mrg * include/bits/allocated_ptr.h: Likewise. 1411 1.1 mrg * include/bits/enable_special_members.h: Likewise. 1412 1.1 mrg * include/bits/hashtable.h: Likewise. 1413 1.1 mrg * include/bits/hashtable_policy.h: Likewise. 1414 1.1 mrg * include/bits/uses_allocator.h: Likewise. 1415 1.1 mrg * include/bits/node_handle.h: Document node handles and suppress 1416 1.1 mrg documentation for protected members. 1417 1.1 mrg * include/std/any: Suppress documentation for implementation 1418 1.1 mrg details. 1419 1.1 mrg 1420 1.1 mrg 2021-10-21 Patrick Palka <ppalka (a] redhat.com> 1421 1.1 mrg 1422 1.1 mrg PR libstdc++/102358 1423 1.1 mrg * include/bits/stl_iterator.h (__niter_base): Make constexpr 1424 1.1 mrg for C++20. 1425 1.1 mrg (__miter_base): Likewise. 1426 1.1 mrg * testsuite/25_algorithms/move/constexpr.cc: New test. 1427 1.1 mrg 1428 1.1 mrg 2021-10-21 Patrick Palka <ppalka (a] redhat.com> 1429 1.1 mrg 1430 1.1 mrg * include/std/ranges (istream_view): Replace this function 1431 1.1 mrg template with an alias template as per P2432R1. 1432 1.1 mrg (wistream_view): Define as per P2432R1. 1433 1.1 mrg (views::_Istream, views::istream): Likewise. 1434 1.1 mrg * testsuite/std/ranges/istream_view.cc (test07): New test. 1435 1.1 mrg 1436 1.1 mrg 2021-10-21 Patrick Palka <ppalka (a] redhat.com> 1437 1.1 mrg 1438 1.1 mrg * include/bits/ranges_util.h (views::_Drop): Forward declare. 1439 1.1 mrg (subrange): Befriend views::_Drop. 1440 1.1 mrg (subrange::_S_store_size): Declare constexpr instead of just 1441 1.1 mrg const, remove obsolete comment. 1442 1.1 mrg * include/std/ranges (views::__detail::__is_empty_view): Define. 1443 1.1 mrg (views::__detail::__is_basic_string_view): Likewise. 1444 1.1 mrg (views::__detail::__is_subrange): Likewise. 1445 1.1 mrg (views::__detail::__is_iota_view): Likewise. 1446 1.1 mrg (views::__detail::__can_take_view): Rename template parm _Tp to _Dp. 1447 1.1 mrg (views::_Take): Rename template parm _Tp to _Dp, make it non-deducible 1448 1.1 mrg and fix it to range_difference_t<_Range>. Implement P1739R4 and 1449 1.1 mrg LWG 3407 changes. 1450 1.1 mrg (views::__detail::__can_drop_view): Rename template parm _Tp to _Dp. 1451 1.1 mrg (views::_Drop): As with views::_Take. 1452 1.1 mrg (views::_Counted): Implement P1739R4 changes. 1453 1.1 mrg * include/std/span (__detail::__is_std_span): Rename to ... 1454 1.1 mrg (__detail::__is_span): ... this and turn it into a variable 1455 1.1 mrg template. 1456 1.1 mrg (__detail::__is_std_array): Turn it into a variable template. 1457 1.1 mrg (span::span): Adjust uses of __is_std_span and __is_std_array 1458 1.1 mrg accordingly. 1459 1.1 mrg * testsuite/std/ranges/adaptors/p1739.cc: New test. 1460 1.1 mrg 1461 1.1 mrg 2021-10-21 Patrick Palka <ppalka (a] redhat.com> 1462 1.1 mrg 1463 1.1 mrg * include/bits/stl_iterator.h (common_iterator::__arrow_proxy): 1464 1.1 mrg Make fully constexpr as per LWG 3595. 1465 1.1 mrg (common_iterator::__postfix_proxy): Likewise. 1466 1.1 mrg 1467 1.1 mrg 2021-10-21 Patrick Palka <ppalka (a] redhat.com> 1468 1.1 mrg 1469 1.1 mrg * include/std/ranges (lazy_split_view::base): Add forward_range 1470 1.1 mrg constraint as per LWG 3591. 1471 1.1 mrg (lazy_split_view::begin, lazy_split_view::end): Also check 1472 1.1 mrg simpleness of _Pattern as per LWG 3592. 1473 1.1 mrg (split_view::base): Relax copyable constraint as per LWG 3590. 1474 1.1 mrg 1475 1.1 mrg 2021-10-21 Patrick Palka <ppalka (a] redhat.com> 1476 1.1 mrg 1477 1.1 mrg * include/std/ranges (join_view::__iter_cat::_S_iter_cat): Adjust 1478 1.1 mrg criteria for returning bidirectional_iterator_tag as per LWG 3535. 1479 1.1 mrg (join_view::_Iterator::_S_iter_concept): Likewise. 1480 1.1 mrg 1481 1.1 mrg 2021-10-21 Patrick Palka <ppalka (a] redhat.com> 1482 1.1 mrg 1483 1.1 mrg * include/bits/ranges_base.h (viewable_range): Adjust as per 1484 1.1 mrg LWG 3481. 1485 1.1 mrg * testsuite/std/ranges/adaptors/all.cc (test07): New test. 1486 1.1 mrg 1487 1.1 mrg 2021-10-21 Jonathan Wakely <jwakely (a] redhat.com> 1488 1.1 mrg 1489 1.1 mrg PR libstdc++/102863 1490 1.1 mrg * include/std/optional (optional::and_then, optional::transform): 1491 1.1 mrg Remove requires-clause. 1492 1.1 mrg * testsuite/20_util/optional/monadic/and_then.cc: Check 1493 1.1 mrg overload resolution doesn't cause errors. 1494 1.1 mrg * testsuite/20_util/optional/monadic/transform.cc: Likewise. 1495 1.1 mrg 1496 1.1 mrg 2021-10-20 Jonathan Wakely <jwakely (a] redhat.com> 1497 1.1 mrg 1498 1.1 mrg * testsuite/20_util/optional/monadic/transform.cc: Check that 1499 1.1 mrg an rvalue result is not materialized too soon. 1500 1.1 mrg 1501 1.1 mrg 2021-10-19 Patrick Palka <ppalka (a] redhat.com> 1502 1.1 mrg 1503 1.1 mrg * include/std/ranges (iota_view::_Iterator::operator+): Adjust 1504 1.1 mrg definition as per LWG 3580. 1505 1.1 mrg (iota_view::_Iterator::operator-): Likewise. 1506 1.1 mrg 1507 1.1 mrg 2021-10-19 Patrick Palka <ppalka (a] redhat.com> 1508 1.1 mrg 1509 1.1 mrg * include/std/ranges (basic_istream_view::_M_object): Value 1510 1.1 mrg initialize as per LWG 3568. 1511 1.1 mrg 1512 1.1 mrg 2021-10-19 Patrick Palka <ppalka (a] redhat.com> 1513 1.1 mrg 1514 1.1 mrg * include/bits/ranges_util.h 1515 1.1 mrg (__detail::__uses_nonqualification_pointer_conversion): Define 1516 1.1 mrg and use it ... 1517 1.1 mrg (__detail::__convertible_to_nonslicing): ... here, as per LWG 3470. 1518 1.1 mrg * testsuite/std/ranges/subrange/1.cc: New test. 1519 1.1 mrg 1520 1.1 mrg 2021-10-19 Patrick Palka <ppalka (a] redhat.com> 1521 1.1 mrg 1522 1.1 mrg * include/std/ranges (iota_view::_Iterator): Befriend iota_view. 1523 1.1 mrg (iota_view::_Sentinel): Likewise. 1524 1.1 mrg (iota_view::iota_view): Add three overloads, each taking an 1525 1.1 mrg iterator/sentinel pair as per LWG 3523. 1526 1.1 mrg * testsuite/std/ranges/iota/iota_view.cc (test06): New test. 1527 1.1 mrg 1528 1.1 mrg 2021-10-19 Patrick Palka <ppalka (a] redhat.com> 1529 1.1 mrg 1530 1.1 mrg * include/bits/ranges_base.h (view_interface): Forward declare. 1531 1.1 mrg (__detail::__is_derived_from_view_interface_fn): Declare. 1532 1.1 mrg (__detail::__is_derived_from_view_interface): Define as per LWG 3549. 1533 1.1 mrg (enable_view): Adjust as per LWG 3549. 1534 1.1 mrg * include/bits/ranges_util.h (view_interface): Don't derive from 1535 1.1 mrg view_base. 1536 1.1 mrg * include/std/ranges (filter_view): Revert r11-3504 change. 1537 1.1 mrg (transform_view): Likewise. 1538 1.1 mrg (take_view): Likewise. 1539 1.1 mrg (take_while_view): Likewise. 1540 1.1 mrg (drop_view): Likewise. 1541 1.1 mrg (drop_while_view): Likewise. 1542 1.1 mrg (join_view): Likewise. 1543 1.1 mrg (lazy_split_view): Likewise. 1544 1.1 mrg (split_view): Likewise. 1545 1.1 mrg (reverse_view): Likewise. 1546 1.1 mrg * testsuite/std/ranges/adaptors/sizeof.cc: Update expected sizes. 1547 1.1 mrg * testsuite/std/ranges/view.cc (test_view::test_view): Remove 1548 1.1 mrg this default ctor since views no longer need to be default initable. 1549 1.1 mrg (test01): New test. 1550 1.1 mrg 1551 1.1 mrg 2021-10-19 Jonathan Wakely <jwakely (a] redhat.com> 1552 1.1 mrg 1553 1.1 mrg * src/c++11/random.cc (which_source): New helper function. 1554 1.1 mrg (random_device::_M_getentropy()): Use which_source and return 1555 1.1 mrg suitable values for sources other than device files. 1556 1.1 mrg * testsuite/26_numerics/random/random_device/entropy.cc: New test. 1557 1.1 mrg 1558 1.1 mrg 2021-10-19 Jonathan Wakely <jwakely (a] redhat.com> 1559 1.1 mrg 1560 1.1 mrg * doc/Makefile.am (stamp-html-doxygen, stamp-html-doxygen) 1561 1.1 mrg (stamp-latex-doxygen, stamp-man-doxygen): Fix recipes for 1562 1.1 mrg relative ${top_srcdir}. 1563 1.1 mrg * doc/Makefile.in: Regenerate. 1564 1.1 mrg 1565 1.1 mrg 2021-10-19 Jonathan Wakely <jwakely (a] redhat.com> 1566 1.1 mrg 1567 1.1 mrg * include/std/variant (_Uninitialized): Use an empty struct 1568 1.1 mrg for the unused union member, instead of char. 1569 1.1 mrg 1570 1.1 mrg 2021-10-19 Jonathan Wakely <jwakely (a] redhat.com> 1571 1.1 mrg 1572 1.1 mrg * include/bits/stl_stack.h (stack(Iterator, Iterator)): Remove 1573 1.1 mrg non-deducible template parameter from deduction guide. 1574 1.1 mrg * testsuite/23_containers/stack/deduction.cc: Check new C++23 1575 1.1 mrg deduction guides. 1576 1.1 mrg 1577 1.1 mrg 2021-10-19 Jonathan Wakely <jwakely (a] redhat.com> 1578 1.1 mrg 1579 1.1 mrg * include/std/optional (_Optional_payload_base::_Storage): Add 1580 1.1 mrg constructor taking a callable function to invoke. 1581 1.1 mrg (_Optional_payload_base::_M_apply): New function. 1582 1.1 mrg (__cpp_lib_monadic_optional): Define for C++23. 1583 1.1 mrg (optional::and_then, optional::transform, optional::or_else): 1584 1.1 mrg Define for C++23. 1585 1.1 mrg * include/std/ranges (__detail::__cached): Remove. 1586 1.1 mrg (__detail::__non_propagating_cache): Remove use of __cached for 1587 1.1 mrg contained value. Use _Optional_payload_base::_M_construct and 1588 1.1 mrg _Optional_payload_base::_M_apply to set the contained value. 1589 1.1 mrg * include/std/version (__cpp_lib_monadic_optional): Define. 1590 1.1 mrg * testsuite/20_util/optional/monadic/and_then.cc: New test. 1591 1.1 mrg * testsuite/20_util/optional/monadic/or_else.cc: New test. 1592 1.1 mrg * testsuite/20_util/optional/monadic/or_else_neg.cc: New test. 1593 1.1 mrg * testsuite/20_util/optional/monadic/transform.cc: New test. 1594 1.1 mrg * testsuite/20_util/optional/monadic/version.cc: New test. 1595 1.1 mrg 1596 1.1 mrg 2021-10-19 Jonathan Wakely <jwakely (a] redhat.com> 1597 1.1 mrg 1598 1.1 mrg PR libstdc++/102825 1599 1.1 mrg * include/bits/mofunc_impl.h (move_only_function): Remove 1600 1.1 mrg invalid base initializer. 1601 1.1 mrg * testsuite/20_util/move_only_function/cons.cc: Instantiate 1602 1.1 mrg constructors to check bodies. 1603 1.1 mrg 1604 1.1 mrg 2021-10-15 Jonathan Wakely <jwakely (a] redhat.com> 1605 1.1 mrg 1606 1.1 mrg * include/bits/fs_path.h (path::_S_convert(T)): Avoid recursive 1607 1.1 mrg call to function with deduced return type. 1608 1.1 mrg 1609 1.1 mrg 2021-10-15 Jonathan Wakely <jwakely (a] redhat.com> 1610 1.1 mrg 1611 1.1 mrg * include/bits/basic_string.h (__cpp_lib_string_resize_and_overwrite): 1612 1.1 mrg Define for C++23. 1613 1.1 mrg (basic_string::resize_and_overwrite): Declare. 1614 1.1 mrg * include/bits/basic_string.tcc (basic_string::resize_and_overwrite): 1615 1.1 mrg Define. 1616 1.1 mrg * include/std/version (__cpp_lib_resize_and_overwrite): Define 1617 1.1 mrg for C++23. 1618 1.1 mrg * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: 1619 1.1 mrg New test. 1620 1.1 mrg 1621 1.1 mrg 2021-10-15 Jonathan Wakely <jwakely (a] redhat.com> 1622 1.1 mrg 1623 1.1 mrg PR libstdc++/101263 1624 1.1 mrg * include/std/ranges (__cached): New wrapper struct. 1625 1.1 mrg (__non_propagating_cache): Use __cached for contained value. 1626 1.1 mrg (__non_propagating_cache::_M_emplace_deref): Add constexpr. Use 1627 1.1 mrg std::construct_at instead of placement new. 1628 1.1 mrg * testsuite/std/ranges/adaptors/join.cc: Check constexpr works. 1629 1.1 mrg 1630 1.1 mrg 2021-10-15 Jonathan Wakely <jwakely (a] redhat.com> 1631 1.1 mrg 1632 1.1 mrg * include/std/variant (__cpp_lib_variant): Update value for 1633 1.1 mrg C++20. 1634 1.1 mrg (__variant_cast, __variant_construct): Add constexpr for C++20. 1635 1.1 mrg (__variant_construct_single, __construct_by_index) Likewise. Use 1636 1.1 mrg std::_Construct instead of placement new. 1637 1.1 mrg (_Uninitialized<T, false>) [__cplusplus >= 202002]: Replace 1638 1.1 mrg buffer with a union and define a destructor. 1639 1.1 mrg (_Variadic_union) [__cplusplus >= 202002]: Add a specialization 1640 1.1 mrg for non-trivial destruction. 1641 1.1 mrg (_Variant_storage::__index_of): New helper variable template. 1642 1.1 mrg (_Variant_storage::~_Variant_storage()): Add constexpr. 1643 1.1 mrg (_Variant_storage::_M_reset()): Likewise. 1644 1.1 mrg (_Copy_ctor_base, _Move_ctor_base): Likewise. 1645 1.1 mrg (_Copy_assign_base, _Move_assign_base): Likewise. 1646 1.1 mrg (variant, swap): Likewise. 1647 1.1 mrg * include/std/version (__cpp_lib_variant): Update value for 1648 1.1 mrg C++20. 1649 1.1 mrg * testsuite/20_util/optional/version.cc: Check for exact value 1650 1.1 mrg in C++17. 1651 1.1 mrg * testsuite/20_util/variant/87619.cc: Increase timeout for 1652 1.1 mrg C++20 mode. 1653 1.1 mrg * testsuite/20_util/variant/constexpr.cc: New test. 1654 1.1 mrg * testsuite/20_util/variant/version.cc: New test. 1655 1.1 mrg 1656 1.1 mrg 2021-10-15 Jonathan Wakely <jwakely (a] redhat.com> 1657 1.1 mrg 1658 1.1 mrg * include/std/variant (__detail::__variant::__get_storage): 1659 1.1 mrg Remove unused function. 1660 1.1 mrg (__variant_construct_by_index): Set index after construction is 1661 1.1 mrg complete. Rename to ... 1662 1.1 mrg (__detail::__variant::__construct_by_index): ... this. 1663 1.1 mrg (variant): Use new name for __variant_construct_by_index friend 1664 1.1 mrg declaration. Remove __get_storage friend declaration. 1665 1.1 mrg (variant::emplace): Use new name and remove try-blocks. 1666 1.1 mrg 1667 1.1 mrg 2021-10-15 Jonathan Wakely <jwakely (a] redhat.com> 1668 1.1 mrg 1669 1.1 mrg * include/std/variant (_Variant_storage::_M_storage()): Remove. 1670 1.1 mrg (__detail::__variant::__get_storage): Remove. 1671 1.1 mrg (variant): Remove friend declaration of __get_storage. 1672 1.1 mrg 1673 1.1 mrg 2021-10-15 Jason Merrill <jason (a] redhat.com> 1674 1.1 mrg 1675 1.1 mrg * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: 1676 1.1 mrg * testsuite/20_util/integer_comparisons/greater_neg.cc: 1677 1.1 mrg * testsuite/20_util/integer_comparisons/less_equal_neg.cc: 1678 1.1 mrg Adjust expected message. 1679 1.1 mrg * testsuite/lib/prune.exp: Prune 'in constexpr expansion'. 1680 1.1 mrg 1681 1.1 mrg 2021-10-14 Jonathan Wakely <jwakely (a] redhat.com> 1682 1.1 mrg 1683 1.1 mrg * include/std/variant (__variant::__get(in_place_index_t<N>, U&&)): 1684 1.1 mrg Rename to __get_n and remove first argument. Replace pair of 1685 1.1 mrg overloads with a single function using 'if constexpr'. 1686 1.1 mrg (__variant::__get(Variant&&)): Adjust to use __get_n. 1687 1.1 mrg 1688 1.1 mrg 2021-10-14 Jonathan Wakely <jwakely (a] redhat.com> 1689 1.1 mrg 1690 1.1 mrg * include/bits/fs_path.h (path(path&&)): Make unconditionally 1691 1.1 mrg noexcept. 1692 1.1 mrg (path::_S_convert(T)): Add condtional noexcept. 1693 1.1 mrg 1694 1.1 mrg 2021-10-14 Jonathan Wakely <jwakely (a] redhat.com> 1695 1.1 mrg 1696 1.1 mrg PR libstdc++/102743 1697 1.1 mrg * include/bits/fs_path.h (path::_S_convert(T)): Fix condition 1698 1.1 mrg for returning the same string unchanged. 1699 1.1 mrg 1700 1.1 mrg 2021-10-14 Jonathan Wakely <jwakely (a] redhat.com> 1701 1.1 mrg 1702 1.1 mrg * include/bits/regex.h: Check __cpp_inline_variables instead of 1703 1.1 mrg __cplusplus. 1704 1.1 mrg 1705 1.1 mrg 2021-10-14 Jonathan Wakely <jwakely (a] redhat.com> 1706 1.1 mrg 1707 1.1 mrg * testsuite/20_util/is_layout_compatible/version.cc: Check 1708 1.1 mrg correct macro. 1709 1.1 mrg 1710 1.1 mrg 2021-10-14 Jonathan Wakely <jwakely (a] redhat.com> 1711 1.1 mrg 1712 1.1 mrg * include/bits/stl_construct.h (_Construct): Use 1713 1.1 mrg std::construct_at when constant evaluated. 1714 1.1 mrg * include/std/optional (_Storage, _Optional_payload, optional): 1715 1.1 mrg Add constexpr as specified by P2231R1. 1716 1.1 mrg * include/std/version (__cpp_lib_optional): Update value for 1717 1.1 mrg C++20. 1718 1.1 mrg * testsuite/20_util/optional/requirements.cc: Check feature test 1719 1.1 mrg macro. 1720 1.1 mrg * testsuite/20_util/optional/constexpr/assign.cc: New test. 1721 1.1 mrg * testsuite/20_util/optional/constexpr/cons/conv.cc: New test. 1722 1.1 mrg * testsuite/20_util/optional/constexpr/modifiers.cc: New test. 1723 1.1 mrg * testsuite/20_util/optional/constexpr/swap.cc: New test. 1724 1.1 mrg * testsuite/20_util/optional/version.cc: New test. 1725 1.1 mrg 1726 1.1 mrg 2021-10-13 Jonathan Wakely <jwakely (a] redhat.com> 1727 1.1 mrg 1728 1.1 mrg * include/bits/fs_path.h (__detail::__is_contiguous): Add 1729 1.1 mrg partial specializations for pointers and __normal_iterator. 1730 1.1 mrg 1731 1.1 mrg 2021-10-13 Jonathan Wakely <jwakely (a] redhat.com> 1732 1.1 mrg 1733 1.1 mrg * testsuite/27_io/filesystem/path/construct/102592.C: Moved to... 1734 1.1 mrg * testsuite/27_io/filesystem/path/construct/102592.cc: ...here. 1735 1.1 mrg * testsuite/28_regex/match_results/102667.C: Moved to... 1736 1.1 mrg * testsuite/28_regex/match_results/102667.cc: ...here. 1737 1.1 mrg 1738 1.1 mrg 2021-10-13 Jonathan Wakely <jwakely (a] redhat.com> 1739 1.1 mrg 1740 1.1 mrg * include/bits/fs_path.h (__detail::__is_contiguous): New 1741 1.1 mrg variable template to identify contiguous iterators. 1742 1.1 mrg (__detail::__unified_char8_t): New alias template to decide when 1743 1.1 mrg to treat char8_t as char without encoding conversion. 1744 1.1 mrg (__detail::__effective_range(const basic_string<C,T>&)): Use 1745 1.1 mrg std::char_traits<C> for returned string view. 1746 1.1 mrg (__detail::__effective_range(const basic_string_view<C,T>&)): 1747 1.1 mrg Likewise. 1748 1.1 mrg (__detail::__effective_range(const Source&)): Use 1749 1.1 mrg __is_contiguous to detect mode cases of contiguous iterators. 1750 1.1 mrg Use __unified_char8_t to return a std::string instead of 1751 1.1 mrg std::u8string. 1752 1.1 mrg 1753 1.1 mrg 2021-10-13 Jonathan Wakely <jwakely (a] redhat.com> 1754 1.1 mrg 1755 1.1 mrg PR libstdc++/102592 1756 1.1 mrg * include/bits/fs_path.h (path::path(Iter, Iter, format)) 1757 1.1 mrg (path::append(Iter, Iter), path::concat(Iter, Iter)): Call 1758 1.1 mrg __string_from_range directly, instead of two-argument overload 1759 1.1 mrg of _S_convert. 1760 1.1 mrg (path::_S_convert(Iter, Iter)): Remove. 1761 1.1 mrg * testsuite/27_io/filesystem/path/construct/102592.C: New test. 1762 1.1 mrg 1763 1.1 mrg 2021-10-13 Jonathan Wakely <jwakely (a] redhat.com> 1764 1.1 mrg 1765 1.1 mrg * include/bits/c++config (__terminate): Add extern "C++". 1766 1.1 mrg 1767 1.1 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com> 1768 1.1 mrg 1769 1.1 mrg * testsuite/20_util/tuple/comparison_operators/overloaded.cc: 1770 1.1 mrg Restore test for operator<. 1771 1.1 mrg * testsuite/20_util/tuple/comparison_operators/overloaded2.cc: 1772 1.1 mrg Adjust expected errors for C++20. 1773 1.1 mrg 1774 1.1 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com> 1775 1.1 mrg 1776 1.1 mrg PR libstdc++/101960 1777 1.1 mrg * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Define as 1778 1.1 mrg defauled. 1779 1.1 mrg * testsuite/20_util/tuple/cons/101960.cc: Check tuples with 1780 1.1 mrg array elements before the last element. 1781 1.1 mrg 1782 1.1 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com> 1783 1.1 mrg 1784 1.1 mrg * include/bits/stl_iterator_base_funcs.h (__advance): Add 1785 1.1 mrg deleted overload to improve diagnostics. 1786 1.1 mrg (__distance): Likewise. 1787 1.1 mrg 1788 1.1 mrg 2021-10-11 Jonathan Wakely <jwakely (a] redhat.com> 1789 1.1 mrg 1790 1.1 mrg * include/bits/atomic_timed_wait.h: Remove unused header. 1791 1.1 mrg * include/bits/c++config (std:__terminate): Define. 1792 1.1 mrg * include/bits/semaphore_base.h: Remove <exception> and use 1793 1.1 mrg __terminate instead of terminate. 1794 1.1 mrg * include/bits/std_thread.h: Likewise. 1795 1.1 mrg * libsupc++/eh_terminate.cc (std::terminate): Use qualified-id 1796 1.1 mrg to call __cxxabiv1::__terminate. 1797 1.1 mrg 1798 1.1 mrg 2021-10-11 Jonathan Wakely <jwakely (a] redhat.com> 1799 1.1 mrg 1800 1.1 mrg * include/bits/regex.h (basic_regex::assign(Iter, Iter)): Avoid 1801 1.1 mrg std::__to_address by using poitner directly or using base() 1802 1.1 mrg member of __normal_iterator. 1803 1.1 mrg 1804 1.1 mrg 2021-10-11 Jonathan Wakely <jwakely (a] redhat.com> 1805 1.1 mrg 1806 1.1 mrg * testsuite/18_support/numeric_limits/lowest.cc: Use 1807 1.1 mrg numeric_limits<T>::is_integer instead of is_integral<T>::value. 1808 1.1 mrg 1809 1.1 mrg 2021-10-11 Jonathan Wakely <jwakely (a] redhat.com> 1810 1.1 mrg 1811 1.1 mrg PR libstdc++/89927 1812 1.1 mrg * include/bits/regex.h (basic_regex(const _Ch_type*, size_t)): 1813 1.1 mrg Add __glibcxx_requires_string_len assertion. 1814 1.1 mrg (basic_regex::assign(InputIterator, InputIterator)): Add 1815 1.1 mrg __glibcxx_requires_valid_range assertion. 1816 1.1 mrg * include/bits/regex_scanner.tcc (_Scanner::_M_advance()) 1817 1.1 mrg (_Scanner::_M_scan_normal()): Use string literal in assertions. 1818 1.1 mrg 1819 1.1 mrg 2021-10-11 Jonathan Wakely <jwakely (a] redhat.com> 1820 1.1 mrg 1821 1.1 mrg PR libstdc++/102667 1822 1.1 mrg * include/bits/regex.h (match_result::empty()): Optimize by 1823 1.1 mrg calling the base function directly. 1824 1.1 mrg (match_results::end()): Check _Base_type::empty() not empty(). 1825 1.1 mrg * testsuite/28_regex/match_results/102667.C: New test. 1826 1.1 mrg 1827 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 1828 1.1 mrg 1829 1.1 mrg PR libstdc++/98725 1830 1.1 mrg * testsuite/18_support/numeric_limits/lowest.cc: Remove use of 1831 1.1 mrg _GLIBCXX_USE_WCHAR_T. 1832 1.1 mrg * testsuite/18_support/numeric_limits/min_max.cc: Replace use of 1833 1.1 mrg _GLIBCXX_USE_WCHAR_T with checks for WCHAR_MIN and WCHAR_MAX. 1834 1.1 mrg * testsuite/20_util/from_chars/1_neg.cc: Remove use of 1835 1.1 mrg _GLIBCXX_USE_WCHAR_T. 1836 1.1 mrg * testsuite/20_util/function_objects/searchers.cc: Likewise. Use 1837 1.1 mrg char_traits<wchar_t>::length instead of wcslen. 1838 1.1 mrg * testsuite/20_util/hash/requirements/explicit_instantiation.cc: 1839 1.1 mrg Likewise. 1840 1.1 mrg * testsuite/20_util/is_arithmetic/value.cc: Likewise. 1841 1.1 mrg * testsuite/20_util/is_compound/value.cc: Likewise. 1842 1.1 mrg * testsuite/20_util/is_floating_point/value.cc: Likewise. 1843 1.1 mrg * testsuite/20_util/is_fundamental/value.cc: Likewise. 1844 1.1 mrg * testsuite/20_util/is_integral/value.cc: Likewise. 1845 1.1 mrg * testsuite/20_util/is_signed/value.cc: Likewise. 1846 1.1 mrg * testsuite/20_util/is_unsigned/value.cc: Likewise. 1847 1.1 mrg * testsuite/20_util/is_void/value.cc: Likewise. 1848 1.1 mrg * testsuite/20_util/make_signed/requirements/typedefs-1.cc: 1849 1.1 mrg Likewise. 1850 1.1 mrg * testsuite/20_util/make_signed/requirements/typedefs-2.cc: 1851 1.1 mrg Likewise. 1852 1.1 mrg * testsuite/20_util/make_signed/requirements/typedefs-3.cc: 1853 1.1 mrg Likewise. 1854 1.1 mrg * testsuite/20_util/make_signed/requirements/typedefs-4.cc: 1855 1.1 mrg Likewise. 1856 1.1 mrg * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: 1857 1.1 mrg Likewise. 1858 1.1 mrg * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: 1859 1.1 mrg Likewise. 1860 1.1 mrg * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: 1861 1.1 mrg Likewise. 1862 1.1 mrg * testsuite/20_util/to_chars/3.cc: Likewise. 1863 1.1 mrg * testsuite/20_util/type_identity/requirements/typedefs.cc: 1864 1.1 mrg Likewise. 1865 1.1 mrg * testsuite/21_strings/basic_string/hash/debug.cc: Likewise. 1866 1.1 mrg * testsuite/21_strings/basic_string/hash/hash.cc: Likewise. 1867 1.1 mrg * testsuite/21_strings/basic_string/literals/types-char8_t.cc: 1868 1.1 mrg Likewise. 1869 1.1 mrg * testsuite/21_strings/basic_string/literals/types.cc: Likewise. 1870 1.1 mrg * testsuite/21_strings/basic_string/literals/values-char8_t.cc: 1871 1.1 mrg Likewise. 1872 1.1 mrg * testsuite/21_strings/basic_string/literals/values.cc: 1873 1.1 mrg Likewise. 1874 1.1 mrg * testsuite/21_strings/basic_string/modifiers/64422.cc: 1875 1.1 mrg Likewise. 1876 1.1 mrg * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: 1877 1.1 mrg Likewise. 1878 1.1 mrg * testsuite/21_strings/basic_string/requirements/citerators.cc: 1879 1.1 mrg Likewise. 1880 1.1 mrg * testsuite/21_strings/basic_string/requirements/typedefs.cc: 1881 1.1 mrg Likewise. 1882 1.1 mrg * testsuite/21_strings/basic_string/types/pmr_typedefs.cc: 1883 1.1 mrg Likewise. 1884 1.1 mrg * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc: 1885 1.1 mrg Likewise. 1886 1.1 mrg * testsuite/21_strings/basic_string_view/literals/types.cc: 1887 1.1 mrg Likewise. 1888 1.1 mrg * testsuite/21_strings/basic_string_view/literals/values-char8_t.cc: 1889 1.1 mrg Likewise. 1890 1.1 mrg * testsuite/21_strings/basic_string_view/literals/values.cc: 1891 1.1 mrg Likewise. 1892 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/typedefs.cc: 1893 1.1 mrg Likewise. 1894 1.1 mrg * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise. 1895 1.1 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions.cc: 1896 1.1 mrg Likewise. 1897 1.1 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: 1898 1.1 mrg Likewise. 1899 1.1 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: 1900 1.1 mrg Likewise. 1901 1.1 mrg * testsuite/22_locale/ctype/is/string/89728_neg.cc: Likewise. 1902 1.1 mrg * testsuite/25_algorithms/fill/4.cc: Likewise. 1903 1.1 mrg * testsuite/25_algorithms/fill_n/1.cc: Likewise. 1904 1.1 mrg * testsuite/experimental/functional/searchers.cc: Likewise. Use 1905 1.1 mrg char_traits<wchar_t>::length instead of wcslen. 1906 1.1 mrg * testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc: 1907 1.1 mrg Likewise. 1908 1.1 mrg * testsuite/experimental/string_view/literals/types-char8_t.cc: 1909 1.1 mrg Likewise. 1910 1.1 mrg * testsuite/experimental/string_view/literals/types.cc: 1911 1.1 mrg Likewise. 1912 1.1 mrg * testsuite/experimental/string_view/literals/values-char8_t.cc: 1913 1.1 mrg Likewise. 1914 1.1 mrg * testsuite/experimental/string_view/literals/values.cc: 1915 1.1 mrg Likewise. 1916 1.1 mrg * testsuite/experimental/string_view/range_access/wchar_t/1.cc: 1917 1.1 mrg Likewise. 1918 1.1 mrg * testsuite/experimental/string_view/requirements/typedefs.cc: 1919 1.1 mrg Likewise. 1920 1.1 mrg * testsuite/experimental/string_view/typedefs.cc: Likewise. 1921 1.1 mrg * testsuite/ext/vstring/range_access.cc: Likewise. 1922 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: 1923 1.1 mrg Likewise. 1924 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: 1925 1.1 mrg Likewise. 1926 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: 1927 1.1 mrg Likewise. 1928 1.1 mrg * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: 1929 1.1 mrg Likewise. 1930 1.1 mrg * testsuite/tr1/4_metaprogramming/is_compound/value.cc: 1931 1.1 mrg Likewise. 1932 1.1 mrg * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: 1933 1.1 mrg Likewise. 1934 1.1 mrg * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: 1935 1.1 mrg Likewise. 1936 1.1 mrg * testsuite/tr1/4_metaprogramming/is_integral/value.cc: 1937 1.1 mrg Likewise. 1938 1.1 mrg * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise. 1939 1.1 mrg * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: 1940 1.1 mrg Likewise. 1941 1.1 mrg * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise. 1942 1.1 mrg * testsuite/tr1/6_containers/hash/24799.cc: Likewise. 1943 1.1 mrg 1944 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 1945 1.1 mrg 1946 1.1 mrg PR libstdc++/98725 1947 1.1 mrg * include/std/ostream (operator<<(basic_ostream<char, Tr>&, wchar_t)) 1948 1.1 mrg (operator<<(basic_ostream<char, Tr>&, const wchar_t*)): Always 1949 1.1 mrg define as deleted. Do not check _GLIBCXX_USE_WCHAR_T. 1950 1.1 mrg 1951 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 1952 1.1 mrg 1953 1.1 mrg PR libstdc++/98725 1954 1.1 mrg * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): 1955 1.1 mrg Define unconditionally. Do not check _GLIBCXX_USE_WCHAR_T. 1956 1.1 mrg 1957 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 1958 1.1 mrg 1959 1.1 mrg PR libstdc++/98725 1960 1.1 mrg * include/c_global/cstddef [!_GLIBCXX_USE_WCHAR_T] 1961 1.1 mrg (__byte_operand<wchar_t>): Define specialization. 1962 1.1 mrg * include/std/type_traits (__make_signed<wchar_t>) 1963 1.1 mrg (__make_unsigned<wchar_t>): Remove redundant check for 1964 1.1 mrg __WCHAR_TYPE__ being defined. 1965 1.1 mrg * include/tr1/type_traits [!_GLIBCXX_USE_WCHAR_T] 1966 1.1 mrg (__is_integral_helper<wchar_t>): Likewise. 1967 1.1 mrg 1968 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 1969 1.1 mrg 1970 1.1 mrg PR libstdc++/98725 1971 1.1 mrg * include/ext/rc_string_base.h [!_GLIBCXX_USE_WCHAR_T] 1972 1.1 mrg (__rc_string_base<wchar_t>): Define member function. 1973 1.1 mrg * include/ext/vstring.h [!_GLIBCXX_USE_WCHAR_T] 1974 1.1 mrg (hash<__gnu_cxx::__wvstring>): Define specialization. 1975 1.1 mrg * include/ext/vstring_fwd.h [!_GLIBCXX_USE_WCHAR_T] (__wvstring) 1976 1.1 mrg (__wsso_string, __wrc_string): Declare typedefs. 1977 1.1 mrg 1978 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 1979 1.1 mrg 1980 1.1 mrg PR libstdc++/98725 1981 1.1 mrg * include/bits/char_traits.h (char_traits<wchar_t>): Define 1982 1.1 mrg explicit specialization unconditionally. 1983 1.1 mrg * include/bits/basic_string.h (hash<wstring>): Define 1984 1.1 mrg unconditionally. Do not check _GLIBCXX_USE_WCHAR_T. 1985 1.1 mrg * include/bits/stringfwd.h (wstring): Likewise. 1986 1.1 mrg * include/debug/string (wstring): Likewise. 1987 1.1 mrg * include/experimental/string_view (experimental::wstring_view) 1988 1.1 mrg (hash<experimental::wstring_view>): Likewise. 1989 1.1 mrg * include/std/string (pmr::wstring, hash<pmr::wstring>): 1990 1.1 mrg Likewise. 1991 1.1 mrg * include/std/string_view (wstring_view, hash<wstring_view>): 1992 1.1 mrg Likewise. 1993 1.1 mrg 1994 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 1995 1.1 mrg 1996 1.1 mrg * testsuite/27_io/basic_filebuf/close/81256.cc: Moved to... 1997 1.1 mrg * testsuite/27_io/basic_filebuf/close/wchar_t/81256.cc: ...here. 1998 1.1 mrg 1999 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 2000 1.1 mrg 2001 1.1 mrg * testsuite/22_locale/conversions/buffer/1.cc: Check 2002 1.1 mrg _GLIBCXX_USE_WCHAR_T. 2003 1.1 mrg * testsuite/22_locale/conversions/buffer/3.cc: Likewise. Add 2004 1.1 mrg test using char16_t. 2005 1.1 mrg * testsuite/22_locale/conversions/string/1.cc: Check 2006 1.1 mrg _GLIBCXX_USE_WCHAR_T. 2007 1.1 mrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: 2008 1.1 mrg Likewise. 2009 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: 2010 1.1 mrg Likewise. 2011 1.1 mrg * testsuite/27_io/filesystem/path/native/alloc.cc: Likewise. 2012 1.1 mrg * testsuite/27_io/filesystem/path/native/string-char8_t.cc: 2013 1.1 mrg Likewise. 2014 1.1 mrg * testsuite/27_io/filesystem/path/native/string.cc: Likewise. 2015 1.1 mrg * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc: 2016 1.1 mrg Likewise. 2017 1.1 mrg * testsuite/experimental/filesystem/path/generic/generic_string.cc: 2018 1.1 mrg Likewise. 2019 1.1 mrg * testsuite/experimental/filesystem/path/native/alloc.cc: 2020 1.1 mrg Likewise. 2021 1.1 mrg * testsuite/experimental/filesystem/path/native/string-char8_t.cc: 2022 1.1 mrg Likewise. 2023 1.1 mrg * testsuite/experimental/filesystem/path/native/string.cc: 2024 1.1 mrg Likewise. 2025 1.1 mrg 2026 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 2027 1.1 mrg 2028 1.1 mrg * testsuite/26_numerics/bit/bit.rotate/rotr.cc: 2029 1.1 mrg * testsuite/util/testsuite_common_types.h: 2030 1.1 mrg 2031 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 2032 1.1 mrg 2033 1.1 mrg * testsuite/18_support/numeric_limits/40856.cc: Replace use of 2034 1.1 mrg _GLIBCXX_USE_INT128. 2035 1.1 mrg * testsuite/18_support/numeric_limits/dr559.cc: Likewise. 2036 1.1 mrg * testsuite/18_support/numeric_limits/lowest.cc: Likewise. 2037 1.1 mrg * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise. 2038 1.1 mrg * testsuite/20_util/is_floating_point/value.cc: Likewise. 2039 1.1 mrg * testsuite/20_util/is_integral/value.cc: Likewise. 2040 1.1 mrg * testsuite/20_util/is_signed/value.cc: Likewise. 2041 1.1 mrg * testsuite/20_util/is_unsigned/value.cc: Likewise. 2042 1.1 mrg * testsuite/20_util/make_signed/requirements/typedefs-1.cc: 2043 1.1 mrg Likewise. 2044 1.1 mrg * testsuite/20_util/make_signed/requirements/typedefs-2.cc: 2045 1.1 mrg Likewise. 2046 1.1 mrg * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: 2047 1.1 mrg Likewise. 2048 1.1 mrg * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: 2049 1.1 mrg Likewise. 2050 1.1 mrg * testsuite/20_util/type_identity/requirements/typedefs.cc: 2051 1.1 mrg Likewise. 2052 1.1 mrg * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise. 2053 1.1 mrg * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise. 2054 1.1 mrg * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise. 2055 1.1 mrg * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise. 2056 1.1 mrg * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise. 2057 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise. 2058 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise. 2059 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise. 2060 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc: 2061 1.1 mrg Likewise. 2062 1.1 mrg * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise. 2063 1.1 mrg 2064 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 2065 1.1 mrg 2066 1.1 mrg * include/bits/hashtable_policy.h (_Select1st): Replace use of 2067 1.1 mrg std::get. 2068 1.1 mrg (_Select2nd): Remove. 2069 1.1 mrg (_NodeBuilder::_S_build): Use _NodeGenerator::__node_type 2070 1.1 mrg typedef instead of deducing it. Remove unnecessary piecewise 2071 1.1 mrg construction. 2072 1.1 mrg (_ReuseOrAllocNode): Make __node_type public. 2073 1.1 mrg (_Map_base): Adjust partial specialization to be able to extract 2074 1.1 mrg the mapped_type without using tuple_element. 2075 1.1 mrg (_Map_base::at): Define inline 2076 1.1 mrg * testsuite/23_containers/unordered_map/requirements/53339.cc: 2077 1.1 mrg Remove XFAIL. 2078 1.1 mrg * testsuite/23_containers/unordered_multimap/requirements/53339.cc: 2079 1.1 mrg Likewise. 2080 1.1 mrg 2081 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 2082 1.1 mrg 2083 1.1 mrg * include/bits/hashtable.h: Move static assertion to destructor. 2084 1.1 mrg * include/bits/hashtable_policy.h: Deduce value type from node 2085 1.1 mrg type without instantiating it. 2086 1.1 mrg 2087 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 2088 1.1 mrg 2089 1.1 mrg * src/c++11/limits.cc: Fail if __cpp_inline_variables is 2090 1.1 mrg defined. 2091 1.1 mrg 2092 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 2093 1.1 mrg 2094 1.1 mrg PR libstdc++/92546 2095 1.1 mrg * include/bits/ranges_algobase.h: Replace <iterator> with a 2096 1.1 mrg subset of the headers it includes. 2097 1.1 mrg 2098 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 2099 1.1 mrg 2100 1.1 mrg * include/experimental/deque (erase, erase_if): Revert changes 2101 1.1 mrg to avoid debug mode overhead. 2102 1.1 mrg * include/experimental/map (erase, erase_if): Likewise. 2103 1.1 mrg * include/experimental/set (erase, erase_if): Likewise. 2104 1.1 mrg * include/experimental/unordered_map (erase, erase_if): 2105 1.1 mrg Likewise. 2106 1.1 mrg * include/experimental/unordered_set (erase, erase_if): 2107 1.1 mrg Likewise. 2108 1.1 mrg * include/experimental/vector (erase, erase_if): Likewise. 2109 1.1 mrg * include/std/deque (erase, erase_if): Likewise. 2110 1.1 mrg * include/std/map (erase, erase_if): Likewise. 2111 1.1 mrg * include/std/set (erase, erase_if): Likewise. 2112 1.1 mrg * include/std/unordered_map (erase, erase_if): Likewise. 2113 1.1 mrg * include/std/unordered_set (erase, erase_if): Likewise. 2114 1.1 mrg * include/std/vector (erase, erase_if): Likewise. 2115 1.1 mrg 2116 1.1 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com> 2117 1.1 mrg 2118 1.1 mrg * include/std/chrono (__detail::__units_suffix_misc): New 2119 1.1 mrg helper function. 2120 1.1 mrg (__detail::__units_suffix): Likewise. 2121 1.1 mrg (chrono::operator<<(basic_ostream&, const duration&)): Define. 2122 1.1 mrg * testsuite/20_util/duration/io.cc: New test. 2123 1.1 mrg 2124 1.1 mrg 2021-10-07 Jonathan Wakely <jwakely (a] redhat.com> 2125 1.1 mrg 2126 1.1 mrg * include/Makefile.am: Add new header. 2127 1.1 mrg * include/Makefile.in: Regenerate. 2128 1.1 mrg * include/std/chrono (duration, time_point, system_clock) 2129 1.1 mrg (steady_clock, high_resolution_clock, chrono_literals, sys_time) 2130 1.1 mrg (file_clock, file_time): Move to ... 2131 1.1 mrg * include/bits/chrono.h: New file. 2132 1.1 mrg * include/bits/atomic_futex.h: Include new header instead of 2133 1.1 mrg <chrono>. 2134 1.1 mrg * include/bits/atomic_timed_wait.h: Likewise. 2135 1.1 mrg * include/bits/fs_fwd.h: Likewise. 2136 1.1 mrg * include/bits/semaphore_base.h: Likewise. 2137 1.1 mrg * include/bits/this_thread_sleep.h: Likewise. 2138 1.1 mrg * include/bits/unique_lock.h: Likewise. 2139 1.1 mrg * include/experimental/bits/fs_fwd.h: Likewise. 2140 1.1 mrg * include/experimental/chrono: Likewise. 2141 1.1 mrg * include/experimental/io_context: Likewise. 2142 1.1 mrg * include/experimental/netfwd: Likewise. 2143 1.1 mrg * include/experimental/timer: Likewise. 2144 1.1 mrg * include/std/condition_variable: Likewise. 2145 1.1 mrg * include/std/mutex: Likewise. 2146 1.1 mrg * include/std/shared_mutex: Likewise. 2147 1.1 mrg 2148 1.1 mrg 2021-10-07 Jonathan Wakely <jwakely (a] redhat.com> 2149 1.1 mrg 2150 1.1 mrg PR libstdc++/102377 2151 1.1 mrg * include/bits/atomic_wait.h (__waiter_pool_base:_S_align): 2152 1.1 mrg Hardcode to 64 instead of using non-constant constant. 2153 1.1 mrg 2154 1.1 mrg 2021-10-07 Jonathan Wakely <jwakely (a] redhat.com> 2155 1.1 mrg 2156 1.1 mrg * include/bits/erase_if.h (__erase_nodes_if): Remove redundant 2157 1.1 mrg __niter_base calls. 2158 1.1 mrg * include/std/string (erase, erase_if): Likewise. 2159 1.1 mrg * include/std/deque (erase, erase_if): Access non-debug 2160 1.1 mrg container directly. 2161 1.1 mrg * include/std/map (erase, erase_if): Likewise. 2162 1.1 mrg * include/std/set (erase, erase_if): Likewise. 2163 1.1 mrg * include/std/unordered_map (erase, erase_if): Likewise. 2164 1.1 mrg * include/std/unordered_set (erase, erase_if): Likewise. 2165 1.1 mrg * include/std/vector (erase, erase_if): Likewise. 2166 1.1 mrg * include/experimental/deque (erase, erase_if): Likewise. 2167 1.1 mrg * include/experimental/map (erase, erase_if): Likewise. 2168 1.1 mrg * include/experimental/set (erase, erase_if): Likewise. 2169 1.1 mrg * include/experimental/unordered_map (erase, erase_if): 2170 1.1 mrg Likewise. 2171 1.1 mrg * include/experimental/unordered_set (erase, erase_if): 2172 1.1 mrg Likewise. 2173 1.1 mrg * include/experimental/vector (erase, erase_if): Likewise. 2174 1.1 mrg 2175 1.1 mrg 2021-10-06 Jonathan Wakely <jwakely (a] redhat.com> 2176 1.1 mrg 2177 1.1 mrg * include/Makefile.am: Add new headers. 2178 1.1 mrg * include/Makefile.in: Regenerate. 2179 1.1 mrg * include/std/functional: Include <bits/move_only_function.h>. 2180 1.1 mrg * include/std/version (__cpp_lib_move_only_function): Define. 2181 1.1 mrg * include/bits/mofunc_impl.h: New file. 2182 1.1 mrg * include/bits/move_only_function.h: New file. 2183 1.1 mrg * testsuite/20_util/move_only_function/call.cc: New test. 2184 1.1 mrg * testsuite/20_util/move_only_function/cons.cc: New test. 2185 1.1 mrg * testsuite/20_util/move_only_function/move.cc: New test. 2186 1.1 mrg * testsuite/20_util/move_only_function/version.cc: New test. 2187 1.1 mrg 2188 1.1 mrg 2021-10-05 Jonathan Wakely <jwakely (a] redhat.com> 2189 1.1 mrg 2190 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/trivially_copyable.cc: 2191 1.1 mrg New test. 2192 1.1 mrg * testsuite/23_containers/span/trivially_copyable.cc: New test. 2193 1.1 mrg 2194 1.1 mrg 2021-10-05 Jonathan Wakely <jwakely (a] redhat.com> 2195 1.1 mrg 2196 1.1 mrg * include/bits/utility.h (__is_in_place_type_v): Define 2197 1.1 mrg variable template to detect in_place_type_t specializations. 2198 1.1 mrg (__is_in_place_type): Replace class template with alias 2199 1.1 mrg template using __is_in_place_type_v. 2200 1.1 mrg * include/std/any (any(T&&)): Check __is_in_place_type first and 2201 1.1 mrg avoid instantiating is_copy_constructible unnecessarily. 2202 1.1 mrg 2203 1.1 mrg 2021-10-05 Jonathan Wakely <jwakely (a] redhat.com> 2204 1.1 mrg 2205 1.1 mrg * testsuite/20_util/integer_comparisons/greater.cc: New test. 2206 1.1 mrg 2207 1.1 mrg 2021-10-05 Jonathan Wakely <jwakely (a] redhat.com> 2208 1.1 mrg 2209 1.1 mrg * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: 2210 1.1 mrg Check result matches non-volatile pointer. 2211 1.1 mrg 2212 1.1 mrg 2021-10-05 Jonathan Wakely <jwakely (a] redhat.com> 2213 1.1 mrg 2214 1.1 mrg PR c++/102535 2215 1.1 mrg * testsuite/20_util/is_trivially_constructible/value.cc: Adjust 2216 1.1 mrg expected value for C++20. 2217 1.1 mrg 2218 1.1 mrg 2021-10-05 Jonathan Wakely <jwakely (a] redhat.com> 2219 1.1 mrg 2220 1.1 mrg * include/bits/std_function.h (_Any_data::_M_access): Add 2221 1.1 mrg noexcept. 2222 1.1 mrg (_Function_base::_Base_manager::_M_get_pointer): Likewise. 2223 1.1 mrg (_Function_base::_Base_manager::_M_not_empty_function): 2224 1.1 mrg Likewise. 2225 1.1 mrg 2226 1.1 mrg 2021-10-05 Jonathan Wakely <jwakely (a] redhat.com> 2227 1.1 mrg 2228 1.1 mrg * include/std/ostream (operator<<(const volatile void*)): 2229 1.1 mrg Add new overload, as per P1147R1. 2230 1.1 mrg * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: 2231 1.1 mrg New test. 2232 1.1 mrg 2233 1.1 mrg 2021-10-05 Jonathan Wakely <jwakely (a] redhat.com> 2234 1.1 mrg 2235 1.1 mrg * include/bits/stl_queue.h 2236 1.1 mrg (__cpp_lib_adaptor_iterator_pair_constructor): Set to correct 2237 1.1 mrg value. 2238 1.1 mrg * include/bits/stl_stack.h 2239 1.1 mrg (__cpp_lib_adaptor_iterator_pair_constructor): Likewise. 2240 1.1 mrg * include/std/version 2241 1.1 mrg (__cpp_lib_adaptor_iterator_pair_constructor): Likewise. 2242 1.1 mrg * testsuite/23_containers/queue/cons_from_iters.cc: Update 2243 1.1 mrg expected value. 2244 1.1 mrg * testsuite/23_containers/stack/cons_from_iters.cc: Likewise. 2245 1.1 mrg 2246 1.1 mrg 2021-10-04 Jonathan Wakely <jwakely (a] redhat.com> 2247 1.1 mrg 2248 1.1 mrg * include/bits/forward_list.h (forward_list): Use non-deduced 2249 1.1 mrg context for allocator parameter of allocator-extended copy and 2250 1.1 mrg move constructors. 2251 1.1 mrg * include/bits/stl_bvector.h (vector<bool>): Likewise. 2252 1.1 mrg * include/bits/stl_deque.h (deque): Likewise. 2253 1.1 mrg * include/bits/stl_list.h (list): Likewise. 2254 1.1 mrg * include/bits/stl_map.h (map): Likewise. 2255 1.1 mrg * include/bits/stl_multimap.h (multimap): Likewise. 2256 1.1 mrg * include/bits/stl_multiset.h (multiset): Likewise. 2257 1.1 mrg * include/bits/stl_set.h (set): Likewise. 2258 1.1 mrg * include/bits/stl_vector.h (vector): Likewise. 2259 1.1 mrg * include/bits/stl_queue.h (queue, priority_queue): Do not 2260 1.1 mrg constrain Allocator template parameter of deduction guides that 2261 1.1 mrg have a Container parameter. 2262 1.1 mrg * include/bits/stl_stack.h (stack): Likewise. 2263 1.1 mrg * include/debug/deque (__gnu_debug::deque): Use non-deduced 2264 1.1 mrg context for allocator parameter of allocator-extended copy and 2265 1.1 mrg move constructors. 2266 1.1 mrg * include/debug/list (__gnu_debug::list): Likewise. 2267 1.1 mrg * include/debug/map.h (__gnu_debug::map): Likewise. 2268 1.1 mrg * include/debug/multimap.h (__gnu_debug::multimap): Likewise. 2269 1.1 mrg * include/debug/multiset.h (__gnu_debug::multiset): Likewise. 2270 1.1 mrg * include/debug/set.h (__gnu_debug::set): Likewise. 2271 1.1 mrg * include/debug/vector (__gnu_debug::vector): Likewise. 2272 1.1 mrg * testsuite/23_containers/deque/cons/deduction.cc: Test class 2273 1.1 mrg template argument deduction with non-deduced allocator 2274 1.1 mrg arguments. 2275 1.1 mrg * testsuite/23_containers/forward_list/cons/deduction.cc: 2276 1.1 mrg Likewise. 2277 1.1 mrg * testsuite/23_containers/list/cons/deduction.cc: Likewise. 2278 1.1 mrg * testsuite/23_containers/map/cons/deduction.cc: Likewise. 2279 1.1 mrg * testsuite/23_containers/multimap/cons/deduction.cc: Likewise. 2280 1.1 mrg * testsuite/23_containers/multiset/cons/deduction.cc: Likewise. 2281 1.1 mrg * testsuite/23_containers/priority_queue/deduction.cc: Likewise. 2282 1.1 mrg * testsuite/23_containers/queue/deduction.cc: Likewise. 2283 1.1 mrg * testsuite/23_containers/set/cons/deduction.cc: Likewise. 2284 1.1 mrg * testsuite/23_containers/stack/deduction.cc: Likewise. 2285 1.1 mrg * testsuite/23_containers/unordered_map/cons/deduction.cc: 2286 1.1 mrg Likewise. 2287 1.1 mrg * testsuite/23_containers/unordered_multimap/cons/deduction.cc: 2288 1.1 mrg Likewise. 2289 1.1 mrg * testsuite/23_containers/unordered_multiset/cons/deduction.cc: 2290 1.1 mrg Likewise. 2291 1.1 mrg * testsuite/23_containers/unordered_set/cons/deduction.cc: 2292 1.1 mrg Likewise. 2293 1.1 mrg * testsuite/23_containers/vector/cons/deduction.cc: Likewise. 2294 1.1 mrg 2295 1.1 mrg 2021-10-04 Jonathan Wakely <jwakely (a] redhat.com> 2296 1.1 mrg 2297 1.1 mrg * include/std/variant (__detail::__variant::__as): Add missing 2298 1.1 mrg noexcept to first overload. 2299 1.1 mrg 2300 1.1 mrg 2021-10-04 Jonathan Wakely <jwakely (a] redhat.com> 2301 1.1 mrg 2302 1.1 mrg * include/bits/basic_string.h (basic_string(nullptr_t)): Define 2303 1.1 mrg as deleted. 2304 1.1 mrg (operator=(nullptr_t)): Likewise. 2305 1.1 mrg * include/bits/cow_string.h (basic_string(nullptr_t)): Likewise. 2306 1.1 mrg (operator=(nullptr_t)): Likewise. 2307 1.1 mrg * include/std/string_view (basic_string_view(nullptr_t)): 2308 1.1 mrg Likewise. 2309 1.1 mrg * testsuite/21_strings/basic_string/cons/char/nullptr.cc: New test. 2310 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: 2311 1.1 mrg Change dg-warning to dg-error. 2312 1.1 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc: 2313 1.1 mrg Likewise. 2314 1.1 mrg 2315 1.1 mrg 2021-10-02 Jonathan Wakely <jwakely (a] redhat.com> 2316 1.1 mrg 2317 1.1 mrg * src/c++17/fs_ops.cc (create_directory): Fix typo in enum name. 2318 1.1 mrg * src/filesystem/ops-common.h (__last_system_error): Add 2319 1.1 mrg explicit cast to avoid narrowing conversion. 2320 1.1 mrg (do_space): Fix type in function name. 2321 1.1 mrg 2322 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2323 1.1 mrg 2324 1.1 mrg PR libstdc++/102100 2325 1.1 mrg * include/Makefile.am (c++config.h): Define 2326 1.1 mrg _GLIBCXX_VERBOSE_ASSERT based on configure output. 2327 1.1 mrg * include/Makefile.in: Regenerate. 2328 1.1 mrg * include/bits/c++config: Fix condition for verbose assertions. 2329 1.1 mrg 2330 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2331 1.1 mrg 2332 1.1 mrg PR libstdc++/92546 2333 1.1 mrg * include/bits/erase_if.h (__erase_nodes_if): Use __niter_base to 2334 1.1 mrg unwrap debug iterators. 2335 1.1 mrg * include/bits/refwrap.h: Do not error if included in C++03. 2336 1.1 mrg * include/bits/stl_algo.h (__remove_if): Move to ... 2337 1.1 mrg * include/bits/stl_algobase.h (__remove_if): ... here. 2338 1.1 mrg * include/std/deque (erase, erase_if): Use __remove_if instead of 2339 1.1 mrg remove and remove_if. 2340 1.1 mrg * include/std/string (erase, erase_if): Likewise. 2341 1.1 mrg * include/std/vector (erase, erase_if): Likewise. 2342 1.1 mrg 2343 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2344 1.1 mrg 2345 1.1 mrg PR libstdc++/66742 2346 1.1 mrg * include/bits/list.tcc (list::sort()): Use _Scratch_list 2347 1.1 mrg objects for splicing and merging. 2348 1.1 mrg (list::sort(StrictWeakOrdering)): Likewise. 2349 1.1 mrg * include/bits/stl_list.h (__detail::_Scratch_list): New type. 2350 1.1 mrg * src/c++98/list.cc (_List_node_base::_M_transfer): Add 2351 1.1 mrg assertion for --enable-libstdcxx-debug library. 2352 1.1 mrg * testsuite/23_containers/list/operations/66742.cc: New test. 2353 1.1 mrg 2354 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2355 1.1 mrg 2356 1.1 mrg PR libstdc++/100612 2357 1.1 mrg * include/std/thread (__pmf_expects_stop_token): New variable 2358 1.1 mrg template to detect a pointer to member function that needs a 2359 1.1 mrg stop_token to be added to the arguments. 2360 1.1 mrg (jthread::__S_create): Use __pmf_expects_stop_token. 2361 1.1 mrg (jthread::__S_create_pmf): New function. 2362 1.1 mrg * testsuite/30_threads/jthread/100612.cc: New test. 2363 1.1 mrg 2364 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2365 1.1 mrg 2366 1.1 mrg * include/bits/stl_queue.h 2367 1.1 mrg (__cpp_lib_adaptor_iterator_pair_constructor): Define for C++23, as 2368 1.1 mrg per P1425R4. 2369 1.1 mrg (queue(InputIterator, InputIterator)): Likewise. 2370 1.1 mrg (queue(InputIterator, InputIterator, const Alloc&)): Likewise. 2371 1.1 mrg * include/bits/stl_stack.h 2372 1.1 mrg (__cpp_lib_adaptor_iterator_pair_constructor): Likewise. 2373 1.1 mrg (stack(InputIterator, InputIterator)): Likewise. 2374 1.1 mrg (stack(InputIterator, InputIterator, const Alloc&)): Likewise. 2375 1.1 mrg * include/std/version (__cpp_lib_adaptor_iterator_pair_constructor): 2376 1.1 mrg Define. 2377 1.1 mrg * testsuite/23_containers/queue/cons_from_iters.cc: New test. 2378 1.1 mrg * testsuite/23_containers/stack/cons_from_iters.cc: New test. 2379 1.1 mrg 2380 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2381 1.1 mrg 2382 1.1 mrg * include/bits/stl_queue.h (priority_queue): Add 2383 1.1 mrg allocator-extended overloads for constructors taking iterator. 2384 1.1 mrg * testsuite/23_containers/priority_queue/lwg3506.cc: New test. 2385 1.1 mrg 2386 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2387 1.1 mrg 2388 1.1 mrg * include/bits/stl_queue.h (priority_queue): Construct sequence 2389 1.1 mrg from iterators when no sequence argument is present (LWG 3529). 2390 1.1 mrg * testsuite/23_containers/priority_queue/lwg3529.cc: New test. 2391 1.1 mrg 2392 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2393 1.1 mrg 2394 1.1 mrg * include/bits/stl_queue.h (priority_queue): Constrain 2395 1.1 mrg constructors with InputIterator parameters (LWG 3522). 2396 1.1 mrg * testsuite/23_containers/priority_queue/lwg3522.cc: New test. 2397 1.1 mrg 2398 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2399 1.1 mrg 2400 1.1 mrg * include/bits/ranges_base.h (ranges::distance): Split overload 2401 1.1 mrg into two (LWG 3392). 2402 1.1 mrg * testsuite/24_iterators/range_operations/lwg3392.cc: New test. 2403 1.1 mrg 2404 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2405 1.1 mrg 2406 1.1 mrg * testsuite/30_threads/thread/cons/3.cc: Remove derivation from 2407 1.1 mrg std::unary_function. 2408 1.1 mrg * testsuite/30_threads/thread/cons/4.cc: Likewise. 2409 1.1 mrg * testsuite/30_threads/thread/cons/5.cc: Likewise. 2410 1.1 mrg 2411 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2412 1.1 mrg 2413 1.1 mrg * testsuite/ext/pb_ds/example/basic_multimap.cc: Remove 2414 1.1 mrg unnecesary derivation from std::unary_function. 2415 1.1 mrg * testsuite/ext/pb_ds/example/erase_if.cc: Likewise. 2416 1.1 mrg * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise. 2417 1.1 mrg * testsuite/ext/pb_ds/example/hash_initial_size.cc: Likewise. 2418 1.1 mrg * testsuite/ext/pb_ds/example/hash_load_set_change.cc: Likewise. 2419 1.1 mrg * testsuite/ext/pb_ds/example/hash_mod.cc: Likewise. 2420 1.1 mrg * testsuite/ext/pb_ds/example/hash_resize.cc: Likewise. 2421 1.1 mrg * testsuite/ext/pb_ds/example/hash_shift_mask.cc: Likewise. 2422 1.1 mrg * testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc: 2423 1.1 mrg Likewise. 2424 1.1 mrg * testsuite/ext/pb_ds/example/ranged_hash.cc: Likewise. 2425 1.1 mrg * testsuite/ext/pb_ds/example/store_hash.cc: Likewise. 2426 1.1 mrg 2427 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2428 1.1 mrg 2429 1.1 mrg * src/c++11/functexcept.cc (__throw_out_of_range_fmt): Do not 2430 1.1 mrg expand the format string for freestanding, or non-vebose, or if 2431 1.1 mrg we're just going to abort anyway. 2432 1.1 mrg * src/c++11/snprintf_lite.cc: Remove unused header and 2433 1.1 mrg declaration. 2434 1.1 mrg 2435 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2436 1.1 mrg 2437 1.1 mrg * include/std/variant (__do_visit): Use variant_npos instead of 2438 1.1 mrg literal -1 that requires a narrowing conversion. 2439 1.1 mrg 2440 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2441 1.1 mrg 2442 1.1 mrg PR libstdc++/99327 2443 1.1 mrg * src/filesystem/ops-common.h (__unsupported): New function to 2444 1.1 mrg return a suitable error code for missing functionality. 2445 1.1 mrg (posix::off_t): New typedef. 2446 1.1 mrg (posix::*): Set errno to ENOSYS instead of ENOTSUP for no-op 2447 1.1 mrg fallback implementations. 2448 1.1 mrg (do_copy_file): Replace uses of errc::not_supported. 2449 1.1 mrg * src/c++17/fs_ops.cc (fs::copy, fs::copy_file, create_dir) 2450 1.1 mrg (fs::create_directory, fs::create_directory_symlink) 2451 1.1 mrg (fs::create_hard_link, fs::create_symlink, fs::current_path) 2452 1.1 mrg (fs::equivalent, do_stat, fs::file_size, fs::hard_link_count) 2453 1.1 mrg (fs::last_write_time, fs::permissions, fs::read_symlink): 2454 1.1 mrg Replace uses of errc::not_supported. 2455 1.1 mrg (fs::resize_file): Qualify off_t. 2456 1.1 mrg * src/filesystem/ops.cc (fs::copy, fs::copy_file, create_dir) 2457 1.1 mrg (fs::create_directory, fs::create_directory_symlink) 2458 1.1 mrg (fs::create_hard_link, fs::create_symlink, fs::current_path) 2459 1.1 mrg (fs::equivalent, do_stat, fs::file_size, fs::last_write_time) 2460 1.1 mrg (fs::permissions, fs::read_symlink, fs::system_complete): 2461 1.1 mrg Replace uses of errc::not_supported. 2462 1.1 mrg (fs::resize_file): Qualify off_t and enable unconditionally. 2463 1.1 mrg * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise. 2464 1.1 mrg 2465 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2466 1.1 mrg 2467 1.1 mrg * src/filesystem/ops-common.h (last_error): New helper function. 2468 1.1 mrg (filesystem::do_space): Use last_error(). 2469 1.1 mrg * src/c++17/fs_ops.cc (fs::absolute, fs::create_hard_link) 2470 1.1 mrg (fs::equivalent, fs::remove, fs::temp_directory_path): Use 2471 1.1 mrg last_error(). 2472 1.1 mrg * src/filesystem/ops.cc (fs::create_hard_link) 2473 1.1 mrg (fs::remove, fs::temp_directory_path): Likewise. 2474 1.1 mrg 2475 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2476 1.1 mrg 2477 1.1 mrg * include/std/type_traits (__conditional): New class template 2478 1.1 mrg for internal uses of std::conditional. 2479 1.1 mrg (__conditional_t): New alias template to replace conditional_t. 2480 1.1 mrg (__and_, __or_, __result_of_memfun, __result_of_memobj): Use 2481 1.1 mrg __conditional_t instead of conditional::type. 2482 1.1 mrg * include/bits/atomic_base.h (__atomic_impl::_Diff): Likewise. 2483 1.1 mrg * include/bits/hashtable.h (_Hashtable): Likewise. 2484 1.1 mrg * include/bits/hashtable_policy.h (_Node_iterator, _Insert_base) 2485 1.1 mrg (_Local_iterator): Likewise. Replace typedefs with 2486 1.1 mrg using-declarations. 2487 1.1 mrg * include/bits/move.h (move_if_noexcept): Use __conditional_t. 2488 1.1 mrg * include/bits/parse_numbers.h (_Select_int_base): Likewise. 2489 1.1 mrg * include/bits/ptr_traits.h (__make_not_void): Likewise. 2490 1.1 mrg * include/bits/ranges_algobase.h (__copy_or_move_backward) 2491 1.1 mrg (__copy_or_move): Likewise. 2492 1.1 mrg * include/bits/ranges_base.h (borrowed_iterator_t): Likewise. 2493 1.1 mrg * include/bits/ranges_util.h (borrowed_subrange_t): Likewise. 2494 1.1 mrg * include/bits/regex_compiler.h (_BracketMatcher): Use 2495 1.1 mrg __conditional_t. Replace typedefs with using-declarations. 2496 1.1 mrg * include/bits/shared_ptr_base.h (__shared_count): Use 2497 1.1 mrg __conditional_t. 2498 1.1 mrg * include/bits/stl_algobase.h (__copy_move, __copy_move_backward): 2499 1.1 mrg Likewise. 2500 1.1 mrg * include/bits/stl_iterator.h (__detail::__clamp_iter_cat) 2501 1.1 mrg (reverse_iterator::iterator_concept) 2502 1.1 mrg (__make_move_if_noexcept_iterator) 2503 1.1 mrg (iterator_traits<common_iterator<_It, _Sent>>) 2504 1.1 mrg (iterator_traits<counted_iterator<_It>>): Likewise. 2505 1.1 mrg * include/bits/stl_pair.h (_PCC, pair::operator=): Likewise. 2506 1.1 mrg * include/bits/stl_tree.h (_Rb_tree::insert_return_type) 2507 1.1 mrg (_Rb_tree::_M_clone_node): Likewise. 2508 1.1 mrg * include/bits/unique_ptr.h (unique_ptr(unique_ptr<U,E>&&)): 2509 1.1 mrg Likewise. 2510 1.1 mrg * include/bits/uses_allocator.h (__uses_alloc): Likewise. 2511 1.1 mrg (__is_uses_allocator_predicate): Likewise. 2512 1.1 mrg * include/debug/functions.h (__foreign_iterator_aux2): Likewise. 2513 1.1 mrg * include/experimental/any (any::_Manager, __any_caster): 2514 1.1 mrg Likewise. 2515 1.1 mrg * include/experimental/executor (async_completion): Likewise. 2516 1.1 mrg * include/experimental/functional (__boyer_moore_base_t): 2517 1.1 mrg Likewise. 2518 1.1 mrg * include/std/any (any::_Manager): Likewise. 2519 1.1 mrg * include/std/functional (__boyer_moore_base_t): Likewise. 2520 1.1 mrg * include/std/ranges (borrowed_iterator_t) 2521 1.1 mrg (borrowed_subrange_t, __detail::__maybe_present_t) 2522 1.1 mrg (__detail::__maybe_const_t, split_view): Likewise. 2523 1.1 mrg * include/std/tuple (__empty_not_final, tuple::operator=): 2524 1.1 mrg Likewise. 2525 1.1 mrg * include/std/variant (__detail::__variant::__get_t): Likewise. 2526 1.1 mrg 2527 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2528 1.1 mrg 2529 1.1 mrg PR libstdc++/78113 2530 1.1 mrg * include/std/variant (__do_visit): Use a switch when we have a 2531 1.1 mrg single variant with a small number of alternatives. 2532 1.1 mrg 2533 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2534 1.1 mrg 2535 1.1 mrg PR libstdc++/90943 2536 1.1 mrg * include/std/variant (__cpp_lib_variant): Update value. 2537 1.1 mrg (__detail::__variant::__as): New helpers implementing the 2538 1.1 mrg as-variant exposition-only function templates. 2539 1.1 mrg (visit, visit<R>): Use __as to upcast the variant parameters. 2540 1.1 mrg * include/std/version (__cpp_lib_variant): Update value. 2541 1.1 mrg * testsuite/20_util/variant/visit_inherited.cc: New test. 2542 1.1 mrg 2543 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2544 1.1 mrg 2545 1.1 mrg * include/bits/stl_iterator.h (__normal_iterator): Simplify 2546 1.1 mrg converting constructor and do not require _Container::pointer. 2547 1.1 mrg 2548 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2549 1.1 mrg 2550 1.1 mrg * include/bits/cow_string.h [_GLIBCXX_FULLY_DYNAMIC_STRING] 2551 1.1 mrg (basic_string(basic_string&&)): Add noexcept and avoid 2552 1.1 mrg allocation, by sharing rep with the rvalue string. 2553 1.1 mrg 2554 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2555 1.1 mrg 2556 1.1 mrg * include/bits/stl_iterator.h (common_iterator::__arrow_proxy) 2557 1.1 mrg (common_iterator::__postfix_proxy): Add noexcept. 2558 1.1 mrg 2559 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2560 1.1 mrg 2561 1.1 mrg PR libstdc++/94418 2562 1.1 mrg * include/bits/stl_iterator.h (reverse_iterator): Use 2563 1.1 mrg conditional noexcept on constructors and assignment operators. 2564 1.1 mrg * testsuite/24_iterators/reverse_iterator/noexcept.cc: New test. 2565 1.1 mrg 2566 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2567 1.1 mrg 2568 1.1 mrg PR libstdc++/100153 2569 1.1 mrg * include/bits/vector.tcc (vector<bool>::_M_shrink_to_fit()): 2570 1.1 mrg When size() is zero just deallocate and reset. 2571 1.1 mrg 2572 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2573 1.1 mrg 2574 1.1 mrg PR libstdc++/96733 2575 1.1 mrg * include/bits/stl_algo.h (clamp): Use std::min and std::max. 2576 1.1 mrg 2577 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2578 1.1 mrg 2579 1.1 mrg * include/bits/regex.h (basic_regex::multiline): Define for 2580 1.1 mrg non-strict C++11 and C++14 modes. 2581 1.1 mrg * include/bits/regex_constants.h (regex_constants::multiline): 2582 1.1 mrg Add _GLIBCXX_RESOLVE_LIB_DEFECTS comment. 2583 1.1 mrg 2584 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2585 1.1 mrg 2586 1.1 mrg * testsuite/25_algorithms/is_permutation/2.cc: Include <iterator>. 2587 1.1 mrg 2588 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2589 1.1 mrg 2590 1.1 mrg * include/bits/stream_iterator.h (istream_iterator): Add 2591 1.1 mrg noexcept to constructors and non-throwing member functions and 2592 1.1 mrg friend functions. 2593 1.1 mrg (ostream_iterator): Likewise. 2594 1.1 mrg 2595 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2596 1.1 mrg 2597 1.1 mrg * include/bits/boost_concept_check.h (_Is_vector_bool_iterator): 2598 1.1 mrg New trait to identify vector<bool> iterators, including debug 2599 1.1 mrg ones. 2600 1.1 mrg (_ForwardIteratorReferenceConcept): Add default template 2601 1.1 mrg argument using _Is_vector_bool_iterator and use it in partial 2602 1.1 mrg specialization for the vector<bool> cases. 2603 1.1 mrg (_Mutable_ForwardIteratorReferenceConcept): Likewise. 2604 1.1 mrg * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error 2605 1.1 mrg line number. 2606 1.1 mrg 2607 1.1 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2608 1.1 mrg 2609 1.1 mrg * include/bits/list.tcc (list::merge): Remove call to size() and 2610 1.1 mrg try-catch block. Use _Finalize_merge instead. 2611 1.1 mrg * include/bits/stl_list.h (list::_Finalize_merge): New 2612 1.1 mrg scope guard type to update _M_size members after a merge. 2613 1.1 mrg 2614 1.1 mrg 2021-09-30 Jonathan Wakely <jwakely (a] redhat.com> 2615 1.1 mrg 2616 1.1 mrg * include/bits/regex.h (basic_regex::multiline): Fix #if 2617 1.1 mrg condition. 2618 1.1 mrg 2619 1.1 mrg 2021-09-29 Jonathan Wakely <jwakely (a] redhat.com> 2620 1.1 mrg 2621 1.1 mrg * include/bits/regex.h (basic_regex::multiline): Define constant 2622 1.1 mrg for C++17. 2623 1.1 mrg * include/bits/regex_constants.h (regex_constants::multiline): 2624 1.1 mrg Define constant for C++17. 2625 1.1 mrg (regex_constants::__multiline): Define duplicate constant for 2626 1.1 mrg internal use in C++11 and C++14. 2627 1.1 mrg * include/bits/regex_executor.h (_Executor::_M_match_multiline()): 2628 1.1 mrg New member function. 2629 1.1 mrg (_Executor::_M_is_line_terminator(_CharT)): New member function. 2630 1.1 mrg (_Executor::_M_at_begin(), _Executor::_M_at_end()): Use new 2631 1.1 mrg member functions to support multiline matches. 2632 1.1 mrg * testsuite/28_regex/algorithms/regex_match/multiline.cc: New test. 2633 1.1 mrg 2634 1.1 mrg 2021-09-29 Jonathan Wakely <jwakely (a] redhat.com> 2635 1.1 mrg 2636 1.1 mrg * include/bits/regex_compiler.h (_Compiler::_S_validate): New 2637 1.1 mrg function. 2638 1.1 mrg * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Use 2639 1.1 mrg _S_validate to check flags. 2640 1.1 mrg * include/bits/regex_error.h (_S_grammar): New error code for 2641 1.1 mrg internal use. 2642 1.1 mrg * testsuite/28_regex/basic_regex/ctors/grammar.cc: New test. 2643 1.1 mrg 2644 1.1 mrg 2021-09-29 Jonathan Wakely <jwakely (a] redhat.com> 2645 1.1 mrg 2646 1.1 mrg PR libstdc++/84110 2647 1.1 mrg * include/bits/regex_error.h (regex_constants::_S_null): New 2648 1.1 mrg error code for internal use. 2649 1.1 mrg * include/bits/regex_scanner.tcc (_Scanner::_M_scan_normal()): 2650 1.1 mrg Check for null character. 2651 1.1 mrg * testsuite/28_regex/basic_regex/84110.cc: New test. 2652 1.1 mrg 2653 1.1 mrg 2021-09-29 Jonathan Wakely <jwakely (a] redhat.com> 2654 1.1 mrg 2655 1.1 mrg * include/bits/regex.h (__detail::__is_contiguous_iter): Move 2656 1.1 mrg here from <bits/regex_compiler.h>. 2657 1.1 mrg (basic_regex::_M_compile): New function to compile an NFA from 2658 1.1 mrg a regular expression string. 2659 1.1 mrg (basic_regex::basic_regex): Use _M_compile instead of delegating 2660 1.1 mrg to other constructors. 2661 1.1 mrg (basic_regex::operator=(const basic_regex&)): Define as 2662 1.1 mrg defaulted. 2663 1.1 mrg (basic_regex::operator=(initializer_list<C>)): Use _M_compile. 2664 1.1 mrg (basic_regex::assign(const basic_regex&)): Use copy assignment. 2665 1.1 mrg (basic_regex::assign(basic_regex&&)): Use move assignment. 2666 1.1 mrg (basic_regex::assign(const C*, flag_type)): Use _M_compile 2667 1.1 mrg instead of constructing a temporary string. 2668 1.1 mrg (basic_regex::assign(const C*, size_t, flag_type)): Likewise. 2669 1.1 mrg (basic_regex::assign(const basic_string<C,T,A>&, flag_type)): 2670 1.1 mrg Use _M_compile instead of constructing a temporary basic_regex. 2671 1.1 mrg (basic_regex::assign(InputIter, InputIter, flag_type)): Avoid 2672 1.1 mrg constructing a temporary string for contiguous iterators of the 2673 1.1 mrg right value type. 2674 1.1 mrg * include/bits/regex_compiler.h (__is_contiguous_iter): Move to 2675 1.1 mrg <bits/regex.h>. 2676 1.1 mrg (__enable_if_contiguous_iter, __disable_if_contiguous_iter) 2677 1.1 mrg (__compile_nfa): Remove. 2678 1.1 mrg * testsuite/28_regex/basic_regex/assign/exception_safety.cc: New 2679 1.1 mrg test. 2680 1.1 mrg * testsuite/28_regex/basic_regex/ctors/char/other.cc: New test. 2681 1.1 mrg 2682 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2683 1.1 mrg 2684 1.1 mrg * include/bits/atomic_timed_wait.h (__platform_wait_until_impl): 2685 1.1 mrg Return false for ETIMEDOUT and true otherwise. 2686 1.1 mrg 2687 1.1 mrg 2021-09-28 Franois Dumont <fdumont (a] gcc.gnu.org> 2688 1.1 mrg 2689 1.1 mrg * testsuite/20_util/default_delete/48631_neg.cc: Adapt dg-prune-output message 2690 1.1 mrg to also match message with '__8' in it. 2691 1.1 mrg 2692 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2693 1.1 mrg 2694 1.1 mrg * include/bits/regex_automaton.h (_NFA_base::_SizeT): Remove. 2695 1.1 mrg * include/bits/regex_compiler.h (_Compiler::_IterT): Remove. 2696 1.1 mrg * include/bits/regex_compiler.tcc: Likewise. 2697 1.1 mrg * include/bits/regex_scanner.h (_Scanner::_IterT): Remove. 2698 1.1 mrg * include/bits/regex_scanner.tcc: Likewise. 2699 1.1 mrg 2700 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2701 1.1 mrg 2702 1.1 mrg * include/bits/regex_compiler.tcc: Add line break in empty while 2703 1.1 mrg statement. 2704 1.1 mrg * include/bits/regex_executor.tcc: Avoid unused parameter 2705 1.1 mrg warning. 2706 1.1 mrg 2707 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2708 1.1 mrg 2709 1.1 mrg * include/bits/regex.h (basic_regex, swap): Add noexcept to 2710 1.1 mrg non-throwing functions. 2711 1.1 mrg * include/bits/regex_automaton.h (_State_base, _State) 2712 1.1 mrg (_NFA_base): Likewise. 2713 1.1 mrg * include/bits/regex_compiler.h (_Compiler): Likewise. 2714 1.1 mrg * include/bits/regex_error.h (regex_error::code()): Likewise. 2715 1.1 mrg * include/bits/regex_scanner.h (_Scanner): Likewise. 2716 1.1 mrg 2717 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2718 1.1 mrg 2719 1.1 mrg * include/bits/atomic_wait.h (_GLIBCXX_HAVE_PLATFORM_WAIT): 2720 1.1 mrg Define before first attempt to check it. 2721 1.1 mrg 2722 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2723 1.1 mrg 2724 1.1 mrg * testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1.cc: 2725 1.1 mrg Do not check non-default constructible sequences when 2726 1.1 mrg _GLIBCXX_CONCEPT_CHECKS is defined. 2727 1.1 mrg * testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1_c++98.cc: 2728 1.1 mrg Likewise. 2729 1.1 mrg * testsuite/23_containers/queue/requirements/explicit_instantiation/1.cc: 2730 1.1 mrg Likewise. 2731 1.1 mrg * testsuite/23_containers/queue/requirements/explicit_instantiation/1_c++98.cc: 2732 1.1 mrg Likewise. 2733 1.1 mrg * testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc: 2734 1.1 mrg Likewise. 2735 1.1 mrg * testsuite/23_containers/stack/requirements/explicit_instantiation/1_c++98.cc: 2736 1.1 mrg Likewise. 2737 1.1 mrg 2738 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2739 1.1 mrg 2740 1.1 mrg * testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc: 2741 1.1 mrg Do not test implicit allocator rebinding when _GLIBCXX_CONCEPT_CHECKS 2742 1.1 mrg is defined. 2743 1.1 mrg * testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc: 2744 1.1 mrg Likewise. 2745 1.1 mrg * testsuite/23_containers/list/requirements/explicit_instantiation/3.cc: 2746 1.1 mrg Likewise. 2747 1.1 mrg * testsuite/23_containers/list/requirements/explicit_instantiation/5.cc: 2748 1.1 mrg Likewise. 2749 1.1 mrg * testsuite/23_containers/map/requirements/explicit_instantiation/3.cc: 2750 1.1 mrg Likewise. 2751 1.1 mrg * testsuite/23_containers/map/requirements/explicit_instantiation/5.cc: 2752 1.1 mrg Likewise. 2753 1.1 mrg * testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc: 2754 1.1 mrg Likewise. 2755 1.1 mrg * testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc: 2756 1.1 mrg Likewise. 2757 1.1 mrg * testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc: 2758 1.1 mrg Likewise. 2759 1.1 mrg * testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc: 2760 1.1 mrg Likewise. 2761 1.1 mrg * testsuite/23_containers/set/requirements/explicit_instantiation/3.cc: 2762 1.1 mrg Likewise. 2763 1.1 mrg * testsuite/23_containers/set/requirements/explicit_instantiation/5.cc: 2764 1.1 mrg Likewise. 2765 1.1 mrg * testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc: 2766 1.1 mrg Likewise. 2767 1.1 mrg * testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc: 2768 1.1 mrg Likewise. 2769 1.1 mrg * testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc: 2770 1.1 mrg Likewise. 2771 1.1 mrg * testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc: 2772 1.1 mrg Likewise. 2773 1.1 mrg * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc: 2774 1.1 mrg Likewise. 2775 1.1 mrg * testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc: 2776 1.1 mrg Likewise. 2777 1.1 mrg 2778 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2779 1.1 mrg 2780 1.1 mrg * include/bits/boost_concept_check.h (_ForwardIteratorConcept) 2781 1.1 mrg (_BidirectionalIteratorConcept, _RandomAccessIteratorConcept): 2782 1.1 mrg Check result types of iterator operations. 2783 1.1 mrg (_Mutable_ForwardIteratorConcept): Check that iterator's 2784 1.1 mrg reference type is a reference to its value type. 2785 1.1 mrg (_Mutable_BidirectionalIteratorConcept): Do not require the 2786 1.1 mrg value type to be assignable. 2787 1.1 mrg (_Mutable_RandomAccessIteratorConcept): Likewise. 2788 1.1 mrg * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error 2789 1.1 mrg line number. 2790 1.1 mrg 2791 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2792 1.1 mrg 2793 1.1 mrg * testsuite/25_algorithms/copy/34595.cc: Add missing operation 2794 1.1 mrg for type used as an iterator. 2795 1.1 mrg * testsuite/25_algorithms/unique_copy/check_type.cc: Likewise. 2796 1.1 mrg 2797 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2798 1.1 mrg 2799 1.1 mrg * testsuite/20_util/is_nothrow_swappable/value.h: Use custom 2800 1.1 mrg comparison function for priority_queue of type with no 2801 1.1 mrg relational operators. 2802 1.1 mrg * testsuite/20_util/is_swappable/value.h: Likewise. 2803 1.1 mrg * testsuite/24_iterators/output/concept.cc: Add operator< to 2804 1.1 mrg type used in set. 2805 1.1 mrg 2806 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2807 1.1 mrg 2808 1.1 mrg * include/bits/boost_concept_check.h (_OutputIteratorConcept): 2809 1.1 mrg Use a function to preserve value category of the type. 2810 1.1 mrg * include/bits/stl_algobase.h (copy, move, fill_n): Use a 2811 1.1 mrg reference as the second argument for _OutputIteratorConcept. 2812 1.1 mrg (copy_backward, move_backward): Use _OutputIteratorConcept 2813 1.1 mrg instead of _ConvertibleConcept. 2814 1.1 mrg 2815 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2816 1.1 mrg 2817 1.1 mrg * include/bits/stl_iterator.h (pointer_traits): Define partial 2818 1.1 mrg specialization for __normal_iterator. 2819 1.1 mrg * testsuite/24_iterators/normal_iterator/to_address.cc: New test. 2820 1.1 mrg 2821 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2822 1.1 mrg 2823 1.1 mrg * include/bits/move.h (forward(remove_reference_t<T>&&)): 2824 1.1 mrg Improve text of static_assert. 2825 1.1 mrg * testsuite/20_util/forward/c_neg.cc: Adjust dg-error. 2826 1.1 mrg * testsuite/20_util/forward/f_neg.cc: Likewise. 2827 1.1 mrg 2828 1.1 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2829 1.1 mrg 2830 1.1 mrg PR libstdc++/102499 2831 1.1 mrg * include/bits/fs_path.h (path::begin, path::end): Add noexcept 2832 1.1 mrg to declarations, to match definitions. 2833 1.1 mrg 2834 1.1 mrg 2021-09-24 Jonathan Wakely <jwakely (a] redhat.com> 2835 1.1 mrg 2836 1.1 mrg * include/bits/range_access.h (cbegin, cend): Remove redundant 2837 1.1 mrg 'inline' specifier. 2838 1.1 mrg 2839 1.1 mrg 2021-09-23 Jonathan Wakely <jwakely (a] redhat.com> 2840 1.1 mrg 2841 1.1 mrg * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: 2842 1.1 mrg Remove dg-error lines for C++20-only errors. 2843 1.1 mrg 2844 1.1 mrg 2021-09-23 Jonathan Wakely <jwakely (a] redhat.com> 2845 1.1 mrg 2846 1.1 mrg * testsuite/19_diagnostics/headers/system_error/93151.cc: 2847 1.1 mrg Disable PCH. 2848 1.1 mrg 2849 1.1 mrg 2021-09-23 Jonathan Wakely <jwakely (a] redhat.com> 2850 1.1 mrg 2851 1.1 mrg * src/c++11/system_error.cc (system_error_category) [_WIN32]: 2852 1.1 mrg Map Windows error codes to generic POSIX error numbers. Use 2853 1.1 mrg FormatMessage instead of strerror. 2854 1.1 mrg * testsuite/19_diagnostics/error_category/system_category.cc: 2855 1.1 mrg Adjust for new behaviour on Windows. 2856 1.1 mrg 2857 1.1 mrg 2021-09-23 Jonathan Wakely <jwakely (a] redhat.com> 2858 1.1 mrg 2859 1.1 mrg * src/c++11/system_error.cc (generic_error_category): Define 2860 1.1 mrg class and virtual functions as 'final'. 2861 1.1 mrg (generic_error_category::equivalent(int, const error_condition&)): 2862 1.1 mrg Override. 2863 1.1 mrg (system_error_category): Define class and virtual functions as 2864 1.1 mrg 'final'. 2865 1.1 mrg (system_error_category::equivalent(int, const error_condition&)): 2866 1.1 mrg Override. 2867 1.1 mrg (generic_category_instance, system_category_instance): Use 2868 1.1 mrg constinit union to make the objects immortal. 2869 1.1 mrg 2870 1.1 mrg 2021-09-23 Jonathan Wakely <jwakely (a] redhat.com> 2871 1.1 mrg 2872 1.1 mrg PR libstdc++/102425 2873 1.1 mrg * src/c++11/system_error.cc 2874 1.1 mrg (system_error_category::default_error_condition): Add 0 to 2875 1.1 mrg switch. 2876 1.1 mrg * testsuite/19_diagnostics/error_category/102425.cc: New test. 2877 1.1 mrg 2878 1.1 mrg 2021-09-17 Jonathan Wakely <jwakely (a] redhat.com> 2879 1.1 mrg 2880 1.1 mrg * include/bits/fs_path.h (path::iterator): Add noexcept to all 2881 1.1 mrg member functions and friend functions. 2882 1.1 mrg (distance): Add noexcept. 2883 1.1 mrg (advance): Add noexcept and inline. 2884 1.1 mrg * include/experimental/bits/fs_path.h (path::iterator): 2885 1.1 mrg Add noexcept to all member functions. 2886 1.1 mrg 2887 1.1 mrg 2021-09-17 Jonathan Wakely <jwakely (a] redhat.com> 2888 1.1 mrg 2889 1.1 mrg PR libstdc++/102270 2890 1.1 mrg * include/std/tuple (_Tuple_impl): Add constexpr to constructor 2891 1.1 mrg missed in previous patch. 2892 1.1 mrg * testsuite/20_util/tuple/cons/102270.C: Moved to... 2893 1.1 mrg * testsuite/20_util/tuple/cons/102270.cc: ...here. 2894 1.1 mrg * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add 2895 1.1 mrg constexpr to constructor so it can be used for C++20 tests. 2896 1.1 mrg 2897 1.1 mrg 2021-09-17 Jonathan Wakely <jwakely (a] redhat.com> 2898 1.1 mrg 2899 1.1 mrg * testsuite/26_numerics/valarray/dr630-3.C: Moved to... 2900 1.1 mrg * testsuite/26_numerics/valarray/dr630-3.cc: ...here. 2901 1.1 mrg * testsuite/27_io/basic_iostream/cons/16251.C: Moved to... 2902 1.1 mrg * testsuite/27_io/basic_iostream/cons/16251.cc: ...here. 2903 1.1 mrg 2904 1.1 mrg 2021-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2905 1.1 mrg 2906 1.1 mrg * src/Makefile.am (stamp-debug): Add all Makefiles as 2907 1.1 mrg prerequisites. 2908 1.1 mrg * src/Makefile.in: Regenerate. 2909 1.1 mrg 2910 1.1 mrg 2021-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2911 1.1 mrg 2912 1.1 mrg * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Increase 2913 1.1 mrg timeout factor to 3. 2914 1.1 mrg * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise. 2915 1.1 mrg 2916 1.1 mrg 2021-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2917 1.1 mrg 2918 1.1 mrg * doc/xml/manual/using.xml: Generalize to apply to more than 2919 1.1 mrg just -std=c++11. 2920 1.1 mrg * doc/html/manual/using_macros.html: Regenerate. 2921 1.1 mrg 2922 1.1 mrg 2021-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2923 1.1 mrg 2924 1.1 mrg * include/std/optional (nullptr_t): Make constructor noexcept. 2925 1.1 mrg 2926 1.1 mrg 2021-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2927 1.1 mrg 2928 1.1 mrg * include/bits/fs_path.h (advance): Remove non-deducible 2929 1.1 mrg template parameter. 2930 1.1 mrg 2931 1.1 mrg 2021-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2932 1.1 mrg 2933 1.1 mrg PR libstdc++/102270 2934 1.1 mrg * include/std/tuple (_Head_base, _Tuple_impl): Add 2935 1.1 mrg _GLIBCXX20_CONSTEXPR to allocator-extended constructors. 2936 1.1 mrg (tuple<>::swap(tuple&)): Add _GLIBCXX20_CONSTEXPR. 2937 1.1 mrg * testsuite/20_util/tuple/cons/102270.C: New test. 2938 1.1 mrg 2939 1.1 mrg 2021-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2940 1.1 mrg 2941 1.1 mrg PR libstdc++/102280 2942 1.1 mrg * include/std/span (span(Range&&)): Add constraint to deduction 2943 1.1 mrg guide. 2944 1.1 mrg 2945 1.1 mrg 2021-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2946 1.1 mrg 2947 1.1 mrg * src/c++98/Makefile.am: Use CXXCOMPILE not LTCXXCOMPILE. 2948 1.1 mrg * src/c++98/Makefile.in: Regenerate. 2949 1.1 mrg 2950 1.1 mrg 2021-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2951 1.1 mrg 2952 1.1 mrg * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] 2953 1.1 mrg (to_string): Add noexcept if the type width is 32 bits or less. 2954 1.1 mrg 2955 1.1 mrg 2021-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2956 1.1 mrg 2957 1.1 mrg * include/bits/unique_ptr.h (__uniq_ptr_impl::_M_ptr) 2958 1.1 mrg (__uniq_ptr_impl::_M_deleter): Add noexcept. 2959 1.1 mrg 2960 1.1 mrg 2021-09-16 Thomas Rodgers <rodgert (a] twrodgers.com> 2961 1.1 mrg 2962 1.1 mrg PR libstdc++/101761 2963 1.1 mrg * testsuite/29_atomics/atomic_ref/wait_notify.cc (test): Use 2964 1.1 mrg va and vb as arguments to wait/notify, remove unused bb local. 2965 1.1 mrg 2966 1.1 mrg 2021-09-15 Hugo Beauze-Luyssen <hugo (a] beauzee.fr> 2967 1.1 mrg 2968 1.1 mrg * crossconfig.m4: Check for TLS support on mingw. 2969 1.1 mrg * configure: Regenerate. 2970 1.1 mrg 2971 1.1 mrg 2021-09-13 Jason Merrill <jason (a] redhat.com> 2972 1.1 mrg 2973 1.1 mrg * include/std/version: Define __cpp_lib_hardware_interference_size. 2974 1.1 mrg * libsupc++/new: Define hardware interference size variables. 2975 1.1 mrg 2976 1.1 mrg 2021-09-10 Jonathan Wakely <jwakely (a] redhat.com> 2977 1.1 mrg 2978 1.1 mrg * testsuite/experimental/net/internet/resolver/ops/lookup.cc: 2979 1.1 mrg Fix invalid hostname to only match the .invalid TLD. 2980 1.1 mrg 2981 1.1 mrg 2021-09-02 Jonathan Wakely <jwakely (a] redhat.com> 2982 1.1 mrg 2983 1.1 mrg * include/bits/atomic_base.h (__atomic_base<P*>::compare_exchange_weak): 2984 1.1 mrg Add new functions. 2985 1.1 mrg * include/std/atomic (atomic<T*>::compare_exchange_weak): Use 2986 1.1 mrg it. 2987 1.1 mrg 2988 1.1 mrg 2021-09-02 Jonathan Wakely <jwakely (a] redhat.com> 2989 1.1 mrg 2990 1.1 mrg * include/std/atomic: Tweak whitespace. 2991 1.1 mrg 2992 1.1 mrg 2021-09-02 Jonathan Wakely <jwakely (a] redhat.com> 2993 1.1 mrg 2994 1.1 mrg PR c++/102177 2995 1.1 mrg * include/bits/atomic_base.h (__is_valid_cmpexch_failure_order): 2996 1.1 mrg New function to check if a memory order is valid for the failure 2997 1.1 mrg case of compare exchange operations. 2998 1.1 mrg (__atomic_base<I>::compare_exchange_weak): Simplify assertions 2999 1.1 mrg by using __is_valid_cmpexch_failure_order. 3000 1.1 mrg (__atomic_base<I>::compare_exchange_strong): Likewise. 3001 1.1 mrg (__atomic_base<P*>::compare_exchange_weak): Likewise. 3002 1.1 mrg (__atomic_base<P*>::compare_exchange_strong): Likewise. 3003 1.1 mrg (__atomic_impl::compare_exchange_weak): Add assertion. 3004 1.1 mrg (__atomic_impl::compare_exchange_strong): Likewise. 3005 1.1 mrg * include/std/atomic (atomic::compare_exchange_weak): Likewise. 3006 1.1 mrg (atomic::compare_exchange_strong): Likewise. 3007 1.1 mrg 3008 1.1 mrg 2021-09-02 Jonathan Wakely <jwakely (a] redhat.com> 3009 1.1 mrg 3010 1.1 mrg * include/std/functional (invoke_r): Define. 3011 1.1 mrg * include/std/version (__cpp_lib_invoke_r): Define. 3012 1.1 mrg * testsuite/20_util/function_objects/invoke/version.cc: Check 3013 1.1 mrg for __cpp_lib_invoke_r as well as __cpp_lib_invoke. 3014 1.1 mrg * testsuite/20_util/function_objects/invoke/4.cc: New test. 3015 1.1 mrg 3016 1.1 mrg 2021-08-31 Jonathan Wakely <jwakely (a] redhat.com> 3017 1.1 mrg 3018 1.1 mrg PR libstdc++/98421 3019 1.1 mrg * include/std/span (span(Iter, size_type), span(Iter, Iter)): 3020 1.1 mrg Add valid range checks. 3021 1.1 mrg * testsuite/23_containers/span/cons_1_assert_neg.cc: New test. 3022 1.1 mrg * testsuite/23_containers/span/cons_2_assert_neg.cc: New test. 3023 1.1 mrg 3024 1.1 mrg 2021-08-31 Jonathan Wakely <jwakely (a] redhat.com> 3025 1.1 mrg 3026 1.1 mrg * configure.ac: Fix checks for F_GETFL, F_SETFL and O_NONBLOCK. 3027 1.1 mrg * configure: Regenerate. 3028 1.1 mrg 3029 1.1 mrg 2021-08-31 Jonathan Wakely <jwakely (a] redhat.com> 3030 1.1 mrg 3031 1.1 mrg * src/c++11/system_error.cc (error_category::~error_category()): 3032 1.1 mrg Remove noexcept-specifier. 3033 1.1 mrg (system_error::~system_error()): Likewise. 3034 1.1 mrg * testsuite/19_diagnostics/error_category/noexcept.cc: New test. 3035 1.1 mrg * testsuite/19_diagnostics/system_error/noexcept.cc: New test. 3036 1.1 mrg 3037 1.1 mrg 2021-08-31 Jonathan Wakely <jwakely (a] redhat.com> 3038 1.1 mrg 3039 1.1 mrg PR libstdc++/102074 3040 1.1 mrg * include/bits/atomic_timed_wait.h (__timed_waiter_pool) 3041 1.1 mrg [!_GLIBCXX_HAVE_PLATFORM_TIMED_WAIT]: Add missing return. 3042 1.1 mrg 3043 1.1 mrg 2021-08-31 Jonathan Wakely <jwakely (a] redhat.com> 3044 1.1 mrg 3045 1.1 mrg * include/experimental/internet (__make_resolver_error_code): 3046 1.1 mrg Handle EAI_SYSTEM errors. 3047 1.1 mrg (basic_resolver_results): Use __make_resolver_error_code. Use 3048 1.1 mrg Glibc NI_MAXHOST and NI_MAXSERV values for buffer sizes. 3049 1.1 mrg 3050 1.1 mrg 2021-08-31 Jonathan Wakely <jwakely (a] redhat.com> 3051 1.1 mrg 3052 1.1 mrg * testsuite/experimental/net/internet/resolver/ops/lookup.cc: 3053 1.1 mrg Try other service if "http" fails. 3054 1.1 mrg 3055 1.1 mrg 2021-08-31 Jonathan Wakely <jwakely (a] redhat.com> 3056 1.1 mrg 3057 1.1 mrg * testsuite/17_intro/names.cc: Undefine some more names used 3058 1.1 mrg by Solaris system headers. 3059 1.1 mrg 3060 1.1 mrg 2021-08-30 Jason Merrill <jason (a] redhat.com> 3061 1.1 mrg 3062 1.1 mrg PR c++/96286 3063 1.1 mrg * testsuite/30_threads/promise/requirements/lwg3466.cc: 3064 1.1 mrg Remove dg-prune-outputs. 3065 1.1 mrg 3066 1.1 mrg 2021-08-28 Jonathan Wakely <jwakely (a] redhat.com> 3067 1.1 mrg 3068 1.1 mrg * include/bits/alloc_traits.h (allocator_traits): Add explicit 3069 1.1 mrg specialization for allocator<void>. Improve doxygen comments. 3070 1.1 mrg * include/bits/allocator.h (allocator<void>): Restore for the 3071 1.1 mrg versioned namespace. 3072 1.1 mrg (allocator<void>::construct, allocator<void>::destroy): Remove. 3073 1.1 mrg * include/ext/extptr_allocator.h (_Extptr_allocator<void>): 3074 1.1 mrg Add default constructor and converting constructor. 3075 1.1 mrg 3076 1.1 mrg 2021-08-28 Jonathan Wakely <jwakely (a] redhat.com> 3077 1.1 mrg 3078 1.1 mrg * include/bits/stl_uninitialized.h: Fix typo in comment. 3079 1.1 mrg 3080 1.1 mrg 2021-08-28 Jonathan Wakely <jwakely (a] redhat.com> 3081 1.1 mrg 3082 1.1 mrg PR libstdc++/99876 3083 1.1 mrg * src/c++17/fs_ops.cc (fs::absolute): Call non-throwing form, 3084 1.1 mrg to avoid unnecessary current_path() call. 3085 1.1 mrg 3086 1.1 mrg 2021-08-28 Jonathan Wakely <jwakely (a] redhat.com> 3087 1.1 mrg 3088 1.1 mrg * include/bits/std_function.h (function::function(F&&)): Give 3089 1.1 mrg name to defaulted template parameter, to improve diagnostics. 3090 1.1 mrg Use markdown for more doxygen comments. 3091 1.1 mrg 3092 1.1 mrg 2021-08-26 Jonathan Wakely <jwakely (a] redhat.com> 3093 1.1 mrg 3094 1.1 mrg * include/bits/std_function.h (function): Adjust doxygen 3095 1.1 mrg comments. 3096 1.1 mrg * include/bits/unique_ptr.h (make_unique_for_overwrite): 3097 1.1 mrg Change parameter name to match doxygen comment. 3098 1.1 mrg 3099 1.1 mrg 2021-08-26 Jonathan Wakely <jwakely (a] redhat.com> 3100 1.1 mrg 3101 1.1 mrg * include/bits/std_function.h (_function_base::_Base_manager): 3102 1.1 mrg Replace _M_init_functor with a function template using a 3103 1.1 mrg forwarding reference, and a pair of _M_create function 3104 1.1 mrg templates. Reuse _M_create for the clone operation. 3105 1.1 mrg (function::_Decay_t): New alias template. 3106 1.1 mrg (function::_Callable): Simplify by using _Decay. 3107 1.1 mrg (function::function(F)): Change parameter to forwarding 3108 1.1 mrg reference, as per LWG 2447. Add noexcept-specifier. Simplify 3109 1.1 mrg constraints. 3110 1.1 mrg (function::operator=(F&&)): Add noexcept-specifier. 3111 1.1 mrg * testsuite/20_util/function/cons/lwg2774.cc: New test. 3112 1.1 mrg * testsuite/20_util/function/cons/noexcept.cc: New test. 3113 1.1 mrg 3114 1.1 mrg 2021-08-26 Jonathan Wakely <jwakely (a] redhat.com> 3115 1.1 mrg 3116 1.1 mrg * include/bits/std_function.h (function::function(F)): Add 3117 1.1 mrg static assertions to check constructibility requirements. 3118 1.1 mrg 3119 1.1 mrg 2021-08-26 Jonathan Wakely <jwakely (a] redhat.com> 3120 1.1 mrg 3121 1.1 mrg PR libstdc++/100285 3122 1.1 mrg * configure.ac: Check for O_NONBLOCK. 3123 1.1 mrg * configure: Regenerate. 3124 1.1 mrg * include/experimental/internet: Include <ws2tcpip.h> for 3125 1.1 mrg Windows. Use preprocessor conditions around more constants. 3126 1.1 mrg * include/experimental/socket: Use preprocessor conditions 3127 1.1 mrg around more constants. 3128 1.1 mrg * testsuite/experimental/net/internet/resolver/base.cc: Only use 3129 1.1 mrg constants when the corresponding C macro is defined. 3130 1.1 mrg * testsuite/experimental/net/socket/basic_socket.cc: Likewise. 3131 1.1 mrg * testsuite/experimental/net/socket/socket_base.cc: Likewise. 3132 1.1 mrg Make preprocessor checks more fine-grained. 3133 1.1 mrg 3134 1.1 mrg 2021-08-25 Jonathan Wakely <jwakely (a] redhat.com> 3135 1.1 mrg 3136 1.1 mrg * testsuite/17_intro/names.cc: Check 'sz'. 3137 1.1 mrg 3138 1.1 mrg 2021-08-25 Jonathan Wakely <jwakely (a] redhat.com> 3139 1.1 mrg 3140 1.1 mrg * testsuite/17_intro/names.cc: Adjust for Windows. 3141 1.1 mrg 3142 1.1 mrg 2021-08-25 Jonathan Wakely <jwakely (a] redhat.com> 3143 1.1 mrg 3144 1.1 mrg * include/std/valarray: Uglify 'func' parameters. 3145 1.1 mrg * testsuite/17_intro/names.cc: Add 'func' to checks. 3146 1.1 mrg 3147 1.1 mrg 2021-08-25 Jonathan Wakely <jwakely (a] redhat.com> 3148 1.1 mrg 3149 1.1 mrg PR libstdc++/102064 3150 1.1 mrg * include/bits/stl_uninitialized.h (_GLIBCXX_USE_ASSIGN_FOR_INIT): 3151 1.1 mrg Define macro to check conditions for optimizing trivial cases. 3152 1.1 mrg (__check_constructible): New function to do static assert. 3153 1.1 mrg (uninitialized_copy, uninitialized_fill, uninitialized_fill_n): 3154 1.1 mrg Use new macro. 3155 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc: 3156 1.1 mrg Adjust dg-error pattern. 3157 1.1 mrg * testsuite/23_containers/vector/cons/89164.cc: Likewise. Add 3158 1.1 mrg C++17-specific checks from 89164_c++17.cc. 3159 1.1 mrg * testsuite/23_containers/vector/cons/89164_c++17.cc: Removed. 3160 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_copy/102064.cc: 3161 1.1 mrg New test. 3162 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/102064.cc: 3163 1.1 mrg New test. 3164 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill/102064.cc: 3165 1.1 mrg New test. 3166 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/102064.cc: 3167 1.1 mrg New test. 3168 1.1 mrg 3169 1.1 mrg 2021-08-25 Jonathan Wakely <jwakely (a] redhat.com> 3170 1.1 mrg 3171 1.1 mrg PR libstdc++/102048 3172 1.1 mrg * include/ext/rope (rope::erase(size_type)): Remove broken 3173 1.1 mrg function. 3174 1.1 mrg 3175 1.1 mrg 2021-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3176 1.1 mrg 3177 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update table. 3178 1.1 mrg * doc/html/manual/status.html: Regenerate. 3179 1.1 mrg 3180 1.1 mrg 2021-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3181 1.1 mrg 3182 1.1 mrg * include/std/type_traits (is_layout_compatible): Define. 3183 1.1 mrg (is_corresponding_member): Define. 3184 1.1 mrg * include/std/version (__cpp_lib_is_layout_compatible): Define. 3185 1.1 mrg * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc: 3186 1.1 mrg New test. 3187 1.1 mrg * testsuite/20_util/is_layout_compatible/value.cc: New test. 3188 1.1 mrg * testsuite/20_util/is_layout_compatible/version.cc: New test. 3189 1.1 mrg * testsuite/20_util/is_pointer_interconvertible/with_class.cc: 3190 1.1 mrg New test. 3191 1.1 mrg * testsuite/23_containers/span/layout_compat.cc: Do not use real 3192 1.1 mrg std::is_layout_compatible trait if available. 3193 1.1 mrg 3194 1.1 mrg 2021-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3195 1.1 mrg 3196 1.1 mrg * src/c++11/cxx11-shim_facets.cc: Fix mismatched class-key in 3197 1.1 mrg explicit instantiation definitions. 3198 1.1 mrg 3199 1.1 mrg 2021-08-23 Jonathan Wakely <jwakely (a] redhat.com> 3200 1.1 mrg 3201 1.1 mrg * include/std/ranges (basic_istream_view): Add default template 3202 1.1 mrg argument. 3203 1.1 mrg * testsuite/std/ranges/istream_view.cc: Check it. 3204 1.1 mrg 3205 1.1 mrg 2021-08-23 Jonathan Wakely <jwakely (a] redhat.com> 3206 1.1 mrg 3207 1.1 mrg * libsupc++/dyncast.cc (__dynamic_cast): Add __builtin_expect to 3208 1.1 mrg precondition check. 3209 1.1 mrg 3210 1.1 mrg 2021-08-23 Jonathan Wakely <jwakely (a] redhat.com> 3211 1.1 mrg 3212 1.1 mrg PR libstdc++/90787 3213 1.1 mrg * testsuite/util/testsuite_fs.h (permissions_are_testable): 3214 1.1 mrg Define as inline. 3215 1.1 mrg 3216 1.1 mrg 2021-08-20 Jonathan Wakely <jwakely (a] redhat.com> 3217 1.1 mrg 3218 1.1 mrg PR libstdc++/90787 3219 1.1 mrg * testsuite/27_io/filesystem/iterators/directory_iterator.cc: 3220 1.1 mrg Use new __gnu_test::permissions_are_testable() function. 3221 1.1 mrg * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: 3222 1.1 mrg Likewise. 3223 1.1 mrg * testsuite/27_io/filesystem/operations/exists.cc: Likewise. 3224 1.1 mrg * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise. 3225 1.1 mrg * testsuite/27_io/filesystem/operations/remove.cc: Likewise. 3226 1.1 mrg * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise. 3227 1.1 mrg * testsuite/27_io/filesystem/operations/status.cc: Likewise. 3228 1.1 mrg * testsuite/27_io/filesystem/operations/symlink_status.cc: 3229 1.1 mrg Likewise. 3230 1.1 mrg * testsuite/27_io/filesystem/operations/temp_directory_path.cc: 3231 1.1 mrg Likewise. 3232 1.1 mrg * testsuite/experimental/filesystem/iterators/directory_iterator.cc: 3233 1.1 mrg Likewise. 3234 1.1 mrg * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc: 3235 1.1 mrg Likewise. 3236 1.1 mrg * testsuite/experimental/filesystem/operations/exists.cc: 3237 1.1 mrg Likewise. 3238 1.1 mrg * testsuite/experimental/filesystem/operations/is_empty.cc: 3239 1.1 mrg Likewise. 3240 1.1 mrg * testsuite/experimental/filesystem/operations/remove.cc: 3241 1.1 mrg Likewise. 3242 1.1 mrg * testsuite/experimental/filesystem/operations/remove_all.cc: 3243 1.1 mrg Likewise. 3244 1.1 mrg * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 3245 1.1 mrg Likewise. 3246 1.1 mrg * testsuite/util/testsuite_fs.h (__gnu_test::permissions_are_testable): 3247 1.1 mrg New function to guess whether testing permissions will work. 3248 1.1 mrg 3249 1.1 mrg 2021-08-19 Jonathan Wakely <jwakely (a] redhat.com> 3250 1.1 mrg 3251 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Move row earlier in table. 3252 1.1 mrg * doc/html/manual/status.html: Regenerate. 3253 1.1 mrg 3254 1.1 mrg 2021-08-19 Jonathan Wakely <jwakely (a] redhat.com> 3255 1.1 mrg 3256 1.1 mrg * doc/doxygen/user.cfg.in: Update to Doxygen 1.9.2 3257 1.1 mrg 3258 1.1 mrg 2021-08-19 Jonathan Wakely <jwakely (a] redhat.com> 3259 1.1 mrg 3260 1.1 mrg PR libstdc++/101965 3261 1.1 mrg * include/std/charconv (__to_chars_i): Remove redundant check. 3262 1.1 mrg 3263 1.1 mrg 2021-08-19 Jonathan Wakely <jwakely (a] redhat.com> 3264 1.1 mrg 3265 1.1 mrg PR libstdc++/101960 3266 1.1 mrg * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Use base 3267 1.1 mrg class' move constructor. Define as defaulted for versioned 3268 1.1 mrg namespace. 3269 1.1 mrg * testsuite/20_util/tuple/cons/101960.cc: New test. 3270 1.1 mrg 3271 1.1 mrg 2021-08-19 Jonathan Wakely <jwakely (a] redhat.com> 3272 1.1 mrg 3273 1.1 mrg PR libstdc++/100139 3274 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Add P1739R4 to status table. 3275 1.1 mrg * doc/html/manual/status.html: Regenerate. 3276 1.1 mrg 3277 1.1 mrg 2021-08-19 Jonathan Wakely <jwakely (a] redhat.com> 3278 1.1 mrg 3279 1.1 mrg * include/bits/shared_ptr.h: Add @since and @headerfile tags. 3280 1.1 mrg * include/bits/unique_ptr.h: Add @headerfile tags. 3281 1.1 mrg 3282 1.1 mrg 2021-08-19 Jonathan Wakely <jwakely (a] redhat.com> 3283 1.1 mrg 3284 1.1 mrg * src/filesystem/ops-common.h (filesystem::file_time): Improve 3285 1.1 mrg overflow check by using system_clock::duration::max(). 3286 1.1 mrg 3287 1.1 mrg 2021-08-19 Jonathan Wakely <jwakely (a] redhat.com> 3288 1.1 mrg 3289 1.1 mrg * include/bits/stl_tree.h: Tweak whitespace. 3290 1.1 mrg 3291 1.1 mrg 2021-08-18 Jonathan Wakely <jwakely (a] redhat.com> 3292 1.1 mrg 3293 1.1 mrg * include/bits/unique_ptr.h (default_delete): Add @since tag. 3294 1.1 mrg (unique_ptr, unique_ptr<T[]>): Likewise. Improve @brief. 3295 1.1 mrg (make_unique, make_unique_for_overwrite): Likewise. Add @tparam, 3296 1.1 mrg @param, and @returns. 3297 1.1 mrg (_MakeUniq): Move to __detail namespace. Add alias template 3298 1.1 mrg helpers. 3299 1.1 mrg 3300 1.1 mrg 2021-08-18 Jonathan Wakely <jwakely (a] redhat.com> 3301 1.1 mrg 3302 1.1 mrg * include/bits/stl_function.h: Improve doxygen comments. 3303 1.1 mrg 3304 1.1 mrg 2021-08-18 Jonathan Wakely <jwakely (a] redhat.com> 3305 1.1 mrg 3306 1.1 mrg * doc/doxygen/user.cfg.in (PREDEFINED): Enable doxygen 3307 1.1 mrg processing for C++20 components and components that depend on 3308 1.1 mrg compiler features. 3309 1.1 mrg * include/bits/stl_algo.h (random_shuffle): Use @deprecated. 3310 1.1 mrg * include/std/type_traits: Improve doxygen comments for C++20 3311 1.1 mrg traits. 3312 1.1 mrg 3313 1.1 mrg 2021-08-18 Jonathan Wakely <jwakely (a] redhat.com> 3314 1.1 mrg 3315 1.1 mrg * include/ext/type_traits.h (__promote_2, __promote_3) 3316 1.1 mrg (__promote_4): Redfine as alias templates using __promoted_t. 3317 1.1 mrg * include/std/complex (__promote_2): Remove partial 3318 1.1 mrg specializations for std::complex. 3319 1.1 mrg 3320 1.1 mrg 2021-08-18 Jonathan Wakely <jwakely (a] redhat.com> 3321 1.1 mrg 3322 1.1 mrg * include/bits/stl_algo.h (min(initializer_list<T>)) 3323 1.1 mrg (min(initializer_list<T>, Compare)): Call __min_element directly to 3324 1.1 mrg avoid redundant debug checks for valid ranges. 3325 1.1 mrg (max(initializer_list<T>), max(initializer_list<T>, Compare)): 3326 1.1 mrg Likewise, for __max_element. 3327 1.1 mrg (minmax(initializer_list<T>), minmax(initializer_list<T>, Compare)): 3328 1.1 mrg Likewise, for __minmax_element. 3329 1.1 mrg 3330 1.1 mrg 2021-08-18 Jonathan Wakely <jwakely (a] redhat.com> 3331 1.1 mrg 3332 1.1 mrg * include/debug/deque (deque(size_type, const T&, const A&)): 3333 1.1 mrg Prevent class template argument deduction and replace with a 3334 1.1 mrg deduction guide. 3335 1.1 mrg * include/debug/forward_list (forward_list(size_type, const T&, const A&)): 3336 1.1 mrg Likewise. 3337 1.1 mrg * include/debug/list (list(size_type, const T&, const A&)): 3338 1.1 mrg Likewise. 3339 1.1 mrg * include/debug/vector (vector(size_type, const T&, const A&)): 3340 1.1 mrg Likewise. 3341 1.1 mrg 3342 1.1 mrg 2021-08-18 Jonathan Wakely <jwakely (a] redhat.com> 3343 1.1 mrg 3344 1.1 mrg * python/libstdcxx/v6/printers.py (StdBitReferencePrinter): Use 3345 1.1 mrg 'std::vector<bool>::reference' as type name, not _Bit_reference. 3346 1.1 mrg (build_libstdcxx_dictionary): Register printers for vector<bool> 3347 1.1 mrg types in debug mode too. 3348 1.1 mrg * testsuite/libstdc++-prettyprinters/simple.cc: Adjust expected 3349 1.1 mrg output for invalid _Bit_reference. Use vector<bool>::reference 3350 1.1 mrg instead of _Bit_reference. 3351 1.1 mrg * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. 3352 1.1 mrg 3353 1.1 mrg 2021-08-17 Thomas Schwinge <thomas (a] codesourcery.com> 3354 1.1 mrg 3355 1.1 mrg * testsuite/lib/libstdc++.exp: Avoid illegal argument to verbose, 3356 1.1 mrg continued. 3357 1.1 mrg 3358 1.1 mrg 2021-08-17 Luc Michel <lmichel (a] kalray.eu> 3359 1.1 mrg Marc Poulhies <mpoulhies (a] kalrayinc.com> 3360 1.1 mrg 3361 1.1 mrg * testsuite/lib/gdb-test.exp (gdb_version_check) 3362 1.1 mrg (gdb_version_check_xmethods): Only check the GDB version for 3363 1.1 mrg local native targets. 3364 1.1 mrg 3365 1.1 mrg 2021-08-17 Antony Polukhin <antoshkka (a] gmail.com> 3366 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 3367 1.1 mrg 3368 1.1 mrg * include/bits/random.tcc (seed_seq::seed_seq): Reserve capacity 3369 1.1 mrg if distance is O(1). 3370 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error 3371 1.1 mrg line number. 3372 1.1 mrg 3373 1.1 mrg 2021-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3374 1.1 mrg 3375 1.1 mrg * testsuite/26_numerics/random/seed_seq/cons/range.cc: Check 3376 1.1 mrg construction from input iterators. 3377 1.1 mrg 3378 1.1 mrg 2021-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3379 1.1 mrg 3380 1.1 mrg * python/libstdcxx/v6/printers.py (StdErrorCatPrinter): Remove. 3381 1.1 mrg 3382 1.1 mrg 2021-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3383 1.1 mrg 3384 1.1 mrg PR libstdc++/101923 3385 1.1 mrg * include/bits/std_function.h (function(function&&)): Check for 3386 1.1 mrg non-empty parameter before doing any work. 3387 1.1 mrg 3388 1.1 mrg 2021-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3389 1.1 mrg 3390 1.1 mrg * include/bits/cow_string.h (basic_string::contains): Do not 3391 1.1 mrg define for -std=gnu++20. 3392 1.1 mrg 3393 1.1 mrg 2021-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3394 1.1 mrg 3395 1.1 mrg * include/bits/ranges_util.h (__not_same_as): Rename to 3396 1.1 mrg __different_from. 3397 1.1 mrg * include/std/ranges (__not_same_as): Likewise. 3398 1.1 mrg 3399 1.1 mrg 2021-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3400 1.1 mrg 3401 1.1 mrg * include/std/utility (exchange): Add noexcept-specifier. 3402 1.1 mrg * testsuite/20_util/exchange/noexcept.cc: New test. 3403 1.1 mrg 3404 1.1 mrg 2021-08-17 Jonathan Wakely <jwakely (a] redhat.com> 3405 1.1 mrg 3406 1.1 mrg * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Define. 3407 1.1 mrg (build_libstdcxx_dictionary): Register printer for 3408 1.1 mrg std::error_code and std::error_condition. 3409 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it. 3410 1.1 mrg 3411 1.1 mrg 2021-08-16 Jonathan Wakely <jwakely (a] redhat.com> 3412 1.1 mrg 3413 1.1 mrg PR libstdc++/101937 3414 1.1 mrg * src/c++11/debug.cc (PrintContext::_M_indent): Replace with a 3415 1.1 mrg static data member. 3416 1.1 mrg (print_word): Use qualified-id to access it. 3417 1.1 mrg 3418 1.1 mrg 2021-08-16 Jonathan Wakely <jwakely (a] redhat.com> 3419 1.1 mrg 3420 1.1 mrg * python/Makefile.am [GLIBCXX_BUILD_DEBUG] (install-data-local): 3421 1.1 mrg Install another copy of the GDB hook. 3422 1.1 mrg * python/Makefile.in: Regenerate. 3423 1.1 mrg 3424 1.1 mrg 2021-08-12 Jonathan Wakely <jwakely (a] redhat.com> 3425 1.1 mrg 3426 1.1 mrg PR libstdc++/101870 3427 1.1 mrg * include/c_global/cmath (hypot): Use __promoted_t. 3428 1.1 mrg (lerp): Add new overload accepting any arithmetic types. 3429 1.1 mrg * include/ext/type_traits.h (__promoted_t): New alias template. 3430 1.1 mrg * testsuite/26_numerics/lerp.cc: Moved to... 3431 1.1 mrg * testsuite/26_numerics/lerp/1.cc: ...here. 3432 1.1 mrg * testsuite/26_numerics/lerp/constexpr.cc: New test. 3433 1.1 mrg * testsuite/26_numerics/lerp/version.cc: New test. 3434 1.1 mrg 3435 1.1 mrg 2021-08-12 Jonathan Wakely <jwakely (a] redhat.com> 3436 1.1 mrg 3437 1.1 mrg * testsuite/26_numerics/lerp.cc: Add header name to #error. 3438 1.1 mrg * testsuite/26_numerics/midpoint/integral.cc: Likewise. 3439 1.1 mrg * testsuite/26_numerics/midpoint/version.cc: New test. 3440 1.1 mrg 3441 1.1 mrg 2021-08-12 Jonathan Wakely <jwakely (a] redhat.com> 3442 1.1 mrg 3443 1.1 mrg * include/experimental/random (experimental::randint): Add 3444 1.1 mrg nodiscard attribute. 3445 1.1 mrg 3446 1.1 mrg 2021-08-12 Jonathan Wakely <jwakely (a] redhat.com> 3447 1.1 mrg 3448 1.1 mrg * src/c++98/locale_init.cc: Require C++11. 3449 1.1 mrg * src/c++98/localename.cc: Likewise. 3450 1.1 mrg * src/c++98/misc-inst.cc: Require C++98. 3451 1.1 mrg 3452 1.1 mrg 2021-08-11 Jonathan Wakely <jwakely (a] redhat.com> 3453 1.1 mrg 3454 1.1 mrg PR libstdc++/101866 3455 1.1 mrg * testsuite/experimental/random/randint.cc: Loop and retry if 3456 1.1 mrg reseed() produces the same sequence. 3457 1.1 mrg 3458 1.1 mrg 2021-08-11 Jonathan Wakely <jwakely (a] redhat.com> 3459 1.1 mrg 3460 1.1 mrg * include/std/type_traits (__cpp_lib_is_pointer_interconvertible) 3461 1.1 mrg (is_pointer_interconvertible_base_of_v) 3462 1.1 mrg (is_pointer_interconvertible_base_of): Define for C++20. 3463 1.1 mrg * include/std/version (__cpp_lib_is_pointer_interconvertible): 3464 1.1 mrg Define. 3465 1.1 mrg * testsuite/23_containers/span/layout_compat.cc: Use correct 3466 1.1 mrg feature test macro for std::is_layout_compatible_v. 3467 1.1 mrg * testsuite/20_util/is_pointer_interconvertible/value.cc: New test. 3468 1.1 mrg * testsuite/20_util/is_pointer_interconvertible/version.cc: New test. 3469 1.1 mrg 3470 1.1 mrg 2021-08-09 Jonathan Wakely <jwakely (a] redhat.com> 3471 1.1 mrg 3472 1.1 mrg * include/bits/regex.h (basic_regex::transform_primary): Use 3473 1.1 mrg _GLIBCXX_STD_C::vector for local variable. 3474 1.1 mrg * include/bits/regex.tcc (__regex_algo_impl): Use reference to 3475 1.1 mrg _GLIBCXX_STD_C::vector base class of match_results. 3476 1.1 mrg * include/bits/regex_automaton.tcc (_StateSeq:_M_clone): Use 3477 1.1 mrg _GLIBCXX_STD_C::map and _GLIBCXX_STD_C::deque for local 3478 1.1 mrg variables. 3479 1.1 mrg * include/bits/regex_compiler.h (_BracketMatcher): Use 3480 1.1 mrg _GLIBCXX_STD_C::vector for data members. 3481 1.1 mrg * include/bits/regex_executor.h (_Executor): Likewise. 3482 1.1 mrg * include/std/regex [_GLIBCXX_DEBUG]: Include <debug/vector>. 3483 1.1 mrg 3484 1.1 mrg 2021-08-09 Franois Dumont <fdumont (a] gcc.gnu.org> 3485 1.1 mrg 3486 1.1 mrg * include/debug/safe_container.h 3487 1.1 mrg (_Safe_container(_Safe_container&&, const _Alloc&, std::true_type)): New. 3488 1.1 mrg (_Safe_container(_Safe_container&&, const _Alloc&, std::false_type)): New. 3489 1.1 mrg (_Safe_container(_Safe_container&&, const _Alloc&)): Use latters. 3490 1.1 mrg 3491 1.1 mrg 2021-08-09 Jonathan Wakely <jwakely (a] redhat.com> 3492 1.1 mrg 3493 1.1 mrg * testsuite/23_containers/unordered_map/cons/default.cc: Add 3494 1.1 mrg equality comparison operators to allocator. 3495 1.1 mrg * testsuite/23_containers/unordered_set/cons/default.cc: 3496 1.1 mrg Likewise. 3497 1.1 mrg 3498 1.1 mrg 2021-08-08 Franois Dumont <fdumont (a] gcc.gnu.org> 3499 1.1 mrg 3500 1.1 mrg * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Replace 'failed_assertion' 3501 1.1 mrg dg-prune-output reason with 'builtin_unreachable'. 3502 1.1 mrg * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: Likewise. 3503 1.1 mrg * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: Likewise. 3504 1.1 mrg * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: Likewise. 3505 1.1 mrg * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: Likewise. 3506 1.1 mrg * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: Likewise. 3507 1.1 mrg * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: Likewise. 3508 1.1 mrg * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: Likewise. 3509 1.1 mrg * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: Likewise. 3510 1.1 mrg 3511 1.1 mrg 2021-08-08 Hans-Peter Nilsson <hp (a] bitrange.com> 3512 1.1 mrg 3513 1.1 mrg * testsuite/std/ranges/iota/max_size_type.cc: Set 3514 1.1 mrg dg-timeout-factor to 4. 3515 1.1 mrg 3516 1.1 mrg 2021-08-06 Jonathan Wakely <jwakely (a] redhat.com> 3517 1.1 mrg 3518 1.1 mrg * libsupc++/compare (compare_three_way, strong_order) 3519 1.1 mrg (weak_order, partial_order, compare_strong_order_fallback) 3520 1.1 mrg (compare_weak_order_fallback, compare_partial_order_fallback): 3521 1.1 mrg Move nodiscard attributes to correct location. 3522 1.1 mrg 3523 1.1 mrg 2021-08-05 Jonathan Wakely <jwakely (a] redhat.com> 3524 1.1 mrg 3525 1.1 mrg PR libstdc++/101782 3526 1.1 mrg * include/bits/ranges_base.h (ranges::begin, ranges::end) 3527 1.1 mrg (ranges::rbegin, ranges::rend, ranges::size, ranges::ssize) 3528 1.1 mrg (ranges::empty, ranges::data): Move attribute after the 3529 1.1 mrg declarator-id instead of at the end of the declarator. 3530 1.1 mrg * include/bits/stl_iterator.h (__gnu_cxx::__normal_iterator): 3531 1.1 mrg Move attributes back to the start of the function declarator, 3532 1.1 mrg but move the requires-clause to the end. 3533 1.1 mrg (common_iterator): Move attribute after the declarator-id. 3534 1.1 mrg * include/bits/stl_queue.h (queue): Remove ill-formed attributes 3535 1.1 mrg from friend declaration that are not definitions. 3536 1.1 mrg * include/std/ranges (views::all, views::filter) 3537 1.1 mrg (views::transform, views::take, views::take_while, 3538 1.1 mrg views::drop) (views::drop_while, views::join, 3539 1.1 mrg views::lazy_split) (views::split, views::counted, 3540 1.1 mrg views::common, views::reverse) (views::elements): Move 3541 1.1 mrg attributes after the declarator-id. 3542 1.1 mrg 3543 1.1 mrg 2021-08-05 Jonathan Wakely <jwakely (a] redhat.com> 3544 1.1 mrg 3545 1.1 mrg * libsupc++/compare (partial_ordering, weak_ordering) 3546 1.1 mrg (strong_ordering, is_eq, is_neq, is_lt, is_lteq, is_gt, is_gteq) 3547 1.1 mrg (compare_three_way, strong_order, weak_order, partial_order) 3548 1.1 mrg (compare_strong_order_fallback, compare_weak_order_fallback) 3549 1.1 mrg (compare_partial_order_fallback, __detail::__synth3way): Add 3550 1.1 mrg nodiscard attribute. 3551 1.1 mrg * testsuite/18_support/comparisons/categories/zero_neg.cc: Add 3552 1.1 mrg -Wno-unused-result to options. 3553 1.1 mrg 3554 1.1 mrg 2021-08-05 Jonathan Wakely <jwakely (a] redhat.com> 3555 1.1 mrg 3556 1.1 mrg PR libstdc++/101782 3557 1.1 mrg * include/bits/ranges_base.h (ranges::begin, ranges::end) 3558 1.1 mrg (ranges::rbegin, ranges::rend, ranges::size, ranges::ssize) 3559 1.1 mrg (ranges::empty, ranges::data): Move attribute to the end of 3560 1.1 mrg the declarator. 3561 1.1 mrg * include/bits/stl_iterator.h (__gnu_cxx::__normal_iterator) 3562 1.1 mrg (common_iterator): Likewise for non-member operator functions. 3563 1.1 mrg * include/std/ranges (views::all, views::filter) 3564 1.1 mrg (views::transform, views::take, views::take_while, views::drop) 3565 1.1 mrg (views::drop_while, views::join, views::lazy_split) 3566 1.1 mrg (views::split, views::counted, views::common, views::reverse) 3567 1.1 mrg (views::elements): Likewise. 3568 1.1 mrg * testsuite/std/ranges/access/101782.cc: New test. 3569 1.1 mrg 3570 1.1 mrg 2021-08-04 Jonathan Wakely <jwakely (a] redhat.com> 3571 1.1 mrg 3572 1.1 mrg * include/bits/forward_list.h: Add [[nodiscard]] to functions 3573 1.1 mrg with no side-effects. 3574 1.1 mrg * include/bits/stl_bvector.h: Likewise. 3575 1.1 mrg * include/bits/stl_deque.h: Likewise. 3576 1.1 mrg * include/bits/stl_list.h: Likewise. 3577 1.1 mrg * include/bits/stl_queue.h: Likewise. 3578 1.1 mrg * include/bits/stl_stack.h: Likewise. 3579 1.1 mrg * include/bits/stl_vector.h: Likewise. 3580 1.1 mrg * include/debug/deque: Likewise. 3581 1.1 mrg * include/debug/forward_list: Likewise. 3582 1.1 mrg * include/debug/list: Likewise. 3583 1.1 mrg * include/debug/safe_iterator.h: Likewise. 3584 1.1 mrg * include/debug/vector: Likewise. 3585 1.1 mrg * include/std/array: Likewise. 3586 1.1 mrg * testsuite/23_containers/array/creation/3_neg.cc: Use 3587 1.1 mrg -Wno-unused-result. 3588 1.1 mrg * testsuite/23_containers/array/debug/back1_neg.cc: Cast result 3589 1.1 mrg to void. 3590 1.1 mrg * testsuite/23_containers/array/debug/back2_neg.cc: Likewise. 3591 1.1 mrg * testsuite/23_containers/array/debug/front1_neg.cc: Likewise. 3592 1.1 mrg * testsuite/23_containers/array/debug/front2_neg.cc: Likewise. 3593 1.1 mrg * testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc: 3594 1.1 mrg Likewise. 3595 1.1 mrg * testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc: 3596 1.1 mrg Likewise. 3597 1.1 mrg * testsuite/23_containers/array/tuple_interface/get_neg.cc: 3598 1.1 mrg Adjust dg-error line numbers. 3599 1.1 mrg * testsuite/23_containers/deque/cons/clear_allocator.cc: Cast 3600 1.1 mrg result to void. 3601 1.1 mrg * testsuite/23_containers/deque/debug/invalidation/4.cc: 3602 1.1 mrg Likewise. 3603 1.1 mrg * testsuite/23_containers/deque/types/1.cc: Use 3604 1.1 mrg -Wno-unused-result. 3605 1.1 mrg * testsuite/23_containers/list/types/1.cc: Cast result to void. 3606 1.1 mrg * testsuite/23_containers/priority_queue/members/7161.cc: 3607 1.1 mrg Likewise. 3608 1.1 mrg * testsuite/23_containers/queue/members/7157.cc: Likewise. 3609 1.1 mrg * testsuite/23_containers/vector/59829.cc: Likewise. 3610 1.1 mrg * testsuite/23_containers/vector/ext_pointer/types/1.cc: 3611 1.1 mrg Likewise. 3612 1.1 mrg * testsuite/23_containers/vector/ext_pointer/types/2.cc: 3613 1.1 mrg Likewise. 3614 1.1 mrg * testsuite/23_containers/vector/types/1.cc: Use 3615 1.1 mrg -Wno-unused-result. 3616 1.1 mrg 3617 1.1 mrg 2021-08-04 Jonathan Wakely <jwakely (a] redhat.com> 3618 1.1 mrg 3619 1.1 mrg * include/bits/iterator_concepts.h (iter_move): Add 3620 1.1 mrg [[nodiscard]]. 3621 1.1 mrg * include/bits/range_access.h (begin, end, cbegin, cend) 3622 1.1 mrg (rbegin, rend, crbegin, crend, size, data, ssize): Likewise. 3623 1.1 mrg * include/bits/ranges_base.h (ranges::begin, ranges::end) 3624 1.1 mrg (ranges::cbegin, ranges::cend, ranges::rbegin, ranges::rend) 3625 1.1 mrg (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize) 3626 1.1 mrg (ranges::empty, ranges::data, ranges::cdata): Likewise. 3627 1.1 mrg * include/bits/stl_iterator.h (reverse_iterator, __normal_iterator) 3628 1.1 mrg (back_insert_iterator, front_insert_iterator, insert_iterator) 3629 1.1 mrg (move_iterator, move_sentinel, common_iterator) 3630 1.1 mrg (counted_iterator): Likewise. 3631 1.1 mrg * include/bits/stl_iterator_base_funcs.h (distance, next, prev): 3632 1.1 mrg Likewise. 3633 1.1 mrg * include/bits/stream_iterator.h (istream_iterator) 3634 1.1 mrg (ostream_iterartor): Likewise. 3635 1.1 mrg * include/bits/streambuf_iterator.h (istreambuf_iterator) 3636 1.1 mrg (ostreambuf_iterator): Likewise. 3637 1.1 mrg * include/std/ranges (views::single, views::iota, views::all) 3638 1.1 mrg (views::filter, views::transform, views::take, views::take_while) 3639 1.1 mrg (views::drop, views::drop_while, views::join, views::lazy_split) 3640 1.1 mrg (views::split, views::counted, views::common, views::reverse) 3641 1.1 mrg (views::elements): Likewise. 3642 1.1 mrg * testsuite/20_util/rel_ops.cc: Use -Wno-unused-result. 3643 1.1 mrg * testsuite/24_iterators/move_iterator/greedy_ops.cc: Likewise. 3644 1.1 mrg * testsuite/24_iterators/normal_iterator/greedy_ops.cc: 3645 1.1 mrg Likewise. 3646 1.1 mrg * testsuite/24_iterators/reverse_iterator/2.cc: Likewise. 3647 1.1 mrg * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: 3648 1.1 mrg Likewise. 3649 1.1 mrg * testsuite/21_strings/basic_string/range_access/char/1.cc: 3650 1.1 mrg Cast result to void. 3651 1.1 mrg * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: 3652 1.1 mrg Likewise. 3653 1.1 mrg * testsuite/21_strings/basic_string_view/range_access/char/1.cc: 3654 1.1 mrg Likewise. 3655 1.1 mrg * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: 3656 1.1 mrg Likewise. 3657 1.1 mrg * testsuite/23_containers/array/range_access.cc: Likewise. 3658 1.1 mrg * testsuite/23_containers/deque/range_access.cc: Likewise. 3659 1.1 mrg * testsuite/23_containers/forward_list/range_access.cc: 3660 1.1 mrg Likewise. 3661 1.1 mrg * testsuite/23_containers/list/range_access.cc: Likewise. 3662 1.1 mrg * testsuite/23_containers/map/range_access.cc: Likewise. 3663 1.1 mrg * testsuite/23_containers/multimap/range_access.cc: Likewise. 3664 1.1 mrg * testsuite/23_containers/multiset/range_access.cc: Likewise. 3665 1.1 mrg * testsuite/23_containers/set/range_access.cc: Likewise. 3666 1.1 mrg * testsuite/23_containers/unordered_map/range_access.cc: 3667 1.1 mrg Likewise. 3668 1.1 mrg * testsuite/23_containers/unordered_multimap/range_access.cc: 3669 1.1 mrg Likewise. 3670 1.1 mrg * testsuite/23_containers/unordered_multiset/range_access.cc: 3671 1.1 mrg Likewise. 3672 1.1 mrg * testsuite/23_containers/unordered_set/range_access.cc: 3673 1.1 mrg Likewise. 3674 1.1 mrg * testsuite/23_containers/vector/range_access.cc: Likewise. 3675 1.1 mrg * testsuite/24_iterators/customization_points/iter_move.cc: 3676 1.1 mrg Likewise. 3677 1.1 mrg * testsuite/24_iterators/istream_iterator/sentinel.cc: 3678 1.1 mrg Likewise. 3679 1.1 mrg * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: 3680 1.1 mrg Likewise. 3681 1.1 mrg * testsuite/24_iterators/move_iterator/dr2061.cc: Likewise. 3682 1.1 mrg * testsuite/24_iterators/operations/prev_neg.cc: Likewise. 3683 1.1 mrg * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise. 3684 1.1 mrg * testsuite/24_iterators/range_access/range_access.cc: 3685 1.1 mrg Likewise. 3686 1.1 mrg * testsuite/24_iterators/range_operations/100768.cc: Likewise. 3687 1.1 mrg * testsuite/26_numerics/valarray/range_access2.cc: Likewise. 3688 1.1 mrg * testsuite/28_regex/range_access.cc: Likewise. 3689 1.1 mrg * testsuite/experimental/string_view/range_access/char/1.cc: 3690 1.1 mrg Likewise. 3691 1.1 mrg * testsuite/experimental/string_view/range_access/wchar_t/1.cc: 3692 1.1 mrg Likewise. 3693 1.1 mrg * testsuite/ext/vstring/range_access.cc: Likewise. 3694 1.1 mrg * testsuite/std/ranges/adaptors/take.cc: Likewise. 3695 1.1 mrg * testsuite/std/ranges/p2259.cc: Likewise. 3696 1.1 mrg 3697 1.1 mrg 2021-08-03 Jonathan Wakely <jwakely (a] redhat.com> 3698 1.1 mrg 3699 1.1 mrg * include/bits/random.tcc (linear_congruential_engine): Do not 3700 1.1 mrg define static constexpr members when they are implicitly inline. 3701 1.1 mrg * include/std/ratio (ratio, __ratio_multiply, __ratio_divide) 3702 1.1 mrg (__ratio_add, __ratio_subtract): Likewise. 3703 1.1 mrg * include/std/type_traits (integral_constant): Likewise. 3704 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error 3705 1.1 mrg line number. 3706 1.1 mrg 3707 1.1 mrg 2021-08-03 Jonathan Wakely <jwakely (a] redhat.com> 3708 1.1 mrg 3709 1.1 mrg * testsuite/util/testsuite_common_types.h: Replace uses of 3710 1.1 mrg tr1::unordered_map and tr1::unordered_set with their C++11 3711 1.1 mrg equivalents. 3712 1.1 mrg * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust 3713 1.1 mrg dg-error line number. 3714 1.1 mrg * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise. 3715 1.1 mrg * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: 3716 1.1 mrg Likewise. 3717 1.1 mrg * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: 3718 1.1 mrg Likewise. 3719 1.1 mrg * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: 3720 1.1 mrg Likewise. 3721 1.1 mrg * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: 3722 1.1 mrg Likewise. 3723 1.1 mrg * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: 3724 1.1 mrg Likewise. 3725 1.1 mrg 3726 1.1 mrg 2021-08-03 Jonathan Wakely <jwakely (a] redhat.com> 3727 1.1 mrg 3728 1.1 mrg * include/std/memory_resource (polymorphic_allocator::delete_object): 3729 1.1 mrg Call destructor directly instead of using destroy. 3730 1.1 mrg (allocator_traits<polymorphic_allocator<T>>): Define partial 3731 1.1 mrg specialization. 3732 1.1 mrg 3733 1.1 mrg 2021-08-03 Jonathan Wakely <jwakely (a] redhat.com> 3734 1.1 mrg 3735 1.1 mrg * testsuite/20_util/function_objects/binders/3113.cc: Remove 3736 1.1 mrg trailing whitespace. 3737 1.1 mrg * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise. 3738 1.1 mrg * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. 3739 1.1 mrg * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: 3740 1.1 mrg Likewise. 3741 1.1 mrg * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise. 3742 1.1 mrg * testsuite/25_algorithms/headers/algorithm/synopsis.cc: 3743 1.1 mrg Likewise. 3744 1.1 mrg * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: 3745 1.1 mrg Likewise. 3746 1.1 mrg * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc: 3747 1.1 mrg Likewise. 3748 1.1 mrg 3749 1.1 mrg 2021-08-03 Jonathan Wakely <jwakely (a] redhat.com> 3750 1.1 mrg 3751 1.1 mrg * doc/xml/manual/evolution.xml: Document deprecation. 3752 1.1 mrg * doc/html/*: Regenerate. 3753 1.1 mrg * include/bits/c++config (_GLIBCXX14_DEPRECATED): Define. 3754 1.1 mrg (_GLIBCXX14_DEPRECATED_SUGGEST): Define. 3755 1.1 mrg * include/bits/stl_algo.h (random_shuffle): Deprecate for C++14 3756 1.1 mrg and later. 3757 1.1 mrg * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust 3758 1.1 mrg for C++11 and C++14 changes to std::random_shuffle and 3759 1.1 mrg std::shuffle. 3760 1.1 mrg * testsuite/25_algorithms/random_shuffle/1.cc: Add options to 3761 1.1 mrg use deprecated algorithms. 3762 1.1 mrg * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise. 3763 1.1 mrg * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise. 3764 1.1 mrg * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: 3765 1.1 mrg Likewise. 3766 1.1 mrg * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc: 3767 1.1 mrg Likewise. 3768 1.1 mrg 3769 1.1 mrg 2021-08-03 Jonathan Wakely <jwakely (a] redhat.com> 3770 1.1 mrg 3771 1.1 mrg * testsuite/23_containers/forward_list/operations/3.cc: 3772 1.1 mrg Use lambda instead of std::bind2nd. 3773 1.1 mrg * testsuite/20_util/function_objects/binders/3113.cc: Add 3774 1.1 mrg options for testing deprecated features. 3775 1.1 mrg * testsuite/20_util/pair/cons/99957.cc: Likewise. 3776 1.1 mrg * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise. 3777 1.1 mrg * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. 3778 1.1 mrg * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: 3779 1.1 mrg Likewise. 3780 1.1 mrg * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise. 3781 1.1 mrg * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise. 3782 1.1 mrg * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise. 3783 1.1 mrg * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise. 3784 1.1 mrg * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise. 3785 1.1 mrg * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise. 3786 1.1 mrg * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc: 3787 1.1 mrg Likewise. 3788 1.1 mrg * testsuite/ext/pb_ds/example/priority_queue_split_join.cc: 3789 1.1 mrg Likewise. 3790 1.1 mrg * testsuite/lib/dg-options.exp (dg_add_options_using-deprecated): 3791 1.1 mrg New proc. 3792 1.1 mrg 3793 1.1 mrg 2021-08-03 Jonathan Wakely <jwakely (a] redhat.com> 3794 1.1 mrg 3795 1.1 mrg * include/bits/regex_executor.h (_State_info): Replace 3796 1.1 mrg unique_ptr<bool[]> with array of bool. 3797 1.1 mrg * include/bits/regex_executor.tcc: Likewise. 3798 1.1 mrg * include/bits/regex_scanner.tcc: Replace std::strchr with 3799 1.1 mrg __builtin_strchr. 3800 1.1 mrg * include/std/regex: Replace standard headers with smaller 3801 1.1 mrg internal ones. 3802 1.1 mrg * testsuite/28_regex/traits/char/lookup_classname.cc: Include 3803 1.1 mrg <string.h> for strlen. 3804 1.1 mrg * testsuite/28_regex/traits/char/lookup_collatename.cc: 3805 1.1 mrg Likewise. 3806 1.1 mrg 3807 1.1 mrg 2021-08-03 Jonathan Wakely <jwakely (a] redhat.com> 3808 1.1 mrg 3809 1.1 mrg * include/bits/locale_conv.h (__detail::_Scoped_ptr): Define new 3810 1.1 mrg RAII class template. 3811 1.1 mrg (wstring_convert, wbuffer_convert): Use __detail::_Scoped_ptr 3812 1.1 mrg instead of unique_ptr. 3813 1.1 mrg 3814 1.1 mrg 2021-08-02 Patrick Palka <ppalka (a] redhat.com> 3815 1.1 mrg 3816 1.1 mrg PR libstdc++/101599 3817 1.1 mrg * include/bits/ranges_algo.h (__reverse_copy_fn::operator()): 3818 1.1 mrg Add missing std::move in return statement. 3819 1.1 mrg (__partition_copy_fn::operator()): Rename templtae parameter 3820 1.1 mrg _O2 to _Out2. Uglify function parameters out_true and out_false. 3821 1.1 mrg * include/bits/ranges_algobase.h (__copy_or_move): Add missing 3822 1.1 mrg std::move to recursive call that unwraps a __normal_iterator 3823 1.1 mrg output iterator. 3824 1.1 mrg * testsuite/25_algorithms/copy/constrained.cc (test06): New test. 3825 1.1 mrg * testsuite/25_algorithms/move/constrained.cc (test05): New test. 3826 1.1 mrg 3827 1.1 mrg 2021-08-02 Patrick Palka <ppalka (a] redhat.com> 3828 1.1 mrg 3829 1.1 mrg PR libstdc++/101589 3830 1.1 mrg * include/std/ranges (lazy_split_view::_InnerIter::base): Make 3831 1.1 mrg the const& overload unconstrained and return a const reference 3832 1.1 mrg as per LWG 3533. Make unconditionally noexcept. 3833 1.1 mrg (elements_view::base): Revert accidental r12-569 change. 3834 1.1 mrg (elements_view::_Iterator::base): Make the const& overload 3835 1.1 mrg unconstrained and return a const reference as per LWG 3533. 3836 1.1 mrg Make unconditionally noexcept. 3837 1.1 mrg 3838 1.1 mrg 2021-08-02 Patrick Palka <ppalka (a] redhat.com> 3839 1.1 mrg 3840 1.1 mrg PR libstdc++/101483 3841 1.1 mrg * include/std/ranges (join_view::_Iterator::_Iterator): Add 3842 1.1 mrg missing std::move. 3843 1.1 mrg 3844 1.1 mrg 2021-08-02 Jonathan Wakely <jwakely (a] redhat.com> 3845 1.1 mrg 3846 1.1 mrg PR libstdc++/101709 3847 1.1 mrg * src/filesystem/ops-common.h (get_temp_directory_from_env): 3848 1.1 mrg Add error_code parameter. 3849 1.1 mrg * src/c++17/fs_ops.cc (fs::temp_directory_path): Pass error_code 3850 1.1 mrg argument to get_temp_directory_from_env and check it. 3851 1.1 mrg * src/filesystem/ops.cc (fs::temp_directory_path): Likewise. 3852 1.1 mrg 3853 1.1 mrg 2021-08-02 Jonathan Wakely <jwakely (a] redhat.com> 3854 1.1 mrg 3855 1.1 mrg * testsuite/20_util/tuple/comparison_operators/overloaded2.cc: 3856 1.1 mrg Add dg-error for c++11_only target. 3857 1.1 mrg 3858 1.1 mrg 2021-07-30 Jonathan Wakely <jwakely (a] redhat.com> 3859 1.1 mrg 3860 1.1 mrg PR libstdc++/65018 3861 1.1 mrg * configure.ac: Check for secure_getenv. 3862 1.1 mrg * config.h.in: Regenerate. 3863 1.1 mrg * configure: Regenerate. 3864 1.1 mrg * src/filesystem/ops-common.h (get_temp_directory_from_env): New 3865 1.1 mrg helper function to obtain path from the environment. 3866 1.1 mrg * src/c++17/fs_ops.cc (fs::temp_directory_path): Use new helper. 3867 1.1 mrg * src/filesystem/ops.cc (fs::temp_directory_path): Likewise. 3868 1.1 mrg * testsuite/27_io/filesystem/operations/temp_directory_path.cc: 3869 1.1 mrg Print messages if test cannot be run. 3870 1.1 mrg * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 3871 1.1 mrg Likewise. Fix incorrect condition. Use "TMP" to work with 3872 1.1 mrg Windows as well as POSIX. 3873 1.1 mrg 3874 1.1 mrg 2021-07-29 Hans-Peter Nilsson <hp (a] bitrange.com> 3875 1.1 mrg 3876 1.1 mrg * src/c++17/memory_resource.cc: Use __exchange instead 3877 1.1 mrg of std::exchange. 3878 1.1 mrg 3879 1.1 mrg 2021-07-27 Jonathan Wakely <jwakely (a] redhat.com> 3880 1.1 mrg 3881 1.1 mrg * include/experimental/optional (__throw_bad_optional_access): 3882 1.1 mrg Replace GNU attribute with C++11 attribute. 3883 1.1 mrg (optional::value, optional::value_or): Use if statements 3884 1.1 mrg instead of conditional expressions. 3885 1.1 mrg * include/std/optional (__throw_bad_optional_access) 3886 1.1 mrg (optional::value, optional::value_or): Likewise. 3887 1.1 mrg 3888 1.1 mrg 2021-07-27 Marek Polacek <polacek (a] redhat.com> 3889 1.1 mrg 3890 1.1 mrg DR 1512 3891 1.1 mrg PR c++/99701 3892 1.1 mrg * testsuite/20_util/tuple/comparison_operators/overloaded.cc: 3893 1.1 mrg Move a line... 3894 1.1 mrg * testsuite/20_util/tuple/comparison_operators/overloaded2.cc: 3895 1.1 mrg ...here. New test. 3896 1.1 mrg 3897 1.1 mrg 2021-07-27 Jonathan Wakely <jwakely (a] redhat.com> 3898 1.1 mrg 3899 1.1 mrg * include/bits/cow_string.h: Consistently use tab for 3900 1.1 mrg indentation. 3901 1.1 mrg 3902 1.1 mrg 2021-07-27 Jonathan Wakely <jwakely (a] redhat.com> 3903 1.1 mrg 3904 1.1 mrg * include/Makefile.am: Add new header. 3905 1.1 mrg * include/Makefile.in: Regenerate. 3906 1.1 mrg * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] 3907 1.1 mrg (basic_string): Move definition of Copy-on-Write string to 3908 1.1 mrg new file. 3909 1.1 mrg * include/bits/basic_string.tcc: Likewise. 3910 1.1 mrg * include/bits/cow_string.h: New file. 3911 1.1 mrg 3912 1.1 mrg 2021-07-27 Jonathan Wakely <jwakely (a] redhat.com> 3913 1.1 mrg 3914 1.1 mrg * include/std/algorithm: Do not include <utility>. 3915 1.1 mrg * include/std/functional: Likewise. 3916 1.1 mrg * include/std/regex: Include <bits/stl_pair.h> instead of 3917 1.1 mrg <utility>. 3918 1.1 mrg * include/debug/map.h: Likewise. 3919 1.1 mrg * include/debug/multimap.h: Likewise. 3920 1.1 mrg * include/debug/multiset.h: Likewise. 3921 1.1 mrg * include/debug/set.h: Likewise. 3922 1.1 mrg * include/debug/vector: Likewise. 3923 1.1 mrg * include/bits/fs_path.h: Likewise. 3924 1.1 mrg * include/bits/unique_ptr.h: Do not include <utility>. 3925 1.1 mrg * include/experimental/any: Likewise. 3926 1.1 mrg * include/experimental/executor: Likewise. 3927 1.1 mrg * include/experimental/memory: Likewise. 3928 1.1 mrg * include/experimental/optional: Likewise. 3929 1.1 mrg * include/experimental/socket: Use __exchange instead 3930 1.1 mrg of std::exchange. 3931 1.1 mrg * src/filesystem/ops-common.h: Likewise. 3932 1.1 mrg * testsuite/20_util/default_delete/48631_neg.cc: Adjust expected 3933 1.1 mrg errors to not use a hardcoded line number. 3934 1.1 mrg * testsuite/20_util/default_delete/void_neg.cc: Likewise. 3935 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc: 3936 1.1 mrg Include <utility> for std::as_const. 3937 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc: 3938 1.1 mrg Likewise. 3939 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc: 3940 1.1 mrg Likewise. 3941 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc: 3942 1.1 mrg Likewise. 3943 1.1 mrg * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: 3944 1.1 mrg Adjust dg-error line number. 3945 1.1 mrg 3946 1.1 mrg 2021-07-27 Jonathan Wakely <jwakely (a] redhat.com> 3947 1.1 mrg 3948 1.1 mrg * include/Makefile.am: Add bits/utility.h header. 3949 1.1 mrg * include/Makefile.in: Regenerate. 3950 1.1 mrg * include/bits/utility.h: New file. 3951 1.1 mrg * include/std/utility (tuple_size, tuple_element): Move 3952 1.1 mrg to new header. 3953 1.1 mrg * include/std/type_traits (__is_tuple_like_impl<tuple<T...>>): 3954 1.1 mrg Move to <tuple>. 3955 1.1 mrg (_Index_tuple, _Build_index_tuple, integer_sequence): Likewise. 3956 1.1 mrg (in_place_t, in_place_index_t, in_place_type_t): Likewise. 3957 1.1 mrg * include/bits/ranges_util.h: Include new header instead of 3958 1.1 mrg <utility>. 3959 1.1 mrg * include/bits/stl_pair.h (tuple_size, tuple_element): Move 3960 1.1 mrg partial specializations for std::pair here. 3961 1.1 mrg (get): Move overloads for std::pair here. 3962 1.1 mrg * include/std/any: Include new header instead of <utility>. 3963 1.1 mrg * include/std/array: Likewise. 3964 1.1 mrg * include/std/memory_resource: Likewise. 3965 1.1 mrg * include/std/optional: Likewise. 3966 1.1 mrg * include/std/variant: Likewise. 3967 1.1 mrg * include/std/tuple: Likewise. 3968 1.1 mrg (__is_tuple_like_impl<tuple<T...>>): Move here. 3969 1.1 mrg (get) Declare overloads for std::array. 3970 1.1 mrg * include/std/version (__cpp_lib_tuples_by_type): Change type 3971 1.1 mrg to long. 3972 1.1 mrg * testsuite/20_util/optional/84601.cc: Include <utility>. 3973 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc: 3974 1.1 mrg Likewise. 3975 1.1 mrg * testsuite/23_containers/array/tuple_interface/get_neg.cc: 3976 1.1 mrg Adjust dg-error line numbers. 3977 1.1 mrg * testsuite/std/ranges/access/cbegin.cc: Include <utility>. 3978 1.1 mrg * testsuite/std/ranges/access/cend.cc: Likewise. 3979 1.1 mrg * testsuite/std/ranges/access/end.cc: Likewise. 3980 1.1 mrg * testsuite/std/ranges/single_view.cc: Likewise. 3981 1.1 mrg 3982 1.1 mrg 2021-07-23 Jonathan Wakely <jwakely (a] redhat.com> 3983 1.1 mrg 3984 1.1 mrg * include/std/future: Include <bits/atomic_base.h> instead of 3985 1.1 mrg <atomic>. 3986 1.1 mrg 3987 1.1 mrg 2021-07-23 Jonathan Wakely <jwakely (a] redhat.com> 3988 1.1 mrg 3989 1.1 mrg * include/bits/stl_relops.h: Update documentation comments. 3990 1.1 mrg 3991 1.1 mrg 2021-07-22 Jonathan Wakely <jwakely (a] redhat.com> 3992 1.1 mrg 3993 1.1 mrg PR libstdc++/101583 3994 1.1 mrg * include/bits/hashtable.h (_Hashtable): Replace mixin with 3995 1.1 mrg _Enable_default_ctor. Construct it explicitly in all 3996 1.1 mrg non-forwarding, non-defaulted constructors. 3997 1.1 mrg * testsuite/23_containers/unordered_map/cons/default.cc: Check 3998 1.1 mrg non-default constructors can be used. 3999 1.1 mrg * testsuite/23_containers/unordered_set/cons/default.cc: 4000 1.1 mrg Likewise. 4001 1.1 mrg 4002 1.1 mrg 2021-07-22 David Edelsohn <dje.gcc (a] gmail.com> 4003 1.1 mrg 4004 1.1 mrg * config/os/aix/os_defines.h (__LIBC_NO_CPP_MATH_OVERLOADS__): Define. 4005 1.1 mrg 4006 1.1 mrg 2021-07-22 Jonathan Wakely <jwakely (a] redhat.com> 4007 1.1 mrg 4008 1.1 mrg PR libstdc++/94295 4009 1.1 mrg * include/ext/new_allocator.h (_GLIBCXX_OPERATOR_NEW) 4010 1.1 mrg (_GLIBCXX_OPERATOR_DELETE, _GLIBCXX_SIZED_DEALLOC): Define. 4011 1.1 mrg (allocator::allocate, allocator::deallocate): Use new macros. 4012 1.1 mrg 4013 1.1 mrg 2021-07-22 Jonathan Wakely <jwakely (a] redhat.com> 4014 1.1 mrg 4015 1.1 mrg PR libstdc++/101571 4016 1.1 mrg * include/bits/ranges_uninitialized.h (_DestroyGuard): Change 4017 1.1 mrg constructor parameter to reference and use addressof. 4018 1.1 mrg * testsuite/util/testsuite_iterators.h: Define deleted operator& 4019 1.1 mrg overloads for test iterators. 4020 1.1 mrg 4021 1.1 mrg 2021-07-22 Jonathan Wakely <jwakely (a] redhat.com> 4022 1.1 mrg 4023 1.1 mrg * include/bits/std_function.h (_Function_base): Add 4024 1.1 mrg default member initializers and define constructor as defaulted. 4025 1.1 mrg (function::_M_invoker): Add default member initializer. 4026 1.1 mrg 4027 1.1 mrg 2021-07-22 Jonathan Wakely <jwakely (a] redhat.com> 4028 1.1 mrg 4029 1.1 mrg PR libstdc++/100682 4030 1.1 mrg * doc/xml/manual/debug_mode.xml: Update documentation about 4031 1.1 mrg debug capability of std::array. 4032 1.1 mrg * doc/html/*: Regenerate. 4033 1.1 mrg * include/debug/array: New file. 4034 1.1 mrg 4035 1.1 mrg 2021-07-21 Jonathan Wakely <jwakely (a] redhat.com> 4036 1.1 mrg 4037 1.1 mrg PR libstdc++/101542 4038 1.1 mrg * include/ext/rope (sequence_buffer): Add move constructor and 4039 1.1 mrg move assignment operator. 4040 1.1 mrg * testsuite/ext/rope/101542.cc: New test. 4041 1.1 mrg 4042 1.1 mrg 2021-07-20 Jonathan Wakely <jwakely (a] redhat.com> 4043 1.1 mrg 4044 1.1 mrg PR libstdc++/101510 4045 1.1 mrg * src/c++17/fs_ops.cc (fs::create_directories): Use status 4046 1.1 mrg instead of symlink_status. 4047 1.1 mrg * src/filesystem/ops.cc (fs::create_directories): Likewise. 4048 1.1 mrg * testsuite/27_io/filesystem/operations/create_directories.cc: 4049 1.1 mrg Check symlink to existing directory. 4050 1.1 mrg * testsuite/27_io/filesystem/operations/create_directory.cc: Do 4051 1.1 mrg not test with symlinks on Windows. 4052 1.1 mrg * testsuite/experimental/filesystem/operations/create_directories.cc: 4053 1.1 mrg Check symlink to existing directory. 4054 1.1 mrg * testsuite/experimental/filesystem/operations/create_directory.cc: 4055 1.1 mrg Do not test with symlinks on Windows. 4056 1.1 mrg 4057 1.1 mrg 2021-07-20 Jonathan Wakely <jwakely (a] redhat.com> 4058 1.1 mrg 4059 1.1 mrg PR libstdc++/100863 4060 1.1 mrg * include/bits/hashtable.h (_Hashtable): Conditionally delete 4061 1.1 mrg default constructor by deriving from _Enable_special_members. 4062 1.1 mrg * testsuite/23_containers/unordered_map/cons/default.cc: New test. 4063 1.1 mrg * testsuite/23_containers/unordered_set/cons/default.cc: New test. 4064 1.1 mrg 4065 1.1 mrg 2021-07-20 Jonathan Wakely <jwakely (a] redhat.com> 4066 1.1 mrg 4067 1.1 mrg PR libstdc++/101510 4068 1.1 mrg * src/c++17/fs_ops.cc (create_dir): Adjust whitespace. 4069 1.1 mrg * testsuite/27_io/filesystem/operations/create_directory.cc: 4070 1.1 mrg Test creating directory with name of existing symlink to 4071 1.1 mrg directory. 4072 1.1 mrg * testsuite/experimental/filesystem/operations/create_directory.cc: 4073 1.1 mrg Likewise. 4074 1.1 mrg 4075 1.1 mrg 2021-07-16 Jonathan Wakely <jwakely (a] redhat.com> 4076 1.1 mrg 4077 1.1 mrg * include/std/tuple (get<I>): Add deleted overload for bad 4078 1.1 mrg index. 4079 1.1 mrg * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust 4080 1.1 mrg expected errors. 4081 1.1 mrg 4082 1.1 mrg 2021-07-16 Jonathan Wakely <jwakely (a] redhat.com> 4083 1.1 mrg 4084 1.1 mrg * include/bits/max_size_type.h (numeric_limits<__max_size_type>): 4085 1.1 mrg Use __int_traits unconditionally. 4086 1.1 mrg 4087 1.1 mrg 2021-07-16 Jonathan Wakely <jwakely (a] redhat.com> 4088 1.1 mrg 4089 1.1 mrg * include/bits/random.h (_Shift::__value): Use constexpr. 4090 1.1 mrg (_Select_uint_least_t::type): Use using-declaration. 4091 1.1 mrg (_Mod): Likewise. 4092 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error 4093 1.1 mrg line number. 4094 1.1 mrg 4095 1.1 mrg 2021-07-16 Jonathan Wakely <jwakely (a] redhat.com> 4096 1.1 mrg 4097 1.1 mrg * include/bits/cpp_type_traits.h (__INT_N): Use __extension__ 4098 1.1 mrg instead of diagnostic pragmas. 4099 1.1 mrg * include/bits/functional_hash.h: Likewise. 4100 1.1 mrg * include/bits/iterator_concepts.h (__is_signed_int128) 4101 1.1 mrg (__is_unsigned_int128): Likewise. 4102 1.1 mrg * include/bits/max_size_type.h (__max_size_type): Likewise. 4103 1.1 mrg (numeric_limits<__max_size_type>): Likewise. 4104 1.1 mrg * include/bits/std_abs.h (abs): Likewise. 4105 1.1 mrg * include/bits/stl_algobase.h (__size_to_integer): Likewise. 4106 1.1 mrg * include/bits/uniform_int_dist.h (uniform_int_distribution): 4107 1.1 mrg Likewise. 4108 1.1 mrg * include/ext/numeric_traits.h (_GLIBCXX_INT_N_TRAITS): 4109 1.1 mrg Likewise. 4110 1.1 mrg * include/std/type_traits (__is_integral_helper<INT_N>) 4111 1.1 mrg (__is_signed_integer, __is_unsigned_integer) 4112 1.1 mrg (__make_unsigned<INT_N>, __make_signed<INT_N>): Likewise. 4113 1.1 mrg * include/std/limits (__INT_N): Add __extension__ keyword. 4114 1.1 mrg * include/bits/random.h (_Select_uint_least_t) 4115 1.1 mrg (random_device): Likewise. 4116 1.1 mrg 4117 1.1 mrg 2021-07-16 Patrick Palka <ppalka (a] redhat.com> 4118 1.1 mrg 4119 1.1 mrg PR libstdc++/101231 4120 1.1 mrg * include/std/ranges (_CachedPosition::_M_get): For non-forward 4121 1.1 mrg ranges, just call __builtin_unreachable. 4122 1.1 mrg * testsuite/std/ranges/istream_view.cc (test05): New test. 4123 1.1 mrg 4124 1.1 mrg 2021-07-16 Patrick Palka <ppalka (a] redhat.com> 4125 1.1 mrg 4126 1.1 mrg PR libstdc++/101214 4127 1.1 mrg * include/std/ranges (split_view::split_view): Use std::move. 4128 1.1 mrg (split_view::_Iterator::_Iterator): Remove redundant 4129 1.1 mrg default_initializable constraint. 4130 1.1 mrg (split_view::_Sentinel::_Sentinel): Declare. 4131 1.1 mrg * testsuite/std/ranges/adaptors/split.cc (test02): New test. 4132 1.1 mrg 4133 1.1 mrg 2021-07-16 Marek Polacek <polacek (a] redhat.com> 4134 1.1 mrg 4135 1.1 mrg * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Add 4136 1.1 mrg dg-error. 4137 1.1 mrg 4138 1.1 mrg 2021-07-16 Jonathan Wakely <jwakely (a] redhat.com> 4139 1.1 mrg 4140 1.1 mrg * include/bits/unique_ptr.h: Adjust doxygen markup. 4141 1.1 mrg 4142 1.1 mrg 2021-07-16 Jonathan Wakely <jwakely (a] redhat.com> 4143 1.1 mrg 4144 1.1 mrg PR libstdc++/101307 4145 1.1 mrg * include/std/type_traits: Adjust doxygen markup. 4146 1.1 mrg 4147 1.1 mrg 2021-07-16 Jonathan Wakely <jwakely (a] redhat.com> 4148 1.1 mrg 4149 1.1 mrg * include/bits/cpp_type_traits.h: Add diagnostic pragmas around 4150 1.1 mrg uses of non-standard integer types. 4151 1.1 mrg * include/bits/functional_hash.h: Likewise. 4152 1.1 mrg * include/bits/iterator_concepts.h: Likewise. 4153 1.1 mrg * include/bits/max_size_type.h: Likewise. 4154 1.1 mrg * include/bits/std_abs.h: Likewise. 4155 1.1 mrg * include/bits/stl_algobase.h: Likewise. 4156 1.1 mrg * include/bits/uniform_int_dist.h: Likewise. 4157 1.1 mrg * include/ext/numeric_traits.h: Likewise. 4158 1.1 mrg * include/std/type_traits: Likewise. 4159 1.1 mrg 4160 1.1 mrg 2021-07-15 Jonathan Wakely <jwakely (a] redhat.com> 4161 1.1 mrg 4162 1.1 mrg PR libstdc++/101427 4163 1.1 mrg * include/std/tuple (tuple_element): Improve static_assert text. 4164 1.1 mrg (__get_helper): Add deleted overload. 4165 1.1 mrg (get<i>(tuple<T...>&&), get<i>(const tuple<T...>&&)): Use 4166 1.1 mrg __get_helper directly. 4167 1.1 mrg (__get_helper2): Remove. 4168 1.1 mrg (__find_uniq_type_in_pack): New constexpr helper function. 4169 1.1 mrg (get<T>): Use __find_uniq_type_in_pack and __get_helper instead 4170 1.1 mrg of __get_helper2. 4171 1.1 mrg * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust 4172 1.1 mrg expected errors. 4173 1.1 mrg * testsuite/20_util/tuple/element_access/101427.cc: New test. 4174 1.1 mrg 4175 1.1 mrg 2021-07-15 Jonathan Wakely <jwakely (a] redhat.com> 4176 1.1 mrg 4177 1.1 mrg PR libstdc++/101429 4178 1.1 mrg * include/bits/c++config (__replacement_assert): Add noexcept. 4179 1.1 mrg [!_GLIBCXX_VERBOSE] (__glibcxx_assert_impl): Use __builtin_abort 4180 1.1 mrg instead of __replacement_assert. 4181 1.1 mrg 4182 1.1 mrg 2021-07-14 Jonathan Wakely <jwakely (a] redhat.com> 4183 1.1 mrg 4184 1.1 mrg * include/std/string_view (basic_string_view(It, End)): Add 4185 1.1 mrg noexcept-specifier. 4186 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/range.cc: 4187 1.1 mrg Check noexcept-specifier. Also check construction without CTAD. 4188 1.1 mrg 4189 1.1 mrg 2021-07-13 Jonathan Wakely <jwakely (a] redhat.com> 4190 1.1 mrg 4191 1.1 mrg PR c++/101361 4192 1.1 mrg * include/std/string_view (ends_with): Use traits_type::compare 4193 1.1 mrg directly. 4194 1.1 mrg 4195 1.1 mrg 2021-07-13 Jonathan Wakely <jwakely (a] redhat.com> 4196 1.1 mrg 4197 1.1 mrg * include/std/string_view: Only include <bits/ranges_base.h> 4198 1.1 mrg once, and only for C++20 and later. 4199 1.1 mrg 4200 1.1 mrg 2021-07-12 Jonathan Wakely <jwakely (a] redhat.com> 4201 1.1 mrg 4202 1.1 mrg PR libstdc++/101411 4203 1.1 mrg * include/std/span (as_writable_bytes): Add requires-clause. 4204 1.1 mrg * testsuite/23_containers/span/101411.cc: New test. 4205 1.1 mrg 4206 1.1 mrg 2021-07-09 Matheus Castanho <msc (a] linux.ibm.com> 4207 1.1 mrg 4208 1.1 mrg * include/std/mutex (__lock_impl): Check 4209 1.1 mrg _GLIBCXX_HAS_GTHREADS before using __gthread_yield. 4210 1.1 mrg 4211 1.1 mrg 2021-07-02 Jonathan Wakely <jwakely (a] redhat.com> 4212 1.1 mrg 4213 1.1 mrg PR libstdc++/101271 4214 1.1 mrg * include/bits/unique_ptr.h (unique_ptr<T[],D>::operator[]): 4215 1.1 mrg Remove noexcept-specifier. 4216 1.1 mrg (unique_ptr<T[],D>::_S_nothrow_deref): Remove. 4217 1.1 mrg * testsuite/20_util/unique_ptr/lwg2762.cc: Remove checks for 4218 1.1 mrg operator[]. 4219 1.1 mrg 4220 1.1 mrg 2021-07-01 Jonathan Wakely <jwakely (a] redhat.com> 4221 1.1 mrg 4222 1.1 mrg * doc/doxygen/doxygroups.cc: Fix docs for std::literals. 4223 1.1 mrg * doc/doxygen/user.cfg.in: Exclude the Networking TS header. 4224 1.1 mrg Add some more predefined macros. 4225 1.1 mrg * include/bits/fs_fwd.h: Move @addtogroup commands inside 4226 1.1 mrg namespaces. Add better documentation. 4227 1.1 mrg * include/bits/fs_path.h: Likewise. 4228 1.1 mrg * include/experimental/bits/fs_fwd.h: Likewise. 4229 1.1 mrg * include/experimental/bits/fs_path.h: Likewise. 4230 1.1 mrg * include/ext/throw_allocator.h: Fix typo and improve docs. 4231 1.1 mrg * include/std/chrono: Move @addtogroup commands. 4232 1.1 mrg * include/std/system_error: Move @addtogroup commands. 4233 1.1 mrg * libsupc++/exception: Improve documentation. 4234 1.1 mrg * libsupc++/exception.h: Add @since documentation. 4235 1.1 mrg 4236 1.1 mrg 2021-06-30 Jonathan Wakely <jwakely (a] redhat.com> 4237 1.1 mrg 4238 1.1 mrg PR libstdc++/101258 4239 1.1 mrg * doc/doxygen/user.cfg.in (INPUT): Add <experimental/simd>. 4240 1.1 mrg (COLS_IN_ALPHA_INDEX): Remove obsolete tag. 4241 1.1 mrg (PREDEFINED): Add/fix some more macros that need to be expanded. 4242 1.1 mrg * include/bits/random.h: Stop Doxygen from documenting internal 4243 1.1 mrg implementation details. 4244 1.1 mrg * include/bits/random.tcc: Likewise. 4245 1.1 mrg * include/bits/this_thread_sleep.h: Fix @file name. 4246 1.1 mrg * include/experimental/bits/simd.h: Add to Doxygen group. Do not 4247 1.1 mrg document internal implementation details. 4248 1.1 mrg * include/experimental/bits/simd_detail.h: Do not document 4249 1.1 mrg internal implementation details. 4250 1.1 mrg * include/experimental/simd: Define Doxygen groups. 4251 1.1 mrg * include/experimental/type_traits: Improve documentation for 4252 1.1 mrg the header file. Define groups. Use @since commands. 4253 1.1 mrg * include/std/scoped_allocator (scoped_allocator_adaptor): Move 4254 1.1 mrg declaration before undocumented region. 4255 1.1 mrg * include/std/type_traits (true_type, false_type): Use using 4256 1.1 mrg declaration instead of typedef. 4257 1.1 mrg (is_invocable_v, is_nothrow_invocable_v, is_invocable_r_v) 4258 1.1 mrg (is_nothrow_invocable_r_v): Move definitions next to other C++17 4259 1.1 mrg variable templates. 4260 1.1 mrg Do not document internal implementation details. Move misplaced 4261 1.1 mrg group-end command. Define group for variable templates. 4262 1.1 mrg * include/std/variant: Do not document internal implementation 4263 1.1 mrg details. 4264 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error 4265 1.1 mrg line number. 4266 1.1 mrg 4267 1.1 mrg 2021-06-30 Jonathan Wakely <jwakely (a] redhat.com> 4268 1.1 mrg 4269 1.1 mrg * include/experimental/simd: Do not define anything pre-C++17. 4270 1.1 mrg 4271 1.1 mrg 2021-06-30 Jonathan Wakely <jwakely (a] redhat.com> 4272 1.1 mrg 4273 1.1 mrg * include/bits/random.tcc [__cpp_inline_variables]: Remove 4274 1.1 mrg redundant definitions of static constexpr member variables. 4275 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error 4276 1.1 mrg line number. 4277 1.1 mrg 4278 1.1 mrg 2021-06-28 Jonathan Wakely <jwakely (a] redhat.com> 4279 1.1 mrg 4280 1.1 mrg * include/bits/streambuf.tcc (__copy_streambufs_eof): Remove 4281 1.1 mrg explicit instantiation declarations. 4282 1.1 mrg * src/c++11/streambuf-inst.cc (__copy_streambufs_eof): Remove 4283 1.1 mrg explicit instantiation definitions. 4284 1.1 mrg 4285 1.1 mrg 2021-06-28 Jonathan Wakely <jwakely (a] redhat.com> 4286 1.1 mrg 4287 1.1 mrg PR libstdc++/97088 4288 1.1 mrg * testsuite/17_intro/names.cc: Fix #if condition for names used 4289 1.1 mrg by newlib headers. 4290 1.1 mrg 4291 1.1 mrg 2021-06-28 Jonathan Wakely <jwakely (a] redhat.com> 4292 1.1 mrg 4293 1.1 mrg PR libstdc++/101236 4294 1.1 mrg * include/bits/unique_ptr.h (unique_ptr<T[], D>::operator[]): 4295 1.1 mrg Fail gracefully if element_type is incomplete. 4296 1.1 mrg * testsuite/20_util/unique_ptr/cons/incomplete.cc: Clarify that 4297 1.1 mrg the standard doesn't require this test to work for array types. 4298 1.1 mrg * testsuite/20_util/unique_ptr/lwg2762.cc: Check that incomplete 4299 1.1 mrg types can be used with array specialization. 4300 1.1 mrg * testsuite/20_util/unique_ptr/101236.cc: New test. 4301 1.1 mrg 4302 1.1 mrg 2021-06-28 Jonathan Wakely <jwakely (a] redhat.com> 4303 1.1 mrg 4304 1.1 mrg * doc/xml/manual/intro.xml: Document LWG 415 change. 4305 1.1 mrg * doc/html/manual/bugs.html: Regenerate. 4306 1.1 mrg * include/bits/istream.tcc (ws): Create sentry and catch 4307 1.1 mrg exceptions. 4308 1.1 mrg * testsuite/27_io/basic_istream/ws/char/lwg415.cc: New test. 4309 1.1 mrg * testsuite/27_io/basic_istream/ws/wchar_t/lwg415.cc: New test. 4310 1.1 mrg 4311 1.1 mrg 2021-06-25 Jonathan Wakely <jwakely (a] redhat.com> 4312 1.1 mrg 4313 1.1 mrg * include/bits/ostream.tcc (basic_ostream::write): Call sputn 4314 1.1 mrg directly instead of using _M_write. Do setstate(__err) all 4315 1.1 mrg outside the try-catch block. 4316 1.1 mrg * include/std/ostream (basic_ostream::_M_write): Declare 4317 1.1 mrg private. Use __ostream_insert. Do not define for the versioned 4318 1.1 mrg namespace. 4319 1.1 mrg 4320 1.1 mrg 2021-06-25 Jonathan Wakely <jwakely (a] redhat.com> 4321 1.1 mrg 4322 1.1 mrg * doc/xml/manual/intro.xml: Document LWG 581 change. 4323 1.1 mrg * doc/html/manual/bugs.html: Regenerate. 4324 1.1 mrg * include/bits/basic_ios.tcc: Whitespace. 4325 1.1 mrg * include/bits/ostream.tcc (basic_ostream::flush()): Construct 4326 1.1 mrg sentry. 4327 1.1 mrg * testsuite/27_io/basic_ostream/flush/char/2.cc: Check 4328 1.1 mrg additional cases. 4329 1.1 mrg * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc: 4330 1.1 mrg Likewise. 4331 1.1 mrg * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise. 4332 1.1 mrg * testsuite/27_io/basic_ostream/flush/wchar_t/exceptions_badbit_throw.cc: 4333 1.1 mrg Likewise. 4334 1.1 mrg 4335 1.1 mrg 2021-06-25 Jonathan Wakely <jwakely (a] redhat.com> 4336 1.1 mrg 4337 1.1 mrg * include/bits/ostream.tcc (sentry): Only set failbit if badbit 4338 1.1 mrg is set, not if eofbit is set. 4339 1.1 mrg (tellp, seekp, seekp): Create sentry object. Do not set badbit 4340 1.1 mrg on exceptions. 4341 1.1 mrg * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc: 4342 1.1 mrg Adjust expected behaviour. 4343 1.1 mrg * testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc: 4344 1.1 mrg Likewise. 4345 1.1 mrg * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc: 4346 1.1 mrg Likewise. 4347 1.1 mrg * testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc: 4348 1.1 mrg Likewise. 4349 1.1 mrg * testsuite/27_io/basic_ostream/seekp/char/n3168.cc: New test. 4350 1.1 mrg * testsuite/27_io/basic_ostream/seekp/wchar_t/n3168.cc: New test. 4351 1.1 mrg * testsuite/27_io/basic_ostream/tellp/char/n3168.cc: New test. 4352 1.1 mrg * testsuite/27_io/basic_ostream/tellp/wchar_t/n3168.cc: New test. 4353 1.1 mrg 4354 1.1 mrg 2021-06-25 Jonathan Wakely <jwakely (a] redhat.com> 4355 1.1 mrg 4356 1.1 mrg * include/std/syncstream (basic_syncbuf::swap()): Remove 4357 1.1 mrg noexcept, as per LWG 3498. 4358 1.1 mrg 4359 1.1 mrg 2021-06-25 Jonathan Wakely <jwakely (a] redhat.com> 4360 1.1 mrg 4361 1.1 mrg PR libstdc++/97088 4362 1.1 mrg * testsuite/17_intro/names.cc: Undef more names for newlib and 4363 1.1 mrg also for arm-none-linux-gnueabi. 4364 1.1 mrg * testsuite/experimental/names.cc: Disable PCH. 4365 1.1 mrg 4366 1.1 mrg 2021-06-25 Matthias Kretz <m.kretz (a] gsi.de> 4367 1.1 mrg 4368 1.1 mrg * include/experimental/bits/simd.h (__bit_cast): Implement via 4369 1.1 mrg __builtin_bit_cast #if available. 4370 1.1 mrg (__proposed::simd_bit_cast): Add overloads for simd and 4371 1.1 mrg simd_mask, which use __builtin_bit_cast (or __bit_cast #if not 4372 1.1 mrg available), which return an object of the requested type with 4373 1.1 mrg the same bits as the argument. 4374 1.1 mrg * include/experimental/bits/simd_math.h: Use simd_bit_cast 4375 1.1 mrg instead of __bit_cast to allow casts to fixed_size_simd. 4376 1.1 mrg (copysign): Remove branch that was only required if __bit_cast 4377 1.1 mrg cannot be constexpr. 4378 1.1 mrg * testsuite/experimental/simd/tests/bits/test_values.h: Switch 4379 1.1 mrg from __bit_cast to __proposed::simd_bit_cast since the former 4380 1.1 mrg will not cast fixed_size objects anymore. 4381 1.1 mrg 4382 1.1 mrg 2021-06-24 Matthias Kretz <m.kretz (a] gsi.de> 4383 1.1 mrg 4384 1.1 mrg * include/experimental/bits/simd_math.h 4385 1.1 mrg (_GLIBCXX_SIMD_MATH_CALL2_): Rename arg2_ to __arg2. 4386 1.1 mrg (_GLIBCXX_SIMD_MATH_CALL3_): Rename arg2_ to __arg2 and arg3_ to 4387 1.1 mrg __arg3. 4388 1.1 mrg 4389 1.1 mrg 2021-06-24 Matthias Kretz <m.kretz (a] gsi.de> 4390 1.1 mrg 4391 1.1 mrg * include/experimental/bits/simd.h (__execute_on_index_sequence) 4392 1.1 mrg (__execute_on_index_sequence_with_return) 4393 1.1 mrg (__call_with_n_evaluations, __call_with_subscripts): Add flatten 4394 1.1 mrg attribute. 4395 1.1 mrg 4396 1.1 mrg 2021-06-24 Matthias Kretz <m.kretz (a] gsi.de> 4397 1.1 mrg 4398 1.1 mrg * include/experimental/bits/simd_x86.h (_S_trunc, _S_floor) 4399 1.1 mrg (_S_ceil): Set bit 8 (_MM_FROUND_NO_EXC) on AVX and SSE4.1 4400 1.1 mrg roundp[sd] calls. 4401 1.1 mrg 4402 1.1 mrg 2021-06-24 Matthias Kretz <m.kretz (a] gsi.de> 4403 1.1 mrg 4404 1.1 mrg * include/experimental/bits/simd_x86.h (_S_ldexp): The AVX512F 4405 1.1 mrg implementation doesn't require a _VecBltnBtmsk ABI tag, it 4406 1.1 mrg requires either a 64-Byte input (in which case AVX512F must be 4407 1.1 mrg available) or AVX512VL. 4408 1.1 mrg 4409 1.1 mrg 2021-06-24 Matthias Kretz <m.kretz (a] gsi.de> 4410 1.1 mrg 4411 1.1 mrg * include/experimental/bits/simd_math.h: Undefine internal 4412 1.1 mrg macros after use. 4413 1.1 mrg (frexp): Move #if to a more sensible position and reformat 4414 1.1 mrg preceding code. 4415 1.1 mrg (logb): Call _SimdImpl::_S_logb for fixed_size instead of 4416 1.1 mrg duplicating the code here. 4417 1.1 mrg (modf): Simplify condition. 4418 1.1 mrg 4419 1.1 mrg 2021-06-24 Matthias Kretz <m.kretz (a] gsi.de> 4420 1.1 mrg 4421 1.1 mrg * include/experimental/bits/simd_math.h (fabs): Remove 4422 1.1 mrg fabs(simd<integral>) overload. 4423 1.1 mrg 4424 1.1 mrg 2021-06-24 Matthias Kretz <m.kretz (a] gsi.de> 4425 1.1 mrg 4426 1.1 mrg * include/experimental/bits/simd_converter.h 4427 1.1 mrg (_SimdConverter::operator()): Pass _SimdTuple by const-ref. 4428 1.1 mrg * include/experimental/bits/simd_fixed_size.h 4429 1.1 mrg (_GLIBCXX_SIMD_FIXED_OP): Pass binary operator _SimdTuple 4430 1.1 mrg arguments by const-ref. 4431 1.1 mrg (_S_masked_unary): Pass _SimdTuple by const-ref. 4432 1.1 mrg 4433 1.1 mrg 2021-06-24 Matthias Kretz <m.kretz (a] gsi.de> 4434 1.1 mrg 4435 1.1 mrg * include/experimental/bits/simd_fixed_size.h 4436 1.1 mrg (_AbisInSimdTuple): Removed. 4437 1.1 mrg 4438 1.1 mrg 2021-06-24 Matthias Kretz <m.kretz (a] gsi.de> 4439 1.1 mrg 4440 1.1 mrg * include/experimental/bits/simd.h: Add missing operator~ 4441 1.1 mrg overload for simd<floating-point> to __float_bitwise_operators. 4442 1.1 mrg * include/experimental/bits/simd_builtin.h 4443 1.1 mrg (_SimdImplBuiltin::_S_complement): Bitcast to int (and back) to 4444 1.1 mrg implement complement for floating-point vectors. 4445 1.1 mrg * include/experimental/bits/simd_fixed_size.h 4446 1.1 mrg (_SimdImplFixedSize::_S_copysign): New function, forwarding to 4447 1.1 mrg copysign implementation of _SimdTuple members. 4448 1.1 mrg * include/experimental/bits/simd_math.h (copysign): Call 4449 1.1 mrg _SimdImpl::_S_copysign for fixed_size arguments. Simplify 4450 1.1 mrg generic copysign implementation using the new ~ operator. 4451 1.1 mrg 4452 1.1 mrg 2021-06-24 Jonathan Wakely <jwakely (a] redhat.com> 4453 1.1 mrg 4454 1.1 mrg * testsuite/experimental/simd/README.md: Fix typos. 4455 1.1 mrg 4456 1.1 mrg 2021-06-24 Jonathan Wakely <jwakely (a] redhat.com> 4457 1.1 mrg 4458 1.1 mrg * include/bits/shared_ptr_base.h (__shared_ptr_access::operator[]): 4459 1.1 mrg Add noexcept. 4460 1.1 mrg * include/bits/unique_ptr.h (unique_ptr::operator*): Add 4461 1.1 mrg conditional noexcept as per LWG 2762. 4462 1.1 mrg * testsuite/20_util/shared_ptr/observers/array.cc: Check that 4463 1.1 mrg dereferencing cannot throw. 4464 1.1 mrg * testsuite/20_util/shared_ptr/observers/get.cc: Likewise. 4465 1.1 mrg * testsuite/20_util/optional/observers/lwg2762.cc: New test. 4466 1.1 mrg * testsuite/20_util/unique_ptr/lwg2762.cc: New test. 4467 1.1 mrg 4468 1.1 mrg 2021-06-23 Patrick Palka <ppalka (a] redhat.com> 4469 1.1 mrg 4470 1.1 mrg PR c++/101174 4471 1.1 mrg * testsuite/23_containers/multiset/cons/deduction.cc: 4472 1.1 mrg Uncomment CTAD example that was rejected by this bug. 4473 1.1 mrg * testsuite/23_containers/set/cons/deduction.cc: Likewise. 4474 1.1 mrg 4475 1.1 mrg 2021-06-23 Jonathan Wakely <jwakely (a] redhat.com> 4476 1.1 mrg 4477 1.1 mrg * include/std/chrono (chrono::year::is_leap()): Fix incorrect 4478 1.1 mrg logic in comment. 4479 1.1 mrg 4480 1.1 mrg 2021-06-23 Matthias Kretz <m.kretz (a] gsi.de> 4481 1.1 mrg 4482 1.1 mrg * testsuite/experimental/simd/README.md: New file. 4483 1.1 mrg 4484 1.1 mrg 2021-06-23 Matthias Kretz <m.kretz (a] gsi.de> 4485 1.1 mrg 4486 1.1 mrg * testsuite/experimental/simd/driver.sh: Rewrite output 4487 1.1 mrg verbosity logic. Add -p/--percentage option. Allow -v/--verbose 4488 1.1 mrg to be used twice. Add -x and -o short options. Parse long 4489 1.1 mrg options with = instead of separating space generically. Parce 4490 1.1 mrg contracted short options. Make unrecognized options an error. 4491 1.1 mrg If same-line output is active, trap on EXIT to increment the 4492 1.1 mrg progress (only with --percentage), erase the line and print the 4493 1.1 mrg current status. 4494 1.1 mrg * testsuite/experimental/simd/generate_makefile.sh: Initialize 4495 1.1 mrg helper files for progress account keeping. Update help target 4496 1.1 mrg for changes to DRIVEROPTS. 4497 1.1 mrg 4498 1.1 mrg 2021-06-23 Matthias Kretz <m.kretz (a] gsi.de> 4499 1.1 mrg 4500 1.1 mrg * testsuite/Makefile.am (check-simd): Remove -fno-tree-vrp flag 4501 1.1 mrg and associated warning. 4502 1.1 mrg * testsuite/Makefile.in: Regenerate. 4503 1.1 mrg 4504 1.1 mrg 2021-06-23 Cassio Neri <cassio.neri (a] gmail.com> 4505 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 4506 1.1 mrg Ulrich Drepper <drepper (a] redhat.com> 4507 1.1 mrg 4508 1.1 mrg * include/std/chrono (chrono::year::is_leap()): Optimize. 4509 1.1 mrg 4510 1.1 mrg 2021-06-23 Patrick Palka <ppalka (a] redhat.com> 4511 1.1 mrg 4512 1.1 mrg PR c++/86439 4513 1.1 mrg * testsuite/23_containers/map/cons/deduction.cc: Replace ambiguous 4514 1.1 mrg CTAD examples. 4515 1.1 mrg * testsuite/23_containers/multimap/cons/deduction.cc: Likewise. 4516 1.1 mrg * testsuite/23_containers/multiset/cons/deduction.cc: Likewise. 4517 1.1 mrg Mention one of the replaced examples is broken due to PR101174. 4518 1.1 mrg * testsuite/23_containers/set/cons/deduction.cc: Likewise. 4519 1.1 mrg * testsuite/23_containers/unordered_map/cons/deduction.cc: Replace 4520 1.1 mrg ambiguous CTAD examples. 4521 1.1 mrg * testsuite/23_containers/unordered_multimap/cons/deduction.cc: 4522 1.1 mrg Likewise. 4523 1.1 mrg * testsuite/23_containers/unordered_multiset/cons/deduction.cc: 4524 1.1 mrg Likewise. 4525 1.1 mrg * testsuite/23_containers/unordered_set/cons/deduction.cc: Likewise. 4526 1.1 mrg 4527 1.1 mrg 2021-06-23 Jonathan Wakely <jwakely (a] redhat.com> 4528 1.1 mrg 4529 1.1 mrg * include/std/mutex (__detail::__try_lock_impl): Rename 4530 1.1 mrg parameter to avoid clashing with newlib's __lockable macro. 4531 1.1 mrg (try_lock): Add 'inline' specifier. 4532 1.1 mrg * testsuite/17_intro/names.cc: Add check for __lockable. 4533 1.1 mrg * testsuite/30_threads/try_lock/5.cc: Add options for pthreads. 4534 1.1 mrg 4535 1.1 mrg 2021-06-22 Jonathan Wakely <jwakely (a] redhat.com> 4536 1.1 mrg Matthias Kretz <m.kretz (a] gsi.de> 4537 1.1 mrg 4538 1.1 mrg * include/std/mutex (lock): Replace recursion with iteration 4539 1.1 mrg when lockables all have the same type. 4540 1.1 mrg (__detail::__try_lock_impl): Likewise. Pass lockables as 4541 1.1 mrg parameters, instead of a tuple. Always lock the first one, and 4542 1.1 mrg recurse for the rest. 4543 1.1 mrg (__detail::__lock_impl): Adjust call to __try_lock_impl. 4544 1.1 mrg (__detail::__try_to_lock): Remove. 4545 1.1 mrg * testsuite/30_threads/lock/3.cc: Check that mutexes are locked. 4546 1.1 mrg * testsuite/30_threads/lock/4.cc: Also test non-heterogeneous 4547 1.1 mrg arguments. 4548 1.1 mrg * testsuite/30_threads/unique_lock/cons/60497.cc: Also check 4549 1.1 mrg std::try_lock. 4550 1.1 mrg * testsuite/30_threads/try_lock/5.cc: New test. 4551 1.1 mrg 4552 1.1 mrg 2021-06-22 Jonathan Wakely <jwakely (a] redhat.com> 4553 1.1 mrg 4554 1.1 mrg * include/std/memory (declare_reachable, undeclare_reachable) 4555 1.1 mrg (declare_no_pointers, undeclare_no_pointers, get_pointer_safety) 4556 1.1 mrg (pointer_safety): Only define for C++11 to C++20 inclusive. 4557 1.1 mrg * testsuite/20_util/pointer_safety/1.cc: Do not run for C++23. 4558 1.1 mrg 4559 1.1 mrg 2021-06-22 Jonathan Wakely <jwakely (a] redhat.com> 4560 1.1 mrg 4561 1.1 mrg * include/bits/random.h (seed_seq): Constrain initializer-list 4562 1.1 mrg constructor. 4563 1.1 mrg * include/bits/random.tcc (seed_seq): Add template parameter. 4564 1.1 mrg * testsuite/26_numerics/random/seed_seq/cons/default.cc: Check 4565 1.1 mrg for noexcept. 4566 1.1 mrg * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Check 4567 1.1 mrg constraints. 4568 1.1 mrg 4569 1.1 mrg 2021-06-22 Thomas Rodgers <rodgert (a] appliantology.com> 4570 1.1 mrg 4571 1.1 mrg PR libstdc++/100806 4572 1.1 mrg * include/bits/semaphore_base.h (__atomic_semaphore::_M_release): 4573 1.1 mrg Force _M_release() to wake all waiting threads. 4574 1.1 mrg * testsuite/30_threads/semaphore/100806.cc: New test. 4575 1.1 mrg 4576 1.1 mrg 2021-06-21 Jonathan Wakely <jwakely (a] redhat.com> 4577 1.1 mrg 4578 1.1 mrg * include/std/mutex (__try_to_lock): Move to __detail namespace. 4579 1.1 mrg (struct __try_lock_impl): Replace with ... 4580 1.1 mrg (__detail::__try_lock_impl<Idx>(tuple<Lockables...>&)): New 4581 1.1 mrg function templates to implement std::try_lock. 4582 1.1 mrg (try_lock): Use new __try_lock_impl. 4583 1.1 mrg (__detail::__lock_impl(int, int&, L0&, L1&...)): New function 4584 1.1 mrg template to implement std::lock. 4585 1.1 mrg (lock): Use __lock_impl. 4586 1.1 mrg 4587 1.1 mrg 2021-06-21 Patrick Palka <ppalka (a] redhat.com> 4588 1.1 mrg 4589 1.1 mrg * include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value. 4590 1.1 mrg 4591 1.1 mrg 2021-06-20 Patrick Palka <ppalka (a] redhat.com> 4592 1.1 mrg 4593 1.1 mrg * include/std/ranges (__non_propagating_cache::operator bool): 4594 1.1 mrg Define for split_view::begin(). 4595 1.1 mrg (split_view): Define as per P2210. 4596 1.1 mrg (views::__detail::__can_split_view): Define. 4597 1.1 mrg (views::_Split, views::split): Define. 4598 1.1 mrg * testsuite/std/ranges/adaptors/100577.cc (test01, test02): 4599 1.1 mrg Test views::split. 4600 1.1 mrg * testsuite/std/ranges/adaptors/split.cc: New test. 4601 1.1 mrg * testsuite/std/ranges/p2325.cc (test08a): New test. 4602 1.1 mrg * testsuite/std/ranges/p2367.cc (test01): Test views::split. 4603 1.1 mrg 4604 1.1 mrg 2021-06-20 Patrick Palka <ppalka (a] redhat.com> 4605 1.1 mrg 4606 1.1 mrg * include/std/ranges: Rename views::split to views::lazy_split, 4607 1.1 mrg split_view to lazy_split_view, etc. throughout. 4608 1.1 mrg * testsuite/std/ranges/*: Likewise. 4609 1.1 mrg * testsuite/std/ranges/adaptors/lazy_split.cc: New file. 4610 1.1 mrg * testsuite/std/ranges/adaptors/lazy_split_neg.cc: New file. 4611 1.1 mrg 4612 1.1 mrg 2021-06-20 Patrick Palka <ppalka (a] redhat.com> 4613 1.1 mrg 4614 1.1 mrg * include/std/ranges (split_view::_OuterIter::__at_end): 4615 1.1 mrg Check _M_trailing_empty. 4616 1.1 mrg (split_view::_OuterIter::_M_trailing_empty): Define this 4617 1.1 mrg data member. 4618 1.1 mrg (split_view::_OuterIter::operator++): Set _M_trailing_empty 4619 1.1 mrg appropriately. 4620 1.1 mrg (split_view::_OuterIter::operator==): Compare 4621 1.1 mrg _M_trailing_empty. 4622 1.1 mrg * testsuite/std/ranges/adaptors/100479.cc (test03): Expect two 4623 1.1 mrg split parts instead of one. 4624 1.1 mrg * testsuite/std/ranges/adaptors/split.cc (test11): New test. 4625 1.1 mrg 4626 1.1 mrg 2021-06-20 Patrick Palka <ppalka (a] redhat.com> 4627 1.1 mrg 4628 1.1 mrg * include/std/ranges (split_view::_InnerIter::base): Define as 4629 1.1 mrg per P2210. 4630 1.1 mrg 4631 1.1 mrg 2021-06-19 Patrick Palka <ppalka (a] redhat.com> 4632 1.1 mrg 4633 1.1 mrg * include/std/ranges (transform_view::_Iterator::_S_iter_concept): 4634 1.1 mrg Consider _Base instead of _Vp as per LWG 3555. 4635 1.1 mrg (elements_view::_Iterator::_S_iter_concept): Likewise. 4636 1.1 mrg 4637 1.1 mrg 2021-06-19 Patrick Palka <ppalka (a] redhat.com> 4638 1.1 mrg 4639 1.1 mrg * include/std/ranges (split_view::_OuterIter::value_type::begin): 4640 1.1 mrg Remove the non-const overload, and remove the copyable constraint 4641 1.1 mrg on the const overload as per LWG 3553. 4642 1.1 mrg 4643 1.1 mrg 2021-06-19 Patrick Palka <ppalka (a] redhat.com> 4644 1.1 mrg 4645 1.1 mrg * include/bits/stl_iterator.h 4646 1.1 mrg (__detail::__common_iter_use_postfix_proxy): Add 4647 1.1 mrg move_constructible constraint as per LWG 3546. 4648 1.1 mrg (common_iterator::__postfix_proxy): Adjust initializer of 4649 1.1 mrg _M_keep as per LWG 3546. 4650 1.1 mrg 4651 1.1 mrg 2021-06-18 Patrick Palka <ppalka (a] redhat.com> 4652 1.1 mrg 4653 1.1 mrg PR libstdc++/100387 4654 1.1 mrg * include/bits/ranges_algo.h (__minmax_fn::operator()): Rewrite 4655 1.1 mrg to limit comparison complexity to 3*N/2. 4656 1.1 mrg (__minmax_element_fn::operator()): Likewise. 4657 1.1 mrg (shift_right): Avoid premature std::move of __result. 4658 1.1 mrg * testsuite/25_algorithms/minmax/constrained.cc (test04, test05): 4659 1.1 mrg New tests. 4660 1.1 mrg * testsuite/25_algorithms/minmax_element/constrained.cc (test02): 4661 1.1 mrg Likewise. 4662 1.1 mrg 4663 1.1 mrg 2021-06-18 Patrick Palka <ppalka (a] redhat.com> 4664 1.1 mrg 4665 1.1 mrg * include/std/concepts (convertible_to): Just use declval as per 4666 1.1 mrg LWG 3557. 4667 1.1 mrg 4668 1.1 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com> 4669 1.1 mrg 4670 1.1 mrg PR libstdc++/95833 4671 1.1 mrg * include/std/numeric (reduce(Iter, Iter, T, BinaryOp)): Replace 4672 1.1 mrg incorrect static_assert with ones matching the 'Mandates' 4673 1.1 mrg conditions in the standard. 4674 1.1 mrg * testsuite/26_numerics/reduce/95833.cc: New test. 4675 1.1 mrg 4676 1.1 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com> 4677 1.1 mrg 4678 1.1 mrg * testsuite/21_strings/basic_string/cons/char/1.cc: Use 4679 1.1 mrg diagnostic pragma to suppress -Wstringop-overread error. 4680 1.1 mrg 4681 1.1 mrg 2021-06-18 Patrick Palka <ppalka (a] redhat.com> 4682 1.1 mrg 4683 1.1 mrg * include/bits/ranges_algo.h (__find_fn, find, __find_if_fn) 4684 1.1 mrg (find_if, __find_if_not_fn, find_if_not, _in_in_result) 4685 1.1 mrg (__mismatch_fn, mismatch, __search_fn, search): Move to ... 4686 1.1 mrg * include/bits/ranges_util.h: ... here. 4687 1.1 mrg * include/std/ranges (__detail::find, __detail::find_if) 4688 1.1 mrg (__detail::find_if_not, __detail::mismatch): Remove. 4689 1.1 mrg (filter_view): Use ranges::find_if instead. 4690 1.1 mrg (drop_while_view): Use ranges::find_if_not instead. 4691 1.1 mrg (split_view): Use ranges::find and ranges::mismatch instead. 4692 1.1 mrg 4693 1.1 mrg 2021-06-18 Patrick Palka <ppalka (a] redhat.com> 4694 1.1 mrg 4695 1.1 mrg * include/bits/iterator_concepts.h (weakly_incrementable): Remove 4696 1.1 mrg default_initializable requirement. 4697 1.1 mrg * include/bits/ranges_base.h (ranges::view): Likewise. 4698 1.1 mrg * include/bits/ranges_util.h (subrange): Constrain the default 4699 1.1 mrg ctor. 4700 1.1 mrg * include/bits/stl_iterator.h (back_insert_iterator): Remove the 4701 1.1 mrg default ctor. 4702 1.1 mrg (front_insert_iterator): Likewise. 4703 1.1 mrg (insert_iterator): Likewise. Remove NSDMIs. 4704 1.1 mrg (common_iterator): Constrain the default ctor. 4705 1.1 mrg (counted_iterator): Likewise. 4706 1.1 mrg * include/bits/stream_iterator.h (ostream_iterator): Remove the 4707 1.1 mrg default ctor. 4708 1.1 mrg * include/std/ranges (__detail::__box::operator=): Handle 4709 1.1 mrg self-assignment in the primary template. 4710 1.1 mrg (__detail::__box): In the partial specialization: adjust 4711 1.1 mrg constraints as per P2325. Add specialized operator= for the 4712 1.1 mrg case when the wrapped type is not copyable. Constrain the 4713 1.1 mrg default ctor. Avoid list-initialization. 4714 1.1 mrg (single_view): Constraint the default ctor. 4715 1.1 mrg (iota_view): Relax semiregular constraint to copyable. 4716 1.1 mrg Constrain the default ctor. 4717 1.1 mrg (iota_view::_Iterator): Constraint the default ctor. 4718 1.1 mrg (basic_istream_view): Remove the default ctor. Remove NSDMIs. 4719 1.1 mrg Remove redundant checks for empty _M_stream. 4720 1.1 mrg (basic_istream_view::_Iterator): Likewise. 4721 1.1 mrg (ref_view): Remove the default ctor. Remove NSDMIs. 4722 1.1 mrg (ref_view::_Iterator): Constrain the default ctor. 4723 1.1 mrg (__detail::__non_propagating_cache::operator=): Define overload 4724 1.1 mrg for assigning from a value of the underlying type. 4725 1.1 mrg (filter_view): Likewise. 4726 1.1 mrg (filter_view::_Iterator): Likewise. 4727 1.1 mrg (transform_view): Likewise. 4728 1.1 mrg (transform_view::_Iterator): Likewise. 4729 1.1 mrg (take_view): Likewise. 4730 1.1 mrg (take_view::_Iterator): Likewise. 4731 1.1 mrg (take_while_view): Likewise. 4732 1.1 mrg (take_while_view::_Iterator): Likewise. 4733 1.1 mrg (drop_while_view): Likewise. 4734 1.1 mrg (drop_while_view::_Iterator): Likewise. 4735 1.1 mrg (join_view): Likewise. 4736 1.1 mrg (split_view::_OuterIter::__current): Adjust after changing the 4737 1.1 mrg type of _M_current. 4738 1.1 mrg (split_view::_M_current): Wrap it in a __non_propagating_cache. 4739 1.1 mrg (split_view::split_view): Constrain the default ctor. 4740 1.1 mrg (common_view): Constrain the default ctor. 4741 1.1 mrg (reverse_view): Likewise. 4742 1.1 mrg (elements_view): Likewise. 4743 1.1 mrg * include/std/span (enable_view<span<_ElementType, _Extent>>): 4744 1.1 mrg Define this partial specialization to true unconditionally. 4745 1.1 mrg * include/std/version (__cpp_lib_ranges): Adjust value. 4746 1.1 mrg * testsuite/24_iterators/back_insert_iterator/constexpr.cc: 4747 1.1 mrg Don't attempt to default construct a back_insert_iterator. 4748 1.1 mrg * testsuite/24_iterators/front_insert_iterator/constexpr.cc: 4749 1.1 mrg Don't attempt to default construct a front_insert_iterator. 4750 1.1 mrg * testsuite/24_iterators/insert_iterator/constexpr.cc: 4751 1.1 mrg Don't attempt to default construct an insert_iterator. 4752 1.1 mrg * testsuite/24_iterators/ostream_iterator/requirements/constexpr.cc: 4753 1.1 mrg Remove this test for default constructibility of ostream_iterator. 4754 1.1 mrg * testsuite/std/ranges/97600.cc: Don't attempt to default 4755 1.1 mrg construct a basic_istream_view. 4756 1.1 mrg * testsuite/std/ranges/adaptors/detail/semiregular_box.cc: 4757 1.1 mrg Rename to ... 4758 1.1 mrg * testsuite/std/ranges/adaptors/detail/copyable_box.cc: ... this. 4759 1.1 mrg (test02): Adjust now that __box is copyable-box not 4760 1.1 mrg semiregular-box. 4761 1.1 mrg (test03): New test. 4762 1.1 mrg * testsuite/std/ranges/p2325.cc: New test. 4763 1.1 mrg * testsuite/std/ranges/single_view.cc (test06): New test. 4764 1.1 mrg * testsuite/std/ranges/view.cc: Adjust now that view doesn't 4765 1.1 mrg require default_initializable. 4766 1.1 mrg 4767 1.1 mrg 2021-06-17 Jonathan Wakely <jwakely (a] redhat.com> 4768 1.1 mrg 4769 1.1 mrg PR libstdc++/91488 4770 1.1 mrg * include/bits/basic_string.h (__cpp_lib_constexpr_string): Only 4771 1.1 mrg define when is_constant_evaluated is available. 4772 1.1 mrg * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): 4773 1.1 mrg Likewise. 4774 1.1 mrg (__constant_string_p, __constant_array_p): Remove. 4775 1.1 mrg (char_traits): Use is_constant_evaluated directly. 4776 1.1 mrg * include/std/version (__cpp_lib_constexpr_char_traits) 4777 1.1 mrg (__cpp_lib_constexpr_string): Only define when 4778 1.1 mrg is_constant_evaluated is available. 4779 1.1 mrg 4780 1.1 mrg 2021-06-17 Patrick Palka <ppalka (a] redhat.com> 4781 1.1 mrg 4782 1.1 mrg PR libstdc++/100940 4783 1.1 mrg * include/std/ranges (__adaptor::_Partial): For the "simple" 4784 1.1 mrg forwarding partial specializations, also require that 4785 1.1 mrg the extra arguments are trivially copyable. 4786 1.1 mrg * testsuite/std/ranges/adaptors/100577.cc (test04): New test. 4787 1.1 mrg 4788 1.1 mrg 2021-06-17 Patrick Palka <ppalka (a] redhat.com> 4789 1.1 mrg 4790 1.1 mrg PR libstdc++/100940 4791 1.1 mrg * include/std/ranges (__adaptor::_RangeAdaptor): Document the 4792 1.1 mrg template form of _S_has_simple_extra_args. 4793 1.1 mrg (__adaptor::__adaptor_has_simple_extra_args): Add _Args template 4794 1.1 mrg parameter pack. Try to treat _S_has_simple_extra_args as a 4795 1.1 mrg variable template parameterized by _Args. 4796 1.1 mrg (__adaptor::_Partial): Pass _Arg/_Args to the constraint 4797 1.1 mrg __adaptor_has_simple_extra_args. 4798 1.1 mrg (views::_Take::_S_has_simple_extra_args): Templatize according 4799 1.1 mrg to the type of the extra argument. 4800 1.1 mrg (views::_Drop::_S_has_simple_extra_args): Likewise. 4801 1.1 mrg (views::_Split::_S_has_simple_extra_args): Define. 4802 1.1 mrg * testsuite/std/ranges/adaptors/100577.cc (test01, test02): 4803 1.1 mrg Adjust after changes to _S_has_simple_extra_args mechanism. 4804 1.1 mrg (test03): Define. 4805 1.1 mrg 4806 1.1 mrg 2021-06-16 Jonathan Wakely <jwakely (a] redhat.com> 4807 1.1 mrg 4808 1.1 mrg * include/bits/iterator_concepts.h (__decay_copy): Name type. 4809 1.1 mrg 4810 1.1 mrg 2021-06-16 Jonathan Wakely <jwakely (a] redhat.com> 4811 1.1 mrg 4812 1.1 mrg * include/bits/ranges_base.h (ranges::begin, ranges::end) 4813 1.1 mrg (ranges::cbegin, ranges::cend, ranges::rbeing, ranges::rend) 4814 1.1 mrg (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize) 4815 1.1 mrg (ranges::empty, ranges::data, ranges::cdata): Remove final 4816 1.1 mrg keywords and deleted operator& overloads. 4817 1.1 mrg * testsuite/24_iterators/customization_points/iter_move.cc: Use 4818 1.1 mrg new is_customization_point_object function. 4819 1.1 mrg * testsuite/24_iterators/customization_points/iter_swap.cc: 4820 1.1 mrg Likewise. 4821 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: 4822 1.1 mrg Likewise. 4823 1.1 mrg * testsuite/std/ranges/access/begin.cc: Likewise. 4824 1.1 mrg * testsuite/std/ranges/access/cbegin.cc: Likewise. 4825 1.1 mrg * testsuite/std/ranges/access/cdata.cc: Likewise. 4826 1.1 mrg * testsuite/std/ranges/access/cend.cc: Likewise. 4827 1.1 mrg * testsuite/std/ranges/access/crbegin.cc: Likewise. 4828 1.1 mrg * testsuite/std/ranges/access/crend.cc: Likewise. 4829 1.1 mrg * testsuite/std/ranges/access/data.cc: Likewise. 4830 1.1 mrg * testsuite/std/ranges/access/empty.cc: Likewise. 4831 1.1 mrg * testsuite/std/ranges/access/end.cc: Likewise. 4832 1.1 mrg * testsuite/std/ranges/access/rbegin.cc: Likewise. 4833 1.1 mrg * testsuite/std/ranges/access/rend.cc: Likewise. 4834 1.1 mrg * testsuite/std/ranges/access/size.cc: Likewise. 4835 1.1 mrg * testsuite/std/ranges/access/ssize.cc: Likewise. 4836 1.1 mrg * testsuite/util/testsuite_iterators.h 4837 1.1 mrg (is_customization_point_object): New function. 4838 1.1 mrg 4839 1.1 mrg 2021-06-15 Jonathan Wakely <jwakely (a] redhat.com> 4840 1.1 mrg 4841 1.1 mrg * include/bits/ranges_base.h (ranges::begin, ranges::end) 4842 1.1 mrg (ranges::cbegin, ranges::cend, ranges::rbeing, ranges::rend) 4843 1.1 mrg (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize) 4844 1.1 mrg (ranges::empty, ranges::data, ranges::cdata): Make types final. 4845 1.1 mrg Add deleted operator& overloads. 4846 1.1 mrg (ranges::advance, ranges::distance, ranges::next, ranges::prev): 4847 1.1 mrg Likewise. 4848 1.1 mrg * testsuite/std/ranges/headers/ranges/synopsis.cc: Replace 4849 1.1 mrg ill-formed & expressions with using-declarations. Add checks for 4850 1.1 mrg other function objects. 4851 1.1 mrg 4852 1.1 mrg 2021-06-15 Jonathan Wakely <jwakely (a] redhat.com> 4853 1.1 mrg 4854 1.1 mrg * include/bits/ranges_util.h (view_interface): Add noexcept to 4855 1.1 mrg empty, operator bool, data and size members. 4856 1.1 mrg (subrange): Add noexcept to constructors. 4857 1.1 mrg * include/std/ranges (single_view, ref_view): Add noexcept to 4858 1.1 mrg constructors. 4859 1.1 mrg (views::single, views::all): Add noexcept. 4860 1.1 mrg * testsuite/std/ranges/adaptors/all.cc: Check noexcept. 4861 1.1 mrg * testsuite/std/ranges/single_view.cc: Likewise. 4862 1.1 mrg 4863 1.1 mrg 2021-06-15 Jonathan Wakely <jwakely (a] redhat.com> 4864 1.1 mrg 4865 1.1 mrg * include/bits/ranges_util.h (subrange): Add __size_type typedef 4866 1.1 mrg and use it to simplify declarations. 4867 1.1 mrg (subrange(i, s, n)): Remove assertion. 4868 1.1 mrg * testsuite/std/ranges/subrange/constexpr.cc: New test. 4869 1.1 mrg 4870 1.1 mrg 2021-06-15 Jonathan Wakely <jwakely (a] redhat.com> 4871 1.1 mrg 4872 1.1 mrg * include/bits/iterator_concepts.h (__cust_access::__decay_copy): 4873 1.1 mrg Replace with function object. 4874 1.1 mrg (__cust_access::__member_begin, ___cust_access::_adl_begin): Use 4875 1.1 mrg __decay_copy unqualified. 4876 1.1 mrg * include/bits/ranges_base.h (__member_end, __adl_end): 4877 1.1 mrg Likewise. Use __range_iter_t for type of ranges::begin. 4878 1.1 mrg (__member_rend): Use correct value category for rbegin argument. 4879 1.1 mrg (__member_data): Use __decay_copy unqualified. 4880 1.1 mrg (__begin_data): Use __range_iter_t for type of ranges::begin. 4881 1.1 mrg 4882 1.1 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com> 4883 1.1 mrg 4884 1.1 mrg * include/bits/ranges_base.h (ranges::empty): Check whether 4885 1.1 mrg conversion to bool can throw. 4886 1.1 mrg * testsuite/std/ranges/access/empty.cc: Check for correct 4887 1.1 mrg noexcept-specifier. 4888 1.1 mrg 4889 1.1 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com> 4890 1.1 mrg 4891 1.1 mrg PR libstdc++/100894 4892 1.1 mrg * include/std/type_traits (__common_ref_impl<X&, Y&>): Only 4893 1.1 mrg use the type if it's a reference. 4894 1.1 mrg * testsuite/20_util/common_reference/100894.cc: New test. 4895 1.1 mrg 4896 1.1 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com> 4897 1.1 mrg 4898 1.1 mrg * testsuite/experimental/filesystem/path/native/conv_c++23.cc: 4899 1.1 mrg Add dg-require-filesystem-ts directive. 4900 1.1 mrg 4901 1.1 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com> 4902 1.1 mrg 4903 1.1 mrg PR libstdc++/101034 4904 1.1 mrg * include/std/any (any(in_place_t<T>, initializer_list<U>, A&&...)) 4905 1.1 mrg (any::emplace<T>(initializer_list<U>, A&&...)): Fix constraint 4906 1.1 mrg to use lvalue. 4907 1.1 mrg * testsuite/20_util/any/cons/101034.cc: New test. 4908 1.1 mrg 4909 1.1 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com> 4910 1.1 mrg 4911 1.1 mrg * testsuite/17_intro/headers/c++2017/all_attributes.cc: Add 4912 1.1 mrg -std=gnu++17 option. 4913 1.1 mrg 4914 1.1 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com> 4915 1.1 mrg 4916 1.1 mrg PR libstdc++/101056 4917 1.1 mrg * libsupc++/compare (compare_partial_order_fallback): Add 4918 1.1 mrg constraint using reversed parameter order, as per LWG 3465. 4919 1.1 mrg * testsuite/18_support/comparisons/algorithms/fallback.cc: 4920 1.1 mrg Adjust expected result. 4921 1.1 mrg 4922 1.1 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com> 4923 1.1 mrg 4924 1.1 mrg * libsupc++/compare (__decayed_same_as): New helper concept. 4925 1.1 mrg (strong_order, weak_order, partial_order): Constrain with new 4926 1.1 mrg concept instead of using static_assert. 4927 1.1 mrg (compare_strong_order_fallback, compare_weak_order_fallback) 4928 1.1 mrg (compare_partial_order_fallback): Likewise. Do not deduce return 4929 1.1 mrg types. Remove redundant if-constexpr checks. 4930 1.1 mrg * testsuite/18_support/comparisons/algorithms/fallback.cc: New test. 4931 1.1 mrg 4932 1.1 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com> 4933 1.1 mrg 4934 1.1 mrg PR libstdc++/101055 4935 1.1 mrg * include/std/tuple: Use reserved form of attribute name. 4936 1.1 mrg * testsuite/17_intro/headers/c++2011/all_attributes.cc: Add 4937 1.1 mrg check for no_unique_address. 4938 1.1 mrg * testsuite/17_intro/headers/c++2014/all_attributes.cc: 4939 1.1 mrg Likewise. 4940 1.1 mrg * testsuite/17_intro/headers/c++2017/all_attributes.cc: 4941 1.1 mrg Likewise. 4942 1.1 mrg 4943 1.1 mrg 2021-06-11 Jonathan Wakely <jwakely (a] redhat.com> 4944 1.1 mrg 4945 1.1 mrg * include/bits/fs_path.h (operator==, operator<=>): Use new 4946 1.1 mrg _S_compare function. 4947 1.1 mrg (path::_S_compare): New function to call path::compare in a 4948 1.1 mrg context where path::iterator is complete. 4949 1.1 mrg * include/experimental/bits/fs_path.h (operator<, operator==): 4950 1.1 mrg Define after path::iterator is complete. 4951 1.1 mrg * testsuite/27_io/filesystem/path/native/conv_c++23.cc: New 4952 1.1 mrg test. 4953 1.1 mrg * testsuite/experimental/filesystem/path/native/conv_c++23.cc: 4954 1.1 mrg New test. 4955 1.1 mrg 4956 1.1 mrg 2021-06-09 Thomas Rodgers <rodgert (a] appliantology.com> 4957 1.1 mrg 4958 1.1 mrg * testsuite/29_atomics/atomic_ref/wait_notify.cc: Guard 4959 1.1 mrg test logic with constexpr check for is_always_lock_free. 4960 1.1 mrg 4961 1.1 mrg 2021-06-09 Jonathan Wakely <jwakely (a] redhat.com> 4962 1.1 mrg 4963 1.1 mrg PR libstdc++/100982 4964 1.1 mrg * include/std/optional (optional::operator=(const optional<U>&)): 4965 1.1 mrg Fix value category used in is_assignable check. 4966 1.1 mrg * testsuite/20_util/optional/assignment/100982.cc: New test. 4967 1.1 mrg 4968 1.1 mrg 2021-06-09 Jonathan Wakely <jwakely (a] redhat.com> 4969 1.1 mrg 4970 1.1 mrg * include/bits/allocator.h (allocator::is_always_equal): Deprecate. 4971 1.1 mrg * include/bits/iterator_concepts.h (indirectly_readable_traits): 4972 1.1 mrg Add LWG issue number to comment. 4973 1.1 mrg * include/std/memory_resource (polymorphic_allocator::release): 4974 1.1 mrg Deprecate. 4975 1.1 mrg * testsuite/20_util/allocator/requirements/typedefs.cc: Add 4976 1.1 mrg dg-warning for deprecation. Also check std::allocator<void>. 4977 1.1 mrg 4978 1.1 mrg 2021-06-08 Thomas Rodgers <rodgert (a] appliantology.com> 4979 1.1 mrg 4980 1.1 mrg PR libstdc++/100889 4981 1.1 mrg * include/bits/atomic_base.h (atomic_ref<_Tp*>::wait): 4982 1.1 mrg Change parameter type from _Tp to _Tp*. 4983 1.1 mrg * testsuite/29_atomics/atomic_ref/wait_notify.cc: Extend 4984 1.1 mrg coverage of types tested. 4985 1.1 mrg 4986 1.1 mrg 2021-06-08 Thomas Rodgers <rodgert (a] appliantology.com> 4987 1.1 mrg 4988 1.1 mrg * include/std/barrier (__tree_barrier::_M_arrive): Remove 4989 1.1 mrg unnecessary hasher instantiation. 4990 1.1 mrg 4991 1.1 mrg 2021-06-08 Jonathan Wakely <jwakely (a] redhat.com> 4992 1.1 mrg 4993 1.1 mrg * include/experimental/propagate_const (swap): Constrain. 4994 1.1 mrg * testsuite/experimental/propagate_const/swap/lwg3413.cc: New test. 4995 1.1 mrg 4996 1.1 mrg 2021-06-07 Avi Kivity <avi (a] scylladb.com> 4997 1.1 mrg 4998 1.1 mrg PR libstdc++/100900 4999 1.1 mrg * include/std/ranges (elements_view::__iter_cat::_S_iter_cat): 5000 1.1 mrg Add missing typename. 5001 1.1 mrg 5002 1.1 mrg 2021-06-07 Jonathan Wakely <jwakely (a] redhat.com> 5003 1.1 mrg 5004 1.1 mrg PR libstdc++/98842 5005 1.1 mrg * include/std/optional (operator<=>(const optional<T>& const U&)): 5006 1.1 mrg Add missing constraint and add workaround for template 5007 1.1 mrg recursion. 5008 1.1 mrg * testsuite/20_util/optional/relops/three_way.cc: Check that 5009 1.1 mrg type without equality comparison cannot be compared when wrapped 5010 1.1 mrg in std::optional. 5011 1.1 mrg 5012 1.1 mrg 2021-06-05 Jonathan Wakely <jwakely (a] redhat.com> 5013 1.1 mrg 5014 1.1 mrg PR libstdc++/100824 5015 1.1 mrg * include/bits/ranges_base.h (_SSize): Return signed type. 5016 1.1 mrg * testsuite/std/ranges/access/ssize.cc: Check with __int128. 5017 1.1 mrg 5018 1.1 mrg 2021-06-04 Jonathan Wakely <jwakely (a] redhat.com> 5019 1.1 mrg 5020 1.1 mrg * include/bits/ranges_base.h (_SSize): Return the result of 5021 1.1 mrg ranges::size converted to the wider of make-signed-like-t<S> and 5022 1.1 mrg ptrdiff_t, rather than the ranges different type. 5023 1.1 mrg * testsuite/std/ranges/access/ssize.cc: Adjust expected result 5024 1.1 mrg for an iota_view that uses an integer class type for its 5025 1.1 mrg difference_type. 5026 1.1 mrg 5027 1.1 mrg 2021-06-04 Jonathan Wakely <jwakely (a] redhat.com> 5028 1.1 mrg 5029 1.1 mrg PR libstdc++/100824 5030 1.1 mrg * include/bits/ranges_base.h (__member_data): Use __decay_copy. 5031 1.1 mrg * testsuite/std/ranges/access/data.cc: Add testcase from PR. 5032 1.1 mrg 5033 1.1 mrg 2021-06-04 Jonathan Wakely <jwakely (a] redhat.com> 5034 1.1 mrg 5035 1.1 mrg PR libstdc++/100824 5036 1.1 mrg * include/bits/iterator_concepts.h (__detail::__decay_copy) 5037 1.1 mrg (__detail::__member_begin, __detail::__adl_begin): Move to 5038 1.1 mrg namespace ranges::__cust_access. 5039 1.1 mrg (__detail::__ranges_begin): Likewise, and rename to __begin. 5040 1.1 mrg Remove redundant static assertion. 5041 1.1 mrg * include/bits/ranges_base.h (_Begin, _End, _RBegin, _REnd): 5042 1.1 mrg Use lvalue in noexcept specifier. 5043 1.1 mrg (__as_const): Add non-deduced parameter for value category. 5044 1.1 mrg (_CBegin, _CEnd, _CRBegin, _CREnd, _CData): Adjust uses of 5045 1.1 mrg __as_const. 5046 1.1 mrg (__member_size, __adl_size, __member_empty, __size0_empty): 5047 1.1 mrg (__eq_iter_empty, __adl_data): Use lvalue objects in 5048 1.1 mrg requirements. 5049 1.1 mrg (__sentinel_size): Likewise. Add check for conversion to 5050 1.1 mrg unsigned-like. 5051 1.1 mrg (__member_data): Allow non-lvalue types to satisfy the concept, 5052 1.1 mrg but use lvalue object in requirements. 5053 1.1 mrg (_Size, _SSize): Remove forwarding to always use an lvalue. 5054 1.1 mrg (_Data): Likewise. Add static assertion for arrays. 5055 1.1 mrg * testsuite/std/ranges/access/cdata.cc: Adjust expected 5056 1.1 mrg behaviour for rvalues. Add negative tests for ill-formed 5057 1.1 mrg expressions. 5058 1.1 mrg * testsuite/std/ranges/access/data.cc: Likewise. 5059 1.1 mrg * testsuite/std/ranges/access/empty.cc: Adjust expected 5060 1.1 mrg behaviour for rvalues. 5061 1.1 mrg * testsuite/std/ranges/access/size.cc: Likewise. 5062 1.1 mrg 5063 1.1 mrg 2021-06-04 Tim Adye <Tim.Adye (a] cern.ch> 5064 1.1 mrg 5065 1.1 mrg * include/std/any (any::_Manager::_S_access): New static 5066 1.1 mrg function to access the contained value. 5067 1.1 mrg (any::emplace, __any_caster): Use _S_access member of the 5068 1.1 mrg manager type. 5069 1.1 mrg 5070 1.1 mrg 2021-06-04 Jonathan Wakely <jwakely (a] redhat.com> 5071 1.1 mrg 5072 1.1 mrg * doc/xml/manual/status_cxx2020.xml: 5073 1.1 mrg * doc/html/*: Regenerate. 5074 1.1 mrg * include/bits/hashtable.h (__cpp_lib_generic_unordered_lookup): 5075 1.1 mrg Define. 5076 1.1 mrg * include/std/version (__cpp_lib_generic_unordered_lookup): 5077 1.1 mrg Define. 5078 1.1 mrg * testsuite/23_containers/unordered_map/operations/1.cc: Check 5079 1.1 mrg feature test macro. 5080 1.1 mrg * testsuite/23_containers/unordered_set/operations/1.cc: 5081 1.1 mrg Likewise. 5082 1.1 mrg 5083 1.1 mrg 2021-06-03 Patrick Palka <ppalka (a] redhat.com> 5084 1.1 mrg 5085 1.1 mrg * include/bits/ranges_algo.h (__detail::__can_reread_output): 5086 1.1 mrg Factor out this concept from ... 5087 1.1 mrg (__unique_copy_fn::operator()): ... here. Use the concept 5088 1.1 mrg throughout. 5089 1.1 mrg * testsuite/std/ranges/range.cc: Remove now ill-formed use 5090 1.1 mrg of range_value_t on an output_range. 5091 1.1 mrg * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): 5092 1.1 mrg Define value_type, pointer and reference member types to void. 5093 1.1 mrg 5094 1.1 mrg 2021-06-03 Patrick Palka <ppalka (a] redhat.com> 5095 1.1 mrg 5096 1.1 mrg PR libstdc++/100577 5097 1.1 mrg * include/std/ranges (_RangeAdaptorClosure): Document 5098 1.1 mrg _S_has_simple_call_op mechanism. 5099 1.1 mrg (_RangeAdaptor): Document _S_has_simple_extra_args mechanism. 5100 1.1 mrg (__closure_has_simple_call_op): New concept. 5101 1.1 mrg (__adaptor_has_simple_extra_args): Likewise. 5102 1.1 mrg (_Partial<_Adaptor, _Args...>): New partial specialization. 5103 1.1 mrg (_Partial<_Adaptor, _Arg>): Likewise. 5104 1.1 mrg (_Pipe<_Lhs, _Rhs>): Likewise. 5105 1.1 mrg (views::_All::_S_has_simple_call_op): Define to true. 5106 1.1 mrg (views::_Filter::_S_has_simple_extra_args): Likewise. 5107 1.1 mrg (views::_Transform::_S_has_simple_extra_args): Likewise. 5108 1.1 mrg (views::_Take::_S_has_simple_extra_args): Likewise. 5109 1.1 mrg (views::_TakeWhile::_S_has_simple_extra_args): Likewise. 5110 1.1 mrg (views::_Drop::_S_has_simple_extra_args): Likewise. 5111 1.1 mrg (views::_DropWhile::_S_has_simple_extra_args): Likewise. 5112 1.1 mrg (views::_Join::_S_has_simple_call_op): Likewise. 5113 1.1 mrg (views::_Split): Document why we don't define 5114 1.1 mrg _S_has_simple_extra_args to true for this adaptor. 5115 1.1 mrg (views::_Common::_S_has_simple_call_op): Define to true. 5116 1.1 mrg (views::_Reverse::_S_has_simple_call_op): Likewise. 5117 1.1 mrg (views::_Elements::_S_has_simple_call_op): Likewise. 5118 1.1 mrg * testsuite/std/ranges/adaptors/100577.cc: New test. 5119 1.1 mrg 5120 1.1 mrg 2021-06-02 Jonathan Wakely <jwakely (a] redhat.com> 5121 1.1 mrg 5122 1.1 mrg PR libstdc++/100863 5123 1.1 mrg PR libstdc++/65816 5124 1.1 mrg * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): 5125 1.1 mrg Value-initialize subobject. 5126 1.1 mrg * testsuite/23_containers/unordered_map/allocator/default_init.cc: 5127 1.1 mrg Remove XFAIL. 5128 1.1 mrg * testsuite/23_containers/unordered_set/allocator/default_init.cc: 5129 1.1 mrg Remove XFAIL. 5130 1.1 mrg 5131 1.1 mrg 2021-06-02 Jonathan Wakely <jwakely (a] redhat.com> 5132 1.1 mrg 5133 1.1 mrg PR libstdc++/96088 5134 1.1 mrg * testsuite/23_containers/unordered_map/96088.cc: Adjust 5135 1.1 mrg expected number of allocations. 5136 1.1 mrg * testsuite/23_containers/unordered_set/96088.cc: Likewise. 5137 1.1 mrg 5138 1.1 mrg 2021-06-02 Jonathan Wakely <jwakely (a] redhat.com> 5139 1.1 mrg 5140 1.1 mrg * doc/xml/manual/status_cxxis29124.xml: Improve punctuation. 5141 1.1 mrg * doc/xml/manual/status_cxxtr1.xml: Likewise. 5142 1.1 mrg * doc/xml/manual/status_cxxtr24733.xml: Likewise. 5143 1.1 mrg * doc/html/*: Regenerate. 5144 1.1 mrg 5145 1.1 mrg 2021-06-01 Patrick Palka <ppalka (a] redhat.com> 5146 1.1 mrg 5147 1.1 mrg PR c++/65816 5148 1.1 mrg * testsuite/23_containers/deque/allocator/default_init.cc, 5149 1.1 mrg testsuite/23_containers/forward_list/allocator/default_init.cc, 5150 1.1 mrg testsuite/23_containers/list/allocator/default_init.cc, 5151 1.1 mrg testsuite/23_containers/map/allocator/default_init.cc, 5152 1.1 mrg testsuite/23_containers/set/allocator/default_init.cc, 5153 1.1 mrg testsuite/23_containers/vector/allocator/default_init.cc, 5154 1.1 mrg testsuite/23_containers/vector/bool/allocator/default_init.cc: 5155 1.1 mrg Remove xfail. 5156 1.1 mrg 5157 1.1 mrg 2021-06-01 Jonathan Wakely <jwakely (a] redhat.com> 5158 1.1 mrg 5159 1.1 mrg * testsuite/23_containers/unordered_map/96088.cc: Change 5160 1.1 mrg effective target to c++17. 5161 1.1 mrg * testsuite/23_containers/unordered_set/96088.cc: Likewise. 5162 1.1 mrg 5163 1.1 mrg 2021-06-01 Jonathan Wakely <jwakely (a] redhat.com> 5164 1.1 mrg 5165 1.1 mrg * testsuite/22_locale/ctype/is/string/89728_neg.cc: Only test 5166 1.1 mrg isblank for C++11 and later. 5167 1.1 mrg 5168 1.1 mrg 2021-06-01 Jonathan Wakely <jwakely (a] redhat.com> 5169 1.1 mrg 5170 1.1 mrg PR libstdc++/100833 5171 1.1 mrg * include/bits/ranges_base.h (ranges::advance(iter, n, sentinel)): 5172 1.1 mrg Fix return value for no-op case. 5173 1.1 mrg * testsuite/24_iterators/range_operations/advance.cc: Test 5174 1.1 mrg return values of three-argument overload. 5175 1.1 mrg 5176 1.1 mrg 2021-06-01 Jonathan Wakely <jwakely (a] redhat.com> 5177 1.1 mrg 5178 1.1 mrg PR libstdc++/99453 5179 1.1 mrg * python/Makefile.am: Use archive name for printer hook if no 5180 1.1 mrg dynamic library name is available. 5181 1.1 mrg * python/Makefile.in: Regenerate. 5182 1.1 mrg 5183 1.1 mrg 2021-05-30 Gerald Pfeifer <gerald (a] pfeifer.com> 5184 1.1 mrg 5185 1.1 mrg * doc/xml/manual/abi.xml: Remove dead reference to "Intel 5186 1.1 mrg Compilers for Linux: Compatibility with GNU Compilers" article. 5187 1.1 mrg * doc/html/manual/abi.html: Regenerate. 5188 1.1 mrg 5189 1.1 mrg 2021-05-26 Franois Dumont <fdumont (a] gcc.gnu.org> 5190 1.1 mrg 5191 1.1 mrg * include/debug/formatter.h 5192 1.1 mrg (_Error_formatter::_Parameter::_Named): New. 5193 1.1 mrg (_Error_formatter::_Parameter::_Type): Inherit latter. 5194 1.1 mrg (_Error_formatter::_Parameter::_M_integer): Likewise. 5195 1.1 mrg (_Error_formatter::_Parameter::_M_string): Likewise. 5196 1.1 mrg * src/c++11/debug.cc: Include <cstring>. 5197 1.1 mrg (_Print_func_t): New. 5198 1.1 mrg (print_raw(PrintContext&, const char*, ptrdiff_t)): New. 5199 1.1 mrg (print_word): Use '%.*s' format in fprintf to render only expected number of chars. 5200 1.1 mrg (pretty_print(PrintContext&, const char*, _Print_func_t)): New. 5201 1.1 mrg (print_type): Rename in... 5202 1.1 mrg (print_type_info): ...this. Use pretty_print. 5203 1.1 mrg (print_address, print_integer): New. 5204 1.1 mrg (print_named_name, print_iterator_constness, print_iterator_state): New. 5205 1.1 mrg (print_iterator_seq_type): New. 5206 1.1 mrg (print_named_field, print_type_field, print_instance_field, print_iterator_field): New. 5207 1.1 mrg (print_field): Use latters. 5208 1.1 mrg (print_quoted_named_name, print_type_type, print_type, print_instance): New. 5209 1.1 mrg (print_string(PrintContext&, const char*, const _Parameter*, size_t)): 5210 1.1 mrg Change signature to... 5211 1.1 mrg (print_string(PrintContext&, const char*, ptrdiff_t, const _Parameter*, size_t)): 5212 1.1 mrg ...this and adapt. Remove intermediate buffer to render input string. 5213 1.1 mrg (print_string(PrintContext&, const char*, ptrdiff_t)): New. 5214 1.1 mrg 5215 1.1 mrg 2021-05-26 Jonathan Wakely <jwakely (a] redhat.com> 5216 1.1 mrg 5217 1.1 mrg PR libstdc++/100768 5218 1.1 mrg * include/bits/ranges_base.h (advance, distance, next, prev): 5219 1.1 mrg Replace function templates with function objects. 5220 1.1 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: 5221 1.1 mrg Adjust for changes to function objects. 5222 1.1 mrg * testsuite/std/ranges/adaptors/elements.cc: Add using 5223 1.1 mrg declarations for names from namespace ranges. 5224 1.1 mrg * testsuite/std/ranges/adaptors/transform.cc: Likewise. 5225 1.1 mrg * testsuite/24_iterators/range_operations/100768.cc: New test. 5226 1.1 mrg 5227 1.1 mrg 2021-05-24 Franois Dumont <fdumont (a] gcc.gnu.org> 5228 1.1 mrg 5229 1.1 mrg PR libstdc++/96088 5230 1.1 mrg * include/bits/hashtable_policy.h (_Select2nd): New. 5231 1.1 mrg (_NodeBuilder<>): New. 5232 1.1 mrg (_ReuseOrAllocNode<>::operator()): Use variadic template args. 5233 1.1 mrg (_AllocNode<>::operator()): Likewise. 5234 1.1 mrg * include/bits/hashtable.h 5235 1.1 mrg (_Hashtable<>::__node_builder_t): New. 5236 1.1 mrg (_Hashtable<>::_M_insert_unique<>(_Kt&&, _Arg&&, const _NodeGenerator&)): 5237 1.1 mrg New. 5238 1.1 mrg (_Hashtable<>::_S_forward_key): New. 5239 1.1 mrg (_Hashtable<>::_M_insert): Use latter. 5240 1.1 mrg (_Hashtable<>::_M_insert(const_iterator, _Arg&&, const _NodeGenerator&, false_type)): 5241 1.1 mrg Instantiate node first, compute hash code second. 5242 1.1 mrg * testsuite/23_containers/unordered_map/96088.cc: New test. 5243 1.1 mrg * testsuite/23_containers/unordered_multimap/96088.cc: New test. 5244 1.1 mrg * testsuite/23_containers/unordered_multiset/96088.cc: New test. 5245 1.1 mrg * testsuite/23_containers/unordered_set/96088.cc: New test. 5246 1.1 mrg * testsuite/util/replacement_memory_operators.h 5247 1.1 mrg (counter::_M_increment): New. 5248 1.1 mrg (counter::_M_decrement): New. 5249 1.1 mrg (counter::reset()): New. 5250 1.1 mrg 5251 1.1 mrg 2021-05-24 Patrick Palka <ppalka (a] redhat.com> 5252 1.1 mrg 5253 1.1 mrg PR libstdc++/100479 5254 1.1 mrg * include/std/ranges (__detail::__non_propagating_cache): Move 5255 1.1 mrg definition up to before that of _CachedPosition. Make base 5256 1.1 mrg class _Optional_base protected instead of private. Add const 5257 1.1 mrg overload for operator*. 5258 1.1 mrg (__detail::_CachedPosition): Rewrite the partial specialization 5259 1.1 mrg for forward ranges as a derived class of __non_propagating_cache. 5260 1.1 mrg Remove the size constraint on the partial specialization for 5261 1.1 mrg random access ranges. Add copy/move/copy-assignment/move-assignment 5262 1.1 mrg members to the offset partial specialization for random 5263 1.1 mrg access ranges that propagate the cached value but additionally 5264 1.1 mrg invalidate it in the source object on move. 5265 1.1 mrg * testsuite/std/ranges/adaptors/100479.cc: New test. 5266 1.1 mrg 5267 1.1 mrg 2021-05-24 Jonathan Wakely <jwakely (a] redhat.com> 5268 1.1 mrg 5269 1.1 mrg * testsuite/25_algorithms/inplace_merge/constrained.cc: Qualify 5270 1.1 mrg call to ranges::next. 5271 1.1 mrg * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise. 5272 1.1 mrg * testsuite/25_algorithms/is_sorted_until/constrained.cc: 5273 1.1 mrg Likewise. 5274 1.1 mrg * testsuite/25_algorithms/swap_ranges/1.cc: Qualify call to 5275 1.1 mrg swap_ranges. 5276 1.1 mrg 5277 1.1 mrg 2021-05-21 Patrick Palka <ppalka (a] redhat.com> 5278 1.1 mrg 5279 1.1 mrg PR libstdc++/100606 5280 1.1 mrg * include/std/ranges (drop_while_view::begin): Assert the 5281 1.1 mrg precondition added by LWG 3490. 5282 1.1 mrg 5283 1.1 mrg 2021-05-21 Patrick Palka <ppalka (a] redhat.com> 5284 1.1 mrg 5285 1.1 mrg PR libstdc++/100690 5286 1.1 mrg * include/std/ranges (iota_view::_Sentinel::_M_distance_from): 5287 1.1 mrg Split out this member function from ... 5288 1.1 mrg (iota_view::_Sentinel::operator-): ... here, for sake of access 5289 1.1 mrg control. 5290 1.1 mrg * testsuite/std/ranges/iota/iota_view.cc (test05): New test. 5291 1.1 mrg 5292 1.1 mrg 2021-05-20 Jonathan Wakely <jwakely (a] redhat.com> 5293 1.1 mrg 5294 1.1 mrg * include/bits/random.tcc (__representable_as_double) 5295 1.1 mrg (__p1_representable_as_double): Add "" to static asserts. 5296 1.1 mrg 5297 1.1 mrg 2021-05-20 Jonathan Wakely <jwakely (a] redhat.com> 5298 1.1 mrg 5299 1.1 mrg PR libstdc++/100676 5300 1.1 mrg * include/bits/c++config (__glibcxx_assert_1): Rename to ... 5301 1.1 mrg (__glibcxx_constexpr_assert): ... this. 5302 1.1 mrg (__glibcxx_assert_impl): Use __glibcxx_constexpr_assert. 5303 1.1 mrg (__glibcxx_assert): Define as either __glibcxx_constexpr_assert 5304 1.1 mrg or __glibcxx_assert_impl. 5305 1.1 mrg (__glibcxx_assert_2): Remove 5306 1.1 mrg * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): Use 5307 1.1 mrg __glibcxx_constexpr_assert instead of __glibcxx_assert_1. 5308 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: 5309 1.1 mrg Adjust expected error. 5310 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: 5311 1.1 mrg Likewise. 5312 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: 5313 1.1 mrg Likewise. 5314 1.1 mrg Likewise. 5315 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: 5316 1.1 mrg Likewise. 5317 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: 5318 1.1 mrg Likewise. 5319 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: 5320 1.1 mrg Likewise. 5321 1.1 mrg * testsuite/23_containers/span/back_neg.cc: Likewise. 5322 1.1 mrg * testsuite/23_containers/span/front_neg.cc: Likewise. 5323 1.1 mrg * testsuite/23_containers/span/index_op_neg.cc: Likewise. 5324 1.1 mrg 5325 1.1 mrg 2021-05-20 Patrick Palka <ppalka (a] redhat.com> 5326 1.1 mrg 5327 1.1 mrg PR libstdc++/100639 5328 1.1 mrg * include/bits/stl_iterator.h (reverse_iterator::difference_type): 5329 1.1 mrg In C++20 mode, define in terms of iter_difference_t as per P0896R4. 5330 1.1 mrg (reverse_iterator::reference): Likewise, but with iter_reference_t. 5331 1.1 mrg (reverse_iterator::value_type): Likewise, but with iter_value_t. 5332 1.1 mrg * testsuite/std/ranges/adaptors/reverse.cc (test08): New test. 5333 1.1 mrg * testsuite/24_iterators/reverse_iterator/100639.cc: New test. 5334 1.1 mrg 5335 1.1 mrg 2021-05-20 Joern Rennecke <joern.rennecke (a] riscy-ip.com> 5336 1.1 mrg 5337 1.1 mrg PR libstdc++/100361 5338 1.1 mrg * include/std/charconv (to_chars): Hide the overloads for 5339 1.1 mrg floating-point types for 16 bit targets. 5340 1.1 mrg * src/c++17/floating_to_chars.cc: Don't compile for 16 bit targets. 5341 1.1 mrg * testsuite/20_util/to_chars/double.cc: Run this test only on 5342 1.1 mrg size32plus targets. 5343 1.1 mrg * testsuite/20_util/to_chars/float.cc: Likewise. 5344 1.1 mrg * testsuite/20_util/to_chars/long_double.cc: Likewise. 5345 1.1 mrg 5346 1.1 mrg 2021-05-18 Patrick Palka <ppalka (a] redhat.com> 5347 1.1 mrg 5348 1.1 mrg PR libstdc++/100631 5349 1.1 mrg * include/std/ranges (elements_view::_Sentinel::operator-): Use 5350 1.1 mrg _M_distance_from in the other operator- overload too. 5351 1.1 mrg * testsuite/std/ranges/adaptors/elements.cc (test06): Augment test. 5352 1.1 mrg 5353 1.1 mrg 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com> 5354 1.1 mrg 5355 1.1 mrg * testsuite/lib/prune.exp: Add note about 'dg-note'. 5356 1.1 mrg 5357 1.1 mrg 2021-05-18 Patrick Palka <ppalka (a] redhat.com> 5358 1.1 mrg 5359 1.1 mrg PR libstdc++/100475 5360 1.1 mrg * include/std/ranges (__box::__box): Use non-list-initialization 5361 1.1 mrg in member initializer list of in-place constructor of the 5362 1.1 mrg partial specialization for semiregular types. 5363 1.1 mrg (__box::operator->): Use std::__addressof. 5364 1.1 mrg * testsuite/std/ranges/adaptors/detail/semiregular_box.cc 5365 1.1 mrg (test02): New test. 5366 1.1 mrg * testsuite/std/ranges/single_view.cc (test04): New test. 5367 1.1 mrg 5368 1.1 mrg 2021-05-18 Patrick Palka <ppalka (a] redhat.com> 5369 1.1 mrg 5370 1.1 mrg PR libstdc++/100621 5371 1.1 mrg * include/std/ranges (reverse_view::_S_needs_cached_begin): 5372 1.1 mrg Set to true if the underlying non-common random-access range 5373 1.1 mrg doesn't have a sized sentinel. 5374 1.1 mrg 5375 1.1 mrg 2021-05-18 Patrick Palka <ppalka (a] redhat.com> 5376 1.1 mrg 5377 1.1 mrg PR libstdc++/100631 5378 1.1 mrg * include/std/ranges (elements_view::_Iterator): Also befriend 5379 1.1 mrg _Sentinel<!_Const>. 5380 1.1 mrg (elements_view::_Sentinel::_M_equal): Templatize. 5381 1.1 mrg (elements_view::_Sentinel::_M_distance_from): Split out from ... 5382 1.1 mrg (elements_view::_Sentinel::operator-): ... here. Depend on 5383 1.1 mrg _Base2 instead of _Base in the return type. 5384 1.1 mrg * testsuite/std/ranges/adaptors/elements.cc (test06, test07): 5385 1.1 mrg New tests. 5386 1.1 mrg 5387 1.1 mrg 2021-05-17 Thomas Rodgers <rodgert (a] twrodgers.com> 5388 1.1 mrg 5389 1.1 mrg * include/bits/atomic_wait.h (__waiter::_M_do_wait_v): loop 5390 1.1 mrg until value change observed. 5391 1.1 mrg (__waiter_base::_M_laundered): New member. 5392 1.1 mrg (__waiter_base::_M_notify): Check _M_laundered to determine 5393 1.1 mrg whether to wake one or all. 5394 1.1 mrg (__detail::__atomic_compare): Return true if call to 5395 1.1 mrg __builtin_memcmp() == 0. 5396 1.1 mrg (__waiter_base::_S_do_spin_v): Adjust predicate. 5397 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/100334.cc: New 5398 1.1 mrg test. 5399 1.1 mrg 5400 1.1 mrg 2021-05-17 Jonathan Wakely <jwakely (a] redhat.com> 5401 1.1 mrg 5402 1.1 mrg PR libstdc++/100630 5403 1.1 mrg * include/experimental/bits/fs_path.h (__is_constructible_from): 5404 1.1 mrg Test construction from a const lvalue, not an rvalue. 5405 1.1 mrg * testsuite/27_io/filesystem/path/construct/100630.cc: New test. 5406 1.1 mrg * testsuite/experimental/filesystem/path/construct/100630.cc: 5407 1.1 mrg New test. 5408 1.1 mrg 5409 1.1 mrg 2021-05-17 Antony Polukhin <antoshkka (a] gmail.com> 5410 1.1 mrg 5411 1.1 mrg PR libstdc++/89728 5412 1.1 mrg * include/bits/locale_facets.h (ctype<basic_string<C,T,A>>): 5413 1.1 mrg Declare (but do not define) partial specialization. 5414 1.1 mrg * testsuite/22_locale/ctype/is/string/89728_neg.cc: New test. 5415 1.1 mrg 5416 1.1 mrg 2021-05-17 Jonathan Wakely <jwakely (a] redhat.com> 5417 1.1 mrg 5418 1.1 mrg * include/std/thread (jthread::_S_create): Fix static assert 5419 1.1 mrg message. 5420 1.1 mrg * testsuite/30_threads/jthread/95989.cc: Re-enable test. 5421 1.1 mrg * testsuite/30_threads/jthread/jthread.cc: Do not require 5422 1.1 mrg pthread effective target. 5423 1.1 mrg * testsuite/30_threads/jthread/2.cc: Moved to... 5424 1.1 mrg * testsuite/30_threads/jthread/version.cc: ...here. 5425 1.1 mrg 5426 1.1 mrg 2021-05-17 Jonathan Wakely <jwakely (a] redhat.com> 5427 1.1 mrg 5428 1.1 mrg * doc/Makefile.am: Simplify doxygen recipes and use --latex_cmd. 5429 1.1 mrg * doc/Makefile.in: Regenerate. 5430 1.1 mrg * doc/doxygen/user.cfg.in (LATEX_CMD_NAME): Add placeholder 5431 1.1 mrg value. 5432 1.1 mrg * scripts/run_doxygen (print_usage): Always print to stdout and 5433 1.1 mrg do not exit. 5434 1.1 mrg (fail): New function for exiting on error. 5435 1.1 mrg (parse_options): Handle --latex_cmd. Do not treat --help the 5436 1.1 mrg same as errors. Simplify handling of required arguments. 5437 1.1 mrg 5438 1.1 mrg 2021-05-12 Jonathan Wakely <jwakely (a] redhat.com> 5439 1.1 mrg 5440 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: 5441 1.1 mrg Increase dg-timeout-factor to 4. Fix -Wunused-parameter 5442 1.1 mrg warnings. Replace bitwise AND with logical AND in loop 5443 1.1 mrg condition. 5444 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: 5445 1.1 mrg Replace bitwise AND with logical AND in loop condition. 5446 1.1 mrg * testsuite/util/pstl/test_utils.h: Remove unused parameter 5447 1.1 mrg names. 5448 1.1 mrg 5449 1.1 mrg 2021-05-11 Patrick Palka <ppalka (a] redhat.com> 5450 1.1 mrg 5451 1.1 mrg * src/c++17/ryu/LOCAL_PATCHES: Update. 5452 1.1 mrg * src/c++17/ryu/ryu_generic_128.h: Remove extern "C". 5453 1.1 mrg Remove declarations for never-defined functions. 5454 1.1 mrg * testsuite/20_util/to_chars/4.cc: New test. 5455 1.1 mrg 5456 1.1 mrg 2021-05-11 Jonathan Wakely <jwakely (a] redhat.com> 5457 1.1 mrg 5458 1.1 mrg * testsuite/20_util/headers/memory/synopsis.cc: Define C++98 5459 1.1 mrg alternative for macro. 5460 1.1 mrg * testsuite/20_util/shared_ptr/creation/99006.cc: Add effective 5461 1.1 mrg target keyword. 5462 1.1 mrg * testsuite/25_algorithms/copy/debug/99402.cc: Avoid C++11 5463 1.1 mrg syntax. 5464 1.1 mrg 5465 1.1 mrg 2021-05-11 Jonathan Wakely <jwakely (a] redhat.com> 5466 1.1 mrg 5467 1.1 mrg * include/bits/allocator.h (allocator<void>) [C++20]: Add 5468 1.1 mrg missing noexcept to constructor. Restore missing POCMA and 5469 1.1 mrg is_always_equal_traits. 5470 1.1 mrg [C++17]: Make construct and destroy members private and 5471 1.1 mrg declare allocator_traits as a friend. 5472 1.1 mrg * include/bits/memoryfwd.h (allocator_traits): Declare. 5473 1.1 mrg * include/ext/malloc_allocator.h (malloc_allocator::allocate): 5474 1.1 mrg Add nodiscard attribute. Add static assertion for LWG 3307. 5475 1.1 mrg * include/ext/new_allocator.h (new_allocator::allocate): Add 5476 1.1 mrg static assertion for LWG 3307. 5477 1.1 mrg * testsuite/20_util/allocator/void.cc: Check that converting 5478 1.1 mrg constructor is noexcept. Check for propagation traits and 5479 1.1 mrg size_type and difference_type. Check that pointer and 5480 1.1 mrg const_pointer are gone in C++20. 5481 1.1 mrg 5482 1.1 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com> 5483 1.1 mrg 5484 1.1 mrg * include/std/stop_token: Remove TODO comment. 5485 1.1 mrg 5486 1.1 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com> 5487 1.1 mrg 5488 1.1 mrg * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): 5489 1.1 mrg Initialize a non-reference deleter from an rvalue, as per LWG 5490 1.1 mrg 3548. 5491 1.1 mrg (__shared_ptr::_UniqCompatible): Add missing constraint. 5492 1.1 mrg * testsuite/20_util/shared_ptr/cons/lwg3548.cc: New test. 5493 1.1 mrg * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Check 5494 1.1 mrg constraints. 5495 1.1 mrg 5496 1.1 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com> 5497 1.1 mrg 5498 1.1 mrg * testsuite/17_intro/headers/c++2017/all_attributes.cc: Remove 5499 1.1 mrg -std=gnu++17 from dg-options directive. 5500 1.1 mrg * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: 5501 1.1 mrg Likewise. 5502 1.1 mrg * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: 5503 1.1 mrg Likewise. 5504 1.1 mrg * testsuite/17_intro/headers/c++2017/operator_names.cc: 5505 1.1 mrg Likewise. 5506 1.1 mrg * testsuite/17_intro/headers/c++2017/parallel_mode.cc: Likewise. 5507 1.1 mrg * testsuite/17_intro/headers/c++2017/stdc++.cc: Likewise. 5508 1.1 mrg * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc: 5509 1.1 mrg Likewise. 5510 1.1 mrg * testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise. 5511 1.1 mrg * testsuite/18_support/byte/81076.cc: Likewise. 5512 1.1 mrg * testsuite/18_support/byte/global_neg.cc: Likewise. 5513 1.1 mrg * testsuite/18_support/byte/ops.cc: Likewise. 5514 1.1 mrg * testsuite/18_support/byte/requirements.cc: Likewise. 5515 1.1 mrg * testsuite/18_support/headers/cfloat/values_c++17.cc: Likewise. 5516 1.1 mrg * testsuite/18_support/launder/1.cc: Likewise. 5517 1.1 mrg * testsuite/18_support/launder/nodiscard.cc: Likewise. 5518 1.1 mrg * testsuite/18_support/launder/requirements.cc: Likewise. 5519 1.1 mrg * testsuite/18_support/launder/requirements_neg.cc: Likewise. 5520 1.1 mrg * testsuite/18_support/new_aligned.cc: Likewise. 5521 1.1 mrg * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: 5522 1.1 mrg Likewise. 5523 1.1 mrg * testsuite/19_diagnostics/error_code/is_error_code_v.cc: 5524 1.1 mrg Likewise. 5525 1.1 mrg * testsuite/19_diagnostics/error_condition/hash.cc: Likewise. 5526 1.1 mrg * testsuite/20_util/addressof/requirements/constexpr.cc: 5527 1.1 mrg Likewise. 5528 1.1 mrg * testsuite/20_util/as_const/1.cc: Likewise. 5529 1.1 mrg * testsuite/20_util/as_const/rvalue_neg.cc: Likewise. 5530 1.1 mrg * testsuite/20_util/bind/83427.cc: Likewise. 5531 1.1 mrg * testsuite/20_util/bind/is_placeholder_v.cc: Likewise. 5532 1.1 mrg * testsuite/20_util/bool_constant/requirements.cc: Likewise. 5533 1.1 mrg * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: 5534 1.1 mrg Likewise. 5535 1.1 mrg * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc: 5536 1.1 mrg Likewise. 5537 1.1 mrg * testsuite/20_util/duration_cast/rounding.cc: Likewise. 5538 1.1 mrg * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: 5539 1.1 mrg Likewise. 5540 1.1 mrg * testsuite/20_util/from_chars/1_neg.cc: Likewise. 5541 1.1 mrg * testsuite/20_util/from_chars/requirements.cc: Likewise. 5542 1.1 mrg * testsuite/20_util/function/91456.cc: Likewise. 5543 1.1 mrg * testsuite/20_util/function/cons/deduction.cc: Likewise. 5544 1.1 mrg * testsuite/20_util/function_objects/83607.cc: Likewise. 5545 1.1 mrg * testsuite/20_util/function_objects/invoke/59768.cc: Likewise. 5546 1.1 mrg * testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise. 5547 1.1 mrg * testsuite/20_util/function_objects/not_fn/1.cc: Likewise. 5548 1.1 mrg * testsuite/20_util/function_objects/not_fn/87538.cc: Likewise. 5549 1.1 mrg * testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc: 5550 1.1 mrg Likewise. 5551 1.1 mrg * testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc: 5552 1.1 mrg Likewise. 5553 1.1 mrg * testsuite/20_util/has_unique_object_representations/value.cc: 5554 1.1 mrg Likewise. 5555 1.1 mrg * testsuite/20_util/hash/nullptr.cc: Likewise. 5556 1.1 mrg * testsuite/20_util/in_place/requirements.cc: Likewise. 5557 1.1 mrg * testsuite/20_util/is_aggregate/incomplete_neg.cc: Likewise. 5558 1.1 mrg * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: 5559 1.1 mrg Likewise. 5560 1.1 mrg * testsuite/20_util/is_aggregate/requirements/typedefs.cc: 5561 1.1 mrg Likewise. 5562 1.1 mrg * testsuite/20_util/is_aggregate/value.cc: Likewise. 5563 1.1 mrg * testsuite/20_util/is_invocable/83395.cc: Likewise. 5564 1.1 mrg * testsuite/20_util/is_invocable/91456.cc: Likewise. 5565 1.1 mrg * testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc: 5566 1.1 mrg Likewise. 5567 1.1 mrg * testsuite/20_util/is_invocable/requirements/typedefs.cc: 5568 1.1 mrg Likewise. 5569 1.1 mrg * testsuite/20_util/is_invocable/value.cc: Likewise. 5570 1.1 mrg * testsuite/20_util/is_literal_type/deprecated-1z.cc: Likewise. 5571 1.1 mrg * testsuite/20_util/is_nothrow_constructible/94003.cc: Likewise. 5572 1.1 mrg * testsuite/20_util/is_nothrow_invocable/83395.cc: Likewise. 5573 1.1 mrg * testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc: 5574 1.1 mrg Likewise. 5575 1.1 mrg * testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc: Likewise. 5576 1.1 mrg * testsuite/20_util/is_nothrow_invocable/value.cc: Likewise. 5577 1.1 mrg * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc: 5578 1.1 mrg Likewise. 5579 1.1 mrg * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: 5580 1.1 mrg Likewise. 5581 1.1 mrg * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise. 5582 1.1 mrg * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc: 5583 1.1 mrg Likewise. 5584 1.1 mrg * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc: 5585 1.1 mrg Likewise. 5586 1.1 mrg * testsuite/20_util/is_nothrow_swappable_with/value.cc: 5587 1.1 mrg Likewise. 5588 1.1 mrg * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc: 5589 1.1 mrg Likewise. 5590 1.1 mrg * testsuite/20_util/is_swappable/requirements/typedefs.cc: 5591 1.1 mrg Likewise. 5592 1.1 mrg * testsuite/20_util/is_swappable/value.cc: Likewise. 5593 1.1 mrg * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc: 5594 1.1 mrg Likewise. 5595 1.1 mrg * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: 5596 1.1 mrg Likewise. 5597 1.1 mrg * testsuite/20_util/is_swappable_with/value.cc: Likewise. 5598 1.1 mrg * testsuite/20_util/logical_traits/83134.cc: Likewise. 5599 1.1 mrg * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: 5600 1.1 mrg Likewise. 5601 1.1 mrg * testsuite/20_util/logical_traits/requirements/typedefs.cc: 5602 1.1 mrg Likewise. 5603 1.1 mrg * testsuite/20_util/logical_traits/value.cc: Likewise. 5604 1.1 mrg * testsuite/20_util/pair/cons/deduction.cc: Likewise. 5605 1.1 mrg * testsuite/20_util/pair/swap_cxx17.cc: Likewise. 5606 1.1 mrg * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: 5607 1.1 mrg Likewise. 5608 1.1 mrg * testsuite/20_util/reference_wrapper/83427.cc: Likewise. 5609 1.1 mrg * testsuite/20_util/reference_wrapper/deduction.cc: Likewise. 5610 1.1 mrg * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise. 5611 1.1 mrg * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise. 5612 1.1 mrg * testsuite/20_util/shared_ptr/requirements/weak_type.cc: 5613 1.1 mrg Likewise. 5614 1.1 mrg * testsuite/20_util/time_point/arithmetic/constexpr.cc: 5615 1.1 mrg Likewise. 5616 1.1 mrg * testsuite/20_util/time_point_cast/rounding.cc: Likewise. 5617 1.1 mrg * testsuite/20_util/to_chars/3.cc: Likewise. 5618 1.1 mrg * testsuite/20_util/to_chars/chars_format.cc: Likewise. 5619 1.1 mrg * testsuite/20_util/to_chars/lwg3266.cc: Likewise. 5620 1.1 mrg * testsuite/20_util/to_chars/requirements.cc: Likewise. 5621 1.1 mrg * testsuite/20_util/tuple/78939.cc: Likewise. 5622 1.1 mrg * testsuite/20_util/tuple/apply/1.cc: Likewise. 5623 1.1 mrg * testsuite/20_util/tuple/apply/2.cc: Likewise. 5624 1.1 mrg * testsuite/20_util/tuple/cons/deduction.cc: Likewise. 5625 1.1 mrg * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. 5626 1.1 mrg * testsuite/20_util/tuple/make_from_tuple/2.cc: Likewise. 5627 1.1 mrg * testsuite/20_util/tuple/swap_cxx17.cc: Likewise. 5628 1.1 mrg * testsuite/20_util/tuple/tuple_size_v.cc: Likewise. 5629 1.1 mrg * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise. 5630 1.1 mrg * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc: 5631 1.1 mrg Likewise. 5632 1.1 mrg * testsuite/20_util/variable_templates_for_traits.cc: Likewise. 5633 1.1 mrg * testsuite/20_util/void_t/1.cc: Likewise. 5634 1.1 mrg * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise. 5635 1.1 mrg * testsuite/24_iterators/container_access.cc: Likewise. 5636 1.1 mrg * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: 5637 1.1 mrg Likewise. 5638 1.1 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: 5639 1.1 mrg Likewise. 5640 1.1 mrg * testsuite/24_iterators/range_access/range_access_cpp17.cc: 5641 1.1 mrg Likewise. 5642 1.1 mrg * testsuite/24_iterators/range_access/range_access_cpp17_neg.cc: 5643 1.1 mrg Likewise. 5644 1.1 mrg * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. 5645 1.1 mrg * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: 5646 1.1 mrg Likewise. 5647 1.1 mrg * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise. 5648 1.1 mrg * testsuite/26_numerics/headers/cmath/special_functions_global.cc: 5649 1.1 mrg Likewise. 5650 1.1 mrg * testsuite/26_numerics/lcm/1.cc: Likewise. 5651 1.1 mrg * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. 5652 1.1 mrg * testsuite/26_numerics/valarray/deduction.cc: Likewise. 5653 1.1 mrg * testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc: 5654 1.1 mrg Likewise. 5655 1.1 mrg * testsuite/27_io/manipulators/standard/char/quoted_sv.cc: 5656 1.1 mrg Likewise. 5657 1.1 mrg * testsuite/27_io/manipulators/standard/wchar_t/quoted_sv.cc: 5658 1.1 mrg Likewise. 5659 1.1 mrg * testsuite/27_io/types/4.cc: Likewise. 5660 1.1 mrg * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise. 5661 1.1 mrg * testsuite/libstdc++-prettyprinters/91997.cc: Likewise. 5662 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. 5663 1.1 mrg 5664 1.1 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com> 5665 1.1 mrg 5666 1.1 mrg * testsuite/20_util/function_objects/searchers.cc: Remove 5667 1.1 mrg -std=gnu++17 from dg-options directive. 5668 1.1 mrg * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc: 5669 1.1 mrg Likewise. 5670 1.1 mrg * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: 5671 1.1 mrg Likewise. 5672 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc: 5673 1.1 mrg Likewise. 5674 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94831.cc: 5675 1.1 mrg Likewise. 5676 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc: 5677 1.1 mrg Likewise. 5678 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc: 5679 1.1 mrg Likewise. 5680 1.1 mrg * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc: 5681 1.1 mrg Likewise. 5682 1.1 mrg * testsuite/25_algorithms/clamp/1.cc: Likewise. 5683 1.1 mrg * testsuite/25_algorithms/clamp/2.cc: Likewise. 5684 1.1 mrg * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. 5685 1.1 mrg * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc: 5686 1.1 mrg Likewise. 5687 1.1 mrg * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc: 5688 1.1 mrg Likewise. 5689 1.1 mrg * testsuite/25_algorithms/for_each/for_each_n.cc: Likewise. 5690 1.1 mrg * testsuite/25_algorithms/for_each/for_each_n_debug.cc: 5691 1.1 mrg Likewise. 5692 1.1 mrg * testsuite/25_algorithms/sample/1.cc: Likewise. 5693 1.1 mrg * testsuite/25_algorithms/sample/2.cc: Likewise. 5694 1.1 mrg * testsuite/25_algorithms/sample/3.cc: Likewise. 5695 1.1 mrg * testsuite/25_algorithms/sample/81221.cc: Likewise. 5696 1.1 mrg * testsuite/25_algorithms/search/searcher.cc: Likewise. 5697 1.1 mrg * testsuite/26_numerics/exclusive_scan/1.cc: Likewise. 5698 1.1 mrg * testsuite/26_numerics/inclusive_scan/1.cc: Likewise. 5699 1.1 mrg * testsuite/26_numerics/reduce/1.cc: Likewise. 5700 1.1 mrg * testsuite/26_numerics/reduce/2.cc: Likewise. 5701 1.1 mrg * testsuite/26_numerics/transform_exclusive_scan/1.cc: Likewise. 5702 1.1 mrg * testsuite/26_numerics/transform_inclusive_scan/1.cc: Likewise. 5703 1.1 mrg * testsuite/26_numerics/transform_reduce/1.cc: Likewise. 5704 1.1 mrg 5705 1.1 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com> 5706 1.1 mrg 5707 1.1 mrg * testsuite/23_containers/array/cons/deduction.cc: Remove 5708 1.1 mrg -std=gnu++17 from dg-options directive. 5709 1.1 mrg * testsuite/23_containers/array/cons/deduction_neg.cc: Likewise. 5710 1.1 mrg * testsuite/23_containers/array/element_access/constexpr_c++17.cc: 5711 1.1 mrg Likewise. 5712 1.1 mrg * testsuite/23_containers/array/requirements/constexpr_iter.cc: 5713 1.1 mrg Likewise. 5714 1.1 mrg * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc: 5715 1.1 mrg Likewise. 5716 1.1 mrg * testsuite/23_containers/deque/cons/deduction.cc: Likewise. 5717 1.1 mrg * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc: 5718 1.1 mrg Likewise. 5719 1.1 mrg * testsuite/23_containers/forward_list/cons/deduction.cc: 5720 1.1 mrg Likewise. 5721 1.1 mrg * testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc: 5722 1.1 mrg Likewise. 5723 1.1 mrg * testsuite/23_containers/list/cons/deduction.cc: Likewise. 5724 1.1 mrg * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: 5725 1.1 mrg Likewise. 5726 1.1 mrg * testsuite/23_containers/map/cons/deduction.cc: Likewise. 5727 1.1 mrg * testsuite/23_containers/map/modifiers/extract.cc: Likewise. 5728 1.1 mrg * testsuite/23_containers/map/modifiers/insert/83226.cc: 5729 1.1 mrg Likewise. 5730 1.1 mrg * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: 5731 1.1 mrg Likewise. 5732 1.1 mrg * testsuite/23_containers/map/modifiers/merge.cc: Likewise. 5733 1.1 mrg * testsuite/23_containers/map/modifiers/try_emplace/1.cc: 5734 1.1 mrg Likewise. 5735 1.1 mrg * testsuite/23_containers/multimap/cons/deduction.cc: Likewise. 5736 1.1 mrg * testsuite/23_containers/multimap/modifiers/extract.cc: 5737 1.1 mrg Likewise. 5738 1.1 mrg * testsuite/23_containers/multimap/modifiers/merge.cc: Likewise. 5739 1.1 mrg * testsuite/23_containers/multiset/cons/deduction.cc: Likewise. 5740 1.1 mrg * testsuite/23_containers/multiset/modifiers/extract.cc: 5741 1.1 mrg Likewise. 5742 1.1 mrg * testsuite/23_containers/multiset/modifiers/merge.cc: Likewise. 5743 1.1 mrg * testsuite/23_containers/priority_queue/deduction.cc: Likewise. 5744 1.1 mrg * testsuite/23_containers/queue/deduction.cc: Likewise. 5745 1.1 mrg * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: 5746 1.1 mrg Likewise. 5747 1.1 mrg * testsuite/23_containers/set/cons/deduction.cc: Likewise. 5748 1.1 mrg * testsuite/23_containers/set/modifiers/extract.cc: Likewise. 5749 1.1 mrg * testsuite/23_containers/set/modifiers/merge.cc: Likewise. 5750 1.1 mrg * testsuite/23_containers/set/modifiers/node_swap.cc: Likewise. 5751 1.1 mrg * testsuite/23_containers/stack/deduction.cc: Likewise. 5752 1.1 mrg * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: 5753 1.1 mrg Likewise. 5754 1.1 mrg * testsuite/23_containers/unordered_map/cons/deduction.cc: 5755 1.1 mrg Likewise. 5756 1.1 mrg * testsuite/23_containers/unordered_map/modifiers/extract.cc: 5757 1.1 mrg Likewise. 5758 1.1 mrg * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: 5759 1.1 mrg Likewise. 5760 1.1 mrg * testsuite/23_containers/unordered_map/modifiers/merge.cc: 5761 1.1 mrg Likewise. 5762 1.1 mrg * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc: 5763 1.1 mrg Likewise. 5764 1.1 mrg * testsuite/23_containers/unordered_multimap/cons/deduction.cc: 5765 1.1 mrg Likewise. 5766 1.1 mrg * testsuite/23_containers/unordered_multimap/modifiers/extract.cc: 5767 1.1 mrg Likewise. 5768 1.1 mrg * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: 5769 1.1 mrg Likewise. 5770 1.1 mrg * testsuite/23_containers/unordered_multiset/cons/deduction.cc: 5771 1.1 mrg Likewise. 5772 1.1 mrg * testsuite/23_containers/unordered_multiset/modifiers/extract.cc: 5773 1.1 mrg Likewise. 5774 1.1 mrg * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: 5775 1.1 mrg Likewise. 5776 1.1 mrg * testsuite/23_containers/unordered_set/cons/deduction.cc: 5777 1.1 mrg Likewise. 5778 1.1 mrg * testsuite/23_containers/unordered_set/modifiers/extract.cc: 5779 1.1 mrg Likewise. 5780 1.1 mrg * testsuite/23_containers/unordered_set/modifiers/merge.cc: 5781 1.1 mrg Likewise. 5782 1.1 mrg * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: 5783 1.1 mrg Likewise. 5784 1.1 mrg * testsuite/23_containers/vector/cons/89164_c++17.cc: Likewise. 5785 1.1 mrg * testsuite/23_containers/vector/cons/deduction.cc: Likewise. 5786 1.1 mrg * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc: 5787 1.1 mrg Likewise. 5788 1.1 mrg 5789 1.1 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com> 5790 1.1 mrg 5791 1.1 mrg * testsuite/21_strings/basic_string/79162.cc: Remove 5792 1.1 mrg -std=gnu++17 from dg-options directive. 5793 1.1 mrg * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise. 5794 1.1 mrg * testsuite/21_strings/basic_string/cons/char/79162.cc: 5795 1.1 mrg Likewise. 5796 1.1 mrg * testsuite/21_strings/basic_string/cons/char/86138.cc: 5797 1.1 mrg Likewise. 5798 1.1 mrg * testsuite/21_strings/basic_string/cons/char/9.cc: Likewise. 5799 1.1 mrg * testsuite/21_strings/basic_string/cons/char/deduction.cc: 5800 1.1 mrg Likewise. 5801 1.1 mrg * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: 5802 1.1 mrg Likewise. 5803 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise. 5804 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: 5805 1.1 mrg Likewise. 5806 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: 5807 1.1 mrg Likewise. 5808 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise. 5809 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: 5810 1.1 mrg Likewise. 5811 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc: 5812 1.1 mrg Likewise. 5813 1.1 mrg * testsuite/21_strings/basic_string/hash/hash.cc: Likewise. 5814 1.1 mrg * testsuite/21_strings/basic_string/lwg2758.cc: Likewise. 5815 1.1 mrg * testsuite/21_strings/basic_string/lwg2946.cc: Likewise. 5816 1.1 mrg * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: 5817 1.1 mrg Likewise. 5818 1.1 mrg * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: 5819 1.1 mrg Likewise. 5820 1.1 mrg * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: 5821 1.1 mrg Likewise. 5822 1.1 mrg * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: 5823 1.1 mrg Likewise. 5824 1.1 mrg * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: 5825 1.1 mrg Likewise. 5826 1.1 mrg * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: 5827 1.1 mrg Likewise. 5828 1.1 mrg * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: 5829 1.1 mrg Likewise. 5830 1.1 mrg * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: 5831 1.1 mrg Likewise. 5832 1.1 mrg * testsuite/21_strings/basic_string/operations/compare/char/2.cc: 5833 1.1 mrg Likewise. 5834 1.1 mrg * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: 5835 1.1 mrg Likewise. 5836 1.1 mrg * testsuite/21_strings/basic_string/operations/data/char/2.cc: 5837 1.1 mrg Likewise. 5838 1.1 mrg * testsuite/21_strings/basic_string/operations/data/char/86169.cc: 5839 1.1 mrg Likewise. 5840 1.1 mrg * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: 5841 1.1 mrg Likewise. 5842 1.1 mrg * testsuite/21_strings/basic_string/operations/find/char/5.cc: 5843 1.1 mrg Likewise. 5844 1.1 mrg * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: 5845 1.1 mrg Likewise. 5846 1.1 mrg * testsuite/21_strings/basic_string/operators/char/5.cc: 5847 1.1 mrg Likewise. 5848 1.1 mrg * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: 5849 1.1 mrg Likewise. 5850 1.1 mrg * testsuite/21_strings/basic_string_view/capacity/1.cc: 5851 1.1 mrg Likewise. 5852 1.1 mrg * testsuite/21_strings/basic_string_view/capacity/empty_neg.cc: 5853 1.1 mrg Likewise. 5854 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/1.cc: 5855 1.1 mrg Likewise. 5856 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/2.cc: 5857 1.1 mrg Likewise. 5858 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/3.cc: 5859 1.1 mrg Likewise. 5860 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: 5861 1.1 mrg Likewise. 5862 1.1 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: 5863 1.1 mrg Likewise. 5864 1.1 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: 5865 1.1 mrg Likewise. 5866 1.1 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: 5867 1.1 mrg Likewise. 5868 1.1 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc: 5869 1.1 mrg Likewise. 5870 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/1.cc: 5871 1.1 mrg Likewise. 5872 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/2.cc: 5873 1.1 mrg Likewise. 5874 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: 5875 1.1 mrg Likewise. 5876 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/constexpr.cc: 5877 1.1 mrg Likewise. 5878 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: 5879 1.1 mrg Likewise. 5880 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/empty.cc: 5881 1.1 mrg Likewise. 5882 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc: 5883 1.1 mrg Likewise. 5884 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/front_back_constexpr.cc: 5885 1.1 mrg Likewise. 5886 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: 5887 1.1 mrg Likewise. 5888 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: 5889 1.1 mrg Likewise. 5890 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc: 5891 1.1 mrg Likewise. 5892 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: 5893 1.1 mrg Likewise. 5894 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr.cc: 5895 1.1 mrg Likewise. 5896 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: 5897 1.1 mrg Likewise. 5898 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc: 5899 1.1 mrg Likewise. 5900 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc: 5901 1.1 mrg Likewise. 5902 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: 5903 1.1 mrg Likewise. 5904 1.1 mrg * testsuite/21_strings/basic_string_view/include.cc: Likewise. 5905 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/94051.cc: 5906 1.1 mrg Likewise. 5907 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/char/1.cc: 5908 1.1 mrg Likewise. 5909 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/char/2.cc: 5910 1.1 mrg Likewise. 5911 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/char/3.cc: 5912 1.1 mrg Likewise. 5913 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc: 5914 1.1 mrg Likewise. 5915 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc: 5916 1.1 mrg Likewise. 5917 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc: 5918 1.1 mrg Likewise. 5919 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc: 5920 1.1 mrg Likewise. 5921 1.1 mrg * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc: 5922 1.1 mrg Likewise. 5923 1.1 mrg * testsuite/21_strings/basic_string_view/literals/types.cc: 5924 1.1 mrg Likewise. 5925 1.1 mrg * testsuite/21_strings/basic_string_view/literals/values-char8_t.cc: 5926 1.1 mrg Likewise. 5927 1.1 mrg * testsuite/21_strings/basic_string_view/literals/values.cc: 5928 1.1 mrg Likewise. 5929 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc: 5930 1.1 mrg Likewise. 5931 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: 5932 1.1 mrg Likewise. 5933 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc: 5934 1.1 mrg Likewise. 5935 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: 5936 1.1 mrg Likewise. 5937 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: 5938 1.1 mrg Likewise. 5939 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: 5940 1.1 mrg Likewise. 5941 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: 5942 1.1 mrg Likewise. 5943 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc: 5944 1.1 mrg Likewise. 5945 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: 5946 1.1 mrg Likewise. 5947 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc: 5948 1.1 mrg Likewise. 5949 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc: 5950 1.1 mrg Likewise. 5951 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc: 5952 1.1 mrg Likewise. 5953 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc: 5954 1.1 mrg Likewise. 5955 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc: 5956 1.1 mrg Likewise. 5957 1.1 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: 5958 1.1 mrg Likewise. 5959 1.1 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/2.cc: 5960 1.1 mrg Likewise. 5961 1.1 mrg * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: 5962 1.1 mrg Likewise. 5963 1.1 mrg * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc: 5964 1.1 mrg Likewise. 5965 1.1 mrg * testsuite/21_strings/basic_string_view/operations/data/char/1.cc: 5966 1.1 mrg Likewise. 5967 1.1 mrg * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc: 5968 1.1 mrg Likewise. 5969 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: 5970 1.1 mrg Likewise. 5971 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: 5972 1.1 mrg Likewise. 5973 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: 5974 1.1 mrg Likewise. 5975 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/char/4.cc: 5976 1.1 mrg Likewise. 5977 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc: 5978 1.1 mrg Likewise. 5979 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc: 5980 1.1 mrg Likewise. 5981 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc: 5982 1.1 mrg Likewise. 5983 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc: 5984 1.1 mrg Likewise. 5985 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc: 5986 1.1 mrg Likewise. 5987 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc: 5988 1.1 mrg Likewise. 5989 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc: 5990 1.1 mrg Likewise. 5991 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc: 5992 1.1 mrg Likewise. 5993 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc: 5994 1.1 mrg Likewise. 5995 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc: 5996 1.1 mrg Likewise. 5997 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc: 5998 1.1 mrg Likewise. 5999 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc: 6000 1.1 mrg Likewise. 6001 1.1 mrg * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc: 6002 1.1 mrg Likewise. 6003 1.1 mrg * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc: 6004 1.1 mrg Likewise. 6005 1.1 mrg * testsuite/21_strings/basic_string_view/operations/substr/char/83511.cc: 6006 1.1 mrg Likewise. 6007 1.1 mrg * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc: 6008 1.1 mrg Likewise. 6009 1.1 mrg * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/83511.cc: 6010 1.1 mrg Likewise. 6011 1.1 mrg * testsuite/21_strings/basic_string_view/operators/char/2.cc: 6012 1.1 mrg Likewise. 6013 1.1 mrg * testsuite/21_strings/basic_string_view/operators/char/89446.cc: 6014 1.1 mrg Likewise. 6015 1.1 mrg * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: 6016 1.1 mrg Likewise. 6017 1.1 mrg * testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc: 6018 1.1 mrg Likewise. 6019 1.1 mrg * testsuite/21_strings/basic_string_view/range_access/char/1.cc: 6020 1.1 mrg Likewise. 6021 1.1 mrg * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: 6022 1.1 mrg Likewise. 6023 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc: 6024 1.1 mrg Likewise. 6025 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc: 6026 1.1 mrg Likewise. 6027 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: 6028 1.1 mrg Likewise. 6029 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: 6030 1.1 mrg Likewise. 6031 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc: 6032 1.1 mrg Likewise. 6033 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: 6034 1.1 mrg Likewise. 6035 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/traits_neg.cc: 6036 1.1 mrg Likewise. 6037 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/typedefs.cc: 6038 1.1 mrg Likewise. 6039 1.1 mrg * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise. 6040 1.1 mrg * testsuite/21_strings/basic_string_view/types/1.cc: Likewise. 6041 1.1 mrg * testsuite/21_strings/char_traits/requirements/char/99181.cc: 6042 1.1 mrg Likewise. 6043 1.1 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: 6044 1.1 mrg 6045 1.1 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com> 6046 1.1 mrg 6047 1.1 mrg * testsuite/20_util/memory_resource/1.cc: Remove -std=gnu++17 6048 1.1 mrg from dg-options directive. 6049 1.1 mrg * testsuite/20_util/memory_resource/2.cc: Likewise. 6050 1.1 mrg * testsuite/20_util/monotonic_buffer_resource/1.cc: Likewise. 6051 1.1 mrg * testsuite/20_util/monotonic_buffer_resource/93208.cc: 6052 1.1 mrg Likewise. 6053 1.1 mrg * testsuite/20_util/monotonic_buffer_resource/allocate.cc: 6054 1.1 mrg Likewise. 6055 1.1 mrg * testsuite/20_util/monotonic_buffer_resource/deallocate.cc: 6056 1.1 mrg Likewise. 6057 1.1 mrg * testsuite/20_util/monotonic_buffer_resource/release.cc: 6058 1.1 mrg Likewise. 6059 1.1 mrg * testsuite/20_util/monotonic_buffer_resource/upstream_resource.cc: 6060 1.1 mrg Likewise. 6061 1.1 mrg * testsuite/20_util/polymorphic_allocator/1.cc: Likewise. 6062 1.1 mrg * testsuite/20_util/polymorphic_allocator/construct_pair.cc: 6063 1.1 mrg Likewise. 6064 1.1 mrg * testsuite/20_util/polymorphic_allocator/resource.cc: Likewise. 6065 1.1 mrg * testsuite/20_util/polymorphic_allocator/select.cc: Likewise. 6066 1.1 mrg * testsuite/20_util/synchronized_pool_resource/allocate.cc: 6067 1.1 mrg Likewise. 6068 1.1 mrg * testsuite/20_util/synchronized_pool_resource/allocate_single.cc: 6069 1.1 mrg Likewise. 6070 1.1 mrg * testsuite/20_util/synchronized_pool_resource/cons.cc: 6071 1.1 mrg Likewise. 6072 1.1 mrg * testsuite/20_util/synchronized_pool_resource/cons_single.cc: 6073 1.1 mrg Likewise. 6074 1.1 mrg * testsuite/20_util/synchronized_pool_resource/is_equal.cc: 6075 1.1 mrg Likewise. 6076 1.1 mrg * testsuite/20_util/synchronized_pool_resource/multithreaded.cc: 6077 1.1 mrg Likewise. 6078 1.1 mrg * testsuite/20_util/synchronized_pool_resource/options.cc: 6079 1.1 mrg Likewise. 6080 1.1 mrg * testsuite/20_util/synchronized_pool_resource/release.cc: 6081 1.1 mrg Likewise. 6082 1.1 mrg * testsuite/20_util/synchronized_pool_resource/release_single.cc: 6083 1.1 mrg Likewise. 6084 1.1 mrg * testsuite/20_util/unsynchronized_pool_resource/allocate-max-chunks.cc: 6085 1.1 mrg Likewise. 6086 1.1 mrg * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: 6087 1.1 mrg Likewise. 6088 1.1 mrg * testsuite/20_util/unsynchronized_pool_resource/cons.cc: 6089 1.1 mrg Likewise. 6090 1.1 mrg * testsuite/20_util/unsynchronized_pool_resource/is_equal.cc: 6091 1.1 mrg Likewise. 6092 1.1 mrg * testsuite/20_util/unsynchronized_pool_resource/options.cc: 6093 1.1 mrg Likewise. 6094 1.1 mrg * testsuite/20_util/unsynchronized_pool_resource/release.cc: 6095 1.1 mrg Likewise. 6096 1.1 mrg * testsuite/21_strings/basic_string/types/pmr_typedefs.cc: 6097 1.1 mrg Likewise. 6098 1.1 mrg * testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise. 6099 1.1 mrg * testsuite/23_containers/deque/types/pmr_typedefs_debug.cc: 6100 1.1 mrg Likewise. 6101 1.1 mrg * testsuite/23_containers/forward_list/pmr_typedefs.cc: 6102 1.1 mrg Likewise. 6103 1.1 mrg * testsuite/23_containers/forward_list/pmr_typedefs_debug.cc: 6104 1.1 mrg Likewise. 6105 1.1 mrg * testsuite/23_containers/list/pmr_typedefs.cc: Likewise. 6106 1.1 mrg * testsuite/23_containers/list/pmr_typedefs_debug.cc: Likewise. 6107 1.1 mrg * testsuite/23_containers/map/pmr_typedefs.cc: Likewise. 6108 1.1 mrg * testsuite/23_containers/map/pmr_typedefs_debug.cc: Likewise. 6109 1.1 mrg * testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise. 6110 1.1 mrg * testsuite/23_containers/multimap/pmr_typedefs_debug.cc: 6111 1.1 mrg Likewise. 6112 1.1 mrg * testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise. 6113 1.1 mrg * testsuite/23_containers/multiset/pmr_typedefs_debug.cc: 6114 1.1 mrg Likewise. 6115 1.1 mrg * testsuite/23_containers/set/pmr_typedefs.cc: Likewise. 6116 1.1 mrg * testsuite/23_containers/set/pmr_typedefs_debug.cc: Likewise. 6117 1.1 mrg * testsuite/23_containers/unordered_map/pmr_typedefs.cc: 6118 1.1 mrg Likewise. 6119 1.1 mrg * testsuite/23_containers/unordered_map/pmr_typedefs_debug.cc: 6120 1.1 mrg Likewise. 6121 1.1 mrg * testsuite/23_containers/unordered_multimap/pmr_typedefs.cc: 6122 1.1 mrg Likewise. 6123 1.1 mrg * testsuite/23_containers/unordered_multimap/pmr_typedefs_debug.cc: 6124 1.1 mrg Likewise. 6125 1.1 mrg * testsuite/23_containers/unordered_multiset/pmr_typedefs.cc: 6126 1.1 mrg Likewise. 6127 1.1 mrg * testsuite/23_containers/unordered_multiset/pmr_typedefs_debug.cc: 6128 1.1 mrg Likewise. 6129 1.1 mrg * testsuite/23_containers/unordered_set/pmr_typedefs.cc: 6130 1.1 mrg Likewise. 6131 1.1 mrg * testsuite/23_containers/unordered_set/pmr_typedefs_debug.cc: 6132 1.1 mrg Likewise. 6133 1.1 mrg * testsuite/23_containers/vector/pmr_typedefs.cc: Likewise. 6134 1.1 mrg * testsuite/23_containers/vector/types/pmr_typedefs_debug.cc: 6135 1.1 mrg Likewise. 6136 1.1 mrg * testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise. 6137 1.1 mrg 6138 1.1 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com> 6139 1.1 mrg 6140 1.1 mrg * testsuite/29_atomics/atomic/69769.cc: Remove -std=gnu++17 from 6141 1.1 mrg dg-options. 6142 1.1 mrg * testsuite/29_atomics/atomic/is_always_lock_free.cc: 6143 1.1 mrg * testsuite/29_atomics/atomic/requirements/typedefs.cc: 6144 1.1 mrg * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: 6145 1.1 mrg * testsuite/29_atomics/atomic_integral/requirements/typedefs.cc: 6146 1.1 mrg * testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise. 6147 1.1 mrg * testsuite/30_threads/scoped_lock/cons/1.cc: Likewise. 6148 1.1 mrg * testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise. 6149 1.1 mrg * testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc: 6150 1.1 mrg Likewise. 6151 1.1 mrg * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: 6152 1.1 mrg Likewise. 6153 1.1 mrg * testsuite/30_threads/shared_lock/70766.cc: Likewise. 6154 1.1 mrg * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise. 6155 1.1 mrg * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: 6156 1.1 mrg Likewise. 6157 1.1 mrg * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Likewise. 6158 1.1 mrg * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc: 6159 1.1 mrg Likewise. 6160 1.1 mrg * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise. 6161 1.1 mrg * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise. 6162 1.1 mrg * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise. 6163 1.1 mrg * testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise. 6164 1.1 mrg 6165 1.1 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com> 6166 1.1 mrg 6167 1.1 mrg * testsuite/20_util/any/assign/1.cc: Remove -std=gnu++17 from 6168 1.1 mrg dg-options directive. 6169 1.1 mrg * testsuite/20_util/any/assign/2.cc: Likewise. 6170 1.1 mrg * testsuite/20_util/any/assign/emplace.cc: Likewise. 6171 1.1 mrg * testsuite/20_util/any/assign/exception.cc: Likewise. 6172 1.1 mrg * testsuite/20_util/any/assign/self.cc: Likewise. 6173 1.1 mrg * testsuite/20_util/any/cons/1.cc: Likewise. 6174 1.1 mrg * testsuite/20_util/any/cons/2.cc: Likewise. 6175 1.1 mrg * testsuite/20_util/any/cons/90415.cc: Likewise. 6176 1.1 mrg * testsuite/20_util/any/cons/92156.cc: Likewise. 6177 1.1 mrg * testsuite/20_util/any/cons/aligned.cc: Likewise. 6178 1.1 mrg * testsuite/20_util/any/cons/explicit.cc: Likewise. 6179 1.1 mrg * testsuite/20_util/any/cons/in_place.cc: Likewise. 6180 1.1 mrg * testsuite/20_util/any/cons/nontrivial.cc: Likewise. 6181 1.1 mrg * testsuite/20_util/any/make_any.cc: Likewise. 6182 1.1 mrg * testsuite/20_util/any/misc/any_cast.cc: Likewise. 6183 1.1 mrg * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise. 6184 1.1 mrg * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise. 6185 1.1 mrg * testsuite/20_util/any/misc/swap.cc: Likewise. 6186 1.1 mrg * testsuite/20_util/any/modifiers/1.cc: Likewise. 6187 1.1 mrg * testsuite/20_util/any/modifiers/83658.cc: Likewise. 6188 1.1 mrg * testsuite/20_util/any/modifiers/92156.cc: Likewise. 6189 1.1 mrg * testsuite/20_util/any/observers/type.cc: Likewise. 6190 1.1 mrg * testsuite/20_util/any/requirements.cc: Likewise. 6191 1.1 mrg * testsuite/20_util/any/typedefs.cc: Likewise. 6192 1.1 mrg * testsuite/20_util/optional/77288.cc: Likewise. 6193 1.1 mrg * testsuite/20_util/optional/84601.cc: Likewise. 6194 1.1 mrg * testsuite/20_util/optional/assignment/1.cc: Likewise. 6195 1.1 mrg * testsuite/20_util/optional/assignment/2.cc: Likewise. 6196 1.1 mrg * testsuite/20_util/optional/assignment/3.cc: Likewise. 6197 1.1 mrg * testsuite/20_util/optional/assignment/4.cc: Likewise. 6198 1.1 mrg * testsuite/20_util/optional/assignment/5.cc: Likewise. 6199 1.1 mrg * testsuite/20_util/optional/assignment/6.cc: Likewise. 6200 1.1 mrg * testsuite/20_util/optional/assignment/7.cc: Likewise. 6201 1.1 mrg * testsuite/20_util/optional/assignment/8.cc: Likewise. 6202 1.1 mrg * testsuite/20_util/optional/assignment/9.cc: Likewise. 6203 1.1 mrg * testsuite/20_util/optional/bad_access.cc: Likewise. 6204 1.1 mrg * testsuite/20_util/optional/cons/77727.cc: Likewise. 6205 1.1 mrg * testsuite/20_util/optional/cons/85642.cc: Likewise. 6206 1.1 mrg * testsuite/20_util/optional/cons/copy.cc: Likewise. 6207 1.1 mrg * testsuite/20_util/optional/cons/deduction.cc: Likewise. 6208 1.1 mrg * testsuite/20_util/optional/cons/default.cc: Likewise. 6209 1.1 mrg * testsuite/20_util/optional/cons/move.cc: Likewise. 6210 1.1 mrg * testsuite/20_util/optional/cons/trivial.cc: Likewise. 6211 1.1 mrg * testsuite/20_util/optional/cons/value.cc: Likewise. 6212 1.1 mrg * testsuite/20_util/optional/cons/value_neg.cc: Likewise. 6213 1.1 mrg * testsuite/20_util/optional/constexpr/cons/default.cc: 6214 1.1 mrg Likewise. 6215 1.1 mrg * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise. 6216 1.1 mrg * testsuite/20_util/optional/constexpr/in_place.cc: Likewise. 6217 1.1 mrg * testsuite/20_util/optional/constexpr/make_optional.cc: 6218 1.1 mrg Likewise. 6219 1.1 mrg * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise. 6220 1.1 mrg * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise. 6221 1.1 mrg * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise. 6222 1.1 mrg * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise. 6223 1.1 mrg * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise. 6224 1.1 mrg * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise. 6225 1.1 mrg * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise. 6226 1.1 mrg * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise. 6227 1.1 mrg * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise. 6228 1.1 mrg * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. 6229 1.1 mrg * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise. 6230 1.1 mrg * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise. 6231 1.1 mrg * testsuite/20_util/optional/hash.cc: Likewise. 6232 1.1 mrg * testsuite/20_util/optional/in_place.cc: Likewise. 6233 1.1 mrg * testsuite/20_util/optional/make_optional.cc: Likewise. 6234 1.1 mrg * testsuite/20_util/optional/nullopt.cc: Likewise. 6235 1.1 mrg * testsuite/20_util/optional/observers/1.cc: Likewise. 6236 1.1 mrg * testsuite/20_util/optional/observers/2.cc: Likewise. 6237 1.1 mrg * testsuite/20_util/optional/observers/3.cc: Likewise. 6238 1.1 mrg * testsuite/20_util/optional/observers/4.cc: Likewise. 6239 1.1 mrg * testsuite/20_util/optional/observers/5.cc: Likewise. 6240 1.1 mrg * testsuite/20_util/optional/observers/6.cc: Likewise. 6241 1.1 mrg * testsuite/20_util/optional/relops/1.cc: Likewise. 6242 1.1 mrg * testsuite/20_util/optional/relops/2.cc: Likewise. 6243 1.1 mrg * testsuite/20_util/optional/relops/3.cc: Likewise. 6244 1.1 mrg * testsuite/20_util/optional/relops/4.cc: Likewise. 6245 1.1 mrg * testsuite/20_util/optional/relops/5.cc: Likewise. 6246 1.1 mrg * testsuite/20_util/optional/relops/6.cc: Likewise. 6247 1.1 mrg * testsuite/20_util/optional/relops/7.cc: Likewise. 6248 1.1 mrg * testsuite/20_util/optional/requirements.cc: Likewise. 6249 1.1 mrg * testsuite/20_util/optional/swap/1.cc: Likewise. 6250 1.1 mrg * testsuite/20_util/optional/swap/2.cc: Likewise. 6251 1.1 mrg * testsuite/20_util/optional/typedefs.cc: Likewise. 6252 1.1 mrg * testsuite/20_util/variant/80165.cc: Likewise. 6253 1.1 mrg * testsuite/20_util/variant/85183.cc: Likewise. 6254 1.1 mrg * testsuite/20_util/variant/86874.cc: Likewise. 6255 1.1 mrg * testsuite/20_util/variant/87431.cc: Likewise. 6256 1.1 mrg * testsuite/20_util/variant/87619.cc: Likewise. 6257 1.1 mrg * testsuite/20_util/variant/91807.cc: Likewise. 6258 1.1 mrg * testsuite/20_util/variant/any.cc: Likewise. 6259 1.1 mrg * testsuite/20_util/variant/compile.cc: Likewise. 6260 1.1 mrg * testsuite/20_util/variant/deduction.cc: Likewise. 6261 1.1 mrg * testsuite/20_util/variant/exception_safety.cc: Likewise. 6262 1.1 mrg * testsuite/20_util/variant/hash.cc: Likewise. 6263 1.1 mrg * testsuite/20_util/variant/index_type.cc: Likewise. 6264 1.1 mrg * testsuite/20_util/variant/relops/89851.cc: Likewise. 6265 1.1 mrg * testsuite/20_util/variant/relops/90008.cc: Likewise. 6266 1.1 mrg * testsuite/20_util/variant/run.cc: Likewise. 6267 1.1 mrg * testsuite/20_util/variant/visit.cc: Likewise. 6268 1.1 mrg 6269 1.1 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com> 6270 1.1 mrg 6271 1.1 mrg * testsuite/27_io/basic_filebuf/open/char/path.cc: Remove 6272 1.1 mrg -std=gnu++17 from dg-options directive. 6273 1.1 mrg * testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise. 6274 1.1 mrg * testsuite/27_io/basic_fstream/open/char/path.cc: Likewise. 6275 1.1 mrg * testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise. 6276 1.1 mrg * testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise. 6277 1.1 mrg * testsuite/27_io/basic_ofstream/cons/char/path.cc: Likewise. 6278 1.1 mrg * testsuite/27_io/basic_ofstream/open/char/path.cc: Likewise. 6279 1.1 mrg * testsuite/27_io/filesystem/directory_entry/86597.cc: Likewise. 6280 1.1 mrg * testsuite/27_io/filesystem/directory_entry/lwg3171.cc: 6281 1.1 mrg Likewise. 6282 1.1 mrg * testsuite/27_io/filesystem/file_status/1.cc: Likewise. 6283 1.1 mrg * testsuite/27_io/filesystem/filesystem_error/cons.cc: Likewise. 6284 1.1 mrg * testsuite/27_io/filesystem/filesystem_error/copy.cc: Likewise. 6285 1.1 mrg * testsuite/27_io/filesystem/iterators/91067.cc: Likewise. 6286 1.1 mrg * testsuite/27_io/filesystem/iterators/caching.cc: Likewise. 6287 1.1 mrg * testsuite/27_io/filesystem/iterators/directory_iterator.cc: 6288 1.1 mrg Likewise. 6289 1.1 mrg * testsuite/27_io/filesystem/iterators/pop.cc: Likewise. 6290 1.1 mrg * testsuite/27_io/filesystem/iterators/recursion_pending.cc: 6291 1.1 mrg Likewise. 6292 1.1 mrg * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: 6293 1.1 mrg Likewise. 6294 1.1 mrg * testsuite/27_io/filesystem/operations/absolute.cc: Likewise. 6295 1.1 mrg * testsuite/27_io/filesystem/operations/all.cc: Likewise. 6296 1.1 mrg * testsuite/27_io/filesystem/operations/canonical.cc: Likewise. 6297 1.1 mrg * testsuite/27_io/filesystem/operations/copy.cc: Likewise. 6298 1.1 mrg * testsuite/27_io/filesystem/operations/copy_file.cc: Likewise. 6299 1.1 mrg * testsuite/27_io/filesystem/operations/create_directories.cc: 6300 1.1 mrg Likewise. 6301 1.1 mrg * testsuite/27_io/filesystem/operations/create_directory.cc: 6302 1.1 mrg Likewise. 6303 1.1 mrg * testsuite/27_io/filesystem/operations/create_symlink.cc: 6304 1.1 mrg Likewise. 6305 1.1 mrg * testsuite/27_io/filesystem/operations/current_path.cc: 6306 1.1 mrg Likewise. 6307 1.1 mrg * testsuite/27_io/filesystem/operations/equivalent.cc: Likewise. 6308 1.1 mrg * testsuite/27_io/filesystem/operations/exists.cc: Likewise. 6309 1.1 mrg * testsuite/27_io/filesystem/operations/file_size.cc: Likewise. 6310 1.1 mrg * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise. 6311 1.1 mrg * testsuite/27_io/filesystem/operations/last_write_time.cc: 6312 1.1 mrg Likewise. 6313 1.1 mrg * testsuite/27_io/filesystem/operations/permissions.cc: 6314 1.1 mrg Likewise. 6315 1.1 mrg * testsuite/27_io/filesystem/operations/proximate.cc: Likewise. 6316 1.1 mrg * testsuite/27_io/filesystem/operations/read_symlink.cc: 6317 1.1 mrg Likewise. 6318 1.1 mrg * testsuite/27_io/filesystem/operations/relative.cc: Likewise. 6319 1.1 mrg * testsuite/27_io/filesystem/operations/remove.cc: Likewise. 6320 1.1 mrg * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise. 6321 1.1 mrg * testsuite/27_io/filesystem/operations/rename.cc: Likewise. 6322 1.1 mrg * testsuite/27_io/filesystem/operations/resize_file.cc: 6323 1.1 mrg Likewise. 6324 1.1 mrg * testsuite/27_io/filesystem/operations/space.cc: Likewise. 6325 1.1 mrg * testsuite/27_io/filesystem/operations/status.cc: Likewise. 6326 1.1 mrg * testsuite/27_io/filesystem/operations/symlink_status.cc: 6327 1.1 mrg Likewise. 6328 1.1 mrg * testsuite/27_io/filesystem/operations/temp_directory_path.cc: 6329 1.1 mrg Likewise. 6330 1.1 mrg * testsuite/27_io/filesystem/operations/weakly_canonical.cc: 6331 1.1 mrg Likewise. 6332 1.1 mrg * testsuite/27_io/filesystem/path/append/path.cc: Likewise. 6333 1.1 mrg * testsuite/27_io/filesystem/path/append/source.cc: Likewise. 6334 1.1 mrg * testsuite/27_io/filesystem/path/assign/assign.cc: Likewise. 6335 1.1 mrg * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise. 6336 1.1 mrg * testsuite/27_io/filesystem/path/compare/compare.cc: Likewise. 6337 1.1 mrg * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise. 6338 1.1 mrg * testsuite/27_io/filesystem/path/compare/path.cc: Likewise. 6339 1.1 mrg * testsuite/27_io/filesystem/path/compare/strings.cc: Likewise. 6340 1.1 mrg * testsuite/27_io/filesystem/path/concat/92853.cc: Likewise. 6341 1.1 mrg * testsuite/27_io/filesystem/path/concat/94063.cc: Likewise. 6342 1.1 mrg * testsuite/27_io/filesystem/path/concat/path.cc: Likewise. 6343 1.1 mrg * testsuite/27_io/filesystem/path/concat/strings.cc: Likewise. 6344 1.1 mrg * testsuite/27_io/filesystem/path/construct/80762.cc: Likewise. 6345 1.1 mrg * testsuite/27_io/filesystem/path/construct/90281.cc: Likewise. 6346 1.1 mrg * testsuite/27_io/filesystem/path/construct/90634.cc: Likewise. 6347 1.1 mrg * testsuite/27_io/filesystem/path/construct/copy.cc: Likewise. 6348 1.1 mrg * testsuite/27_io/filesystem/path/construct/default.cc: 6349 1.1 mrg Likewise. 6350 1.1 mrg * testsuite/27_io/filesystem/path/construct/format.cc: Likewise. 6351 1.1 mrg * testsuite/27_io/filesystem/path/construct/locale.cc: Likewise. 6352 1.1 mrg * testsuite/27_io/filesystem/path/construct/range.cc: Likewise. 6353 1.1 mrg * testsuite/27_io/filesystem/path/construct/string_view.cc: 6354 1.1 mrg Likewise. 6355 1.1 mrg * testsuite/27_io/filesystem/path/decompose/extension.cc: 6356 1.1 mrg Likewise. 6357 1.1 mrg * testsuite/27_io/filesystem/path/decompose/filename.cc: 6358 1.1 mrg Likewise. 6359 1.1 mrg * testsuite/27_io/filesystem/path/decompose/parent_path.cc: 6360 1.1 mrg Likewise. 6361 1.1 mrg * testsuite/27_io/filesystem/path/decompose/relative_path.cc: 6362 1.1 mrg Likewise. 6363 1.1 mrg * testsuite/27_io/filesystem/path/decompose/root_directory.cc: 6364 1.1 mrg Likewise. 6365 1.1 mrg * testsuite/27_io/filesystem/path/decompose/root_name.cc: 6366 1.1 mrg Likewise. 6367 1.1 mrg * testsuite/27_io/filesystem/path/decompose/root_path.cc: 6368 1.1 mrg Likewise. 6369 1.1 mrg * testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise. 6370 1.1 mrg * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: 6371 1.1 mrg Likewise. 6372 1.1 mrg * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise. 6373 1.1 mrg * testsuite/27_io/filesystem/path/generation/normal.cc: 6374 1.1 mrg Likewise. 6375 1.1 mrg * testsuite/27_io/filesystem/path/generation/normal2.cc: 6376 1.1 mrg Likewise. 6377 1.1 mrg * testsuite/27_io/filesystem/path/generation/proximate.cc: 6378 1.1 mrg Likewise. 6379 1.1 mrg * testsuite/27_io/filesystem/path/generation/relative.cc: 6380 1.1 mrg Likewise. 6381 1.1 mrg * testsuite/27_io/filesystem/path/generic/94242.cc: Likewise. 6382 1.1 mrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: 6383 1.1 mrg Likewise. 6384 1.1 mrg * testsuite/27_io/filesystem/path/generic/utf.cc: Likewise. 6385 1.1 mrg * testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise. 6386 1.1 mrg * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise. 6387 1.1 mrg * testsuite/27_io/filesystem/path/itr/components.cc: Likewise. 6388 1.1 mrg * testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise. 6389 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise. 6390 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: 6391 1.1 mrg Likewise. 6392 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc: 6393 1.1 mrg Likewise. 6394 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc: 6395 1.1 mrg Likewise. 6396 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc: 6397 1.1 mrg Likewise. 6398 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise. 6399 1.1 mrg * testsuite/27_io/filesystem/path/native/alloc.cc: Likewise. 6400 1.1 mrg * testsuite/27_io/filesystem/path/native/string-char8_t.cc: 6401 1.1 mrg Likewise. 6402 1.1 mrg * testsuite/27_io/filesystem/path/native/string.cc: Likewise. 6403 1.1 mrg * testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise. 6404 1.1 mrg * testsuite/27_io/filesystem/path/nonmember/cmp.cc: Likewise. 6405 1.1 mrg * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: 6406 1.1 mrg Likewise. 6407 1.1 mrg * testsuite/27_io/filesystem/path/query/empty.cc: Likewise. 6408 1.1 mrg * testsuite/27_io/filesystem/path/query/empty_neg.cc: 6409 1.1 mrg * testsuite/27_io/filesystem/path/query/has_extension.cc: 6410 1.1 mrg Likewise. 6411 1.1 mrg * testsuite/27_io/filesystem/path/query/has_filename.cc: 6412 1.1 mrg Likewise. 6413 1.1 mrg * testsuite/27_io/filesystem/path/query/has_parent_path.cc: 6414 1.1 mrg Likewise. 6415 1.1 mrg * testsuite/27_io/filesystem/path/query/has_relative_path.cc: 6416 1.1 mrg Likewise. 6417 1.1 mrg * testsuite/27_io/filesystem/path/query/has_root_directory.cc: 6418 1.1 mrg Likewise. 6419 1.1 mrg * testsuite/27_io/filesystem/path/query/has_root_name.cc: 6420 1.1 mrg Likewise. 6421 1.1 mrg * testsuite/27_io/filesystem/path/query/has_root_path.cc: 6422 1.1 mrg Likewise. 6423 1.1 mrg * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise. 6424 1.1 mrg * testsuite/27_io/filesystem/path/query/is_absolute.cc: 6425 1.1 mrg Likewise. 6426 1.1 mrg * testsuite/27_io/filesystem/path/query/is_relative.cc: 6427 1.1 mrg Likewise. 6428 1.1 mrg * testsuite/experimental/filesystem/path/construct/string_view.cc: 6429 1.1 mrg Likewise. 6430 1.1 mrg 6431 1.1 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com> 6432 1.1 mrg 6433 1.1 mrg * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: 6434 1.1 mrg Remove -std=gnu++17 from dg-options. 6435 1.1 mrg * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: 6436 1.1 mrg Likewise. 6437 1.1 mrg * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: 6438 1.1 mrg Likewise. 6439 1.1 mrg * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: 6440 1.1 mrg Likewise. 6441 1.1 mrg * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise. 6442 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: 6443 1.1 mrg Likewise. 6444 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: 6445 1.1 mrg Likewise. 6446 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: 6447 1.1 mrg Likewise. 6448 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: 6449 1.1 mrg Likewise. 6450 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: 6451 1.1 mrg Likewise. 6452 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: 6453 1.1 mrg Likewise. 6454 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: 6455 1.1 mrg Likewise. 6456 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: 6457 1.1 mrg Likewise. 6458 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: 6459 1.1 mrg Likewise. 6460 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: 6461 1.1 mrg Likewise. 6462 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: 6463 1.1 mrg Likewise. 6464 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: 6465 1.1 mrg Likewise. 6466 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: 6467 1.1 mrg Likewise. 6468 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: 6469 1.1 mrg Likewise. 6470 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: 6471 1.1 mrg Likewise. 6472 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: 6473 1.1 mrg Likewise. 6474 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: 6475 1.1 mrg Likewise. 6476 1.1 mrg * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: 6477 1.1 mrg Likewise. 6478 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: 6479 1.1 mrg Likewise. 6480 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: 6481 1.1 mrg Likewise. 6482 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: 6483 1.1 mrg Likewise. 6484 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: 6485 1.1 mrg Likewise. 6486 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: 6487 1.1 mrg Likewise. 6488 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: 6489 1.1 mrg Likewise. 6490 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: 6491 1.1 mrg Likewise. 6492 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: 6493 1.1 mrg Likewise. 6494 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: 6495 1.1 mrg Likewise. 6496 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: 6497 1.1 mrg Likewise. 6498 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: 6499 1.1 mrg Likewise. 6500 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: 6501 1.1 mrg Likewise. 6502 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: 6503 1.1 mrg Likewise. 6504 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: 6505 1.1 mrg Likewise. 6506 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: 6507 1.1 mrg Likewise. 6508 1.1 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: 6509 1.1 mrg Likewise. 6510 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/includes.cc: 6511 1.1 mrg Likewise. 6512 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: Likewise. 6513 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: 6514 1.1 mrg Likewise. 6515 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: 6516 1.1 mrg Likewise. 6517 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: 6518 1.1 mrg Likewise. 6519 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: 6520 1.1 mrg Likewise. 6521 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: 6522 1.1 mrg Likewise. 6523 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Likewise. 6524 1.1 mrg * testsuite/25_algorithms/pstl/alg_sorting/sort.cc: Likewise. 6525 1.1 mrg * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise. 6526 1.1 mrg * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise. 6527 1.1 mrg * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise. 6528 1.1 mrg * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise. 6529 1.1 mrg * testsuite/25_algorithms/pstl/feature_test.cc: Likewise. 6530 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: 6531 1.1 mrg Likewise. 6532 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: Likewise. 6533 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/scan.cc: Likewise. 6534 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: 6535 1.1 mrg Likewise. 6536 1.1 mrg * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: 6537 1.1 mrg Likewise. 6538 1.1 mrg 6539 1.1 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com> 6540 1.1 mrg 6541 1.1 mrg * testsuite/20_util/scoped_allocator/69293_neg.cc: Add dg-error 6542 1.1 mrg for additional errors in C++20. 6543 1.1 mrg * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: 6544 1.1 mrg Likewise. 6545 1.1 mrg * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise. 6546 1.1 mrg * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise. 6547 1.1 mrg 6548 1.1 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com> 6549 1.1 mrg 6550 1.1 mrg * testsuite/20_util/variant/compile.cc: Rename 'any' to avoid 6551 1.1 mrg clash with std::any. 6552 1.1 mrg 6553 1.1 mrg 2021-05-07 Jonathan Wakely <jwakely (a] redhat.com> 6554 1.1 mrg 6555 1.1 mrg * include/std/istream (__rvalue_stream_extraction_t): Replace 6556 1.1 mrg use of __rval_streamable. 6557 1.1 mrg * include/std/ostream (__rvalue_stream_insertion_t): Likewise. 6558 1.1 mrg (__rval_streamable): Remove. 6559 1.1 mrg (_Require_derived_from_ios_base, __derived_from_ios_base): New 6560 1.1 mrg helper for checking constraints. 6561 1.1 mrg * testsuite/27_io/basic_istream/extractors_other/char/4.cc: Fix 6562 1.1 mrg reference to the wrong subclause of the standard. 6563 1.1 mrg * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc: 6564 1.1 mrg Likewise. 6565 1.1 mrg * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: 6566 1.1 mrg Likewise. 6567 1.1 mrg * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: 6568 1.1 mrg Likewise. 6569 1.1 mrg * testsuite/27_io/basic_ostream/inserters_other/char/99692.cc: 6570 1.1 mrg New test. 6571 1.1 mrg * testsuite/27_io/filesystem/path/io/dr2989.cc: Adjust pruned 6572 1.1 mrg errors. 6573 1.1 mrg 6574 1.1 mrg 2021-05-06 Jonathan Wakely <jwakely (a] redhat.com> 6575 1.1 mrg 6576 1.1 mrg * include/bits/stl_algobase.h (__copy_move, __copy_move_backward): 6577 1.1 mrg Improve static_assert messages. 6578 1.1 mrg * testsuite/25_algorithms/copy/58982.cc: Adjust expected output. 6579 1.1 mrg * testsuite/25_algorithms/copy_n/58982.cc: Likewise. 6580 1.1 mrg 6581 1.1 mrg 2021-05-06 Patrick Palka <ppalka (a] redhat.com> 6582 1.1 mrg 6583 1.1 mrg * include/std/ranges (filter_view::_Iterator::base): Make the 6584 1.1 mrg const& overload unconstrained and return a const reference as 6585 1.1 mrg per LWG 3533. Make unconditionally noexcept. 6586 1.1 mrg (transform_view::_Iterator::base): Likewise. 6587 1.1 mrg (elements_view::_Iterator::base): Likewise. 6588 1.1 mrg 6589 1.1 mrg 2021-05-06 Patrick Palka <ppalka (a] redhat.com> 6590 1.1 mrg 6591 1.1 mrg * include/bits/stl_iterator.h (move_iterator::base): Make the 6592 1.1 mrg const& overload unconstrained and return a const reference as 6593 1.1 mrg per LWG 3391. Make unconditionally noexcept. 6594 1.1 mrg (counted_iterator::base): Likewise. 6595 1.1 mrg * testsuite/24_iterators/move_iterator/lwg3391.cc: New test. 6596 1.1 mrg * testsuite/24_iterators/move_iterator/move_only.cc: Adjust 6597 1.1 mrg has_member_base concept to decay-copy the result of base(). 6598 1.1 mrg 6599 1.1 mrg 2021-05-06 Jonathan Wakely <jwakely (a] redhat.com> 6600 1.1 mrg 6601 1.1 mrg * include/std/type_traits (remove_cvref_t): Define in terms of 6602 1.1 mrg remove_cvref. 6603 1.1 mrg * testsuite/20_util/remove_cvref/value.cc: Check alias. 6604 1.1 mrg 6605 1.1 mrg 2021-05-06 Jonathan Wakely <jwakely (a] redhat.com> 6606 1.1 mrg 6607 1.1 mrg Revert: 6608 1.1 mrg 2021-05-05 Jonathan Wakely <jwakely (a] redhat.com> 6609 1.1 mrg 6610 1.1 mrg * include/std/charconv (__from_chars_alnum): Pass unsigned 6611 1.1 mrg char to std::isdigit. 6612 1.1 mrg 6613 1.1 mrg 2021-05-05 Patrick Palka <ppalka (a] redhat.com> 6614 1.1 mrg 6615 1.1 mrg * include/bits/ranges_util.h (enable_borrowed_range<subrange>): 6616 1.1 mrg Remove constraints on this partial specialization. 6617 1.1 mrg * include/std/ranges (enable_borrowed_range<iota_view>): 6618 1.1 mrg Likewise. 6619 1.1 mrg 6620 1.1 mrg 2021-05-05 Patrick Palka <ppalka (a] redhat.com> 6621 1.1 mrg 6622 1.1 mrg * include/std/ranges (transform_view::_Iterator::iter_swap): 6623 1.1 mrg Remove as per LWG 3520. 6624 1.1 mrg (join_view::_Iterator::iter_swap): Add indirectly_swappable 6625 1.1 mrg constraint as per LWG 3517. 6626 1.1 mrg 6627 1.1 mrg 2021-05-05 Jonathan Wakely <jwakely (a] redhat.com> 6628 1.1 mrg 6629 1.1 mrg * testsuite/20_util/function_objects/invoke/3.cc: Check feature 6630 1.1 mrg test macro. 6631 1.1 mrg * testsuite/20_util/function_objects/invoke/version.cc: New test. 6632 1.1 mrg 6633 1.1 mrg 2021-05-05 Jonathan Wakely <jwakely (a] redhat.com> 6634 1.1 mrg 6635 1.1 mrg * include/std/charconv (__from_chars_alnum): Pass unsigned 6636 1.1 mrg char to std::isdigit. 6637 1.1 mrg 6638 1.1 mrg 2021-05-05 Corentin Gay <gay (a] adacore.com> 6639 1.1 mrg 6640 1.1 mrg * acinclude.m4: Add VxWorks-specific case for the 6641 1.1 mrg configuration of ctypes. 6642 1.1 mrg * configure: Regenerate. 6643 1.1 mrg * config/locale/vxworks/ctype_members.cc: Add VxWorks-specific 6644 1.1 mrg version. 6645 1.1 mrg * config/os/vxworks/ctype_base.h: Adjust for VxWorks7+. 6646 1.1 mrg * config/os/vxworks/ctype_configure_char.cc: Likewise. 6647 1.1 mrg * config/os/vxworks/ctype_inline.h: Likewise. 6648 1.1 mrg * testsuite/28_regex/traits/char/isctype.cc: Defines 6649 1.1 mrg NEWLINE_IN_CLASS_BLANK if the target is VxWorks. 6650 1.1 mrg * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise. 6651 1.1 mrg 6652 1.1 mrg 2021-05-04 Jonathan Wakely <jwakely (a] redhat.com> 6653 1.1 mrg 6654 1.1 mrg * include/std/future (promise::set_value): Check for existence 6655 1.1 mrg of shared state before dereferncing it. 6656 1.1 mrg (promise::set_exception, promise::set_value_at_thread_exit) 6657 1.1 mrg (promise::set_exception_at_thread_exit): Likewise. 6658 1.1 mrg (promise<R&>::set_value, promise<R&>::set_exception) 6659 1.1 mrg (promise<R&>::set_value_at_thread_exit) 6660 1.1 mrg (promise<R&>::set_exception_at_thread_exit): Likewise. 6661 1.1 mrg (promise<void>::set_value, promise<void>::set_exception) 6662 1.1 mrg (promise<void>::set_value_at_thread_exit) 6663 1.1 mrg (promise<void>::set_exception_at_thread_exit): Likewise. 6664 1.1 mrg * testsuite/30_threads/promise/members/at_thread_exit2.cc: 6665 1.1 mrg Remove unused variable. 6666 1.1 mrg 6667 1.1 mrg 2021-05-04 Jonathan Wakely <jwakely (a] redhat.com> 6668 1.1 mrg 6669 1.1 mrg * include/bits/basic_string.h (basic_string(const CharT*, const A&)): 6670 1.1 mrg Do not do arithmetic on null pointer. 6671 1.1 mrg 6672 1.1 mrg 2021-05-04 Jonathan Wakely <jwakely (a] redhat.com> 6673 1.1 mrg 6674 1.1 mrg * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp 6675 1.1 mrg (find_key_pointer(key_const_reference, false_type)) 6676 1.1 mrg (find_key_pointer(key_const_reference, true_type)): Do not 6677 1.1 mrg dereference null pointer. 6678 1.1 mrg 6679 1.1 mrg 2021-05-04 Jonathan Wakely <jwakely (a] redhat.com> 6680 1.1 mrg 6681 1.1 mrg * testsuite/20_util/from_chars/3.cc: Use unsigned type to avoid 6682 1.1 mrg overflow. 6683 1.1 mrg * testsuite/24_iterators/reverse_iterator/2.cc: Do not add 6684 1.1 mrg non-zero value to null pointer. 6685 1.1 mrg * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: 6686 1.1 mrg Use past-the-end iterator for result. 6687 1.1 mrg * testsuite/25_algorithms/move_backward/69478.cc: Likewise. 6688 1.1 mrg * testsuite/25_algorithms/move_backward/93872.cc: Likewise. 6689 1.1 mrg 6690 1.1 mrg 2021-05-04 Jonathan Wakely <jwakely (a] redhat.com> 6691 1.1 mrg 6692 1.1 mrg PR libstdc++/100384 6693 1.1 mrg * include/std/variant (__get_t): New alias template yielding the 6694 1.1 mrg return type of std::get<N> on a variant. 6695 1.1 mrg (__visit_result_t): New alias template yielding the result of 6696 1.1 mrg std::visit. 6697 1.1 mrg (__same_types): Move into namespace __detail::__variant. 6698 1.1 mrg (__check_visitor_results): Likewise. Use __invoke_result_t and 6699 1.1 mrg __get_t. 6700 1.1 mrg (__check_visitor_result): Remove. 6701 1.1 mrg (visit): Use __visit_result_t for return type. 6702 1.1 mrg * testsuite/20_util/variant/100384.cc: New test. 6703 1.1 mrg 6704 1.1 mrg 2021-05-04 Jonathan Wakely <jwakely (a] redhat.com> 6705 1.1 mrg 6706 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_INT128_FLOAT128): Remove 6707 1.1 mrg checks for __int128 and rename to GLIBCXX_ENABLE_FLOAT128. 6708 1.1 mrg * config.h.in: Regenerate. 6709 1.1 mrg * configure: Regenerate. 6710 1.1 mrg * configure.ac: Adjust to use GLIBCXX_ENABLE_FLOAT128. 6711 1.1 mrg * include/bits/random.h (_Select_uint_least_t<s, 1>): 6712 1.1 mrg Use __SIZEOF_INT128__ to decide whether to use __int128. 6713 1.1 mrg * include/std/charconv (__to_chars_unsigned_type): Likewise. 6714 1.1 mrg 6715 1.1 mrg 2021-05-03 Gerald Pfeifer <gerald (a] pfeifer.com> 6716 1.1 mrg 6717 1.1 mrg * doc/xml/manual/ctype.xml: Move unix.org reference to https. 6718 1.1 mrg * doc/html/manual/facets.html: Regenerate. 6719 1.1 mrg 6720 1.1 mrg 2021-04-30 Patrick Palka <ppalka (a] redhat.com> 6721 1.1 mrg 6722 1.1 mrg * include/std/ranges (__detail::__non_propating_cache): Define 6723 1.1 mrg as per P2328. 6724 1.1 mrg (join_view): Remove constraints on the value and reference types 6725 1.1 mrg of the wrapped iterator type as per P2328. 6726 1.1 mrg (join_view::_Iterator::_M_satisfy): Adjust as per P2328. 6727 1.1 mrg (join_view::_Iterator::operator++): Likewise. 6728 1.1 mrg (join_view::_M_inner): Use __non_propating_cache as per P2328. 6729 1.1 mrg Remove now-redundant use of __maybe_present_t. 6730 1.1 mrg * testsuite/std/ranges/adaptors/join.cc: Include <array>. 6731 1.1 mrg (test10): New test. 6732 1.1 mrg 6733 1.1 mrg 2021-04-30 Jonathan Wakely <jwakely (a] redhat.com> 6734 1.1 mrg 6735 1.1 mrg * include/bits/basic_string.h (__cpp_lib_constexpr_string): 6736 1.1 mrg Only define for C++17 and later. 6737 1.1 mrg * include/std/version (__cpp_lib_semaphore): Fix condition 6738 1.1 mrg to match the one in <semaphore>. 6739 1.1 mrg 6740 1.1 mrg 2021-04-30 Jonathan Wakely <jwakely (a] redhat.com> 6741 1.1 mrg 6742 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_INT64_T): Delete. 6743 1.1 mrg * config.h.in: Regenerate. 6744 1.1 mrg * configure: Regenerate. 6745 1.1 mrg * configure.ac: Do not use GLIBCXX_CHECK_INT64_T. 6746 1.1 mrg * include/bits/postypes.h: Remove include of <stdint.h> and 6747 1.1 mrg definition/undefinition of the __STDC_LIMIT_MACROS and 6748 1.1 mrg __STDC_CONSTANT_MACROS macros. 6749 1.1 mrg (streamoff): Use __INT64_TYPE__ if defined. 6750 1.1 mrg 6751 1.1 mrg 2021-04-30 Patrick Palka <ppalka (a] redhat.com> 6752 1.1 mrg 6753 1.1 mrg * include/std/ranges (split_view::_InnerIter::operator++): 6754 1.1 mrg Depend on _Base instead of _Vp directly, as per LWG 3532. 6755 1.1 mrg 6756 1.1 mrg 2021-04-30 Patrick Palka <ppalka (a] redhat.com> 6757 1.1 mrg 6758 1.1 mrg * include/bits/ranges_util.h (subrange::subrange): Avoid 6759 1.1 mrg list-initialization in delegating constructor. 6760 1.1 mrg * include/std/ranges (single_view): Replace implicit guide 6761 1.1 mrg with explicit deduction guide that decays its argument. 6762 1.1 mrg (_Single::operator()): Avoid CTAD when constructing the 6763 1.1 mrg single_view object. 6764 1.1 mrg (_Iota::operator()): Avoid list-initialization. 6765 1.1 mrg (__detail::__can_filter_view, _Filter::operator()): Likewise. 6766 1.1 mrg (__detail::__can_transform_view, _Transform::operator()): Likewise. 6767 1.1 mrg (take_view::begin): Likewise. 6768 1.1 mrg (__detail::__can_take_view, _Take::operator()): Likewise. 6769 1.1 mrg (__detail::__can_take_while_view, _TakeWhile::operator()): Likewise. 6770 1.1 mrg (__detail::__can_drop_view, _Drop::operator()): Likewise. 6771 1.1 mrg (__detail::__can_drop_while_view, _DropWhile::operator()): Likewise. 6772 1.1 mrg (split_view::split_view): Use views::single when initializing 6773 1.1 mrg _M_pattern. 6774 1.1 mrg (__detail::__can_split_view, _Split::operator()): Avoid 6775 1.1 mrg list-initialization. 6776 1.1 mrg (_Counted::operator()): Likewise. 6777 1.1 mrg * testsuite/std/ranges/p2367.cc: New test. 6778 1.1 mrg 6779 1.1 mrg 2021-04-30 Jonathan Wakely <jwakely (a] redhat.com> 6780 1.1 mrg 6781 1.1 mrg PR libstdc++/60497 6782 1.1 mrg * include/bits/basic_ios.tcc (basic_ios::copyfmt): use 6783 1.1 mrg std::addressof. 6784 1.1 mrg * include/bits/basic_string.tcc (basic_string::swap) 6785 1.1 mrg (basic_string::assign): Likewise. 6786 1.1 mrg * include/bits/deque.tcc (deque::operator=(const deque&)): 6787 1.1 mrg Likewise. 6788 1.1 mrg * include/bits/stl_tree.h (_Rb_tree::operator=(const * _Rb_tree&)): 6789 1.1 mrg Likewise. 6790 1.1 mrg * include/bits/vector.tcc (vector::operator=(const vector&)): 6791 1.1 mrg Likewise. 6792 1.1 mrg 6793 1.1 mrg 2021-04-30 Jonathan Wakely <jwakely (a] redhat.com> 6794 1.1 mrg 6795 1.1 mrg * include/std/istream (operator>>(Istream&&, x&)): Simplify, as 6796 1.1 mrg per LWG 1203. 6797 1.1 mrg * include/std/ostream (operator<<(Ostream&&, const x&)): 6798 1.1 mrg Likewise. 6799 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc: 6800 1.1 mrg Adjust dg-error pattern. 6801 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc: 6802 1.1 mrg Likewise. 6803 1.1 mrg * testsuite/27_io/basic_istream/extractors_other/char/4.cc: Define 6804 1.1 mrg is_extractable trait to replace std::__is_extractable. Make it 6805 1.1 mrg work with rvalue streams as well as lvalues, to replace f() and 6806 1.1 mrg g() helper functions. 6807 1.1 mrg * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc: 6808 1.1 mrg Likewise. 6809 1.1 mrg * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: 6810 1.1 mrg Define is_insertable trait to replace std::__is_insertable. Make 6811 1.1 mrg it work with rvalue streams as well as lvalues, to replace f() 6812 1.1 mrg and g() helper functions. 6813 1.1 mrg * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: 6814 1.1 mrg Likewise. 6815 1.1 mrg * testsuite/27_io/filesystem/path/io/dr2989.cc: Prune additional 6816 1.1 mrg errors from new constraints. 6817 1.1 mrg * testsuite/27_io/rvalue_streams-2.cc: Remove PR 80675 checks, 6818 1.1 mrg which are no longer expected to compile. 6819 1.1 mrg * testsuite/27_io/rvalue_streams.cc: Adjust existing test. 6820 1.1 mrg Verify LWG 1203 changes. 6821 1.1 mrg 6822 1.1 mrg 2021-04-30 Jonathan Wakely <jwakely (a] redhat.com> 6823 1.1 mrg 6824 1.1 mrg PR libstdc++/100285 6825 1.1 mrg * include/experimental/socket (__basic_socket_impl::set_option) 6826 1.1 mrg (__basic_socket_impl::get_option) [!_GLIBCXX_HAVE_SYS_SOCKET_H]: 6827 1.1 mrg Just set error code. 6828 1.1 mrg * testsuite/experimental/net/socket/socket_base.cc: CHeck 6829 1.1 mrg for <sys/socket.h> not <socket.h>. 6830 1.1 mrg 6831 1.1 mrg 2021-04-30 Jonathan Wakely <jwakely (a] redhat.com> 6832 1.1 mrg 6833 1.1 mrg PR libstdc++/100180 6834 1.1 mrg PR libstdc++/100286 6835 1.1 mrg PR libstdc++/100351 6836 1.1 mrg * testsuite/experimental/net/internet/address/v4/comparisons.cc: 6837 1.1 mrg Use new effective-target keyword. 6838 1.1 mrg * testsuite/experimental/net/internet/address/v4/cons.cc: 6839 1.1 mrg Likewise. 6840 1.1 mrg * testsuite/experimental/net/internet/address/v4/creation.cc: 6841 1.1 mrg Likewise. 6842 1.1 mrg * testsuite/experimental/net/internet/address/v4/members.cc: 6843 1.1 mrg Likewise. 6844 1.1 mrg * testsuite/experimental/net/internet/address/v6/members.cc: 6845 1.1 mrg Likewise. 6846 1.1 mrg * testsuite/experimental/net/internet/resolver/base.cc: 6847 1.1 mrg Likewise. 6848 1.1 mrg * testsuite/experimental/net/internet/resolver/ops/lookup.cc: 6849 1.1 mrg Likewise. 6850 1.1 mrg * testsuite/experimental/net/internet/resolver/ops/reverse.cc: 6851 1.1 mrg Likewise. 6852 1.1 mrg * testsuite/experimental/net/internet/socket/opt.cc: 6853 1.1 mrg Likewise. 6854 1.1 mrg * testsuite/experimental/net/internet/tcp.cc: 6855 1.1 mrg Likewise. 6856 1.1 mrg * testsuite/experimental/net/internet/udp.cc: 6857 1.1 mrg Likewise. 6858 1.1 mrg * testsuite/lib/libstdc++.exp (check_effective_target_net_ts_ip): 6859 1.1 mrg New proc to check net_ts_ip et. 6860 1.1 mrg 6861 1.1 mrg 2021-04-28 Jonathan Wakely <jwakely (a] redhat.com> 6862 1.1 mrg 6863 1.1 mrg PR libstdc++/97930 6864 1.1 mrg * testsuite/20_util/pair/requirements/structural.cc: New test. 6865 1.1 mrg 6866 1.1 mrg 2021-04-28 Jonathan Wakely <jwakely (a] redhat.com> 6867 1.1 mrg 6868 1.1 mrg * include/bits/stl_pair.h (pair) [__cplusplus > 202002]: Add 6869 1.1 mrg new definitions for constructors and assignment operators using 6870 1.1 mrg concepts for constraints. 6871 1.1 mrg * testsuite/20_util/pair/cons/99957.cc: Disable for C++20 and 6872 1.1 mrg later. 6873 1.1 mrg * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust 6874 1.1 mrg expected error messages to also match C++20 errors. 6875 1.1 mrg 6876 1.1 mrg 2021-04-28 Jonathan Wakely <jwakely (a] redhat.com> 6877 1.1 mrg 6878 1.1 mrg PR libstdc++/99957 6879 1.1 mrg * include/bits/stl_pair.h (_PCC::_MoveCopyPair, _PCC::_CopyMovePair): 6880 1.1 mrg Combine and replace with ... 6881 1.1 mrg (_PCC::_DeprConsPair): New SFINAE helper function. 6882 1.1 mrg (pair): Merge preprocessor blocks so that all C++03 members 6883 1.1 mrg are defined together at the end. 6884 1.1 mrg (pair::pair(const _T1&, _U2&&), pair::pair(_U1&&, const _T2&)): 6885 1.1 mrg Replace _T1 and _T2 parameters with __null_ptr_constant and 6886 1.1 mrg adjust constraints. 6887 1.1 mrg * testsuite/20_util/pair/40925.cc: Use nullptr instead of 0. 6888 1.1 mrg * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise. 6889 1.1 mrg * testsuite/20_util/pair/cons/99957.cc: New test. 6890 1.1 mrg 6891 1.1 mrg 2021-04-28 Jonathan Wakely <jwakely (a] redhat.com> 6892 1.1 mrg 6893 1.1 mrg * include/bits/basic_string.h (__cpp_lib_constexpr_string): Define. 6894 1.1 mrg * include/std/version (__cpp_lib_constexpr_string): Define. 6895 1.1 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: 6896 1.1 mrg Check for __cpp_lib_constexpr_string. 6897 1.1 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: 6898 1.1 mrg Likewise. 6899 1.1 mrg * testsuite/21_strings/char_traits/requirements/version.cc: New test. 6900 1.1 mrg 6901 1.1 mrg 2021-04-28 Jonathan Wakely <jwakely (a] redhat.com> 6902 1.1 mrg 6903 1.1 mrg * doc/Makefile.am (stamp-pdf-doxygen): Improve comment about 6904 1.1 mrg dealing with errors. Use '@' to prevent shell command being 6905 1.1 mrg echoed. 6906 1.1 mrg * doc/Makefile.in: Regenerate. 6907 1.1 mrg 6908 1.1 mrg 2021-04-28 Jonathan Wakely <jwakely (a] redhat.com> 6909 1.1 mrg 6910 1.1 mrg PR libstdc++/100298 6911 1.1 mrg * include/bits/std_thread.h (thread::hardware_concurrency): Add 6912 1.1 mrg missing noexcept to inline definition for non-gthreads targets. 6913 1.1 mrg 6914 1.1 mrg 2021-04-28 Patrick Palka <ppalka (a] redhat.com> 6915 1.1 mrg 6916 1.1 mrg PR libstdc++/100187 6917 1.1 mrg PR libstdc++/100237 6918 1.1 mrg PR libstdc++/100249 6919 1.1 mrg PR libstdc++/100287 6920 1.1 mrg * include/bits/ranges_algo.h (__search_n_fn::operator()): Give 6921 1.1 mrg the __value_comp lambda an explicit bool return type. 6922 1.1 mrg (__is_permutation_fn::operator()): Give the __proj_scan local 6923 1.1 mrg variable auto&& return type. Give the __comp_scan lambda an 6924 1.1 mrg explicit bool return type. 6925 1.1 mrg (__remove_fn::operator()): Give the __pred lambda an explicit 6926 1.1 mrg bool return type. 6927 1.1 mrg (__partition_fn::operator()): Don't std::move __first twice 6928 1.1 mrg when returning an empty subrange. 6929 1.1 mrg (__min_fn::operator()): Don't std::move __comp. 6930 1.1 mrg (__max_fn::operator()): Likewise. 6931 1.1 mrg (__minmax_fn::operator()): Likewise. 6932 1.1 mrg 6933 1.1 mrg 2021-04-27 Patrick Palka <ppalka (a] redhat.com> 6934 1.1 mrg 6935 1.1 mrg PR libstdc++/100290 6936 1.1 mrg * include/std/ranges (join_view::_Iterator::operator++): Correct 6937 1.1 mrg the return type of the lambda to avoid returning a copy of 6938 1.1 mrg _M_parent->_M_inner. 6939 1.1 mrg * testsuite/std/ranges/adaptors/join.cc (test10): New test. 6940 1.1 mrg 6941 1.1 mrg 2021-04-27 Jakub Jelinek <jakub (a] redhat.com> 6942 1.1 mrg 6943 1.1 mrg Revert: 6944 1.1 mrg 2021-04-22 Jakub Jelinek <jakub (a] redhat.com> 6945 1.1 mrg 6946 1.1 mrg PR target/100182 6947 1.1 mrg * testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for 6948 1.1 mrg ia32. 6949 1.1 mrg * testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for 6950 1.1 mrg ia32. 6951 1.1 mrg 6952 1.1 mrg 2021-04-27 Jonathan Wakely <jwakely (a] redhat.com> 6953 1.1 mrg 6954 1.1 mrg * include/experimental/internet (address_v6::bytes_type): Adjust 6955 1.1 mrg formatting. 6956 1.1 mrg (basic_endpoint): Define _M_is_v6() to put all checks for 6957 1.1 mrg AF_INET6 in one place. 6958 1.1 mrg (basic_endpoint::resize): Simplify. 6959 1.1 mrg (operator==(const tcp&, const tcp&)): Add constexpr and noexcept. 6960 1.1 mrg (operator!=(const tcp&, const tcp&)): Likewise. 6961 1.1 mrg (operator==(const udp&, const udp&)): Likewise. 6962 1.1 mrg (operator!=(const udp&, const udp&)): Likewise. 6963 1.1 mrg * testsuite/experimental/net/internet/tcp.cc: New test. 6964 1.1 mrg * testsuite/experimental/net/internet/udp.cc: New test. 6965 1.1 mrg 6966 1.1 mrg 2021-04-27 Jonathan Wakely <jwakely (a] redhat.com> 6967 1.1 mrg 6968 1.1 mrg PR libstdc++/100286 6969 1.1 mrg * include/experimental/internet (resolver_errc, resolver_category()) 6970 1.1 mrg (make_error_code, make_error_condition): Define unconditionally, 6971 1.1 mrg only make enumerators and use of gai_strerror depend on the 6972 1.1 mrg availability of <netdb.h>. 6973 1.1 mrg (address_v4::to_string): Use correct constant for string length. 6974 1.1 mrg (address_v4::to_string, address_v6::to_string): Define 6975 1.1 mrg unconditionally, throw if unsupported. 6976 1.1 mrg (make_address_v4, make_address_v6): Define unconditionally. 6977 1.1 mrg Return an error if unsupported. 6978 1.1 mrg (tcp, udp, v6_only, unicast::hops, multicast::*): Define 6979 1.1 mrg conditionally, 6980 1.1 mrg * testsuite/experimental/net/internet/socket/opt.cc: Check for 6981 1.1 mrg <netinet/in.h> and <netinet/tcp.h> before using types from 6982 1.1 mrg namespace net::ip. 6983 1.1 mrg 6984 1.1 mrg 2021-04-27 Jonathan Wakely <jwakely (a] redhat.com> 6985 1.1 mrg 6986 1.1 mrg PR libstdc++/100285 6987 1.1 mrg * include/experimental/internet (resolver_base::flags): 6988 1.1 mrg Define overloaded operators as hidden friends. 6989 1.1 mrg * include/experimental/socket (socket_base::message_flags): 6990 1.1 mrg Likewise. 6991 1.1 mrg 6992 1.1 mrg 2021-04-26 Jonathan Wakely <jwakely (a] redhat.com> 6993 1.1 mrg 6994 1.1 mrg * include/experimental/internet (tcp::no_delay, v6_only) 6995 1.1 mrg (unicast::hops, multicast::hops, multicast::enable_loopback): 6996 1.1 mrg Change access of base class and static data members. Add 6997 1.1 mrg using-declaration for __socket_crtp::operator=(_Tp). 6998 1.1 mrg (multicast::__mcastopt): New type. 6999 1.1 mrg (multicast::join_group, multicast::leave_group): Derive from 7000 1.1 mrg __mcastopt for common implementation. 7001 1.1 mrg * include/experimental/socket: Add comment. 7002 1.1 mrg * testsuite/experimental/net/internet/socket/opt.cc: New test. 7003 1.1 mrg * testsuite/experimental/net/socket/socket_base.cc: Check for 7004 1.1 mrg protected constructor/destructor of socket_base. Check for 7005 1.1 mrg explicit constructors of socket option classes. 7006 1.1 mrg 7007 1.1 mrg 2021-04-26 Jonathan Wakely <jwakely (a] redhat.com> 7008 1.1 mrg 7009 1.1 mrg * include/experimental/bits/net.h (__socket_base): Add 7010 1.1 mrg bool template parameter to allow BooleanSocketOption and 7011 1.1 mrg IntegerSocketOption to have different __socket_base<int> 7012 1.1 mrg base classes. 7013 1.1 mrg (__socket_base<bool>): Adjust base class. 7014 1.1 mrg (__socket_base<int>): Add partial specialization. 7015 1.1 mrg (__socket_crtp::operator=(_Tp)): Add noexcept-specifier. 7016 1.1 mrg * include/experimental/socket (socket_base::broadcast) 7017 1.1 mrg (socket_base::debug, socket_base::do_not_route) 7018 1.1 mrg (socket_base::keep_alive, socket_base::linger) 7019 1.1 mrg (socket_base::out_of_band_inline) 7020 1.1 mrg (socket_base::receive_buffer_size) 7021 1.1 mrg (socket_base::receive_low_watermark) 7022 1.1 mrg (socket_base::reuse_address, socket_base::send_buffer_size) 7023 1.1 mrg (socket_base::send_low_watermark): Add using-declaration for 7024 1.1 mrg __socket_crtp::operator=(_Tp). 7025 1.1 mrg * testsuite/experimental/net/socket/socket_base.cc: Check 7026 1.1 mrg properties of socket option types. 7027 1.1 mrg 7028 1.1 mrg 2021-04-26 Jonathan Wakely <jwakely (a] redhat.com> 7029 1.1 mrg 7030 1.1 mrg * include/experimental/internet (resolver_base::flags): Remove 7031 1.1 mrg enumerators. Initialize constants directly with desired values. 7032 1.1 mrg Make all operators constexpr and noexcept. 7033 1.1 mrg * testsuite/experimental/net/internet/resolver/base.cc: Use 7034 1.1 mrg __gnu_test::test_bitmask_values for bitmask type. Check 7035 1.1 mrg construction and destruction is protected. 7036 1.1 mrg 7037 1.1 mrg 2021-04-26 Jonathan Wakely <jwakely (a] redhat.com> 7038 1.1 mrg 7039 1.1 mrg * include/bits/semaphore_base.h: Include <exception> and <errno.h>. 7040 1.1 mrg 7041 1.1 mrg 2021-04-26 Jonathan Wakely <jwakely (a] redhat.com> 7042 1.1 mrg 7043 1.1 mrg PR libstdc++/100259 7044 1.1 mrg * include/experimental/internet (net::ip::make_error_code) 7045 1.1 mrg (net::ip::make_error_condition, net::ip::make_network_v4) 7046 1.1 mrg (net::ip::operator==(const udp&, const udp&)): Add 'inline'. 7047 1.1 mrg 7048 1.1 mrg 2021-04-24 David Edelsohn <dje.gcc (a] gmail.com> 7049 1.1 mrg 7050 1.1 mrg * testsuite/lib/dg-options.exp (atomic_link_flags): New. 7051 1.1 mrg (add_options_for_libatomic): Use atomic_link_flags. 7052 1.1 mrg 7053 1.1 mrg 2021-04-23 Jonathan Wakely <jwakely (a] redhat.com> 7054 1.1 mrg 7055 1.1 mrg PR libstdc++/100180 7056 1.1 mrg * include/experimental/io_context (io_context): Define 7057 1.1 mrg dummy_pollfd type so that most member functions still compile 7058 1.1 mrg without <poll.h> and struct pollfd. 7059 1.1 mrg 7060 1.1 mrg 2021-04-23 Jonathan Wakely <jwakely (a] redhat.com> 7061 1.1 mrg 7062 1.1 mrg * include/experimental/io_context (io_context::async_wait): Add 7063 1.1 mrg comment. 7064 1.1 mrg * include/experimental/socket (basic_socket::async_connect): 7065 1.1 mrg Cast wait_type constant to int. 7066 1.1 mrg (basic_datagram_socket::async_receive): Likewise. 7067 1.1 mrg (basic_datagram_socket::async_receive_from): Likewise. 7068 1.1 mrg (basic_datagram_socket::async_send): Likewise. 7069 1.1 mrg (basic_datagram_socket::async_send_to): Likewise. 7070 1.1 mrg (basic_stream_socket::async_receive): Likewise. 7071 1.1 mrg (basic_stream_socket::async_send): Likewise. Use io_context 7072 1.1 mrg parameter directly, instead of via an executor. 7073 1.1 mrg (basic_socket_acceptor::async_accept): Likewise. 7074 1.1 mrg 7075 1.1 mrg 2021-04-23 Jonathan Wakely <jwakely (a] redhat.com> 7076 1.1 mrg 7077 1.1 mrg * include/experimental/socket (socket_base::shutdown_type): 7078 1.1 mrg (socket_base::wait_type, socket_base::message_flags): 7079 1.1 mrg Remove enumerators. Initialize constants directly with desired 7080 1.1 mrg values. 7081 1.1 mrg (socket_base::message_flags): Make all operators constexpr and 7082 1.1 mrg noexcept. 7083 1.1 mrg * testsuite/util/testsuite_common_types.h (test_bitmask_values): 7084 1.1 mrg New test utility. 7085 1.1 mrg * testsuite/experimental/net/socket/socket_base.cc: New test. 7086 1.1 mrg 7087 1.1 mrg 2021-04-22 David Edelsohn <dje.gcc (a] gmail.com> 7088 1.1 mrg 7089 1.1 mrg * config/os/aix/atomicity.h: Delete. 7090 1.1 mrg 7091 1.1 mrg 2021-04-22 Jonathan Wakely <jwakely (a] redhat.com> 7092 1.1 mrg 7093 1.1 mrg * include/bits/atomic_timed_wait.h (__cond_wait_until_impl): 7094 1.1 mrg Handle system_clock as well as steady_clock. 7095 1.1 mrg * testsuite/30_threads/semaphore/try_acquire_for.cc: Re-enable. 7096 1.1 mrg * testsuite/30_threads/semaphore/try_acquire_until.cc: 7097 1.1 mrg Re-enable. 7098 1.1 mrg 7099 1.1 mrg 2021-04-22 Jonathan Wakely <jwakely (a] redhat.com> 7100 1.1 mrg 7101 1.1 mrg * testsuite/30_threads/semaphore/try_acquire_posix.cc: Add 7102 1.1 mrg options for libatomic. 7103 1.1 mrg 7104 1.1 mrg 2021-04-22 Jonathan Wakely <jwakely (a] redhat.com> 7105 1.1 mrg 7106 1.1 mrg * config/os/gnu-linux/os_defines.h: Fix type in comment. 7107 1.1 mrg 7108 1.1 mrg 2021-04-22 Jonathan Wakely <jwakely (a] redhat.com> 7109 1.1 mrg 7110 1.1 mrg PR libstdc++/99006 7111 1.1 mrg * include/bits/shared_ptr.h (allocate_shared): Assert that _Tp 7112 1.1 mrg is not an array type. 7113 1.1 mrg * include/bits/shared_ptr_base.h (__allocate_shared): Likewise. 7114 1.1 mrg * testsuite/20_util/shared_ptr/creation/99006.cc: New test. 7115 1.1 mrg 7116 1.1 mrg 2021-04-22 Thomas Rodgers <rodgert (a] twrodgers.com> 7117 1.1 mrg 7118 1.1 mrg * include/bits/atomic_wait.h: Always notify waiters in the 7119 1.1 mrg case of 'bare' address notification. 7120 1.1 mrg 7121 1.1 mrg 2021-04-22 Jakub Jelinek <jakub (a] redhat.com> 7122 1.1 mrg 7123 1.1 mrg PR target/100182 7124 1.1 mrg * testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for 7125 1.1 mrg ia32. 7126 1.1 mrg * testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for 7127 1.1 mrg ia32. 7128 1.1 mrg 7129 1.1 mrg 2021-04-22 Jonathan Wakely <jwakely (a] redhat.com> 7130 1.1 mrg 7131 1.1 mrg PR libstdc++/100179 7132 1.1 mrg * include/bits/semaphore_base.h: Remove #error. 7133 1.1 mrg * include/std/semaphore: Do not define anything unless one of 7134 1.1 mrg the implementations is available. 7135 1.1 mrg 7136 1.1 mrg 2021-04-21 Thomas Rodgers <rodgert (a] twrodgers.com> 7137 1.1 mrg 7138 1.1 mrg * include/bits/semaphore_base.h: Always reload __old in 7139 1.1 mrg __atomic_semaphore::_S_do_try_acquire(). 7140 1.1 mrg * testsuite/30_threads/stop_token/stop_callback/destroy.cc: 7141 1.1 mrg re-enable testcase. 7142 1.1 mrg 7143 1.1 mrg 2021-04-21 Philippe Blain <levraiphilippeblain (a] gmail.com> 7144 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 7145 1.1 mrg 7146 1.1 mrg PR libstdc++/99453 7147 1.1 mrg * python/Makefile.am: Install libstdc++*-gdb.py more robustly. 7148 1.1 mrg * python/Makefile.in: Regenerate. 7149 1.1 mrg 7150 1.1 mrg 2021-04-21 Thomas Rodgers <rodgert (a] twrodgers.com> 7151 1.1 mrg 7152 1.1 mrg * include/bits/semaphore_base.h: Add missing _M_try_acquire() 7153 1.1 mrg member to __platform_wait. 7154 1.1 mrg 7155 1.1 mrg 2021-04-21 Jonathan Wakely <jwakely (a] redhat.com> 7156 1.1 mrg 7157 1.1 mrg * include/std/latch: Replace tab characters in license text. 7158 1.1 mrg * include/std/semaphore: Likewise. 7159 1.1 mrg 7160 1.1 mrg 2021-04-21 Jakub Jelinek <jakub (a] redhat.com> 7161 1.1 mrg 7162 1.1 mrg PR libstdc++/100164 7163 1.1 mrg * acinclude.m4: For POSIX semaphores AC_DEFINE HAVE_POSIX_SEMAPHORE 7164 1.1 mrg rather than _GLIBCXX_HAVE_POSIX_SEMAPHORE. 7165 1.1 mrg * configure: Regenerated. 7166 1.1 mrg * config.h.in: Regenerated. 7167 1.1 mrg 7168 1.1 mrg 2021-04-20 Jonathan Wakely <jwakely (a] redhat.com> 7169 1.1 mrg 7170 1.1 mrg * testsuite/30_threads/semaphore/try_acquire_for.cc: Disable 7171 1.1 mrg test for targets not using futexes for semaphores. 7172 1.1 mrg * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. 7173 1.1 mrg * testsuite/30_threads/stop_token/stop_callback/destroy.cc: 7174 1.1 mrg Disable for all targets. 7175 1.1 mrg 7176 1.1 mrg 2021-04-20 Thomas Rodgers <trodgers (a] redhat.com> 7177 1.1 mrg 7178 1.1 mrg * include/Makefile.am: Add new <bits/this_thread_sleep.h> header. 7179 1.1 mrg * include/Makefile.in: Regenerate. 7180 1.1 mrg * include/bits/this_thread_sleep.h: New file. 7181 1.1 mrg * include/bits/atomic_base.h: Adjust all calls 7182 1.1 mrg to __atomic_wait/__atomic_notify for new call signatures. 7183 1.1 mrg * include/bits/atomic_timed_wait.h: Extensive rewrite. 7184 1.1 mrg * include/bits/atomic_wait.h: Likewise. 7185 1.1 mrg * include/bits/semaphore_base.h: Adjust all calls 7186 1.1 mrg to __atomic_wait/__atomic_notify for new call signatures. 7187 1.1 mrg * include/std/atomic: Likewise. 7188 1.1 mrg * include/std/barrier: Likewise. 7189 1.1 mrg * include/std/latch: Likewise. 7190 1.1 mrg * include/std/semaphore: Likewise. 7191 1.1 mrg * include/std/thread (this_thread::sleep_for) 7192 1.1 mrg (this_thread::sleep_until): Move to new header. 7193 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/bool.cc: Simplify 7194 1.1 mrg test. 7195 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise. 7196 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. 7197 1.1 mrg * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. 7198 1.1 mrg * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise. 7199 1.1 mrg * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. 7200 1.1 mrg * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise. 7201 1.1 mrg 7202 1.1 mrg 2021-04-20 Patrick Palka <ppalka (a] redhat.com> 7203 1.1 mrg 7204 1.1 mrg PR libstdc++/95983 7205 1.1 mrg * include/bits/stl_iterator.h (__detail::__move_iter_cat): 7206 1.1 mrg Define. 7207 1.1 mrg (move_iterator): Derive from the above in C++20 in order to 7208 1.1 mrg conditionally define iterator_category as per P2259. 7209 1.1 mrg (move_iterator::__base_cat): No longer used, so remove. 7210 1.1 mrg (move_iterator::iterator_category): Remove in C++20. 7211 1.1 mrg (__detail::__common_iter_use_postfix_proxy): Define. 7212 1.1 mrg (common_iterator::_Proxy): Rename to ... 7213 1.1 mrg (common_iterator:__arrow_proxy): ... this. 7214 1.1 mrg (common_iterator::__postfix_proxy): Define as per P2259. 7215 1.1 mrg (common_iterator::operator->): Adjust. 7216 1.1 mrg (common_iterator::operator++): Adjust as per P2259. 7217 1.1 mrg (iterator_traits<common_iterator>::_S_iter_cat): Define. 7218 1.1 mrg (iterator_traits<common_iterator>::iterator_category): Change as 7219 1.1 mrg per P2259. 7220 1.1 mrg (__detail::__counted_iter_value_type): Define. 7221 1.1 mrg (__detail::__counted_iter_concept): Define. 7222 1.1 mrg (__detail::__counted_iter_cat): Define. 7223 1.1 mrg (counted_iterator): Derive from the above three classes in order 7224 1.1 mrg to conditionally define value_type, iterator_concept and 7225 1.1 mrg iterator category respectively as per P2259. 7226 1.1 mrg (counted_iterator::operator->): Define as per P2259. 7227 1.1 mrg (incrementable_traits<counted_iterator>): Remove as per P2259. 7228 1.1 mrg (iterator_traits<counted_iterator>): Adjust as per P2259. 7229 1.1 mrg * include/std/ranges (__detail::__iota_view_iter_cat): Define. 7230 1.1 mrg (iota_view::_Iterator): Derive from the above in order to 7231 1.1 mrg conditionally define iterator_category as per P2259. 7232 1.1 mrg (iota_view::_S_iter_cat): Rename to ... 7233 1.1 mrg (iota_view::_S_iter_concept): ... this. 7234 1.1 mrg (iota_view::iterator_concept): Use it to apply LWG 3291 changes. 7235 1.1 mrg (iota_view::iterator_category): Remove. 7236 1.1 mrg (__detail::__filter_view_iter_cat): Define. 7237 1.1 mrg (filter_view::_Iterator): Derive from the above in order to 7238 1.1 mrg conditionally define iterator_category as per P2259. 7239 1.1 mrg (filter_view::_Iterator): Move to struct __filter_view_iter_cat. 7240 1.1 mrg (filter_view::_Iterator::iterator_category): Remove. 7241 1.1 mrg (transform_view::_Base): Define. 7242 1.1 mrg (transform_view::__iter_cat): Define. 7243 1.1 mrg (transform_view::_Iterator): Derive from the above in order to 7244 1.1 mrg conditionally define iterator_category as per P2259. 7245 1.1 mrg (transform_view::_Iterator::_Base): Just alias 7246 1.1 mrg transform_view::_Base. 7247 1.1 mrg (transform_view::_Iterator::_S_iter_cat): Move to struct 7248 1.1 mrg transform_view::__iter_cat. 7249 1.1 mrg (transform_view::_Iterator::iterator_category): Remove. 7250 1.1 mrg (transform_view::_Sentinel::_Base): Just alias 7251 1.1 mrg transform_view::_Base. 7252 1.1 mrg (join_view::_Base): Define. 7253 1.1 mrg (join_view::_Outer_iter): Define. 7254 1.1 mrg (join_view::_Inner_iter): Define. 7255 1.1 mrg (join_view::_S_ref_is_glvalue): Define. 7256 1.1 mrg (join_view::__iter_cat): Define. 7257 1.1 mrg (join_view::_Iterator): Derive from it in order to conditionally 7258 1.1 mrg define iterator_category as per P2259. 7259 1.1 mrg (join_view::_Iterator::_Base): Just alias join_view::_Base. 7260 1.1 mrg (join_view::_Iterator::_S_ref_is_glvalue): Just alias 7261 1.1 mrg join_view::_S_ref_is_glvalue. 7262 1.1 mrg (join_view::_Iterator::_S_iter_cat): Move to struct 7263 1.1 mrg transform_view::__iter_cat. 7264 1.1 mrg (join_view::_Iterator::_Outer_iter): Just alias 7265 1.1 mrg join_view::_Outer_iter. 7266 1.1 mrg (join_view::_Iterator::_Inner_iter): Just alias 7267 1.1 mrg join_view::_Inner_iter. 7268 1.1 mrg (join_view::_Iterator::iterator_category): Remove. 7269 1.1 mrg (join_view::_Sentinel::_Base): Just alias join_view::_Base. 7270 1.1 mrg (__detail::__split_view_outer_iter_cat): Define. 7271 1.1 mrg (__detail::__split_view_inner_iter_cat): Define. 7272 1.1 mrg (split_view::_Base): Define. 7273 1.1 mrg (split_view::_Outer_iter): Derive from __split_view_outer_iter_cat 7274 1.1 mrg in order to conditionally define iterator_category as per P2259. 7275 1.1 mrg (split_view::_Outer_iter::iterator_category): Remove. 7276 1.1 mrg (split_view::_Inner_iter): Derive from __split_view_inner_iter_cat 7277 1.1 mrg in order to conditionally define iterator_category as per P2259. 7278 1.1 mrg (split_view::_Inner_iter::_S_iter_cat): Move to 7279 1.1 mrg __split_view_inner_iter_cat. 7280 1.1 mrg (split_view::_Inner_iter::iterator_category): Remove. 7281 1.1 mrg (elements_view::_Base): Define. 7282 1.1 mrg (elements_view::__iter_cat): Define. 7283 1.1 mrg (elements_view::_Iterator): Derive from the above in order to 7284 1.1 mrg conditionall define iterator_category as per P2259. 7285 1.1 mrg (elements_view::_Iterator::_Base): Just alias 7286 1.1 mrg elements_view::_Base. 7287 1.1 mrg (elements_view::_Iterator::_S_iter_concept) 7288 1.1 mrg (elements_view::_Iterator::iterator_concept): Define as per 7289 1.1 mrg P2259. 7290 1.1 mrg (elements_view::_Iterator::iterator_category): Remove. 7291 1.1 mrg (elements_view::_Sentinel::_Base): Just alias 7292 1.1 mrg elements_view::_Base. 7293 1.1 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: 7294 1.1 mrg Adjust constraints on iterator_traits<counted_iterator>. 7295 1.1 mrg * testsuite/std/ranges/p2259.cc: New test. 7296 1.1 mrg 7297 1.1 mrg 2021-04-20 Jonathan Wakely <jwakely (a] redhat.com> 7298 1.1 mrg 7299 1.1 mrg PR libstdc++/100146 7300 1.1 mrg * include/std/charconv (__cpp_lib_to_chars): Define 7301 1.1 mrg conditionally. 7302 1.1 mrg * include/std/version (__cpp_lib_to_chars): Likewise.. 7303 1.1 mrg * testsuite/20_util/from_chars/4.cc: Only check feature test 7304 1.1 mrg macro, not _GLIBCXX_HAVE_USELOCALE. 7305 1.1 mrg * testsuite/20_util/from_chars/5.cc: Likewise. 7306 1.1 mrg * testsuite/20_util/from_chars/6.cc: Likewise. 7307 1.1 mrg * testsuite/20_util/to_chars/long_double.cc: Likewise. 7308 1.1 mrg 7309 1.1 mrg 2021-04-20 Jakub Jelinek <jakub (a] redhat.com> 7310 1.1 mrg 7311 1.1 mrg * testsuite/util/testsuite_abi.cc (compare_symbols): If any symbol 7312 1.1 mrg versions with _IEEE128_ substring are found, set ieee_version_found 7313 1.1 mrg to true. Ignore missing symbols with _IEEE128_ in version name if 7314 1.1 mrg !ieee_version_found. Use i->first as version_name instead of 7315 1.1 mrg i->second.version_name if the latter is empty. 7316 1.1 mrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 7317 1.1 mrg 7318 1.1 mrg 2021-04-19 H.J. Lu <hjl.tools (a] gmail.com> 7319 1.1 mrg 7320 1.1 mrg * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: 7321 1.1 mrg Updated. 7322 1.1 mrg 7323 1.1 mrg 2021-04-17 Jakub Jelinek <jakub (a] redhat.com> 7324 1.1 mrg 7325 1.1 mrg * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. 7326 1.1 mrg * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. 7327 1.1 mrg 7328 1.1 mrg 2021-04-17 Jakub Jelinek <jakub (a] redhat.com> 7329 1.1 mrg 7330 1.1 mrg * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. 7331 1.1 mrg * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. 7332 1.1 mrg * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. 7333 1.1 mrg * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. 7334 1.1 mrg * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. 7335 1.1 mrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 7336 1.1 mrg 7337 1.1 mrg 2021-04-15 Jonathan Wakely <jwakely (a] redhat.com> 7338 1.1 mrg 7339 1.1 mrg * testsuite/lib/dg-options.exp (add_options_for_libatomic): Also 7340 1.1 mrg add libatomic options for 32-bit sparc*-*-linux-gnu. 7341 1.1 mrg 7342 1.1 mrg 2021-04-15 Jonathan Wakely <jwakely (a] redhat.com> 7343 1.1 mrg 7344 1.1 mrg PR libstdc++/96657 7345 1.1 mrg * libsupc++/Makefile.am: Add atomicity.cc here. 7346 1.1 mrg * src/c++98/Makefile.am: Remove it from here. 7347 1.1 mrg * libsupc++/Makefile.in: Regenerate. 7348 1.1 mrg * src/c++98/Makefile.in: Regenerate. 7349 1.1 mrg * testsuite/18_support/exception_ptr/96657.cc: New test. 7350 1.1 mrg 7351 1.1 mrg 2021-04-13 Jonathan Wakely <jwakely (a] redhat.com> 7352 1.1 mrg 7353 1.1 mrg PR libstdc++/100060 7354 1.1 mrg * include/std/bit: Only include <ext/numeric_traits.h> for 7355 1.1 mrg hosted build, use <limits> otherwise. 7356 1.1 mrg 7357 1.1 mrg 2021-04-13 Jonathan Wakely <jwakely (a] redhat.com> 7358 1.1 mrg 7359 1.1 mrg * doc/xml/manual/backwards_compatibility.xml: Remove porting 7360 1.1 mrg notes for libg++ and libstdc++-v2, and bibliography. 7361 1.1 mrg * doc/html/*: Regenerated. 7362 1.1 mrg 7363 1.1 mrg 2021-04-12 Jonathan Wakely <jwakely (a] redhat.com> 7364 1.1 mrg 7365 1.1 mrg PR libstdc++/100044 7366 1.1 mrg * include/bits/ranges_util.h (__detail::__iterator_sentinel_pair): 7367 1.1 mrg Remove helper concept. 7368 1.1 mrg (subrange(_Pr), subrange(Pr, __make_unsigned_like<...>)): Remove 7369 1.1 mrg deduction guides, as per LWG 3404. 7370 1.1 mrg * testsuite/std/ranges/subrange/lwg3282_neg.cc: Check that class 7371 1.1 mrg template argument deduction fails. 7372 1.1 mrg 7373 1.1 mrg 2021-04-12 Jonathan Wakely <jwakely (a] redhat.com> 7374 1.1 mrg 7375 1.1 mrg * testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc: 7376 1.1 mrg Adjust expected error for C++20 mode. 7377 1.1 mrg * testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc: 7378 1.1 mrg Likewise. 7379 1.1 mrg 7380 1.1 mrg 2021-04-12 Jonathan Wakely <jwakely (a] redhat.com> 7381 1.1 mrg 7382 1.1 mrg PR libstdc++/99995 7383 1.1 mrg * testsuite/17_intro/headers/c++1998/49745.cc: Include all 7384 1.1 mrg standard headers and XFAIL for effective-target c++20. 7385 1.1 mrg 7386 1.1 mrg 2021-04-09 Franois Dumont <fdumont (a] gcc.gnu.org> 7387 1.1 mrg 7388 1.1 mrg PR libstdc++/99402 7389 1.1 mrg * include/debug/helper_functions.h (__can_advance(_InputIterator, 7390 1.1 mrg const std::pair<_Diff, _Distance_precision>&, int)): New. 7391 1.1 mrg (__can_advance(const _Safe_iterator<>&, 7392 1.1 mrg const std::pair<_Diff, _Distance_precision>&, int)): New. 7393 1.1 mrg * include/debug/macros.h (__glibcxx_check_can_increment_dist): New, 7394 1.1 mrg use latter. 7395 1.1 mrg (__glibcxx_check_can_increment_range): Adapt to use latter. 7396 1.1 mrg (__glibcxx_check_can_decrement_range): Likewise. 7397 1.1 mrg * include/debug/safe_iterator.h 7398 1.1 mrg (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&, 7399 1.1 mrg int)): New. 7400 1.1 mrg (__can_advance(const _Safe_iterator<>&, 7401 1.1 mrg const std::pair<_Diff, _Distance_precision>&, int)): New. 7402 1.1 mrg * include/debug/safe_iterator.tcc 7403 1.1 mrg (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&, 7404 1.1 mrg int)): New. 7405 1.1 mrg (_Safe_iterator<>::_M_valid_range(const _Safe_iterator<>&, 7406 1.1 mrg std::pair<difference_type, _Distance_precision>&, bool)): Adapt for 7407 1.1 mrg __dp_sign_max_size. 7408 1.1 mrg (__copy_move_a): Adapt to use __glibcxx_check_can_increment_dist. 7409 1.1 mrg (__copy_move_backward_a): Likewise. 7410 1.1 mrg (__equal_aux): Likewise. 7411 1.1 mrg * include/debug/stl_iterator.h (__can_advance(const std::reverse_iterator<>&, 7412 1.1 mrg const std::pair<_Diff, _Distance_precision>&, int)): New. 7413 1.1 mrg (__can_advance(const std::move_iterator<>&, 7414 1.1 mrg const std::pair<_Diff, _Distance_precision>&, int)): New. 7415 1.1 mrg * testsuite/25_algorithms/copy/debug/99402.cc: New test. 7416 1.1 mrg 7417 1.1 mrg 2021-04-09 Jonathan Wakely <jwakely (a] redhat.com> 7418 1.1 mrg 7419 1.1 mrg PR libstdc++/99985 7420 1.1 mrg * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): Fix 7421 1.1 mrg to be a valid constexpr function in C++11. 7422 1.1 mrg * testsuite/23_containers/unordered_set/cons/99985.cc: New test. 7423 1.1 mrg 7424 1.1 mrg 2021-04-09 Jonathan Wakely <jwakely (a] redhat.com> 7425 1.1 mrg 7426 1.1 mrg * include/bits/fs_fwd.h: Fix doxygen group command. 7427 1.1 mrg * include/bits/streambuf_iterator.h: Likewise. 7428 1.1 mrg * include/bits/uses_allocator_args.h: Likewise. 7429 1.1 mrg * include/std/memory: Likewise. 7430 1.1 mrg * include/tr1/complex: Likewise. 7431 1.1 mrg 7432 1.1 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com> 7433 1.1 mrg 7434 1.1 mrg * include/bits/basic_string.h: Tweak doxygen comment. 7435 1.1 mrg 7436 1.1 mrg 2021-04-08 Patrick Palka <ppalka (a] redhat.com> 7437 1.1 mrg 7438 1.1 mrg * include/std/ranges (__detail::find): Define. 7439 1.1 mrg (split_view::_OuterIter::operator++): Apply proposed resolution 7440 1.1 mrg of LWG 3505. 7441 1.1 mrg * testsuite/std/ranges/adaptors/split.cc (test10): New test. 7442 1.1 mrg 7443 1.1 mrg 2021-04-08 Patrick Palka <ppalka (a] redhat.com> 7444 1.1 mrg 7445 1.1 mrg * include/std/ranges (__detail::find_if): Simplify. 7446 1.1 mrg (__detail::find_if_not): Likewise. 7447 1.1 mrg (__detail::min): Remove. 7448 1.1 mrg (__detail::mismatch): Simplify. 7449 1.1 mrg (take_view::size): Use std::min instead of __detail::min. 7450 1.1 mrg 7451 1.1 mrg 2021-04-08 Patrick Palka <ppalka (a] redhat.com> 7452 1.1 mrg 7453 1.1 mrg * include/std/ranges (__detail::__returnable_element): New 7454 1.1 mrg concept. 7455 1.1 mrg (elements_view): Use this concept in its constraints. Add 7456 1.1 mrg missing private access specifier. 7457 1.1 mrg (elements_view::_S_get_element): Define as per LWG 3502. 7458 1.1 mrg (elements_view::operator*, elements_view::operator[]): Use 7459 1.1 mrg _S_get_element. 7460 1.1 mrg (elements_view::operator++): Remove unnecessary constraint 7461 1.1 mrg as per LWG 3492. 7462 1.1 mrg * testsuite/std/ranges/adaptors/elements.cc (test05): New test. 7463 1.1 mrg 7464 1.1 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com> 7465 1.1 mrg 7466 1.1 mrg * doc/Makefile.am (stamp-pdf-doxygen): Also grep for 7467 1.1 mrg out-of-memory error in log file. 7468 1.1 mrg * doc/Makefile.in: Regenerate. 7469 1.1 mrg 7470 1.1 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com> 7471 1.1 mrg 7472 1.1 mrg * configure: Regenerate. 7473 1.1 mrg 7474 1.1 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com> 7475 1.1 mrg 7476 1.1 mrg * include/bits/random.h: Fix doxygen group commands. 7477 1.1 mrg * include/bits/regex_constants.h: Likewise. 7478 1.1 mrg * include/tr1/random.h: Likewise. 7479 1.1 mrg 7480 1.1 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com> 7481 1.1 mrg 7482 1.1 mrg * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): 7483 1.1 mrg New function to determine noexcept-specifier for move 7484 1.1 mrg constructors. 7485 1.1 mrg (_Hashtable): Use _S_nothrow_move() on move constructors. 7486 1.1 mrg * testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc: 7487 1.1 mrg Correct static assertion message. 7488 1.1 mrg * testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc: 7489 1.1 mrg Likewise. 7490 1.1 mrg * testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc: 7491 1.1 mrg Likewise. 7492 1.1 mrg * testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc: 7493 1.1 mrg Likewise. 7494 1.1 mrg 7495 1.1 mrg 2021-04-08 Patrick Palka <ppalka (a] redhat.com> 7496 1.1 mrg 7497 1.1 mrg PR libstdc++/98384 7498 1.1 mrg * testsuite/20_util/to_chars/long_double.cc: Don't run the test 7499 1.1 mrg on targets without a large long double. XFAIL the execution on 7500 1.1 mrg targets with a non-conforming printf. 7501 1.1 mrg 7502 1.1 mrg 2021-04-08 Patrick Palka <ppalka (a] redhat.com> 7503 1.1 mrg 7504 1.1 mrg PR libstdc++/99433 7505 1.1 mrg * include/std/ranges (__adaptor::__maybe_refwrap): Remove. 7506 1.1 mrg (__adaptor::__adaptor_invocable): New concept. 7507 1.1 mrg (__adaptor::__adaptor_partial_app_viable): New concept. 7508 1.1 mrg (__adaptor::_RangeAdaptorClosure): Rewrite, turning it into a 7509 1.1 mrg non-template base class. 7510 1.1 mrg (__adaptor::_RangeAdaptor): Rewrite, turning it into a CRTP base 7511 1.1 mrg class template. 7512 1.1 mrg (__adaptor::_Partial): New class template that represents 7513 1.1 mrg partial application of a range adaptor non-closure. 7514 1.1 mrg (__adaptor::__pipe_invocable): New concept. 7515 1.1 mrg (__adaptor::_Pipe): New class template. 7516 1.1 mrg (__detail::__can_ref_view): New concept. 7517 1.1 mrg (__detail::__can_subrange): New concept. 7518 1.1 mrg (all): Replace the lambda here with ... 7519 1.1 mrg (_All): ... this functor. Add appropriate constraints. 7520 1.1 mrg (__detail::__can_filter_view): New concept. 7521 1.1 mrg (filter, _Filter): As in all/_All. 7522 1.1 mrg (__detail::__can_transform): New concept. 7523 1.1 mrg (transform, _Transform): As in all/_All. 7524 1.1 mrg (__detail::__can_take_view): New concept. 7525 1.1 mrg (take, _Take): As in all/_All. 7526 1.1 mrg (__detail::__can_take_while_view): New concept. 7527 1.1 mrg (take_while, _TakeWhile): As in all/_All. 7528 1.1 mrg (__detail::__can_drop_view): New concept. 7529 1.1 mrg (drop, _Drop): As in all/_All. 7530 1.1 mrg (__detail::__can_drop_while_view): New concept. 7531 1.1 mrg (drop_while, _DropWhile): As in all/_All. 7532 1.1 mrg (__detail::__can_join_view): New concept. 7533 1.1 mrg (join, _Join): As in all/_All. 7534 1.1 mrg (__detail::__can_split_view): New concept. 7535 1.1 mrg (split, _Split): As in all/_All. Rename template parameter 7536 1.1 mrg _Fp to _Pattern. 7537 1.1 mrg (__detail::__already_common): New concept. 7538 1.1 mrg (__detail::__can_common_view): New concept. 7539 1.1 mrg (common, _Common): As in all/_All. 7540 1.1 mrg (__detail::__can_reverse_view): New concept. 7541 1.1 mrg (reverse, _Reverse): As in all/_All. 7542 1.1 mrg (__detail::__can_elements_view): New concept. 7543 1.1 mrg (elements, _Elements): As in all/_All. 7544 1.1 mrg (keys, values): Adjust. 7545 1.1 mrg * testsuite/std/ranges/adaptors/99433.cc: New test. 7546 1.1 mrg * testsuite/std/ranges/adaptors/all.cc: No longer expect that 7547 1.1 mrg adding empty range adaptor closure objects to a pipeline doesn't 7548 1.1 mrg increase the size of the pipeline. 7549 1.1 mrg (test05): New test. 7550 1.1 mrg * testsuite/std/ranges/adaptors/common.cc (test03): New test. 7551 1.1 mrg * testsuite/std/ranges/adaptors/drop.cc (test09): New test. 7552 1.1 mrg * testsuite/std/ranges/adaptors/drop_while.cc (test04): New test. 7553 1.1 mrg * testsuite/std/ranges/adaptors/elements.cc (test04): New test. 7554 1.1 mrg * testsuite/std/ranges/adaptors/filter.cc (test06): New test. 7555 1.1 mrg * testsuite/std/ranges/adaptors/join.cc (test09): New test. 7556 1.1 mrg * testsuite/std/ranges/adaptors/p2281.cc: New test. 7557 1.1 mrg * testsuite/std/ranges/adaptors/reverse.cc (test07): New test. 7558 1.1 mrg * testsuite/std/ranges/adaptors/split.cc (test01, test04): 7559 1.1 mrg Adjust. 7560 1.1 mrg (test09): New test. 7561 1.1 mrg * testsuite/std/ranges/adaptors/split_neg.cc (test01): Adjust 7562 1.1 mrg expected error message. 7563 1.1 mrg (test02): Likewise. Extend test. 7564 1.1 mrg * testsuite/std/ranges/adaptors/take.cc (test06): New test. 7565 1.1 mrg * testsuite/std/ranges/adaptors/take_while.cc (test05): New test. 7566 1.1 mrg * testsuite/std/ranges/adaptors/transform.cc (test07, test08): 7567 1.1 mrg New test. 7568 1.1 mrg 7569 1.1 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com> 7570 1.1 mrg 7571 1.1 mrg * include/std/string_view: Adjust Doxygen @file comment. 7572 1.1 mrg 7573 1.1 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com> 7574 1.1 mrg 7575 1.1 mrg * include/std/type_traits (is_scoped_enum<T>): Constrain partial 7576 1.1 mrg specialization to not match incomplete enum types. Use a 7577 1.1 mrg requires-expression instead of instantiating is_convertible. 7578 1.1 mrg (is_scoped_enum<const T>): Add as workaround for PR c++/99968. 7579 1.1 mrg * testsuite/20_util/is_scoped_enum/value.cc: Check with 7580 1.1 mrg incomplete types and opaque-enum-declarations. 7581 1.1 mrg 7582 1.1 mrg 2021-04-07 Jonathan Wakely <jwakely (a] redhat.com> 7583 1.1 mrg 7584 1.1 mrg PR libstdc++/99805 7585 1.1 mrg * src/c++17/fs_path.cc (path::_M_split_cmpts): Do not call 7586 1.1 mrg non-const member on _M_pathname, to avoid copy-on-write. 7587 1.1 mrg * testsuite/27_io/filesystem/path/decompose/parent_path.cc: 7588 1.1 mrg Check construction from strings that might be shared. 7589 1.1 mrg 7590 1.1 mrg 2021-04-06 Jonathan Wakely <jwakely (a] redhat.com> 7591 1.1 mrg 7592 1.1 mrg * include/bits/move.h (forward, move, move_if_noexcept) 7593 1.1 mrg (addressof): Add _GLIBCXX_NODISCARD. 7594 1.1 mrg * include/bits/ranges_cmp.h (identity::operator()): Add 7595 1.1 mrg nodiscard attribute. 7596 1.1 mrg * include/c_global/cstddef (to_integer): Likewise. 7597 1.1 mrg * include/std/bit (bit_cast): Likewise. 7598 1.1 mrg * include/std/utility (as_const, to_underlying): Likewise. 7599 1.1 mrg 7600 1.1 mrg 2021-04-06 Jonathan Wakely <jwakely (a] redhat.com> 7601 1.1 mrg 7602 1.1 mrg * include/bits/move.h (forward): Change static_assert message 7603 1.1 mrg to be unambiguous about what must be true. 7604 1.1 mrg * testsuite/20_util/forward/c_neg.cc: Adjust dg-error. 7605 1.1 mrg * testsuite/20_util/forward/f_neg.cc: Likewise. 7606 1.1 mrg 7607 1.1 mrg 2021-04-06 Jonathan Wakely <jwakely (a] redhat.com> 7608 1.1 mrg 7609 1.1 mrg * include/bits/alloc_traits.h: Use markdown for code font. 7610 1.1 mrg * include/bits/basic_string.h: Fix @param names. 7611 1.1 mrg * include/bits/max_size_type.h: Remove period after @file. 7612 1.1 mrg * include/bits/regex.h: Fix duplicate @retval names, and rename. 7613 1.1 mrg * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Add 7614 1.1 mrg group open to match existing group close. 7615 1.1 mrg * include/ext/pb_ds/priority_queue.hpp: Add blank line before group 7616 1.1 mrg open. 7617 1.1 mrg 7618 1.1 mrg 2021-04-06 Jonathan Wakely <jwakely (a] redhat.com> 7619 1.1 mrg 7620 1.1 mrg * include/bits/atomic_base.h: Fix doxygen group close. 7621 1.1 mrg * include/bits/basic_ios.h: Likewise. 7622 1.1 mrg * include/bits/forward_list.h: Likewise. 7623 1.1 mrg * include/bits/fs_dir.h: Likewise. 7624 1.1 mrg * include/bits/fs_ops.h: Likewise. 7625 1.1 mrg * include/bits/fs_path.h: Likewise. 7626 1.1 mrg * include/bits/functional_hash.h: Likewise. 7627 1.1 mrg * include/bits/gslice.h: Likewise. 7628 1.1 mrg * include/bits/gslice_array.h: Likewise. 7629 1.1 mrg * include/bits/hashtable_policy.h: Likewise. 7630 1.1 mrg * include/bits/indirect_array.h: Likewise. 7631 1.1 mrg * include/bits/locale_classes.h: Likewise. 7632 1.1 mrg * include/bits/locale_facets.h: Likewise. 7633 1.1 mrg * include/bits/locale_facets_nonio.h: Likewise. 7634 1.1 mrg * include/bits/mask_array.h: Likewise. 7635 1.1 mrg * include/bits/refwrap.h: Likewise. 7636 1.1 mrg * include/bits/regex.h: Likewise. 7637 1.1 mrg * include/bits/regex_automaton.h: Likewise. 7638 1.1 mrg * include/bits/regex_compiler.h: Likewise. 7639 1.1 mrg * include/bits/regex_constants.h: Likewise. 7640 1.1 mrg * include/bits/regex_error.h: Likewise. 7641 1.1 mrg * include/bits/regex_executor.h: Likewise. 7642 1.1 mrg * include/bits/regex_scanner.h: Likewise. 7643 1.1 mrg * include/bits/shared_ptr.h: Likewise. 7644 1.1 mrg * include/bits/shared_ptr_atomic.h: Likewise. 7645 1.1 mrg * include/bits/shared_ptr_base.h: Likewise. 7646 1.1 mrg * include/bits/slice_array.h: Likewise. 7647 1.1 mrg * include/bits/specfun.h: Likewise. 7648 1.1 mrg * include/bits/std_function.h: Likewise. 7649 1.1 mrg * include/bits/std_mutex.h: Likewise. 7650 1.1 mrg * include/bits/stl_deque.h: Likewise. 7651 1.1 mrg * include/bits/stl_iterator.h: Likewise. 7652 1.1 mrg * include/bits/stl_iterator_base_types.h: Likewise. 7653 1.1 mrg * include/bits/stl_map.h: Likewise. 7654 1.1 mrg * include/bits/stl_multimap.h: Likewise. 7655 1.1 mrg * include/bits/stl_multiset.h: Likewise. 7656 1.1 mrg * include/bits/stl_numeric.h: Likewise. 7657 1.1 mrg * include/bits/stl_pair.h: Likewise. 7658 1.1 mrg * include/bits/stl_set.h: Likewise. 7659 1.1 mrg * include/bits/stl_uninitialized.h: Likewise. 7660 1.1 mrg * include/bits/stream_iterator.h: Likewise. 7661 1.1 mrg * include/bits/streambuf_iterator.h: Likewise. 7662 1.1 mrg * include/bits/unique_ptr.h: Likewise. 7663 1.1 mrg * include/bits/unordered_map.h: Likewise. 7664 1.1 mrg * include/bits/unordered_set.h: Likewise. 7665 1.1 mrg * include/decimal/decimal: Likewise. 7666 1.1 mrg * include/experimental/any: Likewise. 7667 1.1 mrg * include/experimental/array: Likewise. 7668 1.1 mrg * include/experimental/bits/fs_dir.h: Likewise. 7669 1.1 mrg * include/experimental/bits/fs_fwd.h: Likewise. 7670 1.1 mrg * include/experimental/bits/fs_ops.h: Likewise. 7671 1.1 mrg * include/experimental/bits/fs_path.h: Likewise. 7672 1.1 mrg * include/experimental/buffer: Likewise. 7673 1.1 mrg * include/experimental/internet: Likewise. 7674 1.1 mrg * include/experimental/optional: Likewise. 7675 1.1 mrg * include/experimental/propagate_const: Likewise. 7676 1.1 mrg * include/experimental/socket: Likewise. 7677 1.1 mrg * include/ext/pb_ds/assoc_container.hpp: Likewise. 7678 1.1 mrg * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: 7679 1.1 mrg Likewise. 7680 1.1 mrg * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Likewise. 7681 1.1 mrg * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Likewise. 7682 1.1 mrg * include/ext/pb_ds/detail/types_traits.hpp: Likewise. 7683 1.1 mrg * include/ext/pb_ds/exception.hpp: Likewise. 7684 1.1 mrg * include/ext/pb_ds/priority_queue.hpp: Likewise. 7685 1.1 mrg * include/ext/pb_ds/tag_and_trait.hpp: Likewise. 7686 1.1 mrg * include/ext/random: Likewise. 7687 1.1 mrg * include/std/any: Likewise. 7688 1.1 mrg * include/std/atomic: Likewise. 7689 1.1 mrg * include/std/bitset: Likewise. 7690 1.1 mrg * include/std/chrono: Likewise. 7691 1.1 mrg * include/std/complex: Likewise. 7692 1.1 mrg * include/std/condition_variable: Likewise. 7693 1.1 mrg * include/std/fstream: Likewise. 7694 1.1 mrg * include/std/future: Likewise. 7695 1.1 mrg * include/std/iostream: Likewise. 7696 1.1 mrg * include/std/istream: Likewise. 7697 1.1 mrg * include/std/mutex: Likewise. 7698 1.1 mrg * include/std/numeric: Likewise. 7699 1.1 mrg * include/std/ostream: Likewise. 7700 1.1 mrg * include/std/ratio: Likewise. 7701 1.1 mrg * include/std/shared_mutex: Likewise. 7702 1.1 mrg * include/std/stdexcept: Likewise. 7703 1.1 mrg * include/std/streambuf: Likewise. 7704 1.1 mrg * include/std/system_error: Likewise. 7705 1.1 mrg * include/std/thread: Likewise. 7706 1.1 mrg * include/std/valarray: Likewise. 7707 1.1 mrg * include/std/variant: Likewise. 7708 1.1 mrg * include/tr1/cmath: Likewise. 7709 1.1 mrg * include/tr1/regex: Likewise. 7710 1.1 mrg * include/tr2/dynamic_bitset: Likewise. 7711 1.1 mrg * libsupc++/atomic_lockfree_defines.h: Likewise. 7712 1.1 mrg * libsupc++/exception: Likewise. 7713 1.1 mrg * libsupc++/exception.h: Likewise. 7714 1.1 mrg * libsupc++/exception_ptr.h: Likewise. 7715 1.1 mrg * libsupc++/nested_exception.h: Likewise. 7716 1.1 mrg 7717 1.1 mrg 2021-03-31 Alexandre Oliva <oliva (a] adacore.com> 7718 1.1 mrg 7719 1.1 mrg * testsuite/30_threads/future/members/poll.cc: Use faster 7720 1.1 mrg after-ready call in the calibration loop. 7721 1.1 mrg 7722 1.1 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com> 7723 1.1 mrg 7724 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Adjust link for PSTL. 7725 1.1 mrg * doc/html/manual/status.html: Regenerate. 7726 1.1 mrg 7727 1.1 mrg 2021-03-28 Franois Dumont <fdumont (a] gcc.gnu.org> 7728 1.1 mrg 7729 1.1 mrg * include/debug/forward_list 7730 1.1 mrg (forward_list(forward_list&&, const allocator_type&)): Add noexcept qualification. 7731 1.1 mrg * include/debug/list (list(list&&, const allocator_type&)): Likewise and add 7732 1.1 mrg call to safe container allocator aware move constructor. 7733 1.1 mrg * include/debug/vector (vector(vector&&, const allocator_type&)): 7734 1.1 mrg Fix noexcept qualification. 7735 1.1 mrg * testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc: 7736 1.1 mrg Add allocator-extended move constructor noexceot qualification check. 7737 1.1 mrg * testsuite/23_containers/list/cons/noexcept_move_construct.cc: Likewise. 7738 1.1 mrg 7739 1.1 mrg 2021-03-26 Jonathan Wakely <jwakely (a] redhat.com> 7740 1.1 mrg 7741 1.1 mrg * src/c++11/random.cc (USE_LCG): Define when a pseudo-random 7742 1.1 mrg fallback is needed. 7743 1.1 mrg [USE_LCG] (bad_seed, construct_lcg_at, destroy_lcg_at, __lcg): 7744 1.1 mrg New helper functions and callback. 7745 1.1 mrg (random_device::_M_init): Add 'prng' and 'all' enumerators. 7746 1.1 mrg Replace switch with fallthrough with a series of 'if' statements. 7747 1.1 mrg [USE_LCG]: Construct an lcg_type engine and use __lcg when cpuid 7748 1.1 mrg checks fail. 7749 1.1 mrg (random_device::_M_init_pretr1) [USE_MT19937]: Accept "prng" 7750 1.1 mrg token. 7751 1.1 mrg (random_device::_M_getval): Check for callback unconditionally 7752 1.1 mrg and always pass _M_file pointer. 7753 1.1 mrg * testsuite/26_numerics/random/random_device/85494.cc: Remove 7754 1.1 mrg effective-target check. Use new random_device_available helper. 7755 1.1 mrg * testsuite/26_numerics/random/random_device/94087.cc: Likewise. 7756 1.1 mrg * testsuite/26_numerics/random/random_device/cons/default-cow.cc: 7757 1.1 mrg Remove effective-target check. 7758 1.1 mrg * testsuite/26_numerics/random/random_device/cons/default.cc: 7759 1.1 mrg Likewise. 7760 1.1 mrg * testsuite/26_numerics/random/random_device/cons/token.cc: Use 7761 1.1 mrg new random_device_available helper. Test "prng" token. 7762 1.1 mrg * testsuite/util/testsuite_random.h (random_device_available): 7763 1.1 mrg New helper function. 7764 1.1 mrg 7765 1.1 mrg 2021-03-25 Franois Dumont <fdumont (a] gcc.gnu.org> 7766 1.1 mrg 7767 1.1 mrg * include/debug/string 7768 1.1 mrg (basic_string(const basic_string&, const _Alloc&)): Define even if !_GLIBCXX_USE_CXX11_ABI. 7769 1.1 mrg (basic_string(basic_string&&, const _Alloc&)): Likewise and add noexcept qualification. 7770 1.1 mrg (basic_string<>::erase): Adapt to take __const_iterator. 7771 1.1 mrg (basic_string(const _CharT*, const _Allocator&)): Remove assign call. 7772 1.1 mrg (basic_string<>::insert(const_iterator, _InputIte, _InputIte)): Try to 7773 1.1 mrg remove iterator debug layer even if !_GLIBCXX_USE_CXX11_ABI. 7774 1.1 mrg [_GLIBCXX_USE_CHAR8_T] (__gnu_debug::u8string): New. 7775 1.1 mrg (__gnu_debug::u16string, __gnu_debug::u32string): New. 7776 1.1 mrg (std::hash<__gnu_debug::basic_string<>>): New partial specialization. 7777 1.1 mrg (std::__is_fast_hash<__gnu_debug::basic_string<>>): Likewise. 7778 1.1 mrg * testsuite/util/exception/safety.h 7779 1.1 mrg (erase_base<__gnu_debug::basic_string<>>): New partial specialization. 7780 1.1 mrg (insert_base<__gnu_debug::basic_string<>>): Likewise. 7781 1.1 mrg * testsuite/util/testsuite_container_traits.h (traits<__gnu_debug::basic_string<>>): 7782 1.1 mrg New partial specialization. 7783 1.1 mrg * testsuite/21_strings/basic_string/hash/debug.cc: New test. 7784 1.1 mrg * testsuite/21_strings/basic_string/requirements/citerators.cc: 7785 1.1 mrg Add test on __gnu_debug::string. 7786 1.1 mrg * testsuite/21_strings/basic_string/requirements/dr438/constructor.cc: Likewise. 7787 1.1 mrg * testsuite/21_strings/basic_string/requirements/exception/basic.cc: Likewise. 7788 1.1 mrg * testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc: 7789 1.1 mrg Likewise. 7790 1.1 mrg * testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc: 7791 1.1 mrg Likewise. 7792 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc: 7793 1.1 mrg Likewise. 7794 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc: 7795 1.1 mrg Likewise. 7796 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc: 7797 1.1 mrg Likewise. 7798 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc: 7799 1.1 mrg Likewise. 7800 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc: 7801 1.1 mrg Likewise. 7802 1.1 mrg * testsuite/21_strings/basic_string/requirements/typedefs.cc: Likewise. 7803 1.1 mrg 7804 1.1 mrg 2021-03-25 Jakub Jelinek <jakub (a] redhat.com> 7805 1.1 mrg 7806 1.1 mrg PR c++/99672 7807 1.1 mrg * testsuite/18_support/source_location/consteval.cc (main): Adjust 7808 1.1 mrg expected column numbers. 7809 1.1 mrg * testsuite/18_support/source_location/1.cc (main): Likewise. 7810 1.1 mrg 7811 1.1 mrg 2021-03-25 Jonathan Wakely <jwakely (a] redhat.com> 7812 1.1 mrg 7813 1.1 mrg * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare malloc. 7814 1.1 mrg 7815 1.1 mrg 2021-03-25 Jonathan Wakely <jwakely (a] redhat.com> 7816 1.1 mrg 7817 1.1 mrg * testsuite/util/exception/safety.h (setup_base::generate): 7818 1.1 mrg Support seeding random engine. 7819 1.1 mrg (erase_point, erase_range): Adjust range of random numbers to 7820 1.1 mrg ensure dereferenceable iterators are used where required. 7821 1.1 mrg (generation_prohibited::run): Do not try to erase from empty 7822 1.1 mrg containers. 7823 1.1 mrg * testsuite/util/testsuite_containergen.h (test_containers): 7824 1.1 mrg Support seeding random engine. 7825 1.1 mrg 7826 1.1 mrg 2021-03-23 Jonathan Wakely <jwakely (a] redhat.com> 7827 1.1 mrg 7828 1.1 mrg * testsuite/std/ranges/adaptors/reverse.cc: Replace duplicated 7829 1.1 mrg line with a check that uses the const being/end overloads. 7830 1.1 mrg 7831 1.1 mrg 2021-03-23 Moritz Sichert <sichert (a] in.tum.de> 7832 1.1 mrg 7833 1.1 mrg * include/std/ranges (reverse_view::begin, reverse_view::end): 7834 1.1 mrg Qualify make_reverse_iterator calls to avoid ADL. 7835 1.1 mrg * testsuite/std/ranges/adaptors/reverse.cc: Test that 7836 1.1 mrg views::reverse works when make_reverse_iterator is defined 7837 1.1 mrg in an associated namespace. 7838 1.1 mrg 7839 1.1 mrg 2021-03-23 Jonathan Wakely <jwakely (a] redhat.com> 7840 1.1 mrg 7841 1.1 mrg * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT): 7842 1.1 mrg Do not define when compiling with Clang. 7843 1.1 mrg 7844 1.1 mrg 2021-03-22 Jonathan Wakely <jwakely (a] redhat.com> 7845 1.1 mrg 7846 1.1 mrg * include/std/string_view (basic_string_view(Range&&)): Define new 7847 1.1 mrg constructor and deduction guide. 7848 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: New test. 7849 1.1 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: New test. 7850 1.1 mrg 7851 1.1 mrg 2021-03-22 Jonathan Wakely <jwakely (a] redhat.com> 7852 1.1 mrg 7853 1.1 mrg * include/bits/range_access.h (begin(T (&)[N]), end(T (&)[N])): 7854 1.1 mrg Add missing 'noexcept' as per LWG 2280. 7855 1.1 mrg (rbegin(T (&)[N]), rend(T (&)[N]), rbegin(initializer_list<T>)) 7856 1.1 mrg (rend(initializer_list<T>)): Add 'noexcept' as per LWG 3537. 7857 1.1 mrg * testsuite/24_iterators/range_access/range_access.cc: Check for 7858 1.1 mrg expected noexcept specifiers. Check result types of generic 7859 1.1 mrg std::begin and std::end overloads. 7860 1.1 mrg * testsuite/24_iterators/range_access/range_access_cpp14.cc: 7861 1.1 mrg Check for expected noexcept specifiers. 7862 1.1 mrg * testsuite/24_iterators/range_access/range_access_cpp17.cc: 7863 1.1 mrg Likewise. 7864 1.1 mrg 7865 1.1 mrg 2021-03-19 Jonathan Wakely <jwakely (a] redhat.com> 7866 1.1 mrg 7867 1.1 mrg * include/std/type_traits (is_scoped_enum): Define. 7868 1.1 mrg * include/std/version (__cpp_lib_is_scoped_enum): Define. 7869 1.1 mrg * testsuite/20_util/is_scoped_enum/value.cc: New test. 7870 1.1 mrg * testsuite/20_util/is_scoped_enum/version.cc: New test. 7871 1.1 mrg 7872 1.1 mrg 2021-03-16 Jonathan Wakely <jwakely (a] redhat.com> 7873 1.1 mrg 7874 1.1 mrg PR libstdc++/99341 7875 1.1 mrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Remove 7876 1.1 mrg std::once_flag symbols. 7877 1.1 mrg * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise. 7878 1.1 mrg * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise. 7879 1.1 mrg * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: 7880 1.1 mrg Likewise. 7881 1.1 mrg * config/abi/pre/gnu.ver: Likewise. 7882 1.1 mrg * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX] 7883 1.1 mrg (struct __once_flag_compat): Remove. 7884 1.1 mrg (_ZNSt9once_flag11_M_activateEv): Remove. 7885 1.1 mrg (_ZNSt9once_flag9_M_finishEb): Remove. 7886 1.1 mrg 7887 1.1 mrg 2021-03-16 Jonathan Wakely <jwakely (a] redhat.com> 7888 1.1 mrg 7889 1.1 mrg PR libstdc++/99341 7890 1.1 mrg * include/std/mutex [_GLIBCXX_HAVE_LINUX_FUTEX] (once_flag): 7891 1.1 mrg Revert to pthread_once_t implementation. 7892 1.1 mrg [_GLIBCXX_HAVE_LINUX_FUTEX] (call_once): Likewise. 7893 1.1 mrg * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX] 7894 1.1 mrg (struct __once_flag_compat): New type matching the reverted 7895 1.1 mrg implementation of once_flag using futexes. 7896 1.1 mrg (once_flag::_M_activate): Remove, replace with ... 7897 1.1 mrg (_ZNSt9once_flag11_M_activateEv): ... alias symbol. 7898 1.1 mrg (once_flag::_M_finish): Remove, replace with ... 7899 1.1 mrg (_ZNSt9once_flag9_M_finishEb): ... alias symbol. 7900 1.1 mrg * testsuite/30_threads/call_once/66146.cc: Removed. 7901 1.1 mrg 7902 1.1 mrg 2021-03-15 Iain Sandoe <iain (a] sandoe.co.uk> 7903 1.1 mrg 7904 1.1 mrg * testsuite/17_intro/names.cc: Exclude j from the list 7905 1.1 mrg of test symbols for Darwin. 7906 1.1 mrg 7907 1.1 mrg 2021-03-15 Iain Sandoe <iain (a] sandoe.co.uk> 7908 1.1 mrg 7909 1.1 mrg * config/os/bsd/darwin/ppc-extra.ver: Add matching for 7910 1.1 mrg to_chars and from_chars for long double. 7911 1.1 mrg 7912 1.1 mrg 2021-03-15 Patrick Palka <ppalka (a] redhat.com> 7913 1.1 mrg 7914 1.1 mrg * include/bits/max_size_type.h (__max_size_type::operator _Tp): 7915 1.1 mrg Fix formatting. 7916 1.1 mrg (__max_size_type::operator++): Define. 7917 1.1 mrg (__max_size_type::operator--): Likewise. 7918 1.1 mrg (__max_size_type::operator<=>): Conditionally define (in place 7919 1.1 mrg of the other comparison operators). 7920 1.1 mrg (__max_diff_type::operator _Tp): Fix formatting. 7921 1.1 mrg (__max_diff_type::operator++): Define. 7922 1.1 mrg (__max_diff_type::operator--): Likewise. 7923 1.1 mrg (__max_diff_type::operator<=>): Conditionally define (in place 7924 1.1 mrg of the other comparison operators). 7925 1.1 mrg * testsuite/std/ranges/iota/max_size_type.cc (test01): Test 7926 1.1 mrg these operator overloads. 7927 1.1 mrg 7928 1.1 mrg 2021-03-15 Caroline Tice <cmtice (a] google.com> 7929 1.1 mrg 7930 1.1 mrg PR libstdc++/99172 7931 1.1 mrg * src/Makefile.am (AM_CXXFLAGS_PRE, AM_CXXFLAGS): Add 7932 1.1 mrg AM_CXXFLAGS_PRE with the old definition of AM_CXXFLAGS; make 7933 1.1 mrg AM_CXXFLAGS to be AM_CXXFLAGS_PRE with '-fvtable-verify=std' 7934 1.1 mrg filtered out. 7935 1.1 mrg * src/Makefile.in: Regenerate. 7936 1.1 mrg 7937 1.1 mrg 2021-03-11 Patrick Palka <ppalka (a] redhat.com> 7938 1.1 mrg 7939 1.1 mrg * src/c++17/floating_to_chars.cc: Simplify the file as if 7940 1.1 mrg __SIZEOF_INT128__ is always defined. 7941 1.1 mrg [!defined __SIZEOF_INT128__]: Include "uint128_t.h". Define 7942 1.1 mrg a base-10 to_chars overload for the uint128_t class type. 7943 1.1 mrg * src/c++17/uint128_t.h: New file. 7944 1.1 mrg * testsuite/20_util/to_chars/long_double.cc: No longer expect an 7945 1.1 mrg execution FAIL on targets that have a large long double type 7946 1.1 mrg but lack __int128. 7947 1.1 mrg 7948 1.1 mrg 2021-03-11 Patrick Palka <ppalka (a] redhat.com> 7949 1.1 mrg 7950 1.1 mrg * src/c++17/ryu/LOCAL_PATCHES: Update. 7951 1.1 mrg * src/c++17/ryu/d2s_intrinsics.h: Don't define uint128_t. 7952 1.1 mrg * src/c++17/ryu/generic_128.h: Likewise. 7953 1.1 mrg * src/c++17/ryu/ryu_generic_128.h (struct floating_decimal_128): 7954 1.1 mrg Use uint128_t instead of __uint128_t. 7955 1.1 mrg (generic_binary_to_decimal): Likewise. 7956 1.1 mrg 7957 1.1 mrg 2021-03-11 Patrick Palka <ppalka (a] redhat.com> 7958 1.1 mrg 7959 1.1 mrg * src/c++17/ryu/LOCAL_PATCHES: New file. 7960 1.1 mrg 7961 1.1 mrg 2021-03-11 Patrick Palka <ppalka (a] redhat.com> 7962 1.1 mrg 7963 1.1 mrg * src/c++17/floating_to_chars.cc (uint128_t): New conditionally 7964 1.1 mrg defined alias of unsigned __int128. 7965 1.1 mrg (floating_type_traits_binary128::mantissa_t): Use uint128_t 7966 1.1 mrg instead of unsigned __int128. 7967 1.1 mrg (floating_type_traits<long double>::mantissa_t) 7968 1.1 mrg [LONG_DOUBLE_KIND == LDK_IBM128]: Likewise. 7969 1.1 mrg (get_ieee_repr): Likewise. Make casts from uint_t to mantissa_t 7970 1.1 mrg and uint32_t explicit. Simplify the extraction of mantissa, 7971 1.1 mrg exponent and sign bit. 7972 1.1 mrg 7973 1.1 mrg 2021-03-11 Jonathan Wakely <jwakely (a] redhat.com> 7974 1.1 mrg 7975 1.1 mrg * include/std/barrier (barrier::arrival_token): New move-only 7976 1.1 mrg class that encapsulates the underlying token value. 7977 1.1 mrg 7978 1.1 mrg 2021-03-11 Jonathan Wakely <jwakely (a] redhat.com> 7979 1.1 mrg 7980 1.1 mrg * python/libstdcxx/v6/printers.py (find_type): Use tag attribute 7981 1.1 mrg instead of unqualified() method. 7982 1.1 mrg 7983 1.1 mrg 2021-03-11 Jonathan Wakely <jwakely (a] redhat.com> 7984 1.1 mrg 7985 1.1 mrg PR libstdc++/99537 7986 1.1 mrg * include/std/stop_token (_Stop_state_t::_M_release_ownership): 7987 1.1 mrg Use acq_rel memory ordering. 7988 1.1 mrg 7989 1.1 mrg 2021-03-11 Jonathan Wakely <jwakely (a] redhat.com> 7990 1.1 mrg 7991 1.1 mrg PR libstdc++/99533 7992 1.1 mrg * src/c++17/fs_dir.cc (recursive_directory_iterator): Use new 7993 1.1 mrg helper function to check for permission denied errors. 7994 1.1 mrg * src/filesystem/dir.cc (recursive_directory_iterator): 7995 1.1 mrg Likewise. 7996 1.1 mrg * src/filesystem/dir-common.h (is_permission_denied_error): New 7997 1.1 mrg helper function. 7998 1.1 mrg 7999 1.1 mrg 2021-03-11 Jonathan Wakely <jwakely (a] redhat.com> 8000 1.1 mrg 8001 1.1 mrg PR libstdc++/99536 8002 1.1 mrg * include/bits/random.h (normal_distribution): Use 8003 1.1 mrg default-initializer for _M_saved and _M_saved_available. 8004 1.1 mrg 8005 1.1 mrg 2021-03-10 John David Anglin <danglin (a] gcc.gnu.org> 8006 1.1 mrg 8007 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/bool.cc: Add options to 8008 1.1 mrg link with libatomic. 8009 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise. 8010 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. 8011 1.1 mrg * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. 8012 1.1 mrg * testsuite/30_threads/barrier/arrive.cc: Likewise. 8013 1.1 mrg * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. 8014 1.1 mrg * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. 8015 1.1 mrg * testsuite/30_threads/barrier/completion.cc: Likewise. 8016 1.1 mrg * testsuite/30_threads/latch/3.cc: Likewise. 8017 1.1 mrg * testsuite/30_threads/semaphore/try_acquire.cc: Likewise. 8018 1.1 mrg * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise. 8019 1.1 mrg * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. 8020 1.1 mrg 8021 1.1 mrg 2021-03-10 Jonathan Wakely <jwakely (a] redhat.com> 8022 1.1 mrg 8023 1.1 mrg PR libstdc++/99413 8024 1.1 mrg * include/bits/align.h: Include debug/assertions.h. 8025 1.1 mrg * include/bits/codecvt.h: Include bits/c++config.h. 8026 1.1 mrg * include/bits/enable_special_members.h: Likewise. 8027 1.1 mrg * include/bits/erase_if.h: Likewise. 8028 1.1 mrg * include/bits/functional_hash.h: Include <type_traits>. 8029 1.1 mrg * include/bits/invoke.h: Include bits/move.h. 8030 1.1 mrg * include/bits/ostream_insert.h: Include bits/exception_defines.h. 8031 1.1 mrg * include/bits/parse_numbers.h: Include <type_traits>. 8032 1.1 mrg * include/bits/predefined_ops.h: Include bits/c++config.h. 8033 1.1 mrg * include/bits/range_access.h: Include bits/stl_iterator.h. 8034 1.1 mrg * include/bits/stl_bvector.h: Do not include bits/stl_vector.h. 8035 1.1 mrg * include/bits/stl_iterator.h: Include bits/stl_iterator_base_types.h. 8036 1.1 mrg * include/bits/stl_uninitialized.h: Include bits/stl_algobase.h. 8037 1.1 mrg * include/bits/uniform_int_dist.h: Include bits/concept_check.h. 8038 1.1 mrg * include/bits/unique_lock.h: Include bits/std_mutex.h. 8039 1.1 mrg * include/debug/assertions.h: Include bits/c++config.h. 8040 1.1 mrg 8041 1.1 mrg 2021-03-10 Jonathan Wakely <jwakely (a] redhat.com> 8042 1.1 mrg 8043 1.1 mrg * include/bits/ranges_cmp.h (__eq_builtin_ptr_cmp): Remove. 8044 1.1 mrg (ranges::equal_to, ranges::not_equal_to): Do not constrain 8045 1.1 mrg with __eq_builtin_ptr_cmp. 8046 1.1 mrg (ranges::less, ranges::greater, ranges::less_equal) 8047 1.1 mrg (ranges::greater_equal): Do not constrain with 8048 1.1 mrg __less_builtin_ptr_cmp. 8049 1.1 mrg * libsupc++/compare (compare_three_way): Do not constrain with 8050 1.1 mrg __3way_builtin_ptr_cmp. 8051 1.1 mrg * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to... 8052 1.1 mrg * testsuite/18_support/comparisons/object/lwg3530.cc: ...here. 8053 1.1 mrg * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test. 8054 1.1 mrg 8055 1.1 mrg 2021-03-10 Jonathan Wakely <jwakely (a] redhat.com> 8056 1.1 mrg 8057 1.1 mrg * testsuite/std/time/syn_c++20.cc: Enable synopsis checks for 8058 1.1 mrg C++20 calendar types. 8059 1.1 mrg 8060 1.1 mrg 2021-03-06 Jakub Jelinek <jakub (a] redhat.com> 8061 1.1 mrg 8062 1.1 mrg PR libstdc++/99396 8063 1.1 mrg * include/std/bit (__rotl, __rotr): Add optimized variants for power of 8064 1.1 mrg two _Nd which the compiler can pattern match the rotates. 8065 1.1 mrg 8066 1.1 mrg 2021-03-04 Jonathan Wakely <jwakely (a] redhat.com> 8067 1.1 mrg 8068 1.1 mrg PR libstdc++/99382 8069 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc: 8070 1.1 mrg Make storage larger than required. Verify no write to the last 8071 1.1 mrg element. 8072 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc: 8073 1.1 mrg Likewise. 8074 1.1 mrg 8075 1.1 mrg 2021-03-03 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 8076 1.1 mrg 8077 1.1 mrg * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. 8078 1.1 mrg * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: 8079 1.1 mrg Likewise. 8080 1.1 mrg * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. 8081 1.1 mrg * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: 8082 1.1 mrg Likewise. 8083 1.1 mrg 8084 1.1 mrg 2021-03-03 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 8085 1.1 mrg 8086 1.1 mrg * include/experimental/bits/simd.h: Replace reserved _X, _B by 8087 1.1 mrg _Xp, _Bp. 8088 1.1 mrg * include/experimental/bits/simd_builtin.h: Likewise. 8089 1.1 mrg * include/experimental/bits/simd_x86.h: Likewise. 8090 1.1 mrg 8091 1.1 mrg 2021-02-27 Jonathan Wakely <jwakely (a] redhat.com> 8092 1.1 mrg 8093 1.1 mrg PR libstdc++/99301 8094 1.1 mrg * include/std/chrono (year_month_day::_M_days_since_epoch()): 8095 1.1 mrg Convert chrono::month and chrono::day to unsigned before 8096 1.1 mrg converting to uint32_t. 8097 1.1 mrg 8098 1.1 mrg 2021-02-25 Jonathan Wakely <jwakely (a] redhat.com> 8099 1.1 mrg 8100 1.1 mrg * include/std/chrono (year_month_day::_S_from_days): Perform 8101 1.1 mrg all calculations with type uint32_t. 8102 1.1 mrg 8103 1.1 mrg 2021-02-25 Jonathan Wakely <jwakely (a] redhat.com> 8104 1.1 mrg 8105 1.1 mrg * doc/xml/manual/abi.xml: Document versioning for GCC 11. 8106 1.1 mrg * doc/html/manual/abi.html: Regenerate. 8107 1.1 mrg 8108 1.1 mrg 2021-02-25 Jonathan Wakely <jwakely (a] redhat.com> 8109 1.1 mrg 8110 1.1 mrg PR libstdc++/99270 8111 1.1 mrg * testsuite/27_io/headers/cstdio/types_std.cc: Use pointer to 8112 1.1 mrg FILE instead of FILE. 8113 1.1 mrg 8114 1.1 mrg 2021-02-25 Andreas Schwab <schwab (a] suse.de> 8115 1.1 mrg 8116 1.1 mrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 8117 1.1 mrg * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. 8118 1.1 mrg * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 8119 1.1 mrg * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. 8120 1.1 mrg 8121 1.1 mrg 2021-02-25 Jonathan Wakely <jwakely (a] redhat.com> 8122 1.1 mrg 8123 1.1 mrg PR libstdc++/99265 8124 1.1 mrg * include/std/chrono (year_month_day::_S_from_days): Cast long 8125 1.1 mrg to int explicitly. 8126 1.1 mrg 8127 1.1 mrg 2021-02-25 Jonathan Wakely <jwakely (a] redhat.com> 8128 1.1 mrg 8129 1.1 mrg * include/std/utility (to_underlying): Define. 8130 1.1 mrg * include/std/version (__cpp_lib_to_underlying): Define. 8131 1.1 mrg * testsuite/20_util/to_underlying/1.cc: New test. 8132 1.1 mrg * testsuite/20_util/to_underlying/version.cc: New test. 8133 1.1 mrg 8134 1.1 mrg 2021-02-24 Jonathan Wakely <jwakely (a] redhat.com> 8135 1.1 mrg 8136 1.1 mrg PR libstdc++/99261 8137 1.1 mrg * src/c++17/floating_to_chars.cc (sprintf_ld): Add extra args 8138 1.1 mrg before value to be printed. 8139 1.1 mrg 8140 1.1 mrg 2021-02-24 Patrick Palka <ppalka (a] redhat.com> 8141 1.1 mrg 8142 1.1 mrg * src/c++17/floating_to_chars.cc (__floating_to_chars_precision): 8143 1.1 mrg Relax the condition that guards the printf code path to accept 8144 1.1 mrg F128_type as well as long double. 8145 1.1 mrg 8146 1.1 mrg 2021-02-24 Cassio Neri <cassio.neri (a] gmail.com> 8147 1.1 mrg 8148 1.1 mrg * include/std/chrono (year_month_day_last:day): New 8149 1.1 mrg implementation. 8150 1.1 mrg 8151 1.1 mrg 2021-02-24 Cassio Neri <cassio.neri (a] gmail.com> 8152 1.1 mrg 8153 1.1 mrg * include/std/chrono (year::is_leap): New implementation. 8154 1.1 mrg * testsuite/std/time/year/2.cc: New test. 8155 1.1 mrg 8156 1.1 mrg 2021-02-24 Cassio Neri <cassio.neri (a] gmail.com> 8157 1.1 mrg 8158 1.1 mrg * include/std/chrono (year_month_day::_M_days_since_epoch): 8159 1.1 mrg New implementation. 8160 1.1 mrg * testsuite/std/time/year_month_day/4.cc: New test. 8161 1.1 mrg 8162 1.1 mrg 2021-02-24 Cassio Neri <cassio.neri (a] gmail.com> 8163 1.1 mrg 8164 1.1 mrg * include/std/chrono (year_month_day::_S_from_days): New 8165 1.1 mrg implementation. 8166 1.1 mrg * testsuite/std/time/year_month_day/3.cc: New test. 8167 1.1 mrg 8168 1.1 mrg 2021-02-24 Patrick Palka <ppalka (a] redhat.com> 8169 1.1 mrg 8170 1.1 mrg PR libstdc++/98384 8171 1.1 mrg * testsuite/20_util/to_chars/long_double.cc: Include <optional>. 8172 1.1 mrg (test01): Simplify verifying the nearby values by using a 8173 1.1 mrg 2-iteration loop and a dedicated output buffer to check that the 8174 1.1 mrg nearby values are different. Factor out the printf-based 8175 1.1 mrg verification into a local function, and check that the leading 8176 1.1 mrg hex digits agree before comparing to the output of printf. Also 8177 1.1 mrg verify the output by round-tripping it through from_chars. 8178 1.1 mrg 8179 1.1 mrg 2021-02-24 Jonathan Wakely <jwakely (a] redhat.com> 8180 1.1 mrg 8181 1.1 mrg PR libstdc++/98389 8182 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars 8183 1.1 mrg symbols for long double arguments mangled as 'g'. 8184 1.1 mrg * config/os/gnu-linux/ldbl-extra.ver: Likewise. 8185 1.1 mrg * config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise. 8186 1.1 mrg * src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]: 8187 1.1 mrg Use -mabi=ibmlongdouble for floating_to_chars.cc. 8188 1.1 mrg * src/c++17/Makefile.in: Regenerate. 8189 1.1 mrg * src/c++17/floating_to_chars.cc (floating_type_traits_binary128): 8190 1.1 mrg New type defining type traits of IEEE binary128 format. 8191 1.1 mrg (floating_type_traits<__float128>): Define specialization. 8192 1.1 mrg (floating_type_traits<long double>): Define in terms of 8193 1.1 mrg floating_type_traits_binary128 when appropriate. 8194 1.1 mrg (floating_to_shortest_scientific): Handle __float128. 8195 1.1 mrg (sprintf_ld): New function template for printing a long double 8196 1.1 mrg or __ieee128 value using sprintf. 8197 1.1 mrg (__floating_to_chars_shortest, __floating_to_chars_precision): 8198 1.1 mrg Use sprintf_ld. 8199 1.1 mrg (to_chars): Define overloads for __float128. 8200 1.1 mrg 8201 1.1 mrg 2021-02-24 Jonathan Wakely <jwakely (a] redhat.com> 8202 1.1 mrg 8203 1.1 mrg * testsuite/17_intro/names.cc: Undefine 'u' on powerpc*-linux*. 8204 1.1 mrg 8205 1.1 mrg 2021-02-23 Martin Sebor <msebor (a] redhat.com> 8206 1.1 mrg 8207 1.1 mrg PR c++/99074 8208 1.1 mrg * libsupc++/dyncast.cc (__dynamic_cast): Return null when 8209 1.1 mrg first argument is null. 8210 1.1 mrg 8211 1.1 mrg 2021-02-23 Jakub Jelinek <jakub (a] redhat.com> 8212 1.1 mrg 8213 1.1 mrg PR libstdc++/99181 8214 1.1 mrg * testsuite/21_strings/char_traits/requirements/char/99181.cc: New 8215 1.1 mrg test. 8216 1.1 mrg 8217 1.1 mrg 2021-02-23 Jakub Jelinek <jakub (a] redhat.com> 8218 1.1 mrg 8219 1.1 mrg PR libstdc++/99181 8220 1.1 mrg * include/bits/char_traits.h (char_traits<char>::compare): For 8221 1.1 mrg constexpr evaluation don't call 8222 1.1 mrg __gnu_cxx::char_traits<char_type>::compare but do the comparison loop 8223 1.1 mrg directly. 8224 1.1 mrg 8225 1.1 mrg 2021-02-23 Jakub Jelinek <jakub (a] redhat.com> 8226 1.1 mrg 8227 1.1 mrg PR libstdc++/97549 8228 1.1 mrg * include/pstl/parallel_backend_serial.h: Remove __pstl::__par_backend. 8229 1.1 mrg 8230 1.1 mrg 2021-02-23 Patrick Palka <ppalka (a] redhat.com> 8231 1.1 mrg 8232 1.1 mrg PR libstdc++/98384 8233 1.1 mrg * src/c++17/floating_to_chars.cc (get_ieee_repr): Extract 8234 1.1 mrg the high- and low-order parts from an IBM long double value 8235 1.1 mrg in an endian-agnostic way. 8236 1.1 mrg 8237 1.1 mrg 2021-02-19 Jonathan Wakely <jwakely (a] redhat.com> 8238 1.1 mrg 8239 1.1 mrg * include/bits/atomic_wait.h (__thread_relax()): Call 8240 1.1 mrg __thread_yield() not __gthread_yield(). 8241 1.1 mrg 8242 1.1 mrg 2021-02-15 Jonathan Wakely <jwakely (a] redhat.com> 8243 1.1 mrg 8244 1.1 mrg * include/bits/atomic_wait.h (__thread_yield()): Check 8245 1.1 mrg _GLIBCXX_HAS_GTHREADS before using __gthread_yield. 8246 1.1 mrg (__thread_relax()): Use __thread_yield() instead of repeating 8247 1.1 mrg the preprocessor checks for __gthread_yield. 8248 1.1 mrg 8249 1.1 mrg 2021-02-15 Jonathan Wakely <jwakely (a] redhat.com> 8250 1.1 mrg 8251 1.1 mrg * include/std/mutex (once_flag::_M_activate()): Add explicit 8252 1.1 mrg return statement for passive case. 8253 1.1 mrg (once_flag::_M_finish(bool)): Use reserved name for parameter. 8254 1.1 mrg 8255 1.1 mrg 2021-02-14 Jonathan Wakely <jwakely (a] redhat.com> 8256 1.1 mrg 8257 1.1 mrg PR libstdc++/99096 8258 1.1 mrg * testsuite/util/testsuite_fs.h: Always include <unistd.h>. 8259 1.1 mrg 8260 1.1 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com> 8261 1.1 mrg 8262 1.1 mrg PR libstdc++/88881 8263 1.1 mrg * src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround. 8264 1.1 mrg 8265 1.1 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com> 8266 1.1 mrg 8267 1.1 mrg * doc/xml/manual/status_cxx2014.xml: Document implementation 8268 1.1 mrg specific properties of std::experimental::filesystem::rename. 8269 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Document implementation 8270 1.1 mrg specific properties of std::filesystem::rename. 8271 1.1 mrg * doc/html/*: Regenerate. 8272 1.1 mrg * src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour 8273 1.1 mrg for directories on Windows. 8274 1.1 mrg * src/filesystem/ops-common.h (__gnu_posix::rename): Use 8275 1.1 mrg MoveFileExW on Windows. 8276 1.1 mrg * testsuite/27_io/filesystem/operations/rename.cc: New test. 8277 1.1 mrg * testsuite/experimental/filesystem/operations/rename.cc: New test. 8278 1.1 mrg 8279 1.1 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com> 8280 1.1 mrg 8281 1.1 mrg * testsuite/util/testsuite_fs.h (nonexistent_path): Add 8282 1.1 mrg random number to the path. 8283 1.1 mrg 8284 1.1 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com> 8285 1.1 mrg 8286 1.1 mrg * include/experimental/internet (address_v6::to_string): Include 8287 1.1 mrg scope ID in string. 8288 1.1 mrg * testsuite/experimental/net/internet/address/v6/members.cc: 8289 1.1 mrg Test to_string() results. 8290 1.1 mrg 8291 1.1 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com> 8292 1.1 mrg 8293 1.1 mrg * include/experimental/internet (address_v6::any): Avoid using 8294 1.1 mrg memcpy in constexpr function. 8295 1.1 mrg (address_v6::loopback): Likewise. 8296 1.1 mrg (make_address_v6): Fix missing return statements on error paths. 8297 1.1 mrg * include/experimental/io_context: Avoid -Wdangling-else 8298 1.1 mrg warning. 8299 1.1 mrg * testsuite/experimental/net/internet/address/v4/members.cc: 8300 1.1 mrg Remove unused variables. 8301 1.1 mrg * testsuite/experimental/net/internet/address/v6/members.cc: 8302 1.1 mrg New test. 8303 1.1 mrg 8304 1.1 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com> 8305 1.1 mrg 8306 1.1 mrg * include/bits/shared_ptr_base.h (__shared_ptr::_M_get_deleter): 8307 1.1 mrg Add unused attribute to parameter. 8308 1.1 mrg * src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq): 8309 1.1 mrg Likewise. 8310 1.1 mrg 8311 1.1 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com> 8312 1.1 mrg 8313 1.1 mrg * testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail 8314 1.1 mrg if -fno-rtti is used. 8315 1.1 mrg * testsuite/30_threads/async/forced_unwind.cc: Expect test 8316 1.1 mrg to abort if -fno-rtti is used. 8317 1.1 mrg 8318 1.1 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com> 8319 1.1 mrg 8320 1.1 mrg * testsuite/util/testsuite_allocator.h (memory_resource): 8321 1.1 mrg Remove requirement for RTTI and exceptions to be enabled. 8322 1.1 mrg 8323 1.1 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com> 8324 1.1 mrg 8325 1.1 mrg * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Use 8326 1.1 mrg static_cast when RTTI is disabled. 8327 1.1 mrg * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: 8328 1.1 mrg Likewise. 8329 1.1 mrg * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: 8330 1.1 mrg Likewise. 8331 1.1 mrg * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: 8332 1.1 mrg Likewise. 8333 1.1 mrg * testsuite/27_io/basic_stringstream/str/char/2.cc: 8334 1.1 mrg Likewise. 8335 1.1 mrg * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: 8336 1.1 mrg Likewise. 8337 1.1 mrg 8338 1.1 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com> 8339 1.1 mrg 8340 1.1 mrg * include/std/ostream (__syncbuf_base::_S_get): Mark parameter 8341 1.1 mrg as unused and only use dynamic_cast when RTTI is enabled. 8342 1.1 mrg 8343 1.1 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com> 8344 1.1 mrg 8345 1.1 mrg PR libstdc++/99077 8346 1.1 mrg * src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)): 8347 1.1 mrg Change int parameter to error_code, to match std::ios_failure. 8348 1.1 mrg (__throw_ios_failure(const char*, int)): Construct error_code 8349 1.1 mrg from int parameter. 8350 1.1 mrg 8351 1.1 mrg 2021-02-11 Jonathan Wakely <jwakely (a] redhat.com> 8352 1.1 mrg 8353 1.1 mrg * libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define 8354 1.1 mrg new macro. 8355 1.1 mrg * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new 8356 1.1 mrg macro instead of _GLIBCXX_EH_PTR_COMPAT. 8357 1.1 mrg (operator==): Likewise. 8358 1.1 mrg 8359 1.1 mrg 2021-02-11 Jonathan Wakely <jwakely (a] redhat.com> 8360 1.1 mrg 8361 1.1 mrg PR libstdc++/99058 8362 1.1 mrg * doc/xml/manual/status_cxx2011.xml: Document when support 8363 1.1 mrg became stable. 8364 1.1 mrg * doc/xml/manual/status_cxx2014.xml: Likewise. 8365 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Likewise. 8366 1.1 mrg * doc/html/manual/status.html: Regenerate. 8367 1.1 mrg 8368 1.1 mrg 2021-02-10 Jonathan Wakely <jwakely (a] redhat.com> 8369 1.1 mrg 8370 1.1 mrg PR libstdc++/88881 8371 1.1 mrg * src/c++17/fs_ops.cc (fs::status): Re-enable workaround. 8372 1.1 mrg 8373 1.1 mrg 2021-02-10 Jonathan Wakely <jwakely (a] redhat.com> 8374 1.1 mrg 8375 1.1 mrg * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent) 8376 1.1 mrg (fs::remove): Use std::system_category() for error codes from 8377 1.1 mrg GetLastError(). 8378 1.1 mrg * src/filesystem/ops.cc (fs::create_hard_link, fs::remove): 8379 1.1 mrg Likewise. 8380 1.1 mrg 8381 1.1 mrg 2021-02-10 Jonathan Wakely <jwakely (a] redhat.com> 8382 1.1 mrg 8383 1.1 mrg * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo 8384 1.1 mrg in __MINGW32__ macro name. 8385 1.1 mrg * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise. 8386 1.1 mrg * testsuite/27_io/filesystem/path/generation/proximate.cc: 8387 1.1 mrg Likewise. 8388 1.1 mrg * testsuite/27_io/filesystem/path/generation/relative.cc: 8389 1.1 mrg Likewise. 8390 1.1 mrg * testsuite/util/testsuite_fs.h: Likewise. 8391 1.1 mrg 8392 1.1 mrg 2021-02-09 Franois Dumont <fdumont (a] gcc.gnu.org> 8393 1.1 mrg 8394 1.1 mrg * include/bits/stl_tree.h 8395 1.1 mrg (__has_is_transparent, __has_is_transparent_t): Move... 8396 1.1 mrg * include/bits/stl_function.h: ...here. 8397 1.1 mrg * include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New.. 8398 1.1 mrg (_Hashtable_base<>::_M_equals_tr): New. 8399 1.1 mrg * include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr, 8400 1.1 mrg _Hashtable<>::_M_equal_range_tr): New member function templates to perform 8401 1.1 mrg heterogeneous lookup. 8402 1.1 mrg (_Hashtable<>::_M_find_before_node_tr): New. 8403 1.1 mrg (_Hashtable<>::_M_find_node_tr): New. 8404 1.1 mrg * include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>, 8405 1.1 mrg unordered_map::contains<>, unordered_map::equal_range<>): New member function 8406 1.1 mrg templates to perform heterogeneous lookup. 8407 1.1 mrg (unordered_multimap::find<>, unordered_multimap::count<>, 8408 1.1 mrg unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise. 8409 1.1 mrg * include/bits/unordered_set.h (unordered_set::find<>, unordered_set::count<>, 8410 1.1 mrg unordered_set::contains<>, unordered_set::equal_range<>): Likewise. 8411 1.1 mrg (unordered_multiset::find<>, unordered_multiset::count<>, 8412 1.1 mrg unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise. 8413 1.1 mrg * include/debug/unordered_map 8414 1.1 mrg (unordered_map::find<>, unordered_map::equal_range<>): Likewise. 8415 1.1 mrg (unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise. 8416 1.1 mrg * include/debug/unordered_set 8417 1.1 mrg (unordered_set::find<>, unordered_set::equal_range<>): Likewise. 8418 1.1 mrg (unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise. 8419 1.1 mrg * testsuite/23_containers/unordered_map/operations/1.cc: New test. 8420 1.1 mrg * testsuite/23_containers/unordered_multimap/operations/1.cc: New test. 8421 1.1 mrg * testsuite/23_containers/unordered_multiset/operations/1.cc: New test. 8422 1.1 mrg * testsuite/23_containers/unordered_set/operations/1.cc: New test. 8423 1.1 mrg 8424 1.1 mrg 2021-02-09 Franois Dumont <fdumont (a] gcc.gnu.org> 8425 1.1 mrg 8426 1.1 mrg * include/bits/stl_deque.h 8427 1.1 mrg (std::operator-(deque::iterator, deque::iterator)): Replace if/then with 8428 1.1 mrg a null pointer test. 8429 1.1 mrg 8430 1.1 mrg 2021-02-09 Jonathan Wakely <jwakely (a] redhat.com> 8431 1.1 mrg 8432 1.1 mrg * testsuite/27_io/filesystem/operations/remove_all.cc: Remove 8433 1.1 mrg test directory after making it writable again. 8434 1.1 mrg * testsuite/experimental/filesystem/operations/remove_all.cc: 8435 1.1 mrg Likewise. 8436 1.1 mrg 8437 1.1 mrg 2021-02-09 Jonathan Wakely <jwakely (a] redhat.com> 8438 1.1 mrg 8439 1.1 mrg PR libstdc++/99021 8440 1.1 mrg * include/std/coroutine (coroutine_handle<P>::from_address): Add 8441 1.1 mrg noexcept. 8442 1.1 mrg 8443 1.1 mrg 2021-02-09 Vladimir Vishnevsky <vv.os.swe (a] gmail.com> 8444 1.1 mrg 8445 1.1 mrg * include/ext/stdio_sync_filebuf.h: Remove unused <unistd.h>. 8446 1.1 mrg * src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t. 8447 1.1 mrg 8448 1.1 mrg 2021-02-09 Jakub Jelinek <jakub (a] redhat.com> 8449 1.1 mrg 8450 1.1 mrg PR middle-end/98465 8451 1.1 mrg * include/bits/basic_string.tcc (basic_string::_M_replace): When __s 8452 1.1 mrg points to the characters moved by earlier _S_move, compute the source 8453 1.1 mrg address using expression based on the __p pointer rather than __s 8454 1.1 mrg pointer. 8455 1.1 mrg 8456 1.1 mrg 2021-02-03 Jonathan Wakely <jwakely (a] redhat.com> 8457 1.1 mrg 8458 1.1 mrg * testsuite/19_diagnostics/error_code/operators/not_equal.cc: 8459 1.1 mrg Add comparison with same category and different values. 8460 1.1 mrg * testsuite/19_diagnostics/error_code/operators/less.cc: 8461 1.1 mrg Likewise. Fix comparison involving different categories. 8462 1.1 mrg * testsuite/19_diagnostics/error_code/operators/three_way.cc: 8463 1.1 mrg Likewise. 8464 1.1 mrg * testsuite/19_diagnostics/error_condition/operators/less.cc: 8465 1.1 mrg Add comment. 8466 1.1 mrg * testsuite/19_diagnostics/error_condition/operators/three_way.cc: 8467 1.1 mrg Likewise. 8468 1.1 mrg 8469 1.1 mrg 2021-02-03 yaozhongxiao <yaozhongxiao (a] linux.alibaba.com> 8470 1.1 mrg 8471 1.1 mrg * include/experimental/bits/simd_neon.h: Replace repeated vpadd 8472 1.1 mrg calls with a single vaddv for aarch64. 8473 1.1 mrg 8474 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8475 1.1 mrg 8476 1.1 mrg * testsuite/Makefile.am: Warn about the workaround. Add 8477 1.1 mrg -fno-tree-vrp to CXXFLAGS passed to the check_simd script. 8478 1.1 mrg Improve initial user feedback from make check-simd. 8479 1.1 mrg * testsuite/Makefile.in: Regenerated. 8480 1.1 mrg 8481 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8482 1.1 mrg 8483 1.1 mrg * include/experimental/bits/simd.h: Add __detail::_Minimum and 8484 1.1 mrg __detail::_Maximum to use them as _BinaryOperation to _S_reduce. 8485 1.1 mrg Add hmin and hmax overloads for simd and const_where_expression. 8486 1.1 mrg * include/experimental/bits/simd_scalar.h 8487 1.1 mrg (_SimdImplScalar::_S_reduce): Make unused _BinaryOperation 8488 1.1 mrg parameter const-ref to allow calling _S_reduce with an rvalue. 8489 1.1 mrg * testsuite/experimental/simd/tests/reductions.cc: Add tests for 8490 1.1 mrg hmin and hmax. Since the compiler statically determined that all 8491 1.1 mrg tests pass, repeat the test after a call to make_value_unknown. 8492 1.1 mrg 8493 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8494 1.1 mrg 8495 1.1 mrg * testsuite/experimental/simd/tests/bits/verify.h (verify): Add 8496 1.1 mrg instruction pointer data member. Ensure that the `if (m_failed)` 8497 1.1 mrg branch is always inlined into the calling code. The body of the 8498 1.1 mrg conditional can still be a function call. Move the get_ip call 8499 1.1 mrg into the verify ctor to simplify the ctor calls. 8500 1.1 mrg (COMPARE): Don't mention the use of all_of for reduction of a 8501 1.1 mrg simd_mask. It only distracts from the real issue. 8502 1.1 mrg 8503 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8504 1.1 mrg 8505 1.1 mrg * testsuite/experimental/simd/driver.sh: Abstract reading test 8506 1.1 mrg options into read_src_option function. Read skip, only, 8507 1.1 mrg expensive, and xfail via read_src_option. Add timeout and 8508 1.1 mrg timeout-factor options and adjust timeout variable accordingly. 8509 1.1 mrg * testsuite/experimental/simd/tests/loadstore.cc: Set 8510 1.1 mrg timeout-factor 2. 8511 1.1 mrg 8512 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8513 1.1 mrg 8514 1.1 mrg * testsuite/experimental/simd/driver.sh: When handling the pipe 8515 1.1 mrg to log (and on verbose to stdout) count the lines. If it exceeds 8516 1.1 mrg 1000 log the issue and exit 125, which is then handled as a 8517 1.1 mrg failure. 8518 1.1 mrg 8519 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8520 1.1 mrg 8521 1.1 mrg * testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip: 8522 1.1 mrg markup for long double on powerpc64*. 8523 1.1 mrg 8524 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8525 1.1 mrg 8526 1.1 mrg * include/experimental/bits/simd.h: Add __have_power10vec 8527 1.1 mrg conditional on _ARCH_PWR10. 8528 1.1 mrg * include/experimental/bits/simd_builtin.h: Forward declare 8529 1.1 mrg _MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is 8530 1.1 mrg defined. 8531 1.1 mrg (_MaskImplBuiltin::_S_some_of): Call _S_popcount from the 8532 1.1 mrg _SuperImpl for optimizations and correctness. 8533 1.1 mrg * include/experimental/bits/simd_ppc.h: Add _MaskImplPpc. 8534 1.1 mrg (_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10. 8535 1.1 mrg Otherwise, for >=int use -vec_sums divided by a sizeof factor. 8536 1.1 mrg For <int use -vec_sums(vec_sum4s(...)) to sum all mask entries. 8537 1.1 mrg 8538 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8539 1.1 mrg 8540 1.1 mrg * testsuite/experimental/simd/driver.sh: Remove executable on 8541 1.1 mrg SIGINT. Process compiler and test executable output: In verbose 8542 1.1 mrg mode print messages immediately, limited to 1000 lines and 8543 1.1 mrg breaking long lines to below $COLUMNS (or 1024 if not set). 8544 1.1 mrg Communicating the exit status of the compiler / test with the 8545 1.1 mrg necessary pipe is done via a message through stdout/-in. 8546 1.1 mrg 8547 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8548 1.1 mrg 8549 1.1 mrg * testsuite/Makefile.am: Ensure .simd.summary is empty before 8550 1.1 mrg collecting a new summary. 8551 1.1 mrg * testsuite/Makefile.in: Regenerate. 8552 1.1 mrg 8553 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8554 1.1 mrg 8555 1.1 mrg * testsuite/experimental/simd/generate_makefile.sh: Use 8556 1.1 mrg different variables internally than documented for user 8557 1.1 mrg overrides. This makes internal append/prepend work as intended. 8558 1.1 mrg 8559 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8560 1.1 mrg 8561 1.1 mrg * testsuite/experimental/simd/driver.sh (verify_test): Print 8562 1.1 mrg test output on run xfail. Do not repeat lines from the log that 8563 1.1 mrg were already printed on stdout. 8564 1.1 mrg (test_selector): Make the compiler flags pattern usable as a 8565 1.1 mrg substring selector. 8566 1.1 mrg (toplevel): Trap on SIGINT and remove the log and sum files. 8567 1.1 mrg Call timout with --foreground to quickly terminate on SIGINT. 8568 1.1 mrg * testsuite/experimental/simd/generate_makefile.sh: Simplify run 8569 1.1 mrg targets via target patterns. Default DRIVEROPTS to -v for run 8570 1.1 mrg targets. Remove log and sum files after completion of the run 8571 1.1 mrg target (so that it's always recompiled). 8572 1.1 mrg Place help text into text file for reasonable 'make help' 8573 1.1 mrg performance. 8574 1.1 mrg 8575 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8576 1.1 mrg 8577 1.1 mrg * include/experimental/bits/simd.h: Remove unnecessary static 8578 1.1 mrg assertion. Allow sizeof(8) integer __intrinsic_type to enable 8579 1.1 mrg the necessary mask type. 8580 1.1 mrg 8581 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8582 1.1 mrg 8583 1.1 mrg * include/experimental/bits/simd.h: Let __intrinsic_type<long 8584 1.1 mrg double, N> be valid if sizeof(long double) == sizeof(double) and 8585 1.1 mrg use a __vector double as member type. 8586 1.1 mrg 8587 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8588 1.1 mrg 8589 1.1 mrg * include/experimental/bits/simd.h (__is_intrinsic_type): New 8590 1.1 mrg internal type trait. Alias for __is_vector_type on x86. 8591 1.1 mrg (_VectorTraitsImpl): Enable for __intrinsic_type in addition for 8592 1.1 mrg __vector_type. 8593 1.1 mrg (__intrin_bitcast): Allow casting to & from vector & intrinsic 8594 1.1 mrg types. 8595 1.1 mrg (__intrinsic_type): Explicitly specialize for NEON intrinsic 8596 1.1 mrg vector types. 8597 1.1 mrg 8598 1.1 mrg 2021-02-03 Matthias Kretz <kretz (a] kde.org> 8599 1.1 mrg 8600 1.1 mrg * testsuite/experimental/simd/driver.sh: Implement skip, only, 8601 1.1 mrg expensive, and xfail markers. They can select on type, ABI tag 8602 1.1 mrg subset number, target-triplet, and compiler flags. 8603 1.1 mrg * testsuite/experimental/simd/generate_makefile.sh: The summary 8604 1.1 mrg now includes lines for unexpected passes and expected failures. 8605 1.1 mrg If the skip or only markers are only conditional on the type, do 8606 1.1 mrg not generate rules for those types. 8607 1.1 mrg * testsuite/experimental/simd/tests/abs.cc: Mark test expensive 8608 1.1 mrg for ABI tag subsets 1-9. 8609 1.1 mrg * testsuite/experimental/simd/tests/algorithms.cc: Ditto. 8610 1.1 mrg * testsuite/experimental/simd/tests/broadcast.cc: Ditto. 8611 1.1 mrg * testsuite/experimental/simd/tests/casts.cc: Ditto. 8612 1.1 mrg * testsuite/experimental/simd/tests/generator.cc: Ditto. 8613 1.1 mrg * testsuite/experimental/simd/tests/integer_operators.cc: Ditto. 8614 1.1 mrg * testsuite/experimental/simd/tests/loadstore.cc: Ditto. 8615 1.1 mrg * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto. 8616 1.1 mrg * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto. 8617 1.1 mrg * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto. 8618 1.1 mrg * testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto. 8619 1.1 mrg * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto. 8620 1.1 mrg * testsuite/experimental/simd/tests/mask_operators.cc: Ditto. 8621 1.1 mrg * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto. 8622 1.1 mrg * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto. 8623 1.1 mrg * testsuite/experimental/simd/tests/operators.cc: Ditto. 8624 1.1 mrg * testsuite/experimental/simd/tests/reductions.cc: Ditto. 8625 1.1 mrg * testsuite/experimental/simd/tests/simd.cc: Ditto. 8626 1.1 mrg * testsuite/experimental/simd/tests/split_concat.cc: Ditto. 8627 1.1 mrg * testsuite/experimental/simd/tests/splits.cc: Ditto. 8628 1.1 mrg * testsuite/experimental/simd/tests/where.cc: Ditto. 8629 1.1 mrg * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In 8630 1.1 mrg addition replace "test only floattypes" marker by unconditional 8631 1.1 mrg "float|double|ldouble" only marker. 8632 1.1 mrg * testsuite/experimental/simd/tests/frexp.cc: Ditto. 8633 1.1 mrg * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto. 8634 1.1 mrg * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: 8635 1.1 mrg Ditto. 8636 1.1 mrg * testsuite/experimental/simd/tests/logarithm.cc: Ditto. 8637 1.1 mrg * testsuite/experimental/simd/tests/math_1arg.cc: Ditto. 8638 1.1 mrg * testsuite/experimental/simd/tests/math_2arg.cc: Ditto. 8639 1.1 mrg * testsuite/experimental/simd/tests/remqo.cc: Ditto. 8640 1.1 mrg * testsuite/experimental/simd/tests/trigonometric.cc: Ditto. 8641 1.1 mrg * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto. 8642 1.1 mrg * testsuite/experimental/simd/tests/sincos.cc: Ditto. In 8643 1.1 mrg addition, xfail on run because the reference data is missing. 8644 1.1 mrg 8645 1.1 mrg 2021-02-02 Jonathan Wakely <jwakely (a] redhat.com> 8646 1.1 mrg 8647 1.1 mrg * doc/xml/manual/status_cxx2011.xml: Remove stray table cell. 8648 1.1 mrg * doc/xml/manual/status_cxx2014.xml: Likewise. 8649 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Likewise. 8650 1.1 mrg * doc/html/manual/status.html: Regenerate. 8651 1.1 mrg 8652 1.1 mrg 2021-02-01 Franois Dumont <fdumont (a] gcc.gnu.org> 8653 1.1 mrg 8654 1.1 mrg PR libstdc++/70303 8655 1.1 mrg * include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)): 8656 1.1 mrg Return 0 if both iterators are value-initialized. 8657 1.1 mrg * testsuite/23_containers/deque/70303.cc: New test. 8658 1.1 mrg * testsuite/23_containers/vector/70303.cc: New test. 8659 1.1 mrg 8660 1.1 mrg 2021-02-01 Jonathan Wakely <jwakely (a] redhat.com> 8661 1.1 mrg 8662 1.1 mrg * doc/xml/manual/status_cxx2011.xml: Update std::call_once 8663 1.1 mrg status. 8664 1.1 mrg * doc/xml/manual/status_cxx2014.xml: Likewise. 8665 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Likewise. Update 8666 1.1 mrg std::from_chars and std::to_chars status. Fix formatting. 8667 1.1 mrg * doc/html/manual/status.html: Regenerate. 8668 1.1 mrg 8669 1.1 mrg 2021-01-28 Jonathan Wakely <jwakely (a] redhat.com> 8670 1.1 mrg 8671 1.1 mrg * include/experimental/bits/numeric_traits.h: Update copyright 8672 1.1 mrg dates. 8673 1.1 mrg * include/experimental/bits/simd.h: Likewise. 8674 1.1 mrg * include/experimental/bits/simd_builtin.h: Likewise. 8675 1.1 mrg * include/experimental/bits/simd_converter.h: Likewise. 8676 1.1 mrg * include/experimental/bits/simd_detail.h: Likewise. 8677 1.1 mrg * include/experimental/bits/simd_fixed_size.h: Likewise. 8678 1.1 mrg * include/experimental/bits/simd_math.h: Likewise. 8679 1.1 mrg * include/experimental/bits/simd_neon.h: Likewise. 8680 1.1 mrg * include/experimental/bits/simd_ppc.h: Likewise. 8681 1.1 mrg * include/experimental/bits/simd_scalar.h: Likewise. 8682 1.1 mrg * include/experimental/bits/simd_x86.h: Likewise. 8683 1.1 mrg * include/experimental/bits/simd_x86_conversions.h: Likewise. 8684 1.1 mrg * include/experimental/simd: Likewise. 8685 1.1 mrg * testsuite/experimental/simd/*: Likewise. 8686 1.1 mrg 8687 1.1 mrg 2021-01-27 Jonathan Wakely <jwakely (a] redhat.com> 8688 1.1 mrg 8689 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Replace invalid entity. 8690 1.1 mrg * doc/html/*: Regenerate. 8691 1.1 mrg 8692 1.1 mrg 2021-01-27 Jonathan Wakely <jwakely (a] redhat.com> 8693 1.1 mrg 8694 1.1 mrg * testsuite/experimental/simd/generate_makefile.sh: Use printf 8695 1.1 mrg instead of echo when printing escape characters. 8696 1.1 mrg 8697 1.1 mrg 2021-01-27 Matthias Kretz <kretz (a] kde.org> 8698 1.1 mrg 8699 1.1 mrg * scripts/check_simd: New file. This script is called from the 8700 1.1 mrg the check-simd target. It determines a set of compiler flags and 8701 1.1 mrg simulator setups for calling generate_makefile.sh and passes the 8702 1.1 mrg information back to the check-simd target, which recurses to the 8703 1.1 mrg generated Makefiles. 8704 1.1 mrg * scripts/create_testsuite_files: Remove files below simd/tests/ 8705 1.1 mrg from testsuite_files and place them in testsuite_files_simd. 8706 1.1 mrg * testsuite/Makefile.am: Add testsuite_files_simd. Add 8707 1.1 mrg check-simd target. 8708 1.1 mrg * testsuite/Makefile.in: Regenerate. 8709 1.1 mrg * testsuite/experimental/simd/driver.sh: New file. This script 8710 1.1 mrg compiles and runs a given simd test, logging its output and 8711 1.1 mrg status. It uses the timeout command to implement compile and 8712 1.1 mrg test timeouts. 8713 1.1 mrg * testsuite/experimental/simd/generate_makefile.sh: New file. 8714 1.1 mrg This script generates a Makefile which uses driver.sh to compile 8715 1.1 mrg and run the tests and collect the logs into a single log file. 8716 1.1 mrg * testsuite/experimental/simd/tests/abs.cc: New file. Tests 8717 1.1 mrg abs(simd). 8718 1.1 mrg * testsuite/experimental/simd/tests/algorithms.cc: New file. 8719 1.1 mrg Tests min/max(simd, simd). 8720 1.1 mrg * testsuite/experimental/simd/tests/bits/conversions.h: New 8721 1.1 mrg file. Contains functions to support tests involving conversions. 8722 1.1 mrg * testsuite/experimental/simd/tests/bits/make_vec.h: New file. 8723 1.1 mrg Support functions make_mask and make_vec. 8724 1.1 mrg * testsuite/experimental/simd/tests/bits/mathreference.h: New 8725 1.1 mrg file. Support functions to supply precomputed math function 8726 1.1 mrg reference data. 8727 1.1 mrg * testsuite/experimental/simd/tests/bits/metahelpers.h: New 8728 1.1 mrg file. Support code for SFINAE testing. 8729 1.1 mrg * testsuite/experimental/simd/tests/bits/simd_view.h: New file. 8730 1.1 mrg * testsuite/experimental/simd/tests/bits/test_values.h: New 8731 1.1 mrg file. Test functions to easily drive a test with simd objects 8732 1.1 mrg initialized from a given list of values and a range of random 8733 1.1 mrg values. 8734 1.1 mrg * testsuite/experimental/simd/tests/bits/ulp.h: New file. 8735 1.1 mrg Support code to determine the ULP distance of simd objects. 8736 1.1 mrg * testsuite/experimental/simd/tests/bits/verify.h: New file. 8737 1.1 mrg Test framework for COMPARE'ing simd objects and instantiating 8738 1.1 mrg the test templates with value_type and ABI tag. 8739 1.1 mrg * testsuite/experimental/simd/tests/broadcast.cc: New file. Test 8740 1.1 mrg simd broadcasts. 8741 1.1 mrg * testsuite/experimental/simd/tests/casts.cc: New file. Test 8742 1.1 mrg simd casts. 8743 1.1 mrg * testsuite/experimental/simd/tests/fpclassify.cc: New file. 8744 1.1 mrg Test floating-point classification functions. 8745 1.1 mrg * testsuite/experimental/simd/tests/frexp.cc: New file. Test 8746 1.1 mrg frexp(simd). 8747 1.1 mrg * testsuite/experimental/simd/tests/generator.cc: New file. Test 8748 1.1 mrg simd generator constructor. 8749 1.1 mrg * testsuite/experimental/simd/tests/hypot3_fma.cc: New file. 8750 1.1 mrg Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim). 8751 1.1 mrg * testsuite/experimental/simd/tests/integer_operators.cc: New 8752 1.1 mrg file. Test integer operators. 8753 1.1 mrg * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: 8754 1.1 mrg New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and 8755 1.1 mrg modf(simd). 8756 1.1 mrg * testsuite/experimental/simd/tests/loadstore.cc: New file. Test 8757 1.1 mrg (converting) simd loads and stores. 8758 1.1 mrg * testsuite/experimental/simd/tests/logarithm.cc: New file. Test 8759 1.1 mrg log*(simd). 8760 1.1 mrg * testsuite/experimental/simd/tests/mask_broadcast.cc: New file. 8761 1.1 mrg Test simd_mask broadcasts. 8762 1.1 mrg * testsuite/experimental/simd/tests/mask_conversions.cc: New 8763 1.1 mrg file. Test simd_mask conversions. 8764 1.1 mrg * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New 8765 1.1 mrg file. Test simd_mask implicit conversions. 8766 1.1 mrg * testsuite/experimental/simd/tests/mask_loadstore.cc: New file. 8767 1.1 mrg Test simd_mask loads and stores. 8768 1.1 mrg * testsuite/experimental/simd/tests/mask_operator_cvt.cc: New 8769 1.1 mrg file. Test simd_mask operators convert as specified. 8770 1.1 mrg * testsuite/experimental/simd/tests/mask_operators.cc: New file. 8771 1.1 mrg Test simd_mask compares, subscripts, and negation. 8772 1.1 mrg * testsuite/experimental/simd/tests/mask_reductions.cc: New 8773 1.1 mrg file. Test simd_mask reductions. 8774 1.1 mrg * testsuite/experimental/simd/tests/math_1arg.cc: New file. Test 8775 1.1 mrg 1-arg math functions on simd. 8776 1.1 mrg * testsuite/experimental/simd/tests/math_2arg.cc: New file. Test 8777 1.1 mrg 2-arg math functions on simd. 8778 1.1 mrg * testsuite/experimental/simd/tests/operator_cvt.cc: New file. 8779 1.1 mrg Test implicit conversions on simd binary operators behave as 8780 1.1 mrg specified. 8781 1.1 mrg * testsuite/experimental/simd/tests/operators.cc: New file. Test 8782 1.1 mrg simd compares, subscripts, not, unary minus, plus, minus, 8783 1.1 mrg multiplies, divides, increment, and decrement. 8784 1.1 mrg * testsuite/experimental/simd/tests/reductions.cc: New file. 8785 1.1 mrg Test reduce(simd). 8786 1.1 mrg * testsuite/experimental/simd/tests/remqo.cc: New file. Test 8787 1.1 mrg remqo(simd). 8788 1.1 mrg * testsuite/experimental/simd/tests/simd.cc: New file. Basic 8789 1.1 mrg sanity checks of simd types. 8790 1.1 mrg * testsuite/experimental/simd/tests/sincos.cc: New file. Test 8791 1.1 mrg sin(simd) and cos(simd). 8792 1.1 mrg * testsuite/experimental/simd/tests/split_concat.cc: New file. 8793 1.1 mrg Test split(simd) and concat(simd, simd). 8794 1.1 mrg * testsuite/experimental/simd/tests/splits.cc: New file. Test 8795 1.1 mrg split(simd_mask). 8796 1.1 mrg * testsuite/experimental/simd/tests/trigonometric.cc: New file. 8797 1.1 mrg Test remaining trigonometric functions on simd. 8798 1.1 mrg * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New 8799 1.1 mrg file. Test trunc(simd), ceil(simd), and floor(simd). 8800 1.1 mrg * testsuite/experimental/simd/tests/where.cc: New file. Test 8801 1.1 mrg masked operations using where. 8802 1.1 mrg 8803 1.1 mrg 2021-01-27 Matthias Kretz <kretz (a] kde.org> 8804 1.1 mrg 8805 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Add implementation status 8806 1.1 mrg of the Parallelism TS 2. Document implementation-defined types 8807 1.1 mrg and behavior. 8808 1.1 mrg * include/Makefile.am: Add new headers. 8809 1.1 mrg * include/Makefile.in: Regenerate. 8810 1.1 mrg * include/experimental/simd: New file. New header for 8811 1.1 mrg Parallelism TS 2. 8812 1.1 mrg * include/experimental/bits/numeric_traits.h: New file. 8813 1.1 mrg Implementation of P1841R1 using internal naming. Addition of 8814 1.1 mrg missing IEC559 functionality query. 8815 1.1 mrg * include/experimental/bits/simd.h: New file. Definition of the 8816 1.1 mrg public simd interfaces and general implementation helpers. 8817 1.1 mrg * include/experimental/bits/simd_builtin.h: New file. 8818 1.1 mrg Implementation of the _VecBuiltin simd_abi. 8819 1.1 mrg * include/experimental/bits/simd_converter.h: New file. Generic 8820 1.1 mrg simd conversions. 8821 1.1 mrg * include/experimental/bits/simd_detail.h: New file. Internal 8822 1.1 mrg macros for the simd implementation. 8823 1.1 mrg * include/experimental/bits/simd_fixed_size.h: New file. Simd 8824 1.1 mrg fixed_size ABI specific implementations. 8825 1.1 mrg * include/experimental/bits/simd_math.h: New file. Math 8826 1.1 mrg overloads for simd. 8827 1.1 mrg * include/experimental/bits/simd_neon.h: New file. Simd NEON 8828 1.1 mrg specific implementations. 8829 1.1 mrg * include/experimental/bits/simd_ppc.h: New file. Implement bit 8830 1.1 mrg shifts to avoid invalid results for integral types smaller than 8831 1.1 mrg int. 8832 1.1 mrg * include/experimental/bits/simd_scalar.h: New file. Simd scalar 8833 1.1 mrg ABI specific implementations. 8834 1.1 mrg * include/experimental/bits/simd_x86.h: New file. Simd x86 8835 1.1 mrg specific implementations. 8836 1.1 mrg * include/experimental/bits/simd_x86_conversions.h: New file. 8837 1.1 mrg x86 specific conversion optimizations. The conversion patterns 8838 1.1 mrg work around missing conversion patterns in the compiler and 8839 1.1 mrg should be removed as soon as PR85048 is resolved. 8840 1.1 mrg * testsuite/experimental/simd/standard_abi_usable.cc: New file. 8841 1.1 mrg Test that all (not all fixed_size<N>, though) standard simd and 8842 1.1 mrg simd_mask types are usable. 8843 1.1 mrg * testsuite/experimental/simd/standard_abi_usable_2.cc: New 8844 1.1 mrg file. As above but with -ffast-math. 8845 1.1 mrg * testsuite/libstdc++-dg/conformance.exp: Don't build simd tests 8846 1.1 mrg from the standard test loop. Instead use 8847 1.1 mrg check_vect_support_and_set_flags to build simd tests with the 8848 1.1 mrg relevant machine flags. 8849 1.1 mrg 8850 1.1 mrg 2021-01-27 Jonathan Wakely <jwakely (a] redhat.com> 8851 1.1 mrg 8852 1.1 mrg PR libstdc++/66414 8853 1.1 mrg * include/bits/string_view.tcc 8854 1.1 mrg (basic_string_view::find(const CharT*, size_type, size_type)): 8855 1.1 mrg Optimize. 8856 1.1 mrg 8857 1.1 mrg 2021-01-27 Paul Fee <paul.f.fee (a] gmail.com> 8858 1.1 mrg 8859 1.1 mrg * include/bits/basic_string.h (basic_string::contains): New 8860 1.1 mrg member functions. 8861 1.1 mrg * include/std/string_view (basic_string_view::contains): 8862 1.1 mrg Likewise. 8863 1.1 mrg * include/std/version (__cpp_lib_string_contains): Define. 8864 1.1 mrg * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc: 8865 1.1 mrg Remove trailing whitespace. 8866 1.1 mrg * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc: 8867 1.1 mrg Likewise. 8868 1.1 mrg * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test. 8869 1.1 mrg * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test. 8870 1.1 mrg * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test. 8871 1.1 mrg * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test. 8872 1.1 mrg * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test. 8873 1.1 mrg 8874 1.1 mrg 2021-01-21 Jonathan Wakely <jwakely (a] redhat.com> 8875 1.1 mrg 8876 1.1 mrg * src/c++17/Makefile.in: Regenerate. 8877 1.1 mrg 8878 1.1 mrg 2021-01-20 David Edelsohn <dje.gcc (a] gmail.com> 8879 1.1 mrg 8880 1.1 mrg * config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast 8881 1.1 mrg _OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to 8882 1.1 mrg __lc_type. 8883 1.1 mrg (const char* ctype<char>:: is): Same. 8884 1.1 mrg 8885 1.1 mrg 2021-01-18 Jonathan Wakely <jwakely (a] redhat.com> 8886 1.1 mrg 8887 1.1 mrg PR libstdc++/98725 8888 1.1 mrg * testsuite/20_util/unique_ptr/io/lwg2948.cc: Do not try to 8889 1.1 mrg write to a wide character stream if wide character support is 8890 1.1 mrg disabled in the library. 8891 1.1 mrg 8892 1.1 mrg 2021-01-18 Jonathan Wakely <jwakely (a] redhat.com> 8893 1.1 mrg 8894 1.1 mrg * testsuite/27_io/basic_stringstream/cons/char/1.cc: Use 8895 1.1 mrg stringbuf not wstringbuf. 8896 1.1 mrg 8897 1.1 mrg 2021-01-18 Jakub Jelinek <jakub (a] redhat.com> 8898 1.1 mrg 8899 1.1 mrg PR debug/98708 8900 1.1 mrg * src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s): 8901 1.1 mrg Compile with -gno-as-loc-support. 8902 1.1 mrg * src/c++11/Makefile.in: Regenerated. 8903 1.1 mrg 8904 1.1 mrg 2021-01-16 H.J. Lu <hjl.tools (a] gmail.com> 8905 1.1 mrg 8906 1.1 mrg * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: 8907 1.1 mrg Add -fcf-protection=none to -march=i486. 8908 1.1 mrg 8909 1.1 mrg 2021-01-14 Franois Dumont <fdumont (a] gcc.gnu.org> 8910 1.1 mrg 8911 1.1 mrg * testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11 8912 1.1 mrg compliant. 8913 1.1 mrg 8914 1.1 mrg 2021-01-14 Alexandre Oliva <oliva (a] adacore.com> 8915 1.1 mrg 8916 1.1 mrg * testsuite/30_threads/future/members/poll.cc: Calibrate 8917 1.1 mrg iteration count. 8918 1.1 mrg 8919 1.1 mrg 2021-01-14 Franois Dumont <fdumont (a] gcc.gnu.org> 8920 1.1 mrg 8921 1.1 mrg PR libstdc++/98466 8922 1.1 mrg * include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr. 8923 1.1 mrg (_Node_iterator()): Make default. 8924 1.1 mrg (_Node_const_iterator()): Make default. 8925 1.1 mrg * include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular 8926 1.1 mrg iterator checks. 8927 1.1 mrg * include/debug/safe_iterator.h 8928 1.1 mrg (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized. 8929 1.1 mrg * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS): 8930 1.1 mrg Likewise. 8931 1.1 mrg * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add 8932 1.1 mrg _M_singular checks on input iterators. 8933 1.1 mrg * src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular 8934 1.1 mrg checks. 8935 1.1 mrg * testsuite/23_containers/deque/debug/98466.cc: New test. 8936 1.1 mrg * testsuite/23_containers/unordered_map/debug/98466.cc: New test. 8937 1.1 mrg 8938 1.1 mrg 2021-01-14 Jonathan Wakely <jwakely (a] redhat.com> 8939 1.1 mrg 8940 1.1 mrg PR libstdc++/98471 8941 1.1 mrg * include/bits/fs_path.h (__throw_conversion_error): New 8942 1.1 mrg function to throw or abort on character conversion errors. 8943 1.1 mrg (__wstr_from_utf8): Move definition after filesystem_error has 8944 1.1 mrg been defined. Use __throw_conversion_error. 8945 1.1 mrg (path::_S_convert<_EcharT>): Use __throw_conversion_error. 8946 1.1 mrg (path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise. 8947 1.1 mrg (path::u8string): Likewise. 8948 1.1 mrg 8949 1.1 mrg 2021-01-14 Jonathan Wakely <jwakely (a] redhat.com> 8950 1.1 mrg 8951 1.1 mrg * include/std/barrier: Update copyright years. Fix whitespace. 8952 1.1 mrg * include/std/version: Fix whitespace. 8953 1.1 mrg * testsuite/30_threads/barrier/1.cc: Update copyright years. 8954 1.1 mrg * testsuite/30_threads/barrier/2.cc: Likewise. 8955 1.1 mrg * testsuite/30_threads/barrier/arrive.cc: Likewise. 8956 1.1 mrg * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. 8957 1.1 mrg * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. 8958 1.1 mrg * testsuite/30_threads/barrier/completion.cc: Likewise. 8959 1.1 mrg 8960 1.1 mrg 2021-01-13 Jonathan Wakely <jwakely (a] redhat.com> 8961 1.1 mrg 8962 1.1 mrg * doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array. 8963 1.1 mrg 8964 1.1 mrg 2021-01-10 David Edelsohn <dje.gcc (a] gmail.com> 8965 1.1 mrg 8966 1.1 mrg PR libstdc++/98613 8967 1.1 mrg * testsuite/ext/vstring/cons/moveable.cc: Suppress false positive 8968 1.1 mrg warning. 8969 1.1 mrg * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same. 8970 1.1 mrg 8971 1.1 mrg 2021-01-08 Olivier Hainque <hainque (a] adacore.com> 8972 1.1 mrg 8973 1.1 mrg * testsuite/20_util/bind/ref_neg.cc: Tweak the 8974 1.1 mrg dg-prune-output regex for out-of-build-tree contexts. 8975 1.1 mrg 8976 1.1 mrg 2021-01-07 Thomas Rodgers <trodgers (a] redhat.com> 8977 1.1 mrg 8978 1.1 mrg * doc/doxygen/user.cfg.in: Add new header. 8979 1.1 mrg * include/Makefile.am (std_headers): likewise. 8980 1.1 mrg * include/Makefile.in: Regenerate. 8981 1.1 mrg * include/precompiled/stdc++.h: Add new header. 8982 1.1 mrg * include/std/barrier: New file. 8983 1.1 mrg * include/std/version: Add __cpp_lib_barrier feature test macro. 8984 1.1 mrg * testsuite/30_threads/barrier/1.cc: New test. 8985 1.1 mrg * testsuite/30_threads/barrier/2.cc: Likewise. 8986 1.1 mrg * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. 8987 1.1 mrg * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. 8988 1.1 mrg * testsuite/30_threads/barrier/arrive.cc: Likewise. 8989 1.1 mrg * testsuite/30_threads/barrier/completion.cc: Likewise. 8990 1.1 mrg 8991 1.1 mrg 2021-01-07 Patrick Palka <ppalka (a] redhat.com> 8992 1.1 mrg 8993 1.1 mrg PR libstdc++/98384 8994 1.1 mrg * testsuite/20_util/to_chars/long_double.cc: Use nexttowardl 8995 1.1 mrg instead of the non-standard nextupl and nextdownl. 8996 1.1 mrg 8997 1.1 mrg 2021-01-05 Samuel Thibault <samuel.thibault (a] ens-lyon.org> 8998 1.1 mrg 8999 1.1 mrg * configure: Re-generate. 9000 1.1 mrg 9001 1.1 mrg 2021-01-05 Ed Smith-Rowland <3dw4rd (a] verizon.net> 9002 1.1 mrg 9003 1.1 mrg * include/precompiled/stdc++.h: Add <source_location> to C++20 section. 9004 1.1 mrg 9005 1.1 mrg 2021-01-01 Jakub Jelinek <jakub (a] redhat.com> 9006 1.1 mrg 9007 1.1 mrg * ChangeLog-2020: Rotate ChangeLog. New file. 9008 1.1 mrg 9010 1.1 mrg Copyright (C) 2021 Free Software Foundation, Inc. 9011 1.1 mrg 9012 1.1 mrg Copying and distribution of this file, with or without modification, 9013 1.1 mrg are permitted in any medium without royalty provided the copyright 9014 notice and this notice are preserved. 9015