1 1.1 mrg 2022-12-24 Iain Sandoe <iain (a] sandoe.co.uk> 2 1.1 mrg 3 1.1 mrg * src/c++20/tzdb.cc (remote_version): Look for the tzdata.zi 4 1.1 mrg file before falling back to system-specific ones on Darwin and 5 1.1 mrg BSD. 6 1.1 mrg 7 1.1 mrg 2022-12-24 Iain Sandoe <iain (a] sandoe.co.uk> 8 1.1 mrg 9 1.1 mrg * testsuite/std/time/tzdb/leap_seconds.cc: Initialize the 10 1.1 mrg override_used test var to false. 11 1.1 mrg 12 1.1 mrg 2022-12-23 Eric Botcazou <ebotcazou (a] adacore.com> 13 1.1 mrg 14 1.1 mrg * acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Substitute CPPFLAGS. 15 1.1 mrg (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Set ac_has_sched_yield and 16 1.1 mrg ac_has_win32_sleep to yes for MinGW. Change HAVE_WIN32_SLEEP 17 1.1 mrg into _GLIBCXX_USE_WIN32_SLEEP. 18 1.1 mrg (GLIBCXX_CHECK_GTHREADS): Add _WIN32_THREADS to compilation flags for 19 1.1 mrg Win32 threads and force _GTHREAD_USE_MUTEX_TIMEDLOCK to 0 for them. 20 1.1 mrg Add -D_WIN32_WINNT=0x0600 to compilation flags if yes was configured 21 1.1 mrg and add it to CPPFLAGS on success. 22 1.1 mrg * config.h.in: Regenerate. 23 1.1 mrg * configure: Likewise. 24 1.1 mrg * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_GET_NPROCS_WIN32): 25 1.1 mrg Define to 1. 26 1.1 mrg * config/os/mingw32/os_defines.h (_GLIBCXX_USE_GET_NPROCS_WIN32): Ditto 27 1.1 mrg * src/c++11/thread.cc (get_nprocs): Provide Win32 implementation if 28 1.1 mrg _GLIBCXX_USE_GET_NPROCS_WIN32 is defined. Replace HAVE_WIN32_SLEEP 29 1.1 mrg with USE_WIN32_SLEEP. 30 1.1 mrg * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: Add 31 1.1 mrg missing conditional compilation. 32 1.1 mrg * testsuite/lib/libstdc++.exp (check_v3_target_sleep): Add support for 33 1.1 mrg _GLIBCXX_USE_WIN32_SLEEP. 34 1.1 mrg (check_v3_target_nprocs): Likewise for _GLIBCXX_USE_GET_NPROCS_WIN32. 35 1.1 mrg 36 1.1 mrg 2022-12-23 Jonathan Wakely <jwakely (a] redhat.com> 37 1.1 mrg 38 1.1 mrg * src/c++20/tzdb.cc [__APPLE__] (zoneinfo_dir_override): Add 39 1.1 mrg definition. 40 1.1 mrg 41 1.1 mrg 2022-12-23 Jonathan Wakely <jwakely (a] redhat.com> 42 1.1 mrg 43 1.1 mrg * src/c++20/tzdb.cc: Remove static_assert. 44 1.1 mrg 45 1.1 mrg 2022-12-23 Arsen Arsenovi <arsen (a] aarsen.me> 46 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 47 1.1 mrg 48 1.1 mrg PR libstdc++/107792 49 1.1 mrg PR libstdc++/107778 50 1.1 mrg * src/experimental/contract.cc (handle_contract_violation): Make 51 1.1 mrg output more readable. 52 1.1 mrg 53 1.1 mrg 2022-12-22 Jonathan Wakely <jwakely (a] redhat.com> 54 1.1 mrg 55 1.1 mrg PR libstdc++/105730 56 1.1 mrg * src/c++11/compatibility-condvar.cc (__nothrow_wait_cv::wait): 57 1.1 mrg Access private data member of base class and call its wait 58 1.1 mrg member. 59 1.1 mrg 60 1.1 mrg 2022-12-22 Jonathan Wakely <jwakely (a] redhat.com> 61 1.1 mrg 62 1.1 mrg * include/Makefile.am: Add new header. 63 1.1 mrg * include/Makefile.in: Regenerate. 64 1.1 mrg * include/std/chrono (operator<<): Move to new header. 65 1.1 mrg (nonexistent_local_time::_M_make_what_str): Define correctly. 66 1.1 mrg (ambiguous_local_time::_M_make_what_str): Likewise. 67 1.1 mrg * include/bits/chrono_io.h: New file. 68 1.1 mrg * src/c++20/tzdb.cc (operator<<(ostream&, const Rule&)): Use 69 1.1 mrg new ostream output for month and weekday types. 70 1.1 mrg * testsuite/20_util/duration/io.cc: Test std::format support. 71 1.1 mrg * testsuite/std/time/exceptions.cc: Check what() strings. 72 1.1 mrg * testsuite/std/time/syn_c++20.cc: Uncomment local_time_format. 73 1.1 mrg * testsuite/std/time/time_zone/get_info_local.cc: Enable check 74 1.1 mrg for formatted output of local_info objects. 75 1.1 mrg * testsuite/std/time/clock/file/io.cc: New test. 76 1.1 mrg * testsuite/std/time/clock/gps/io.cc: New test. 77 1.1 mrg * testsuite/std/time/clock/system/io.cc: New test. 78 1.1 mrg * testsuite/std/time/clock/tai/io.cc: New test. 79 1.1 mrg * testsuite/std/time/clock/utc/io.cc: New test. 80 1.1 mrg * testsuite/std/time/day/io.cc: New test. 81 1.1 mrg * testsuite/std/time/format.cc: New test. 82 1.1 mrg * testsuite/std/time/hh_mm_ss/io.cc: New test. 83 1.1 mrg * testsuite/std/time/month/io.cc: New test. 84 1.1 mrg * testsuite/std/time/weekday/io.cc: New test. 85 1.1 mrg * testsuite/std/time/year/io.cc: New test. 86 1.1 mrg * testsuite/std/time/year_month_day/io.cc: New test. 87 1.1 mrg 88 1.1 mrg 2022-12-22 Jonathan Wakely <jwakely (a] redhat.com> 89 1.1 mrg 90 1.1 mrg * include/std/format (__format::__write_padded_as_spec): New 91 1.1 mrg function. 92 1.1 mrg (__format::__formatter_str, __format::__formatter_int::format) 93 1.1 mrg (formatter<const void*, charT>): Use it. 94 1.1 mrg 95 1.1 mrg 2022-12-22 Jonathan Wakely <jwakely (a] redhat.com> 96 1.1 mrg 97 1.1 mrg * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter) 98 1.1 mrg (StdChronoTimePointPrinter, StdChronoZonedTimePrinter) 99 1.1 mrg (StdChronoCalendarPrinter, StdChronoTimeZonePrinter) 100 1.1 mrg (StdChronoLeapSecondPrinter, StdChronoTzdbPrinter) 101 1.1 mrg (StdChronoTimeZoneRulePrinter): New printers. 102 1.1 mrg 103 1.1 mrg 2022-12-22 Jonathan Wakely <jwakely (a] redhat.com> 104 1.1 mrg 105 1.1 mrg * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): New macro. 106 1.1 mrg * config.h.in: Regenerate. 107 1.1 mrg * config/abi/pre/gnu.ver: Export new symbols. 108 1.1 mrg * configure: Regenerate. 109 1.1 mrg * configure.ac (GLIBCXX_ZONEINFO_DIR): Use new macro. 110 1.1 mrg * include/std/chrono (utc_clock::from_sys): Correct handling 111 1.1 mrg of leap seconds. 112 1.1 mrg (nonexistent_local_time::_M_make_what_str): Define. 113 1.1 mrg (ambiguous_local_time::_M_make_what_str): Define. 114 1.1 mrg (__throw_bad_local_time): Define new function. 115 1.1 mrg (time_zone, tzdb_list, tzdb): Implement all members. 116 1.1 mrg (remote_version, zoned_time, get_leap_second_info): Define. 117 1.1 mrg * include/std/version: Add comment for __cpp_lib_chrono. 118 1.1 mrg * src/c++20/Makefile.am: Add new file. 119 1.1 mrg * src/c++20/Makefile.in: Regenerate. 120 1.1 mrg * src/c++20/tzdb.cc: New file. 121 1.1 mrg * testsuite/lib/libstdc++.exp: Define effective target tzdb. 122 1.1 mrg * testsuite/std/time/clock/file/members.cc: Check file_time 123 1.1 mrg alias and file_clock::now() member. 124 1.1 mrg * testsuite/std/time/clock/gps/1.cc: Likewise for gps_clock. 125 1.1 mrg * testsuite/std/time/clock/tai/1.cc: Likewise for tai_clock. 126 1.1 mrg * testsuite/std/time/syn_c++20.cc: Uncomment everything except 127 1.1 mrg parse. 128 1.1 mrg * testsuite/std/time/clock/utc/leap_second_info.cc: New test. 129 1.1 mrg * testsuite/std/time/exceptions.cc: New test. 130 1.1 mrg * testsuite/std/time/time_zone/get_info_local.cc: New test. 131 1.1 mrg * testsuite/std/time/time_zone/get_info_sys.cc: New test. 132 1.1 mrg * testsuite/std/time/time_zone/requirements.cc: New test. 133 1.1 mrg * testsuite/std/time/tzdb/1.cc: New test. 134 1.1 mrg * testsuite/std/time/tzdb/leap_seconds.cc: New test. 135 1.1 mrg * testsuite/std/time/tzdb_list/1.cc: New test. 136 1.1 mrg * testsuite/std/time/tzdb_list/requirements.cc: New test. 137 1.1 mrg * testsuite/std/time/zoned_time/1.cc: New test. 138 1.1 mrg * testsuite/std/time/zoned_time/custom.cc: New test. 139 1.1 mrg * testsuite/std/time/zoned_time/deduction.cc: New test. 140 1.1 mrg * testsuite/std/time/zoned_time/req_neg.cc: New test. 141 1.1 mrg * testsuite/std/time/zoned_time/requirements.cc: New test. 142 1.1 mrg * testsuite/std/time/zoned_traits.cc: New test. 143 1.1 mrg 144 1.1 mrg 2022-12-22 Jonathan Wakely <jwakely (a] redhat.com> 145 1.1 mrg 146 1.1 mrg * include/bits/chrono.h (__is_duration_v, __is_time_point_v): 147 1.1 mrg New variable templates. 148 1.1 mrg (duration_cast): Add simplified definition for noconv case. 149 1.1 mrg (treat_as_floating_point_v): Add explicit specializations. 150 1.1 mrg (duration::operator%=, floor, ceil, round): Simplify SFINAE 151 1.1 mrg constraints. 152 1.1 mrg 153 1.1 mrg 2022-12-22 Jonathan Wakely <jwakely (a] redhat.com> 154 1.1 mrg 155 1.1 mrg * include/std/chrono: Use nodiscard attribute. 156 1.1 mrg 157 1.1 mrg 2022-12-21 Jakub Jelinek <jakub (a] redhat.com> 158 1.1 mrg 159 1.1 mrg * testsuite/20_util/to_chars/float16_c++23.cc (test): Use 3 argument 160 1.1 mrg std::to_chars if fmt is std::chars_format{}, rather than 4 argument. 161 1.1 mrg * testsuite/20_util/to_chars/float128_c++23.cc (test): Likewise, and 162 1.1 mrg skip second part of testing that requires 5 argument std::to_chars. 163 1.1 mrg 164 1.1 mrg 2022-12-19 Arsen Arsenovi <arsen (a] aarsen.me> 165 1.1 mrg 166 1.1 mrg * include/experimental/contract: Lowercase the constants in 167 1.1 mrg contract_violation_continuation_mode. 168 1.1 mrg 169 1.1 mrg 2022-12-16 John David Anglin <danglin (a] gcc.gnu.org> 170 1.1 mrg 171 1.1 mrg * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. 172 1.1 mrg 173 1.1 mrg 2022-12-16 Jonathan Wakely <jwakely (a] redhat.com> 174 1.1 mrg 175 1.1 mrg * include/std/expected (expected): Add monadic operations. 176 1.1 mrg (expected<void, E>): Likewise. 177 1.1 mrg * include/std/version (__cpp_lib_expected): Bump value. 178 1.1 mrg * testsuite/20_util/expected/synopsis.cc: Adjust expected macro 179 1.1 mrg value. 180 1.1 mrg * testsuite/20_util/expected/version.cc: Likewise. 181 1.1 mrg * testsuite/20_util/expected/illformed_neg.cc: Prune additional 182 1.1 mrg errors from ill-formed monadic operations. 183 1.1 mrg * testsuite/20_util/expected/observers.cc: Check error_or. 184 1.1 mrg * testsuite/20_util/expected/monadic.cc: New test. 185 1.1 mrg 186 1.1 mrg 2022-12-16 Jonathan Wakely <jwakely (a] redhat.com> 187 1.1 mrg 188 1.1 mrg * include/std/expected (expected::_M_swap_val_unex): Guard the 189 1.1 mrg correct object. 190 1.1 mrg (expected::swap): Move is_swappable 191 1.1 mrg requirement from static_assert to constraint. 192 1.1 mrg (swap): Likewise. 193 1.1 mrg (operator==): Remove noexcept-specifier. 194 1.1 mrg * testsuite/20_util/expected/swap.cc: Check swapping of 195 1.1 mrg types without non-throwing move constructor. Check constraints 196 1.1 mrg on swap. 197 1.1 mrg * testsuite/20_util/expected/unexpected.cc: Check constraints on 198 1.1 mrg swap. 199 1.1 mrg * testsuite/20_util/expected/equality.cc: New test. 200 1.1 mrg 201 1.1 mrg 2022-12-16 Jonathan Wakely <jwakely (a] redhat.com> 202 1.1 mrg 203 1.1 mrg * include/bits/alloc_traits.h (__allocator_traits_base::__rebind): 204 1.1 mrg Add static assert for rebind requirement. 205 1.1 mrg * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: 206 1.1 mrg Fix invalid rebind member in test allocator. 207 1.1 mrg * testsuite/20_util/allocator_traits/requirements/rebind_neg.cc: 208 1.1 mrg New test. 209 1.1 mrg * testsuite/20_util/scoped_allocator/outermost.cc: Add rebind to 210 1.1 mrg test allocator. 211 1.1 mrg * testsuite/23_containers/forward_list/48101_neg.cc: Prune new 212 1.1 mrg static assert error. 213 1.1 mrg * testsuite/23_containers/unordered_multiset/48101_neg.cc: 214 1.1 mrg Likewise. 215 1.1 mrg * testsuite/23_containers/unordered_set/48101_neg.cc: 216 1.1 mrg Likewise. 217 1.1 mrg * testsuite/23_containers/vector/52591.cc: Fix typo in rebind. 218 1.1 mrg 219 1.1 mrg 2022-12-16 Jonathan Wakely <jwakely (a] redhat.com> 220 1.1 mrg 221 1.1 mrg PR libstdc++/108118 222 1.1 mrg * include/bits/shared_ptr_base.h (weak_ptr::operator=): 223 1.1 mrg Implement as move-and-swap exactly as specified in the standard. 224 1.1 mrg * testsuite/20_util/weak_ptr/cons/self_move.cc: New test. 225 1.1 mrg 226 1.1 mrg 2022-12-15 Jakub Jelinek <jakub (a] redhat.com> 227 1.1 mrg 228 1.1 mrg PR libstdc++/108075 229 1.1 mrg * config/abi/pre/gnu.ver (CXXABI_1.3.14): Export 230 1.1 mrg _ZTIDF[0-9]*[_bx], _ZTIPDF[0-9]*[_bx] and _ZTIPKDF[0-9]*[_bx]. 231 1.1 mrg * testsuite/util/testsuite_abi.cc (check_version): Handle 232 1.1 mrg CXXABI_1.3.14. 233 1.1 mrg 234 1.1 mrg 2022-12-14 Jonathan Wakely <jwakely (a] redhat.com> 235 1.1 mrg 236 1.1 mrg PR libstdc++/108097 237 1.1 mrg * include/std/stacktrace (basic_stracktrace::_Impl): Do not 238 1.1 mrg multiply N by sizeof(value_type) when allocating. 239 1.1 mrg 240 1.1 mrg 2022-12-13 Jakub Jelinek <jakub (a] redhat.com> 241 1.1 mrg 242 1.1 mrg * src/libbacktrace/backtrace-rename.h (backtrace_uncompress_zstd): 243 1.1 mrg Define. 244 1.1 mrg 245 1.1 mrg 2022-12-12 Jonathan Wakely <jwakely (a] redhat.com> 246 1.1 mrg 247 1.1 mrg * testsuite/20_util/duration/arithmetic/overflow_c++20.cc: New 248 1.1 mrg test. 249 1.1 mrg 250 1.1 mrg 2022-12-12 Jonathan Wakely <jwakely (a] redhat.com> 251 1.1 mrg 252 1.1 mrg PR libstdc++/108024 253 1.1 mrg * include/std/format (basic_format_string): Fix constraint. 254 1.1 mrg * testsuite/std/format/format_string.cc: New test. 255 1.1 mrg 256 1.1 mrg 2022-12-12 Jonathan Wakely <jwakely (a] redhat.com> 257 1.1 mrg 258 1.1 mrg * include/std/chrono (hh_mm_ss): Rename __is_unsigned member to 259 1.1 mrg _S_is_unsigned. 260 1.1 mrg * include/std/format (basic_format_context): Rename _Out_ 261 1.1 mrg template parameter to _Out2. 262 1.1 mrg * testsuite/17_intro/names.cc: Add Windows SAL annotation 263 1.1 mrg macros. 264 1.1 mrg 265 1.1 mrg 2022-12-12 Jonathan Wakely <jwakely (a] redhat.com> 266 1.1 mrg 267 1.1 mrg PR libstdc++/98034 268 1.1 mrg * include/std/atomic (__cpp_lib_atomic_lock_free_type_aliases): 269 1.1 mrg Define macro. 270 1.1 mrg (atomic_signed_lock_free, atomic_unsigned_lock_free): Define 271 1.1 mrg aliases. 272 1.1 mrg * include/std/version (__cpp_lib_atomic_lock_free_type_aliases): 273 1.1 mrg Define macro. 274 1.1 mrg * testsuite/29_atomics/atomic/lock_free_aliases.cc: New test. 275 1.1 mrg 276 1.1 mrg 2022-12-12 Jonathan Wakely <jwakely (a] redhat.com> 277 1.1 mrg 278 1.1 mrg * include/std/stacktrace (operator<<): Only output to narrow 279 1.1 mrg ostreams (LWG 3515). 280 1.1 mrg * testsuite/19_diagnostics/stacktrace/synopsis.cc: 281 1.1 mrg 282 1.1 mrg 2022-12-09 Jonathan Wakely <jwakely (a] redhat.com> 283 1.1 mrg 284 1.1 mrg PR libstdc++/108015 285 1.1 mrg * include/std/chrono (hh_mm_ss): Remove digit separators. 286 1.1 mrg 287 1.1 mrg 2022-12-09 Jonathan Wakely <jwakely (a] redhat.com> 288 1.1 mrg 289 1.1 mrg * include/ext/pb_ds/detail/type_utils.hpp (PB_DS_STATIC_ASSERT): 290 1.1 mrg Add unused attribute to avoid -Wunused-local-typedef warnings. 291 1.1 mrg * testsuite/17_intro/tag_type_explicit_ctor.cc: Add pragma to 292 1.1 mrg ignore -Wunused-variable warnings 293 1.1 mrg 294 1.1 mrg 2022-12-09 Jonathan Wakely <jwakely (a] redhat.com> 295 1.1 mrg 296 1.1 mrg * include/bits/chrono.h (duration_cast, floor, round, abs, ceil) 297 1.1 mrg (time_point_cast): Add [[nodiscard]] attribute and doxygen 298 1.1 mrg comments. 299 1.1 mrg (treat_as_floating_point): Add doxygen commen. 300 1.1 mrg 301 1.1 mrg 2022-12-09 Jonathan Wakely <jwakely (a] redhat.com> 302 1.1 mrg 303 1.1 mrg * include/bits/chrono.h (duration, time_point): Change 'struct' 304 1.1 mrg to 'class'. 305 1.1 mrg 306 1.1 mrg 2022-12-07 Jonathan Wakely <jwakely (a] redhat.com> 307 1.1 mrg Franois Dumont <frs.dumont (a] gmail.com> 308 1.1 mrg 309 1.1 mrg * include/debug/formatter.h [_GLIBCXX_DEBUG_BACKTRACE] 310 1.1 mrg (_Error_formatter::_Error_formatter): Pass error handler to 311 1.1 mrg __glibcxx_backtrace_create_state. Pass 1 for threaded argument. 312 1.1 mrg (_Error_formatter::_S_err): Define empty function. 313 1.1 mrg * src/c++11/debug.cc (_Error_formatter::_M_error): Pass error 314 1.1 mrg handler to __glibcxx_backtrace_full. 315 1.1 mrg 316 1.1 mrg 2022-12-06 Jonathan Wakely <jwakely (a] redhat.com> 317 1.1 mrg 318 1.1 mrg PR libstdc++/107979 319 1.1 mrg * testsuite/17_intro/names.cc: Do not check __unused on old 320 1.1 mrg Glibc versions. 321 1.1 mrg 322 1.1 mrg 2022-12-06 Jonathan Wakely <jwakely (a] redhat.com> 323 1.1 mrg 324 1.1 mrg PR libstdc++/107871 325 1.1 mrg * include/std/format (_Iter_sink::_M_overflow): Add cast to 326 1.1 mrg size_t. 327 1.1 mrg (_Iter_sink<CharT, contiguous_iterator auto>::_M_make_span): Use 328 1.1 mrg typedef instead of decltype. 329 1.1 mrg * testsuite/std/format/functions/107871.cc: New test. 330 1.1 mrg 331 1.1 mrg 2022-12-06 Jonathan Wakely <jwakely (a] redhat.com> 332 1.1 mrg 333 1.1 mrg * include/std/chrono (chrono::hh_mm_ss): Do not use 64-bit 334 1.1 mrg representations for all four duration members. Reorder members. 335 1.1 mrg (hh_mm_ss::hh_mm_ss()): Define as defaulted. 336 1.1 mrg (hh_mm_ss::hh_mm_ss(Duration)): Delegate to a new private 337 1.1 mrg constructor, instead of calling chrono::abs repeatedly. 338 1.1 mrg * testsuite/std/time/hh_mm_ss/1.cc: Check floating-point 339 1.1 mrg representations. Check default constructor. Check sizes. 340 1.1 mrg 341 1.1 mrg 2022-12-06 Jonathan Wakely <jwakely (a] redhat.com> 342 1.1 mrg 343 1.1 mrg PR c++/106434 344 1.1 mrg * include/bits/vector.tcc (insert(const_iterator, const T&)): 345 1.1 mrg Add assertion and optimization hint that the iterator for the 346 1.1 mrg insertion point must be non-null. 347 1.1 mrg 348 1.1 mrg 2022-12-06 Jonathan Wakely <jwakely (a] redhat.com> 349 1.1 mrg 350 1.1 mrg * include/bits/std_mutex.h (mutex): Add nodiscard attribute to 351 1.1 mrg try_lock member function. 352 1.1 mrg * include/bits/unique_lock.h (unique_lock): Likewise for 353 1.1 mrg try_lock, try_lock_until, try_lock_for member functions, and 354 1.1 mrg owns_lock and mutex member functions. 355 1.1 mrg * include/std/mutex (recursive_mutex): Likewise for try_lock 356 1.1 mrg member function. 357 1.1 mrg (timed_mutex, recursive_timed_mutex, try_lock): Likewise for 358 1.1 mrg try_lock, try_lock_until, try_lock_for member functions. 359 1.1 mrg (try_lock): Likewise for non-member function. 360 1.1 mrg * include/std/shared_mutex (shared_mutex): Likewise for try_lock 361 1.1 mrg and try_lock_shared member functions. 362 1.1 mrg (shared_timed_mutex): Likewise for try_lock, try_lock_for, 363 1.1 mrg try_lock_shared, try_lock_shared_for, try_lock_until, and 364 1.1 mrg try_lock_shared_until member functions. 365 1.1 mrg (shared_lock): Likewise for try_lock, try_lock, try_lock_for, 366 1.1 mrg try_lock_until, owns_lock, and mutex member functions. 367 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc: 368 1.1 mrg Cast discarded value expression to void. 369 1.1 mrg * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. 370 1.1 mrg * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. 371 1.1 mrg * testsuite/30_threads/shared_lock/locking/clock_neg.cc: 372 1.1 mrg Likewise. 373 1.1 mrg * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc: 374 1.1 mrg Likewise. 375 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc: 376 1.1 mrg Likewise. 377 1.1 mrg * testsuite/30_threads/try_lock/4.cc: Likewise. 378 1.1 mrg * testsuite/30_threads/unique_lock/cons/60497.cc: Likewise. 379 1.1 mrg * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. 380 1.1 mrg * testsuite/30_threads/unique_lock/locking/clock_neg.cc: 381 1.1 mrg Likewise. 382 1.1 mrg 383 1.1 mrg 2022-12-06 Jonathan Wakely <jwakely (a] redhat.com> 384 1.1 mrg 385 1.1 mrg * include/std/format (basic_format_parse_context::next_arg_id): 386 1.1 mrg Only check arg-id is in range during constant evaluation. 387 1.1 mrg * testsuite/std/format/functions/format.cc: Check "{:#Lx}". 388 1.1 mrg * testsuite/std/format/parse_ctx.cc: Adjust expected results for 389 1.1 mrg format-strings using an out-of-range arg-id. 390 1.1 mrg 391 1.1 mrg 2022-12-04 Iain Sandoe <iain (a] sandoe.co.uk> 392 1.1 mrg 393 1.1 mrg * config/os/bsd/darwin/os_defines.h 394 1.1 mrg (_GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC): Limit use of this macro 395 1.1 mrg to OS versions that need it. 396 1.1 mrg 397 1.1 mrg 2022-12-04 Iain Sandoe <iain (a] sandoe.co.uk> 398 1.1 mrg 399 1.1 mrg * config/os/bsd/darwin/os_defines.h (_GLIBCXX_WEAK_DEFINITION): Use the 400 1.1 mrg implementation namespace for the weak attribute. 401 1.1 mrg 402 1.1 mrg 2022-12-02 Bjrn Schpers <bjoern (a] hazardy.de> 403 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 404 1.1 mrg 405 1.1 mrg * include/std/stacktrace (stacktrace_entry::_S_err_handler): New 406 1.1 mrg static function. 407 1.1 mrg (stacktrace_entry, basic_stacktrace): Pass &_S_err_handler to 408 1.1 mrg all calls to libbacktrace. 409 1.1 mrg 410 1.1 mrg 2022-11-29 Jonathan Wakely <jwakely (a] redhat.com> 411 1.1 mrg 412 1.1 mrg PR libstdc++/107852 413 1.1 mrg PR libstdc++/106199 414 1.1 mrg PR libstdc++/100366 415 1.1 mrg * include/bits/vector.tcc (vector::_M_fill_insert): Copy 416 1.1 mrg _M_start and _M_finish members before allocating. 417 1.1 mrg (vector::_M_default_append): Likewise. 418 1.1 mrg (vector::_M_range_insert): Likewise. 419 1.1 mrg 420 1.1 mrg 2022-11-29 Jonathan Wakely <jwakely (a] redhat.com> 421 1.1 mrg 422 1.1 mrg * include/bits/stl_iterator_base_types.h (__iterator_category): 423 1.1 mrg Add always_inline attribute. 424 1.1 mrg * include/bits/stl_vector.h (assign(Iter, Iter)): Call 425 1.1 mrg _M_assign_aux directly, instead of _M_assign_dispatch. 426 1.1 mrg (insert(const_iterator, Iter, Iter)): Call _M_range_insert 427 1.1 mrg directly instead of _M_insert_dispatch. 428 1.1 mrg 429 1.1 mrg 2022-11-29 Jonathan Wakely <jwakely (a] redhat.com> 430 1.1 mrg 431 1.1 mrg * include/std/format: Rename all variables called __used or 432 1.1 mrg __packed. 433 1.1 mrg * testsuite/17_intro/badnames.cc: Add no_pch options. 434 1.1 mrg * testsuite/17_intro/names.cc: Check __packed, __unused and 435 1.1 mrg __used. 436 1.1 mrg 437 1.1 mrg 2022-11-28 Franois Dumont <fdumont (a] gcc.gnu.org> 438 1.1 mrg 439 1.1 mrg * testsuite/20_util/function/cons/70692.cc: Adapt dg-error message. 440 1.1 mrg 441 1.1 mrg 2022-11-28 Jonathan Wakely <jwakely (a] redhat.com> 442 1.1 mrg 443 1.1 mrg PR libstdc++/107801 444 1.1 mrg * src/c++17/memory_resource.cc (chunk::_M_bytes): Change type 445 1.1 mrg from uint32_t to bitset::size_type. Adjust static assertion. 446 1.1 mrg (__pool_resource::_Pool::replenish): Cast to size_t after 447 1.1 mrg multiplication instead of before. 448 1.1 mrg (__pool_resource::_M_alloc_pools): Ensure both arguments to 449 1.1 mrg std::max have type size_t. 450 1.1 mrg 451 1.1 mrg 2022-11-28 Jonathan Wakely <jwakely (a] redhat.com> 452 1.1 mrg 453 1.1 mrg * include/std/string_view (basic_string_view::copy) Use explicit 454 1.1 mrg template argument for call to std::min<size_t>. 455 1.1 mrg (basic_string_view::substr): Likewise. 456 1.1 mrg 457 1.1 mrg 2022-11-28 Jonathan Wakely <jwakely (a] redhat.com> 458 1.1 mrg 459 1.1 mrg PR libstdc++/107885 460 1.1 mrg * libsupc++/hash_bytes.cc (_Hash_bytes): Convert to size_t 461 1.1 mrg instead of implicit integer promotion to 16 bits. 462 1.1 mrg 463 1.1 mrg 2022-11-28 Jonathan Wakely <jwakely (a] redhat.com> 464 1.1 mrg 465 1.1 mrg * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc: 466 1.1 mrg Replace non-ASCII character. 467 1.1 mrg 468 1.1 mrg 2022-11-28 Jonathan Wakely <jwakely (a] redhat.com> 469 1.1 mrg 470 1.1 mrg * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc: 471 1.1 mrg Simplify dg-prune-output pattern. 472 1.1 mrg * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune "::__8". 473 1.1 mrg 474 1.1 mrg 2022-11-28 Jonathan Wakely <jwakely (a] redhat.com> 475 1.1 mrg 476 1.1 mrg PR libstdc++/107466 477 1.1 mrg * include/bits/random.h (subtract_with_carry_engine): Use 32-bit 478 1.1 mrg type for default seed. Use 0u as default argument for 479 1.1 mrg subtract_with_carry_engine(result_type) constructor and 480 1.1 mrg seed(result_type) member function. 481 1.1 mrg * include/bits/random.tcc (subtract_with_carry_engine): Use 482 1.1 mrg 32-bit type for default seed and engine used for initial state. 483 1.1 mrg * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc: 484 1.1 mrg New test. 485 1.1 mrg 486 1.1 mrg 2022-11-25 Jonathan Wakely <jwakely (a] redhat.com> 487 1.1 mrg 488 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Don't use AC_MSG_RESULT 489 1.1 mrg unless the AC_MSG_CHECKING happened. 490 1.1 mrg * configure: Regenerate. 491 1.1 mrg 492 1.1 mrg 2022-11-25 Jonathan Wakely <jwakely (a] redhat.com> 493 1.1 mrg 494 1.1 mrg PR libstdc++/107850 495 1.1 mrg * include/bits/erase_if.h (__erase_nodes_if): Use non-const 496 1.1 mrg reference to the container. 497 1.1 mrg * include/experimental/map (erase_if): Likewise. 498 1.1 mrg * include/experimental/set (erase_if): Likewise. 499 1.1 mrg * include/experimental/unordered_map (erase_if): Likewise. 500 1.1 mrg * include/experimental/unordered_set (erase_if): Likewise. 501 1.1 mrg * include/std/map (erase_if): Likewise. 502 1.1 mrg * include/std/set (erase_if): Likewise. 503 1.1 mrg * include/std/unordered_map (erase_if): Likewise. 504 1.1 mrg * include/std/unordered_set (erase_if): Likewise. 505 1.1 mrg * testsuite/23_containers/map/erasure.cc: Check with 506 1.1 mrg const-incorrect predicate. 507 1.1 mrg * testsuite/23_containers/set/erasure.cc: Likewise. 508 1.1 mrg * testsuite/23_containers/unordered_map/erasure.cc: Likewise. 509 1.1 mrg * testsuite/23_containers/unordered_set/erasure.cc: Likewise. 510 1.1 mrg * testsuite/experimental/map/erasure.cc: Likewise. 511 1.1 mrg * testsuite/experimental/set/erasure.cc: Likewise. 512 1.1 mrg * testsuite/experimental/unordered_map/erasure.cc: Likewise. 513 1.1 mrg * testsuite/experimental/unordered_set/erasure.cc: Likewise. 514 1.1 mrg 515 1.1 mrg 2022-11-25 Jonathan Wakely <jwakely (a] redhat.com> 516 1.1 mrg 517 1.1 mrg * include/bits/random.h [three_way_comparison] (operator!=): 518 1.1 mrg Do not define inequality operators when C++20 three way 519 1.1 mrg comparisons are supported. 520 1.1 mrg * include/ext/random [three_way_comparison] (operator!=): 521 1.1 mrg Likewise. 522 1.1 mrg 523 1.1 mrg 2022-11-25 Jonathan Wakely <jwakely (a] redhat.com> 524 1.1 mrg 525 1.1 mrg * include/bits/stl_iterator_base_funcs.h (__distance): 526 1.1 mrg Add always_inline attribute to overload for random 527 1.1 mrg access iterators. 528 1.1 mrg (advance, distance, next, prev): Add always_inline attribute to 529 1.1 mrg inline functions that just forward to another function. 530 1.1 mrg 531 1.1 mrg 2022-11-25 Jonathan Wakely <jwakely (a] redhat.com> 532 1.1 mrg 533 1.1 mrg * doc/html/manual/bugs.html: Regenerate. 534 1.1 mrg * doc/xml/manual/intro.xml: Document LWG 3656 change. 535 1.1 mrg * include/std/bit (__bit_width, bit_width): Return int. 536 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: New test. 537 1.1 mrg 538 1.1 mrg 2022-11-24 Jonathan Wakely <jwakely (a] redhat.com> 539 1.1 mrg 540 1.1 mrg PR libstdc++/106201 541 1.1 mrg * testsuite/27_io/filesystem/iterators/106201.cc: Improve test. 542 1.1 mrg * testsuite/experimental/filesystem/iterators/106201.cc: New test. 543 1.1 mrg 544 1.1 mrg 2022-11-24 Jakub Jelinek <jakub (a] redhat.com> 545 1.1 mrg 546 1.1 mrg PR libstdc++/107468 547 1.1 mrg * src/c++17/fast_float/MERGE: Adjust for merge from upstream. 548 1.1 mrg * src/c++17/fast_float/fast_float.h: Merge from fast_float 549 1.1 mrg 2ef9abbcf6a11958b6fa685a89d0150022e82e78 commit. 550 1.1 mrg 551 1.1 mrg 2022-11-24 Jakub Jelinek <jakub (a] redhat.com> 552 1.1 mrg 553 1.1 mrg PR libstdc++/107815 554 1.1 mrg * testsuite/20_util/to_chars/float128_c++23.cc (test): Disable 555 1.1 mrg __FLT128_MAX__ test on Solaris. Fix up commented out debugging 556 1.1 mrg printouts. 557 1.1 mrg 558 1.1 mrg 2022-11-23 Jakub Jelinek <jakub (a] redhat.com> 559 1.1 mrg 560 1.1 mrg PR libstdc++/107811 561 1.1 mrg * src/c++17/floating_from_chars.cc (__floating_from_chars_hex): Guard 562 1.1 mrg fast_float uses with #if USE_LIB_FAST_FLOAT and for mantissa_bits and 563 1.1 mrg exponent_bits provide a fallback. 564 1.1 mrg 565 1.1 mrg 2022-11-23 Jonathan Wakely <jwakely (a] redhat.com> 566 1.1 mrg 567 1.1 mrg PR libstdc++/107814 568 1.1 mrg * testsuite/experimental/filesystem/iterators/error_reporting.cc: 569 1.1 mrg Use a static buffer with space after it. 570 1.1 mrg 571 1.1 mrg 2022-11-22 Jonathan Wakely <jwakely (a] redhat.com> 572 1.1 mrg 573 1.1 mrg PR libstdc++/107817 574 1.1 mrg * include/std/charconv (__from_chars_alnum_to_val): Add 575 1.1 mrg constexpr for C++20. 576 1.1 mrg * include/std/format (__is_digit, __is_xdigit): New functions. 577 1.1 mrg (_Spec::_S_parse_width_or_precision): Use __is_digit. 578 1.1 mrg (__formatter_fp::parse): Use __is_xdigit. 579 1.1 mrg 580 1.1 mrg 2022-11-22 Jonathan Wakely <jwakely (a] redhat.com> 581 1.1 mrg 582 1.1 mrg PR libstdc++/106201 583 1.1 mrg * testsuite/27_io/filesystem/iterators/106201.cc: New test. 584 1.1 mrg 585 1.1 mrg 2022-11-22 Jonathan Wakely <jwakely (a] redhat.com> 586 1.1 mrg 587 1.1 mrg PR libstdc++/107801 588 1.1 mrg * src/c++17/memory_resource.cc (pool_sizes): Disable large pools 589 1.1 mrg for targets with 16-bit int. 590 1.1 mrg 591 1.1 mrg 2022-11-21 Jonathan Wakely <jwakely (a] redhat.com> 592 1.1 mrg 593 1.1 mrg * include/std/functional (_Bind_front0): New class template. 594 1.1 mrg (_Bind_front_t): Use _Bind_front0 when there are no bound 595 1.1 mrg arguments. 596 1.1 mrg * testsuite/20_util/function_objects/bind_front/107784.cc: 597 1.1 mrg New test. 598 1.1 mrg 599 1.1 mrg 2022-11-21 Jonathan Wakely <jwakely (a] redhat.com> 600 1.1 mrg 601 1.1 mrg * include/bits/chrono.h (duration): Check preconditions on 602 1.1 mrg template arguments before using them. 603 1.1 mrg 604 1.1 mrg 2022-11-21 Jonathan Wakely <jwakely (a] redhat.com> 605 1.1 mrg 606 1.1 mrg * include/std/tuple: Add better Doxygen comments. 607 1.1 mrg 608 1.1 mrg 2022-11-21 Martin Liska <mliska (a] suse.cz> 609 1.1 mrg 610 1.1 mrg * src/experimental/Makefile.in: Re-configure. 611 1.1 mrg 612 1.1 mrg 2022-11-20 Franois Dumont <fdumont (a] gcc.gnu.org> 613 1.1 mrg 614 1.1 mrg * include/std/format: Add std qualification on isxdigit calls. 615 1.1 mrg 616 1.1 mrg 2022-11-19 Jonathan Wakely <jwakely (a] redhat.com> 617 1.1 mrg 618 1.1 mrg * include/bits/range_access.h: Add always_inline attribute to 619 1.1 mrg trivial functions. 620 1.1 mrg 621 1.1 mrg 2022-11-19 Jonathan Wakely <jwakely (a] redhat.com> 622 1.1 mrg 623 1.1 mrg * include/std/format: Fix -Wsign-compare warnings. 624 1.1 mrg 625 1.1 mrg 2022-11-19 Jonathan Wakely <jwakely (a] redhat.com> 626 1.1 mrg 627 1.1 mrg * include/bits/ptr_traits.h (pointer_traits::pointer_to): Rename 628 1.1 mrg parameter. 629 1.1 mrg 630 1.1 mrg 2022-11-19 Jonathan Wakely <jwakely (a] redhat.com> 631 1.1 mrg 632 1.1 mrg PR libstdc++/107649 633 1.1 mrg * include/std/complex (__complex_proj): Fix requires-clause. 634 1.1 mrg 635 1.1 mrg 2022-11-19 Jeff Chapman II <jchapman (a] lock3software.com> 636 1.1 mrg Andrew Marmaduke <amarmaduke (a] lock3software.com> 637 1.1 mrg Jason Merrill <jason (a] redhat.com> 638 1.1 mrg 639 1.1 mrg * acinclude.m4 (glibcxx_SUBDIRS): Add src/experimental. 640 1.1 mrg * include/Makefile.am (experimental_headers): Add contract. 641 1.1 mrg * include/Makefile.in: Regenerate. 642 1.1 mrg * src/Makefile.am (SUBDIRS): Add experimental. 643 1.1 mrg * src/Makefile.in: Regenerate. 644 1.1 mrg * configure: Regenerate. 645 1.1 mrg * src/experimental/contract.cc: New file. 646 1.1 mrg * src/experimental/Makefile.am: New file. 647 1.1 mrg * src/experimental/Makefile.in: New file. 648 1.1 mrg * include/experimental/contract: New file. 649 1.1 mrg 650 1.1 mrg 2022-11-17 Jonathan Wakely <jwakely (a] redhat.com> 651 1.1 mrg 652 1.1 mrg PR libstdc++/107720 653 1.1 mrg * include/std/format [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT]: 654 1.1 mrg Declare overloads of std::to_chars for the alternative long 655 1.1 mrg double type. 656 1.1 mrg 657 1.1 mrg 2022-11-16 Jonathan Wakely <jwakely (a] redhat.com> 658 1.1 mrg 659 1.1 mrg PR libstdc++/107720 660 1.1 mrg * include/std/format (__format::_Arg_t): Fix typo in enumerator 661 1.1 mrg name. 662 1.1 mrg (_Arg_value::_S_get): Fix missing semi-colons. 663 1.1 mrg 664 1.1 mrg 2022-11-16 Jonathan Wakely <jwakely (a] redhat.com> 665 1.1 mrg 666 1.1 mrg * include/std/chrono (get_leap_second_info): Optimize. 667 1.1 mrg 668 1.1 mrg 2022-11-16 Jonathan Wakely <jwakely (a] redhat.com> 669 1.1 mrg 670 1.1 mrg PR libstdc++/107712 671 1.1 mrg * include/std/format (__format::__formatter_int::format): Use 672 1.1 mrg std::toupper when __builtin_toupper isn't available. 673 1.1 mrg (basic_format_arg::handle): Add 'typename'. 674 1.1 mrg * include/std/complex (complex<T>): Add 'typename'. 675 1.1 mrg 676 1.1 mrg 2022-11-16 Jonathan Wakely <jwakely (a] redhat.com> 677 1.1 mrg 678 1.1 mrg * include/std/format [__FLT128_DIG__] (_GLIBCXX_FORMAT_F128): 679 1.1 mrg Only support formatting _Float128 when glibc provides the 680 1.1 mrg functionality needed for accurate std::to_chars. 681 1.1 mrg 682 1.1 mrg 2022-11-16 Jonathan Wakely <jwakely (a] redhat.com> 683 1.1 mrg 684 1.1 mrg * testsuite/std/time/clock/utc/1.cc: Check handling across leap 685 1.1 mrg second insertion. 686 1.1 mrg 687 1.1 mrg 2022-11-16 Patrick Palka <ppalka (a] redhat.com> 688 1.1 mrg 689 1.1 mrg PR libstdc++/107701 690 1.1 mrg * include/std/iostream (__ioinit): Adjust comment. 691 1.1 mrg * src/c++98/globals_io.cc: Include "io_base_init.h" here 692 1.1 mrg instead of ... 693 1.1 mrg * src/c++98/ios_init.cc: ... here. 694 1.1 mrg * src/c++98/ios_base_init.h (__ioinit): More comments. 695 1.1 mrg * testsuite/17_intro/static.cc: dg-do run instead of just link. 696 1.1 mrg 697 1.1 mrg 2022-11-16 Jakub Jelinek <jakub (a] redhat.com> 698 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 699 1.1 mrg 700 1.1 mrg PR libstdc++/107649 701 1.1 mrg * include/std/complex (__complex_abs, __complex_arg, __complex_cos, 702 1.1 mrg __complex_cosh, __complex_exp, __complex_log, __complex_sin, 703 1.1 mrg __complex_sinh, __complex_sqrt, __complex_tan, __complex_tanh, 704 1.1 mrg __complex_pow): Move __complex__ _Float{16,32,64,128} and 705 1.1 mrg __complex__ decltype(0.0bf16) overloads earlier in the file. 706 1.1 mrg (complex): Fix up requires on the partial specialization for extended 707 1.1 mrg float types. 708 1.1 mrg (__complex_acos, __complex_asin, __complex_atan, __complex_acosh, 709 1.1 mrg __complex_asinh, __complex_atanh): Move 710 1.1 mrg __complex__ _Float{16,32,64,128} and __complex__ decltype(0.0bf16) 711 1.1 mrg overloads earlier in the file. 712 1.1 mrg 713 1.1 mrg 2022-11-16 Jonathan Wakely <jwakely (a] redhat.com> 714 1.1 mrg 715 1.1 mrg * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Make 716 1.1 mrg expansion of std::string in manager name more robust. 717 1.1 mrg 718 1.1 mrg 2022-11-16 Jonathan Wakely <jwakely (a] redhat.com> 719 1.1 mrg 720 1.1 mrg * python/libstdcxx/v6/printers.py (is_specialization_of): Fix 721 1.1 mrg incorrect terminology in docstring and describe arguments. 722 1.1 mrg (FilteringTypePrinter): Add default argument for new parameter, 723 1.1 mrg enhance docstring. 724 1.1 mrg 725 1.1 mrg 2022-11-16 Franois Dumont <fdumont (a] gcc.gnu.org> 726 1.1 mrg 727 1.1 mrg * python/libstdcxx/v6/printers.py (FilteringTypePrinter): Rename 'match' field 728 1.1 mrg 'template'. Add self.targ1 to specify the first template parameter of the instantiation 729 1.1 mrg to match. 730 1.1 mrg (add_one_type_printer): Add targ1 optional parameter, default to None. 731 1.1 mrg Use gdb.types.get_basic_type to compare the type to recognize and the type 732 1.1 mrg returned from the typedef lookup. 733 1.1 mrg (register_type_printers): Adapt calls to add_one_type_printers. 734 1.1 mrg 735 1.1 mrg 2022-11-15 Jonathan Wakely <jwakely (a] redhat.com> 736 1.1 mrg 737 1.1 mrg * testsuite/std/format/functions/format.cc: Do not use 738 1.1 mrg std::make_unsigned_t<__int128>. 739 1.1 mrg 740 1.1 mrg 2022-11-15 Jonathan Wakely <jwakely (a] redhat.com> 741 1.1 mrg 742 1.1 mrg * include/std/format (formattable): Only define for C++23/ 743 1.1 mrg * testsuite/std/format/formatter.cc: Moved to... 744 1.1 mrg * testsuite/std/format/formatter/requirements.cc: ...here. 745 1.1 mrg * testsuite/std/format/formatter/concept.cc: New test. 746 1.1 mrg * testsuite/std/format/functions/format.cc: Replace use of 747 1.1 mrg std::formattable in C++20. 748 1.1 mrg 749 1.1 mrg 2022-11-15 Jonathan Wakely <jwakely (a] redhat.com> 750 1.1 mrg 751 1.1 mrg PR libstdc++/107693 752 1.1 mrg * include/std/format (_GLIBCXX_FORMAT_F128): Define to 2 when 753 1.1 mrg basic_format_arg needs to use its _M_f128 member. 754 1.1 mrg (__extended_floating_point, __floating_point): Replace with ... 755 1.1 mrg (__formattable_floating_point): New concept. 756 1.1 mrg * testsuite/std/format/functions/format.cc: Check whether 757 1.1 mrg __float128 is supported. Also test _Float128. 758 1.1 mrg 759 1.1 mrg 2022-11-15 Jonathan Wakely <jwakely (a] redhat.com> 760 1.1 mrg 761 1.1 mrg * doc/xml/manual/documentation_hacking.xml: Document use of 762 1.1 mrg Markdown for Doxygen comments. Tweak formatting. 763 1.1 mrg * doc/html/manual/documentation_hacking.html: Regenerate. 764 1.1 mrg 765 1.1 mrg 2022-11-14 Jonathan Wakely <jwakely (a] redhat.com> 766 1.1 mrg 767 1.1 mrg * python/Makefile.am (install-data-local): Use mkdirs_p for debug 768 1.1 mrg libdir. 769 1.1 mrg * python/Makefile.in: Regenerate. 770 1.1 mrg 771 1.1 mrg 2022-11-14 Bernhard Reutner-Fischer <rep.dot.nop (a] gmail.com> 772 1.1 mrg 773 1.1 mrg * src/Makefile.am (install-debug): Remove use of $(debugdir). 774 1.1 mrg * src/Makefile.in: Regenerate. 775 1.1 mrg 776 1.1 mrg 2022-11-13 Jonathan Wakely <jwakely (a] redhat.com> 777 1.1 mrg 778 1.1 mrg * include/std/chrono (utc_clock, tai_clock, gps_clock): Define. 779 1.1 mrg (clock_time_conversion, clock_cast): Define. 780 1.1 mrg (sys_info, local_info): Define structs for timezone information. 781 1.1 mrg (nonexistent_local_time, ambiguous_local_time): Define 782 1.1 mrg exceptions for invalid times. 783 1.1 mrg (time_zone, time_zone_link, leap_second, zoned_traits, tzdb) 784 1.1 mrg (tzdb_list): Define classes representing time zones. 785 1.1 mrg (get_leap_second_info): Define new function returning leap 786 1.1 mrg second offset for a given time point. 787 1.1 mrg * testsuite/std/time/clock/gps/1.cc: New test. 788 1.1 mrg * testsuite/std/time/clock/tai/1.cc: New test. 789 1.1 mrg * testsuite/std/time/clock/utc/1.cc: New test. 790 1.1 mrg 791 1.1 mrg 2022-11-13 Jonathan Wakely <jwakely (a] redhat.com> 792 1.1 mrg 793 1.1 mrg PR libstdc++/104166 794 1.1 mrg * include/Makefile.am (std_headers): Add <format>. 795 1.1 mrg * include/Makefile.in: Regenerate. 796 1.1 mrg * include/precompiled/stdc++.h: Add <format>. 797 1.1 mrg * include/std/format: New file. 798 1.1 mrg * python/libstdcxx/v6/printers.py (StdFormatArgsPrinter): New 799 1.1 mrg printer for std::format_args. 800 1.1 mrg * testsuite/std/format/arguments/args.cc: New test. 801 1.1 mrg * testsuite/std/format/error.cc: New test. 802 1.1 mrg * testsuite/std/format/formatter.cc: New test. 803 1.1 mrg * testsuite/std/format/functions/format.cc: New test. 804 1.1 mrg * testsuite/std/format/functions/format_to_n.cc: New test. 805 1.1 mrg * testsuite/std/format/functions/size.cc: New test. 806 1.1 mrg * testsuite/std/format/functions/vformat_to.cc: New test. 807 1.1 mrg * testsuite/std/format/parse_ctx.cc: New test. 808 1.1 mrg * testsuite/std/format/string.cc: New test. 809 1.1 mrg * testsuite/std/format/string_neg.cc: New test. 810 1.1 mrg 811 1.1 mrg 2022-11-13 Jonathan Wakely <jwakely (a] redhat.com> 812 1.1 mrg 813 1.1 mrg * include/bits/charconv.h (__integer_to_chars_is_unsigned): 814 1.1 mrg New variable template. 815 1.1 mrg (__to_chars_len, __to_chars_10_impl): Use variable template in 816 1.1 mrg assertions to allow unsigned __int128 in strict mode. 817 1.1 mrg * include/std/charconv (__to_chars, __to_chars_16) 818 1.1 mrg (__to_chars_10, __to_chars_8, __to_chars_2): Likewise. 819 1.1 mrg 820 1.1 mrg 2022-11-12 Jakub Jelinek <jakub (a] redhat.com> 821 1.1 mrg 822 1.1 mrg PR libstdc++/107636 823 1.1 mrg * include/std/charconv (to_chars): Fix up powerpc64le _Float128 824 1.1 mrg overload __extension__ placement. 825 1.1 mrg 826 1.1 mrg 2022-11-12 Jonathan Wakely <jwakely (a] redhat.com> 827 1.1 mrg 828 1.1 mrg * src/Makefile.am: Simplify debug build targets. 829 1.1 mrg * src/Makefile.in: Regenerate. 830 1.1 mrg 831 1.1 mrg 2022-11-12 Jonathan Wakely <jwakely (a] redhat.com> 832 1.1 mrg 833 1.1 mrg PR libstdc++/103755 834 1.1 mrg * src/c++11/locale-inst-monetary.h: Include new header. 835 1.1 mrg * src/c++11/locale-inst-numeric.h: Likewise. 836 1.1 mrg * src/c++11/locale-inst.cc: Likewise. 837 1.1 mrg (INSTANTIATE_USE_FACET, INSTANTIATE_FACET_ACCESSORS): Move 838 1.1 mrg macro definitions to ... 839 1.1 mrg * src/c++11/facet_inst_macros.h: New file. 840 1.1 mrg 841 1.1 mrg 2022-11-11 Jonathan Wakely <jwakely (a] redhat.com> 842 1.1 mrg 843 1.1 mrg PR libstdc++/95048 844 1.1 mrg * include/experimental/bits/fs_path.h (path::_Cvt::_S_wconvert): 845 1.1 mrg Construct codecvt directly instead of getting it from the 846 1.1 mrg locale. 847 1.1 mrg 848 1.1 mrg 2022-11-11 Nathaniel Shead <nathanieloshead (a] gmail.com> 849 1.1 mrg 850 1.1 mrg PR libstdc++/103295 851 1.1 mrg * include/bits/basic_string.h (_M_use_local_data): Set active 852 1.1 mrg member to _M_local_buf. 853 1.1 mrg 854 1.1 mrg 2022-11-11 Jonathan Wakely <jwakely (a] redhat.com> 855 1.1 mrg 856 1.1 mrg PR libstdc++/95048 857 1.1 mrg * include/bits/fs_path.h (path::_Codecvt): New class template 858 1.1 mrg that selects the kind of code conversion done. 859 1.1 mrg (path::_Codecvt<wchar_t>): Select based on sizeof(wchar_t). 860 1.1 mrg (_GLIBCXX_CONV_FROM_UTF8): New macro to allow the same code to 861 1.1 mrg be used for Windows and POSIX. 862 1.1 mrg (path::_S_convert(const EcharT*, const EcharT*)): Simplify by 863 1.1 mrg using _Codecvt and _GLIBCXX_CONV_FROM_UTF8 abstractions. 864 1.1 mrg (path::_S_str_convert(basic_string_view<value_type>, const A&)): 865 1.1 mrg Simplify nested conditions. 866 1.1 mrg * include/experimental/bits/fs_path.h (path::_Cvt): Define 867 1.1 mrg nested typedef controlling type of code conversion done. 868 1.1 mrg (path::_Cvt::_S_wconvert): Use new typedef. 869 1.1 mrg (path::string(const A&)): Likewise. 870 1.1 mrg * testsuite/27_io/filesystem/path/construct/95048.cc: New test. 871 1.1 mrg * testsuite/experimental/filesystem/path/construct/95048.cc: New 872 1.1 mrg test. 873 1.1 mrg 874 1.1 mrg 2022-11-11 Jonathan Wakely <jwakely (a] redhat.com> 875 1.1 mrg 876 1.1 mrg * testsuite/20_util/tuple/swap.cc (MoveOnly::operator==): Add 877 1.1 mrg const qualifier. 878 1.1 mrg * testsuite/26_numerics/valarray/87641.cc (X::operator==): 879 1.1 mrg Likewise. 880 1.1 mrg 881 1.1 mrg 2022-11-11 Jonathan Wakely <jwakely (a] redhat.com> 882 1.1 mrg 883 1.1 mrg * include/std/charconv (__from_chars_alnum_to_val_table::value): 884 1.1 mrg [!__cpp_inline_variables]: Add non-inline definition. 885 1.1 mrg 886 1.1 mrg 2022-11-11 Jonathan Wakely <jwakely (a] redhat.com> 887 1.1 mrg 888 1.1 mrg * testsuite/experimental/propagate_const/observers/107525.cc: 889 1.1 mrg Use type trait instead of C++17 variable template. 890 1.1 mrg 891 1.1 mrg 2022-11-11 Jonathan Wakely <jwakely (a] redhat.com> 892 1.1 mrg 893 1.1 mrg PR libstdc++/103755 894 1.1 mrg * config/abi/pre/gnu.ver: Tighten patterns for facets in the 895 1.1 mrg base version. Add exports for __try_use_facet. 896 1.1 mrg * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use 897 1.1 mrg __try_use_facet instead of has_facet and use_facet. 898 1.1 mrg * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()): 899 1.1 mrg Likewise. 900 1.1 mrg (basic_filebuf::imbue): Likewise. 901 1.1 mrg * include/bits/locale_classes.h (locale, locale::id) 902 1.1 mrg (locale::_Impl): Declare __try_use_facet as a friend. 903 1.1 mrg * include/bits/locale_classes.tcc (__try_use_facet): Define new 904 1.1 mrg function template with special cases for default facets. 905 1.1 mrg (has_facet, use_facet): Call __try_use_facet. 906 1.1 mrg * include/bits/locale_facets.tcc (__try_use_facet): Declare 907 1.1 mrg explicit instantiations. 908 1.1 mrg * include/bits/locale_facets_nonio.tcc (__try_use_facet): 909 1.1 mrg Likewise. 910 1.1 mrg * src/c++11/locale-inst-monetary.h (INSTANTIATE_FACET_ACCESSORS): 911 1.1 mrg Use new macro for facet accessor instantiations. 912 1.1 mrg * src/c++11/locale-inst-numeric.h (INSTANTIATE_FACET_ACCESSORS): 913 1.1 mrg Likewise. 914 1.1 mrg * src/c++11/locale-inst.cc (INSTANTIATE_USE_FACET): Define new 915 1.1 mrg macro for instantiating __try_use_facet and use_facet. 916 1.1 mrg (INSTANTIATE_FACET_ACCESSORS): Define new macro for also 917 1.1 mrg defining has_facet. 918 1.1 mrg * src/c++98/compatibility-ldbl.cc (__try_use_facet): 919 1.1 mrg Instantiate. 920 1.1 mrg * testsuite/22_locale/ctype/is/string/89728_neg.cc: Adjust 921 1.1 mrg expected errors. 922 1.1 mrg 923 1.1 mrg 2022-11-10 Jonathan Wakely <jwakely (a] redhat.com> 924 1.1 mrg 925 1.1 mrg * include/std/concepts (__detail::__destructible_impl) 926 1.1 mrg (__detail::__destructible): New variable templates. 927 1.1 mrg (destructible): Use __detail::__destructible. 928 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: 929 1.1 mrg Add more checks for array and reference types. 930 1.1 mrg 931 1.1 mrg 2022-11-08 Jonathan Wakely <jwakely (a] redhat.com> 932 1.1 mrg 933 1.1 mrg * testsuite/18_support/new_nothrow.cc: Add missing noexcept 934 1.1 mrg to operator delete replacements. 935 1.1 mrg * testsuite/20_util/any/cons/92156.cc: Disable 936 1.1 mrg -Winit-list-lifetime warnings from instantiating invalid 937 1.1 mrg specialization of manager function. 938 1.1 mrg * testsuite/20_util/any/modifiers/92156.cc: Likewise. 939 1.1 mrg * testsuite/20_util/default_delete/void_neg.cc: Prune additional 940 1.1 mrg diagnostics. 941 1.1 mrg * testsuite/20_util/headers/memory/synopsis.cc: Add missing 942 1.1 mrg noexcept. 943 1.1 mrg * testsuite/20_util/shared_ptr/cons/void_neg.cc: Prune 944 1.1 mrg additional diagnostic. 945 1.1 mrg * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Add 946 1.1 mrg missing noexcept to operator delete replacements. 947 1.1 mrg * testsuite/21_strings/basic_string/cons/char/103919.cc: 948 1.1 mrg Likewise. 949 1.1 mrg * testsuite/23_containers/map/modifiers/emplace/92300.cc: 950 1.1 mrg Likewise. 951 1.1 mrg * testsuite/23_containers/map/modifiers/insert/92300.cc: 952 1.1 mrg Likewise. 953 1.1 mrg * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: 954 1.1 mrg Add missing noexcept to synopsis declarations. 955 1.1 mrg * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: 956 1.1 mrg Likewise. 957 1.1 mrg * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: 958 1.1 mrg Likewise. 959 1.1 mrg 960 1.1 mrg 2022-11-08 Jonathan Wakely <jwakely (a] redhat.com> 961 1.1 mrg 962 1.1 mrg * include/bits/stl_tempbuf.h (_Temporary_buffer): Disable 963 1.1 mrg warnings about get_temporary_buffer being deprecated. 964 1.1 mrg * include/ext/functional (mem_fun1, mem_fun1_ref): Disable 965 1.1 mrg warnings about mem_fun1_t, const_mem_fun1_t, mem_fun1_ref_t and 966 1.1 mrg const_mem_fun1_ref_t being deprecated. 967 1.1 mrg * include/std/array (__array_traits<T, 0>): Remove artificial 968 1.1 mrg attributes which give warnings about being ignored. 969 1.1 mrg * include/std/spanstream (basic_spanbuf::setbuf): Add assertion 970 1.1 mrg and adjust to avoid narrowing warning. 971 1.1 mrg * libsupc++/exception_ptr.h [!__cpp_rtti && !__cpp_exceptions] 972 1.1 mrg (make_exception_ptr): Add missing inline specifier. 973 1.1 mrg 974 1.1 mrg 2022-11-08 Jonathan Wakely <jwakely (a] redhat.com> 975 1.1 mrg 976 1.1 mrg * include/bits/alloc_traits.h (allocator_traits): Add 977 1.1 mrg always_inline attribute to all member functions. 978 1.1 mrg (__do_alloc_on_copy, __alloc_on_copy, __do_alloc_on_move) 979 1.1 mrg (__alloc_on_move, __do_alloc_on_swap, __alloc_on_swap) 980 1.1 mrg (_Destroy(FwdIter, FwdIter, allocator<T>&)): : Add 981 1.1 mrg always_inline attribute. 982 1.1 mrg * include/bits/allocator.h (allocator): Add always_inline 983 1.1 mrg attribute to all member functions and equality operators. 984 1.1 mrg * include/bits/new_allocator.h (__new_allocator): Likewise. 985 1.1 mrg * include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits): 986 1.1 mrg Likewise. 987 1.1 mrg 988 1.1 mrg 2022-11-08 Charles-Franois Natali <cf.natali (a] gmail.com> 989 1.1 mrg 990 1.1 mrg PR libstdc++/63746 991 1.1 mrg * include/bits/fstream.tcc (basic_filbuf::xsputn): Remove 992 1.1 mrg 1024-byte chunking that bypasses the buffer for large writes. 993 1.1 mrg * testsuite/27_io/basic_filebuf/sputn/char/63746.cc: New test. 994 1.1 mrg 995 1.1 mrg 2022-11-08 Will Hawkins <whh8b (a] obs.cr> 996 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 997 1.1 mrg 998 1.1 mrg * include/bits/basic_string.h (__str_cat): Add common function 999 1.1 mrg that performs single-allocation string concatenation. 1000 1.1 mrg (operator+): Use __str_cat. 1001 1.1 mrg * include/bits/basic_string.tcc (operator+): Move to .h and 1002 1.1 mrg define inline using __str_cat. 1003 1.1 mrg 1004 1.1 mrg 2022-11-08 Jakub Jelinek <jakub (a] redhat.com> 1005 1.1 mrg 1006 1.1 mrg * testsuite/20_util/to_chars/float128_c++23.cc (test): Uncomment 1007 1.1 mrg denorm_min test. 1008 1.1 mrg 1009 1.1 mrg 2022-11-08 Jonathan Wakely <jwakely (a] redhat.com> 1010 1.1 mrg 1011 1.1 mrg * doc/xml/authors.xml: Update the blurb listing my doc 1012 1.1 mrg contributions. 1013 1.1 mrg 1014 1.1 mrg 2022-11-08 Jonathan Wakely <jwakely (a] redhat.com> 1015 1.1 mrg 1016 1.1 mrg * doc/xml/authors.xml: Remove empty author element. 1017 1.1 mrg * doc/xml/manual/spine.xml: Likewise. 1018 1.1 mrg * doc/html/manual/index.html: Regenerate. 1019 1.1 mrg 1020 1.1 mrg 2022-11-08 Joseph Myers <joseph (a] codesourcery.com> 1021 1.1 mrg 1022 1.1 mrg PR libstdc++/107562 1023 1.1 mrg * src/c++17/floating_from_chars.cc (from_chars_impl): Fix syntax 1024 1.1 mrg error. 1025 1.1 mrg 1026 1.1 mrg 2022-11-08 Jason Merrill <jason (a] redhat.com> 1027 1.1 mrg Jakub Jelinek <jakub (a] redhat.com> 1028 1.1 mrg 1029 1.1 mrg * testsuite/18_support/comparisons/algorithms/fallback.cc: Adjust 1030 1.1 mrg asserts. 1031 1.1 mrg 1032 1.1 mrg 2022-11-07 Jakub Jelinek <jakub (a] redhat.com> 1033 1.1 mrg 1034 1.1 mrg PR libstdc++/107562 1035 1.1 mrg * src/c++17/floating_from_chars.cc (__strtof128): Put __asm before 1036 1.1 mrg __attribute__. 1037 1.1 mrg * src/c++17/floating_to_chars.cc (__strfromf128): Likewise. 1038 1.1 mrg 1039 1.1 mrg 2022-11-07 Patrick Palka <ppalka (a] redhat.com> 1040 1.1 mrg 1041 1.1 mrg * include/std/ranges (as_rvalue_view): Define. 1042 1.1 mrg (enable_borrowed_range<as_rvalue_view>): Define. 1043 1.1 mrg (views::__detail::__can_as_rvalue_view): Define. 1044 1.1 mrg (views::_AsRvalue, views::as_rvalue): Define. 1045 1.1 mrg * testsuite/std/ranges/adaptors/as_rvalue/1.cc: New test. 1046 1.1 mrg 1047 1.1 mrg 2022-11-07 Patrick Palka <ppalka (a] redhat.com> 1048 1.1 mrg 1049 1.1 mrg * include/std/ranges (__maybe_const_t): New alias for 1050 1.1 mrg __detail::__maybe_const_t. 1051 1.1 mrg (__detail::__cartesian_product_is_random_access): Define. 1052 1.1 mrg (__detail::__cartesian_product_common_arg): Define. 1053 1.1 mrg (__detail::__cartesian_product_is_bidirectional): Define. 1054 1.1 mrg (__detail::__cartesian_product_is_common): Define. 1055 1.1 mrg (__detail::__cartesian_product_is_sized): Define. 1056 1.1 mrg (__detail::__cartesian_is_sized_sentinel): Define. 1057 1.1 mrg (__detail::__cartesian_common_arg_end): Define. 1058 1.1 mrg (cartesian_product_view): Define. 1059 1.1 mrg (cartesian_product_view::_Iterator): Define. 1060 1.1 mrg (views::__detail::__can_cartesian_product_view): Define. 1061 1.1 mrg (views::_CartesianProduct, views::cartesian_product): Define. 1062 1.1 mrg * testsuite/std/ranges/cartesian_product/1.cc: New test. 1063 1.1 mrg 1064 1.1 mrg 2022-11-07 Jakub Jelinek <jakub (a] redhat.com> 1065 1.1 mrg 1066 1.1 mrg PR libstdc++/107468 1067 1.1 mrg * src/c++17/fast_float/MERGE: Adjust for merge from upstream. 1068 1.1 mrg * src/c++17/fast_float/LOCAL_PATCHES: Remove commits that were 1069 1.1 mrg upstreamed. 1070 1.1 mrg * src/c++17/fast_float/README.md: Merge from fast_float 1071 1.1 mrg 662497742fea7055f0e0ee27e5a7ddc382c2c38e commit. 1072 1.1 mrg * src/c++17/fast_float/fast_float.h: Likewise. 1073 1.1 mrg * testsuite/20_util/from_chars/pr107468.cc: New test. 1074 1.1 mrg 1075 1.1 mrg 2022-11-07 Jakub Jelinek <jakub (a] redhat.com> 1076 1.1 mrg 1077 1.1 mrg * include/std/charconv (from_chars, to_chars): Add _Float128 1078 1.1 mrg overfloads if _GLIBCXX_HAVE_FLOAT128_MATH is defined. 1079 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export 1080 1.1 mrg _ZSt8to_charsPcS_DF128_, _ZSt8to_charsPcS_DF128_St12chars_format, 1081 1.1 mrg _ZSt8to_charsPcS_DF128_St12chars_formati and 1082 1.1 mrg _ZSt10from_charsPKcS0_RDF128_St12chars_format. 1083 1.1 mrg * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS): 1084 1.1 mrg Define if needed. 1085 1.1 mrg (__strtof128): Declare. 1086 1.1 mrg (from_chars_impl): Handle _Float128. 1087 1.1 mrg (from_chars): New _Float128 overload if USE_STRTOF128_FOR_FROM_CHARS 1088 1.1 mrg is define. 1089 1.1 mrg * src/c++17/floating_to_chars.cc (__strfromf128): Declare. 1090 1.1 mrg (FLOAT128_TO_CHARS): Define even when _Float128 is supported and 1091 1.1 mrg wider than long double. 1092 1.1 mrg (F128_type): Use _Float128 for that case. 1093 1.1 mrg (floating_type_traits): Specialize for F128_type rather than 1094 1.1 mrg __float128. 1095 1.1 mrg (sprintf_ld): Add length argument. Handle _Float128. 1096 1.1 mrg (__floating_to_chars_shortest, __floating_to_chars_precision): 1097 1.1 mrg Pass length to sprintf_ld. 1098 1.1 mrg (to_chars): Add _Float128 overloads for the F128_type being 1099 1.1 mrg _Float128 cases. 1100 1.1 mrg * testsuite/20_util/to_chars/float128_c++23.cc: New test. 1101 1.1 mrg 1102 1.1 mrg 2022-11-06 Patrick Palka <ppalka (a] redhat.com> 1103 1.1 mrg 1104 1.1 mrg * include/bits/atomic_wait.h (_detail::__platform_wait_alignment): 1105 1.1 mrg Declare inline. Remove redundant static specifier. 1106 1.1 mrg (__detail::__atomic_spin_count_relax): Declare inline. 1107 1.1 mrg (__detail::__atomic_spin_count): Likewise. 1108 1.1 mrg * include/bits/regex_automaton.h (__detail::_S_invalid_state_id): 1109 1.1 mrg Declare inline for C++17. Declare constexpr. Remove 1110 1.1 mrg redundant const and static specifiers. 1111 1.1 mrg * include/bits/regex_error.h (regex_constants::error_collate): 1112 1.1 mrg Declare inline for C++17 as per P0607R0. 1113 1.1 mrg (regex_constants::error_ctype): Likewise. 1114 1.1 mrg (regex_constants::error_escape): Likewise. 1115 1.1 mrg (regex_constants::error_backref): Likewise. 1116 1.1 mrg (regex_constants::error_brack): Likewise. 1117 1.1 mrg (regex_constants::error_paren): Likewise. 1118 1.1 mrg (regex_constants::error_brace): Likewise. 1119 1.1 mrg (regex_constants::error_badbrace): Likewise. 1120 1.1 mrg (regex_constants::error_range): Likewise. 1121 1.1 mrg (regex_constants::error_space): Likewise. 1122 1.1 mrg (regex_constants::error_badrepeat): Likewise. 1123 1.1 mrg (regex_constants::error_complexity): Likewise. 1124 1.1 mrg (regex_constants::error_stack): Likewise. 1125 1.1 mrg * include/ext/concurrence.h (__gnu_cxx::__default_lock_policy): 1126 1.1 mrg Likewise. Remove redundant static specifier. 1127 1.1 mrg * include/pstl/execution_defs.h (execution::seq): Declare inline 1128 1.1 mrg for C++17 as per P0607R0. 1129 1.1 mrg (execution::par): Likewise. 1130 1.1 mrg (execution::par_unseq): Likewise. 1131 1.1 mrg (execution::unseq): Likewise. 1132 1.1 mrg 1133 1.1 mrg 2022-11-06 Patrick Palka <ppalka (a] redhat.com> 1134 1.1 mrg 1135 1.1 mrg PR libstdc++/44952 1136 1.1 mrg PR libstdc++/39796 1137 1.1 mrg PR libstdc++/98108 1138 1.1 mrg * include/std/iostream (__ioinit): No longer define here if 1139 1.1 mrg the init_priority attribute is usable. 1140 1.1 mrg * src/c++98/ios_init.cc (__ioinit): Define here instead if 1141 1.1 mrg init_priority is usable, via ... 1142 1.1 mrg * src/c++98/ios_base_init.h: ... this new file. 1143 1.1 mrg 1144 1.1 mrg 2022-11-05 Jakob Hasse <0xjakob (a] users.noreply.github.com> 1145 1.1 mrg 1146 1.1 mrg PR libstdc++/105387 1147 1.1 mrg * libsupc++/pbase_type_info.cc (__do_catch) [!__cpp_rtti]: Add 1148 1.1 mrg check that the thrown type is actually a pointer. 1149 1.1 mrg * testsuite/18_support/105387.cc: New test. 1150 1.1 mrg * testsuite/18_support/105387_memptr.cc: New test. 1151 1.1 mrg 1152 1.1 mrg 2022-11-05 Jonathan Wakely <jwakely (a] redhat.com> 1153 1.1 mrg 1154 1.1 mrg PR libstdc++/107525 1155 1.1 mrg * include/experimental/propagate_const (operator element_type*()): 1156 1.1 mrg Move into base class that can be partially specilized to iompose 1157 1.1 mrg constraints. 1158 1.1 mrg (operator const element_type*()): Likewise. 1159 1.1 mrg * testsuite/experimental/propagate_const/observers/107525.cc: New test. 1160 1.1 mrg 1161 1.1 mrg 2022-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1162 1.1 mrg 1163 1.1 mrg PR libstdc++/107500 1164 1.1 mrg * libsupc++/eh_globals.cc (eh_globals): Remove immortalizing 1165 1.1 mrg wrapper. 1166 1.1 mrg (__cxxabiv1::__cxa_get_globals_fast): Adjust. 1167 1.1 mrg (__cxxabiv1::__cxa_get_globals): Adjust. 1168 1.1 mrg 1169 1.1 mrg 2022-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1170 1.1 mrg 1171 1.1 mrg PR libstdc++/107511 1172 1.1 mrg * libsupc++/eh_alloc.cc (_GNU_SOURCE): Define. 1173 1.1 mrg 1174 1.1 mrg 2022-11-03 Jonathan Wakely <jwakely (a] redhat.com> 1175 1.1 mrg 1176 1.1 mrg * include/bits/ranges_algobase.h (__detail::__copy_or_move): 1177 1.1 mrg Move output iterator. 1178 1.1 mrg * testsuite/25_algorithms/copy/constrained.cc: Check copying to 1179 1.1 mrg move-only output iterator. 1180 1.1 mrg 1181 1.1 mrg 2022-11-02 Jonathan Wakely <jwakely (a] redhat.com> 1182 1.1 mrg 1183 1.1 mrg * libsupc++/eh_globals.cc (constant_init::unused): Remove. 1184 1.1 mrg * src/c++11/system_error.cc (constant_init::unused): Remove. 1185 1.1 mrg * src/c++17/memory_resource.cc (constant_init::unused): Remove. 1186 1.1 mrg 1187 1.1 mrg 2022-11-02 Patrick Palka <ppalka (a] redhat.com> 1188 1.1 mrg 1189 1.1 mrg * src/c++17/floating_from_chars.cc (from_chars_impl): In the 1190 1.1 mrg ERANGE case, distinguish between a denormal result and true 1191 1.1 mrg underflow by checking if the return value is 0. 1192 1.1 mrg 1193 1.1 mrg 2022-11-02 Jonathan Wakely <jwakely (a] redhat.com> 1194 1.1 mrg 1195 1.1 mrg * include/std/expected (expected::_M_invalid): Remove. 1196 1.1 mrg 1197 1.1 mrg 2022-11-02 Jonathan Wakely <jwakely (a] redhat.com> 1198 1.1 mrg 1199 1.1 mrg * include/std/variant (__variant::_Multi_array::__untag_result): 1200 1.1 mrg Use pragma to suppress warning. 1201 1.1 mrg 1202 1.1 mrg 2022-11-02 Jakub Jelinek <jakub (a] redhat.com> 1203 1.1 mrg 1204 1.1 mrg * libsupc++/compare (_Strong_order::_Fp_fmt): Add _Bfloat16. 1205 1.1 mrg (_Strong_order::_Bfloat16): New static data member. 1206 1.1 mrg (_Strong_order::_S_fp_fmt): Return _Bfloat16 for std::bfloat16_t. 1207 1.1 mrg 1208 1.1 mrg 2022-11-02 Jakub Jelinek <jakub (a] redhat.com> 1209 1.1 mrg 1210 1.1 mrg * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): Drop const 1211 1.1 mrg from unbiased_exponent. Canonicalize denormals such that they have 1212 1.1 mrg the leading bit set by shifting effective mantissa up and decreasing 1213 1.1 mrg unbiased_exponent. 1214 1.1 mrg (__floating_to_chars_shortest): Don't instantiate 1215 1.1 mrg __floating_to_chars_hex for float16_t either and use float instead. 1216 1.1 mrg * testsuite/20_util/to_chars/float.cc (float_to_chars_test_cases): 1217 1.1 mrg Adjust testcases for shortest hex denormals. 1218 1.1 mrg * testsuite/20_util/to_chars/double.cc (double_to_chars_test_cases): 1219 1.1 mrg Likewise. 1220 1.1 mrg 1221 1.1 mrg 2022-11-01 Jakub Jelinek <jakub (a] redhat.com> 1222 1.1 mrg 1223 1.1 mrg * include/std/charconv (__from_chars_float16_t, 1224 1.1 mrg __from_chars_bfloat16_t): Declare. 1225 1.1 mrg (from_chars): Add _Float16 and __gnu_cxx::__bfloat16_t overloads. 1226 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export 1227 1.1 mrg _ZSt22__from_chars_float16_tPKcS0_RfSt12chars_format and 1228 1.1 mrg _ZSt23__from_chars_bfloat16_tPKcS0_RfSt12chars_format. 1229 1.1 mrg * src/c++17/floating_from_chars.cc 1230 1.1 mrg (fast_float::floating_type_float16_t, 1231 1.1 mrg fast_float::floating_type_bfloat16_t): New classes. 1232 1.1 mrg (fast_float::binary_format<floating_type_float16_t>, 1233 1.1 mrg fast_float::binary_format<floating_type_bfloat16_t>): New 1234 1.1 mrg specializations. 1235 1.1 mrg (fast_float::to_float<floating_type_float16_t>, 1236 1.1 mrg fast_float::to_float<floating_type_bfloat16_t>, 1237 1.1 mrg fast_float::to_extended<floating_type_float16_t>, 1238 1.1 mrg fast_float::to_extended<floating_type_bfloat16_t>): Likewise. 1239 1.1 mrg (fast_float::from_chars_16): New template function. 1240 1.1 mrg (__floating_from_chars_hex): Allow instantiation with 1241 1.1 mrg fast_float::floating_type_{,b}float16_t. 1242 1.1 mrg (from_chars): Formatting fixes for float/double/long double overloads. 1243 1.1 mrg (__from_chars_float16_t, __from_chars_bfloat16_t): New functions. 1244 1.1 mrg * testsuite/20_util/to_chars/float16_c++23.cc: New test. 1245 1.1 mrg 1246 1.1 mrg 2022-11-01 Jakub Jelinek <jakub (a] redhat.com> 1247 1.1 mrg 1248 1.1 mrg * include/std/charconv (__to_chars_float16_t, __to_chars_bfloat16_t): 1249 1.1 mrg Declare. 1250 1.1 mrg (to_chars): Add _Float16 and __gnu_cxx::__bfloat16_t overloads. 1251 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export 1252 1.1 mrg _ZSt20__to_chars_float16_tPcS_fSt12chars_format and 1253 1.1 mrg _ZSt21__to_chars_bfloat16_tPcS_fSt12chars_format. 1254 1.1 mrg * src/c++17/floating_to_chars.cc (floating_type_float16_t, 1255 1.1 mrg floating_type_bfloat16_t): New types. 1256 1.1 mrg (floating_type_traits<floating_type_float16_t>, 1257 1.1 mrg floating_type_traits<floating_type_bfloat16_t>, 1258 1.1 mrg get_ieee_repr<floating_type_float16_t>, 1259 1.1 mrg get_ieee_repr<floating_type_bfloat16_t>, 1260 1.1 mrg __handle_special_value<floating_type_float16_t>, 1261 1.1 mrg __handle_special_value<floating_type_bfloat16_t>): New specializations. 1262 1.1 mrg (floating_to_shortest_scientific): Handle floating_type_float16_t 1263 1.1 mrg and floating_type_bfloat16_t like IEEE quad. 1264 1.1 mrg (__floating_to_chars_shortest): For floating_type_bfloat16_t call 1265 1.1 mrg __floating_to_chars_hex<float> rather than 1266 1.1 mrg __floating_to_chars_hex<floating_type_bfloat16_t> to avoid 1267 1.1 mrg instantiating the latter. 1268 1.1 mrg (__to_chars_float16_t, __to_chars_bfloat16_t): New functions. 1269 1.1 mrg 1270 1.1 mrg 2022-11-01 Jakub Jelinek <jakub (a] redhat.com> 1271 1.1 mrg 1272 1.1 mrg * include/std/charconv (from_chars, to_chars): Add _Float{32,64,128} 1273 1.1 mrg overloads for cases where those types match {float,double,long double}. 1274 1.1 mrg * include/std/istream (basic_istream::operator>>): Add 1275 1.1 mrg _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads. 1276 1.1 mrg * include/std/ostream (basic_ostream::operator<<): Add 1277 1.1 mrg _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads. 1278 1.1 mrg * testsuite/20_util/from_chars/8.cc: New test. 1279 1.1 mrg * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc (test): 1280 1.1 mrg Formatting fixes. 1281 1.1 mrg * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: Add 1282 1.1 mrg dg-options "-std=gnu++2b". 1283 1.1 mrg (test_functions, main): Formatting fixes. 1284 1.1 mrg * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: 1285 1.1 mrg Add dg-options "-std=gnu++2b". 1286 1.1 mrg 1287 1.1 mrg 2022-10-31 Jakub Jelinek <jakub (a] redhat.com> 1288 1.1 mrg 1289 1.1 mrg * include/std/complex (complex::complex converting ctor): For C++23 1290 1.1 mrg use explicit specifier with constant expression. Explicitly cast 1291 1.1 mrg both parts to _Tp. 1292 1.1 mrg (__complex_abs, __complex_arg, __complex_cos, __complex_cosh, 1293 1.1 mrg __complex_exp, __complex_log, __complex_sin, __complex_sinh, 1294 1.1 mrg __complex_sqrt, __complex_tan, __complex_tanh, __complex_pow): Add 1295 1.1 mrg __complex__ _Float{16,32,64,128} and __complex__ decltype(0.0bf16) 1296 1.1 mrg overloads. 1297 1.1 mrg (complex<float>::complex converting ctor, 1298 1.1 mrg complex<double>::complex converting ctor, 1299 1.1 mrg complex<long double>::complex converting ctor): For C++23 implement 1300 1.1 mrg as template with explicit specifier with constant expression 1301 1.1 mrg and explicit casts. 1302 1.1 mrg (__complex_type): New template. 1303 1.1 mrg (complex): New partial specialization for types with extended floating 1304 1.1 mrg point types. 1305 1.1 mrg (__complex_acos, __complex_asin, __complex_atan, __complex_acosh, 1306 1.1 mrg __complex_asinh, __complex_atanh): Add __complex__ _Float{16,32,64,128} 1307 1.1 mrg and __complex__ decltype(0.0bf16) overloads. 1308 1.1 mrg (__complex_proj): Likewise. Add template for complex of extended 1309 1.1 mrg floating point types. 1310 1.1 mrg * include/bits/cpp_type_traits.h (__is_floating): Specialize for 1311 1.1 mrg _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t. 1312 1.1 mrg * testsuite/26_numerics/complex/ext_c++23.cc: New test. 1313 1.1 mrg 1314 1.1 mrg 2022-10-31 Jakub Jelinek <jakub (a] redhat.com> 1315 1.1 mrg 1316 1.1 mrg * config/os/gnu-linux/os_defines.h (_GLIBCXX_HAVE_FLOAT128_MATH): 1317 1.1 mrg Uncomment. 1318 1.1 mrg * include/c_global/cmath (nextafter(_Float16, _Float16)): Make it constexpr. 1319 1.1 mrg If std::__is_constant_evaluated() call __builtin_nextafterf16. 1320 1.1 mrg (nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): Similarly 1321 1.1 mrg but call __builtin_nextafterf16b. 1322 1.1 mrg * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc (test): Add 1323 1.1 mrg static assertions to test constexpr nextafter. 1324 1.1 mrg 1325 1.1 mrg 2022-10-28 Jonathan Wakely <jwakely (a] redhat.com> 1326 1.1 mrg 1327 1.1 mrg * include/bits/fs_path.h (path::filename()): Fix dangling 1328 1.1 mrg reference. 1329 1.1 mrg 1330 1.1 mrg 2022-10-28 Arsen Arsenovi <arsen (a] aarsen.me> 1331 1.1 mrg 1332 1.1 mrg * include/std/functional: Make placeholders inline, if possible. 1333 1.1 mrg 1334 1.1 mrg 2022-10-28 Arsen Arsenovi <arsen (a] aarsen.me> 1335 1.1 mrg 1336 1.1 mrg * configure.ac: Stop generating gstdint.h. 1337 1.1 mrg * src/c++11/compatibility-atomic-c++0x.cc: Stop using gstdint.h. 1338 1.1 mrg * Makefile.in: Regenerate. 1339 1.1 mrg * aclocal.m4: Regenerate. 1340 1.1 mrg * config.h.in: Regenerate. 1341 1.1 mrg * configure: Regenerate. 1342 1.1 mrg * doc/Makefile.in: Regenerate. 1343 1.1 mrg * include/Makefile.in: Regenerate. 1344 1.1 mrg * libsupc++/Makefile.in: Regenerate. 1345 1.1 mrg * po/Makefile.in: Regenerate. 1346 1.1 mrg * python/Makefile.in: Regenerate. 1347 1.1 mrg * src/Makefile.in: Regenerate. 1348 1.1 mrg * src/c++11/Makefile.in: Regenerate. 1349 1.1 mrg * src/c++17/Makefile.in: Regenerate. 1350 1.1 mrg * src/c++20/Makefile.in: Regenerate. 1351 1.1 mrg * src/c++98/Makefile.in: Regenerate. 1352 1.1 mrg * src/filesystem/Makefile.in: Regenerate. 1353 1.1 mrg * src/libbacktrace/Makefile.in: Regenerate. 1354 1.1 mrg * testsuite/Makefile.in: Regenerate. 1355 1.1 mrg 1356 1.1 mrg 2022-10-28 Jonathan Wakely <jwakely (a] redhat.com> 1357 1.1 mrg 1358 1.1 mrg PR libstdc++/107376 1359 1.1 mrg * include/bits/regex_executor.h (_Executor::_Executor): Use same 1360 1.1 mrg allocator for _M_cur_results and _M_results. 1361 1.1 mrg * include/bits/regex_executor.tcc (_Executor::_M_main_dispatch): 1362 1.1 mrg Prevent possibly incorrect allocator propagating to 1363 1.1 mrg _M_cur_results. 1364 1.1 mrg * testsuite/28_regex/algorithms/regex_match/107376.cc: New test. 1365 1.1 mrg 1366 1.1 mrg 2022-10-26 Marek Polacek <polacek (a] redhat.com> 1367 1.1 mrg 1368 1.1 mrg PR c++/106393 1369 1.1 mrg * include/bits/locale_classes.tcc: Add #pragma to disable 1370 1.1 mrg -Wdangling-reference with std::use_facet. 1371 1.1 mrg 1372 1.1 mrg 2022-10-21 Arsen Arsenovi <arsen (a] aarsen.me> 1373 1.1 mrg 1374 1.1 mrg * acinclude.m4: Default hosted to off if building without 1375 1.1 mrg headers and without newlib. 1376 1.1 mrg * configure: Regenerate. 1377 1.1 mrg 1378 1.1 mrg 2022-10-21 Jonathan Wakely <jwakely (a] redhat.com> 1379 1.1 mrg 1380 1.1 mrg * include/bits/mofunc_impl.h (move_only_function::__param_t): 1381 1.1 mrg Use __is_scalar instead of is_trivially_copyable. 1382 1.1 mrg * testsuite/20_util/move_only_function/call.cc: Check parameters 1383 1.1 mrg involving incomplete types. 1384 1.1 mrg 1385 1.1 mrg 2022-10-20 Patrick Palka <ppalka (a] redhat.com> 1386 1.1 mrg 1387 1.1 mrg * include/std/charconv (__detail::__from_chars_alnum_to_val_table): 1388 1.1 mrg Redefine as a class template containing the members type, value and 1389 1.1 mrg _S_make_table. Don't use a local class as the table type. 1390 1.1 mrg (__detail::__table): Remove. 1391 1.1 mrg (__detail::__from_chars_alnum_to_val): Adjust after the above. 1392 1.1 mrg 1393 1.1 mrg 2022-10-19 Patrick Palka <ppalka (a] redhat.com> 1394 1.1 mrg 1395 1.1 mrg * include/std/ranges (views::__detail::__is_repeat_view): Define 1396 1.1 mrg and later define a partial specialization. 1397 1.1 mrg (views::__detail::__take_of_repeat_view): Declare and later define. 1398 1.1 mrg (views::__detail::__drop_of_repeat_view): Likewise. 1399 1.1 mrg (views::_Take::operator()): Return a repeat_view if the argument 1400 1.1 mrg is a repeat_view as per P2474R2. 1401 1.1 mrg (views::_Drop::operator()): Likewise. 1402 1.1 mrg (repeat_view): Befriend __take/drop_of_repeat_view. 1403 1.1 mrg * testsuite/std/ranges/repeat/1.cc (test04): New test. 1404 1.1 mrg 1405 1.1 mrg 2022-10-19 Patrick Palka <ppalka (a] redhat.com> 1406 1.1 mrg 1407 1.1 mrg PR libstdc++/107313 1408 1.1 mrg * include/std/ranges (stride_view::_Iterator::operator-): Fix typo. 1409 1.1 mrg * testsuite/std/ranges/adaptors/stride/1.cc (test03): New test. 1410 1.1 mrg 1411 1.1 mrg 2022-10-19 LIU Hao <lh_mouse (a] 126.com> 1412 1.1 mrg 1413 1.1 mrg * src/c++11/thread.cc (get_nprocs): Add new implementation 1414 1.1 mrg for native Windows targets 1415 1.1 mrg 1416 1.1 mrg 2022-10-19 LIU Hao <lh_mouse (a] 126.com> 1417 1.1 mrg 1418 1.1 mrg * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Use 1419 1.1 mrg implementation from mcfgthread if available 1420 1.1 mrg * libsupc++/guard.cc (__cxa_guard_acquire, __cxa_guard_release, 1421 1.1 mrg __cxa_guard_abort): Use implementations from mcfgthread if 1422 1.1 mrg available 1423 1.1 mrg * configure: Regenerate 1424 1.1 mrg 1425 1.1 mrg 2022-10-19 Jakub Jelinek <jakub (a] redhat.com> 1426 1.1 mrg 1427 1.1 mrg PR c++/106652 1428 1.1 mrg * include/std/limits: Fix a typo, 202202L -> 202002L. 1429 1.1 mrg (numeric_limits::<_Float16>::radix, numeric_limits::<_Float32>::radix, 1430 1.1 mrg numeric_limits::<_Float64>::radix, numeric_limits::<_Float128>::radix, 1431 1.1 mrg numeric_limits::<__gnu_cxx::__bfloat16_t>::radix): Use __FLT_RADIX__ 1432 1.1 mrg macro instead of type specific macros. 1433 1.1 mrg * include/c_global/cmath (nextafter(_Float16, _Float16)): New 1434 1.1 mrg overload. 1435 1.1 mrg (nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): 1436 1.1 mrg Likewise. 1437 1.1 mrg * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc 1438 1.1 mrg (test_functions): Uncomment nextafter test. Fix up sph_neumann call. 1439 1.1 mrg * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: New test. 1440 1.1 mrg 1441 1.1 mrg 2022-10-18 Patrick Palka <ppalka (a] redhat.com> 1442 1.1 mrg 1443 1.1 mrg * include/std/ranges (stride_view): Define. 1444 1.1 mrg (stride_view::_Iterator): Define. 1445 1.1 mrg (views::__detail::__can_stride_view): Define. 1446 1.1 mrg (views::_Stride, views::stride): Define. 1447 1.1 mrg * testsuite/std/ranges/adaptors/stride/1.cc: New test. 1448 1.1 mrg 1449 1.1 mrg 2022-10-18 Jakub Jelinek <jakub (a] redhat.com> 1450 1.1 mrg 1451 1.1 mrg PR c++/106652 1452 1.1 mrg * include/std/stdfloat: New file. 1453 1.1 mrg * include/std/numbers (__glibcxx_numbers): Define and use it 1454 1.1 mrg for __float128 explicit instantiations as well as 1455 1.1 mrg _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t. 1456 1.1 mrg * include/std/atomic (atomic<_Float16>, atomic<_Float32>, 1457 1.1 mrg atomic<_Float64>, atomic<_Float128>, atomic<__gnu_cxx::__bfloat16_t>): 1458 1.1 mrg New explicit instantiations. 1459 1.1 mrg * include/std/type_traits (__is_floating_point_helper<_Float16>, 1460 1.1 mrg __is_floating_point_helper<_Float32>, 1461 1.1 mrg __is_floating_point_helper<_Float64>, 1462 1.1 mrg __is_floating_point_helper<_Float128>, 1463 1.1 mrg __is_floating_point_helper<__gnu_cxx::__bfloat16_t>): Likewise. 1464 1.1 mrg * include/std/limits (__glibcxx_concat3_, __glibcxx_concat3, 1465 1.1 mrg __glibcxx_float_n): Define. 1466 1.1 mrg (numeric_limits<_Float16>, numeric_limits<_Float32>, 1467 1.1 mrg numeric_limits<_Float64>, numeric_limits<_Float128>, 1468 1.1 mrg numeric_limits<__gnu_cxx::__bfloat16_t>): New explicit instantiations. 1469 1.1 mrg * include/bits/std_abs.h (abs): New overloads for 1470 1.1 mrg _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t. 1471 1.1 mrg * include/bits/c++config (_GLIBCXX_LDOUBLE_IS_IEEE_BINARY128): Define 1472 1.1 mrg if long double is IEEE quad. 1473 1.1 mrg (__gnu_cxx::__bfloat16_t): New using. 1474 1.1 mrg * include/c_global/cmath (acos, asin, atan, atan2, ceil, cos, cosh, 1475 1.1 mrg exp, fabs, floor, fmod, frexp, ldexp, log, log10, modf, pow, sin, 1476 1.1 mrg sinh, sqrt, tan, tanh, fpclassify, isfinite, isinf, isnan, isnormal, 1477 1.1 mrg signbit, isgreater, isgreaterequal, isless, islessequal, 1478 1.1 mrg islessgreater, isunordered, acosh, asinh, atanh, cbrt, copysign, erf, 1479 1.1 mrg erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, 1480 1.1 mrg llrint, llround, log1p, log2, logb, lrint, lround, nearbyint, 1481 1.1 mrg nextafter, remainder, rint, round, scalbln, scalbn, tgamma, trunc, 1482 1.1 mrg lerp): New overloads with _Float{16,32,64,128} or 1483 1.1 mrg __gnu_cxx::__bfloat16_t types. 1484 1.1 mrg * config/os/gnu-linux/os_defines.h (_GLIBCXX_HAVE_FLOAT128_MATH): 1485 1.1 mrg Prepare for definition if glibc 2.26 and later implements *f128 APIs 1486 1.1 mrg but comment out the actual definition for now. 1487 1.1 mrg * include/ext/type_traits.h (__promote<_Float16>, __promote<_Float32>, 1488 1.1 mrg __promote<_Float64>, __promote<_Float128>, 1489 1.1 mrg __promote<__gnu_cxx::__bfloat16_t>): New specializations. 1490 1.1 mrg * include/Makefile.am (std_headers): Add stdfloat. 1491 1.1 mrg * include/Makefile.in: Regenerated. 1492 1.1 mrg * include/precompiled/stdc++.h: Include stdfloat. 1493 1.1 mrg * testsuite/18_support/headers/stdfloat/types_std.cc: New test. 1494 1.1 mrg * testsuite/18_support/headers/limits/synopsis_cxx23.cc: New test. 1495 1.1 mrg * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: 1496 1.1 mrg New test. 1497 1.1 mrg * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: New test. 1498 1.1 mrg * testsuite/26_numerics/numbers/4.cc: New test. 1499 1.1 mrg * testsuite/29_atomics/atomic_float/requirements_cxx23.cc: New test. 1500 1.1 mrg 1501 1.1 mrg 2022-10-17 Jonathan Wakely <jwakely (a] redhat.com> 1502 1.1 mrg 1503 1.1 mrg * include/std/charconv (__cpp_lib_constexpr_charconv): Define to 1504 1.1 mrg correct value. 1505 1.1 mrg * include/std/version (__cpp_lib_constexpr_charconv): Likewise. 1506 1.1 mrg * testsuite/20_util/to_chars/constexpr.cc: Check correct value. 1507 1.1 mrg * testsuite/20_util/to_chars/version.cc: Likewise. 1508 1.1 mrg 1509 1.1 mrg 2022-10-15 Jonathan Wakely <jwakely (a] redhat.com> 1510 1.1 mrg 1511 1.1 mrg * src/c++11/debug.cc (print_raw): Move inside #if block. 1512 1.1 mrg 1513 1.1 mrg 2022-10-15 Jonathan Wakely <jwakely (a] redhat.com> 1514 1.1 mrg 1515 1.1 mrg * include/bits/charconv.h (__to_chars_10_impl): Add constexpr 1516 1.1 mrg for C++23. Remove 'static' from array. 1517 1.1 mrg * include/std/charconv (__cpp_lib_constexpr_charconv): Define. 1518 1.1 mrg (__to_chars, __to_chars_16): Remove 'static' from array, add 1519 1.1 mrg constexpr. 1520 1.1 mrg (__to_chars_10, __to_chars_8, __to_chars_2, __to_chars_i) 1521 1.1 mrg (to_chars, __raise_and_add, __from_chars_pow2_base) 1522 1.1 mrg (__from_chars_alnum, from_chars): Add constexpr. 1523 1.1 mrg (__from_chars_alnum_to_val): Avoid local static during constant 1524 1.1 mrg evaluation. Add constexpr. 1525 1.1 mrg * include/std/version (__cpp_lib_constexpr_charconv): Define. 1526 1.1 mrg * testsuite/20_util/from_chars/constexpr.cc: New test. 1527 1.1 mrg * testsuite/20_util/to_chars/constexpr.cc: New test. 1528 1.1 mrg * testsuite/20_util/to_chars/version.cc: New test. 1529 1.1 mrg 1530 1.1 mrg 2022-10-15 Jonathan Wakely <jwakely (a] redhat.com> 1531 1.1 mrg 1532 1.1 mrg * include/bits/stl_map.h (map::insert(Pair&&)): Use 1533 1.1 mrg remove_const_t on argument to __is_pair. 1534 1.1 mrg * include/bits/stl_pair.h (__is_pair<const pair<T,U>>): Remove 1535 1.1 mrg partial specialization. 1536 1.1 mrg * include/bits/uses_allocator_args.h (_Std_pair): Use 1537 1.1 mrg remove_cv_t as per LWG 3677. 1538 1.1 mrg * testsuite/20_util/uses_allocator/lwg3677.cc: New test. 1539 1.1 mrg 1540 1.1 mrg 2022-10-14 Jonathan Wakely <jwakely (a] redhat.com> 1541 1.1 mrg 1542 1.1 mrg * libsupc++/eh_alloc.cc [USE_POOL]: New macro. 1543 1.1 mrg [!USE_POOL] (__gnu_cxx::__freeres, pool): Do not define. 1544 1.1 mrg [_GLIBCXX_EH_POOL_STATIC] (pool::arena): Do not use std::max. 1545 1.1 mrg (__cxxabiv1::__cxa_allocate_exception) [!USE_POOL]: Do not use 1546 1.1 mrg pool. 1547 1.1 mrg (__cxxabiv1::__cxa_free_exception) [!USE_POOL]: Likewise. 1548 1.1 mrg (__cxxabiv1::__cxa_allocate_dependent_exception) [!USE_POOL]: 1549 1.1 mrg Likewise. 1550 1.1 mrg (__cxxabiv1::__cxa_free_dependent_exception) [!USE_POOL]: 1551 1.1 mrg Likewise. 1552 1.1 mrg 1553 1.1 mrg 2022-10-14 Jonathan Wakely <jwakely (a] redhat.com> 1554 1.1 mrg 1555 1.1 mrg * src/c++11/debug.cc (print_raw): Simplify. 1556 1.1 mrg (print_word): Print indentation by calling fprintf directly. 1557 1.1 mrg (_Error_formatter::_M_error): Print unindented string by calling 1558 1.1 mrg fprintf directly. 1559 1.1 mrg 1560 1.1 mrg 2022-10-14 Jonathan Wakely <jwakely (a] redhat.com> 1561 1.1 mrg 1562 1.1 mrg * include/std/iostream: Use markdown in Doxygen comment. 1563 1.1 mrg 1564 1.1 mrg 2022-10-12 Franois Dumont <fdumont (a] gcc.gnu.org> 1565 1.1 mrg 1566 1.1 mrg * include/debug/string: Add using _Base::compare. 1567 1.1 mrg (__gnu_debug::basic_string<>::compare(const basic_string<>&)): Remove. 1568 1.1 mrg (__gnu_debug::basic_string<>::compare(size_type, size_type, const basic_string<>&)): 1569 1.1 mrg Remove. 1570 1.1 mrg (__gnu_debug::basic_string<>::compare(size_type, size_type, const basic_string<>&, 1571 1.1 mrg size_type, size_type)): Remove. 1572 1.1 mrg * testsuite/util/testsuite_string.h [_GLIBCXX_TEST_DEBUG_STRING]: Include <debug/string>. 1573 1.1 mrg * testsuite/21_strings/basic_string/operations/compare/char/1.cc: Include testsuite_string.h 1574 1.1 mrg and use __gnu_test::string. 1575 1.1 mrg * testsuite/21_strings/basic_string/operations/compare/char/13650.cc: Likewise. 1576 1.1 mrg * testsuite/21_strings/basic_string/operations/compare/char/2.cc: Likewise. 1577 1.1 mrg * testsuite/21_strings/basic_string/operations/rfind/char/1.cc: Likewise. 1578 1.1 mrg * testsuite/21_strings/basic_string/operations/rfind/char/2.cc: Likewise. 1579 1.1 mrg * testsuite/21_strings/basic_string/operations/rfind/char/3.cc: Likewise. 1580 1.1 mrg * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc: 1581 1.1 mrg Include testsuite_string.h 1582 1.1 mrg and use __gnu_test::wstring. 1583 1.1 mrg * testsuite/21_strings/basic_string/operations/compare/wchar_t/13650.cc: Likewise. 1584 1.1 mrg * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: Likewise. 1585 1.1 mrg 1586 1.1 mrg 2022-10-12 Patrick Palka <ppalka (a] redhat.com> 1587 1.1 mrg 1588 1.1 mrg * include/std/ranges (repeat_view): Define. 1589 1.1 mrg (repeat_view::_Iterator): Define. 1590 1.1 mrg (views::__detail::__can_repeat_view): Define. 1591 1.1 mrg (views::__detail::__can_bounded_repeat_view): Define. 1592 1.1 mrg (views::_Repeat, views::repeat): Define. 1593 1.1 mrg * testsuite/std/ranges/repeat/1.cc: New test. 1594 1.1 mrg 1595 1.1 mrg 2022-10-12 Martin Liska <mliska (a] suse.cz> 1596 1.1 mrg 1597 1.1 mrg * configure: Regenerate. 1598 1.1 mrg 1599 1.1 mrg 2022-10-11 Jonathan Wakely <jwakely (a] redhat.com> 1600 1.1 mrg 1601 1.1 mrg PR bootstrap/107221 1602 1.1 mrg * libsupc++/eh_alloc.cc (pool): Change preprocessor condition 1603 1.1 mrg for using __mutex from __GTHREADS to _GLIBCXX_HOSTED. 1604 1.1 mrg (pool::allocate): Remove namespace qualification to use 1605 1.1 mrg pool::__scoped_lock instead of __gnu_cxx::__scoped_lock. 1606 1.1 mrg 1607 1.1 mrg 2022-10-11 Jonathan Wakely <jwakely (a] redhat.com> 1608 1.1 mrg 1609 1.1 mrg PR libstdc++/68606 1610 1.1 mrg * Makefile.in: Regenerate. 1611 1.1 mrg * acinclude.m4 (GLIBCXX_EMERGENCY_EH_ALLOC): New macro. 1612 1.1 mrg * configure: Regenerate. 1613 1.1 mrg * configure.ac: Use GLIBCXX_EMERGENCY_EH_ALLOC. 1614 1.1 mrg * crossconfig.m4: Check for secure_getenv. 1615 1.1 mrg * doc/Makefile.in: Regenerate. 1616 1.1 mrg * doc/xml/manual/configure.xml: Document new configure options. 1617 1.1 mrg * doc/xml/manual/evolution.xml: Document addition of tunables. 1618 1.1 mrg * doc/xml/manual/using_exceptions.xml: Document emergency 1619 1.1 mrg buffer and tunables. 1620 1.1 mrg * doc/html/*: Regenerate. 1621 1.1 mrg * include/Makefile.in: Regenerate. 1622 1.1 mrg * libsupc++/Makefile.am: Use EH_POOL_FLAGS. 1623 1.1 mrg * libsupc++/Makefile.in: Regenerate. 1624 1.1 mrg * libsupc++/eh_alloc.cc (EMERGENCY_OBJ_SIZE): Define in units 1625 1.1 mrg of sizeof(void*) not including the ABI's exception header. 1626 1.1 mrg (EMERGENCY_OBJ_COUNT): Define as target-independent calculation 1627 1.1 mrg based on word size. 1628 1.1 mrg (MAX_OBJ_COUNT): Define macro for upper limit on pool size. 1629 1.1 mrg (pool) [_GLIBCXX_EH_POOL_STATIC]: Use fixed-size buffer. 1630 1.1 mrg (pool::buffer_size_in_bytes): New static member function. 1631 1.1 mrg (pool::pool): Parse GLIBCXX_TUNABLES environment variable to set 1632 1.1 mrg pool size at runtime. 1633 1.1 mrg (pool::in_pool): Use std::less<void*> for total order. 1634 1.1 mrg (__freeres) [_GLIBCXX_EH_POOL_STATIC]: Do nothing. 1635 1.1 mrg (__cxa_free_exception, __cxa_free_dependent_exception): Add 1636 1.1 mrg [[unlikely]] attributes. 1637 1.1 mrg * po/Makefile.in: Regenerate. 1638 1.1 mrg * python/Makefile.in: Regenerate. 1639 1.1 mrg * src/Makefile.in: Regenerate. 1640 1.1 mrg * src/c++11/Makefile.in: Regenerate. 1641 1.1 mrg * src/c++17/Makefile.in: Regenerate. 1642 1.1 mrg * src/c++20/Makefile.in: Regenerate. 1643 1.1 mrg * src/c++98/Makefile.in: Regenerate. 1644 1.1 mrg * src/filesystem/Makefile.in: Regenerate. 1645 1.1 mrg * src/libbacktrace/Makefile.in: Regenerate. 1646 1.1 mrg * testsuite/Makefile.in: Regenerate. 1647 1.1 mrg 1648 1.1 mrg 2022-10-11 Olivier Hainque <hainque (a] adacore.com> 1649 1.1 mrg Olivier Hainque <hainque (a] adacore.com> 1650 1.1 mrg 1651 1.1 mrg * configure: Regenerate. 1652 1.1 mrg 1653 1.1 mrg 2022-10-10 Jonathan Wakely <jwakely (a] redhat.com> 1654 1.1 mrg 1655 1.1 mrg * include/std/type_traits (make_signed, make_unsigned): Remove 1656 1.1 mrg constraints on primary template. 1657 1.1 mrg * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 1658 1.1 mrg Undo changes to expected error in C++20 mode. 1659 1.1 mrg * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 1660 1.1 mrg Likewise. 1661 1.1 mrg * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc: 1662 1.1 mrg Likewise. 1663 1.1 mrg * testsuite/20_util/make_signed/requirements/uninstantiated.cc: 1664 1.1 mrg New test. 1665 1.1 mrg * testsuite/20_util/make_unsigned/requirements/uninstantiated.cc: 1666 1.1 mrg New test. 1667 1.1 mrg 1668 1.1 mrg 2022-10-10 Jonathan Wakely <jwakely (a] redhat.com> 1669 1.1 mrg 1670 1.1 mrg * include/std/type_traits (make_signed, make_unsigned): Add 1671 1.1 mrg specializations for cv bool. Add requires-clause for C++20 to 1672 1.1 mrg improve diagnostics for non-integral, non-enum cases. 1673 1.1 mrg * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 1674 1.1 mrg Check cv bool. 1675 1.1 mrg * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 1676 1.1 mrg Likewise. 1677 1.1 mrg * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc: 1678 1.1 mrg Adjust expected errors for C++20 and later. 1679 1.1 mrg * testsuite/lib/prune.exp: Prune "in requirements [with ...]" 1680 1.1 mrg lines from diagnostics. 1681 1.1 mrg 1682 1.1 mrg 2022-10-07 Jonathan Wakely <jwakely (a] redhat.com> 1683 1.1 mrg 1684 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): Add libstdcxx-hosted 1685 1.1 mrg enable arg as an alias for hosted-libstdcxx enable arg. 1686 1.1 mrg * configure: Regenerate. 1687 1.1 mrg 1688 1.1 mrg 2022-10-07 Jonathan Wakely <jwakely (a] redhat.com> 1689 1.1 mrg 1690 1.1 mrg * include/bits/std_function.h: Include <new> but do not include 1691 1.1 mrg <bits/stl_function.h>. 1692 1.1 mrg * include/std/functional: Do not include <new>. 1693 1.1 mrg 1694 1.1 mrg 2022-10-07 Jonathan Wakely <jwakely (a] redhat.com> 1695 1.1 mrg 1696 1.1 mrg * doc/xml/manual/intro.xml: Add role="bold" attribute to 1697 1.1 mrg emphasis elements for issue titles. 1698 1.1 mrg * doc/html/manual/bugs.html: Regenerate. 1699 1.1 mrg 1700 1.1 mrg 2022-10-05 Jonathan Wakely <jwakely (a] redhat.com> 1701 1.1 mrg 1702 1.1 mrg * include/Makefile.in: Regenerate. 1703 1.1 mrg 1704 1.1 mrg 2022-10-05 Jonathan Wakely <jwakely (a] redhat.com> 1705 1.1 mrg 1706 1.1 mrg * include/bits/invoke.h (__invoke_r): Check 1707 1.1 mrg __has_builtin(__reference_converts_from_temporary) before using 1708 1.1 mrg built-in. 1709 1.1 mrg 1710 1.1 mrg 2022-10-04 Jonathan Wakely <jwakely (a] redhat.com> 1711 1.1 mrg 1712 1.1 mrg * testsuite/std/ranges/adaptors/join_with/1.cc: Remove unused 1713 1.1 mrg <sstream header. 1714 1.1 mrg (test04): Remove constexpr for old std::string ABI and test at 1715 1.1 mrg runtime. 1716 1.1 mrg 1717 1.1 mrg 2022-10-04 Jonathan Wakely <jwakely (a] redhat.com> 1718 1.1 mrg 1719 1.1 mrg * include/std/type_traits (remove_cv): Use __remove_cv built-in. 1720 1.1 mrg (remove_reference): Use __remove_reference built-in. 1721 1.1 mrg (remove_cvref): Use __remove_cvref built-in. Remove inheritance 1722 1.1 mrg for fallback implementation. 1723 1.1 mrg 1724 1.1 mrg 2022-10-04 Jonathan Wakely <jwakely (a] redhat.com> 1725 1.1 mrg 1726 1.1 mrg * include/bits/random.h (__is_seed_seq): Replace with ... 1727 1.1 mrg (_If_seed_seq_for): ... this. 1728 1.1 mrg * include/ext/random: Adjust to use _If_seed_seq_for. 1729 1.1 mrg 1730 1.1 mrg 2022-10-04 Patrick Palka <ppalka (a] redhat.com> 1731 1.1 mrg 1732 1.1 mrg * include/std/ranges (join_with_view::_Iterator::operator*): 1733 1.1 mrg Replace use of std::visit with manual visitation. 1734 1.1 mrg (join_with_view::_Iterator::operator++): Likewise. 1735 1.1 mrg (join_with_view::_Iterator::operator--): Likewise. 1736 1.1 mrg (join_with_view::_Iterator::iter_move): Likewise. 1737 1.1 mrg (join_with_view::_Iterator::iter_swap): Likewise. 1738 1.1 mrg 1739 1.1 mrg 2022-10-04 Jonathan Wakely <jwakely (a] redhat.com> 1740 1.1 mrg 1741 1.1 mrg * testsuite/25_algorithms/stable_sort/mem_check.cc: Do nto run 1742 1.1 mrg for freestanding. 1743 1.1 mrg 1744 1.1 mrg 2022-10-04 Jonathan Wakely <jwakely (a] redhat.com> 1745 1.1 mrg 1746 1.1 mrg PR libstdc++/107139 1747 1.1 mrg * include/std/coroutine: Remove all _GLIBCXXHOSTED preprocessor 1748 1.1 mrg conditionals. 1749 1.1 mrg 1750 1.1 mrg 2022-10-04 Jonathan Wakely <jwakely (a] redhat.com> 1751 1.1 mrg 1752 1.1 mrg PR libstdc++/107134 1753 1.1 mrg * include/c_global/cstdint [!_GLIBCXX_HOSTED]: Include 1754 1.1 mrg <stdint-gcc.h> directly. 1755 1.1 mrg 1756 1.1 mrg 2022-10-04 Jonathan Wakely <jwakely (a] redhat.com> 1757 1.1 mrg 1758 1.1 mrg PR libstdc++/107135 1759 1.1 mrg * include/bits/functexcept.h [!_GLIBCXX_HOSTED] 1760 1.1 mrg (__throw_invalid_argument, __throw_out_of_range) 1761 1.1 mrg (__throw_out_of_range_fmt, __throw_runtime_error) 1762 1.1 mrg (__throw_overflow_error): Define inline. 1763 1.1 mrg * include/std/bitset (_M_copy_from_ptr) [!_GLIBCXX_HOSTED]: 1764 1.1 mrg Replace __builtin_abort with __throw_invalid_argument. 1765 1.1 mrg 1766 1.1 mrg 2022-10-04 Patrick Palka <ppalka (a] redhat.com> 1767 1.1 mrg 1768 1.1 mrg * include/std/ranges: Include <variant> for C++23. 1769 1.1 mrg (__detail::__compatible_joinable_ranges): Define. 1770 1.1 mrg (__detail::__bidirectional_common): Define. 1771 1.1 mrg (join_with_view): Define. 1772 1.1 mrg (join_with_view::_Iterator): Define. 1773 1.1 mrg (join_with_view::_Sentinel): Define. 1774 1.1 mrg (views::__detail::__can_join_with_view): Define. 1775 1.1 mrg (views::_JoinWith, views::join_with): Define. 1776 1.1 mrg * testsuite/std/ranges/adaptors/join_with/1.cc: New test. 1777 1.1 mrg 1778 1.1 mrg 2022-10-04 Arsen Arsenovi <arsen (a] aarsen.me> 1779 1.1 mrg 1780 1.1 mrg * include/std/iostream: Use ///< for inline documentation. 1781 1.1 mrg * include/std/limits: Likewise. 1782 1.1 mrg * include/experimental/internet: Likewise. 1783 1.1 mrg 1784 1.1 mrg 2022-10-03 Jonathan Wakely <jwakely (a] redhat.com> 1785 1.1 mrg 1786 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update C++20 status. 1787 1.1 mrg * doc/html/manual/status.html: Regenerate. 1788 1.1 mrg 1789 1.1 mrg 2022-10-03 Arsen Arsenovi <arsen (a] aarsen.me> 1790 1.1 mrg 1791 1.1 mrg PR libstdc++/103626 1792 1.1 mrg * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: 1793 1.1 mrg Require ET hosted. 1794 1.1 mrg * testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise. 1795 1.1 mrg * testsuite/18_support/new_nothrow.cc: Likewise. 1796 1.1 mrg * testsuite/20_util/allocator/105975.cc: Likewise. 1797 1.1 mrg * testsuite/20_util/allocator/14176.cc: Likewise. 1798 1.1 mrg * testsuite/20_util/allocator/64135.cc: Likewise. 1799 1.1 mrg * testsuite/20_util/allocator/89510.cc: Likewise. 1800 1.1 mrg * testsuite/20_util/allocator/lwg3190.cc: Likewise. 1801 1.1 mrg * testsuite/20_util/allocator/overaligned.cc: Likewise. 1802 1.1 mrg * testsuite/20_util/allocator/rebind_c++20.cc: Likewise. 1803 1.1 mrg * testsuite/20_util/allocator/requirements/constexpr.cc: 1804 1.1 mrg Likewise. 1805 1.1 mrg * testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc: 1806 1.1 mrg Likewise. 1807 1.1 mrg * testsuite/20_util/allocator/requirements/typedefs.cc: 1808 1.1 mrg Likewise. 1809 1.1 mrg * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: 1810 1.1 mrg Likewise. 1811 1.1 mrg * testsuite/20_util/allocator/void.cc: Likewise. 1812 1.1 mrg * testsuite/20_util/allocator_traits/header-2.cc: Likewise. 1813 1.1 mrg * testsuite/20_util/allocator_traits/header.cc: Likewise. 1814 1.1 mrg * testsuite/20_util/allocator_traits/members/92878_92947.cc: 1815 1.1 mrg Likewise. 1816 1.1 mrg * testsuite/20_util/allocator_traits/members/pointers.cc: 1817 1.1 mrg Likewise. 1818 1.1 mrg * testsuite/20_util/allocator_traits/requirements/typedefs.cc: 1819 1.1 mrg Likewise. 1820 1.1 mrg * testsuite/20_util/bad_function_call/cons_virtual_derivation.cc: 1821 1.1 mrg Likewise. 1822 1.1 mrg * testsuite/20_util/bind/42593.cc: Likewise. 1823 1.1 mrg * testsuite/20_util/bitset/access/dr396.cc: Likewise. 1824 1.1 mrg * testsuite/20_util/bitset/access/to_string.cc: Likewise. 1825 1.1 mrg * testsuite/20_util/bitset/cons/16020.cc: Likewise. 1826 1.1 mrg * testsuite/20_util/bitset/cons/dr1325-2.cc: Likewise. 1827 1.1 mrg * testsuite/20_util/bitset/cons/dr396.cc: Likewise. 1828 1.1 mrg * testsuite/20_util/bitset/debug/invalidation/1.cc: Likewise. 1829 1.1 mrg * testsuite/20_util/bitset/ext/15361.cc: Likewise. 1830 1.1 mrg * testsuite/20_util/bitset/operations/13838.cc: Likewise. 1831 1.1 mrg * testsuite/20_util/bitset/operations/96303.cc: Likewise. 1832 1.1 mrg * testsuite/20_util/bitset/version.cc: Likewise. 1833 1.1 mrg * testsuite/20_util/enable_shared_from_this/56383.cc: Likewise. 1834 1.1 mrg * testsuite/20_util/enable_shared_from_this/89303.cc: Likewise. 1835 1.1 mrg * testsuite/20_util/enable_shared_from_this/members/assign.cc: 1836 1.1 mrg Likewise. 1837 1.1 mrg * testsuite/20_util/enable_shared_from_this/members/const.cc: 1838 1.1 mrg Likewise. 1839 1.1 mrg * testsuite/20_util/enable_shared_from_this/members/reinit.cc: 1840 1.1 mrg Likewise. 1841 1.1 mrg * testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: 1842 1.1 mrg Likewise. 1843 1.1 mrg * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: 1844 1.1 mrg Likewise. 1845 1.1 mrg * testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc: 1846 1.1 mrg Likewise. 1847 1.1 mrg * testsuite/20_util/forward/1.cc: Likewise. 1848 1.1 mrg * testsuite/20_util/forward/1_neg.cc: Likewise. 1849 1.1 mrg * testsuite/20_util/function/1.cc: Likewise. 1850 1.1 mrg * testsuite/20_util/function/10.cc: Likewise. 1851 1.1 mrg * testsuite/20_util/function/2.cc: Likewise. 1852 1.1 mrg * testsuite/20_util/function/3.cc: Likewise. 1853 1.1 mrg * testsuite/20_util/function/4.cc: Likewise. 1854 1.1 mrg * testsuite/20_util/function/43397.cc: Likewise. 1855 1.1 mrg * testsuite/20_util/function/48541.cc: Likewise. 1856 1.1 mrg * testsuite/20_util/function/5.cc: Likewise. 1857 1.1 mrg * testsuite/20_util/function/58569.cc: Likewise. 1858 1.1 mrg * testsuite/20_util/function/6.cc: Likewise. 1859 1.1 mrg * testsuite/20_util/function/60594.cc: Likewise. 1860 1.1 mrg * testsuite/20_util/function/65760.cc: Likewise. 1861 1.1 mrg * testsuite/20_util/function/69222.cc: Likewise. 1862 1.1 mrg * testsuite/20_util/function/7.cc: Likewise. 1863 1.1 mrg * testsuite/20_util/function/77322.cc: Likewise. 1864 1.1 mrg * testsuite/20_util/function/8.cc: Likewise. 1865 1.1 mrg * testsuite/20_util/function/9.cc: Likewise. 1866 1.1 mrg * testsuite/20_util/function/91456.cc: Likewise. 1867 1.1 mrg * testsuite/20_util/function/assign/move.cc: Likewise. 1868 1.1 mrg * testsuite/20_util/function/assign/move_target.cc: Likewise. 1869 1.1 mrg * testsuite/20_util/function/cmp/cmp_neg.cc: Likewise. 1870 1.1 mrg * testsuite/20_util/function/cons/55320.cc: Likewise. 1871 1.1 mrg * testsuite/20_util/function/cons/57465.cc: Likewise. 1872 1.1 mrg * testsuite/20_util/function/cons/72820.cc: Likewise. 1873 1.1 mrg * testsuite/20_util/function/cons/addressof.cc: Likewise. 1874 1.1 mrg * testsuite/20_util/function/cons/callable.cc: Likewise. 1875 1.1 mrg * testsuite/20_util/function/cons/deduction.cc: Likewise. 1876 1.1 mrg * testsuite/20_util/function/cons/lwg2774.cc: Likewise. 1877 1.1 mrg * testsuite/20_util/function/cons/move.cc: Likewise. 1878 1.1 mrg * testsuite/20_util/function/cons/move_target.cc: Likewise. 1879 1.1 mrg * testsuite/20_util/function/cons/noexcept.cc: Likewise. 1880 1.1 mrg * testsuite/20_util/function/cons/non_copyconstructible.cc: 1881 1.1 mrg Likewise. 1882 1.1 mrg * testsuite/20_util/function/cons/refqual.cc: Likewise. 1883 1.1 mrg * testsuite/20_util/function/cons/70692.cc: Likewise. 1884 1.1 mrg * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise. 1885 1.1 mrg * testsuite/20_util/function/invoke/forwarding.cc: Likewise. 1886 1.1 mrg * testsuite/20_util/function/invoke/move_only.cc: Likewise. 1887 1.1 mrg * testsuite/20_util/function/null_pointer_comparisons.cc: 1888 1.1 mrg Likewise. 1889 1.1 mrg * testsuite/20_util/function/requirements/explicit_instantiation.cc: 1890 1.1 mrg Likewise. 1891 1.1 mrg * testsuite/20_util/function/target_no_rtti.cc: Likewise. 1892 1.1 mrg * testsuite/20_util/function_objects/83607.cc: Likewise. 1893 1.1 mrg * testsuite/20_util/function_objects/mem_fn/adl.cc: Likewise. 1894 1.1 mrg * testsuite/20_util/headers/cstdlib/functions_std.cc: Likewise. 1895 1.1 mrg * testsuite/20_util/headers/functional/types_std_c++0x.cc: 1896 1.1 mrg Likewise. 1897 1.1 mrg * testsuite/20_util/headers/memory/types_std_c++0x.cc: Likewise. 1898 1.1 mrg * testsuite/20_util/is_function/35637.cc: Likewise. 1899 1.1 mrg * testsuite/20_util/move/1.cc: Likewise. 1900 1.1 mrg * testsuite/20_util/move_only_function/call.cc: Likewise. 1901 1.1 mrg * testsuite/20_util/move_only_function/cons.cc: Likewise. 1902 1.1 mrg * testsuite/20_util/move_only_function/move.cc: Likewise. 1903 1.1 mrg * testsuite/20_util/move_only_function/version.cc: Likewise. 1904 1.1 mrg * testsuite/20_util/owner_less/cmp.cc: Likewise. 1905 1.1 mrg * testsuite/20_util/owner_less/noexcept.cc: Likewise. 1906 1.1 mrg * testsuite/20_util/owner_less/void.cc: Likewise. 1907 1.1 mrg * testsuite/20_util/pointer_safety/1.cc: Likewise. 1908 1.1 mrg * testsuite/20_util/scoped_allocator/65279.cc: Likewise. 1909 1.1 mrg * testsuite/20_util/scoped_allocator/69293_neg.cc: Likewise. 1910 1.1 mrg * testsuite/20_util/scoped_allocator/construct_pair.cc: 1911 1.1 mrg Likewise. 1912 1.1 mrg * testsuite/20_util/scoped_allocator/dr2586.cc: Likewise. 1913 1.1 mrg * testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc: 1914 1.1 mrg Likewise. 1915 1.1 mrg * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise. 1916 1.1 mrg * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise. 1917 1.1 mrg * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. 1918 1.1 mrg * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: 1919 1.1 mrg Likewise. 1920 1.1 mrg * testsuite/20_util/shared_ptr/assign/dr541.cc: Likewise. 1921 1.1 mrg * testsuite/20_util/shared_ptr/assign/move.cc: Likewise. 1922 1.1 mrg * testsuite/20_util/shared_ptr/assign/sfinae.cc: Likewise. 1923 1.1 mrg * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise. 1924 1.1 mrg * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: 1925 1.1 mrg Likewise. 1926 1.1 mrg * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: 1927 1.1 mrg Likewise. 1928 1.1 mrg * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: 1929 1.1 mrg Likewise. 1930 1.1 mrg * testsuite/20_util/shared_ptr/atomic/1.cc: Likewise. 1931 1.1 mrg * testsuite/20_util/shared_ptr/atomic/2.cc: Likewise. 1932 1.1 mrg * testsuite/20_util/shared_ptr/casts/1.cc: Likewise. 1933 1.1 mrg * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise. 1934 1.1 mrg * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise. 1935 1.1 mrg * testsuite/20_util/shared_ptr/comparison/42925.cc: Likewise. 1936 1.1 mrg * testsuite/20_util/shared_ptr/comparison/86537.cc: Likewise. 1937 1.1 mrg * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise. 1938 1.1 mrg * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: 1939 1.1 mrg Likewise. 1940 1.1 mrg * testsuite/20_util/shared_ptr/comparison/dr1401.cc: Likewise. 1941 1.1 mrg * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise. 1942 1.1 mrg * testsuite/20_util/shared_ptr/cons/39405.cc: Likewise. 1943 1.1 mrg * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise. 1944 1.1 mrg * testsuite/20_util/shared_ptr/cons/46910.cc: Likewise. 1945 1.1 mrg * testsuite/20_util/shared_ptr/cons/51365.cc: Likewise. 1946 1.1 mrg * testsuite/20_util/shared_ptr/cons/52924.cc: Likewise. 1947 1.1 mrg * testsuite/20_util/shared_ptr/cons/55123.cc: Likewise. 1948 1.1 mrg * testsuite/20_util/shared_ptr/cons/58659.cc: Likewise. 1949 1.1 mrg * testsuite/20_util/shared_ptr/cons/58839.cc: Likewise. 1950 1.1 mrg * testsuite/20_util/shared_ptr/cons/61036.cc: Likewise. 1951 1.1 mrg * testsuite/20_util/shared_ptr/cons/79467.cc: Likewise. 1952 1.1 mrg * testsuite/20_util/shared_ptr/cons/80229.cc: Likewise. 1953 1.1 mrg * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise. 1954 1.1 mrg * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise. 1955 1.1 mrg * testsuite/20_util/shared_ptr/cons/array.cc: Likewise. 1956 1.1 mrg * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise. 1957 1.1 mrg * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise. 1958 1.1 mrg * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise. 1959 1.1 mrg * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise. 1960 1.1 mrg * testsuite/20_util/shared_ptr/cons/default.cc: Likewise. 1961 1.1 mrg * testsuite/20_util/shared_ptr/cons/lwg2802.cc: Likewise. 1962 1.1 mrg * testsuite/20_util/shared_ptr/cons/lwg3548.cc: Likewise. 1963 1.1 mrg * testsuite/20_util/shared_ptr/cons/move.cc: Likewise. 1964 1.1 mrg * testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc: 1965 1.1 mrg Likewise. 1966 1.1 mrg * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise. 1967 1.1 mrg * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise. 1968 1.1 mrg * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise. 1969 1.1 mrg * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: 1970 1.1 mrg Likewise. 1971 1.1 mrg * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: 1972 1.1 mrg Likewise. 1973 1.1 mrg * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc: 1974 1.1 mrg Likewise. 1975 1.1 mrg * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: 1976 1.1 mrg Likewise. 1977 1.1 mrg * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. 1978 1.1 mrg * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise. 1979 1.1 mrg * testsuite/20_util/shared_ptr/creation/36949.cc: Likewise. 1980 1.1 mrg * testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc: 1981 1.1 mrg Likewise. 1982 1.1 mrg * testsuite/20_util/shared_ptr/creation/58594.cc: Likewise. 1983 1.1 mrg * testsuite/20_util/shared_ptr/creation/87278.cc: Likewise. 1984 1.1 mrg * testsuite/20_util/shared_ptr/creation/92878_92947.cc: 1985 1.1 mrg Likewise. 1986 1.1 mrg * testsuite/20_util/shared_ptr/creation/99006.cc: Likewise. 1987 1.1 mrg * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise. 1988 1.1 mrg * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise. 1989 1.1 mrg * testsuite/20_util/shared_ptr/creation/make.cc: Likewise. 1990 1.1 mrg * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise. 1991 1.1 mrg * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. 1992 1.1 mrg * testsuite/20_util/shared_ptr/creation/private.cc: Likewise. 1993 1.1 mrg * testsuite/20_util/shared_ptr/creation/single_allocation.cc: 1994 1.1 mrg Likewise. 1995 1.1 mrg * testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc: 1996 1.1 mrg Likewise. 1997 1.1 mrg * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. 1998 1.1 mrg * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise. 1999 1.1 mrg * testsuite/20_util/shared_ptr/hash/1.cc: Likewise. 2000 1.1 mrg * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise. 2001 1.1 mrg * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise. 2002 1.1 mrg * testsuite/20_util/shared_ptr/misc/get_deleter.cc: Likewise. 2003 1.1 mrg * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise. 2004 1.1 mrg * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise. 2005 1.1 mrg * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise. 2006 1.1 mrg * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: 2007 1.1 mrg Likewise. 2008 1.1 mrg * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise. 2009 1.1 mrg * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise. 2010 1.1 mrg * testsuite/20_util/shared_ptr/observers/array.cc: Likewise. 2011 1.1 mrg * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise. 2012 1.1 mrg * testsuite/20_util/shared_ptr/observers/get.cc: Likewise. 2013 1.1 mrg * testsuite/20_util/shared_ptr/observers/owner_before.cc: 2014 1.1 mrg Likewise. 2015 1.1 mrg * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise. 2016 1.1 mrg * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise. 2017 1.1 mrg * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc: 2018 1.1 mrg Likewise. 2019 1.1 mrg * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc: 2020 1.1 mrg Likewise. 2021 1.1 mrg * testsuite/20_util/shared_ptr/requirements/weak_type.cc: 2022 1.1 mrg Likewise. 2023 1.1 mrg * testsuite/20_util/specialized_algorithms/construct_at/95788.cc: 2024 1.1 mrg Likewise. 2025 1.1 mrg * testsuite/20_util/temporary_buffer.cc: Likewise. 2026 1.1 mrg * testsuite/20_util/tuple/48476.cc: Likewise. 2027 1.1 mrg * testsuite/20_util/tuple/cons/90700.cc: Likewise. 2028 1.1 mrg * testsuite/20_util/tuple/cons/96803.cc: Likewise. 2029 1.1 mrg * testsuite/20_util/tuple/cons/allocator_with_any.cc: Likewise. 2030 1.1 mrg * testsuite/20_util/tuple/cons/allocators.cc: Likewise. 2031 1.1 mrg * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: 2032 1.1 mrg Likewise. 2033 1.1 mrg * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. 2034 1.1 mrg * testsuite/20_util/tuple/p2321r2.cc: Likewise. 2035 1.1 mrg * testsuite/20_util/unique_ptr/creation/92878_92947.cc: 2036 1.1 mrg Likewise. 2037 1.1 mrg * testsuite/20_util/unique_ptr/creation/array.cc: Likewise. 2038 1.1 mrg * testsuite/20_util/unique_ptr/creation/array_neg.cc: Likewise. 2039 1.1 mrg * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise. 2040 1.1 mrg * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: 2041 1.1 mrg Likewise. 2042 1.1 mrg * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc: 2043 1.1 mrg Likewise. 2044 1.1 mrg * testsuite/20_util/unique_ptr/creation/single.cc: Likewise. 2045 1.1 mrg * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise. 2046 1.1 mrg * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise. 2047 1.1 mrg * testsuite/20_util/uses_allocator/uninitialized_construct.cc: 2048 1.1 mrg Likewise. 2049 1.1 mrg * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise. 2050 1.1 mrg * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise. 2051 1.1 mrg * testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc: 2052 1.1 mrg Likewise. 2053 1.1 mrg * testsuite/20_util/weak_ptr/lock/1.cc: Likewise. 2054 1.1 mrg * testsuite/20_util/weak_ptr/observers/owner_before.cc: 2055 1.1 mrg Likewise. 2056 1.1 mrg * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc: 2057 1.1 mrg Likewise. 2058 1.1 mrg * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc: 2059 1.1 mrg Likewise. 2060 1.1 mrg * testsuite/21_strings/basic_string/version.cc: Likewise. 2061 1.1 mrg * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: 2062 1.1 mrg Likewise. 2063 1.1 mrg * testsuite/21_strings/c_strings/char/69626.cc: Likewise. 2064 1.1 mrg * testsuite/21_strings/char_traits/requirements/version.cc: 2065 1.1 mrg Likewise. 2066 1.1 mrg * testsuite/23_containers/vector/requirements/version.cc: 2067 1.1 mrg Likewise. 2068 1.1 mrg * testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc: 2069 1.1 mrg Likewise. 2070 1.1 mrg * testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc: 2071 1.1 mrg Likewise. 2072 1.1 mrg * testsuite/24_iterators/insert_iterator/requirements/base_classes.cc: 2073 1.1 mrg Likewise. 2074 1.1 mrg * testsuite/24_iterators/istream_iterator/requirements/base_classes.cc: 2075 1.1 mrg Likewise. 2076 1.1 mrg * testsuite/24_iterators/istreambuf_iterator/92285.cc: Likewise. 2077 1.1 mrg * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc: 2078 1.1 mrg Likewise. 2079 1.1 mrg * testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc: 2080 1.1 mrg Likewise. 2081 1.1 mrg * testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc: 2082 1.1 mrg Likewise. 2083 1.1 mrg * testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc: 2084 1.1 mrg Likewise. 2085 1.1 mrg * testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc: 2086 1.1 mrg Likewise. 2087 1.1 mrg * testsuite/25_algorithms/constexpr_macro.cc: Likewise. 2088 1.1 mrg * testsuite/25_algorithms/equal/constrained.cc: Likewise. 2089 1.1 mrg * testsuite/25_algorithms/headers/cstdlib/functions_std.cc: 2090 1.1 mrg Likewise. 2091 1.1 mrg * testsuite/25_algorithms/inplace_merge/1.cc: Likewise. 2092 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/constrained.cc: 2093 1.1 mrg Likewise. 2094 1.1 mrg * testsuite/25_algorithms/make_heap/movable.cc: Likewise. 2095 1.1 mrg * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise. 2096 1.1 mrg * testsuite/25_algorithms/random_shuffle/1.cc: Likewise. 2097 1.1 mrg * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise. 2098 1.1 mrg * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: 2099 1.1 mrg Likewise. 2100 1.1 mrg * testsuite/25_algorithms/sort/35588.cc: Likewise. 2101 1.1 mrg * testsuite/25_algorithms/stable_partition/1.cc: Likewise. 2102 1.1 mrg * testsuite/25_algorithms/stable_partition/constrained.cc: 2103 1.1 mrg Likewise. 2104 1.1 mrg * testsuite/25_algorithms/stable_partition/mem_check.cc: 2105 1.1 mrg Likewise. 2106 1.1 mrg * testsuite/25_algorithms/stable_partition/moveable.cc: 2107 1.1 mrg Likewise. 2108 1.1 mrg * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc: 2109 1.1 mrg Likewise. 2110 1.1 mrg * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc: 2111 1.1 mrg Likewise. 2112 1.1 mrg * testsuite/25_algorithms/stable_sort/1.cc: Likewise. 2113 1.1 mrg * testsuite/26_numerics/complex/2.cc: Likewise. 2114 1.1 mrg * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise. 2115 1.1 mrg * testsuite/26_numerics/headers/cstdlib/2190.cc: Likewise. 2116 1.1 mrg * testsuite/26_numerics/headers/cstdlib/60401.cc: Likewise. 2117 1.1 mrg * testsuite/26_numerics/headers/cstdlib/dr2192.cc: Likewise. 2118 1.1 mrg * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: Likewise. 2119 1.1 mrg * testsuite/26_numerics/headers/cstdlib/dr2735.cc: Likewise. 2120 1.1 mrg * testsuite/26_numerics/headers/cstdlib/functions_std.cc: 2121 1.1 mrg Likewise. 2122 1.1 mrg * testsuite/26_numerics/headers/cstdlib/macros.cc: Likewise. 2123 1.1 mrg * testsuite/26_numerics/headers/cstdlib/types_std.cc: Likewise. 2124 1.1 mrg * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: 2125 1.1 mrg Likewise. 2126 1.1 mrg * testsuite/26_numerics/lerp/version.cc: Likewise. 2127 1.1 mrg * testsuite/26_numerics/midpoint/version.cc: Likewise. 2128 1.1 mrg * testsuite/27_io/basic_syncbuf/2.cc: Likewise. 2129 1.1 mrg * testsuite/27_io/basic_syncstream/2.cc: Likewise. 2130 1.1 mrg * testsuite/27_io/fpos/14320-1.cc: Likewise. 2131 1.1 mrg * testsuite/27_io/fpos/14320-2.cc: Likewise. 2132 1.1 mrg * testsuite/27_io/fpos/14320-3.cc: Likewise. 2133 1.1 mrg * testsuite/27_io/fpos/14320-4.cc: Likewise. 2134 1.1 mrg * testsuite/27_io/spanstream/version.cc: Likewise. 2135 1.1 mrg * testsuite/29_atomics/atomic/lwg3220.cc: Likewise. 2136 1.1 mrg * testsuite/29_atomics/atomic/operators/51811.cc: Likewise. 2137 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. 2138 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise. 2139 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. 2140 1.1 mrg * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. 2141 1.1 mrg * testsuite/30_threads/barrier/2.cc: Likewise. 2142 1.1 mrg * testsuite/30_threads/condition_variable_any/stop_token/2.cc: 2143 1.1 mrg Likewise. 2144 1.1 mrg * testsuite/30_threads/jthread/version.cc: Likewise. 2145 1.1 mrg * testsuite/30_threads/latch/2.cc: Likewise. 2146 1.1 mrg * testsuite/30_threads/semaphore/2.cc: Likewise. 2147 1.1 mrg * testsuite/30_threads/stop_token/2.cc: Likewise. 2148 1.1 mrg * testsuite/abi/pr42230.cc: Likewise. 2149 1.1 mrg * testsuite/ext/shared_ptr/1.cc: Likewise. 2150 1.1 mrg * testsuite/libstdc++-xmethods/shared_ptr.cc: Likewise. 2151 1.1 mrg * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise. 2152 1.1 mrg * testsuite/std/ranges/adaptors/p1739.cc: Likewise. 2153 1.1 mrg * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise. 2154 1.1 mrg * testsuite/std/ranges/p2325.cc: Likewise. 2155 1.1 mrg 2156 1.1 mrg 2022-10-03 Jonathan Wakely <jwakely (a] redhat.com> 2157 1.1 mrg 2158 1.1 mrg * include/std/bitset (bitset(const C*, size_type n, C, C)) 2159 1.1 mrg [!_GLIBCXX_HOSTED]: Remove std::basic_string dependency. 2160 1.1 mrg (_M_copy_from_ptr) [!_GLIBCXX_HOSTED]: Abort instead of 2161 1.1 mrg throwing. 2162 1.1 mrg 2163 1.1 mrg 2022-10-03 Arsen Arsenovi <arsen (a] aarsen.me> 2164 1.1 mrg 2165 1.1 mrg PR libstdc++/103626 2166 1.1 mrg * include/std/bitset [!_GLIBCXX_HOSTED]: Re-enable std::hash. 2167 1.1 mrg * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Require ET 2168 1.1 mrg hosted. 2169 1.1 mrg * testsuite/20_util/bitset/ext/constexpr.cc: Likewise. 2170 1.1 mrg 2171 1.1 mrg 2022-10-03 Jonathan Wakely <jwakely (a] redhat.com> 2172 1.1 mrg 2173 1.1 mrg PR libstdc++/103626 2174 1.1 mrg * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): 2175 1.1 mrg Also require hosted. 2176 1.1 mrg (check_effective_target_hosted): New proc. 2177 1.1 mrg 2178 1.1 mrg 2022-10-03 Arsen Arsenovi <arsen (a] aarsen.me> 2179 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 2180 1.1 mrg 2181 1.1 mrg PR libstdc++/103626 2182 1.1 mrg * testsuite/17_intro/headers/c++1998/stdc++.cc [!__STDC_HOSTED__]: 2183 1.1 mrg Do not include C headers that aren't valid for freestanding. 2184 1.1 mrg * testsuite/17_intro/tag_type_explicit_ctor.cc [!__STDC_HOSTED__]: 2185 1.1 mrg Do not test tag types that aren't defined for freestanding. 2186 1.1 mrg * testsuite/18_support/headers/cstdlib/functions_std.cc: Do not 2187 1.1 mrg check for std::getenv and std::system for freestanding. 2188 1.1 mrg * testsuite/17_intro/using_namespace_std_exp_neg.cc [!__STDC_HOSTED__]: 2189 1.1 mrg Do not test hosted parts of the standard library. 2190 1.1 mrg * testsuite/17_intro/using_namespace_std_tr1_neg.cc [!__STDC_HOSTED__]: 2191 1.1 mrg Likewise. 2192 1.1 mrg * testsuite/20_util/allocator_traits/members/rebind_alloc.cc [!__STDC_HOSTED__]: 2193 1.1 mrg Likewise. 2194 1.1 mrg * testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc [!HOSTED]: 2195 1.1 mrg Likewise. 2196 1.1 mrg * testsuite/20_util/headers/bitset/synopsis.cc [!__STDC_HOSTED__]: Likewise. 2197 1.1 mrg * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc [!__STDC_HOSTED__]: 2198 1.1 mrg Likewise. 2199 1.1 mrg * testsuite/20_util/pointer_traits/requirements/typedefs.cc [!__STDC_HOSTED__]: 2200 1.1 mrg Likewise. 2201 1.1 mrg * testsuite/20_util/tuple/cons/deduction.cc [!__STDC_HOSTED__]: Likewise. 2202 1.1 mrg * testsuite/25_algorithms/move/93872.cc [!__STDC_HOSTED__]: Likewise. 2203 1.1 mrg * testsuite/std/ranges/adaptors/100577.cc [!__STDC_HOSTED__]: Likewise. 2204 1.1 mrg 2205 1.1 mrg 2022-10-03 Arsen Arsenovi <arsen (a] aarsen.me> 2206 1.1 mrg 2207 1.1 mrg PR libstdc++/106953 2208 1.1 mrg * include/Makefile.am [!_GLIBCXX_HOSTED]: Remove 2209 1.1 mrg install-freestanding-headers, unifying it with the usual 2210 1.1 mrg install-headers 2211 1.1 mrg * include/Makefile.in: Regenerate. 2212 1.1 mrg 2213 1.1 mrg 2022-10-03 Arsen Arsenovi <arsen (a] aarsen.me> 2214 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 2215 1.1 mrg 2216 1.1 mrg PR libstdc++/103626 2217 1.1 mrg * include/Makefile.am: Add new header. 2218 1.1 mrg * include/Makefile.in: Regenerate. 2219 1.1 mrg * include/bits/requires_hosted.h: New header. 2220 1.1 mrg * include/experimental/algorithm: Include 2221 1.1 mrg <bits/requires_hosted.h>. 2222 1.1 mrg * include/experimental/any: Likewise. 2223 1.1 mrg * include/experimental/array: Likewise. 2224 1.1 mrg * include/experimental/buffer: Likewise. 2225 1.1 mrg * include/experimental/chrono: Likewise. 2226 1.1 mrg * include/experimental/deque: Likewise. 2227 1.1 mrg * include/experimental/executor: Likewise. 2228 1.1 mrg * include/experimental/filesystem: Likewise. 2229 1.1 mrg * include/experimental/forward_list: Likewise. 2230 1.1 mrg * include/experimental/functional: Likewise. 2231 1.1 mrg * include/experimental/internet: Likewise. 2232 1.1 mrg * include/experimental/io_context: Likewise. 2233 1.1 mrg * include/experimental/iterator: Likewise. 2234 1.1 mrg * include/experimental/list: Likewise. 2235 1.1 mrg * include/experimental/map: Likewise. 2236 1.1 mrg * include/experimental/memory: Likewise. 2237 1.1 mrg * include/experimental/memory_resource: Likewise. 2238 1.1 mrg * include/experimental/net: Likewise. 2239 1.1 mrg * include/experimental/netfwd: Likewise. 2240 1.1 mrg * include/experimental/numeric: Likewise. 2241 1.1 mrg * include/experimental/optional: Likewise. 2242 1.1 mrg * include/experimental/propagate_const: Likewise. 2243 1.1 mrg * include/experimental/random: Likewise. 2244 1.1 mrg * include/experimental/ratio: Likewise. 2245 1.1 mrg * include/experimental/regex: Likewise. 2246 1.1 mrg * include/experimental/scope: Likewise. 2247 1.1 mrg * include/experimental/set: Likewise. 2248 1.1 mrg * include/experimental/simd: Likewise. 2249 1.1 mrg * include/experimental/socket: Likewise. 2250 1.1 mrg * include/experimental/source_location: Likewise. 2251 1.1 mrg * include/experimental/string: Likewise. 2252 1.1 mrg * include/experimental/string_view: Likewise. 2253 1.1 mrg * include/experimental/system_error: Likewise. 2254 1.1 mrg * include/experimental/timer: Likewise. 2255 1.1 mrg * include/experimental/tuple: Likewise. 2256 1.1 mrg * include/experimental/unordered_map: Likewise. 2257 1.1 mrg * include/experimental/unordered_set: Likewise. 2258 1.1 mrg * include/experimental/utility: Likewise. 2259 1.1 mrg * include/experimental/vector: Likewise. 2260 1.1 mrg * include/std/barrier: Likewise. 2261 1.1 mrg * include/std/chrono: Likewise. 2262 1.1 mrg * include/std/condition_variable: Likewise. 2263 1.1 mrg * include/std/deque: Likewise. 2264 1.1 mrg * include/std/execution: Likewise. 2265 1.1 mrg * include/std/filesystem: Likewise. 2266 1.1 mrg * include/std/forward_list: Likewise. 2267 1.1 mrg * include/std/fstream: Likewise. 2268 1.1 mrg * include/std/future: Likewise. 2269 1.1 mrg * include/std/iomanip: Likewise. 2270 1.1 mrg * include/std/ios: Likewise. 2271 1.1 mrg * include/std/iosfwd: Likewise. 2272 1.1 mrg * include/std/iostream: Likewise. 2273 1.1 mrg * include/std/istream: Likewise. 2274 1.1 mrg * include/std/latch: Likewise. 2275 1.1 mrg * include/std/list: Likewise. 2276 1.1 mrg * include/std/locale: Likewise. 2277 1.1 mrg * include/std/map: Likewise. 2278 1.1 mrg * include/std/memory_resource: Likewise. 2279 1.1 mrg * include/std/mutex: Likewise. 2280 1.1 mrg * include/std/ostream: Likewise. 2281 1.1 mrg * include/std/queue: Likewise. 2282 1.1 mrg * include/std/random: Likewise. 2283 1.1 mrg * include/std/regex: Likewise. 2284 1.1 mrg * include/std/semaphore: Likewise. 2285 1.1 mrg * include/std/set: Likewise. 2286 1.1 mrg * include/std/shared_mutex: Likewise. 2287 1.1 mrg * include/std/spanstream: Likewise. 2288 1.1 mrg * include/std/sstream: Likewise. 2289 1.1 mrg * include/std/stack: Likewise. 2290 1.1 mrg * include/std/stacktrace: Likewise. 2291 1.1 mrg * include/std/stop_token: Likewise. 2292 1.1 mrg * include/std/streambuf: Likewise. 2293 1.1 mrg * include/std/string: Likewise. 2294 1.1 mrg * include/std/syncstream: Likewise. 2295 1.1 mrg * include/std/system_error: Likewise. 2296 1.1 mrg * include/std/thread: Likewise. 2297 1.1 mrg * include/std/unordered_map: Likewise. 2298 1.1 mrg * include/std/unordered_set: Likewise. 2299 1.1 mrg * include/std/valarray: Likewise. 2300 1.1 mrg * include/std/vector: Likewise. 2301 1.1 mrg * include/tr1/array: Likewise. 2302 1.1 mrg * include/tr1/ccomplex: Likewise. 2303 1.1 mrg * include/tr1/cctype: Likewise. 2304 1.1 mrg * include/tr1/cfenv: Likewise. 2305 1.1 mrg * include/tr1/cfloat: Likewise. 2306 1.1 mrg * include/tr1/cinttypes: Likewise. 2307 1.1 mrg * include/tr1/climits: Likewise. 2308 1.1 mrg * include/tr1/cmath: Likewise. 2309 1.1 mrg * include/tr1/complex: Likewise. 2310 1.1 mrg * include/tr1/complex.h: Likewise. 2311 1.1 mrg * include/tr1/cstdarg: Likewise. 2312 1.1 mrg * include/tr1/cstdbool: Likewise. 2313 1.1 mrg * include/tr1/cstdint: Likewise. 2314 1.1 mrg * include/tr1/cstdio: Likewise. 2315 1.1 mrg * include/tr1/cstdlib: Likewise. 2316 1.1 mrg * include/tr1/ctgmath: Likewise. 2317 1.1 mrg * include/tr1/ctime: Likewise. 2318 1.1 mrg * include/tr1/ctype.h: Likewise. 2319 1.1 mrg * include/tr1/cwchar: Likewise. 2320 1.1 mrg * include/tr1/cwctype: Likewise. 2321 1.1 mrg * include/tr1/fenv.h: Likewise. 2322 1.1 mrg * include/tr1/float.h: Likewise. 2323 1.1 mrg * include/tr1/functional: Likewise. 2324 1.1 mrg * include/tr1/inttypes.h: Likewise. 2325 1.1 mrg * include/tr1/limits.h: Likewise. 2326 1.1 mrg * include/tr1/math.h: Likewise. 2327 1.1 mrg * include/tr1/memory: Likewise. 2328 1.1 mrg * include/tr1/random: Likewise. 2329 1.1 mrg * include/tr1/regex: Likewise. 2330 1.1 mrg * include/tr1/stdarg.h: Likewise. 2331 1.1 mrg * include/tr1/stdbool.h: Likewise. 2332 1.1 mrg * include/tr1/stdint.h: Likewise. 2333 1.1 mrg * include/tr1/stdio.h: Likewise. 2334 1.1 mrg * include/tr1/stdlib.h: Likewise. 2335 1.1 mrg * include/tr1/tgmath.h: Likewise. 2336 1.1 mrg * include/tr1/tuple: Likewise. 2337 1.1 mrg * include/tr1/type_traits: Likewise. 2338 1.1 mrg * include/tr1/unordered_map: Likewise. 2339 1.1 mrg * include/tr1/unordered_set: Likewise. 2340 1.1 mrg * include/tr1/utility: Likewise. 2341 1.1 mrg * include/tr1/wchar.h: Likewise. 2342 1.1 mrg * include/tr1/wctype.h: Likewise. 2343 1.1 mrg * include/c_global/cmath: Likewise. 2344 1.1 mrg * include/ext/algorithm: Include <bits/requires_hosted.h>. 2345 1.1 mrg * include/ext/bitmap_allocator.h: Likewise. 2346 1.1 mrg * include/ext/cmath: Likewise. 2347 1.1 mrg * include/ext/codecvt_specializations.h: Likewise. 2348 1.1 mrg * include/ext/debug_allocator.h: Likewise. 2349 1.1 mrg * include/ext/enc_filebuf.h: Likewise. 2350 1.1 mrg * include/ext/extptr_allocator.h: Likewise. 2351 1.1 mrg * include/ext/functional: Likewise. 2352 1.1 mrg * include/ext/malloc_allocator.h: Likewise. 2353 1.1 mrg * include/ext/memory: Likewise. 2354 1.1 mrg * include/ext/mt_allocator.h: Likewise. 2355 1.1 mrg * include/ext/new_allocator.h: Likewise. 2356 1.1 mrg * include/ext/numeric: Likewise. 2357 1.1 mrg * include/ext/pod_char_traits.h: Likewise. 2358 1.1 mrg * include/ext/pool_allocator.h: Likewise. 2359 1.1 mrg * include/ext/random: Likewise. 2360 1.1 mrg * include/ext/random.tcc: Likewise. 2361 1.1 mrg * include/ext/rb_tree: Likewise. 2362 1.1 mrg * include/ext/rc_string_base.h: Likewise. 2363 1.1 mrg * include/ext/rope: Likewise. 2364 1.1 mrg * include/ext/ropeimpl.h: Likewise. 2365 1.1 mrg * include/ext/slist: Likewise. 2366 1.1 mrg * include/ext/sso_string_base.h: Likewise. 2367 1.1 mrg * include/ext/stdio_filebuf.h: Likewise. 2368 1.1 mrg * include/ext/stdio_sync_filebuf.h: Likewise. 2369 1.1 mrg * include/ext/string_conversions.h: Likewise. 2370 1.1 mrg * include/ext/throw_allocator.h: Likewise. 2371 1.1 mrg * include/ext/vstring.h: Likewise. 2372 1.1 mrg * include/ext/vstring.tcc: Likewise. 2373 1.1 mrg * include/ext/vstring_fwd.h: Likewise. 2374 1.1 mrg * include/ext/vstring_util.h: Likewise. 2375 1.1 mrg * include/std/charconv: Likewise. 2376 1.1 mrg (__cpp_lib_to_chars): Do not define for freestanding. 2377 1.1 mrg * include/std/version: Adjust which macros get defined in 2378 1.1 mrg freestanding. 2379 1.1 mrg * include/ext/pointer.h [!_GLIBCXX_HOSTED]: Omit iostream 2380 1.1 mrg functionality from freestanding. 2381 1.1 mrg * include/std/algorithm [!_GLIBCXX_HOSTED]: Omit PSTL algos. 2382 1.1 mrg * include/std/memory [!_GLIBCXX_HOSTED]: Omit 2383 1.1 mrg <bits/stl_tempbuf.h> in freestanding 2384 1.1 mrg * include/bits/algorithmfwd.h [!_GLIBCXX_HOSTED]: Omit leftover 2385 1.1 mrg random_shuffle and stable_partition definition. 2386 1.1 mrg * include/bits/stl_algo.h [!_GLIBCXX_HOSTED]: Omit 2387 1.1 mrg random_shuffle and stable_partition from freestanding. 2388 1.1 mrg * include/bits/ranges_algo.h [!_GLIBCXX_HOSTED]: Omit 2389 1.1 mrg stable_partition from freestanding. 2390 1.1 mrg * include/bits/concept_check.h: Remove needless HOSTED check. 2391 1.1 mrg * include/std/iterator: Include <bits/ranges_base.h>. 2392 1.1 mrg * include/std/numeric (__cpp_lib_parallel_algorithms): Do not 2393 1.1 mrg define for freestanding. 2394 1.1 mrg * include/std/functional (__cpp_lib_boyer_moore_searcher): 2395 1.1 mrg Likewise. 2396 1.1 mrg * testsuite/lib/prune.exp: Match error for hosted-only libstdc++ 2397 1.1 mrg tests. 2398 1.1 mrg 2399 1.1 mrg 2022-10-03 Jonathan Wakely <jwakely (a] redhat.com> 2400 1.1 mrg Arsen Arsenovi <arsen (a] aarsen.me> 2401 1.1 mrg 2402 1.1 mrg * include/precompiled/extc++.h [!_GLIBCXX_HOSTED]: Do not 2403 1.1 mrg include headers that aren't valid for freestanding. 2404 1.1 mrg * include/precompiled/stdc++.h [!_GLIBCXX_HOSTED]: Likewise. 2405 1.1 mrg 2406 1.1 mrg 2022-10-03 Arsen Arsenovi <arsen (a] aarsen.me> 2407 1.1 mrg 2408 1.1 mrg * configure.ac: Remove any lines that unconditionally include 2409 1.1 mrg <stdio.h> from ac_includes_default, when running Autoconf <2.70. 2410 1.1 mrg * configure: Regenerate. 2411 1.1 mrg 2412 1.1 mrg 2022-10-03 Jonathan Wakely <jwakely (a] redhat.com> 2413 1.1 mrg 2414 1.1 mrg PR libstdc++/103626 2415 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): Define _GLIBCXX_HOSTED 2416 1.1 mrg to __STDC_HOSTED__ for non-freestanding installations. 2417 1.1 mrg * configure: Regenerate. 2418 1.1 mrg * include/Makefile.am (${host_builddir}/c++config.h): Adjust 2419 1.1 mrg grep pattern. 2420 1.1 mrg * include/Makefile.in: Regenerate. 2421 1.1 mrg * testsuite/lib/libstdc++.exp (v3-build_support): Use 2422 1.1 mrg -fno-freestanding. 2423 1.1 mrg * testsuite/libstdc++-abi/abi.exp: Likewise. 2424 1.1 mrg 2425 1.1 mrg 2022-10-03 Jonathan Wakely <jwakely (a] redhat.com> 2426 1.1 mrg 2427 1.1 mrg * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: 2428 1.1 mrg Change body of unused operator<< overload to throw if called. 2429 1.1 mrg * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: 2430 1.1 mrg Likewise. 2431 1.1 mrg 2432 1.1 mrg 2022-10-03 Franois Dumont <fdumont (a] gcc.gnu.org> 2433 1.1 mrg 2434 1.1 mrg * python/libstdcxx/v6/printers.py (Printer.add_version): Do not add version 2435 1.1 mrg namespace for __cxx11 symbols. 2436 1.1 mrg (add_one_template_type_printer): Likewise. 2437 1.1 mrg (add_one_type_printer): Likewise. 2438 1.1 mrg (FilteringTypePrinter._recognizer.recognize): Add a workaround for std::string & al 2439 1.1 mrg ambiguous typedef matching both std:: and std::__cxx11:: symbols. 2440 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx17.cc: Remove obsolete 2441 1.1 mrg \#define _GLIBCXX_USE_CXX11_ABI 0. 2442 1.1 mrg * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. Adapt test to accept 2443 1.1 mrg std::__cxx11::list. 2444 1.1 mrg * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. 2445 1.1 mrg * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. 2446 1.1 mrg * testsuite/libstdc++-prettyprinters/80276.cc: Likewise and remove xfail for c++20 2447 1.1 mrg and debug mode. 2448 1.1 mrg * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. 2449 1.1 mrg 2450 1.1 mrg 2022-09-30 Jonathan Wakely <jwakely (a] redhat.com> 2451 1.1 mrg 2452 1.1 mrg * testsuite/20_util/bitset/access/to_ulong.cc: Construct bitset 2453 1.1 mrg from binary literal instead of using stringstream. 2454 1.1 mrg 2455 1.1 mrg 2022-09-30 Jonathan Wakely <jwakely (a] redhat.com> 2456 1.1 mrg 2457 1.1 mrg * include/std/bitset (operator>>): Use a simple buffer instead 2458 1.1 mrg of std::basic_string. 2459 1.1 mrg 2460 1.1 mrg 2022-09-30 Jonathan Wakely <jwakely (a] redhat.com> 2461 1.1 mrg 2462 1.1 mrg * include/std/bitset (_M_copy_from_ptr, _M_copy_from_string) 2463 1.1 mrg (_M_copy_to_string): Change access to private. 2464 1.1 mrg (_M_copy_from_string(const basic_string&, size_t, size_t)): 2465 1.1 mrg Remove. 2466 1.1 mrg (_M_copy_to_string(const basic_string&)): Remove. 2467 1.1 mrg 2468 1.1 mrg 2022-09-30 Jonathan Wakely <jwakely (a] redhat.com> 2469 1.1 mrg 2470 1.1 mrg * testsuite/20_util/bind/ref_neg.cc: Fix dg-prune-output 2471 1.1 mrg directive. 2472 1.1 mrg 2473 1.1 mrg 2022-09-30 Torbjrn SVENSSON <torbjorn.svensson (a] foss.st.com> 2474 1.1 mrg Yvan ROUX <yvan.roux (a] foss.st.com> 2475 1.1 mrg 2476 1.1 mrg * testsuite/20_util/bind/ref_neg.cc: Prune Windows paths too. 2477 1.1 mrg 2478 1.1 mrg 2022-09-30 Arsen Arsenovi <arsen (a] aarsen.me> 2479 1.1 mrg 2480 1.1 mrg * include/std/bitset: Include <bits/stl_algobase.h>. 2481 1.1 mrg 2482 1.1 mrg 2022-09-29 Franois Dumont <fdumont (a] gcc.gnu.org> 2483 1.1 mrg 2484 1.1 mrg * python/libstdcxx/v6/printers.py (add_one_template_type_printer): Register 2485 1.1 mrg printer for types in std::__debug namespace with template parameters in std::__8 2486 1.1 mrg namespace. 2487 1.1 mrg 2488 1.1 mrg 2022-09-29 Patrick Palka <ppalka (a] redhat.com> 2489 1.1 mrg 2490 1.1 mrg * include/bits/unique_ptr.h (unique_ptr<_Tp[], _Dp>): Remove 2491 1.1 mrg __remove_cv and use __remove_cv_t instead. 2492 1.1 mrg 2493 1.1 mrg 2022-09-29 Jonathan Wakely <jwakely (a] redhat.com> 2494 1.1 mrg 2495 1.1 mrg * include/std/type_traits (__is_invocable_impl): Check 2496 1.1 mrg __has_builtin(__reference_converts_from_temporary) before using 2497 1.1 mrg built-in. 2498 1.1 mrg 2499 1.1 mrg 2022-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2500 1.1 mrg 2501 1.1 mrg * doc/xml/manual/evolution.xml: Document std::bind API 2502 1.1 mrg changes. 2503 1.1 mrg * doc/xml/manual/intro.xml: Document LWG 2487 status. 2504 1.1 mrg * doc/xml/manual/using.xml: Clarify default value of 2505 1.1 mrg _GLIBCXX_USE_DEPRECATED. 2506 1.1 mrg * doc/html/*: Regenerate. 2507 1.1 mrg * include/std/functional (_Bind::operator()(Args&&...) volatile) 2508 1.1 mrg (_Bind::operator()(Args&&...) const volatile) 2509 1.1 mrg (_Bind_result::operator()(Args&&...) volatile) 2510 1.1 mrg (_Bind_result::operator()(Args&&...) const volatile): Replace 2511 1.1 mrg with deleted overload for C++20 and later. 2512 1.1 mrg * testsuite/20_util/bind/cv_quals.cc: Check for deprecated 2513 1.1 mrg warnings in C++17. 2514 1.1 mrg * testsuite/20_util/bind/cv_quals_2.cc: Likewise, and check for 2515 1.1 mrg ill-formed in C++20. 2516 1.1 mrg 2517 1.1 mrg 2022-09-28 Jonathan Wakely <jwakely (a] redhat.com> 2518 1.1 mrg 2519 1.1 mrg PR libstdc++/70692 2520 1.1 mrg * include/bits/invoke.h [__cplusplus < 201703] (__invoke_r): 2521 1.1 mrg Remove is_invocable and is_convertible constraints. 2522 1.1 mrg * include/std/type_traits (__is_invocable_impl::_S_conv): Use 2523 1.1 mrg non-deduced context for parameter. 2524 1.1 mrg (__is_invocable_impl::_S_test): Remove _Check_noex template 2525 1.1 mrg parameter and use deduced noexcept value in its place. Add bool 2526 1.1 mrg parameter to detect dangling references. 2527 1.1 mrg (__is_invocable_impl::type): Adjust call to _S_test to avoid 2528 1.1 mrg deducing unnecessary noexcept property.. 2529 1.1 mrg (__is_invocable_impl::__nothrow_type): Rename to ... 2530 1.1 mrg (__is_invocable_impl::__nothrow_conv): ... this. Adjust call 2531 1.1 mrg to _S_test to deduce noexcept property. 2532 1.1 mrg * testsuite/20_util/bind/dangling_ref.cc: New test. 2533 1.1 mrg * testsuite/20_util/function/cons/70692.cc: New test. 2534 1.1 mrg * testsuite/20_util/function_objects/invoke/dangling_ref.cc: 2535 1.1 mrg New test. 2536 1.1 mrg * testsuite/20_util/is_invocable/dangling_ref.cc: New test. 2537 1.1 mrg * testsuite/30_threads/packaged_task/cons/dangling_ref.cc: 2538 1.1 mrg New test. 2539 1.1 mrg 2540 1.1 mrg 2022-09-27 Jonathan Wakely <jwakely (a] redhat.com> 2541 1.1 mrg 2542 1.1 mrg PR c++/107049 2543 1.1 mrg * testsuite/20_util/is_convertible/requirements/access.cc: New 2544 1.1 mrg test. 2545 1.1 mrg 2546 1.1 mrg 2022-09-27 Jonathan Wakely <jwakely (a] redhat.com> 2547 1.1 mrg 2548 1.1 mrg PR c++/106651 2549 1.1 mrg * include/bits/std_function.h (__function_guide_t): New alias 2550 1.1 mrg template. 2551 1.1 mrg [__cpp_static_call_operator] (__function_guide_static_helper): 2552 1.1 mrg New class template. 2553 1.1 mrg (function): Use __function_guide_t in deduction guide. 2554 1.1 mrg * include/std/future (packaged_task): Use __function_guide_t in 2555 1.1 mrg deduction guide. 2556 1.1 mrg * testsuite/20_util/function/cons/deduction_c++23.cc: New test. 2557 1.1 mrg * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc: 2558 1.1 mrg New test. 2559 1.1 mrg 2560 1.1 mrg 2022-09-26 Jonathan Wakely <jwakely (a] redhat.com> 2561 1.1 mrg 2562 1.1 mrg * include/bits/ptr_traits.h (__ptr_traits_elem) [__cpp_concepts]: 2563 1.1 mrg Also define the __ptr_traits_elem class template for the 2564 1.1 mrg concepts case. 2565 1.1 mrg (pointer_traits<Ptr>): Remove constrained partial 2566 1.1 mrg specialization. 2567 1.1 mrg * testsuite/20_util/pointer_traits/lwg3545.cc: Check for 2568 1.1 mrg ambiguitiy with program-defined partial specialization. 2569 1.1 mrg 2570 1.1 mrg 2022-09-26 Jonathan Wakely <jwakely (a] redhat.com> 2571 1.1 mrg 2572 1.1 mrg * include/std/type_traits (is_convertible, is_convertible_v): 2573 1.1 mrg Define using new built-in. 2574 1.1 mrg (is_nothrow_convertible is_nothrow_convertible_v): Likewise. 2575 1.1 mrg 2576 1.1 mrg 2022-09-26 Jonathan Wakely <jwakely (a] redhat.com> 2577 1.1 mrg 2578 1.1 mrg PR libstdc++/107037 2579 1.1 mrg * include/std/bitset (_Base_bitset::_M_do_reset): Use 2580 1.1 mrg preprocessor conditional around non-C++03 code. 2581 1.1 mrg * testsuite/20_util/bitset/107037.cc: New test. 2582 1.1 mrg 2583 1.1 mrg 2022-09-24 Jonathan Wakely <jwakely (a] redhat.com> 2584 1.1 mrg 2585 1.1 mrg * include/bits/alloc_traits.h (allocator_traits::is_always_equal): 2586 1.1 mrg Only instantiate is_empty if needed. 2587 1.1 mrg * include/bits/ptr_traits.h (__ptr_traits_impl::difference_type) 2588 1.1 mrg (__ptr_traits_impl::rebind): Use __detected_or. 2589 1.1 mrg * include/experimental/type_traits (is_same_v): Add a partial 2590 1.1 mrg specialization instead of instantiating the std::is_same class 2591 1.1 mrg template. 2592 1.1 mrg (detected_t): Redefine in terms of detected_or_t. 2593 1.1 mrg (is_detected, is_detected_v): Redefine in terms of detected_t. 2594 1.1 mrg * include/std/type_traits [__cpp_concepts] (__detected_or): Add 2595 1.1 mrg new definition using concepts. 2596 1.1 mrg (__detector::value_t): Rename to __is_detected. 2597 1.1 mrg * testsuite/17_intro/names.cc: Check value_t isn't used. 2598 1.1 mrg 2599 1.1 mrg 2022-09-23 Jonathan Wakely <jwakely (a] redhat.com> 2600 1.1 mrg 2601 1.1 mrg * testsuite/20_util/is_assignable/requirements/access.cc: 2602 1.1 mrg New test. 2603 1.1 mrg 2604 1.1 mrg 2022-09-23 Jonathan Wakely <jwakely (a] redhat.com> 2605 1.1 mrg 2606 1.1 mrg PR libstdc++/91456 2607 1.1 mrg * include/std/type_traits (__is_nothrow_invocable_lib): Remove. 2608 1.1 mrg (__is_invocable_impl::__nothrow_type): New member type which 2609 1.1 mrg checks if the conversion can throw. 2610 1.1 mrg (__is_nt_invocable_impl): Replace class template with alias 2611 1.1 mrg template to __is_nt_invocable_impl::__nothrow_type. 2612 1.1 mrg * testsuite/20_util/is_nothrow_invocable/91456.cc: New test. 2613 1.1 mrg * testsuite/20_util/is_nothrow_convertible/value.cc: Remove 2614 1.1 mrg macro used by value_ext.cc test. 2615 1.1 mrg * testsuite/20_util/is_nothrow_convertible/value_ext.cc: Remove 2616 1.1 mrg test for non-standard __is_nothrow_invocable_lib trait. 2617 1.1 mrg 2618 1.1 mrg 2022-09-23 Marek Polacek <polacek (a] redhat.com> 2619 1.1 mrg 2620 1.1 mrg PR c++/106784 2621 1.1 mrg * include/std/type_traits: Rename __is_nothrow_convertible to 2622 1.1 mrg __is_nothrow_convertible_lib. 2623 1.1 mrg * testsuite/20_util/is_nothrow_convertible/value_ext.cc: Likewise. 2624 1.1 mrg 2625 1.1 mrg 2022-09-23 Jonathan Wakely <jwakely (a] redhat.com> 2626 1.1 mrg 2627 1.1 mrg * include/std/bitset (operator>>): Do not copy for N==0. 2628 1.1 mrg * testsuite/20_util/bitset/io/input.cc: Add comment. 2629 1.1 mrg 2630 1.1 mrg 2022-09-23 Jonathan Wakely <jwakely (a] redhat.com> 2631 1.1 mrg 2632 1.1 mrg * include/debug/bitset (__debug::bitset): Add constexpr to all 2633 1.1 mrg member functions. 2634 1.1 mrg (operator&, operator|, operator^): Add inline and constexpr. 2635 1.1 mrg (operator>>, operator<<): Add inline. 2636 1.1 mrg * testsuite/20_util/bitset/access/constexpr.cc: Only check using 2637 1.1 mrg constexpr std::string for the cxx11 ABI. 2638 1.1 mrg * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. 2639 1.1 mrg * testsuite/20_util/headers/bitset/synopsis.cc: Check constexpr 2640 1.1 mrg for C++23. 2641 1.1 mrg 2642 1.1 mrg 2022-09-23 Jonathan Wakely <jwakely (a] redhat.com> 2643 1.1 mrg 2644 1.1 mrg * include/std/bitset (bitset::_M_copy_to_string): Find set bits 2645 1.1 mrg instead of iterating over individual bits. 2646 1.1 mrg 2647 1.1 mrg 2022-09-22 Jonathan Wakely <jwakely (a] redhat.com> 2648 1.1 mrg 2649 1.1 mrg * include/std/bitset (bitset): Add constexpr for C++23. Guard 2650 1.1 mrg members using std::string with _GLIBCXX_HOSTED. 2651 1.1 mrg * include/std/version (__cpp_lib_constexpr_bitset): Define. 2652 1.1 mrg * testsuite/20_util/bitset/access/constexpr.cc: New test. 2653 1.1 mrg * testsuite/20_util/bitset/cons/constexpr_c++23.cc: New test. 2654 1.1 mrg * testsuite/20_util/bitset/count/constexpr.cc: New test. 2655 1.1 mrg * testsuite/20_util/bitset/ext/constexpr.cc: New test. 2656 1.1 mrg * testsuite/20_util/bitset/operations/constexpr_c++23.cc: New test. 2657 1.1 mrg * testsuite/20_util/bitset/version.cc: New test. 2658 1.1 mrg 2659 1.1 mrg 2022-09-22 Jonathan Wakely <jwakely (a] redhat.com> 2660 1.1 mrg 2661 1.1 mrg * testsuite/23_containers/bitset/18604.cc: Moved to... 2662 1.1 mrg * testsuite/20_util/bitset/18604.cc: ...here. 2663 1.1 mrg * testsuite/23_containers/bitset/45713.cc: Moved to... 2664 1.1 mrg * testsuite/20_util/bitset/45713.cc: ...here. 2665 1.1 mrg * testsuite/23_containers/bitset/to_string/dr396.cc: Moved to... 2666 1.1 mrg * testsuite/20_util/bitset/access/dr396.cc: ...here. 2667 1.1 mrg * testsuite/23_containers/bitset/to_string/1.cc: Moved to... 2668 1.1 mrg * testsuite/20_util/bitset/access/to_string.cc: ...here. 2669 1.1 mrg * testsuite/23_containers/bitset/to_ullong/1.cc: Moved to... 2670 1.1 mrg * testsuite/20_util/bitset/access/to_ullong.cc: ...here. 2671 1.1 mrg * testsuite/23_containers/bitset/to_ulong/1.cc: Moved to... 2672 1.1 mrg * testsuite/20_util/bitset/access/to_ulong.cc: ...here. 2673 1.1 mrg * testsuite/23_containers/bitset/cons/1.cc: Moved to... 2674 1.1 mrg * testsuite/20_util/bitset/cons/1.cc: ...here. 2675 1.1 mrg * testsuite/23_containers/bitset/cons/16020.cc: Moved to... 2676 1.1 mrg * testsuite/20_util/bitset/cons/16020.cc: ...here. 2677 1.1 mrg * testsuite/23_containers/bitset/cons/2.cc: Moved to... 2678 1.1 mrg * testsuite/20_util/bitset/cons/2.cc: ...here. 2679 1.1 mrg * testsuite/23_containers/bitset/cons/3.cc: Moved to... 2680 1.1 mrg * testsuite/20_util/bitset/cons/3.cc: ...here. 2681 1.1 mrg * testsuite/23_containers/bitset/cons/38244.cc: Moved to... 2682 1.1 mrg * testsuite/20_util/bitset/cons/38244.cc: ...here. 2683 1.1 mrg * testsuite/23_containers/bitset/cons/50268.cc: Moved to... 2684 1.1 mrg * testsuite/20_util/bitset/cons/50268.cc: ...here. 2685 1.1 mrg * testsuite/23_containers/bitset/cons/6282.cc: Moved to... 2686 1.1 mrg * testsuite/20_util/bitset/cons/6282.cc: ...here. 2687 1.1 mrg * testsuite/23_containers/bitset/cons/constexpr.cc: Moved to... 2688 1.1 mrg * testsuite/20_util/bitset/cons/constexpr.cc: ...here. 2689 1.1 mrg * testsuite/23_containers/bitset/cons/dr1325-1.cc: Moved to... 2690 1.1 mrg * testsuite/20_util/bitset/cons/dr1325-1.cc: ...here. 2691 1.1 mrg * testsuite/23_containers/bitset/cons/dr1325-2.cc: Moved to... 2692 1.1 mrg * testsuite/20_util/bitset/cons/dr1325-2.cc: ...here. 2693 1.1 mrg * testsuite/23_containers/bitset/cons/dr396.cc: Moved to... 2694 1.1 mrg * testsuite/20_util/bitset/cons/dr396.cc: ...here. 2695 1.1 mrg * testsuite/23_containers/bitset/debug/invalidation/1.cc: Moved to... 2696 1.1 mrg * testsuite/20_util/bitset/debug/invalidation/1.cc: ...here. 2697 1.1 mrg * testsuite/23_containers/bitset/ext/15361.cc: Moved to... 2698 1.1 mrg * testsuite/20_util/bitset/ext/15361.cc: ...here. 2699 1.1 mrg * testsuite/23_containers/bitset/hash/1.cc: Moved to... 2700 1.1 mrg * testsuite/20_util/bitset/hash/1.cc: ...here. 2701 1.1 mrg * testsuite/23_containers/bitset/input/1.cc: Moved to... 2702 1.1 mrg * testsuite/20_util/bitset/io/input.cc: ...here. 2703 1.1 mrg * testsuite/23_containers/bitset/count/6124.cc: Moved to... 2704 1.1 mrg * testsuite/20_util/bitset/observers/6124.cc: ...here. 2705 1.1 mrg * testsuite/23_containers/bitset/all/1.cc: Moved to... 2706 1.1 mrg * testsuite/20_util/bitset/observers/all.cc: ...here. 2707 1.1 mrg * testsuite/23_containers/bitset/test/1.cc: Moved to... 2708 1.1 mrg * testsuite/20_util/bitset/observers/test.cc: ...here. 2709 1.1 mrg * testsuite/23_containers/bitset/operations/1.cc: Moved to... 2710 1.1 mrg * testsuite/20_util/bitset/operations/1.cc: ...here. 2711 1.1 mrg * testsuite/23_containers/bitset/operations/13838.cc: Moved to... 2712 1.1 mrg * testsuite/20_util/bitset/operations/13838.cc: ...here. 2713 1.1 mrg * testsuite/23_containers/bitset/operations/2.cc: Moved to... 2714 1.1 mrg * testsuite/20_util/bitset/operations/2.cc: ...here. 2715 1.1 mrg * testsuite/23_containers/bitset/operations/96303.cc: Moved to... 2716 1.1 mrg * testsuite/20_util/bitset/operations/96303.cc: ...here. 2717 1.1 mrg * testsuite/23_containers/bitset/operations/constexpr-2.cc: Moved to... 2718 1.1 mrg * testsuite/20_util/bitset/operations/constexpr-2.cc: ...here. 2719 1.1 mrg * testsuite/23_containers/bitset/operations/constexpr.cc: Moved to... 2720 1.1 mrg * testsuite/20_util/bitset/operations/constexpr.cc: ...here. 2721 1.1 mrg * testsuite/23_containers/bitset/requirements/constexpr_functions.cc: Moved to... 2722 1.1 mrg * testsuite/20_util/bitset/requirements/constexpr_functions.cc: ...here. 2723 1.1 mrg * testsuite/23_containers/bitset/requirements/explicit_instantiation/1.cc: Moved to... 2724 1.1 mrg * testsuite/20_util/bitset/requirements/explicit_instantiation/1.cc: ...here. 2725 1.1 mrg * testsuite/23_containers/bitset/requirements/explicit_instantiation/1_c++0x.cc: Moved to... 2726 1.1 mrg * testsuite/20_util/bitset/requirements/explicit_instantiation/1_c++0x.cc: ...here. 2727 1.1 mrg * testsuite/23_containers/headers/bitset/synopsis.cc: Moved to... 2728 1.1 mrg * testsuite/20_util/headers/bitset/synopsis.cc: ...here. 2729 1.1 mrg 2730 1.1 mrg 2022-09-22 Franois Dumont <fdumont (a] gcc.gnu.org> 2731 1.1 mrg 2732 1.1 mrg * python/libstdcxx/v6/printers.py: Remove ptinter registration for non-existing 2733 1.1 mrg types std::__debug::unique_ptr, std::__debug::stack, std::__debug::queue, 2734 1.1 mrg std::__debug::priority_queue. 2735 1.1 mrg 2736 1.1 mrg 2022-09-21 Jonathan Wakely <jwakely (a] redhat.com> 2737 1.1 mrg 2738 1.1 mrg PR libstdc++/91456 2739 1.1 mrg * testsuite/20_util/function/91456.cc: Add comment with PR 2740 1.1 mrg number. 2741 1.1 mrg * testsuite/20_util/is_invocable/91456.cc: Likewise. Replace 2742 1.1 mrg std::function checks with std::is_invocable_r checks. 2743 1.1 mrg 2744 1.1 mrg 2022-09-21 Jonathan Wakely <jwakely (a] redhat.com> 2745 1.1 mrg 2746 1.1 mrg * testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove 2747 1.1 mrg unnecessary main function. 2748 1.1 mrg * testsuite/17_intro/headers/c++2011/all_attributes.cc: 2749 1.1 mrg Likewise. 2750 1.1 mrg * testsuite/17_intro/headers/c++2014/all_attributes.cc: 2751 1.1 mrg Likewise. 2752 1.1 mrg * testsuite/17_intro/headers/c++2017/all_attributes.cc: 2753 1.1 mrg Likewise. 2754 1.1 mrg * testsuite/17_intro/headers/c++2020/all_attributes.cc: 2755 1.1 mrg Likewise. 2756 1.1 mrg 2757 1.1 mrg 2022-09-21 Jonathan Wakely <jwakely (a] redhat.com> 2758 1.1 mrg 2759 1.1 mrg * testsuite/20_util/headers/memory/synopsis.cc: Add declarations 2760 1.1 mrg from C++11 and later. 2761 1.1 mrg 2762 1.1 mrg 2022-09-21 Jonathan Wakely <jwakely (a] redhat.com> 2763 1.1 mrg 2764 1.1 mrg * doc/xml/manual/documentation_hacking.xml: Remove trailing 2765 1.1 mrg whitespace. 2766 1.1 mrg * doc/xml/manual/policy_data_structures.xml: Likewise. 2767 1.1 mrg 2768 1.1 mrg 2022-09-21 Jonathan Wakely <jwakely (a] redhat.com> 2769 1.1 mrg 2770 1.1 mrg * include/c_compatibility/stdlib.h [!_GLIBCXX_HOSTED]: Add 2771 1.1 mrg using-declaration for _Exit. 2772 1.1 mrg 2773 1.1 mrg 2022-09-21 Jonathan Wakely <jwakely (a] redhat.com> 2774 1.1 mrg 2775 1.1 mrg * testsuite/18_support/uncaught_exception/14026.cc: Qualify 2776 1.1 mrg call to std::abort. 2777 1.1 mrg 2778 1.1 mrg 2022-09-21 Jonathan Wakely <jwakely (a] redhat.com> 2779 1.1 mrg 2780 1.1 mrg * include/bits/ranges_base.h: Include <initializer_list>. 2781 1.1 mrg 2782 1.1 mrg 2022-09-20 Jonathan Wakely <jwakely (a] redhat.com> 2783 1.1 mrg 2784 1.1 mrg * include/c_global/cstdlib [!_GLIBCXX_HOSTED] (quick_exit): Fix 2785 1.1 mrg missing space. 2786 1.1 mrg 2787 1.1 mrg 2022-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2788 1.1 mrg 2789 1.1 mrg PR libstdc++/106953 2790 1.1 mrg * include/backward/auto_ptr.h [!_GLIBCXX_HOSTED]: Do not define 2791 1.1 mrg shared_ptr members. 2792 1.1 mrg * include/bits/alloc_traits.h [!_GLIBCXX_HOSTED]: Do not declare 2793 1.1 mrg std::allocator_traits<std::allocator<T>> specializations for 2794 1.1 mrg freestanding. 2795 1.1 mrg * include/bits/memoryfwd.h [!_GLIBCXX_HOSTED] (allocator): Do 2796 1.1 mrg not declare for freestanding. 2797 1.1 mrg * include/bits/stl_algo.h [!_GLIBCXX_HOSTED] (stable_partition): 2798 1.1 mrg Do not define for freestanding. 2799 1.1 mrg [!_GLIBCXX_HOSTED] (merge, stable_sort): Do not use temporary 2800 1.1 mrg buffers for freestanding. 2801 1.1 mrg * include/bits/stl_algobase.h [!_GLIBCXX_HOSTED]: Do not declare 2802 1.1 mrg streambuf iterators and overloaded algorithms using them. 2803 1.1 mrg * include/bits/stl_uninitialized.h [!_GLIBCXX_HOSTED]: Do not 2804 1.1 mrg define specialized overloads for std::allocator. 2805 1.1 mrg * include/bits/unique_ptr.h [!_GLIBCXX_HOSTED] (make_unique) 2806 1.1 mrg (make_unique_for_overwrite, operator<<): Do not define for 2807 1.1 mrg freestanding. 2808 1.1 mrg * include/c_global/cstdlib [!_GLIBCXX_HOSTED] (_Exit): Declare. 2809 1.1 mrg Use _GLIBCXX_NOTHROW instead of throw(). 2810 1.1 mrg * include/debug/assertions.h [!_GLIBCXX_HOSTED]: Ignore 2811 1.1 mrg _GLIBCXX_DEBUG for freestanding. 2812 1.1 mrg * include/debug/debug.h [!_GLIBCXX_DEBUG]: Likewise. 2813 1.1 mrg * include/std/bit [!_GLIBCXX_HOSTED]: Do not use the custom 2814 1.1 mrg __int_traits if <ext/numeric_traits.h> is available. 2815 1.1 mrg * include/std/functional [!_GLIBCXX_HOSTED]: Do not include 2816 1.1 mrg headers that aren't valid for freestanding. 2817 1.1 mrg (boyer_moore_searcher, boyer_moore_horspool_searcher): Do not 2818 1.1 mrg define for freestanding. 2819 1.1 mrg * include/std/iterator [!_GLIBCXX_HOSTED]: Do not include 2820 1.1 mrg headers that aren't valid for freestanding. 2821 1.1 mrg * include/std/memory [!_GLIBCXX_HOSTED]: Likewise. 2822 1.1 mrg * include/std/ranges [!_GLIBCXX_HOSTED] (istream_view): Do not 2823 1.1 mrg define for freestanding. 2824 1.1 mrg (views::__detail::__is_basic_string_view) [!_GLIBCXX_HOSTED]: 2825 1.1 mrg Do not define partial specialization for freestanding. 2826 1.1 mrg 2827 1.1 mrg 2022-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2828 1.1 mrg 2829 1.1 mrg * include/bits/alloc_traits.h (__alloc_swap) 2830 1.1 mrg (__shrink_to_fit_aux): Move here, from ... 2831 1.1 mrg * include/bits/allocator.h: ... here. 2832 1.1 mrg * include/ext/alloc_traits.h: Do not include allocator.h. 2833 1.1 mrg 2834 1.1 mrg 2022-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2835 1.1 mrg 2836 1.1 mrg * include/bits/stl_algo.h: Include <bits/stl_algobase.h>. 2837 1.1 mrg * include/bits/stl_tempbuf.h: Include headers for __try and 2838 1.1 mrg __catch macros, std::pair, and __gnu_cxx::__numeric_traits. 2839 1.1 mrg * include/bits/stream_iterator.h: Include <iosfwd> and headers 2840 1.1 mrg for std::addressof and std::iterator. 2841 1.1 mrg * include/bits/streambuf_iterator.h: Include header for 2842 1.1 mrg std::iterator. 2843 1.1 mrg * include/std/iterator: Do not include <iosfwd>. 2844 1.1 mrg 2845 1.1 mrg 2022-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2846 1.1 mrg 2847 1.1 mrg * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: 2848 1.1 mrg Store value with non-zero padding bits after construction. 2849 1.1 mrg 2850 1.1 mrg 2022-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2851 1.1 mrg 2852 1.1 mrg * include/tr1/random.h (__detail::_Adaptor::_BEngine): Remove. 2853 1.1 mrg (__detail::_Adaptor::_M_g): Make public. 2854 1.1 mrg (__detail::_Adaptor<_Engine*, _Dist>): Remove partial 2855 1.1 mrg specialization. 2856 1.1 mrg (variate_generate::_Value): New helper to simplify handling of 2857 1.1 mrg _Engine* and _Engine& template arguments. 2858 1.1 mrg (variate_generate::engine_value_type): Define to underlying 2859 1.1 mrg engine type, not adapted type. 2860 1.1 mrg (variate_generate::engine()): Return underlying engine instead 2861 1.1 mrg of adaptor. 2862 1.1 mrg * testsuite/tr1/5_numerical_facilities/random/variate_generator/37986.cc: 2863 1.1 mrg Fix comment. 2864 1.1 mrg * testsuite/tr1/5_numerical_facilities/random/variate_generator/requirements/typedefs.cc: 2865 1.1 mrg Check member typedefs have the correct types. 2866 1.1 mrg 2867 1.1 mrg 2022-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2868 1.1 mrg 2869 1.1 mrg * include/debug/formatter.h [_GLIBCXX_DEBUG_BACKTRACE] 2870 1.1 mrg (_Error_formatter): Use 0 as null pointer constant. 2871 1.1 mrg 2872 1.1 mrg 2022-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2873 1.1 mrg 2874 1.1 mrg * include/bits/allocator.h (__alloc_neq): Remove. 2875 1.1 mrg * include/bits/stl_list.h (list::_M_check_equal_allocators): 2876 1.1 mrg Compare allocators directly, without __alloc_neq. 2877 1.1 mrg 2878 1.1 mrg 2022-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2879 1.1 mrg 2880 1.1 mrg * doc/doxygen/user.cfg.in (PREDEFINED): Remove __allocator_base. 2881 1.1 mrg * include/bits/allocator.h: Fix nesting of Doxygen commands. 2882 1.1 mrg 2883 1.1 mrg 2022-09-16 Jonathan Wakely <jwakely (a] redhat.com> 2884 1.1 mrg 2885 1.1 mrg * doc/xml/manual/abi.xml: Document GLIBCXX_3.4.30 and 2886 1.1 mrg GLIBCXX_3.4.31 versions. 2887 1.1 mrg * doc/html/manual/abi.html: Regenerate. 2888 1.1 mrg 2889 1.1 mrg 2022-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2890 1.1 mrg 2891 1.1 mrg * include/std/memory: Do not include <bits/stl_algobase.h>. 2892 1.1 mrg 2893 1.1 mrg 2022-09-15 Jonathan Wakely <jwakely (a] redhat.com> 2894 1.1 mrg 2895 1.1 mrg * include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_PRE_LOCK): 2896 1.1 mrg Replace with ... 2897 1.1 mrg (_GLIBCXX_TSAN_MUTEX_TRY_LOCK): ... this, add try_lock flag. 2898 1.1 mrg (_GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED): New macro using 2899 1.1 mrg try_lock_failed flag 2900 1.1 mrg (_GLIBCXX_TSAN_MUTEX_POST_LOCK): Rename to ... 2901 1.1 mrg (_GLIBCXX_TSAN_MUTEX_LOCKED): ... this. 2902 1.1 mrg (_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK): Remove invalid flag. 2903 1.1 mrg (_GLIBCXX_TSAN_MUTEX_POST_UNLOCK): Remove invalid flag. 2904 1.1 mrg (_Sp_atomic::_Atomic_count::lock): Use new macros. 2905 1.1 mrg 2906 1.1 mrg 2022-09-15 Patrick Palka <ppalka (a] redhat.com> 2907 1.1 mrg 2908 1.1 mrg * include/bits/ranges_algo.h (__adjacent_find_fn, adjacent_find): 2909 1.1 mrg Move to ... 2910 1.1 mrg * include/bits/ranges_util.h: ... here. 2911 1.1 mrg * include/std/ranges (chunk_by_view): Define. 2912 1.1 mrg (chunk_by_view::_Iterator): Define. 2913 1.1 mrg (__detail::__can_chunk_by_view): Define. 2914 1.1 mrg (_ChunkBy, chunk_by): Define. 2915 1.1 mrg * testsuite/std/ranges/adaptors/chunk_by/1.cc: New test. 2916 1.1 mrg 2917 1.1 mrg 2022-09-15 Franois Dumont <fdumont (a] gcc.gnu.org> 2918 1.1 mrg 2919 1.1 mrg * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc: 2920 1.1 mrg Adapt dg-prune-output to _GLIBCXX_INLINE_VERSION mode. 2921 1.1 mrg 2922 1.1 mrg 2022-09-15 Franois Dumont <fdumont (a] gcc.gnu.org> 2923 1.1 mrg 2924 1.1 mrg * config/abi/pre/gnu-versioned-namespace.ver: Remove obsolete std::__detail::__8 2925 1.1 mrg symbols. 2926 1.1 mrg 2927 1.1 mrg 2022-09-14 Jonathan Wakely <jwakely (a] redhat.com> 2928 1.1 mrg 2929 1.1 mrg * include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_DESTROY) 2930 1.1 mrg (_GLIBCXX_TSAN_MUTEX_PRE_LOCK, _GLIBCXX_TSAN_MUTEX_POST_LOCK) 2931 1.1 mrg (_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK, _GLIBCXX_TSAN_MUTEX_POST_UNLOCK) 2932 1.1 mrg (_GLIBCXX_TSAN_MUTEX_PRE_SIGNAL, _GLIBCXX_TSAN_MUTEX_POST_SIGNAL): 2933 1.1 mrg Define macros for TSan annotation functions. 2934 1.1 mrg (_Sp_atomic::_Atomic_count): Add annotations. 2935 1.1 mrg 2936 1.1 mrg 2022-09-14 Jonathan Wakely <jwakely (a] redhat.com> 2937 1.1 mrg 2938 1.1 mrg * include/bits/stl_tempbuf.h: Include <new>. 2939 1.1 mrg 2940 1.1 mrg 2022-09-14 Jonathan Wakely <jwakely (a] redhat.com> 2941 1.1 mrg 2942 1.1 mrg * testsuite/17_intro/names.cc: Explain why poison pragma can't 2943 1.1 mrg be used. 2944 1.1 mrg 2945 1.1 mrg 2022-09-14 Jonathan Wakely <jwakely (a] redhat.com> 2946 1.1 mrg 2947 1.1 mrg * include/std/future 2948 1.1 mrg (_State_baseV2::__setter(exception_ptr&, promise&)): Add 2949 1.1 mrg assertion for LWG 2276 precondition. 2950 1.1 mrg * testsuite/30_threads/promise/members/set_exception_neg.cc: 2951 1.1 mrg New test. 2952 1.1 mrg 2953 1.1 mrg 2022-09-14 Jonathan Wakely <jwakely (a] redhat.com> 2954 1.1 mrg 2955 1.1 mrg * doc/xml/manual/intro.xml: Document LWG 1203. 2956 1.1 mrg * doc/html/*: Regenerate. 2957 1.1 mrg 2958 1.1 mrg 2022-09-14 Philipp Fent <fent (a] in.tum.de> 2959 1.1 mrg 2960 1.1 mrg * python/libstdcxx/v6/printers.py (access_streambuf_ptrs): 2961 1.1 mrg New helper function. 2962 1.1 mrg (StdStringBufPrinter, StdStringStreamPrinter): New printers. 2963 1.1 mrg (build_libstdcxx_dictionary): Register stringstream printers. 2964 1.1 mrg * testsuite/libstdc++-prettyprinters/debug.cc: Check string 2965 1.1 mrg streams. 2966 1.1 mrg * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. 2967 1.1 mrg * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. 2968 1.1 mrg 2969 1.1 mrg 2022-09-13 Patrick Palka <ppalka (a] redhat.com> 2970 1.1 mrg 2971 1.1 mrg * include/std/ranges (__detail::__slide_caches_nothing): Define. 2972 1.1 mrg (__detail::__slide_caches_last): Define. 2973 1.1 mrg (__detail::__slide_caches_first): Define. 2974 1.1 mrg (slide_view): Define. 2975 1.1 mrg (enable_borrowed_range<slide_view>): Define. 2976 1.1 mrg (slide_view::_Iterator): Define. 2977 1.1 mrg (slide_view::_Sentinel): Define. 2978 1.1 mrg (views::__detail::__can_slide_view): Define. 2979 1.1 mrg (views::_Slide, views::slide): Define. 2980 1.1 mrg * testsuite/std/ranges/adaptors/slide/1.cc: New test. 2981 1.1 mrg 2982 1.1 mrg 2022-09-13 Patrick Palka <ppalka (a] redhat.com> 2983 1.1 mrg 2984 1.1 mrg * include/std/ranges (__detail::__div_ceil): Define. 2985 1.1 mrg (chunk_view): Define. 2986 1.1 mrg (chunk_view::_OuterIter): Define. 2987 1.1 mrg (chunk_view::_OuterIter::value_type): Define. 2988 1.1 mrg (chunk_view::_InnerIter): Define. 2989 1.1 mrg (chunk_view<_Vp>): Define partial specialization for forward 2990 1.1 mrg ranges. 2991 1.1 mrg (enable_borrowed_range<chunk_view>): Define. 2992 1.1 mrg (chunk_view<_Vp>::_Iterator): Define. 2993 1.1 mrg (views::__detail::__can_chunk_view): Define. 2994 1.1 mrg (views::_Chunk, views::chunk): Define. 2995 1.1 mrg * testsuite/std/ranges/adaptors/chunk/1.cc: New test. 2996 1.1 mrg 2997 1.1 mrg 2022-09-13 Patrick Palka <ppalka (a] redhat.com> 2998 1.1 mrg 2999 1.1 mrg * include/std/ranges (join_view::_Iterator::_M_satisfy): 3000 1.1 mrg Adjust resetting _M_inner as per LWG 3569. 3001 1.1 mrg (join_view::_Iterator::_M_inner): Wrap in std::optional 3002 1.1 mrg as per LWG 3569. 3003 1.1 mrg (join_view::_Iterator::_Iterator): Relax constraints as 3004 1.1 mrg per LWG 3569. 3005 1.1 mrg (join_view::_Iterator::operator*): Adjust as per LWG 3569. 3006 1.1 mrg (join_view::_Iterator::operator->): Likewise. 3007 1.1 mrg (join_view::_Iterator::operator++): Likewise. 3008 1.1 mrg (join_view::_Iterator::operator--): Likewise. 3009 1.1 mrg (join_view::_Iterator::iter_move): Likewise. 3010 1.1 mrg (join_view::_Iterator::iter_swap): Likewise. 3011 1.1 mrg * testsuite/std/ranges/adaptors/join.cc (test14): New test. 3012 1.1 mrg 3013 1.1 mrg 2022-09-13 Patrick Palka <ppalka (a] redhat.com> 3014 1.1 mrg 3015 1.1 mrg * include/debug/safe_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS): 3016 1.1 mrg Add parentheses to avoid -Wparentheses warning. 3017 1.1 mrg 3018 1.1 mrg 2022-09-12 Patrick Palka <ppalka (a] redhat.com> 3019 1.1 mrg 3020 1.1 mrg PR libstdc++/106320 3021 1.1 mrg * testsuite/std/ranges/adaptors/join.cc (test13): New test. 3022 1.1 mrg 3023 1.1 mrg 2022-09-12 Jonathan Wakely <jwakely (a] redhat.com> 3024 1.1 mrg 3025 1.1 mrg * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Fix 3026 1.1 mrg comments. 3027 1.1 mrg * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: 3028 1.1 mrg Likewise. 3029 1.1 mrg 3030 1.1 mrg 2022-09-12 Jakub Jelinek <jakub (a] redhat.com> 3031 1.1 mrg 3032 1.1 mrg PR tree-optimization/105329 3033 1.1 mrg * acinclude.m4 (libtool_VERSION): Change to 6:31:0. 3034 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Don't export 3035 1.1 mrg std::basic_string methods with name length of 15. 3036 1.1 mrg (GLIBCXX_3.4.31): Export std::basic_string::_M_replace_cold. 3037 1.1 mrg * testsuite/util/testsuite_abi.cc (check_version): Handle 3038 1.1 mrg GLIBCXX_3.4.31. 3039 1.1 mrg * include/bits/basic_string.h (std::basic_string::_M_replace_cold): 3040 1.1 mrg Declare. 3041 1.1 mrg * include/bits/basic_string.tcc (std::basic_string::_M_replace_cold): 3042 1.1 mrg Define and export even for C++20. 3043 1.1 mrg (std::basic_string::_M_replace): Use __builtin_expect, outline 3044 1.1 mrg the overlapping case to _M_replace_cold. 3045 1.1 mrg * configure: Regenerated. 3046 1.1 mrg 3047 1.1 mrg 2022-09-09 Jonathan Wakely <jwakely (a] redhat.com> 3048 1.1 mrg 3049 1.1 mrg * include/bits/atomic_base.h (__atomic_impl::__compare_exchange): 3050 1.1 mrg Rename __weak to __is_weak. 3051 1.1 mrg * testsuite/17_intro/names.cc: Add __weak and __strong. 3052 1.1 mrg 3053 1.1 mrg 2022-09-09 Patrick Palka <ppalka (a] redhat.com> 3054 1.1 mrg 3055 1.1 mrg PR libstdc++/106803 3056 1.1 mrg * include/std/ranges (views::_ZipTransform::operator()): Correct 3057 1.1 mrg return type in the empty case. 3058 1.1 mrg (views::_AdjacentTransform::operator()): Likewise. 3059 1.1 mrg 3060 1.1 mrg 2022-09-09 Patrick Palka <ppalka (a] redhat.com> 3061 1.1 mrg 3062 1.1 mrg PR libstdc++/106798 3063 1.1 mrg * include/std/ranges (adjacent_view::_Iterator::_Iterator): Fix 3064 1.1 mrg typo. 3065 1.1 mrg * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): New test. 3066 1.1 mrg 3067 1.1 mrg 2022-09-09 Patrick Palka <ppalka (a] redhat.com> 3068 1.1 mrg 3069 1.1 mrg PR libstdc++/106766 3070 1.1 mrg * include/std/ranges (zip_view::_Iterator::operator-): Use 3071 1.1 mrg __to_unsigned_like instead of make_unsigned_t. 3072 1.1 mrg (zip_view::_Sentinel::operator-): Likewise. 3073 1.1 mrg * testsuite/std/ranges/zip/1.cc (test04): New test. 3074 1.1 mrg 3075 1.1 mrg 2022-09-08 Franois Dumont <fdumont (a] gcc.gnu.org> 3076 1.1 mrg 3077 1.1 mrg * testsuite/util/testsuite_performance.h (__gnu_test::MallocInfo): New. 3078 1.1 mrg (__gnu_test::malloc_info): New, replace mallinfo on current platform 3079 1.1 mrg supporting it and use mallinfo2 when glibc >= 2.33. 3080 1.1 mrg 3081 1.1 mrg 2022-09-08 Jonathan Wakely <jwakely (a] redhat.com> 3082 1.1 mrg 3083 1.1 mrg PR c++/106838 3084 1.1 mrg * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc: 3085 1.1 mrg Prune additional errors from front-end. 3086 1.1 mrg * testsuite/20_util/is_move_constructible/incomplete_neg.cc: 3087 1.1 mrg Likewise. 3088 1.1 mrg * testsuite/20_util/is_nothrow_swappable/incomplete_neg.cc: 3089 1.1 mrg Likewise. 3090 1.1 mrg * testsuite/20_util/is_nothrow_swappable_with/incomplete_neg.cc: 3091 1.1 mrg Likewise. 3092 1.1 mrg * testsuite/20_util/is_swappable_with/incomplete_neg.cc: 3093 1.1 mrg Likewise. 3094 1.1 mrg 3095 1.1 mrg 2022-09-08 Jonathan Wakely <jwakely (a] redhat.com> 3096 1.1 mrg 3097 1.1 mrg * include/c_global/cstddef (byte): Add always_inline attribute 3098 1.1 mrg to all operator overloads. 3099 1.1 mrg (to_integer): Add always_inline attribute. 3100 1.1 mrg 3101 1.1 mrg 2022-09-08 Thomas Rodgers <trodgers (a] redhat.com> 3102 1.1 mrg Jakub Jelinek <jakub (a] redhat.com> 3103 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 3104 1.1 mrg 3105 1.1 mrg * include/bits/atomic_base.h (__atomic_impl::__maybe_has_padding): 3106 1.1 mrg New function. 3107 1.1 mrg (__atomic_impl::clear_padding): Likewise. 3108 1.1 mrg (__atomic_impl::__compare_exchange): Likewise. 3109 1.1 mrg (__atomic_impl::compare_exchange_weak): Delegate to 3110 1.1 mrg __compare_exchange. 3111 1.1 mrg (__atomic_impl::compare_exchange_strong): Likewise. 3112 1.1 mrg * include/std/atomic (atomic<T>::atomic(T)): Clear padding when 3113 1.1 mrg possible in a constexpr function. 3114 1.1 mrg (atomic::store): Clear padding. 3115 1.1 mrg (atomic::exchange): Likewise. 3116 1.1 mrg (atomic::compare_exchange_weak): Use __compare_exchange. 3117 1.1 mrg (atomic::compare_exchange_strong): Likewise. 3118 1.1 mrg * testsuite/29_atomics/atomic/compare_exchange_padding.cc: New 3119 1.1 mrg test. 3120 1.1 mrg * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: 3121 1.1 mrg New test. 3122 1.1 mrg 3123 1.1 mrg 2022-09-08 Jonathan Wakely <jwakely (a] redhat.com> 3124 1.1 mrg 3125 1.1 mrg * include/std/system_error (__adl_only::make_error_code): Add 3126 1.1 mrg deleted function. 3127 1.1 mrg (__adl_only::make_error_condition): Likewise. 3128 1.1 mrg (error_code::error_code(ErrorCodeEnum)): Add using-declaration 3129 1.1 mrg for deleted function. 3130 1.1 mrg (error_condition::error_condition(ErrorConditionEnum)): 3131 1.1 mrg Likewise. 3132 1.1 mrg * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: New test. 3133 1.1 mrg * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: New test. 3134 1.1 mrg 3135 1.1 mrg 2022-09-07 Jonathan Wakely <jwakely (a] redhat.com> 3136 1.1 mrg 3137 1.1 mrg * include/std/barrier: Add missing runtime exception. 3138 1.1 mrg 3139 1.1 mrg 2022-09-07 Patrick Palka <ppalka (a] redhat.com> 3140 1.1 mrg 3141 1.1 mrg * include/std/type_traits (is_reference): Make the primary 3142 1.1 mrg template derive from false_type. Define two partial 3143 1.1 mrg specializations that derive from true_type. 3144 1.1 mrg 3145 1.1 mrg 2022-09-07 Patrick Palka <ppalka (a] redhat.com> 3146 1.1 mrg 3147 1.1 mrg * include/std/type_traits (__is_void_helper): Remove. 3148 1.1 mrg (is_void): Make the primary template derive from false_type, 3149 1.1 mrg and define four explicit specializations that derive from 3150 1.1 mrg true_type. 3151 1.1 mrg (__is_null_pointer_helper, is_null_pointer): Likewise. 3152 1.1 mrg 3153 1.1 mrg 2022-09-07 Jason Merrill <jason (a] redhat.com> 3154 1.1 mrg 3155 1.1 mrg * libsupc++/dyncast.cc (__dynamic_cast): Avoid virtual function 3156 1.1 mrg call in simple success case. 3157 1.1 mrg 3158 1.1 mrg 2022-09-06 Philipp Fent <fent (a] in.tum.de> 3159 1.1 mrg 3160 1.1 mrg * testsuite/libstdc++-prettyprinters/48362.cc: Fix expected 3161 1.1 mrg tuple indices. 3162 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise. 3163 1.1 mrg 3164 1.1 mrg 2022-09-05 Jonathan Wakely <jwakely (a] redhat.com> 3165 1.1 mrg 3166 1.1 mrg * include/std/type_traits (__success_type, __failure_type): Move 3167 1.1 mrg definitions later in the file. 3168 1.1 mrg 3169 1.1 mrg 2022-09-05 Jonathan Wakely <jwakely (a] redhat.com> 3170 1.1 mrg 3171 1.1 mrg * include/std/type_traits (is_trivial_v, is_trivially_copyable_v) 3172 1.1 mrg (is_standard_layout_v, is_pod_v, is_literal_type_v): Use 3173 1.1 mrg built-in instead of class template. 3174 1.1 mrg (is_same_v): Add partial specialization for true case. 3175 1.1 mrg 3176 1.1 mrg 2022-09-02 Patrick Palka <ppalka (a] redhat.com> 3177 1.1 mrg 3178 1.1 mrg * include/std/tuple (tuple::_UseOtherCtor): Use ::type when 3179 1.1 mrg deriving from __and_, __or_ or __not_. 3180 1.1 mrg * include/std/type_traits (negation): Likewise. 3181 1.1 mrg (is_unsigned): Likewise. 3182 1.1 mrg (__is_implicitly_default_constructible): Likewise. 3183 1.1 mrg (is_trivially_destructible): Likewise. 3184 1.1 mrg (__is_nt_invocable_impl): Likewise. 3185 1.1 mrg 3186 1.1 mrg 2022-09-02 Jonathan Wakely <jwakely (a] redhat.com> 3187 1.1 mrg 3188 1.1 mrg * include/std/type_traits (is_constructible_v) 3189 1.1 mrg (is_default_constructible_v, is_copy_constructible_v) 3190 1.1 mrg (is_move_constructible_v): Define using __is_constructible. 3191 1.1 mrg (is_assignable_v, is_copy_assignable_v, is_move_assignable_v): 3192 1.1 mrg Define using __is_assignable. 3193 1.1 mrg (is_trivially_constructible_v) 3194 1.1 mrg (is_trivially_default_constructible_v) 3195 1.1 mrg (is_trivially_copy_constructible_v) 3196 1.1 mrg (is_trivially_move_constructible_v): Define using 3197 1.1 mrg __is_trivially_constructible. 3198 1.1 mrg (is_trivially_assignable_v, is_trivially_copy_assignable_v) 3199 1.1 mrg (is_trivially_move_assignable_v): Define using 3200 1.1 mrg __is_trivially_assignable. 3201 1.1 mrg (is_nothrow_constructible_v) 3202 1.1 mrg (is_nothrow_default_constructible_v) 3203 1.1 mrg (is_nothrow_copy_constructible_v) 3204 1.1 mrg (is_nothrow_move_constructible_v): Define using 3205 1.1 mrg __is_nothrow_constructible. 3206 1.1 mrg (is_nothrow_assignable_v, is_nothrow_copy_assignable_v) 3207 1.1 mrg (is_nothrow_move_assignable_v): Define using 3208 1.1 mrg __is_nothrow_assignable. 3209 1.1 mrg 3210 1.1 mrg 2022-09-02 Patrick Palka <ppalka (a] redhat.com> 3211 1.1 mrg 3212 1.1 mrg * include/std/type_traits (__or_, __and_, __not_): Redefine as a 3213 1.1 mrg class template instead of as an alias template. 3214 1.1 mrg * testsuite/20_util/logical_traits/requirements/short_circuit.cc: 3215 1.1 mrg Add more tests for conjunction and disjunction. Add corresponding 3216 1.1 mrg tests for __and_ and __or_. 3217 1.1 mrg 3218 1.1 mrg 2022-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3219 1.1 mrg 3220 1.1 mrg * include/std/ranges (adjacent_transform_view::_Iterator): Add 3221 1.1 mrg typename keyword before dependent qualified-id. 3222 1.1 mrg 3223 1.1 mrg 2022-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3224 1.1 mrg 3225 1.1 mrg * include/std/type_traits (__is_referenceable): Remove. 3226 1.1 mrg (__add_lvalue_reference_helper, __add_rvalue_reference_helper): 3227 1.1 mrg Use __void_t instead of __is_referenceable. 3228 1.1 mrg (__add_pointer_helper): Likewise. 3229 1.1 mrg (add_pointer): Add partial specializations for reference types. 3230 1.1 mrg 3231 1.1 mrg 2022-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3232 1.1 mrg 3233 1.1 mrg * include/std/type_traits (__is_constructible_impl): Replace 3234 1.1 mrg class template with alias template. 3235 1.1 mrg (is_default_constructible, is_nothrow_constructible) 3236 1.1 mrg (is_nothrow_constructible): Simplify base-specifier. 3237 1.1 mrg (__is_copy_constructible_impl, __is_move_constructible_impl) 3238 1.1 mrg (__is_nothrow_copy_constructible_impl) 3239 1.1 mrg (__is_nothrow_move_constructible_impl): Remove class templates. 3240 1.1 mrg (is_copy_constructible, is_move_constructible) 3241 1.1 mrg (is_nothrow_constructible, is_nothrow_default_constructible) 3242 1.1 mrg (is_nothrow_copy_constructible, is_nothrow_move_constructible): 3243 1.1 mrg Adjust base-specifiers to use __is_constructible_impl. 3244 1.1 mrg (__is_copy_assignable_impl, __is_move_assignable_impl) 3245 1.1 mrg (__is_nt_copy_assignable_impl, __is_nt_move_assignable_impl): 3246 1.1 mrg Remove class templates. 3247 1.1 mrg (__is_assignable_impl): New alias template. 3248 1.1 mrg (is_assignable, is_copy_assignable, is_move_assignable): 3249 1.1 mrg Adjust base-specifiers to use new alias template. 3250 1.1 mrg (is_nothrow_copy_assignable, is_nothrow_move_assignable): 3251 1.1 mrg Adjust base-specifiers to use existing alias template. 3252 1.1 mrg (__is_trivially_constructible_impl): New alias template. 3253 1.1 mrg (is_trivially_constructible, is_trivially_default_constructible) 3254 1.1 mrg (is_trivially_copy_constructible) 3255 1.1 mrg (is_trivially_move_constructible): Adjust base-specifiers to use 3256 1.1 mrg new alias template. 3257 1.1 mrg (__is_trivially_assignable_impl): New alias template. 3258 1.1 mrg (is_trivially_assignable, is_trivially_copy_assignable) 3259 1.1 mrg (is_trivially_move_assignable): Adjust base-specifier to use 3260 1.1 mrg new alias template. 3261 1.1 mrg (__add_lval_ref_t, __add_rval_ref_t): New alias templates. 3262 1.1 mrg (add_lvalue_reference, add_rvalue_reference): Use new alias 3263 1.1 mrg templates. 3264 1.1 mrg 3265 1.1 mrg 2022-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3266 1.1 mrg 3267 1.1 mrg * include/std/type_traits (__decay_selector): Add partial 3268 1.1 mrg specializations for array types. Only check for function types 3269 1.1 mrg when not dealing with an array. 3270 1.1 mrg (decay): Add partial specializations for reference types. 3271 1.1 mrg 3272 1.1 mrg 2022-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3273 1.1 mrg 3274 1.1 mrg * include/std/type_traits (is_lvalue_reference_v) 3275 1.1 mrg (is_rvalue_reference_v, is_reference_v, is_const_v) 3276 1.1 mrg (is_volatile_v): Define using partial specializations instead 3277 1.1 mrg of instantiating class templates. 3278 1.1 mrg 3279 1.1 mrg 2022-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3280 1.1 mrg 3281 1.1 mrg * include/std/type_traits (is_enum_v, is_class_v, is_union_v) 3282 1.1 mrg (is_empty_v, is_polymoprhic_v, is_abstract_v, is_final_v) 3283 1.1 mrg (is_base_of_v, is_aggregate_v): Use built-in directly instead of 3284 1.1 mrg instantiating class template. 3285 1.1 mrg 3286 1.1 mrg 2022-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3287 1.1 mrg 3288 1.1 mrg * include/std/type_traits (is_scoped_enum): Remove workaround. 3289 1.1 mrg 3290 1.1 mrg 2022-09-01 Patrick Palka <ppalka (a] redhat.com> 3291 1.1 mrg 3292 1.1 mrg * include/std/ranges (__detail::__unarize): Define. 3293 1.1 mrg (adjacent_view::_Iterator): Befriend adjacent_transform_view. 3294 1.1 mrg (adjacent_transform_view): Define. 3295 1.1 mrg (adjacent_transform_view::_Iterator): Define. 3296 1.1 mrg (adjacent_transform_view::_Sentinel): Define. 3297 1.1 mrg (views::__detail::__can_adjacent_transform_view): Define. 3298 1.1 mrg (views::_AdjacentTransform): Define. 3299 1.1 mrg (views::adjacent_transform): Define. 3300 1.1 mrg (views::pairwise_transform): Define. 3301 1.1 mrg * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: New test. 3302 1.1 mrg 3303 1.1 mrg 2022-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3304 1.1 mrg 3305 1.1 mrg * include/std/type_traits (__is_array_known_bounds): Add partial 3306 1.1 mrg specialization instead of using std::extent. 3307 1.1 mrg (__is_array_unknown_bounds): Likewise. 3308 1.1 mrg (extent): Add partial specializations to stop recursion after 3309 1.1 mrg the result is found. 3310 1.1 mrg (is_array_v): Add partial specializations instead of 3311 1.1 mrg instantiating the class template. 3312 1.1 mrg (rank_v, extent_v): Likewise. 3313 1.1 mrg (is_bounded_array_v, is_unbounded_array_v): Likewise. 3314 1.1 mrg (is_bounded_array, is_unbounded_array): Define in terms of the 3315 1.1 mrg variable templates. 3316 1.1 mrg 3317 1.1 mrg 2022-08-31 Patrick Palka <ppalka (a] redhat.com> 3318 1.1 mrg 3319 1.1 mrg * include/bits/ranges_base.h (__advance_fn::operator()): Add 3320 1.1 mrg parentheses in assert condition to avoid -Wparentheses warning. 3321 1.1 mrg * include/std/ranges: (take_view::take_view): Uglify 'base'. 3322 1.1 mrg (take_while_view::take_while_view): Likewise. 3323 1.1 mrg (elements_view::elements_view): Likewise. 3324 1.1 mrg (views::_Zip::operator()): Adjust position of [[nodiscard]] for 3325 1.1 mrg compatibility with -fconcepts-ts. 3326 1.1 mrg (zip_transform_view::_Sentinel): Uglify 'OtherConst'. 3327 1.1 mrg (views::_ZipTransform::operator()): Adjust position of 3328 1.1 mrg [[nodiscard]] for compatibilty with -fconcepts-ts. 3329 1.1 mrg 3330 1.1 mrg 2022-08-31 Martin Liska <mliska (a] suse.cz> 3331 1.1 mrg 3332 1.1 mrg * configure: Regenerate. 3333 1.1 mrg * crossconfig.m4: Remove deprecated ports. 3334 1.1 mrg 3335 1.1 mrg 2022-08-31 Franois Dumont <fdumont (a] gcc.gnu.org> 3336 1.1 mrg 3337 1.1 mrg * include/debug/debug.h: Use nullptr rather than '0' in checks in post-C++11. 3338 1.1 mrg * include/debug/string: Likewise. 3339 1.1 mrg * testsuite/21_strings/basic_string/operations/ends_with/char.cc: Use __gnu_test::string. 3340 1.1 mrg * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc: Likewise. 3341 1.1 mrg * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc: Likewise. 3342 1.1 mrg * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc: Likewise. 3343 1.1 mrg * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc: Likewise. 3344 1.1 mrg * testsuite/21_strings/basic_string/operations/starts_with/char.cc: Likewise.. 3345 1.1 mrg 3346 1.1 mrg 2022-08-31 Patrick Palka <ppalka (a] redhat.com> 3347 1.1 mrg 3348 1.1 mrg * include/std/ranges (adjacent_view): Define. 3349 1.1 mrg (enable_borrowed_range<adjacent_view>): Define. 3350 1.1 mrg (__detail::__repeated_tuple): Define. 3351 1.1 mrg (adjacent_view::_Iterator): Define. 3352 1.1 mrg (adjacent_view::_Sentinel): Define. 3353 1.1 mrg (views::__detail::__can_adjacent_view): Define. 3354 1.1 mrg (views::_Adjacent): Define. 3355 1.1 mrg (views::adjacent): Define. 3356 1.1 mrg (views::pairwise): Define. 3357 1.1 mrg * testsuite/std/ranges/adaptors/adjacent/1.cc: New test. 3358 1.1 mrg 3359 1.1 mrg 2022-08-31 Franois Dumont <fdumont (a] gcc.gnu.org> 3360 1.1 mrg 3361 1.1 mrg * include/debug/formatter.h 3362 1.1 mrg [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_state): Declare. 3363 1.1 mrg [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_create_state): Declare. 3364 1.1 mrg [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_callback): Define. 3365 1.1 mrg [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_error_callback): Define. 3366 1.1 mrg [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_func): Define. 3367 1.1 mrg [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full): Declare. 3368 1.1 mrg [_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_state): New. 3369 1.1 mrg [_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_full): New. 3370 1.1 mrg * src/c++11/debug.cc [_GLIBCXX_HAVE_STACKTRACE](print_backtrace): New. 3371 1.1 mrg (_Error_formatter::_M_error()): Adapt. 3372 1.1 mrg * src/libbacktrace/Makefile.am: Add backtrace.c. 3373 1.1 mrg * src/libbacktrace/Makefile.in: Regenerate. 3374 1.1 mrg * src/libbacktrace/backtrace-rename.h (backtrace_full): New. 3375 1.1 mrg * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: New test. 3376 1.1 mrg * doc/xml/manual/debug_mode.xml: Document _GLIBCXX_DEBUG_BACKTRACE. 3377 1.1 mrg * doc/xml/manual/using.xml: Likewise. 3378 1.1 mrg 3379 1.1 mrg 2022-08-31 Patrick Palka <ppalka (a] redhat.com> 3380 1.1 mrg 3381 1.1 mrg * testsuite/20_util/logical_traits/requirements/short_circuit.cc: New test. 3382 1.1 mrg 3383 1.1 mrg 2022-08-31 Jonathan Wakely <jwakely (a] redhat.com> 3384 1.1 mrg 3385 1.1 mrg * include/bits/refwrap.h (reference_wrapper::operator()): Add 3386 1.1 mrg noexcept-specifier and use __invoke_result instead of result_of. 3387 1.1 mrg * testsuite/20_util/reference_wrapper/invoke-noexcept.cc: New test. 3388 1.1 mrg 3389 1.1 mrg 2022-08-31 Jonathan Wakely <jwakely (a] redhat.com> 3390 1.1 mrg 3391 1.1 mrg * testsuite/20_util/reference_wrapper/invoke-2.cc: Improve 3392 1.1 mrg comments. 3393 1.1 mrg * testsuite/20_util/reference_wrapper/invoke-3.cc: Likewise. 3394 1.1 mrg * testsuite/20_util/reference_wrapper/invoke.cc: Likewise. 3395 1.1 mrg 3396 1.1 mrg 2022-08-31 Jonathan Wakely <jwakely (a] redhat.com> 3397 1.1 mrg 3398 1.1 mrg * include/bits/basic_string.h (basic_string): Add nodiscard 3399 1.1 mrg attribute to all relevant functions. 3400 1.1 mrg * include/std/string_view (basic_string_view): Likewise. 3401 1.1 mrg * testsuite/21_strings/basic_string/capacity/1.cc: Cast unused 3402 1.1 mrg results to void. 3403 1.1 mrg * testsuite/21_strings/basic_string/capacity/char/1.cc: 3404 1.1 mrg Likewise. 3405 1.1 mrg * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: 3406 1.1 mrg Likewise. 3407 1.1 mrg * testsuite/21_strings/basic_string/cons/char/self_move.cc: 3408 1.1 mrg Likewise. 3409 1.1 mrg * testsuite/21_strings/basic_string/element_access/char/1.cc: 3410 1.1 mrg Likewise. 3411 1.1 mrg * testsuite/21_strings/basic_string/element_access/char/21674.cc: 3412 1.1 mrg Likewise. 3413 1.1 mrg * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: 3414 1.1 mrg Likewise. 3415 1.1 mrg * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc: 3416 1.1 mrg Likewise. 3417 1.1 mrg * testsuite/21_strings/basic_string/lwg2758.cc: Likewise. 3418 1.1 mrg * testsuite/21_strings/basic_string/lwg2946.cc: Likewise. 3419 1.1 mrg * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: 3420 1.1 mrg Add -Wno-unused-result to options. 3421 1.1 mrg * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc: 3422 1.1 mrg Likewise. 3423 1.1 mrg * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc: 3424 1.1 mrg Likewise. 3425 1.1 mrg * testsuite/21_strings/basic_string/operators/char/1.cc: Cast 3426 1.1 mrg unused results to void. 3427 1.1 mrg * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: 3428 1.1 mrg Likewise. 3429 1.1 mrg * testsuite/21_strings/basic_string_view/capacity/1.cc: 3430 1.1 mrg Likewise. 3431 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/1.cc: 3432 1.1 mrg Likewise. 3433 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/2.cc: 3434 1.1 mrg Likewise. 3435 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: 3436 1.1 mrg Likewise. 3437 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc: 3438 1.1 mrg Likewise. 3439 1.1 mrg * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: 3440 1.1 mrg Likewise. 3441 1.1 mrg Add -Wno-unused-result to options. 3442 1.1 mrg * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc: 3443 1.1 mrg Likewise. 3444 1.1 mrg * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc: 3445 1.1 mrg Likewise. 3446 1.1 mrg * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Cast 3447 1.1 mrg unused results to void. 3448 1.1 mrg * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: 3449 1.1 mrg Likewise. 3450 1.1 mrg * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise. 3451 1.1 mrg * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: 3452 1.1 mrg Likewise. 3453 1.1 mrg 3454 1.1 mrg 2022-08-27 Patrick Palka <ppalka (a] redhat.com> 3455 1.1 mrg 3456 1.1 mrg * testsuite/20_util/logical_traits/requirements/base_classes.cc: New test. 3457 1.1 mrg 3458 1.1 mrg 2022-08-26 Patrick Palka <ppalka (a] redhat.com> 3459 1.1 mrg 3460 1.1 mrg * include/std/ranges (zip_view::_Iterator::operator<): Remove 3461 1.1 mrg as per LWG 3692. 3462 1.1 mrg (zip_view::_Iterator::operator>): Likewise. 3463 1.1 mrg (zip_view::_Iterator::operator<=): Likewise. 3464 1.1 mrg (zip_view::_Iterator::operator>=): Likewise. 3465 1.1 mrg (zip_view::_Iterator::operator<=>): Remove three_way_comparable 3466 1.1 mrg constraint as per LWG 3692. 3467 1.1 mrg (zip_transform_view::_Iterator): Ditto as per LWG 3702. 3468 1.1 mrg 3469 1.1 mrg 2022-08-26 Patrick Palka <ppalka (a] redhat.com> 3470 1.1 mrg 3471 1.1 mrg * include/std/ranges (zip_view::_Iterator): Befriend 3472 1.1 mrg zip_transform_view. 3473 1.1 mrg (__detail::__range_iter_cat): Define. 3474 1.1 mrg (zip_transform_view): Define. 3475 1.1 mrg (zip_transform_view::_Iterator): Define. 3476 1.1 mrg (zip_transform_view::_Sentinel): Define. 3477 1.1 mrg (views::__detail::__can_zip_transform_view): Define. 3478 1.1 mrg (views::_ZipTransform): Define. 3479 1.1 mrg (views::zip_transform): Define. 3480 1.1 mrg * testsuite/std/ranges/zip_transform/1.cc: New test. 3481 1.1 mrg 3482 1.1 mrg 2022-08-26 Patrick Palka <ppalka (a] redhat.com> 3483 1.1 mrg 3484 1.1 mrg * include/std/type_traits (enable_if, __enable_if_t): Define them 3485 1.1 mrg earlier. 3486 1.1 mrg (__detail::__first_t): Define. 3487 1.1 mrg (__detail::__or_fn, __detail::__and_fn): Declare. 3488 1.1 mrg (__or_, __and_): Redefine as alias templates in terms of __or_fn 3489 1.1 mrg and __and_fn. 3490 1.1 mrg (__not_): Redefine as an alias template. 3491 1.1 mrg (__detail::__disjunction_impl, __detail::__conjunction_impl): 3492 1.1 mrg Define. 3493 1.1 mrg (conjuction, disjunction): Redefine in terms of __disjunction_impl 3494 1.1 mrg and __conjunction_impl. 3495 1.1 mrg 3496 1.1 mrg 2022-08-26 Jonathan Wakely <jwakely (a] redhat.com> 3497 1.1 mrg 3498 1.1 mrg * include/std/system_error (error_code::_Check): New alias 3499 1.1 mrg template for constructor SFINAE constraint. 3500 1.1 mrg (error_code::error_code(ErrorCodeEnum)): Use it. 3501 1.1 mrg (error_code::operator=(ErrorCodeEnum)): Remove. 3502 1.1 mrg (error_condition::_Check): New alias template for constraint. 3503 1.1 mrg (error_condition::error_condition(ErrorConditionEnum)): Use it. 3504 1.1 mrg (error_condition::operator=(ErrorConditionEnum)): Remove. 3505 1.1 mrg * testsuite/19_diagnostics/error_code/cons/1.cc: Check 3506 1.1 mrg constructor taking user-defined error enum. 3507 1.1 mrg * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise. 3508 1.1 mrg 3509 1.1 mrg 2022-08-26 Jonathan Wakely <jwakely (a] redhat.com> 3510 1.1 mrg 3511 1.1 mrg * include/bits/basic_string.h (starts_with, ends_with, contains): 3512 1.1 mrg Add nonnull attribute. 3513 1.1 mrg * include/bits/cow_string.h (starts_with, ends_with, contains): 3514 1.1 mrg Likewise. 3515 1.1 mrg * include/std/string_view (starts_with, ends_with, contains): 3516 1.1 mrg Likewise. 3517 1.1 mrg * testsuite/21_strings/basic_string/operations/contains/nonnull.cc 3518 1.1 mrg * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc 3519 1.1 mrg * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc 3520 1.1 mrg * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc 3521 1.1 mrg * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc 3522 1.1 mrg * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc 3523 1.1 mrg 3524 1.1 mrg 2022-08-25 Patrick Palka <ppalka (a] redhat.com> 3525 1.1 mrg 3526 1.1 mrg * include/std/ranges (lazy_split_view::_OuterIter::_M_current): 3527 1.1 mrg Remove redundant comment. 3528 1.1 mrg (lazy_split_view::_M_current): Likewise. 3529 1.1 mrg (common_view::common_view): Remove commented out view-converting 3530 1.1 mrg constructor as per LWG3405. 3531 1.1 mrg (elements_view::_Iterator::_Iterator): Uglify 'current' and 'i'. 3532 1.1 mrg 3533 1.1 mrg 2022-08-24 Patrick Palka <ppalka (a] redhat.com> 3534 1.1 mrg 3535 1.1 mrg * include/bits/ranges_algo.h (__min_fn, min): Move to ... 3536 1.1 mrg * include/bits/ranges_util.h: ... here, in order to avoid 3537 1.1 mrg including all of ranges_algo.h from <ranges>. 3538 1.1 mrg * include/std/ranges (__detail::__zip_is_common): Define for 3539 1.1 mrg C++23 as per P2321R2. 3540 1.1 mrg (__detail::__tuple_or_pair): Likewise. 3541 1.1 mrg (__detail::__tuple_or_pair_t): Likewise. 3542 1.1 mrg (__detail::__tuple_transform): Likewise. 3543 1.1 mrg (__detail::__tuple_for_each): Likewise. 3544 1.1 mrg (zip_view): Likewise. 3545 1.1 mrg (enable_borrowed_range<zip_view>): Likewise. 3546 1.1 mrg (__detail::__all_random_access): Likewise. 3547 1.1 mrg (__detail::__all_bidirectional): Likewise. 3548 1.1 mrg (__detail::__all_forward): Likewise. 3549 1.1 mrg (__detail::__zip_view_iter_cat): Likewise. 3550 1.1 mrg (zip_view::_Iterator): Likewise. 3551 1.1 mrg (zip_view::_Sentinel): Likewise. 3552 1.1 mrg * testsuite/std/ranges/zip/1.cc: New test. 3553 1.1 mrg 3554 1.1 mrg 2022-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3555 1.1 mrg 3556 1.1 mrg Revert: 3557 1.1 mrg 2022-08-24 Will Hawkins <whh8b (a] obs.cr> 3558 1.1 mrg 3559 1.1 mrg * include/bits/basic_string.h (operator+(const string&, const char*)): 3560 1.1 mrg Remove naive implementation. 3561 1.1 mrg * include/bits/basic_string.tcc (operator+(const string&, const char*)): 3562 1.1 mrg Add single-allocation implementation. 3563 1.1 mrg 3564 1.1 mrg 2022-08-24 Patrick Palka <ppalka (a] redhat.com> 3565 1.1 mrg 3566 1.1 mrg * include/bits/stl_pair.h (pair::swap const): Add non-standard 3567 1.1 mrg is_swappable_v constraints. 3568 1.1 mrg * include/std/tuple (tuple::swap const): Likewise. 3569 1.1 mrg * testsuite/20_util/tuple/cons/noexcept_specs.cc: Correct some 3570 1.1 mrg asserts in C++23 mode. 3571 1.1 mrg 3572 1.1 mrg 2022-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3573 1.1 mrg 3574 1.1 mrg * include/bits/stl_algo.h (__stable_sort): Cast size to 3575 1.1 mrg iterator's difference type. 3576 1.1 mrg * testsuite/25_algorithms/stable_sort/4.cc: New test. 3577 1.1 mrg 3578 1.1 mrg 2022-08-24 Will Hawkins <whh8b (a] obs.cr> 3579 1.1 mrg 3580 1.1 mrg * include/bits/basic_string.h (operator+(const string&, const char*)): 3581 1.1 mrg Remove naive implementation. 3582 1.1 mrg * include/bits/basic_string.tcc (operator+(const string&, const char*)): 3583 1.1 mrg Add single-allocation implementation. 3584 1.1 mrg 3585 1.1 mrg 2022-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3586 1.1 mrg 3587 1.1 mrg * testsuite/20_util/duration_cast/rounding.cc: Check abs with 3588 1.1 mrg non-reduced duration. 3589 1.1 mrg 3590 1.1 mrg 2022-08-23 Patrick Palka <ppalka (a] redhat.com> 3591 1.1 mrg 3592 1.1 mrg * include/bits/stl_bvector.h (_Bit_reference::operator=): Define 3593 1.1 mrg const overload for C++23 as per P2321R2. 3594 1.1 mrg * include/bits/stl_pair.h (pair::swap): Likewise. 3595 1.1 mrg (pair::pair): Define additional converting constructors for 3596 1.1 mrg C++23 as per P2321R2. 3597 1.1 mrg (pair::operator=): Define const overloads for C++23 as per 3598 1.1 mrg P2321R2. 3599 1.1 mrg (swap): Define overload taking const pair& for C++23 as per 3600 1.1 mrg P2321R2. 3601 1.1 mrg (basic_common_reference): Define partial specialization for 3602 1.1 mrg pair for C++23 as per P2321R2. 3603 1.1 mrg (common_type): Likewise. 3604 1.1 mrg * include/bits/uses_allocator_args.h 3605 1.1 mrg (uses_allocator_construction_args): Define additional pair 3606 1.1 mrg overloads for C++23 as per P2321R2. 3607 1.1 mrg * include/std/tuple (_Tuple_impl::_Tuple_impl): Define 3608 1.1 mrg additional converting constructors for C++23 as per P2321R2. 3609 1.1 mrg (_Tuple_impl::_M_assign): Define const overloads for C++23 3610 1.1 mrg as per P2321R2. 3611 1.1 mrg (_Tuple_impl::_M_swap): Likewise. 3612 1.1 mrg (tuple::__constructible): Define as a convenient renaming of 3613 1.1 mrg _TCC<true>::__constructible. 3614 1.1 mrg (tuple::__convertible): As above but for _TCC<true>::__convertible. 3615 1.1 mrg (tuple::tuple): Define additional converting constructors for 3616 1.1 mrg C++23 as per P2321R2. 3617 1.1 mrg (tuple::operator=): Define const overloads for C++23 as per 3618 1.1 mrg P2321R2. 3619 1.1 mrg (tuple::swap): Likewise. 3620 1.1 mrg (basic_common_reference): Define partial specialization for 3621 1.1 mrg tuple for C++23 as per P2321R2. 3622 1.1 mrg (common_type): Likewise. 3623 1.1 mrg * testsuite/20_util/pair/p2321r2.cc: New test. 3624 1.1 mrg * testsuite/20_util/tuple/p2321r2.cc: New test. 3625 1.1 mrg * testsuite/23_containers/vector/bool/element_access/1.cc: New test. 3626 1.1 mrg 3627 1.1 mrg 2022-08-23 Patrick Palka <ppalka (a] redhat.com> 3628 1.1 mrg 3629 1.1 mrg * include/std/tuple (_TupleConstraints::__convertible): Define. 3630 1.1 mrg (_TupleConstraints::__constructible): Define. 3631 1.1 mrg (_TupleConstraints::__is_explicitly_constructible): Redefine this 3632 1.1 mrg in terms of __convertible and __constructible. 3633 1.1 mrg (_TupleConstraints::__is_implicitly_constructible): Likewise. 3634 1.1 mrg 3635 1.1 mrg 2022-08-23 Jonathan Wakely <jwakely (a] redhat.com> 3636 1.1 mrg 3637 1.1 mrg PR libstdc++/106589 3638 1.1 mrg * include/std/variant (__do_visit): Handle is_void<R> for zero 3639 1.1 mrg argument case. 3640 1.1 mrg * testsuite/20_util/variant/visit_r.cc: Check std::visit<void>(v). 3641 1.1 mrg 3642 1.1 mrg 2022-08-22 Jonathan Wakely <jwakely (a] redhat.com> 3643 1.1 mrg 3644 1.1 mrg PR libstdc++/105678 3645 1.1 mrg * doc/xml/manual/using.xml: Document -lstdc++_libbacktrace 3646 1.1 mrg requirement for using std::stacktrace. Also adjust -frtti and 3647 1.1 mrg -fexceptions to document non-default (i.e. negative) forms. 3648 1.1 mrg * doc/html/*: Regenerate. 3649 1.1 mrg 3650 1.1 mrg 2022-08-22 Jonathan Wakely <jwakely (a] redhat.com> 3651 1.1 mrg 3652 1.1 mrg PR libstdc++/106695 3653 1.1 mrg * include/bits/std_thread.h (thread::_State_impl): Forward 3654 1.1 mrg individual arguments to _Invoker constructor. 3655 1.1 mrg (thread::_Invoker): Add constructor. Delete copies. 3656 1.1 mrg * include/std/future (__future_base::_Deferred_state): Forward 3657 1.1 mrg individual arguments to _Invoker constructor. 3658 1.1 mrg (__future_base::_Async_state_impl): Likewise. 3659 1.1 mrg * testsuite/30_threads/async/106695.cc: New test. 3660 1.1 mrg * testsuite/30_threads/thread/106695.cc: New test. 3661 1.1 mrg 3662 1.1 mrg 2022-08-22 Jonathan Wakely <jwakely (a] redhat.com> 3663 1.1 mrg 3664 1.1 mrg PR libstdc++/106607 3665 1.1 mrg * include/bits/regex_compiler.tcc (_Compiler::_M_cur_int_value): 3666 1.1 mrg Use built-ins to check for integer overflow in back-reference 3667 1.1 mrg number. 3668 1.1 mrg * testsuite/28_regex/basic_regex/106607.cc: New test. 3669 1.1 mrg 3670 1.1 mrg 2022-08-17 Keef Aragon <keef.aragon (a] konscious.net> 3671 1.1 mrg 3672 1.1 mrg * libsupc++/eh_alloc.cc (pool::free): Inverse comparison. 3673 1.1 mrg 3674 1.1 mrg 2022-08-08 Franois Dumont <fdumont (a] gcc.gnu.org> 3675 1.1 mrg 3676 1.1 mrg * include/debug/formatter.h (__singular_value_init): New _Iterator_state enum entry. 3677 1.1 mrg (_Parameter<>(const _Safe_iterator<>&, const char*, _Is_iterator)): Check if iterator 3678 1.1 mrg parameter is value-initialized. 3679 1.1 mrg (_Parameter<>(const _Safe_local_iterator<>&, const char*, _Is_iterator)): Likewise. 3680 1.1 mrg * include/debug/safe_iterator.h (_Safe_iterator<>::_M_value_initialized()): New. Adapt 3681 1.1 mrg checks. 3682 1.1 mrg * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_M_value_initialized()): New. 3683 1.1 mrg Adapt checks. 3684 1.1 mrg * src/c++11/debug.cc (_Safe_iterator_base::_M_reset): Do not reset _M_version. 3685 1.1 mrg (print_field(PrintContext&, const _Parameter&, const char*)): Adapt state_names. 3686 1.1 mrg * testsuite/23_containers/deque/debug/iterator1_neg.cc: New test. 3687 1.1 mrg * testsuite/23_containers/deque/debug/iterator2_neg.cc: New test. 3688 1.1 mrg * testsuite/23_containers/forward_list/debug/iterator1_neg.cc: New test. 3689 1.1 mrg * testsuite/23_containers/forward_list/debug/iterator2_neg.cc: New test. 3690 1.1 mrg * testsuite/23_containers/forward_list/debug/iterator3_neg.cc: New test. 3691 1.1 mrg 3692 1.1 mrg 2022-08-05 Jonathan Wakely <jwakely (a] redhat.com> 3693 1.1 mrg 3694 1.1 mrg * include/experimental/scope (__cpp_lib_experimental_scope): 3695 1.1 mrg Define. 3696 1.1 mrg * testsuite/experimental/scopeguard/uniqueres.cc: Check macro. 3697 1.1 mrg 3698 1.1 mrg 2022-08-05 Jonathan Wakely <jwakely (a] redhat.com> 3699 1.1 mrg 3700 1.1 mrg * include/Makefile.am: Add new header. 3701 1.1 mrg * include/Makefile.in: Regenerate. 3702 1.1 mrg * include/experimental/scope: New file. 3703 1.1 mrg * testsuite/experimental/scopeguard/uniqueres.cc: New test. 3704 1.1 mrg * testsuite/experimental/scopeguard/exit.cc: New test. 3705 1.1 mrg 3706 1.1 mrg 2022-08-04 Jonathan Wakely <jwakely (a] redhat.com> 3707 1.1 mrg 3708 1.1 mrg * include/std/string_view (basic_string_view(Range&&)): Add 3709 1.1 mrg explicit as per P2499R0. 3710 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: 3711 1.1 mrg Adjust implicit conversions. Check implicit conversions fail. 3712 1.1 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: 3713 1.1 mrg Likewise. 3714 1.1 mrg 3715 1.1 mrg 2022-08-04 Jonathan Wakely <jwakely (a] redhat.com> 3716 1.1 mrg 3717 1.1 mrg * include/bits/fs_dir.h (directory_iterator): Add comparison 3718 1.1 mrg with std::default_sentinel_t. Remove redundant operator!= for 3719 1.1 mrg C++20. 3720 1.1 mrg * (recursive_directory_iterator): Likewise. 3721 1.1 mrg * include/bits/iterator_concepts.h [!__cpp_lib_concepts] 3722 1.1 mrg (default_sentinel_t, default_sentinel): Define even if concepts 3723 1.1 mrg are not supported. 3724 1.1 mrg * include/bits/regex.h (regex_iterator): Add comparison with 3725 1.1 mrg std::default_sentinel_t. Remove redundant operator!= for C++20. 3726 1.1 mrg (regex_token_iterator): Likewise. 3727 1.1 mrg (regex_token_iterator::_M_end_of_seq()): Add noexcept. 3728 1.1 mrg * testsuite/27_io/filesystem/iterators/lwg3719.cc: New test. 3729 1.1 mrg * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc: 3730 1.1 mrg New test. 3731 1.1 mrg * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc: 3732 1.1 mrg New test. 3733 1.1 mrg 3734 1.1 mrg 2022-08-04 Jonathan Wakely <jwakely (a] redhat.com> 3735 1.1 mrg 3736 1.1 mrg * include/std/expected (unexpected::_M_val): Rename to _M_unex. 3737 1.1 mrg (bad_expected_access::_M_val): Likewise. 3738 1.1 mrg 3739 1.1 mrg 2022-08-04 Jonathan Wakely <jwakely (a] redhat.com> 3740 1.1 mrg 3741 1.1 mrg * include/bits/ios_base.h (__cpp_lib_ios_noreplace): Update 3742 1.1 mrg value to 202207L. 3743 1.1 mrg * include/std/version (__cpp_lib_ios_noreplace): Likewise. 3744 1.1 mrg * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: Check 3745 1.1 mrg for new value. 3746 1.1 mrg * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: 3747 1.1 mrg Likewise. 3748 1.1 mrg 3749 1.1 mrg 2022-08-04 Jonathan Wakely <jwakely (a] redhat.com> 3750 1.1 mrg 3751 1.1 mrg PR libstdc++/106183 3752 1.1 mrg * include/bits/atomic_wait.h (__waiter_pool_base::_M_notify): 3753 1.1 mrg Move increment of _M_ver here. 3754 1.1 mrg [!_GLIBCXX_HAVE_PLATFORM_WAIT]: Lock mutex around increment. 3755 1.1 mrg Use relaxed memory order and always notify all waiters. 3756 1.1 mrg (__waiter_base::_M_do_wait) [!_GLIBCXX_HAVE_PLATFORM_WAIT]: 3757 1.1 mrg Check value again after locking mutex. 3758 1.1 mrg (__waiter_base::_M_notify): Remove increment of _M_ver. 3759 1.1 mrg 3760 1.1 mrg 2022-08-04 Ulrich Drepper <drepper (a] gmail.com> 3761 1.1 mrg 3762 1.1 mrg * python/libstdcxx/v6/printers.py (class StdTuplePrinter): Use 3763 1.1 mrg zero-based indeces just like std:get takes. 3764 1.1 mrg 3765 1.1 mrg 2022-07-29 Jonathan Wakely <jwakely (a] redhat.com> 3766 1.1 mrg 3767 1.1 mrg PR libstdc++/104443 3768 1.1 mrg * include/bits/stl_iterator.h (common_iterator::operator->): 3769 1.1 mrg Change return type to just auto. 3770 1.1 mrg 3771 1.1 mrg 2022-07-26 Thomas Rodgers <trodgers (a] redhat.com> 3772 1.1 mrg 3773 1.1 mrg * include/bits/atomic_wait.h (__atomic_spin): Merge spin loops. 3774 1.1 mrg 3775 1.1 mrg 2022-07-20 Jonathan Wakely <jwakely (a] redhat.com> 3776 1.1 mrg 3777 1.1 mrg PR libstdc++/100823 3778 1.1 mrg * include/bits/stl_iterator.h (common_iterator): Define 3779 1.1 mrg destructor, copy constructor and move constructor as trivial 3780 1.1 mrg when the underlying types allow. 3781 1.1 mrg * testsuite/24_iterators/common_iterator/100823.cc: Check 3782 1.1 mrg triviality of special members. 3783 1.1 mrg 3784 1.1 mrg 2022-07-20 Jonathan Wakely <jwakely (a] redhat.com> 3785 1.1 mrg 3786 1.1 mrg PR libstdc++/100823 3787 1.1 mrg * include/bits/stl_iterator.h (common_iterator): Define move 3788 1.1 mrg constructor and move assignment operator. 3789 1.1 mrg (common_iterator::_M_assign): New function implementing 3790 1.1 mrg assignment. 3791 1.1 mrg (common_iterator::operator=): Use _M_assign. 3792 1.1 mrg (common_iterator::_S_valueless): New constant. 3793 1.1 mrg * testsuite/24_iterators/common_iterator/100823.cc: New test. 3794 1.1 mrg 3795 1.1 mrg 2022-07-20 Jonathan Wakely <jwakely (a] redhat.com> 3796 1.1 mrg 3797 1.1 mrg * include/bits/stl_iterator.h (common_iterator): Fix incorrect 3798 1.1 mrg uses of is_nothrow_assignable_v. Fix inconsistent constraints on 3799 1.1 mrg friend declaration. Do not move argument in copy constructor. 3800 1.1 mrg * testsuite/24_iterators/common_iterator/1.cc: Check for 3801 1.1 mrg noexcept constructibnle/assignable. 3802 1.1 mrg 3803 1.1 mrg 2022-07-19 Franois Dumont <fdumont (a] gcc.gnu.org> 3804 1.1 mrg 3805 1.1 mrg * include/debug/debug.h [_GLIBCXX_DEBUG](__glibcxx_requires_string): Define 3806 1.1 mrg using _GLIBCXX_DEBUG_PEDASSERT. 3807 1.1 mrg [_GLIBCXX_DEBUG](__glibcxx_requires_string_len): Likewise. 3808 1.1 mrg * include/debug/macros.h 3809 1.1 mrg (__glibcxx_check_string, __glibcxx_check_string_len): Move... 3810 1.1 mrg * include/debug/string 3811 1.1 mrg (__glibcxx_check_string, __glibcxx_check_string_len): ...here. And define depending 3812 1.1 mrg on _GLIBCXX_DEBUG_PEDANTIC no matter if _GLIBCXX_DEBUG is defined. 3813 1.1 mrg Add using of std::string find, rfind, find_first_of, find_last_of, find_first_not_of 3814 1.1 mrg and find_last_not_of. Remove debug implementations having no debug assertion. 3815 1.1 mrg * testsuite/util/testsuite_string.h: New file. Provides __gnu_test::string and 3816 1.1 mrg __gnu_test::wtring which definition depends on _GLIBCXX_DEBUG. 3817 1.1 mrg * testsuite/21_strings/basic_string/debug/find1_neg.cc: New test case. 3818 1.1 mrg * testsuite/21_strings/basic_string/debug/find2_neg.cc: New test case. 3819 1.1 mrg * testsuite/21_strings/basic_string/operations/find/char/1.cc: 3820 1.1 mrg Include <testsuite_string.h> and use __gnu_test::string. 3821 1.1 mrg * testsuite/21_strings/basic_string/operations/find/char/2.cc: Likewise. 3822 1.1 mrg * testsuite/21_strings/basic_string/operations/find/char/3.cc: Likewise. 3823 1.1 mrg * testsuite/21_strings/basic_string/operations/find/char/4.cc: Likewise. 3824 1.1 mrg * testsuite/21_strings/basic_string/operations/find/char/5.cc: Likewise. 3825 1.1 mrg * testsuite/21_strings/basic_string/operations/find/char/6.cc: Likewise. 3826 1.1 mrg * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc: 3827 1.1 mrg Include <testsuite_string.h> and use __gnu_test::wstring. 3828 1.1 mrg * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc: Likewise. 3829 1.1 mrg * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc: Likewise. 3830 1.1 mrg * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc: Likewise. 3831 1.1 mrg * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: Likewise. 3832 1.1 mrg * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: Likewise. 3833 1.1 mrg 3834 1.1 mrg 2022-07-19 Jonathan Wakely <jwakely (a] redhat.com> 3835 1.1 mrg 3836 1.1 mrg * include/std/type_traits (__cpp_lib_reference_from_temporary) 3837 1.1 mrg (reference_constructs_from_temporary) 3838 1.1 mrg (reference_converts_from_temporary): Only define when the 3839 1.1 mrg built-ins are available. 3840 1.1 mrg 3841 1.1 mrg 2022-07-19 Marco Falke <falke.marco (a] gmail.com> 3842 1.1 mrg 3843 1.1 mrg * include/std/charconv (__from_chars_alnum_to_val): Replace 3844 1.1 mrg implicit conversion from int to unsigned char with explicit 3845 1.1 mrg cast. 3846 1.1 mrg 3847 1.1 mrg 2022-07-19 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 3848 1.1 mrg 3849 1.1 mrg * configure: Regnerate. 3850 1.1 mrg * configure.ac (newlib, *-rtems*): Remove HAVE_POLL. 3851 1.1 mrg 3852 1.1 mrg 2022-07-18 Franois Dumont <fdumont (a] gcc.gnu.org> 3853 1.1 mrg 3854 1.1 mrg * include/bits/stl_algo.h 3855 1.1 mrg (__merge_adaptive): Adapt to merge only when buffer is large enough.. 3856 1.1 mrg (__merge_adaptive_resize): New, adapt merge when buffer is too small. 3857 1.1 mrg (__inplace_merge): Adapt, use latter. 3858 1.1 mrg (__stable_sort_adaptive): Adapt to sort only when buffer is large enough. 3859 1.1 mrg (__stable_sort_adaptive_resize): New, adapt sort when buffer is too small. 3860 1.1 mrg (__stable_sort): Adapt, use latter. 3861 1.1 mrg 3862 1.1 mrg 2022-07-15 Marek Polacek <polacek (a] redhat.com> 3863 1.1 mrg 3864 1.1 mrg PR c++/104477 3865 1.1 mrg * include/std/type_traits (reference_constructs_from_temporary, 3866 1.1 mrg reference_converts_from_temporary): New class templates. 3867 1.1 mrg (reference_constructs_from_temporary_v, 3868 1.1 mrg reference_converts_from_temporary_v): New variable templates. 3869 1.1 mrg (__cpp_lib_reference_from_temporary): Define for C++23. 3870 1.1 mrg * include/std/version (__cpp_lib_reference_from_temporary): Define for 3871 1.1 mrg C++23. 3872 1.1 mrg * testsuite/20_util/variable_templates_for_traits.cc: Test 3873 1.1 mrg reference_constructs_from_temporary_v and 3874 1.1 mrg reference_converts_from_temporary_v. 3875 1.1 mrg * testsuite/20_util/reference_from_temporary/value.cc: New test. 3876 1.1 mrg * testsuite/20_util/reference_from_temporary/value2.cc: New test. 3877 1.1 mrg * testsuite/20_util/reference_from_temporary/version.cc: New test. 3878 1.1 mrg 3879 1.1 mrg 2022-07-12 Jonathan Wakely <jwakely (a] redhat.com> 3880 1.1 mrg 3881 1.1 mrg PR libstdc++/106248 3882 1.1 mrg * include/std/istream [C++17] (operator>>(istream&, char*)): 3883 1.1 mrg Set eofbit if we stopped extracting at EOF. 3884 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/char/pr106248.cc: 3885 1.1 mrg New test. 3886 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/wchar_t/pr106248.cc: 3887 1.1 mrg New test. 3888 1.1 mrg 3889 1.1 mrg 2022-07-12 Jonathan Wakely <jwakely (a] redhat.com> 3890 1.1 mrg 3891 1.1 mrg * include/bits/stl_iterator.h (__iter_to_alloc_t): Replace 3892 1.1 mrg add_const_t with const-qualifier. 3893 1.1 mrg * include/bits/utility.h (tuple_element<N, cv T>): Likewise for 3894 1.1 mrg all cv-qualifiers. 3895 1.1 mrg * include/std/type_traits (add_const, add_volatile): Replace 3896 1.1 mrg typedef-declaration with using-declaration. 3897 1.1 mrg (add_cv): Replace add_const and add_volatile with cv-qualifiers. 3898 1.1 mrg * include/std/variant (variant_alternative<N, cv T>): Replace 3899 1.1 mrg add_const_t, add_volatile_t and add_cv_t etc. with cv-qualifiers. 3900 1.1 mrg 3901 1.1 mrg 2022-07-09 Franois Dumont <fdumont (a] gcc.gnu.org> 3902 1.1 mrg 3903 1.1 mrg * include/std/string: Remove obsolete comment about char_traits.h including 3904 1.1 mrg stl_algobase.h. 3905 1.1 mrg 3906 1.1 mrg 2022-07-07 Jonathan Wakely <jwakely (a] redhat.com> 3907 1.1 mrg 3908 1.1 mrg PR c++/89074 3909 1.1 mrg * include/bits/char_traits.h (__gnu_cxx::char_traits::move): 3910 1.1 mrg Remove workaround for front-end bug. 3911 1.1 mrg 3912 1.1 mrg 2022-07-05 Alexandre Oliva <oliva (a] adacore.com> 3913 1.1 mrg 3914 1.1 mrg * testsuite/util/testsuite_fs.h (nonexistent_path): Explain 3915 1.1 mrg why we need the typecast. 3916 1.1 mrg 3917 1.1 mrg 2022-07-05 Alexandre Oliva <oliva (a] adacore.com> 3918 1.1 mrg 3919 1.1 mrg * testsuite/util/testsuite_fs.h (nonexistent_path): Convert 3920 1.1 mrg the getpid result to an integral type. 3921 1.1 mrg 3922 1.1 mrg 2022-07-01 Jonathan Wakely <jwakely (a] redhat.com> 3923 1.1 mrg 3924 1.1 mrg PR libstdc++/106162 3925 1.1 mrg * include/Makefile.am (largefile-config.h): Add 3926 1.1 mrg stamp-${host_alias} prerequisite. 3927 1.1 mrg * include/Makefile.in: Regenerate. 3928 1.1 mrg 3929 1.1 mrg 2022-07-01 Jonathan Wakely <jwakely (a] redhat.com> 3930 1.1 mrg 3931 1.1 mrg * include/bits/fs_ops.h: Add nodiscard to all pure functions. 3932 1.1 mrg * include/experimental/bits/fs_ops.h: Likewise. 3933 1.1 mrg * testsuite/27_io/filesystem/operations/all.cc: Do not discard 3934 1.1 mrg results of absolute and canonical. 3935 1.1 mrg * testsuite/27_io/filesystem/operations/absolute.cc: Cast 3936 1.1 mrg discarded result to void. 3937 1.1 mrg * testsuite/27_io/filesystem/operations/canonical.cc: Likewise. 3938 1.1 mrg * testsuite/27_io/filesystem/operations/exists.cc: Likewise. 3939 1.1 mrg * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise. 3940 1.1 mrg * testsuite/27_io/filesystem/operations/read_symlink.cc: 3941 1.1 mrg Likewise. 3942 1.1 mrg * testsuite/27_io/filesystem/operations/status.cc: Likewise. 3943 1.1 mrg * testsuite/27_io/filesystem/operations/symlink_status.cc: 3944 1.1 mrg Likewise. 3945 1.1 mrg * testsuite/27_io/filesystem/operations/temp_directory_path.cc: 3946 1.1 mrg Likewise. 3947 1.1 mrg * testsuite/experimental/filesystem/operations/canonical.cc: 3948 1.1 mrg Likewise. 3949 1.1 mrg * testsuite/experimental/filesystem/operations/exists.cc: 3950 1.1 mrg Likewise. 3951 1.1 mrg * testsuite/experimental/filesystem/operations/is_empty.cc: 3952 1.1 mrg Likewise. 3953 1.1 mrg * testsuite/experimental/filesystem/operations/read_symlink.cc: 3954 1.1 mrg Likewise. 3955 1.1 mrg * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 3956 1.1 mrg Likewise. 3957 1.1 mrg 3958 1.1 mrg 2022-07-01 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 3959 1.1 mrg 3960 1.1 mrg * configure: Regnerate. 3961 1.1 mrg * configure.ac (newlib, *-rtems*): Enable TLS support for all RTEMS 3962 1.1 mrg targets except bfin, lm32, mips, moxie, or1k, and v850. 3963 1.1 mrg For all RTEMS targets, define HAVE_ALIGNED_ALLOC, HAVE_AT_QUICK_EXIT, 3964 1.1 mrg HAVE_LINK, HAVE_POLL, HAVE_QUICK_EXIT, HAVE_READLINK, HAVE_SETENV, 3965 1.1 mrg HAVE_SLEEP, HAVE_SOCKATMARK, HAVE_STRERROR_L, HAVE_SYMLINK, 3966 1.1 mrg HAVE_TRUNCATE, and HAVE_USLEEP. 3967 1.1 mrg * crossconfig.m4 (*-rtems*): Remove. 3968 1.1 mrg 3969 1.1 mrg 2022-06-30 Jonathan Wakely <jwakely (a] redhat.com> 3970 1.1 mrg 3971 1.1 mrg * include/bits/utility.h: Fix comment typos. 3972 1.1 mrg 3973 1.1 mrg 2022-06-30 Jonathan Wakely <jwakely (a] redhat.com> 3974 1.1 mrg 3975 1.1 mrg * src/c++17/fs_ops.cc (fs::temp_directory_path()): Include path 3976 1.1 mrg in exception. 3977 1.1 mrg (fs::temp_directory_path(error_code&)): Rearrange to more 3978 1.1 mrg closely match the structure of the first overload. 3979 1.1 mrg * src/filesystem/ops.cc (fs::temp_directory_path): Likewise. 3980 1.1 mrg * testsuite/27_io/filesystem/operations/temp_directory_path.cc: 3981 1.1 mrg Check that exception contains the path. 3982 1.1 mrg * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 3983 1.1 mrg Likewise. 3984 1.1 mrg 3985 1.1 mrg 2022-06-30 Jonathan Wakely <jwakely (a] redhat.com> 3986 1.1 mrg 3987 1.1 mrg PR libstdc++/88881 3988 1.1 mrg * src/filesystem/ops.cc (has_trailing_slash): New helper 3989 1.1 mrg function. 3990 1.1 mrg (fs::status): Strip trailing slashes. 3991 1.1 mrg (fs::symlink_status): Likewise. 3992 1.1 mrg * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 3993 1.1 mrg Clean the environment before each test and use TMP instead of 3994 1.1 mrg TMPDIR so the test passes on Windows. 3995 1.1 mrg 3996 1.1 mrg 2022-06-28 Jonathan Wakely <jwakely (a] redhat.com> 3997 1.1 mrg 3998 1.1 mrg * src/filesystem/dir-common.h (_Dir_base::_At_path): 3999 1.1 mrg Use char_type consistently for paths. 4000 1.1 mrg 4001 1.1 mrg 2022-06-28 Jonathan Wakely <jwakely (a] redhat.com> 4002 1.1 mrg 4003 1.1 mrg * src/c++17/fs_dir.cc (_Dir::dir_and_pathname):: Replace with 4004 1.1 mrg current() returning _At_path. 4005 1.1 mrg (_Dir::_Dir, _Dir::open_subdir, _Dir::do_unlink): Adjust. 4006 1.1 mrg * src/filesystem/dir-common.h (_Dir_base::_At_path): New class. 4007 1.1 mrg (_Dir_base::_Dir_Base, _Dir_base::openat): Use _At_path. 4008 1.1 mrg * src/filesystem/dir.cc (_Dir::dir_and_pathname): Replace with 4009 1.1 mrg current() returning _At_path. 4010 1.1 mrg (_Dir::_Dir, _Dir::open_subdir): Adjust. 4011 1.1 mrg 4012 1.1 mrg 2022-06-28 Jonathan Wakely <jwakely (a] redhat.com> 4013 1.1 mrg 4014 1.1 mrg * src/c++17/fs_dir.cc (_Dir::_Dir) [!_GLIBCXX_HAVE_OPENAT]: 4015 1.1 mrg Always store pathname if we don't have openat or unlinkat, 4016 1.1 mrg because the full path is needed to open sub-directories and 4017 1.1 mrg remove entries. 4018 1.1 mrg 4019 1.1 mrg 2022-06-28 Jonathan Wakely <jwakely (a] redhat.com> 4020 1.1 mrg 4021 1.1 mrg * testsuite/20_util/from_chars/4.cc: Only use log2 if C99 math 4022 1.1 mrg functions are available. 4023 1.1 mrg 4024 1.1 mrg 2022-06-27 Alexandre Oliva <oliva (a] adacore.com> 4025 1.1 mrg 4026 1.1 mrg * testsuite/20_util/to_chars/long_double.cc: Use cmath 4027 1.1 mrg long double overloads for nexttoward and ldexp. 4028 1.1 mrg 4029 1.1 mrg 2022-06-27 Alexandre Oliva <oliva (a] adacore.com> 4030 1.1 mrg 4031 1.1 mrg * testsuite/experimental/simd/standard_abi_usable.cc: Require 4032 1.1 mrg cmath support. 4033 1.1 mrg * testsuite/experimental/simd/standard_abi_usable_2.cc: 4034 1.1 mrg Likewise. 4035 1.1 mrg 4036 1.1 mrg 2022-06-27 Alexandre Oliva <oliva (a] adacore.com> 4037 1.1 mrg 4038 1.1 mrg * testsuite/26_numerics/complex/proj.cc: Skip test in the 4039 1.1 mrg circumstances in which the implementation of proj is known to 4040 1.1 mrg be broken. 4041 1.1 mrg 4042 1.1 mrg 2022-06-27 Alexandre Oliva <oliva (a] adacore.com> 4043 1.1 mrg 4044 1.1 mrg * src/c++17/fs_dir.cc (dir_and_pathname): Use dirfd if 4045 1.1 mrg _GLIBCXX_HAVE_OPENAT. 4046 1.1 mrg 4047 1.1 mrg 2022-06-27 Alexandre Oliva <oliva (a] adacore.com> 4048 1.1 mrg 4049 1.1 mrg * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc 4050 1.1 mrg (test06): Don't create symlinks when NO_SYMLINKS is defined. 4051 1.1 mrg 4052 1.1 mrg 2022-06-27 Alexandre Oliva <oliva (a] adacore.com> 4053 1.1 mrg 4054 1.1 mrg * testsuite/lib/dg-options.exp (add_options_for_net_ts): 4055 1.1 mrg Add -Wl,--gc-sections for RTEMS targets. 4056 1.1 mrg * testsuite/experimental/net/timer/waitable/dest.cc: Link-time 4057 1.1 mrg xfail on RTEMS. 4058 1.1 mrg * testsuite/experimental/net/timer/waitable/ops.cc: Likewise. 4059 1.1 mrg * testsuite/experimental/net/internet/resolver/ops/lookup.cc: 4060 1.1 mrg Execution-time xfail on RTEMS. 4061 1.1 mrg * testsuite/experimental/net/internet/resolver/ops/reverse.cc: 4062 1.1 mrg Likewise. 4063 1.1 mrg 4064 1.1 mrg 2022-06-27 Jonathan Wakely <jwakely (a] redhat.com> 4065 1.1 mrg 4066 1.1 mrg * testsuite/ext/mt_allocator/22309_thread.cc: Include <string>. 4067 1.1 mrg 4068 1.1 mrg 2022-06-27 Joel Brobecker <brobecker (a] adacore.com> 4069 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 4070 1.1 mrg 4071 1.1 mrg * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): 4072 1.1 mrg Always include a counter in the filename returned. 4073 1.1 mrg 4074 1.1 mrg 2022-06-27 Jonathan Wakely <jwakely (a] redhat.com> 4075 1.1 mrg 4076 1.1 mrg * include/bits/move_only_function.h (_Never_valueless_alt): 4077 1.1 mrg Define partial specialization for std::move_only_function. 4078 1.1 mrg 4079 1.1 mrg 2022-06-27 Jonathan Wakely <jwakely (a] redhat.com> 4080 1.1 mrg 4081 1.1 mrg * include/std/variant (_Build_FUN::_S_fun): Define fallback case 4082 1.1 mrg as deleted. 4083 1.1 mrg (__accepted_index, _Extra_visit_slot_needed): Replace class 4084 1.1 mrg templates with variable templates. 4085 1.1 mrg 4086 1.1 mrg 2022-06-27 Jonathan Wakely <jwakely (a] redhat.com> 4087 1.1 mrg 4088 1.1 mrg * include/bits/fs_path.h (__is_path_iter_src): Replace class 4089 1.1 mrg template with variable template. 4090 1.1 mrg 4091 1.1 mrg 2022-06-27 Jonathan Wakely <jwakely (a] redhat.com> 4092 1.1 mrg 4093 1.1 mrg * include/bits/chrono.h (is_clock_v): Define to false. 4094 1.1 mrg (is_clock_v<T>): Define partial specialization for true cases. 4095 1.1 mrg (is_clock): Define in terms of is_clock_v. 4096 1.1 mrg 4097 1.1 mrg 2022-06-24 Xi Ruoyao <xry111 (a] xry111.site> 4098 1.1 mrg 4099 1.1 mrg * scripts/extract_symvers.in: Use grep -E instead of egrep. 4100 1.1 mrg * scripts/run_doxygen: Likewise. 4101 1.1 mrg 4102 1.1 mrg 2022-06-24 Alexandre Oliva <oliva (a] adacore.com> 4103 1.1 mrg 4104 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for 4105 1.1 mrg openat. 4106 1.1 mrg * configure, config.h.in: Rebuilt. 4107 1.1 mrg * src/filesystem/dir-common.h (openat): Use ::openat if 4108 1.1 mrg _GLIBCXX_HAVE_OPENAT. 4109 1.1 mrg * src/filesystem/dir.cc (dir_and_pathname): Use dirfd if 4110 1.1 mrg _GLIBCXX_HAVE_OPENAT. 4111 1.1 mrg 4112 1.1 mrg 2022-06-24 Alexandre Oliva <oliva (a] adacore.com> 4113 1.1 mrg 4114 1.1 mrg * testsuite/27_io/filesystem/operations/rename.cc: xfail on 4115 1.1 mrg rtems. 4116 1.1 mrg * testsuite/experimental/filesystem/operations/rename.cc: 4117 1.1 mrg Likewise. 4118 1.1 mrg 4119 1.1 mrg 2022-06-24 Alexandre Oliva <oliva (a] adacore.com> 4120 1.1 mrg 4121 1.1 mrg * testsuite/util/testsuite_fs.h (NO_LAST_WRITE_TIME): Define 4122 1.1 mrg when appropriate. 4123 1.1 mrg * testsuite/lib/libstdc++.exp 4124 1.1 mrg (check_v3_target_fs_last_write_time): New. 4125 1.1 mrg * testsuite/lib/dg-options.exp (dg-require-target-fs-lwt): 4126 1.1 mrg New. 4127 1.1 mrg * testsuite/27_io/filesystem/operations/last_write_time.cc: 4128 1.1 mrg Skip the test if the features are unavailable. 4129 1.1 mrg * testsuite/experimental/filesystem/operations/last_write_time.cc: 4130 1.1 mrg Likewise. 4131 1.1 mrg 4132 1.1 mrg 2022-06-24 Alexandre Oliva <oliva (a] adacore.com> 4133 1.1 mrg 4134 1.1 mrg * testsuite/util/testsuite_fs.h (NO_SPACE): Define if 4135 1.1 mrg appropriate. 4136 1.1 mrg * testsuite/lib/libstdc++.exp (check_v3_target_fs_space): New. 4137 1.1 mrg * testsuite/lib/dg-options.exp (dg-require-target-fs-space): 4138 1.1 mrg New. 4139 1.1 mrg * testsuite/27_io/filesystem/operations/space.cc: Require 4140 1.1 mrg target-fs-space. 4141 1.1 mrg * testsuite/experimental/filesystem/operations/space.cc: 4142 1.1 mrg Likewise. 4143 1.1 mrg 4144 1.1 mrg 2022-06-24 Alexandre Oliva <oliva (a] adacore.com> 4145 1.1 mrg 4146 1.1 mrg * testsuite/util/testsuite_fs.h (NO_SYMLINKS): Define on 4147 1.1 mrg mingw and when create_symlink is a dummy. 4148 1.1 mrg * testsuite/27_io/filesystem/operations/symlink_status.cc: 4149 1.1 mrg Drop mingw xfail. 4150 1.1 mrg (test01, test02): Don't create symlinks when NO_SYMLINKS is 4151 1.1 mrg defined. 4152 1.1 mrg * testsuite/27_io/filesystem/operations/canonical.cc (test03): 4153 1.1 mrg Likewise. 4154 1.1 mrg * testsuite/27_io/filesystem/operations/copy.cc (test02): 4155 1.1 mrg Likewise. 4156 1.1 mrg * testsuite/27_io/filesystem/operations/create_directories.cc 4157 1.1 mrg (test04): Likewise. 4158 1.1 mrg * testsuite/27_io/filesystem/operations/create_directory.cc 4159 1.1 mrg (test01): Likewise. 4160 1.1 mrg * testsuite/27_io/filesystem/operations/permissions.cc 4161 1.1 mrg (test03, test04): Likewise. 4162 1.1 mrg * testsuite/27_io/filesystem/operations/remove.cc (test01): 4163 1.1 mrg Likewise. 4164 1.1 mrg * testsuite/27_io/filesystem/operations/remove_all.cc (test01): 4165 1.1 mrg Likewise. 4166 1.1 mrg * testsuite/27_io/filesystem/operations/rename.cc 4167 1.1 mrg (test_symlinks): Likewise. 4168 1.1 mrg * testsuite/27_io/filesystem/operations/weakly_canonical.cc 4169 1.1 mrg (test01): Likewise. 4170 1.1 mrg * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc 4171 1.1 mrg (test06): Likewise. 4172 1.1 mrg * testsuite/experimental/filesystem/operations/copy.cc 4173 1.1 mrg (test01): Likewise. 4174 1.1 mrg * testsuite/experimental/filesystem/operations/create_directories.cc 4175 1.1 mrg (test04): Likewise. 4176 1.1 mrg * testsuite/experimental/filesystem/operations/create_directory.cc 4177 1.1 mrg (test01): Likewise. 4178 1.1 mrg * testsuite/experimental/filesystem/operations/permissions.cc 4179 1.1 mrg (test03, test04): Likewise. 4180 1.1 mrg * testsuite/experimental/filesystem/operations/remove.cc 4181 1.1 mrg (test01): Likewise. 4182 1.1 mrg * testsuite/experimental/filesystem/operations/remove_all.cc 4183 1.1 mrg (test01): Likewise. 4184 1.1 mrg * testsuite/experimental/filesystem/operations/rename.cc 4185 1.1 mrg (test01): Likewise. 4186 1.1 mrg * testsuite/lib/libstdc++.exp 4187 1.1 mrg (v3_check_preprocessor_condition): Add optional inc parameter. 4188 1.1 mrg Add it to the test program after include bits/c++config.h. 4189 1.1 mrg (check_v3_target_fs_symlinks): New. 4190 1.1 mrg * testsuite/lib/dg-options.exp 4191 1.1 mrg (dg-require-target-fs-symlinks): New. 4192 1.1 mrg * testsuite/27_io/filesystem/operations/read_symlink.cc: 4193 1.1 mrg Replace mingw xfail with require target-fs-symlinks. 4194 1.1 mrg * testsuite/experimental/filesystem/operations/read_symlink.cc: 4195 1.1 mrg Likewise. 4196 1.1 mrg 4197 1.1 mrg 2022-06-24 Alexandre Oliva <oliva (a] adacore.com> 4198 1.1 mrg 4199 1.1 mrg * testsuite/27_io/filesystem/operations/copy.cc (test02): 4200 1.1 mrg Select TO after creating FROM. 4201 1.1 mrg (test03, test04): Likewise. 4202 1.1 mrg * testsuite/experimental/filesystem/operations/copy.cc 4203 1.1 mrg (test02, test03, test04): Likewise. 4204 1.1 mrg 4205 1.1 mrg 2022-06-24 Alexandre Oliva <oliva (a] adacore.com> 4206 1.1 mrg 4207 1.1 mrg * testsuite/30_threads/thread/native_handle/cancel.cc: Add an 4208 1.1 mrg explicit cancellation point in case sleep_for lacks one. 4209 1.1 mrg 4210 1.1 mrg 2022-06-24 Alexandre Oliva <oliva (a] adacore.com> 4211 1.1 mrg 4212 1.1 mrg * testsuite/lib/dg-options.exp (add_options_for_net_ts): Add 4213 1.1 mrg -lbsd for RTEMS targets. 4214 1.1 mrg 4215 1.1 mrg 2022-06-23 Jonathan Wakely <jwakely (a] redhat.com> 4216 1.1 mrg 4217 1.1 mrg * testsuite/27_io/filesystem/iterators/error_reporting.cc: Use 4218 1.1 mrg rmdir to remove directories. 4219 1.1 mrg * testsuite/experimental/filesystem/iterators/error_reporting.cc: 4220 1.1 mrg Likewise. 4221 1.1 mrg 4222 1.1 mrg 2022-06-23 Jonathan Wakely <jwakely (a] redhat.com> 4223 1.1 mrg 4224 1.1 mrg * testsuite/26_numerics/random/random_device/entropy.cc: Use 4225 1.1 mrg numeric_limits<unsigned>::digits. 4226 1.1 mrg 4227 1.1 mrg 2022-06-22 Alexandre Oliva <oliva (a] adacore.com> 4228 1.1 mrg 4229 1.1 mrg * libsupc++/eh_globals.cc [!_GLIBCXX_HAVE_TLS] 4230 1.1 mrg (__eh_globals_init::~__eh_globals_init): Clear _S_init first. 4231 1.1 mrg 4232 1.1 mrg 2022-06-22 Alexandre Oliva <oliva (a] adacore.com> 4233 1.1 mrg 4234 1.1 mrg * testsuite/30_threads/this_thread/60421.cc (test02): Call 4235 1.1 mrg sched_yield. 4236 1.1 mrg 4237 1.1 mrg 2022-06-22 Alexandre Oliva <oliva (a] adacore.com> 4238 1.1 mrg 4239 1.1 mrg * testsuite/20_util/to_chars/long_double.cc: Require cmath. 4240 1.1 mrg 4241 1.1 mrg 2022-06-22 Alexandre Oliva <oliva (a] adacore.com> 4242 1.1 mrg 4243 1.1 mrg * testsuite/23_containers/bitset/cons/dr1325-2.cc: Work around 4244 1.1 mrg global struct bitset. 4245 1.1 mrg * testsuite/23_containers/bitset/ext/15361.cc: Likewise. 4246 1.1 mrg * testsuite/23_containers/bitset/input/1.cc: Likewise. 4247 1.1 mrg * testsuite/23_containers/bitset/to_string/1.cc: Likewise. 4248 1.1 mrg * testsuite/23_containers/bitset/to_string/dr396.cc: Likewise. 4249 1.1 mrg 4250 1.1 mrg 2022-06-17 Jonathan Wakely <jwakely (a] redhat.com> 4251 1.1 mrg 4252 1.1 mrg * testsuite/21_strings/basic_string/cons/char/105995.cc: Add 4253 1.1 mrg missing #include. 4254 1.1 mrg 4255 1.1 mrg 2022-06-16 Jonathan Wakely <jwakely (a] redhat.com> 4256 1.1 mrg 4257 1.1 mrg PR libstdc++/105995 4258 1.1 mrg * include/bits/basic_string.h (_M_use_local_data): Initialize 4259 1.1 mrg the entire SSO buffer. 4260 1.1 mrg * testsuite/21_strings/basic_string/cons/char/105995.cc: New test. 4261 1.1 mrg 4262 1.1 mrg 2022-06-16 Jonathan Wakely <jwakely (a] redhat.com> 4263 1.1 mrg 4264 1.1 mrg PR libstdc++/101482 4265 1.1 mrg * include/ext/vstring.h (operator==): Always check lengths 4266 1.1 mrg before comparing. 4267 1.1 mrg 4268 1.1 mrg 2022-06-15 Franois Dumont <fdumont (a] gcc.gnu.org> 4269 1.1 mrg 4270 1.1 mrg PR libstdc++/105717 4271 1.1 mrg * include/bits/hashtable_policy.h (_ConvertToValueType): New. 4272 1.1 mrg * include/bits/hashtable.h (_Hashtable<>::_M_insert_unique_aux): New. 4273 1.1 mrg (_Hashtable<>::_M_insert(_Arg&&, const _NodeGenerator&, true_type)): Use latters. 4274 1.1 mrg (_Hashtable<>::_M_insert(_Arg&&, const _NodeGenerator&, false_type)): Likewise. 4275 1.1 mrg (_Hashtable(_InputIterator, _InputIterator, size_type, const _Hash&, const _Equal&, 4276 1.1 mrg const allocator_type&, true_type)): Use this.insert range. 4277 1.1 mrg (_Hashtable(_InputIterator, _InputIterator, size_type, const _Hash&, const _Equal&, 4278 1.1 mrg const allocator_type&, false_type)): Use _M_insert. 4279 1.1 mrg * testsuite/23_containers/unordered_map/cons/56112.cc: Check how many times conversion 4280 1.1 mrg is done. 4281 1.1 mrg * testsuite/23_containers/unordered_map/insert/105717.cc: New test. 4282 1.1 mrg * testsuite/23_containers/unordered_set/insert/105717.cc: New test. 4283 1.1 mrg 4284 1.1 mrg 2022-06-14 Jonathan Wakely <jwakely (a] redhat.com> 4285 1.1 mrg 4286 1.1 mrg PR libstdc++/62187 4287 1.1 mrg * include/bits/basic_string.h (operator==): Always compare 4288 1.1 mrg lengths before checking string contents. 4289 1.1 mrg [!__cpp_lib_three_way_comparison] (operator==, operator!=): 4290 1.1 mrg Reorder arguments. 4291 1.1 mrg 4292 1.1 mrg 2022-06-14 Jonathan Wakely <jwakely (a] redhat.com> 4293 1.1 mrg 4294 1.1 mrg PR libstdc++/59048 4295 1.1 mrg * include/bits/basic_string.h (compare): Define inline. 4296 1.1 mrg * include/bits/basic_string.tcc (compare): Remove out-of-line 4297 1.1 mrg definitions. 4298 1.1 mrg * include/bits/cow_string.h (compare): Define inline. 4299 1.1 mrg * testsuite/21_strings/basic_string/operations/compare/char/3.cc: 4300 1.1 mrg New test. 4301 1.1 mrg 4302 1.1 mrg 2022-06-14 Jonathan Wakely <jwakely (a] redhat.com> 4303 1.1 mrg 4304 1.1 mrg * include/bits/new_allocator.h: Fix indentation. 4305 1.1 mrg * include/ext/malloc_allocator.h: Likewise. 4306 1.1 mrg 4307 1.1 mrg 2022-06-14 Jonathan Wakely <jwakely (a] redhat.com> 4308 1.1 mrg 4309 1.1 mrg PR libstdc++/105957 4310 1.1 mrg * include/bits/allocator.h (allocator::allocate): Check for 4311 1.1 mrg overflow in constexpr allocation. 4312 1.1 mrg * testsuite/20_util/allocator/105975.cc: New test. 4313 1.1 mrg 4314 1.1 mrg 2022-06-13 Mark Mentovai <mark (a] mentovai.com> 4315 1.1 mrg 4316 1.1 mrg * include/experimental/bits/fs_path.h (__detail::__null_terminated): 4317 1.1 mrg Rename to __nul_terminated to avoid colliding with a macro in 4318 1.1 mrg Apple's SDK. 4319 1.1 mrg 4320 1.1 mrg 2022-06-13 Jonathan Wakely <jwakely (a] redhat.com> 4321 1.1 mrg 4322 1.1 mrg * include/std/atomic (__atomic_val_t): Use __type_identity_t 4323 1.1 mrg instead of atomic<T>::value_type, as per LWG 3220. 4324 1.1 mrg * testsuite/29_atomics/atomic/lwg3220.cc: New test. 4325 1.1 mrg 4326 1.1 mrg 2022-06-10 Jonathan Wakely <jwakely (a] redhat.com> 4327 1.1 mrg 4328 1.1 mrg PR libstdc++/105844 4329 1.1 mrg * include/experimental/numeric (experimental::gcd): Simplify 4330 1.1 mrg assertions. Use __abs_r instead of __absu. 4331 1.1 mrg (experimental::lcm): Likewise. Remove use of __detail::__lcm so 4332 1.1 mrg overflow can be detected. 4333 1.1 mrg * include/std/numeric (__detail::__absu): Rename to __abs_r and 4334 1.1 mrg change to allow signed result type, so overflow can be detected. 4335 1.1 mrg (__detail::__lcm): Remove. 4336 1.1 mrg (gcd): Simplify assertions. Use __abs_r instead of __absu. 4337 1.1 mrg (lcm): Likewise. Remove use of __detail::__lcm so overflow can 4338 1.1 mrg be detected. 4339 1.1 mrg * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error lines. 4340 1.1 mrg * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. 4341 1.1 mrg * testsuite/26_numerics/gcd/105844.cc: New test. 4342 1.1 mrg * testsuite/26_numerics/lcm/105844.cc: New test. 4343 1.1 mrg 4344 1.1 mrg 2022-06-10 Jonathan Wakely <jwakely (a] redhat.com> 4345 1.1 mrg 4346 1.1 mrg PR libstdc++/105880 4347 1.1 mrg * libsupc++/eh_globals.cc (eh_globals): Ensure constant init and 4348 1.1 mrg prevent destruction during termination. 4349 1.1 mrg (__eh_globals_init::_M_init): Replace with static member _S_init. 4350 1.1 mrg (__cxxabiv1::__cxa_get_globals_fast): Update. 4351 1.1 mrg (__cxxabiv1::__cxa_get_globals): Likewise. 4352 1.1 mrg 4353 1.1 mrg 2022-06-10 Jonathan Wakely <jwakely (a] redhat.com> 4354 1.1 mrg 4355 1.1 mrg * include/bits/basic_string.h (__hash_str_base): New class 4356 1.1 mrg template. 4357 1.1 mrg (hash<basic_string<C, char_traits<C>, A>>): Define partial 4358 1.1 mrg specialization for each of the standard character types. 4359 1.1 mrg (hash<string>, hash<wstring>, hash<u8string>, hash<u16string>) 4360 1.1 mrg (hash<u32string>): Remove explicit specializations. 4361 1.1 mrg * include/std/string (__hash_string_base): Remove class 4362 1.1 mrg template. 4363 1.1 mrg (hash<pmr::string>, hash<pmr::wstring>, hash<pmr::u8string>) 4364 1.1 mrg (hash<pmr::u16string>, hash<pmr::u32string>): Remove explicit 4365 1.1 mrg specializations. 4366 1.1 mrg * testsuite/21_strings/basic_string/hash/hash.cc: Test with 4367 1.1 mrg custom allocators. 4368 1.1 mrg * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: 4369 1.1 mrg Likewise. 4370 1.1 mrg 4371 1.1 mrg 2022-05-27 Jonathan Wakely <jwakely (a] redhat.com> 4372 1.1 mrg 4373 1.1 mrg PR libstdc++/105671 4374 1.1 mrg * include/std/sstream (basic_stringbuf::_M_high_mark): Add 4375 1.1 mrg always_inline attribute. 4376 1.1 mrg 4377 1.1 mrg 2022-05-26 Jonathan Wakely <jwakely (a] redhat.com> 4378 1.1 mrg 4379 1.1 mrg PR libstdc++/105681 4380 1.1 mrg * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp: 4381 1.1 mrg Limit ga_sizes array to values that fit in size_t. 4382 1.1 mrg * include/ext/random [__SIZE_WIDTH < 32] (sfmt86243) 4383 1.1 mrg (sfmt86243_64, sfmt132049, sfmt132049_64, sfmt216091) 4384 1.1 mrg (sfmt216091_64): Do not declare. 4385 1.1 mrg 4386 1.1 mrg 2022-05-26 Jonathan Wakely <jwakely (a] redhat.com> 4387 1.1 mrg 4388 1.1 mrg * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Make 4389 1.1 mrg lookup for ios_errc and future_errc check versioned namespace. 4390 1.1 mrg (StdAtomicPrinter): Strip versioned namespace from typename. 4391 1.1 mrg 4392 1.1 mrg 2022-05-26 Jonathan Wakely <jwakely (a] redhat.com> 4393 1.1 mrg 4394 1.1 mrg * src/c++11/Makefile.am: Add new source file. 4395 1.1 mrg * src/c++11/Makefile.in: Regenerate. 4396 1.1 mrg * src/c++11/cxx11-ios_failure.cc (iostream_category): 4397 1.1 mrg Move to ... 4398 1.1 mrg * src/c++11/ios_errcat.cc: New file. 4399 1.1 mrg * testsuite/27_io/ios_base/failure/error_code.cc: Check that 4400 1.1 mrg std::iostream_category() is defined and used for std::io_errc. 4401 1.1 mrg 4402 1.1 mrg 2022-05-26 Jonathan Wakely <jwakely (a] redhat.com> 4403 1.1 mrg 4404 1.1 mrg * include/bits/stl_iterator.h (counted_iterator::operator++(int)): 4405 1.1 mrg Add 'constexpr' as per LWG 3643. 4406 1.1 mrg * testsuite/24_iterators/counted_iterator/lwg3643.cc: New test. 4407 1.1 mrg 4408 1.1 mrg 2022-05-26 Jonathan Wakely <jwakely (a] redhat.com> 4409 1.1 mrg 4410 1.1 mrg * include/bits/functional_hash.h (__is_fast_hash): Add doxygen 4411 1.1 mrg comment. 4412 1.1 mrg * include/bits/hashtable.h: Do not include <bits/stl_function.h> 4413 1.1 mrg here. 4414 1.1 mrg * include/bits/hashtable_policy.h: Include <bits/stl_pair.h> and 4415 1.1 mrg <bits/functional_hash.h>. 4416 1.1 mrg * include/bits/unordered_map.h: Include required headers. 4417 1.1 mrg * include/bits/unordered_set.h: Likewise. 4418 1.1 mrg * include/std/unordered_map: Do not include headers for indirect 4419 1.1 mrg dependencies. 4420 1.1 mrg * include/std/unordered_set: Likewise. 4421 1.1 mrg 4422 1.1 mrg 2022-05-26 Jonathan Wakely <jwakely (a] redhat.com> 4423 1.1 mrg 4424 1.1 mrg * include/bits/ranges_algobase.h: Do not include 4425 1.1 mrg <bits/stl_iterator_base_types.h>. 4426 1.1 mrg * include/std/string: Likewise. 4427 1.1 mrg * include/std/variant: Likewise. 4428 1.1 mrg 4429 1.1 mrg 2022-05-26 Nathan Sidwell <nathan (a] acm.org> 4430 1.1 mrg 4431 1.1 mrg * include/bits/hashtable.h: Include required headers. 4432 1.1 mrg * include/bits/hashtable_policy.h: Likewise. 4433 1.1 mrg * include/bits/stl_heap.h: Likewise. 4434 1.1 mrg * include/bits/stl_iterator_base_funcs.h: Likewise. 4435 1.1 mrg 4436 1.1 mrg 2022-05-26 Franois Dumont <fdumont (a] gcc.gnu.org> 4437 1.1 mrg 4438 1.1 mrg * python/libstdcxx/v6/printers.py (StdSpanPrinter.__init__): 4439 1.1 mrg Strip typename from version namespace. 4440 1.1 mrg 4441 1.1 mrg 2022-05-26 Jonathan Wakely <jwakely (a] redhat.com> 4442 1.1 mrg 4443 1.1 mrg * python/libstdcxx/v6/printers.py (SharedPointerPrinter): Strip 4444 1.1 mrg versioned namespace from the template argument too. 4445 1.1 mrg 4446 1.1 mrg 2022-05-26 Jonathan Wakely <jwakely (a] redhat.com> 4447 1.1 mrg 4448 1.1 mrg * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc: 4449 1.1 mrg Moved to... 4450 1.1 mrg * testsuite/21_strings/basic_string/modifiers/pop_back/char.cc: 4451 1.1 mrg ...here. 4452 1.1 mrg * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc: 4453 1.1 mrg Moved to... 4454 1.1 mrg * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t.cc: 4455 1.1 mrg ...here. 4456 1.1 mrg * testsuite/21_strings/basic_string/modifiers/swap/wchar_t/constexpr.cc: 4457 1.1 mrg Moved to... 4458 1.1 mrg * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc: 4459 1.1 mrg ...here. 4460 1.1 mrg * testsuite/21_strings/basic_string/modifiers/swap/char/constexpr.cc: 4461 1.1 mrg Moved to... 4462 1.1 mrg * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc: 4463 1.1 mrg ...here. 4464 1.1 mrg * testsuite/21_strings/basic_string/operations/contains/char/1.cc: 4465 1.1 mrg Moved to... 4466 1.1 mrg * testsuite/21_strings/basic_string/operations/contains/char.cc: 4467 1.1 mrg ...here. 4468 1.1 mrg * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: 4469 1.1 mrg Moved to... 4470 1.1 mrg * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: 4471 1.1 mrg ...here. 4472 1.1 mrg * testsuite/21_strings/basic_string/operations/data/char/1.cc: 4473 1.1 mrg Moved to... 4474 1.1 mrg * testsuite/21_strings/basic_string/operations/data/char.cc: 4475 1.1 mrg ...here. 4476 1.1 mrg * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc: 4477 1.1 mrg Moved to... 4478 1.1 mrg * testsuite/21_strings/basic_string/operations/data/wchar_t.cc: 4479 1.1 mrg ...here. 4480 1.1 mrg * testsuite/21_strings/basic_string/operations/ends_with/char/1.cc: 4481 1.1 mrg Moved to... 4482 1.1 mrg * testsuite/21_strings/basic_string/operations/ends_with/char.cc: 4483 1.1 mrg ...here. 4484 1.1 mrg * testsuite/21_strings/basic_string/operations/ends_with/wchar_t/1.cc: 4485 1.1 mrg Moved to... 4486 1.1 mrg * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc: 4487 1.1 mrg ...here. 4488 1.1 mrg * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc: 4489 1.1 mrg Moved to... 4490 1.1 mrg * testsuite/21_strings/basic_string/operations/starts_with/char.cc: 4491 1.1 mrg ...here. 4492 1.1 mrg * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc: 4493 1.1 mrg Moved to... 4494 1.1 mrg * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc: 4495 1.1 mrg ...here. 4496 1.1 mrg * testsuite/21_strings/basic_string/operations/substr/char/1.cc: 4497 1.1 mrg Moved to... 4498 1.1 mrg * testsuite/21_strings/basic_string/operations/substr/char.cc: 4499 1.1 mrg ...here. 4500 1.1 mrg * testsuite/21_strings/basic_string/operations/substr/wchar_t/1.cc: 4501 1.1 mrg Moved to... 4502 1.1 mrg * testsuite/21_strings/basic_string/operations/substr/wchar_t.cc: 4503 1.1 mrg ...here. 4504 1.1 mrg * testsuite/21_strings/basic_string/range_access/char/1.cc: 4505 1.1 mrg Moved to... 4506 1.1 mrg * testsuite/21_strings/basic_string/range_access/char.cc: 4507 1.1 mrg ...here. 4508 1.1 mrg * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: 4509 1.1 mrg Moved to... 4510 1.1 mrg * testsuite/21_strings/basic_string/range_access/wchar_t.cc: 4511 1.1 mrg ...here. 4512 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc: 4513 1.1 mrg Moved to... 4514 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char.cc: 4515 1.1 mrg ...here. 4516 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: 4517 1.1 mrg Moved to... 4518 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t.cc: 4519 1.1 mrg ...here. 4520 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc: 4521 1.1 mrg Moved to... 4522 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char.cc: 4523 1.1 mrg ...here. 4524 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: 4525 1.1 mrg Moved to... 4526 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t.cc: 4527 1.1 mrg ...here. 4528 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: 4529 1.1 mrg Moved to... 4530 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/swap/char.cc: 4531 1.1 mrg ...here. 4532 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: 4533 1.1 mrg Moved to... 4534 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t.cc: 4535 1.1 mrg ...here. 4536 1.1 mrg * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: 4537 1.1 mrg Moved to... 4538 1.1 mrg * testsuite/21_strings/basic_string_view/operations/contains/char.cc: 4539 1.1 mrg ...here. 4540 1.1 mrg * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: 4541 1.1 mrg Moved to... 4542 1.1 mrg * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: 4543 1.1 mrg ...here. 4544 1.1 mrg * testsuite/21_strings/basic_string_view/operations/data/char/1.cc: 4545 1.1 mrg Moved to... 4546 1.1 mrg * testsuite/21_strings/basic_string_view/operations/data/char.cc: 4547 1.1 mrg ...here. 4548 1.1 mrg * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc: 4549 1.1 mrg Moved to... 4550 1.1 mrg * testsuite/21_strings/basic_string_view/operations/data/wchar_t.cc: 4551 1.1 mrg ...here. 4552 1.1 mrg * testsuite/21_strings/basic_string_view/operations/ends_with/char/1.cc: 4553 1.1 mrg Moved to... 4554 1.1 mrg * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc: 4555 1.1 mrg ...here. 4556 1.1 mrg * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t/1.cc: 4557 1.1 mrg Moved to... 4558 1.1 mrg * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc: 4559 1.1 mrg ...here. 4560 1.1 mrg * testsuite/21_strings/basic_string_view/operations/starts_with/char/1.cc: 4561 1.1 mrg Moved to... 4562 1.1 mrg * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc: 4563 1.1 mrg ...here. 4564 1.1 mrg * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t/1.cc: 4565 1.1 mrg Moved to... 4566 1.1 mrg * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc: 4567 1.1 mrg ...here. 4568 1.1 mrg * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc: 4569 1.1 mrg Moved to... 4570 1.1 mrg * testsuite/21_strings/basic_string_view/operations/substr/char.cc: 4571 1.1 mrg ...here. 4572 1.1 mrg * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc: 4573 1.1 mrg Moved to... 4574 1.1 mrg * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc: 4575 1.1 mrg ...here. 4576 1.1 mrg * testsuite/21_strings/basic_string_view/range_access/char/1.cc: 4577 1.1 mrg Moved to... 4578 1.1 mrg * testsuite/21_strings/basic_string_view/range_access/char.cc: 4579 1.1 mrg ...here. 4580 1.1 mrg * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: 4581 1.1 mrg Moved to... 4582 1.1 mrg * testsuite/21_strings/basic_string_view/range_access/wchar_t.cc: 4583 1.1 mrg ...here. 4584 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc: 4585 1.1 mrg Moved to... 4586 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char.cc: 4587 1.1 mrg ...here. 4588 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc: 4589 1.1 mrg Moved to... 4590 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t.cc: 4591 1.1 mrg ...here. 4592 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc: 4593 1.1 mrg Moved to... 4594 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t.cc: 4595 1.1 mrg ...here. 4596 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc: 4597 1.1 mrg Moved to... 4598 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t.cc: 4599 1.1 mrg ...here. 4600 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/1.cc: 4601 1.1 mrg Moved to... 4602 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc: 4603 1.1 mrg ...here. 4604 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc: 4605 1.1 mrg Moved to... 4606 1.1 mrg * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t.cc: 4607 1.1 mrg ...here. 4608 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc: 4609 1.1 mrg Moved to... 4610 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char.cc: 4611 1.1 mrg ...here. 4612 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: 4613 1.1 mrg Moved to... 4614 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t.cc: 4615 1.1 mrg ...here. 4616 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: 4617 1.1 mrg Moved to... 4618 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t.cc: 4619 1.1 mrg ...here. 4620 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc: 4621 1.1 mrg Moved to... 4622 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t.cc: 4623 1.1 mrg ...here. 4624 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc: 4625 1.1 mrg Moved to... 4626 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/int.cc: 4627 1.1 mrg ...here. 4628 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: 4629 1.1 mrg Moved to... 4630 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t.cc: 4631 1.1 mrg ...here. 4632 1.1 mrg * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char/1.cc: 4633 1.1 mrg Moved to... 4634 1.1 mrg * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char.cc: 4635 1.1 mrg ...here. 4636 1.1 mrg * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t/1.cc: 4637 1.1 mrg Moved to... 4638 1.1 mrg * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t.cc: 4639 1.1 mrg ...here. 4640 1.1 mrg * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t/1.cc: 4641 1.1 mrg Moved to... 4642 1.1 mrg * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t.cc: 4643 1.1 mrg ...here. 4644 1.1 mrg * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char8_t/1.cc: 4645 1.1 mrg Moved to... 4646 1.1 mrg * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char8_t.cc: 4647 1.1 mrg ...here. 4648 1.1 mrg * testsuite/21_strings/char_traits/requirements/explicit_instantiation/short/1.cc: 4649 1.1 mrg Moved to... 4650 1.1 mrg * testsuite/21_strings/char_traits/requirements/explicit_instantiation/short.cc: 4651 1.1 mrg ...here. 4652 1.1 mrg * testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t/1.cc: 4653 1.1 mrg Moved to... 4654 1.1 mrg * testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t.cc: 4655 1.1 mrg ...here. 4656 1.1 mrg 4657 1.1 mrg 2022-05-26 Jonathan Wakely <jwakely (a] redhat.com> 4658 1.1 mrg 4659 1.1 mrg * testsuite/20_util/duration/requirements/explicit_instantiation/explicit_instantiation.cc: 4660 1.1 mrg Moved to... 4661 1.1 mrg * testsuite/20_util/duration/requirements/explicit_instantiation.cc: ...here. 4662 1.1 mrg * testsuite/20_util/time_point/requirements/explicit_instantiation/explicit_instantiation.cc: 4663 1.1 mrg Moved to... 4664 1.1 mrg * testsuite/20_util/time_point/requirements/explicit_instantiation.cc: ...here. 4665 1.1 mrg * testsuite/20_util/unique_ptr/requirements/explicit_instantiation/explicit_instantiation.cc: 4666 1.1 mrg Moved to... 4667 1.1 mrg * testsuite/20_util/unique_ptr/requirements/explicit_instantiation.cc: ...here. 4668 1.1 mrg 4669 1.1 mrg 2022-05-25 Jason Merrill <jason (a] redhat.com> 4670 1.1 mrg 4671 1.1 mrg * testsuite/20_util/function_objects/constexpr_searcher.cc: Add 4672 1.1 mrg constexpr. 4673 1.1 mrg 4674 1.1 mrg 2022-05-20 Jonathan Wakely <jwakely (a] redhat.com> 4675 1.1 mrg 4676 1.1 mrg * testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc: 4677 1.1 mrg Run fewer iterations for simulator targets. 4678 1.1 mrg * testsuite/26_numerics/random/binomial_distribution/operators/values.cc: 4679 1.1 mrg Likewise. 4680 1.1 mrg * testsuite/26_numerics/random/discrete_distribution/operators/values.cc: 4681 1.1 mrg Likewise. 4682 1.1 mrg * testsuite/26_numerics/random/geometric_distribution/operators/values.cc: 4683 1.1 mrg Likewise. 4684 1.1 mrg * testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc: 4685 1.1 mrg Likewise. 4686 1.1 mrg * testsuite/26_numerics/random/poisson_distribution/operators/values.cc: 4687 1.1 mrg Likewise. 4688 1.1 mrg * testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc: 4689 1.1 mrg Likewise. 4690 1.1 mrg 4691 1.1 mrg 2022-05-19 Jonathan Wakely <jwakely (a] redhat.com> 4692 1.1 mrg 4693 1.1 mrg * include/bits/char_traits.h: Only include <cstdint> when 4694 1.1 mrg necessary. 4695 1.1 mrg * include/std/stacktrace: Use __UINTPTR_TYPE__ instead of 4696 1.1 mrg uintptr_t. 4697 1.1 mrg * src/c++11/cow-stdexcept.cc: Include <stdint.h>. 4698 1.1 mrg * src/c++17/floating_to_chars.cc: Likewise. 4699 1.1 mrg * testsuite/20_util/assume_aligned/1.cc: Include <cstdint>. 4700 1.1 mrg * testsuite/20_util/assume_aligned/3.cc: Likewise. 4701 1.1 mrg * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. 4702 1.1 mrg 4703 1.1 mrg 2022-05-19 Jonathan Wakely <jwakely (a] redhat.com> 4704 1.1 mrg 4705 1.1 mrg * include/bits/basic_string.h: Do not include <ext/atomicity.h> 4706 1.1 mrg here. 4707 1.1 mrg * include/bits/cow_string.h: Include it here. 4708 1.1 mrg 4709 1.1 mrg 2022-05-19 Jonathan Wakely <jwakely (a] redhat.com> 4710 1.1 mrg 4711 1.1 mrg * include/Makefile.am: Add new header. 4712 1.1 mrg * include/Makefile.in: Regenerate. 4713 1.1 mrg * include/bits/memory_resource.h: New file. 4714 1.1 mrg * include/std/deque: Include <bits/memory_resource.h>. 4715 1.1 mrg * include/std/forward_list: Likewise. 4716 1.1 mrg * include/std/list: Likewise. 4717 1.1 mrg * include/std/map: Likewise. 4718 1.1 mrg * include/std/memory_resource (pmr::memory_resource): Move to 4719 1.1 mrg new <bits/memory_resource.h> header. 4720 1.1 mrg (pmr::polymorphic_allocator): Likewise. 4721 1.1 mrg * include/std/regex: Likewise. 4722 1.1 mrg * include/std/set: Likewise. 4723 1.1 mrg * include/std/stacktrace: Likewise. 4724 1.1 mrg * include/std/string: Likewise. 4725 1.1 mrg * include/std/unordered_map: Likewise. 4726 1.1 mrg * include/std/unordered_set: Likewise. 4727 1.1 mrg * include/std/vector: Likewise. 4728 1.1 mrg * testsuite/21_strings/basic_string/types/pmr_typedefs.cc: 4729 1.1 mrg Remove <memory_resource> header and check construction. 4730 1.1 mrg * testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise. 4731 1.1 mrg * testsuite/23_containers/forward_list/pmr_typedefs.cc: 4732 1.1 mrg Likewise. 4733 1.1 mrg * testsuite/23_containers/list/pmr_typedefs.cc: Likewise. 4734 1.1 mrg * testsuite/23_containers/map/pmr_typedefs.cc: Likewise. 4735 1.1 mrg * testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise. 4736 1.1 mrg * testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise. 4737 1.1 mrg * testsuite/23_containers/set/pmr_typedefs.cc: Likewise. 4738 1.1 mrg * testsuite/23_containers/unordered_map/pmr_typedefs.cc: 4739 1.1 mrg Likewise. 4740 1.1 mrg * testsuite/23_containers/unordered_multimap/pmr_typedefs.cc: 4741 1.1 mrg Likewise. 4742 1.1 mrg * testsuite/23_containers/unordered_multiset/pmr_typedefs.cc: 4743 1.1 mrg Likewise. 4744 1.1 mrg * testsuite/23_containers/unordered_set/pmr_typedefs.cc: 4745 1.1 mrg Likewise. 4746 1.1 mrg * testsuite/23_containers/vector/pmr_typedefs.cc: Likewise. 4747 1.1 mrg * testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise. 4748 1.1 mrg 4749 1.1 mrg 2022-05-19 Jonathan Wakely <jwakely (a] redhat.com> 4750 1.1 mrg 4751 1.1 mrg * include/std/memory_resource (polymorphic_allocator): Add 4752 1.1 mrg non-template equality operator, as proposed for LWG 3683. 4753 1.1 mrg * testsuite/20_util/polymorphic_allocator/lwg3683.cc: New test. 4754 1.1 mrg 4755 1.1 mrg 2022-05-17 Jonathan Wakely <jwakely (a] redhat.com> 4756 1.1 mrg 4757 1.1 mrg * src/c++17/memory_resource.cc (set_default_resource): Use 4758 1.1 mrg memory_order_acq_rel. 4759 1.1 mrg (get_default_resource): Use memory_order_acquire. 4760 1.1 mrg 4761 1.1 mrg 2022-05-17 Jonathan Wakely <jwakely (a] redhat.com> 4762 1.1 mrg 4763 1.1 mrg * include/std/memory_resource (new_delete_resource): Add 4764 1.1 mrg nodiscard, returns_nonnull and const attributes. 4765 1.1 mrg (null_memory_resource): Likewise. 4766 1.1 mrg (set_default_resource, get_default_resource): Add returns_nonnull 4767 1.1 mrg attribute. 4768 1.1 mrg (memory_resource::is_equal): Add nodiscard attribute. 4769 1.1 mrg (operator==, operator!=): Likewise. 4770 1.1 mrg 4771 1.1 mrg 2022-05-17 Jonathan Wakely <jwakely (a] redhat.com> 4772 1.1 mrg 4773 1.1 mrg * include/bits/ios_base.h (io_category): Add const and nodiscard 4774 1.1 mrg attributes. 4775 1.1 mrg (make_error_code, make_error_condition): Add nodiscard. 4776 1.1 mrg * include/std/future (future_category): Add const and nodiscard. 4777 1.1 mrg (make_error_code, make_error_condition): Add nodiscard. 4778 1.1 mrg * include/std/system_error (generic_category system_category): 4779 1.1 mrg Add nodiscard. Replace _GLIBCXX_CONST with C++11 attribute. 4780 1.1 mrg (error_code::value, error_code::category, error_code::operator bool) 4781 1.1 mrg (error_condition::value, error_condition::category) 4782 1.1 mrg (error_condition::operator bool, make_error_code) 4783 1.1 mrg (make_error_condition, operator==, operator!=, operator<=>): Add 4784 1.1 mrg nodiscard. 4785 1.1 mrg 4786 1.1 mrg 2022-05-17 Jonathan Wakely <jwakely (a] redhat.com> 4787 1.1 mrg 4788 1.1 mrg * testsuite/20_util/expected/synopsis.cc: Skip for versioned 4789 1.1 mrg namespace. 4790 1.1 mrg * testsuite/27_io/headers/iosfwd/synopsis.cc: Likewise. 4791 1.1 mrg 4792 1.1 mrg 2022-05-17 Jonathan Wakely <jwakely (a] redhat.com> 4793 1.1 mrg 4794 1.1 mrg * src/Makefile.am [ENABLE_SYMVERS_GNU_NAMESPACE] (cxx11_sources): 4795 1.1 mrg Do not build the compatibility*-c++0x.cc objects. 4796 1.1 mrg * src/Makefile.in: Regenerate. 4797 1.1 mrg * src/c++11/compatibility-c++0x.cc [_GLIBCXX_INLINE_VERSION]: 4798 1.1 mrg Refuse to build for the versioned namespace. 4799 1.1 mrg * src/c++11/compatibility-chrono.cc: Likewise. 4800 1.1 mrg * src/c++11/compatibility-condvar.cc: Likewise. 4801 1.1 mrg * src/c++11/compatibility-thread-c++0x.cc: Likewise. 4802 1.1 mrg * src/c++11/chrono.cc (system_clock, steady_clock): 4803 1.1 mrg Use macros to define in inline namespace _V2, matching the 4804 1.1 mrg declarations in <system_error>. 4805 1.1 mrg * src/c++11/system_error.cc (system_category, generic_category): 4806 1.1 mrg Likewise. 4807 1.1 mrg 4808 1.1 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com> 4809 1.1 mrg 4810 1.1 mrg * doc/xml/manual/prerequisites.xml: Fix attributes for external 4811 1.1 mrg hyperlink. 4812 1.1 mrg * doc/html/manual/setup.html: Regenerate. 4813 1.1 mrg 4814 1.1 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com> 4815 1.1 mrg 4816 1.1 mrg * doc/xml/manual/status_cxx2023.xml: Update with gcc-12 support. 4817 1.1 mrg * doc/html/*: Regenerate. 4818 1.1 mrg 4819 1.1 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com> 4820 1.1 mrg 4821 1.1 mrg * doc/xml/manual/intro.xml: Include new chapter. 4822 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Tweak release numbers. 4823 1.1 mrg * doc/xml/manual/status_cxx2023.xml: New file. 4824 1.1 mrg * doc/html/*: Regenerate. 4825 1.1 mrg 4826 1.1 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com> 4827 1.1 mrg 4828 1.1 mrg * doc/html/manual/status.html: Regenerate. 4829 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Fix supported version for 4830 1.1 mrg C++20 bit operations. 4831 1.1 mrg 4832 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4833 1.1 mrg 4834 1.1 mrg * include/bits/std_thread.h (thread::_State, thread::_State_ptr): 4835 1.1 mrg Declare as private unless _GLIBCXX_THREAD_IMPL is defined. 4836 1.1 mrg * src/c++11/thread.cc (_GLIBCXX_THREAD_IMPL): Define. 4837 1.1 mrg 4838 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4839 1.1 mrg 4840 1.1 mrg * include/std/future (launch): Make operators noexcept. 4841 1.1 mrg 4842 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4843 1.1 mrg 4844 1.1 mrg * doc/doxygen/user.cfg.in (PREDEFINED): Replace __exception_ptr 4845 1.1 mrg with "__unspecified__". 4846 1.1 mrg * libsupc++/exception_ptr.h: Improve doxygen docs. 4847 1.1 mrg (__exception_ptr::swap): Also declare in namespace std. 4848 1.1 mrg 4849 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4850 1.1 mrg 4851 1.1 mrg * libsupc++/nested_exception.h (throw_with_nested) [C++17]: Use 4852 1.1 mrg if-constexpr instead of tag dispatching. 4853 1.1 mrg (rethrow_if_nested) [C++17]: Likewise. 4854 1.1 mrg (rethrow_if_nested) [!__cpp_rtti]: Do not use dynamic_cast if it 4855 1.1 mrg would require RTTI. 4856 1.1 mrg * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc: 4857 1.1 mrg New test. 4858 1.1 mrg 4859 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4860 1.1 mrg 4861 1.1 mrg * doc/doxygen/user.cfg.in (PREDEFINED): Define 4862 1.1 mrg _GTHREAD_USE_MUTEX_TIMEDLOCK macro. 4863 1.1 mrg * include/bits/std_mutex.h (mutex, lock_guard): Use @since and 4864 1.1 mrg @headerfile. 4865 1.1 mrg * include/bits/unique_lock.h (unique_lock): Likewise. 4866 1.1 mrg * include/std/mutex (recursive_mutex, timed_mutex) 4867 1.1 mrg (recursive_timed_mutex, scoped_lock): Likewise. 4868 1.1 mrg 4869 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4870 1.1 mrg 4871 1.1 mrg * doc/doxygen/user.cfg.in (PREDEFINED): Define 4872 1.1 mrg _GLIBCXX23_CONSTEXPR macro. 4873 1.1 mrg * include/backward/auto_ptr.h (auto_ptr): Use @deprecated. 4874 1.1 mrg * include/bits/unique_ptr.h (default_delete): Use @since and 4875 1.1 mrg @headerfile. 4876 1.1 mrg * include/std/scoped_allocator: Remove @ingroup from @file 4877 1.1 mrg block. 4878 1.1 mrg 4879 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4880 1.1 mrg 4881 1.1 mrg * include/bits/std_thread.h (thread, thread::id): Improve 4882 1.1 mrg doxygen docs. 4883 1.1 mrg * include/std/future: Likewise. 4884 1.1 mrg * include/std/thread (jthread): Likewise. 4885 1.1 mrg 4886 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4887 1.1 mrg 4888 1.1 mrg * include/bits/ostream_insert.h: Mark helper functions as 4889 1.1 mrg undocumented by Doxygen. 4890 1.1 mrg * include/bits/stl_algo.h: Use markdown for formatting and mark 4891 1.1 mrg helper functions as undocumented. 4892 1.1 mrg * include/bits/stl_numeric.h: Likewise. 4893 1.1 mrg * include/bits/stl_pair.h (pair): Add @headerfile. 4894 1.1 mrg 4895 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4896 1.1 mrg 4897 1.1 mrg * doc/doxygen/user.cfg.in (PREDEFINED): Define __allocator_base 4898 1.1 mrg so that Doxygen shows the right base-class for std::allocator. 4899 1.1 mrg * include/bits/alloc_traits.h: Improve doxygen docs. 4900 1.1 mrg * include/bits/allocator.h: Likewise. 4901 1.1 mrg * include/bits/new_allocator.h: Likewise. 4902 1.1 mrg * include/ext/new_allocator.h: Likewise. 4903 1.1 mrg 4904 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4905 1.1 mrg 4906 1.1 mrg * doc/doxygen/user.cfg.in (PREDEFINED): Define macro 4907 1.1 mrg _GLIBCXX_DOXYGEN_ONLY to expand its argument. 4908 1.1 mrg * include/bits/c++config (_GLIBCXX_DOXYGEN_ONLY): Define. 4909 1.1 mrg * include/bits/regex.h: Improve doxygen docs. 4910 1.1 mrg * include/bits/regex_constants.h: Likewise. 4911 1.1 mrg * include/bits/regex_error.h: Likewise. 4912 1.1 mrg 4913 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4914 1.1 mrg 4915 1.1 mrg * include/std/atomic: Suppress doxygen docs for 4916 1.1 mrg implementation details. 4917 1.1 mrg * include/bits/atomic_base.h: Likewise. 4918 1.1 mrg * include/bits/shared_ptr_atomic.h: Use markdown. Fix grouping 4919 1.1 mrg so that std::atomic is not added to the pointer abstractions 4920 1.1 mrg group. 4921 1.1 mrg 4922 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4923 1.1 mrg 4924 1.1 mrg * include/std/system_error: Improve doxygen comments. 4925 1.1 mrg 4926 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4927 1.1 mrg 4928 1.1 mrg * include/bits/ptr_traits.h: Add some doxygen comments. 4929 1.1 mrg 4930 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4931 1.1 mrg 4932 1.1 mrg * doc/doxygen/user.cfg.in (PREDEFINED): Expand new macros to 4933 1.1 mrg nothing. 4934 1.1 mrg * include/bits/c++config (_GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE) 4935 1.1 mrg (_GLIBCXX_END_INLINE_ABI_NAMESPACE): Define new macros. 4936 1.1 mrg * include/bits/algorithmfwd.h (_V2::__rotate): Use new macros 4937 1.1 mrg for the namespace. 4938 1.1 mrg * include/bits/chrono.h (chrono::_V2::system_clock): Likewise. 4939 1.1 mrg * include/bits/stl_algo.h (_V2::__rotate): Likewise. 4940 1.1 mrg * include/std/condition_variable (_V2::condition_variable_any): 4941 1.1 mrg Likewise. 4942 1.1 mrg * include/std/system_error (_V2::error_category): Likewise. 4943 1.1 mrg 4944 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4945 1.1 mrg 4946 1.1 mrg * include/bits/mofunc_impl.h: Fix doxygen command. 4947 1.1 mrg 4948 1.1 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com> 4949 1.1 mrg 4950 1.1 mrg * doc/doxygen/user.cfg.in (GROUP_NESTED_COMPOUNDS): Set to NO. 4951 1.1 mrg (CLASS_DIAGRAMS): Remove obsolete option. 4952 1.1 mrg 4953 1.1 mrg 2022-05-12 Jonathan Wakely <jwakely (a] redhat.com> 4954 1.1 mrg 4955 1.1 mrg * config/locale/dragonfly/numeric_members.cc: Remove whitespace. 4956 1.1 mrg * config/locale/gnu/numeric_members.cc: Likewise. 4957 1.1 mrg * include/bits/locale_facets_nonio.h: Likewise. 4958 1.1 mrg * libsupc++/typeinfo: Likewise. 4959 1.1 mrg 4960 1.1 mrg 2022-05-10 Jonathan Wakely <jwakely (a] redhat.com> 4961 1.1 mrg 4962 1.1 mrg PR libstdc++/105284 4963 1.1 mrg * include/std/iosfwd: Add declarations for <spanstream> class 4964 1.1 mrg templates and typedefs. 4965 1.1 mrg * include/std/spanstream (basic_spanbuf, basic_ispanstream) 4966 1.1 mrg (basic_ospanstream, basic_spanstream): Remove default template 4967 1.1 mrg arguments. 4968 1.1 mrg * testsuite/27_io/headers/iosfwd/synopsis.cc: Add <spanstream> 4969 1.1 mrg declarations. 4970 1.1 mrg * testsuite/27_io/headers/iosfwd/types.cc: Check <spanstream> 4971 1.1 mrg default arguments. 4972 1.1 mrg 4973 1.1 mrg 2022-05-10 Jonathan Wakely <jwakely (a] redhat.com> 4974 1.1 mrg 4975 1.1 mrg PR libstdc++/105284 4976 1.1 mrg * include/std/iosfwd: Add declarations for <synstream> class 4977 1.1 mrg templates and typedefs. 4978 1.1 mrg * include/std/syncstream (basic_syncbuf, basic_osyncstream): 4979 1.1 mrg Remove default template arguments. 4980 1.1 mrg * testsuite/27_io/headers/iosfwd/synopsis.cc: New test. 4981 1.1 mrg * testsuite/27_io/headers/iosfwd/types.cc: New test. 4982 1.1 mrg 4983 1.1 mrg 2022-05-06 Jonathan Wakely <jwakely (a] redhat.com> 4984 1.1 mrg 4985 1.1 mrg * include/bits/random.tcc (operator==): Only check 4986 1.1 mrg normal_distribution::_M_saved_available once. 4987 1.1 mrg * testsuite/26_numerics/random/normal_distribution/operators/equal.cc: 4988 1.1 mrg Check equality after state changes. 4989 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error 4990 1.1 mrg lineno. 4991 1.1 mrg 4992 1.1 mrg 2022-05-06 Jonathan Wakely <jwakely (a] redhat.com> 4993 1.1 mrg 4994 1.1 mrg PR libstdc++/105502 4995 1.1 mrg * include/bits/random.tcc 4996 1.1 mrg (operator>>(basic_istream<C,T>&, normal_distribution<R>&)): 4997 1.1 mrg Update state when __state_avail is false. 4998 1.1 mrg * testsuite/26_numerics/random/normal_distribution/operators/serialize.cc: 4999 1.1 mrg Check that deserialized object equals serialized one. 5000 1.1 mrg 5001 1.1 mrg 2022-05-06 Alexandre Oliva <oliva (a] adacore.com> 5002 1.1 mrg 5003 1.1 mrg * include/experimental/bits/simd.h [__ALTIVEC__]: Require VSX 5004 1.1 mrg for double, long long, and 64-bit long intrinsic types. 5005 1.1 mrg [__ALTIVEC__] (__intrinsic_type): Mention 128-bit in 5006 1.1 mrg preexisting long double diagnostic, adjust no-VSX double 5007 1.1 mrg diagnostic to cover 64-bit long double as well. 5008 1.1 mrg 5009 1.1 mrg 2022-05-06 Jonathan Wakely <jwakely (a] redhat.com> 5010 1.1 mrg 5011 1.1 mrg PR libstdc++/104731 5012 1.1 mrg * testsuite/27_io/filesystem/iterators/error_reporting.cc: 5013 1.1 mrg Use a trailing char array as storage for dirent::d_name. 5014 1.1 mrg 5015 1.1 mrg 2022-05-06 Jonathan Wakely <jwakely (a] redhat.com> 5016 1.1 mrg 5017 1.1 mrg * include/std/stacktrace: Do not include <cxxabi.h>. 5018 1.1 mrg (__cxa_demangle): Declare. 5019 1.1 mrg 5020 1.1 mrg 2022-05-06 Jonathan Wakely <jwakely (a] redhat.com> 5021 1.1 mrg 5022 1.1 mrg PR libstdc++/99871 5023 1.1 mrg * include/bits/specfun.h: Use visibility attribute on namespace, 5024 1.1 mrg instead of pragma push/pop. 5025 1.1 mrg * libsupc++/compare: Likewise. 5026 1.1 mrg * libsupc++/exception: Likewise. 5027 1.1 mrg * libsupc++/exception.h: Likewise. 5028 1.1 mrg * libsupc++/exception_ptr.h: Likewise. 5029 1.1 mrg * libsupc++/initializer_list: Likewise. 5030 1.1 mrg * libsupc++/nested_exception.h: Likewise. 5031 1.1 mrg 5032 1.1 mrg 2022-05-06 Jonathan Wakely <jwakely (a] redhat.com> 5033 1.1 mrg 5034 1.1 mrg * doc/xml/manual/test.xml: Remove requirement for copyright and 5035 1.1 mrg GPL notice in tests. 5036 1.1 mrg * doc/html/manual/test.html: Regenerate. 5037 1.1 mrg 5038 1.1 mrg 2022-05-05 Jonathan Wakely <jwakely (a] redhat.com> 5039 1.1 mrg 5040 1.1 mrg * include/experimental/memory_resource [!__cpp_rtti] 5041 1.1 mrg (__resource_adaptor_imp::do_is_equal): Do not use dynamic_cast 5042 1.1 mrg when RTTI is disabled. 5043 1.1 mrg * testsuite/17_intro/freestanding.cc: Require RTTI. 5044 1.1 mrg * testsuite/18_support/exception/38732.cc: Likewise. 5045 1.1 mrg * testsuite/18_support/exception_ptr/rethrow_exception.cc: 5046 1.1 mrg Likewise. 5047 1.1 mrg * testsuite/18_support/nested_exception/68139.cc: Likewise. 5048 1.1 mrg * testsuite/18_support/nested_exception/rethrow_if_nested.cc: 5049 1.1 mrg Likewise. 5050 1.1 mrg * testsuite/18_support/type_info/103240.cc: Likewise. 5051 1.1 mrg * testsuite/18_support/type_info/fundamental.cc: Likewise. 5052 1.1 mrg * testsuite/18_support/type_info/hash_code.cc: Likewise. 5053 1.1 mrg * testsuite/20_util/any/assign/emplace.cc: Likewise. 5054 1.1 mrg * testsuite/20_util/any/cons/in_place.cc: Likewise. 5055 1.1 mrg * testsuite/20_util/any/misc/any_cast.cc: Likewise. 5056 1.1 mrg * testsuite/20_util/any/observers/type.cc: Likewise. 5057 1.1 mrg * testsuite/20_util/function/1.cc: Likewise. 5058 1.1 mrg * testsuite/20_util/function/2.cc: Likewise. 5059 1.1 mrg * testsuite/20_util/function/3.cc: Likewise. 5060 1.1 mrg * testsuite/20_util/function/4.cc: Likewise. 5061 1.1 mrg * testsuite/20_util/function/5.cc: Likewise. 5062 1.1 mrg * testsuite/20_util/function/6.cc: Likewise. 5063 1.1 mrg * testsuite/20_util/function/7.cc: Likewise. 5064 1.1 mrg * testsuite/20_util/function/8.cc: Likewise. 5065 1.1 mrg * testsuite/20_util/polymorphic_allocator/resource.cc: Likewise. 5066 1.1 mrg * testsuite/20_util/shared_ptr/casts/1.cc: Likewise. 5067 1.1 mrg * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise. 5068 1.1 mrg * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: 5069 1.1 mrg Likewise. 5070 1.1 mrg * testsuite/20_util/shared_ptr/misc/get_deleter.cc: Likewise. 5071 1.1 mrg * testsuite/20_util/typeindex/comparison_operators.cc: Likewise. 5072 1.1 mrg * testsuite/20_util/typeindex/comparison_operators_c++20.cc: 5073 1.1 mrg Likewise. 5074 1.1 mrg * testsuite/20_util/typeindex/hash.cc: Likewise. 5075 1.1 mrg * testsuite/20_util/typeindex/hash_code.cc: Likewise. 5076 1.1 mrg * testsuite/20_util/typeindex/name.cc: Likewise. 5077 1.1 mrg * testsuite/22_locale/ctype/is/string/89728_neg.cc: Likewise. 5078 1.1 mrg * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc: 5079 1.1 mrg Likewise. 5080 1.1 mrg * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: 5081 1.1 mrg Likewise. 5082 1.1 mrg * testsuite/22_locale/locale/13630.cc: Check type without using 5083 1.1 mrg RTTI. 5084 1.1 mrg * testsuite/23_containers/array/requirements/non_default_constructible.cc: 5085 1.1 mrg Require RTTI. 5086 1.1 mrg * testsuite/27_io/basic_ostream/emit/1.cc: Likewise. 5087 1.1 mrg * testsuite/27_io/fpos/14320-1.cc: Check type without using RTTI. 5088 1.1 mrg * testsuite/27_io/fpos/mbstate_t/12065.cc: Require RTTI. 5089 1.1 mrg * testsuite/27_io/ios_base/failure/dual_abi.cc: Likewise. 5090 1.1 mrg * testsuite/experimental/any/misc/any_cast.cc: Likewise. 5091 1.1 mrg * testsuite/experimental/any/observers/type.cc: Likewise. 5092 1.1 mrg * testsuite/experimental/memory_resource/resource_adaptor.cc: 5093 1.1 mrg Likewise. 5094 1.1 mrg * testsuite/lib/libstdc++.exp (check_effective_target_rtti): 5095 1.1 mrg Define new proc. 5096 1.1 mrg * testsuite/tr1/3_function_objects/function/1.cc: Likewise. 5097 1.1 mrg * testsuite/tr1/3_function_objects/function/2.cc: Likewise. 5098 1.1 mrg * testsuite/tr1/3_function_objects/function/3.cc: Likewise. 5099 1.1 mrg * testsuite/tr1/3_function_objects/function/4.cc: Likewise. 5100 1.1 mrg * testsuite/tr1/3_function_objects/function/5.cc: Likewise. 5101 1.1 mrg * testsuite/tr1/3_function_objects/function/6.cc: Likewise. 5102 1.1 mrg * testsuite/tr1/3_function_objects/function/7.cc: Likewise. 5103 1.1 mrg * testsuite/tr1/3_function_objects/function/8.cc: Likewise. 5104 1.1 mrg * testsuite/tr2/bases/value.cc: Likewise. 5105 1.1 mrg * testsuite/tr2/direct_bases/value.cc: Likewise. 5106 1.1 mrg * testsuite/util/exception/safety.h [!__cpp_rtti]: Don't print 5107 1.1 mrg types without RTTI. 5108 1.1 mrg 5109 1.1 mrg 2022-05-04 Jonathan Wakely <jwakely (a] redhat.com> 5110 1.1 mrg 5111 1.1 mrg PR libstdc++/104719 5112 1.1 mrg * include/std/array (array::size(), array::max_size()) 5113 1.1 mrg (array::empty(), array::data()): Add always_inline attribute. 5114 1.1 mrg 5115 1.1 mrg 2022-05-04 Jonathan Wakely <jwakely (a] redhat.com> 5116 1.1 mrg 5117 1.1 mrg PR libstdc++/104719 5118 1.1 mrg * include/std/array (__array_traits::_S_ref): Remove. 5119 1.1 mrg (__array_traits::_S_ptr): Remove. 5120 1.1 mrg (__array_traits<T, 0>::_Type): Define operator[] and operator T* 5121 1.1 mrg to provide an array-like API. 5122 1.1 mrg (array::_AT_Type): Remove public typeef. 5123 1.1 mrg (array::operator[], array::at, array::front, array::back): Use 5124 1.1 mrg index operator to access _M_elems instead of _S_ref. 5125 1.1 mrg (array::data): Use implicit conversion from _M_elems to pointer. 5126 1.1 mrg (swap(array&, array&)): Use __enable_if_t helper. 5127 1.1 mrg (get<I>): Use index operator to access _M_elems. 5128 1.1 mrg * testsuite/23_containers/array/tuple_interface/get_neg.cc: 5129 1.1 mrg Adjust dg-error line numbers. 5130 1.1 mrg 5131 1.1 mrg 2022-05-03 Alexandre Oliva <oliva (a] adacore.com> 5132 1.1 mrg 5133 1.1 mrg PR c++/105324 5134 1.1 mrg * testsuite/20_util/from_chars/pr105324.cc: Guard test body 5135 1.1 mrg with conditional for floating-point overloads of from_char. 5136 1.1 mrg 5137 1.1 mrg 2022-05-02 Patrick Palka <ppalka (a] redhat.com> 5138 1.1 mrg 5139 1.1 mrg PR libstdc++/103911 5140 1.1 mrg * src/c++17/floating_from_chars.cc (find_end_of_float): Accept 5141 1.1 mrg two delimeters for the exponent part in the form of a possibly 5142 1.1 mrg NULL string of length two. Don't use std::tolower. 5143 1.1 mrg (pattern): Adjust calls to find_end_of_float accordingly. 5144 1.1 mrg 5145 1.1 mrg 2022-05-02 Patrick Palka <ppalka (a] redhat.com> 5146 1.1 mrg 5147 1.1 mrg PR libstdc++/105441 5148 1.1 mrg * src/c++17/floating_from_chars.cc (__floating_from_chars_hex): 5149 1.1 mrg Also accept 'P' as the start of the exponent. 5150 1.1 mrg * testsuite/20_util/from_chars/7.cc: Add corresponding testcase. 5151 1.1 mrg 5152 1.1 mrg 2022-04-29 Jonathan Wakely <jwakely (a] redhat.com> 5153 1.1 mrg 5154 1.1 mrg PR libstdc++/105417 5155 1.1 mrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: 5156 1.1 mrg Regenerate. 5157 1.1 mrg * src/c++11/compatibility-ldbl-alt128.cc [_GLIBCXX_USE_DUAL_ABI]: 5158 1.1 mrg Define __gnu_ieee128::num_get<C>::_M_extract_int[abi:cxx11]<I> 5159 1.1 mrg symbols as aliases for corresponding symbols without abi-tag. 5160 1.1 mrg 5161 1.1 mrg 2022-04-29 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 5162 1.1 mrg 5163 1.1 mrg * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. 5164 1.1 mrg * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: 5165 1.1 mrg Likewise. 5166 1.1 mrg * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. 5167 1.1 mrg * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: 5168 1.1 mrg Likewise. 5169 1.1 mrg 5170 1.1 mrg 2022-04-28 Jonathan Wakely <jwakely (a] redhat.com> 5171 1.1 mrg 5172 1.1 mrg PR libstdc++/99290 5173 1.1 mrg * src/c++17/fs_ops.cc (fs::copy): Pass error_code to 5174 1.1 mrg directory_iterator constructor, and check on each iteration. 5175 1.1 mrg * src/filesystem/ops.cc (fs::copy): Likewise. 5176 1.1 mrg * testsuite/27_io/filesystem/operations/copy.cc: Check for 5177 1.1 mrg errors during recursion. 5178 1.1 mrg * testsuite/experimental/filesystem/operations/copy.cc: 5179 1.1 mrg Likewise. 5180 1.1 mrg 5181 1.1 mrg 2022-04-28 Franois Dumont <fdumont (a] gcc.gnu.org> 5182 1.1 mrg 5183 1.1 mrg * config/abi/pre/gnu-versioned-namespace.ver: Remove 5184 1.1 mrg std::random_device::* pattern. 5185 1.1 mrg 5186 1.1 mrg 2022-04-27 Jakub Jelinek <jakub (a] redhat.com> 5187 1.1 mrg 5188 1.1 mrg * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. 5189 1.1 mrg * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. 5190 1.1 mrg * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. 5191 1.1 mrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 5192 1.1 mrg * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. 5193 1.1 mrg * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. 5194 1.1 mrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 5195 1.1 mrg * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. 5196 1.1 mrg 5197 1.1 mrg 2022-04-27 Jonathan Wakely <jwakely (a] redhat.com> 5198 1.1 mrg 5199 1.1 mrg * python/libstdcxx/v6/printers.py (SharedPointerPrinter): Add 5200 1.1 mrg support for atomic<shared_ptr<T>> and atomic<weak_ptr<T>>. 5201 1.1 mrg (StdAtomicPrinter): New printer. 5202 1.1 mrg (build_libstdcxx_dictionary): Register new printer. 5203 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Test std::atomic. 5204 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx20.cc: Test atomic smart 5205 1.1 mrg pointers. 5206 1.1 mrg 5207 1.1 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com> 5208 1.1 mrg 5209 1.1 mrg * include/bits/shared_ptr_atomic.h (atomic<shared_ptr>): Add 5210 1.1 mrg constructor for constant initialization from nullptr_t. 5211 1.1 mrg * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: 5212 1.1 mrg Check for new constructor. 5213 1.1 mrg 5214 1.1 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com> 5215 1.1 mrg 5216 1.1 mrg * include/bits/fs_path.h (hash<filesystem::path>): Define. 5217 1.1 mrg * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: 5218 1.1 mrg Check std::hash specialization. 5219 1.1 mrg 5220 1.1 mrg 2022-04-25 Jonathan Wakely <jwakely (a] redhat.com> 5221 1.1 mrg 5222 1.1 mrg * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define 5223 1.1 mrg conditionally. 5224 1.1 mrg * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory): 5225 1.1 mrg Define for C++23. 5226 1.1 mrg (default_delete, default_delete<T[]>, __uniq_ptr_impl) 5227 1.1 mrg (unique_ptr, unique_ptr<T[], D>): Add constexpr to all member 5228 1.1 mrg functions. 5229 1.1 mrg * include/std/version (__cpp_lib_constexpr_memory): Define new 5230 1.1 mrg value for C++23. 5231 1.1 mrg * testsuite/20_util/unique_ptr/assign/constexpr.cc: New test. 5232 1.1 mrg * testsuite/20_util/unique_ptr/comparison/constexpr.cc: New test. 5233 1.1 mrg * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: New test. 5234 1.1 mrg * testsuite/20_util/unique_ptr/creation/constexpr.cc: New test. 5235 1.1 mrg * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: New test. 5236 1.1 mrg * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: 5237 1.1 mrg New test. 5238 1.1 mrg 5239 1.1 mrg 2022-04-25 Jonathan Wakely <jwakely (a] redhat.com> 5240 1.1 mrg 5241 1.1 mrg PR libstdc++/105375 5242 1.1 mrg * include/std/future (packaged_task): Add deduction guides. 5243 1.1 mrg * testsuite/30_threads/packaged_task/cons/deduction.cc: New test. 5244 1.1 mrg 5245 1.1 mrg 2022-04-25 Philipp Fent <fent (a] in.tum.de> 5246 1.1 mrg 5247 1.1 mrg * python/libstdcxx/v6/printers.py (StdSpanPrinter._iterator): 5248 1.1 mrg Rename as iterator. 5249 1.1 mrg (StdInitializerListPrinter): Define new printer. 5250 1.1 mrg (build_libstdcxx_dictionary): Register new printer. 5251 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Check printer for 5252 1.1 mrg initializer_list. 5253 1.1 mrg 5254 1.1 mrg 2022-04-22 Thomas W Rodgers <trodgers (a] redhat.com> 5255 1.1 mrg 5256 1.1 mrg PR libstdc++/102994 5257 1.1 mrg * include/bits/atomic_base.h (atomic_flag::notify_one, 5258 1.1 mrg notify_all): Remove const qualification. 5259 1.1 mrg (__atomic_base::notify_one, notify_all): Likewise. 5260 1.1 mrg * include/std/atomic (atomic<bool>::notify_one, notify_all): 5261 1.1 mrg Likewise. 5262 1.1 mrg (atomic::notify_one, notify_all): Likewise. 5263 1.1 mrg (atomic<T*>::notify_one, notify_all): Likewise. 5264 1.1 mrg (atomic_notify_one, atomic_notify_all): Likewise. 5265 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/102994.cc: Adjust test 5266 1.1 mrg to account for change in notify_one/notify_all signature. 5267 1.1 mrg 5268 1.1 mrg 2022-04-21 Patrick Palka <ppalka (a] redhat.com> 5269 1.1 mrg 5270 1.1 mrg * include/std/charconv (__from_chars_alnum_to_val_table): 5271 1.1 mrg Simplify initialization of __lower/__upper_letters. 5272 1.1 mrg (__from_chars_alnum_to_val): Default the template parameter to 5273 1.1 mrg false. 5274 1.1 mrg * src/c++17/floating_from_chars.cc (starts_with_ci): Don't 5275 1.1 mrg assume the uppercase and lowercase letters are contiguous. 5276 1.1 mrg (__floating_from_chars_hex): Likewise. 5277 1.1 mrg 5278 1.1 mrg 2022-04-21 Patrick Palka <ppalka (a] redhat.com> 5279 1.1 mrg 5280 1.1 mrg PR c++/105297 5281 1.1 mrg PR c++/105322 5282 1.1 mrg * include/std/charconv (__from_chars_alnum_to_val): Make 5283 1.1 mrg initializer for __table dependent in an artificial way. 5284 1.1 mrg 5285 1.1 mrg 2022-04-21 Jonathan Wakely <jwakely (a] redhat.com> 5286 1.1 mrg 5287 1.1 mrg PR libstdc++/105324 5288 1.1 mrg * src/c++17/floating_from_chars.cc (buffer_resource::do_allocate): 5289 1.1 mrg Remove assertion. 5290 1.1 mrg * testsuite/20_util/from_chars/pr105324.cc: New test. 5291 1.1 mrg 5292 1.1 mrg 2022-04-20 Jonathan Wakely <jwakely (a] redhat.com> 5293 1.1 mrg 5294 1.1 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: 5295 1.1 mrg Check correct feature test macro. 5296 1.1 mrg 5297 1.1 mrg 2022-04-20 Jonathan Wakely <jwakely (a] redhat.com> 5298 1.1 mrg 5299 1.1 mrg PR libstdc++/93602 5300 1.1 mrg * doc/xml/manual/prerequisites.xml: Document libiconv 5301 1.1 mrg workarounds. 5302 1.1 mrg * doc/html/manual/setup.html: Regenerate. 5303 1.1 mrg * src/Makefile.am (CXXLINK): Add $(LTLIBICONV). 5304 1.1 mrg * src/Makefile.in: Regenerate. 5305 1.1 mrg 5306 1.1 mrg 2022-04-19 Patrick Palka <ppalka (a] redhat.com> 5307 1.1 mrg 5308 1.1 mrg * src/c++17/floating_to_chars.cc (_GLIBCXX_ASSERTIONS): Don't 5309 1.1 mrg define. 5310 1.1 mrg (__floating_to_chars_shortest): Add __builtin_unreachable calls to 5311 1.1 mrg squelch false-positive -Wmaybe-uninitialized and -Wreturn-type 5312 1.1 mrg warnings. 5313 1.1 mrg (__floating_to_chars_precision): Likewise. 5314 1.1 mrg 5315 1.1 mrg 2022-04-19 Philipp Fent <fent (a] in.tum.de> 5316 1.1 mrg 5317 1.1 mrg * python/libstdcxx/v6/printers.py (StdSpanPrinter): Define. 5318 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx20.cc: Test it. 5319 1.1 mrg 5320 1.1 mrg 2022-04-19 Jonathan Wakely <jwakely (a] redhat.com> 5321 1.1 mrg 5322 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Fix shell operators. 5323 1.1 mrg * configure: Regenerate. 5324 1.1 mrg 5325 1.1 mrg 2022-04-18 Patrick Palka <ppalka (a] redhat.com> 5326 1.1 mrg 5327 1.1 mrg * include/std/charconv (__from_chars_pow2_base): Manually 5328 1.1 mrg unroll the first iteration of the main loop and simplify 5329 1.1 mrg accordingly. 5330 1.1 mrg 5331 1.1 mrg 2022-04-15 Patrick Palka <ppalka (a] redhat.com> 5332 1.1 mrg 5333 1.1 mrg PR libstdc++/104858 5334 1.1 mrg * include/bits/ranges_algo.h (__minmax_fn): Avoid dereferencing 5335 1.1 mrg __first twice at the start. 5336 1.1 mrg * testsuite/25_algorithms/minmax/constrained.cc (test06): New test. 5337 1.1 mrg 5338 1.1 mrg 2022-04-15 Patrick Palka <ppalka (a] redhat.com> 5339 1.1 mrg 5340 1.1 mrg * include/std/charconv (__from_chars_alnum_to_val_table): Define. 5341 1.1 mrg (__from_chars_alnum_to_val): Define. 5342 1.1 mrg (__from_chars_binary): Rename to ... 5343 1.1 mrg (__from_chars_pow2_base): ... this. Generalize to handle any 5344 1.1 mrg power-of-two base using __from_chars_alnum_to_val. 5345 1.1 mrg (__from_chars_digit): Optimize digit recognition to a single 5346 1.1 mrg test instead of two tests. Use [[__unlikely___]] attribute. 5347 1.1 mrg (__from_chars_alpha_to_num): Remove. 5348 1.1 mrg (__from_chars_alnum): Use __from_chars_alnum_to_val. Use a 5349 1.1 mrg nested loop for the overflow case. Maintain a lower bound 5350 1.1 mrg on the number of available bits in the result and use it to 5351 1.1 mrg omit the overflow check. 5352 1.1 mrg (from_chars): Adjust appropriately. 5353 1.1 mrg * src/c++17/floating_from_chars.cc (ascii_to_hexit): Remove. 5354 1.1 mrg (__floating_from_chars_hex): Use __from_chars_alnum_to_val 5355 1.1 mrg to recognize a hex digit instead. 5356 1.1 mrg 5357 1.1 mrg 2022-04-14 Palmer Dabbelt <palmer (a] rivosinc.com> 5358 1.1 mrg 5359 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Force auto to mutex 5360 1.1 mrg for RISC-V. 5361 1.1 mrg * configure: Regenerate. 5362 1.1 mrg 5363 1.1 mrg 2022-04-14 Jonathan Wakely <jwakely (a] redhat.com> 5364 1.1 mrg 5365 1.1 mrg * doc/xml/manual/intro.xml: Fix comment. 5366 1.1 mrg 5367 1.1 mrg 2022-04-14 Jonathan Wakely <jwakely (a] redhat.com> 5368 1.1 mrg 5369 1.1 mrg * include/precompiled/stdc++.h: Include <stacktrace> and 5370 1.1 mrg <stdatomic.h> for C++23. 5371 1.1 mrg 5372 1.1 mrg 2022-04-14 Jonathan Wakely <jwakely (a] redhat.com> 5373 1.1 mrg 5374 1.1 mrg PR libstdc++/105269 5375 1.1 mrg * include/bits/stl_vector.h (__cpp_lib_constexpr_vector): 5376 1.1 mrg Define. 5377 1.1 mrg * include/c_compatibility/stdatomic.h (__cpp_lib_stdatomic_h): 5378 1.1 mrg Define. 5379 1.1 mrg * include/std/optional (__cpp_lib_optional): Define new value 5380 1.1 mrg for C++23. 5381 1.1 mrg (__cpp_lib_monadic_optional): Remove. 5382 1.1 mrg * include/std/version (__cpp_lib_constexpr_vector): Define. 5383 1.1 mrg (__cpp_lib_stdatomic_h): Define. 5384 1.1 mrg (__cpp_lib_optional): Define new value for C++23. 5385 1.1 mrg (__cpp_lib_monadic_optional): Remove. 5386 1.1 mrg * testsuite/20_util/optional/monadic/and_then.cc: Adjust. 5387 1.1 mrg * testsuite/20_util/optional/requirements.cc: Adjust for C++23. 5388 1.1 mrg * testsuite/20_util/optional/version.cc: Likewise. 5389 1.1 mrg * testsuite/23_containers/vector/cons/constexpr.cc: Check 5390 1.1 mrg feature test macro. 5391 1.1 mrg * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: 5392 1.1 mrg Likewise. 5393 1.1 mrg * testsuite/20_util/optional/monadic/version.cc: Removed. 5394 1.1 mrg * testsuite/23_containers/vector/requirements/version.cc: New test. 5395 1.1 mrg * testsuite/29_atomics/headers/stdatomic.h/version.cc: New test. 5396 1.1 mrg 5397 1.1 mrg 2022-04-12 Jonathan Wakely <jwakely (a] redhat.com> 5398 1.1 mrg 5399 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Check for mmap. 5400 1.1 mrg * config.h.in: Regenerate. 5401 1.1 mrg * configure: Regenerate. 5402 1.1 mrg 5403 1.1 mrg 2022-04-12 Jonathan Wakely <jwakely (a] redhat.com> 5404 1.1 mrg 5405 1.1 mrg * include/std/stacktrace (basic_stacktrace::current): Reallocate 5406 1.1 mrg a smaller container if the unused capacity is larger than the 5407 1.1 mrg used size. 5408 1.1 mrg 5409 1.1 mrg 2022-04-12 Jonathan Wakely <jwakely (a] redhat.com> 5410 1.1 mrg 5411 1.1 mrg * include/std/stacktrace (basic_stacktrace): Use _Impl::_M_clone 5412 1.1 mrg or _Impl::_M_assign to initialize elements in allocated storage. 5413 1.1 mrg (basic_stacktrace::_M_clear()): Use _Impl::_M_resize instead of 5414 1.1 mrg _Impl::_M_destroy. 5415 1.1 mrg (basic_stacktrace::_Impl::_M_destroy()): Replace with ... 5416 1.1 mrg (basic_stacktrace::_Impl::_M_resize(size_type, allocator&)): New 5417 1.1 mrg function. 5418 1.1 mrg (basic_stacktrace::_Impl::_M_push_back): Use _M_xclone. Construct 5419 1.1 mrg new element using allocator. 5420 1.1 mrg (basic_stacktrace::_Impl::_M_clone): New function. 5421 1.1 mrg (basic_stacktrace::_Impl::_M_xclone): New function. 5422 1.1 mrg (basic_stacktrace::_Impl::_M_assign): New function. 5423 1.1 mrg 5424 1.1 mrg 2022-04-12 Jonathan Wakely <jwakely (a] redhat.com> 5425 1.1 mrg 5426 1.1 mrg * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): 5427 1.1 mrg Use nothrow new instead of try block for std::allocator. 5428 1.1 mrg (basic_stacktrace::_Impl::_M_deallocate): Use delete for 5429 1.1 mrg std::allocator. 5430 1.1 mrg 5431 1.1 mrg 2022-04-12 Jonathan Wakely <jwakely (a] redhat.com> 5432 1.1 mrg 5433 1.1 mrg * include/std/stacktrace (basic_stacktrace::current): Replace 5434 1.1 mrg calls to _M_reserve and _S_curr_cb with call to _M_prepare. 5435 1.1 mrg Check return value of backtrace_simple when max depth given. 5436 1.1 mrg (basic_stacktrace::_M_reserve): Remove. 5437 1.1 mrg (basic_stacktrace::_S_curr_cb): Remove. 5438 1.1 mrg (basic_stacktrace::_M_prepare(size_type)): New function to 5439 1.1 mrg reserve initial capacity and return callback. 5440 1.1 mrg (basic_stacktrace::_Impl::_M_allocate): Remove check for 0 < n 5441 1.1 mrg and remove redundant zeroing of _M_frames and _M_capacity. 5442 1.1 mrg (basic_stacktrace::_Impl::_M_push_back): Add [[unlikely]] 5443 1.1 mrg attribute. Assign _Impl instead of swapping. 5444 1.1 mrg * testsuite/19_diagnostics/stacktrace/current.cc: New test. 5445 1.1 mrg 5446 1.1 mrg 2022-04-11 Jonathan Wakely <jwakely (a] redhat.com> 5447 1.1 mrg 5448 1.1 mrg * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): 5449 1.1 mrg Change [[unlikely]] attribute to [[likely]]. 5450 1.1 mrg 5451 1.1 mrg 2022-04-11 Jonathan Wakely <jwakely (a] redhat.com> 5452 1.1 mrg 5453 1.1 mrg PR libstdc++/105031 5454 1.1 mrg * include/std/stacktrace (basic_stacktrace::basic_stacktrace): 5455 1.1 mrg Fix allocator usage in constructors. 5456 1.1 mrg (basic_stacktrace::operator=(const basic_stacktrace&)): Do not 5457 1.1 mrg try to reallocate using const allocator. 5458 1.1 mrg (basic_stacktrace::operator=(basic_stacktrace&&)): Fix 5459 1.1 mrg if-constexpr with non-constant condition. Do not allocate new 5460 1.1 mrg storage if allocator propagates. Do not set _M_size if 5461 1.1 mrg allocation fails. 5462 1.1 mrg (basic_stacktrace::swap(basic_stacktrace&)): Fix typo. Add 5463 1.1 mrg assertion that non-propagating allocators are equal. 5464 1.1 mrg * testsuite/19_diagnostics/stacktrace/stacktrace.cc: New test. 5465 1.1 mrg 5466 1.1 mrg 2022-04-11 Jonathan Wakely <jwakely (a] redhat.com> 5467 1.1 mrg 5468 1.1 mrg * include/std/stacktrace (basic_stacktrace::current): Duplicate 5469 1.1 mrg implementation into each overload. Add noinline attribute and 5470 1.1 mrg skip current frame. 5471 1.1 mrg (basic_stacktrace::max_size()): Call _Impl::_S_max_size. 5472 1.1 mrg (basic_stacktrace::_S_curr_cb()): New function defining lambda. 5473 1.1 mrg (basic_stacktrace::_Impl::_S_max_size): New function defining 5474 1.1 mrg maximum size in terms of allocator and size_type. 5475 1.1 mrg (basic_stacktrace::_Impl::_M_allocate): Check against 5476 1.1 mrg max_size(). 5477 1.1 mrg * testsuite/19_diagnostics/stacktrace/entry.cc: Call function 5478 1.1 mrg for non-constexpr checks. Check line number is correct. 5479 1.1 mrg 5480 1.1 mrg 2022-04-11 Jonathan Wakely <jwakely (a] redhat.com> 5481 1.1 mrg 5482 1.1 mrg * testsuite/20_util/stacktrace/entry.cc: Moved to... 5483 1.1 mrg * testsuite/19_diagnostics/stacktrace/entry.cc: ...here. 5484 1.1 mrg * testsuite/20_util/stacktrace/synopsis.cc: Moved to... 5485 1.1 mrg * testsuite/19_diagnostics/stacktrace/synopsis.cc: ...here. 5486 1.1 mrg * testsuite/20_util/stacktrace/version.cc: Moved to... 5487 1.1 mrg * testsuite/19_diagnostics/stacktrace/version.cc: ...here. 5488 1.1 mrg 5489 1.1 mrg 2022-04-11 Jonathan Wakely <jwakely (a] redhat.com> 5490 1.1 mrg 5491 1.1 mrg * include/experimental/bits/fs_path.h (path): Define special 5492 1.1 mrg members after path::_Cmpt is complete. 5493 1.1 mrg 5494 1.1 mrg 2022-04-08 Jonathan Wakely <jwakely (a] redhat.com> 5495 1.1 mrg 5496 1.1 mrg PR libstdc++/105153 5497 1.1 mrg * include/std/expected 5498 1.1 mrg (expected<void,E>::expected(expected<U,G>&&)): Fix constraints. 5499 1.1 mrg * testsuite/20_util/expected/cons.cc: Check constructor. 5500 1.1 mrg 5501 1.1 mrg 2022-04-08 Jonathan Wakely <jwakely (a] redhat.com> 5502 1.1 mrg 5503 1.1 mrg PR libstdc++/105154 5504 1.1 mrg * include/std/expected (expected<void, E>::swap): Set 5505 1.1 mrg _M_has_value to false for objects that previously had a value. 5506 1.1 mrg * testsuite/20_util/expected/swap.cc: Fix test to check void 5507 1.1 mrg specialization. 5508 1.1 mrg 5509 1.1 mrg 2022-04-08 Jonathan Wakely <jwakely (a] redhat.com> 5510 1.1 mrg 5511 1.1 mrg PR libstdc++/105146 5512 1.1 mrg * include/std/expected (bad_expected_access): Move constructor 5513 1.1 mrg parameter. 5514 1.1 mrg * testsuite/20_util/expected/bad.cc: New test. 5515 1.1 mrg 5516 1.1 mrg 2022-04-07 Hans-Peter Nilsson <hp (a] axis.com> 5517 1.1 mrg 5518 1.1 mrg * testsuite/20_util/expected/requirements.cc: Correct minimal-size 5519 1.1 mrg test. 5520 1.1 mrg 5521 1.1 mrg 2022-04-02 Jakub Jelinek <jakub (a] redhat.com> 5522 1.1 mrg 5523 1.1 mrg PR libstdc++/105128 5524 1.1 mrg * include/std/source_location (std::source_location::__impl): Move 5525 1.1 mrg definition before using __builtin_ret_type. 5526 1.1 mrg 5527 1.1 mrg 2022-04-01 Jonathan Wakely <jwakely (a] redhat.com> 5528 1.1 mrg 5529 1.1 mrg * include/std/utility (unreachable): Define for C++23. 5530 1.1 mrg * include/std/version (__cpp_lib_unreachable): Define. 5531 1.1 mrg * src/c++11/debug.cc (__glibcxx_assert_fail): Check for valid 5532 1.1 mrg arguments. Handle only the function being given. 5533 1.1 mrg * testsuite/20_util/unreachable/1.cc: New test. 5534 1.1 mrg * testsuite/20_util/unreachable/version.cc: New test. 5535 1.1 mrg 5536 1.1 mrg 2022-04-01 Jonathan Wakely <jwakely (a] redhat.com> 5537 1.1 mrg 5538 1.1 mrg * include/experimental/bits/fs_fwd.h (copy_file): Remove 5539 1.1 mrg incorrect noexcept from declaration. 5540 1.1 mrg * include/experimental/bits/fs_path.h (path::begin, path::end): 5541 1.1 mrg Add noexcept to declarations, to match definitions. 5542 1.1 mrg 5543 1.1 mrg 2022-04-01 Timm Bder <tbaeder (a] redhat.com> 5544 1.1 mrg 5545 1.1 mrg * include/bits/fs_ops.h: Fix filename in Doxygen comment. 5546 1.1 mrg * include/experimental/bits/fs_ops.h: Likewise. 5547 1.1 mrg 5548 1.1 mrg 2022-03-31 Jonathan Wakely <jwakely (a] redhat.com> 5549 1.1 mrg 5550 1.1 mrg * libsupc++/new_opa.cc (aligned_alloc): Add comment. 5551 1.1 mrg 5552 1.1 mrg 2022-03-29 Jonathan Wakely <jwakely (a] redhat.com> 5553 1.1 mrg 5554 1.1 mrg * testsuite/18_support/exception/38732.cc: Disable for C++23. 5555 1.1 mrg * testsuite/18_support/headers/exception/synopsis.cc: Likewise. 5556 1.1 mrg * testsuite/18_support/unexpected_handler.cc: Likewise. 5557 1.1 mrg 5558 1.1 mrg 2022-03-29 Jonathan Wakely <jwakely (a] redhat.com> 5559 1.1 mrg 5560 1.1 mrg * libsupc++/compare (_Strong_order) [!__cpp_using_enum]: Add 5561 1.1 mrg static data members for _Fp_fmt enumerators. 5562 1.1 mrg 5563 1.1 mrg 2022-03-29 Jonathan Wakely <jwakely (a] redhat.com> 5564 1.1 mrg 5565 1.1 mrg * include/std/version (__cpp_lib_variant): Fix conditions to 5566 1.1 mrg match <variant>. 5567 1.1 mrg (__cpp_lib_expected): Fix condition to match <expected>. 5568 1.1 mrg 5569 1.1 mrg 2022-03-28 Jonathan Wakely <jwakely (a] redhat.com> 5570 1.1 mrg 5571 1.1 mrg * testsuite/20_util/optional/monadic/and_then.cc: Fix typo. 5572 1.1 mrg * testsuite/20_util/optional/monadic/transform.cc: Likewise. 5573 1.1 mrg * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise. 5574 1.1 mrg * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise. 5575 1.1 mrg * testsuite/22_locale/codecvt/in/char/1.cc: Likewise. 5576 1.1 mrg * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise. 5577 1.1 mrg * testsuite/22_locale/codecvt/out/char/1.cc: Likewise. 5578 1.1 mrg * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise. 5579 1.1 mrg 5580 1.1 mrg 2022-03-27 Jonathan Wakely <jwakely (a] redhat.com> 5581 1.1 mrg 5582 1.1 mrg * doc/doxygen/user.cfg.in: Add new header. 5583 1.1 mrg * include/Makefile.am: Likewise. 5584 1.1 mrg * include/Makefile.in: Regenerate. 5585 1.1 mrg * include/precompiled/stdc++.h: Add new header. 5586 1.1 mrg * include/std/version (__cpp_lib_expected): Define. 5587 1.1 mrg * libsupc++/exception [__cplusplus > 202002] (unexpected) 5588 1.1 mrg (unexpected_handler, set_unexpected): Do not declare for C++23. 5589 1.1 mrg * include/std/expected: New file. 5590 1.1 mrg * testsuite/20_util/expected/assign.cc: New test. 5591 1.1 mrg * testsuite/20_util/expected/cons.cc: New test. 5592 1.1 mrg * testsuite/20_util/expected/illformed_neg.cc: New test. 5593 1.1 mrg * testsuite/20_util/expected/observers.cc: New test. 5594 1.1 mrg * testsuite/20_util/expected/requirements.cc: New test. 5595 1.1 mrg * testsuite/20_util/expected/swap.cc: New test. 5596 1.1 mrg * testsuite/20_util/expected/synopsis.cc: New test. 5597 1.1 mrg * testsuite/20_util/expected/unexpected.cc: New test. 5598 1.1 mrg * testsuite/20_util/expected/version.cc: New test. 5599 1.1 mrg 5600 1.1 mrg 2022-03-25 Jonathan Wakely <jwakely (a] redhat.com> 5601 1.1 mrg 5602 1.1 mrg * include/std/bit (bit_cast, byteswap, endian): Add doxygen 5603 1.1 mrg comments. 5604 1.1 mrg 5605 1.1 mrg 2022-03-23 Jonathan Wakely <jwakely (a] redhat.com> 5606 1.1 mrg 5607 1.1 mrg PR libstdc++/105027 5608 1.1 mrg * include/std/bit (bit_cast): Add constraints. 5609 1.1 mrg * testsuite/26_numerics/bit/bit.cast/105027.cc: New test. 5610 1.1 mrg 5611 1.1 mrg 2022-03-23 Jonathan Wakely <jwakely (a] redhat.com> 5612 1.1 mrg 5613 1.1 mrg * include/std/version [!_GLIBCXX_HOSTED] 5614 1.1 mrg (__cpp_lib_hardware_interference_size): Define for freestanding. 5615 1.1 mrg (__cpp_lib_bit_cast): Likewise. 5616 1.1 mrg (__cpp_lib_is_layout_compatible): Likewise. 5617 1.1 mrg (__cpp_lib_is_pointer_interconvertible): Likewise. 5618 1.1 mrg (__cpp_lib_adaptor_iterator_pair_constructor): Do not define for 5619 1.1 mrg freestanding. 5620 1.1 mrg (__cpp_lib_invoke_r): Likewise. 5621 1.1 mrg (__cpp_lib_ios_noreplace): Likewise. 5622 1.1 mrg (__cpp_lib_monadic_optional): Likewise. 5623 1.1 mrg (__cpp_lib_move_only_function): Likewise. 5624 1.1 mrg (__cpp_lib_spanstream): Likewise. 5625 1.1 mrg (__cpp_lib_stacktrace): Likewise. 5626 1.1 mrg (__cpp_lib_string_contains): Likewise. 5627 1.1 mrg (__cpp_lib_string_resize_and_overwrite): Likewise. 5628 1.1 mrg (__cpp_lib_to_underlying): Likewise. 5629 1.1 mrg 5630 1.1 mrg 2022-03-23 Jonathan Wakely <jwakely (a] redhat.com> 5631 1.1 mrg 5632 1.1 mrg PR libstdc++/105021 5633 1.1 mrg * include/bits/atomic_base.h [!_GLIBCXX_HOSTED]: Do not include 5634 1.1 mrg <bits/atomic_wait.h> for freestanding. 5635 1.1 mrg 5636 1.1 mrg 2022-03-22 Hans-Peter Nilsson <hp (a] axis.com> 5637 1.1 mrg 5638 1.1 mrg * testsuite/20_util/from_chars/6.cc (test01) [FE_DOWNWARD]: 5639 1.1 mrg Conditionalize call to fesetround. 5640 1.1 mrg 5641 1.1 mrg 2022-03-21 Jakub Jelinek <jakub (a] redhat.com> 5642 1.1 mrg 5643 1.1 mrg PR libstdc++/104990 5644 1.1 mrg * include/bits/locale_facets_nonio.tcc (get): Don't check if do_get 5645 1.1 mrg isn't overloaded if __clang__ is defined. 5646 1.1 mrg 5647 1.1 mrg 2022-03-18 Jonathan Wakely <jwakely (a] redhat.com> 5648 1.1 mrg 5649 1.1 mrg PR libstdc++/104242 5650 1.1 mrg * include/std/any (any(T&&)): Revert change to constraints. 5651 1.1 mrg * testsuite/20_util/any/cons/104242.cc: New test. 5652 1.1 mrg 5653 1.1 mrg 2022-03-18 Jonathan Wakely <jwakely (a] redhat.com> 5654 1.1 mrg 5655 1.1 mrg PR libstdc++/92546 5656 1.1 mrg * include/pstl/glue_algorithm_defs.h: Replace <functional> with 5657 1.1 mrg <bits/stl_pair.h>. 5658 1.1 mrg * include/pstl/utils.h: Replace <iterator> with <type_traits>. 5659 1.1 mrg (__pstl::__internal::__except_handler): Use std::__terminate 5660 1.1 mrg instead of std::terminate. 5661 1.1 mrg * src/c++17/fs_path.cc: Include <array>. 5662 1.1 mrg * testsuite/25_algorithms/adjacent_find/constexpr.cc: Include 5663 1.1 mrg <functional>. 5664 1.1 mrg * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise. 5665 1.1 mrg * testsuite/25_algorithms/clamp/constrained.cc: Likewise. 5666 1.1 mrg * testsuite/25_algorithms/equal/constrained.cc: Likewise. 5667 1.1 mrg * testsuite/25_algorithms/for_each/constrained.cc: Likewise. 5668 1.1 mrg * testsuite/25_algorithms/includes/constrained.cc: Likewise. 5669 1.1 mrg * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise. 5670 1.1 mrg * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise. 5671 1.1 mrg * testsuite/25_algorithms/is_permutation/constrained.cc: Include 5672 1.1 mrg <iterator>. 5673 1.1 mrg * testsuite/25_algorithms/is_sorted/constexpr.cc: Include 5674 1.1 mrg <functional>. 5675 1.1 mrg * testsuite/25_algorithms/is_sorted_until/constexpr.cc: 5676 1.1 mrg Likewise. 5677 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: 5678 1.1 mrg Likewise. 5679 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/constrained.cc: 5680 1.1 mrg Likewise. 5681 1.1 mrg * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc: 5682 1.1 mrg Include <array>. 5683 1.1 mrg * testsuite/25_algorithms/lower_bound/constexpr.cc: Include 5684 1.1 mrg <functional>. 5685 1.1 mrg * testsuite/25_algorithms/max/constrained.cc: Likewise. 5686 1.1 mrg * testsuite/25_algorithms/max_element/constrained.cc: Likewise. 5687 1.1 mrg * testsuite/25_algorithms/min/constrained.cc: Likewise. 5688 1.1 mrg * testsuite/25_algorithms/min_element/constrained.cc: Likewise. 5689 1.1 mrg * testsuite/25_algorithms/minmax_element/constrained.cc: 5690 1.1 mrg Likewise. 5691 1.1 mrg * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise. 5692 1.1 mrg * testsuite/25_algorithms/move/93872.cc: Likewise. 5693 1.1 mrg * testsuite/25_algorithms/move_backward/93872.cc: Include 5694 1.1 mrg <iterator>. 5695 1.1 mrg * testsuite/25_algorithms/nth_element/constexpr.cc: Include 5696 1.1 mrg <functional>. 5697 1.1 mrg * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise. 5698 1.1 mrg * testsuite/25_algorithms/partial_sort_copy/constexpr.cc: 5699 1.1 mrg Likewise. 5700 1.1 mrg * testsuite/25_algorithms/search/constexpr.cc: Likewise. 5701 1.1 mrg * testsuite/25_algorithms/search_n/constrained.cc: Likewise. 5702 1.1 mrg * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise. 5703 1.1 mrg * testsuite/25_algorithms/set_difference/constrained.cc: 5704 1.1 mrg Likewise. 5705 1.1 mrg * testsuite/25_algorithms/set_intersection/constexpr.cc: 5706 1.1 mrg Likewise. 5707 1.1 mrg * testsuite/25_algorithms/set_intersection/constrained.cc: 5708 1.1 mrg Likewise. 5709 1.1 mrg * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: 5710 1.1 mrg Likewise. 5711 1.1 mrg * testsuite/25_algorithms/set_union/constexpr.cc: Likewise. 5712 1.1 mrg * testsuite/25_algorithms/set_union/constrained.cc: Likewise. 5713 1.1 mrg * testsuite/25_algorithms/sort/constexpr.cc: Likewise. 5714 1.1 mrg * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise. 5715 1.1 mrg * testsuite/25_algorithms/transform/constrained.cc: Likewise. 5716 1.1 mrg * testsuite/25_algorithms/unique/constexpr.cc: Likewise. 5717 1.1 mrg * testsuite/25_algorithms/unique/constrained.cc: Likewise. 5718 1.1 mrg * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise. 5719 1.1 mrg * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise. 5720 1.1 mrg * testsuite/std/ranges/adaptors/elements.cc: Include <vector>. 5721 1.1 mrg * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise. 5722 1.1 mrg * testsuite/std/ranges/adaptors/split.cc: Likewise. 5723 1.1 mrg 5724 1.1 mrg 2022-03-17 Jonathan Wakely <jwakely (a] redhat.com> 5725 1.1 mrg 5726 1.1 mrg PR libstdc++/92546 5727 1.1 mrg * include/bits/fs_path.h (path::make_preferred): Use 5728 1.1 mrg handwritten loop instead of std::replace. 5729 1.1 mrg 5730 1.1 mrg 2022-03-17 Jonathan Wakely <jwakely (a] redhat.com> 5731 1.1 mrg 5732 1.1 mrg PR middle-end/104966 5733 1.1 mrg * include/bits/locale_facets_nonio.tcc 5734 1.1 mrg (__moneypunct_cache::_M_cache): Replace try-catch with RAII and 5735 1.1 mrg make all string copies before any stores to *this. 5736 1.1 mrg 5737 1.1 mrg 2022-03-17 Jonathan Wakely <jwakely (a] redhat.com> 5738 1.1 mrg 5739 1.1 mrg * testsuite/util/testsuite_character.h: Fix comment. 5740 1.1 mrg 5741 1.1 mrg 2022-03-16 Jonathan Wakely <jwakely (a] redhat.com> 5742 1.1 mrg 5743 1.1 mrg PR libstdc++/103407 5744 1.1 mrg * config/abi/pre/gnu.ver: Make version for std::from_chars 5745 1.1 mrg depend on HAVE_USELOCALE macro. 5746 1.1 mrg * testsuite/util/testsuite_abi.cc (compare_symbols): Treat 5747 1.1 mrg std::from_chars for floating-point types as undesignated if 5748 1.1 mrg not found in the baseline symbols file. 5749 1.1 mrg 5750 1.1 mrg 2022-03-16 Jonathan Wakely <jwakely (a] redhat.com> 5751 1.1 mrg 5752 1.1 mrg * include/std/charconv (__cpp_lib_to_chars): Only define when 5753 1.1 mrg both from_chars and to_chars are supported for floating-point 5754 1.1 mrg types. 5755 1.1 mrg (from_chars, to_chars): Adjust preprocessor conditions guarding 5756 1.1 mrg declarations. 5757 1.1 mrg * include/std/version (__cpp_lib_to_chars): Adjust condition to 5758 1.1 mrg match <charconv> definition. 5759 1.1 mrg * src/c++17/floating_from_chars.cc (from_chars_strtod): New 5760 1.1 mrg function template. 5761 1.1 mrg (from_chars): Simplify preprocessor checks and use 5762 1.1 mrg from_chars_strtod when appropriate. 5763 1.1 mrg 5764 1.1 mrg 2022-03-14 Jonathan Wakely <jwakely (a] redhat.com> 5765 1.1 mrg 5766 1.1 mrg PR libstdc++/104875 5767 1.1 mrg * src/c++11/codecvt.cc (read_utf8_code_point): Use char32_t to 5768 1.1 mrg hold octets that will be left-shifted. 5769 1.1 mrg 5770 1.1 mrg 2022-03-10 Jonathan Wakely <jwakely (a] redhat.com> 5771 1.1 mrg 5772 1.1 mrg PR libstdc++/104870 5773 1.1 mrg * src/c++17/floating_from_chars.cc: Check __SIZE_WIDTH__ >= 32 5774 1.1 mrg before using fast_float. 5775 1.1 mrg 5776 1.1 mrg 2022-03-10 Detlef Vollmann <dv (a] vollmann.ch> 5777 1.1 mrg 5778 1.1 mrg PR libstdc++/104866 5779 1.1 mrg * include/bits/this_thread_sleep.h: Fix order of #endif and 5780 1.1 mrg closing brace of namespace. 5781 1.1 mrg 5782 1.1 mrg 2022-03-10 Jonathan Wakely <jwakely (a] redhat.com> 5783 1.1 mrg 5784 1.1 mrg * libsupc++/compare (_Strong_order::_S_fp_cmp) [__vax__]: 5785 1.1 mrg Handle NaN. 5786 1.1 mrg 5787 1.1 mrg 2022-03-10 Jonathan Wakely <jwakely (a] redhat.com> 5788 1.1 mrg 5789 1.1 mrg * libsupc++/compare (_Strong_ordering::_S_fp_cmp) [__vax__]: Use 5790 1.1 mrg <=> comparison. 5791 1.1 mrg 5792 1.1 mrg 2022-03-09 Patrick Palka <ppalka (a] redhat.com> 5793 1.1 mrg 5794 1.1 mrg PR libstdc++/104859 5795 1.1 mrg * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): 5796 1.1 mrg Be explicit when narrowing the shifted effective_mantissa, 5797 1.1 mrg since it may have an integer-class type. 5798 1.1 mrg 5799 1.1 mrg 2022-03-08 Jonathan Wakely <jwakely (a] redhat.com> 5800 1.1 mrg 5801 1.1 mrg * include/bits/uses_allocator_args.h: Remove incorrect copyright 5802 1.1 mrg notice. 5803 1.1 mrg 5804 1.1 mrg 2022-03-07 Jonathan Wakely <jwakely (a] redhat.com> 5805 1.1 mrg 5806 1.1 mrg PR libstdc++/104807 5807 1.1 mrg * include/bits/c++config (__terminate, __glibcxx_assert_fail): 5808 1.1 mrg Replace _GLIBCXX_VISIBILITY on function with visibility pragma. 5809 1.1 mrg (__is_constant_evaluated): Add visibility pragma. 5810 1.1 mrg 5811 1.1 mrg 2022-03-07 Rasmus Villemoes <rasmus.villemoes (a] prevas.dk> 5812 1.1 mrg 5813 1.1 mrg * config/locale/vxworks/ctype_members.cc: Remove <iostream> 5814 1.1 mrg include. 5815 1.1 mrg 5816 1.1 mrg 2022-03-05 Jonathan Wakely <jwakely (a] redhat.com> 5817 1.1 mrg 5818 1.1 mrg * include/bits/c++config (__glibcxx_assert_fail): Add visibility 5819 1.1 mrg attribute. 5820 1.1 mrg (__terminate): Likewise. 5821 1.1 mrg 5822 1.1 mrg 2022-03-04 Jonathan Wakely <jwakely (a] redhat.com> 5823 1.1 mrg 5824 1.1 mrg * libsupc++/compare (strong_order::_S_fp_cmp): Move typedef 5825 1.1 mrg inside #if condition. 5826 1.1 mrg 5827 1.1 mrg 2022-03-03 Jonathan Wakely <jwakely (a] redhat.com> 5828 1.1 mrg 5829 1.1 mrg PR libstdc++/104748 5830 1.1 mrg * testsuite/std/ranges/adaptors/all.cc: Use non-debug vector for 5831 1.1 mrg constexpr test. 5832 1.1 mrg 5833 1.1 mrg 2022-03-03 Jonathan Wakely <jwakely (a] redhat.com> 5834 1.1 mrg 5835 1.1 mrg * testsuite/17_intro/names.cc (func): Undef on AIX. 5836 1.1 mrg 5837 1.1 mrg 2022-03-03 Jonathan Wakely <jwakely (a] redhat.com> 5838 1.1 mrg 5839 1.1 mrg PR libstdc++/96526 5840 1.1 mrg * libsupc++/compare (strong_order): Add missing support for 5841 1.1 mrg floating-point types. 5842 1.1 mrg * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc: 5843 1.1 mrg New test. 5844 1.1 mrg 5845 1.1 mrg 2022-03-01 Jonathan Wakely <jwakely (a] redhat.com> 5846 1.1 mrg 5847 1.1 mrg PR middle-end/103984 5848 1.1 mrg * include/bits/regex_compiler.h (_BracketMatcher::_M_char): Use 5849 1.1 mrg default member initializer. 5850 1.1 mrg 5851 1.1 mrg 2022-02-24 Jonathan Wakely <jwakely (a] redhat.com> 5852 1.1 mrg 5853 1.1 mrg PR libstdc++/104602 5854 1.1 mrg * include/std/source_location (source_location::current): Use 5855 1.1 mrg deduced type of __builtin_source_location(). 5856 1.1 mrg 5857 1.1 mrg 2022-02-22 Patrick Palka <ppalka (a] redhat.com> 5858 1.1 mrg 5859 1.1 mrg * include/bits/ranges_base.h (__detail::__is_initializer_list): 5860 1.1 mrg Define. 5861 1.1 mrg (viewable_range): Adjust as per P2415R2. 5862 1.1 mrg * include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value. 5863 1.1 mrg * include/std/ranges (owning_view): Define as per P2415R2. 5864 1.1 mrg (enable_borrowed_range<owning_view>): Likewise. 5865 1.1 mrg (views::__detail::__can_subrange): Replace with ... 5866 1.1 mrg (views::__detail::__can_owning_view): ... this. 5867 1.1 mrg (views::_All::_S_noexcept): Sync with operator(). 5868 1.1 mrg (views::_All::operator()): Use owning_view instead of subrange 5869 1.1 mrg as per P2415R2. 5870 1.1 mrg * include/std/version (__cpp_lib_ranges): Adjust value. 5871 1.1 mrg * testsuite/std/ranges/adaptors/all.cc (test06): Adjust now that 5872 1.1 mrg views::all uses owning_view instead of subrange. 5873 1.1 mrg (test08): New test. 5874 1.1 mrg * testsuite/std/ranges/adaptors/lazy_split.cc (test09): Adjust 5875 1.1 mrg now that rvalue non-view non-borrowed ranges are viewable. 5876 1.1 mrg * testsuite/std/ranges/adaptors/split.cc (test06): Likewise. 5877 1.1 mrg 5878 1.1 mrg 2022-02-17 Jonathan Wakely <jwakely (a] redhat.com> 5879 1.1 mrg 5880 1.1 mrg PR libstdc++/104559 5881 1.1 mrg * doc/xml/manual/evolution.xml: Document deprecation. 5882 1.1 mrg * doc/html/manual/api.html: Regenerate. 5883 1.1 mrg * include/bits/stl_bvector.h (insert(const_iterator, const bool&)): 5884 1.1 mrg Remove default argument. 5885 1.1 mrg (insert(const_iterator)): New overload with deprecated attribute. 5886 1.1 mrg * testsuite/23_containers/vector/bool/modifiers/insert/104559.cc: 5887 1.1 mrg New test. 5888 1.1 mrg 5889 1.1 mrg 2022-02-17 Jonathan Wakely <jwakely (a] redhat.com> 5890 1.1 mrg 5891 1.1 mrg * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Replace 5892 1.1 mrg code that call cat->name() on std::error_category objects. 5893 1.1 mrg Identify known categories by symbol name and use a hardcoded 5894 1.1 mrg name. Print error code values as enumerators where appopriate. 5895 1.1 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected 5896 1.1 mrg name of custom category. Check io_errc and future_errc errors. 5897 1.1 mrg 5898 1.1 mrg 2022-02-15 Jonathan Wakely <jwakely (a] redhat.com> 5899 1.1 mrg 5900 1.1 mrg PR libstdc++/104542 5901 1.1 mrg * include/bits/uses_allocator_args.h (make_obj_using_allocator) 5902 1.1 mrg (uninitialized_construct_using_allocator): Add constexpr. 5903 1.1 mrg * testsuite/20_util/uses_allocator/make_obj.cc: Check constexpr. 5904 1.1 mrg * testsuite/20_util/uses_allocator/uninitialized_construct.cc: New test. 5905 1.1 mrg 5906 1.1 mrg 2022-02-14 Jonathan Wakely <jwakely (a] redhat.com> 5907 1.1 mrg 5908 1.1 mrg PR libstdc++/100912 5909 1.1 mrg * config/locale/gnu/c_locale.h (__convert_from_v): Use inline 5910 1.1 mrg namespace for IEEE128 long double mode. 5911 1.1 mrg * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add new symbol 5912 1.1 mrg version and export __gnu_cxx_ieee128::__convert_from_v. 5913 1.1 mrg * include/bits/locale_facets_nonio.tcc (money_put::__do_put): 5914 1.1 mrg Make __ibm128 overload use snprintf directly 5915 1.1 mrg * testsuite/util/testsuite_abi.cc: Add new symbol version. 5916 1.1 mrg Remove stable IEEE128/LDBL versions. 5917 1.1 mrg 5918 1.1 mrg 2022-02-14 Jonathan Wakely <jwakely (a] redhat.com> 5919 1.1 mrg 5920 1.1 mrg PR libstdc++/103891 5921 1.1 mrg * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS): 5922 1.1 mrg Remove. 5923 1.1 mrg * include/std/variant: Check feature test macros instead. 5924 1.1 mrg * include/std/version: Likewise. 5925 1.1 mrg 5926 1.1 mrg 2022-02-14 Jonathan Wakely <jwakely (a] redhat.com> 5927 1.1 mrg 5928 1.1 mrg * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: 5929 1.1 mrg Fix typo. 5930 1.1 mrg 5931 1.1 mrg 2022-02-14 Jonathan Wakely <jwakely (a] redhat.com> 5932 1.1 mrg 5933 1.1 mrg * src/c++17/floating_to_chars.cc (FLOAT128_TO_CHARS): Depend on 5934 1.1 mrg LONG_DOUBLE_ALT128_COMPAT instead of USE_FLOAT128. 5935 1.1 mrg 5936 1.1 mrg 2022-02-11 Jonathan Wakely <jwakely (a] redhat.com> 5937 1.1 mrg 5938 1.1 mrg * testsuite/20_util/temporary_buffer.cc: Fix dg-warning target 5939 1.1 mrg selector. 5940 1.1 mrg 5941 1.1 mrg 2022-02-11 Jonathan Wakely <jwakely (a] redhat.com> 5942 1.1 mrg 5943 1.1 mrg * testsuite/20_util/monotonic_buffer_resource/allocate.cc: 5944 1.1 mrg Ignore -Walloc-larger-than warning. 5945 1.1 mrg * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: 5946 1.1 mrg Likewise. 5947 1.1 mrg * testsuite/29_atomics/atomic/cons/user_pod.cc: Compile with -O1 5948 1.1 mrg to avoid linker error for __atomic_is_lock_free. 5949 1.1 mrg 5950 1.1 mrg 2022-02-10 Thomas Rodgers <rodgert (a] appliantology.com> 5951 1.1 mrg 5952 1.1 mrg * include/bits/atomic_wait.h (__waiter_base::_S_do_spin, 5953 1.1 mrg __waiter_base::_S_do_spin_v): Change memory order from relaxed 5954 1.1 mrg to acquire. 5955 1.1 mrg 5956 1.1 mrg 2022-02-10 Jonathan Wakely <jwakely (a] redhat.com> 5957 1.1 mrg 5958 1.1 mrg * include/c_compatibility/stdatomic.h (atomic_fetch_xor): Add 5959 1.1 mrg using-declaration. 5960 1.1 mrg (atomic_fetch_xor_explicit): Likewise. 5961 1.1 mrg * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Check 5962 1.1 mrg arithmetic and logical operations for atomic_int. 5963 1.1 mrg 5964 1.1 mrg 2022-02-10 Jonathan Wakely <jwakely (a] redhat.com> 5965 1.1 mrg 5966 1.1 mrg * src/filesystem/dir-common.h (_GLIBCXX_HAVE_DIRFD): Undefine 5967 1.1 mrg when <dirent.h> is not available. 5968 1.1 mrg (_GLIBCXX_HAVE_UNLINKAT): Likewise. 5969 1.1 mrg 5970 1.1 mrg 2022-02-09 Thomas Rodgers <rodgert (a] appliantology.com> 5971 1.1 mrg 5972 1.1 mrg PR libstdc++/104442 5973 1.1 mrg * include/bits/atomic_wait.h (__waiter::_M_do_wait_v): Move spin 5974 1.1 mrg loop inside do loop so that threads failing the wait, reload 5975 1.1 mrg _M_ver. 5976 1.1 mrg 5977 1.1 mrg 2022-02-08 Jonathan Wakely <jwakely (a] redhat.com> 5978 1.1 mrg 5979 1.1 mrg * src/c++17/fs_dir.cc (_Dir(DIR*, const path&)): Change first 5980 1.1 mrg parameter to _Dir_base&&. 5981 1.1 mrg * src/filesystem/dir-common.h (_Dir_base(DIR*)): Remove. 5982 1.1 mrg * src/filesystem/dir.cc (_Dir(DIR*, const path&)): Change first 5983 1.1 mrg parameter to _Dir_base&&. 5984 1.1 mrg 5985 1.1 mrg 2022-02-08 Jonathan Wakely <jwakely (a] redhat.com> 5986 1.1 mrg 5987 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Add comment about 5988 1.1 mrg checking for CAS on correct word size. 5989 1.1 mrg 5990 1.1 mrg 2022-02-08 Jonathan Wakely <jwakely (a] redhat.com> 5991 1.1 mrg 5992 1.1 mrg * testsuite/experimental/filesystem/operations/create_directories.cc: 5993 1.1 mrg Adjust expected results for Windows. 5994 1.1 mrg 5995 1.1 mrg 2022-02-08 Jonathan Wakely <jwakely (a] redhat.com> 5996 1.1 mrg 5997 1.1 mrg PR libstdc++/104161 5998 1.1 mrg * src/c++17/fs_dir.cc (fs::recursive_directory_iterator::__erase): 5999 1.1 mrg [i_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Refresh entry._M_type member, 6000 1.1 mrg instead of checking for errno values indicating a directory. 6001 1.1 mrg * src/c++17/fs_ops.cc (fs::remove_all(const path&)): Use similar 6002 1.1 mrg logic to non-throwing overload. 6003 1.1 mrg (fs::remove_all(const path&, error_code&)): Add comments. 6004 1.1 mrg * src/filesystem/ops-common.h: Likewise. 6005 1.1 mrg 6006 1.1 mrg 2022-02-04 Jonathan Wakely <jwakely (a] redhat.com> 6007 1.1 mrg 6008 1.1 mrg * src/filesystem/dir-common.h (_Dir_base::openat): Change return 6009 1.1 mrg type to use portable posix::DIR alias. 6010 1.1 mrg 6011 1.1 mrg 2022-02-04 Jonathan Wakely <jwakely (a] redhat.com> 6012 1.1 mrg 6013 1.1 mrg * include/c_compatibility/stdatomic.h [__clang__]: Use 6014 1.1 mrg #include_next <stdatomic.h>. 6015 1.1 mrg 6016 1.1 mrg 2022-02-04 Jonathan Wakely <jwakely (a] redhat.com> 6017 1.1 mrg 6018 1.1 mrg * include/experimental/bits/fs_ops.h (fs::copy_file): Remove 6019 1.1 mrg noexcept. 6020 1.1 mrg (fs::create_directories): Likewise. 6021 1.1 mrg (fs::remove_all): Likewise. 6022 1.1 mrg * src/filesystem/ops.cc (fs::copy_file): Remove noexcept. 6023 1.1 mrg (fs::create_directories): Likewise. 6024 1.1 mrg (fs::remove_all): Likewise. 6025 1.1 mrg 6026 1.1 mrg 2022-02-04 Jonathan Wakely <jwakely (a] redhat.com> 6027 1.1 mrg 6028 1.1 mrg PR libstdc++/104161 6029 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for dirfd 6030 1.1 mrg and unlinkat. 6031 1.1 mrg * config.h.in: Regenerate. 6032 1.1 mrg * configure: Regenerate. 6033 1.1 mrg * include/bits/fs_dir.h (recursive_directory_iterator): Declare 6034 1.1 mrg remove_all overloads as friends. 6035 1.1 mrg (recursive_directory_iterator::__erase): Declare new member 6036 1.1 mrg function. 6037 1.1 mrg * include/bits/fs_fwd.h (remove, remove_all): Declare. 6038 1.1 mrg * src/c++17/fs_dir.cc (_Dir): Add filename_only parameter to 6039 1.1 mrg constructor. Pass file descriptor argument to base constructor. 6040 1.1 mrg (_Dir::dir_and_pathname, _Dir::open_subdir, _Dir::do_unlink) 6041 1.1 mrg (_Dir::unlink, _Dir::rmdir): Define new member functions. 6042 1.1 mrg (directory_iterator): Pass filename_only argument to _Dir 6043 1.1 mrg constructor. 6044 1.1 mrg (recursive_directory_iterator::_Dir_stack): Adjust constructor 6045 1.1 mrg parameters to take a _Dir rvalue instead of creating one. 6046 1.1 mrg (_Dir_stack::orig): Add data member for storing original path. 6047 1.1 mrg (_Dir_stack::report_error): Define new member function. 6048 1.1 mrg (__directory_iterator_nofollow): Move here from dir-common.h and 6049 1.1 mrg fix value to be a power of two. 6050 1.1 mrg (__directory_iterator_filename_only): Define new constant. 6051 1.1 mrg (recursive_directory_iterator): Construct _Dir object and move 6052 1.1 mrg into _M_dirs stack. Pass skip_permission_denied argument to first 6053 1.1 mrg advance call. 6054 1.1 mrg (recursive_directory_iterator::increment): Use _Dir::open_subdir. 6055 1.1 mrg (recursive_directory_iterator::__erase): Define new member 6056 1.1 mrg function. 6057 1.1 mrg * src/c++17/fs_ops.cc (ErrorReporter, do_remove_all): Remove. 6058 1.1 mrg (fs::remove_all): Use new recursive_directory_iterator::__erase 6059 1.1 mrg member function. 6060 1.1 mrg * src/filesystem/dir-common.h (_Dir_base): Add int parameter to 6061 1.1 mrg constructor and use openat to implement nofollow semantics. 6062 1.1 mrg (_Dir_base::fdcwd, _Dir_base::set_close_on_exec, _Dir_base::openat): 6063 1.1 mrg Define new member functions. 6064 1.1 mrg (__directory_iterator_nofollow): Move to fs_dir.cc. 6065 1.1 mrg * src/filesystem/dir.cc (_Dir): Pass file descriptor argument to 6066 1.1 mrg base constructor. 6067 1.1 mrg (_Dir::dir_and_pathname, _Dir::open_subdir): Define new member 6068 1.1 mrg functions. 6069 1.1 mrg (recursive_directory_iterator::_Dir_stack): Adjust constructor 6070 1.1 mrg parameters to take a _Dir rvalue instead of creating one. 6071 1.1 mrg (recursive_directory_iterator): Check for new nofollow option. 6072 1.1 mrg Construct _Dir object and move into _M_dirs stack. Pass 6073 1.1 mrg skip_permission_denied argument to first advance call. 6074 1.1 mrg (recursive_directory_iterator::increment): Use _Dir::open_subdir. 6075 1.1 mrg * src/filesystem/ops.cc (fs::remove_all): Use C++17 remove_all. 6076 1.1 mrg 6077 1.1 mrg 2022-02-04 Jonathan Wakely <jwakely (a] redhat.com> 6078 1.1 mrg 6079 1.1 mrg * include/bits/allocator.h: Qualify std::allocator_traits in 6080 1.1 mrg deprecated warnings. 6081 1.1 mrg * libsupc++/exception (uncaught_exception): Add suggestion to 6082 1.1 mrg deprecated warning. 6083 1.1 mrg 6084 1.1 mrg 2022-02-02 Jonathan Wakely <jwakely (a] redhat.com> 6085 1.1 mrg 6086 1.1 mrg * src/c++17/fs_dir.cc (fs::recursive_directory_iterator::pop): 6087 1.1 mrg Add [[maybe_unused]] attribute. 6088 1.1 mrg * src/filesystem/dir.cc (fs::recursive_directory_iterator::pop): 6089 1.1 mrg Likewise. 6090 1.1 mrg 6091 1.1 mrg 2022-02-02 Jonathan Wakely <jwakely (a] redhat.com> 6092 1.1 mrg 6093 1.1 mrg * testsuite/23_containers/multiset/operators/cmp_c++20.cc: Use 6094 1.1 mrg custom comparison function for multiset. 6095 1.1 mrg * testsuite/23_containers/set/operators/cmp_c++20.cc: Use custom 6096 1.1 mrg comparison function for set. 6097 1.1 mrg 6098 1.1 mrg 2022-02-02 Jonathan Wakely <jwakely (a] redhat.com> 6099 1.1 mrg 6100 1.1 mrg * include/bits/boost_concept_check.h (_OutputIteratorConcept): 6101 1.1 mrg Change member function to data member of function pointer type. 6102 1.1 mrg 6103 1.1 mrg 2022-02-02 Martin Sebor <msebor (a] redhat.com> 6104 1.1 mrg 6105 1.1 mrg PR libstdc++/101831 6106 1.1 mrg * include/std/array (begin): Declare const member function attribute 6107 1.1 mrg const. 6108 1.1 mrg (end, rbegin, rend, size, max_size, empty, data): Same. 6109 1.1 mrg * testsuite/23_containers/array/capacity/empty.cc: Add test cases. 6110 1.1 mrg * testsuite/23_containers/array/capacity/max_size.cc: Same. 6111 1.1 mrg * testsuite/23_containers/array/capacity/size.cc: Same. 6112 1.1 mrg * testsuite/23_containers/array/iterators/begin_end.cc: New test. 6113 1.1 mrg 6114 1.1 mrg 2022-02-02 Jonathan Wakely <jwakely (a] redhat.com> 6115 1.1 mrg 6116 1.1 mrg * testsuite/27_io/filesystem/iterators/error_reporting.cc: Use 6117 1.1 mrg autoconf macro to check whether d_type is present. 6118 1.1 mrg * testsuite/experimental/filesystem/iterators/error_reporting.cc: 6119 1.1 mrg Likewise. 6120 1.1 mrg 6121 1.1 mrg 2022-02-01 Jonathan Wakely <jwakely (a] redhat.com> 6122 1.1 mrg 6123 1.1 mrg * testsuite/27_io/filesystem/iterators/97731.cc: New test. 6124 1.1 mrg * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: 6125 1.1 mrg Check follow_directory_symlink option. 6126 1.1 mrg * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc: 6127 1.1 mrg Likewise. 6128 1.1 mrg 6129 1.1 mrg 2022-02-01 Jonathan Wakely <jwakely (a] redhat.com> 6130 1.1 mrg 6131 1.1 mrg * src/c++17/fs_dir.cc (recursive_directory_iterator::increment): 6132 1.1 mrg Reset state to past-the-end iterator on error. 6133 1.1 mrg (fs::recursive_directory_iterator::pop(error_code&)): Likewise. 6134 1.1 mrg (fs::recursive_directory_iterator::pop()): Check _M_dirs before 6135 1.1 mrg it might get reset. 6136 1.1 mrg * src/filesystem/dir.cc (recursive_directory_iterator): Likewise, 6137 1.1 mrg for the TS implementation. 6138 1.1 mrg * testsuite/27_io/filesystem/iterators/error_reporting.cc: New test. 6139 1.1 mrg * testsuite/experimental/filesystem/iterators/error_reporting.cc: New test. 6140 1.1 mrg 6141 1.1 mrg 2022-02-01 Jonathan Wakely <jwakely (a] redhat.com> 6142 1.1 mrg 6143 1.1 mrg * include/bits/fs_fwd.h (filesystem::perms): Fix comment. 6144 1.1 mrg 6145 1.1 mrg 2022-02-01 Jonathan Wakely <jwakely (a] redhat.com> 6146 1.1 mrg 6147 1.1 mrg PR libstdc++/104301 6148 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Print different messages 6149 1.1 mrg for stdio_pure and stdio_posix options. 6150 1.1 mrg * configure: Regenerate. 6151 1.1 mrg 6152 1.1 mrg 2022-02-01 Thomas Rodgers <rodgert (a] appliantology.com> 6153 1.1 mrg 6154 1.1 mrg * include/bits/atomic_wait.h: Change memory order from 6155 1.1 mrg Acquire/Release with relaxed loads to SeqCst+Release for 6156 1.1 mrg accesses to the waiter's count. 6157 1.1 mrg 6158 1.1 mrg 2022-01-31 Martin Liska <mliska (a] suse.cz> 6159 1.1 mrg 6160 1.1 mrg * acinclude.m4: Detect *_ld_is_mold and use it. 6161 1.1 mrg * configure: Regenerate. 6162 1.1 mrg 6163 1.1 mrg 2022-01-30 Hans-Peter Nilsson <hp (a] axis.com> 6164 1.1 mrg 6165 1.1 mrg * testsuite/27_io/basic_istream/get/char/lwg3464.cc: Don't run on 6166 1.1 mrg simulator targets. 6167 1.1 mrg * testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: Likewise. 6168 1.1 mrg 6169 1.1 mrg 2022-01-27 Jonathan Wakely <jwakely (a] redhat.com> 6170 1.1 mrg 6171 1.1 mrg PR libstdc++/100516 6172 1.1 mrg * include/bits/deque.tcc (_M_range_initialize<ForwardIterator>): 6173 1.1 mrg Add __builtin_unreachable to loop. 6174 1.1 mrg * testsuite/23_containers/deque/100516.cc: New test. 6175 1.1 mrg 6176 1.1 mrg 2022-01-27 Jonathan Wakely <jwakely (a] redhat.com> 6177 1.1 mrg 6178 1.1 mrg * include/bits/ranges_base.h (ranges::advance): Avoid signed 6179 1.1 mrg overflow. Do nothing if already equal to desired result. 6180 1.1 mrg * testsuite/24_iterators/range_operations/advance_overflow.cc: 6181 1.1 mrg New test. 6182 1.1 mrg 6183 1.1 mrg 2022-01-27 Martin Liska <mliska (a] suse.cz> 6184 1.1 mrg 6185 1.1 mrg PR libstdc++/104259 6186 1.1 mrg * acinclude.m4: Fix typo. 6187 1.1 mrg * configure: Regenerate. 6188 1.1 mrg 6189 1.1 mrg 2022-01-25 Jonathan Wakely <jwakely (a] redhat.com> 6190 1.1 mrg 6191 1.1 mrg PR libstdc++/104019 6192 1.1 mrg * include/bits/istream.tcc (basic_istream::sentry): Add braces 6193 1.1 mrg around try-block. 6194 1.1 mrg * include/bits/shared_ptr_base.h (_Sp_counted_array_base::_M_init): 6195 1.1 mrg Add pragmas to disable bogus warnings from PR 61596. 6196 1.1 mrg 6197 1.1 mrg 2022-01-25 Jonathan Wakely <jwakely (a] redhat.com> 6198 1.1 mrg 6199 1.1 mrg PR libstdc++/104217 6200 1.1 mrg * src/c++17/fs_ops.cc (_GNU_SOURCE): Define. 6201 1.1 mrg * src/filesystem/dir.cc (_GNU_SOURCE): Define. 6202 1.1 mrg * src/filesystem/ops.cc (_GNU_SOURCE): Define. 6203 1.1 mrg 6204 1.1 mrg 2022-01-25 Jonathan Wakely <jwakely (a] redhat.com> 6205 1.1 mrg 6206 1.1 mrg PR libstdc++/104161 6207 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for 6208 1.1 mrg fdopendir. 6209 1.1 mrg * config.h.in: Regenerate. 6210 1.1 mrg * configure: Regenerate. 6211 1.1 mrg * src/c++17/fs_dir.cc (_Dir): Add nofollow flag to constructor 6212 1.1 mrg and pass it to base class constructor. 6213 1.1 mrg (directory_iterator): Pass nofollow flag to _Dir constructor. 6214 1.1 mrg (fs::recursive_directory_iterator::increment): Likewise. 6215 1.1 mrg * src/c++17/fs_ops.cc (do_remove_all): Use nofollow option for 6216 1.1 mrg directory_iterator constructor. Move error check outside loop. 6217 1.1 mrg * src/filesystem/dir-common.h (_Dir_base): Add nofollow flag to 6218 1.1 mrg constructor and when it's set use ::open with O_NOFOLLOW and 6219 1.1 mrg O_DIRECTORY. 6220 1.1 mrg * src/filesystem/dir.cc (_Dir): Add nofollow flag to constructor 6221 1.1 mrg and pass it to base class constructor. 6222 1.1 mrg (directory_iterator): Pass nofollow flag to _Dir constructor. 6223 1.1 mrg (fs::recursive_directory_iterator::increment): Likewise. 6224 1.1 mrg * src/filesystem/ops.cc (remove_all): Use nofollow option for 6225 1.1 mrg directory_iterator constructor. Move error check outside loop. 6226 1.1 mrg 6227 1.1 mrg 2022-01-23 Jonathan Wakely <jwakely (a] redhat.com> 6228 1.1 mrg 6229 1.1 mrg PR libstdc++/104032 6230 1.1 mrg * include/std/spanstream (basic_spanbuf(basic_spanbuf&&)): Use 6231 1.1 mrg mem-initializer for _M_buf. 6232 1.1 mrg (basic_spanbuf::Operator=(basic_spanbuf&&)): Fix ill-formed 6233 1.1 mrg member access. 6234 1.1 mrg * testsuite/27_io/spanstream/2.cc: New test. 6235 1.1 mrg 6236 1.1 mrg 2022-01-23 Jonathan Wakely <jwakely (a] redhat.com> 6237 1.1 mrg 6238 1.1 mrg * src/c++17/floating_from_chars.cc (USE_STRTOD_FOR_FROM_CHARS): 6239 1.1 mrg Define macro for case where std::from_chars is implemented in 6240 1.1 mrg terms of strtod, strtof or strtold. 6241 1.1 mrg (buffer_resource, valid_fmt, find_end_of_float, pattern) 6242 1.1 mrg (from_chars_impl, make_result, reserve_string): Do not define 6243 1.1 mrg unless USE_STRTOD_FOR_FROM_CHARS is defined. 6244 1.1 mrg (from_chars): Define when at least one of USE_LIB_FAST_FLOAT and 6245 1.1 mrg USE_STRTOD_FOR_FROM_CHARS is defined, instead of 6246 1.1 mrg _GLIBCXX_HAVE_USELOCALE. Use fast_float for long double when it 6247 1.1 mrg is binary64. 6248 1.1 mrg 6249 1.1 mrg 2022-01-23 Jonathan Wakely <jwakely (a] redhat.com> 6250 1.1 mrg 6251 1.1 mrg PR libstdc++/104174 6252 1.1 mrg * include/bits/hashtable_policy.h (_Map_base): Add partial 6253 1.1 mrg specialization for maps with const key types. 6254 1.1 mrg * testsuite/23_containers/unordered_map/104174.cc: New test. 6255 1.1 mrg 6256 1.1 mrg 2022-01-23 Jonathan Wakely <jwakely (a] redhat.com> 6257 1.1 mrg 6258 1.1 mrg PR libstdc++/104019 6259 1.1 mrg * include/bits/shared_ptr_base.h (_Sp_counted_base<>::_M_release): 6260 1.1 mrg Set members to zero without type punning. 6261 1.1 mrg 6262 1.1 mrg 2022-01-21 Jonathan Wakely <jwakely (a] redhat.com> 6263 1.1 mrg 6264 1.1 mrg * testsuite/20_util/shared_ptr/cons/array.cc: Fix comment. 6265 1.1 mrg 6266 1.1 mrg 2022-01-21 Jonathan Wakely <jwakely (a] redhat.com> 6267 1.1 mrg 6268 1.1 mrg PR libstdc++/87193 6269 1.1 mrg PR libstdc++/104019 6270 1.1 mrg * include/bits/alloc_traits.h (__cpp_lib_allocator_traits_is_always_equal): 6271 1.1 mrg Define as type long. 6272 1.1 mrg * include/bits/allocator.h (__cpp_lib_incomplete_container_elements): 6273 1.1 mrg Likewise. 6274 1.1 mrg * include/bits/basic_string.h (__cpp_lib_string_udls): Likewise. 6275 1.1 mrg * include/bits/chrono.h (__cpp_lib_chrono): Likewise. 6276 1.1 mrg (__cpp_lib_chrono_udls): Likewise. 6277 1.1 mrg * include/bits/move.h (__cpp_lib_addressof_constexpr): Likewise. 6278 1.1 mrg * include/bits/node_handle.h (__cpp_lib_node_extract): Likewise. 6279 1.1 mrg * include/bits/range_access.h (__cpp_lib_nonmember_container_access): 6280 1.1 mrg Likewise. 6281 1.1 mrg * include/bits/shared_ptr.h (__cpp_lib_enable_shared_from_this): 6282 1.1 mrg Likewise. 6283 1.1 mrg * include/bits/stl_algo.h (__cpp_lib_clamp): Likewise. 6284 1.1 mrg (__cpp_lib_sample): Likewise. 6285 1.1 mrg * include/bits/stl_algobase.h (__cpp_lib_robust_nonmodifying_seq_ops): 6286 1.1 mrg Likewise. 6287 1.1 mrg * include/bits/stl_function.h (__cpp_lib_transparent_operators): 6288 1.1 mrg Likewise. 6289 1.1 mrg * include/bits/stl_iterator.h (__cpp_lib_make_reverse_iterator): 6290 1.1 mrg Likewise. 6291 1.1 mrg * include/bits/stl_map.h (__cpp_lib_map_try_emplace): 6292 1.1 mrg Likewise. 6293 1.1 mrg * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup): 6294 1.1 mrg Likewise. 6295 1.1 mrg * include/bits/unique_ptr.h (__cpp_lib_make_unique): 6296 1.1 mrg Likewise. 6297 1.1 mrg * include/bits/unordered_map.h (__cpp_lib_unordered_map_try_emplace): 6298 1.1 mrg Likewise. 6299 1.1 mrg * include/c_global/cmath (__cpp_lib_hypot): Likewise. 6300 1.1 mrg * include/c_global/cstddef (__cpp_lib_byte): Likewise. 6301 1.1 mrg * include/std/atomic (__cpp_lib_atomic_is_always_lock_free): 6302 1.1 mrg Likewise. 6303 1.1 mrg * include/std/complex (__cpp_lib_complex_udls): Likewise. 6304 1.1 mrg * include/std/filesystem (__cpp_lib_filesystem): Likewise. 6305 1.1 mrg * include/std/functional (__cpp_lib_not_fn): Likewise. 6306 1.1 mrg (__cpp_lib_boyer_moore_searcher): Likewise. 6307 1.1 mrg * include/std/iomanip (__cpp_lib_quoted_string_io): Likewise. 6308 1.1 mrg * include/std/mutex (__cpp_lib_scoped_lock): Likewise. 6309 1.1 mrg * include/std/numeric (__cpp_lib_gcd_lcm): Likewise. 6310 1.1 mrg (__cpp_lib_gcd, __cpp_lib_lcm): Likewise. 6311 1.1 mrg * include/std/tuple (__cpp_lib_apply): Likewise. 6312 1.1 mrg (__cpp_lib_make_from_tuple): Likewise. 6313 1.1 mrg * include/std/type_traits (__cpp_lib_integral_constant_callable) 6314 1.1 mrg (__cpp_lib_bool_constant, __cpp_lib_logical_traits) 6315 1.1 mrg (__cpp_lib_is_null_pointer, __cpp_lib_transformation_trait_aliases) 6316 1.1 mrg (__cpp_lib_result_of_sfinae, __cpp_lib_void_t) 6317 1.1 mrg (__cpp_lib_is_swappable, __cpp_lib_is_invocable) 6318 1.1 mrg (__cpp_lib_has_unique_object_representations) 6319 1.1 mrg (__cpp_lib_is_aggregate): Likewise. 6320 1.1 mrg * include/std/version: Likewise. 6321 1.1 mrg * libsupc++/new (__cpp_lib_launder): Likewise. 6322 1.1 mrg 6323 1.1 mrg 2022-01-21 Jonathan Wakely <jwakely (a] redhat.com> 6324 1.1 mrg 6325 1.1 mrg * include/std/version (__cpp_lib_shared_ptr_arrays): Fix 6326 1.1 mrg condition for C++17 definition. 6327 1.1 mrg 6328 1.1 mrg 2022-01-21 Jonathan Wakely <jwakely (a] redhat.com> 6329 1.1 mrg 6330 1.1 mrg * include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count): 6331 1.1 mrg Add constexpr. 6332 1.1 mrg (_Sp_atomic::_M_ptr): Add default member-initializer. 6333 1.1 mrg * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: 6334 1.1 mrg Check constant initialization. 6335 1.1 mrg * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise. 6336 1.1 mrg 6337 1.1 mrg 2022-01-20 Jonathan Wakely <jwakely (a] redhat.com> 6338 1.1 mrg 6339 1.1 mrg * src/c++11/cxx11-ios_failure.cc (__constinit): Define as 6340 1.1 mrg equivalent attribute for Clang. 6341 1.1 mrg * src/c++11/future.cc (__constinit): Likewise. 6342 1.1 mrg * src/c++11/system_error.cc (__constinit): Likewise. 6343 1.1 mrg * src/c++17/memory_resource.cc (__constinit): Likewise. 6344 1.1 mrg 6345 1.1 mrg 2022-01-20 Jonathan Wakely <jwakely (a] redhat.com> 6346 1.1 mrg 6347 1.1 mrg * scripts/testsuite_flags.in: Only add src/filesystem/.libs and 6348 1.1 mrg src/libbacktrace/.libs to LDFLAGS if those directories exist. 6349 1.1 mrg 6350 1.1 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com> 6351 1.1 mrg 6352 1.1 mrg * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Remove -gdwarf-4 6353 1.1 mrg from default flags. 6354 1.1 mrg * configure: Regenerate. 6355 1.1 mrg 6356 1.1 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com> 6357 1.1 mrg 6358 1.1 mrg PR libstdc++/104123 6359 1.1 mrg * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Include 6360 1.1 mrg <stddef.h>. 6361 1.1 mrg 6362 1.1 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com> 6363 1.1 mrg 6364 1.1 mrg * scripts/testsuite_flags.in: Add src/libbacktrace/.libs to 6365 1.1 mrg linker search paths. 6366 1.1 mrg * src/Makefile.am: Fix src/debug/libbacktrace build. 6367 1.1 mrg * src/Makefile.in: Regenerate. 6368 1.1 mrg * src/libbacktrace/Makefile.am: Use per-library CPPFLAGS 6369 1.1 mrg variable. Use symlinks for the source files. 6370 1.1 mrg * src/libbacktrace/Makefile.in: Regenerate. 6371 1.1 mrg 6372 1.1 mrg 2022-01-19 Matthias Kretz <m.kretz (a] gsi.de> 6373 1.1 mrg 6374 1.1 mrg * include/experimental/bits/simd.h (__floating_point_flags): Do 6375 1.1 mrg not rely on math_errhandling to expand to a constant expression. 6376 1.1 mrg 6377 1.1 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com> 6378 1.1 mrg 6379 1.1 mrg * doc/xml/manual/evolution.xml: Document deprecations. 6380 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Update status. 6381 1.1 mrg * doc/html/*: Regenerate. 6382 1.1 mrg 6383 1.1 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com> 6384 1.1 mrg 6385 1.1 mrg * include/bits/stl_tempbuf.h (get_temporary_buffer): Change 6386 1.1 mrg _GLIBCXX14_DEPRECATED to _GLIBCXX17_DEPRECATED. 6387 1.1 mrg 6388 1.1 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com> 6389 1.1 mrg 6390 1.1 mrg * include/bits/stl_pair.h (_PCC::_DeprConsPair): Remove unused 6391 1.1 mrg function. 6392 1.1 mrg 6393 1.1 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com> 6394 1.1 mrg 6395 1.1 mrg PR libstdc++/104101 6396 1.1 mrg * include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count::lock): 6397 1.1 mrg Only use __thread_relax if __cpp_lib_atomic_wait is defined. 6398 1.1 mrg 6399 1.1 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com> 6400 1.1 mrg 6401 1.1 mrg PR libstdc++/104099 6402 1.1 mrg * include/bits/basic_string.h (basic_string(nullptr_t)): Only 6403 1.1 mrg define for C++23. 6404 1.1 mrg (operator=(nullptr_t)): Likewise. 6405 1.1 mrg * include/bits/cow_string.h: Likewise. 6406 1.1 mrg * include/std/string_view (basic_string_view(nullptr_t)): 6407 1.1 mrg Likewise. 6408 1.1 mrg * testsuite/21_strings/basic_string/cons/char/nullptr.cc: Adjust 6409 1.1 mrg expected error. Add examples that become ill-formed in C++23. 6410 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: 6411 1.1 mrg Adjust expected errors. 6412 1.1 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc: 6413 1.1 mrg Likewise. 6414 1.1 mrg 6415 1.1 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com> 6416 1.1 mrg 6417 1.1 mrg PR libstdc++/104098 6418 1.1 mrg * include/bits/stl_iterator.h (reverse_iterator): Check 6419 1.1 mrg __cpp_lib_concepts instead of __cplusplus. 6420 1.1 mrg 6421 1.1 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com> 6422 1.1 mrg 6423 1.1 mrg PR libstdc++/101124 6424 1.1 mrg * include/bits/stl_pair.h (pair): Adjust constraints on 6425 1.1 mrg deprecated constructors accepting literal zero as null pointer 6426 1.1 mrg constant. Improve wording of deprecated attribute. 6427 1.1 mrg * testsuite/20_util/pair/cons/99957.cc: Check that deprecated 6428 1.1 mrg constructors do not cause ambiguities for copyable types. 6429 1.1 mrg 6430 1.1 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com> 6431 1.1 mrg 6432 1.1 mrg * include/bits/stl_function.h (ptr_fun): Fix suggestion for 6433 1.1 mrg non-deprecated alternative. 6434 1.1 mrg 6435 1.1 mrg 2022-01-18 Tom Honermann <tom (a] honermann.net> 6436 1.1 mrg 6437 1.1 mrg * acinclude.m4: Define config macros if uchar.h provides 6438 1.1 mrg c8rtomb() and mbrtoc8(). 6439 1.1 mrg * config.h.in: Regenerate. 6440 1.1 mrg * configure: Regenerate. 6441 1.1 mrg * include/c_compatibility/uchar.h (c8rtomb, mbrtoc8): Define. 6442 1.1 mrg * include/c_global/cuchar (c8rtomb, mbrtoc8): Likewise. 6443 1.1 mrg * include/c_std/cuchar (c8rtomb, mbrtoc8): Likewise. 6444 1.1 mrg * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc: 6445 1.1 mrg New test. 6446 1.1 mrg * testsuite/21_strings/headers/cuchar/functions_std_fchar8_t.cc: 6447 1.1 mrg New test. 6448 1.1 mrg 6449 1.1 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com> 6450 1.1 mrg 6451 1.1 mrg * include/Makefile.am: Install new header. 6452 1.1 mrg * include/Makefile.in: Regenerate. 6453 1.1 mrg * include/c_compatibility/stdatomic.h: New file. 6454 1.1 mrg * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: New test. 6455 1.1 mrg 6456 1.1 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com> 6457 1.1 mrg 6458 1.1 mrg PR libstdc++/104080 6459 1.1 mrg * src/c++17/fast_float/LOCAL_PATCHES: Update. 6460 1.1 mrg * src/c++17/fast_float/fast_float.h (FASTFLOAT_IS_BIG_ENDIAN): 6461 1.1 mrg Define in terms of __BYTE_ORDER__. 6462 1.1 mrg 6463 1.1 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com> 6464 1.1 mrg 6465 1.1 mrg PR libstdc++/104080 6466 1.1 mrg * src/c++17/fast_float/LOCAL_PATCHES: UPDATE. 6467 1.1 mrg * src/c++17/fast_float/fast_float.h (round): Use explicit 6468 1.1 mrg template argument list for std::min. 6469 1.1 mrg 6470 1.1 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com> 6471 1.1 mrg 6472 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Update C++17 status. 6473 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Use 12.1 instead of 12 for 6474 1.1 mrg upcoming release. 6475 1.1 mrg * doc/html/manual/status.html: Regenerate. 6476 1.1 mrg 6477 1.1 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com> 6478 1.1 mrg 6479 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): Improve 6480 1.1 mrg comments. 6481 1.1 mrg * configure: Regenerate. 6482 1.1 mrg 6483 1.1 mrg 2022-01-17 Patrick Palka <ppalka (a] redhat.com> 6484 1.1 mrg 6485 1.1 mrg * src/c++17/floating_from_chars.cc: (USE_LIB_FAST_FLOAT): 6486 1.1 mrg Conditionally define, and use it to conditionally include 6487 1.1 mrg fast_float. 6488 1.1 mrg (from_chars): Use fast_float for float and double when 6489 1.1 mrg USE_LIB_FAST_FLOAT. 6490 1.1 mrg 6491 1.1 mrg 2022-01-17 Patrick Palka <ppalka (a] redhat.com> 6492 1.1 mrg 6493 1.1 mrg * src/c++17/fast_float/LOCAL_PATCHES: Update. 6494 1.1 mrg * src/c++17/fast_float/fast_float.h (from_chars_advanced): In 6495 1.1 mrg case of over/underflow, return errc::result_out_of_range and don't 6496 1.1 mrg modify 'value'. 6497 1.1 mrg 6498 1.1 mrg 2022-01-17 Patrick Palka <ppalka (a] redhat.com> 6499 1.1 mrg 6500 1.1 mrg * src/c++17/fast_float/LOCAL_PATCHES: Update. 6501 1.1 mrg * src/c++17/fast_float/fast_float.h: Apply local modifications. 6502 1.1 mrg 6503 1.1 mrg 2022-01-17 Patrick Palka <ppalka (a] redhat.com> 6504 1.1 mrg 6505 1.1 mrg * src/c++17/fast_float/LOCAL_PATCHES: New file. 6506 1.1 mrg * src/c++17/fast_float/MERGE: New file. 6507 1.1 mrg * src/c++17/fast_float/README.md: New file, copied from the 6508 1.1 mrg fast_float repository. 6509 1.1 mrg * src/c++17/fast_float/fast_float.h: New file, an amalgamation 6510 1.1 mrg of the fast_float library. 6511 1.1 mrg 6512 1.1 mrg 2022-01-17 Patrick Palka <ppalka (a] redhat.com> 6513 1.1 mrg 6514 1.1 mrg * src/c++17/floating_from_chars.cc: Include <bit>. 6515 1.1 mrg (ascii_to_hexit, starts_with_ci): Conditionally define. 6516 1.1 mrg (__floating_from_chars_hex): Conditionally define. 6517 1.1 mrg (from_chars): Use __floating_from_chars_hex for 6518 1.1 mrg chars_format::hex parsing of binary32/64 float/double. 6519 1.1 mrg (testsuite/20_util/from_chars/7.cc): New test. 6520 1.1 mrg * testsuite/20_util/from_chars/7.cc: New file. 6521 1.1 mrg 6522 1.1 mrg 2022-01-17 Jonathan Wakely <jwakely (a] redhat.com> 6523 1.1 mrg 6524 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): New macro. 6525 1.1 mrg * configure.ac: Use GLIBCXX_ENABLE_BACKTRACE. 6526 1.1 mrg * include/Makefile.am: Add new header. 6527 1.1 mrg * include/Makefile.in: Regenerate. 6528 1.1 mrg * include/std/stacktrace: New header. 6529 1.1 mrg * include/std/version (__cpp_lib_stacktrace): Define. 6530 1.1 mrg * Makefile.in: Regenerate. 6531 1.1 mrg * config.h.in: Regenerate. 6532 1.1 mrg * configure: Regenerate. 6533 1.1 mrg * doc/Makefile.in: Regenerate. 6534 1.1 mrg * libsupc++/Makefile.in: Regenerate. 6535 1.1 mrg * po/Makefile.in: Regenerate. 6536 1.1 mrg * python/Makefile.in: Regenerate. 6537 1.1 mrg * src/Makefile.am: Regenerate. 6538 1.1 mrg * src/Makefile.in: Regenerate. 6539 1.1 mrg * src/c++11/Makefile.in: Regenerate. 6540 1.1 mrg * src/c++17/Makefile.in: Regenerate. 6541 1.1 mrg * src/c++20/Makefile.in: Regenerate. 6542 1.1 mrg * src/c++98/Makefile.in: Regenerate. 6543 1.1 mrg * src/filesystem/Makefile.in: Regenerate. 6544 1.1 mrg * testsuite/Makefile.in: Regenerate. 6545 1.1 mrg * src/libbacktrace/Makefile.am: New file. 6546 1.1 mrg * src/libbacktrace/Makefile.in: New file. 6547 1.1 mrg * src/libbacktrace/backtrace-rename.h: New file. 6548 1.1 mrg * src/libbacktrace/backtrace-supported.h.in: New file. 6549 1.1 mrg * src/libbacktrace/config.h.in: New file. 6550 1.1 mrg * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): 6551 1.1 mrg New proc. 6552 1.1 mrg * testsuite/20_util/stacktrace/entry.cc: New test. 6553 1.1 mrg * testsuite/20_util/stacktrace/synopsis.cc: New test. 6554 1.1 mrg * testsuite/20_util/stacktrace/version.cc: New test. 6555 1.1 mrg 6556 1.1 mrg 2022-01-17 Jonathan Wakely <jwakely (a] redhat.com> 6557 1.1 mrg 6558 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Use final C++20 option 6559 1.1 mrg names. 6560 1.1 mrg * doc/html/manual/status.html: Regenerate. 6561 1.1 mrg 6562 1.1 mrg 2022-01-17 Jonathan Wakely <jwakely (a] redhat.com> 6563 1.1 mrg 6564 1.1 mrg PR libstdc++/103650 6565 1.1 mrg * include/Makefile.am: Rename LT_OBJDIR and STDC_HEADERS. 6566 1.1 mrg * include/Makefile.in: Regenerate. 6567 1.1 mrg * testsuite/17_intro/headers/c++1998/103650.cc: New test. 6568 1.1 mrg 6569 1.1 mrg 2022-01-17 Matthias Kretz <m.kretz (a] gsi.de> 6570 1.1 mrg 6571 1.1 mrg * include/experimental/bits/simd.h (__floating_point_flags): Do 6572 1.1 mrg not rely on the presence of the math_errhandling macro. 6573 1.1 mrg 6574 1.1 mrg 2022-01-17 Jonathan Wakely <jwakely (a] redhat.com> 6575 1.1 mrg 6576 1.1 mrg * include/bits/shared_ptr_atomic.h (_Sp_atomic): Add typename 6577 1.1 mrg to qualified-id for dependent type. 6578 1.1 mrg 6579 1.1 mrg 2022-01-17 Jonathan Wakely <jwakely (a] redhat.com> 6580 1.1 mrg 6581 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update. 6582 1.1 mrg * doc/html/manual/status.html: Regenerate. 6583 1.1 mrg 6584 1.1 mrg 2022-01-17 Jonathan Wakely <jwakely (a] redhat.com> 6585 1.1 mrg Thomas Rodgers <trodgers (a] redhat.com> 6586 1.1 mrg 6587 1.1 mrg * include/bits/shared_ptr_atomic.h (__cpp_lib_atomic_shared_ptr): 6588 1.1 mrg New macro. 6589 1.1 mrg (_Sp_atomic): New class template. 6590 1.1 mrg (atomic<shared_ptr<T>>, atomic<weak_ptr<T>>): New partial 6591 1.1 mrg specializations. 6592 1.1 mrg * include/bits/shared_ptr_base.h (__shared_count, __weak_count) 6593 1.1 mrg (__shared_ptr, __weak_ptr): Declare _Sp_atomic as a friend. 6594 1.1 mrg * include/std/version (__cpp_lib_atomic_shared_ptr): New macro. 6595 1.1 mrg * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: New 6596 1.1 mrg test. 6597 1.1 mrg * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: New test. 6598 1.1 mrg 6599 1.1 mrg 2022-01-15 Matthias Kretz <m.kretz (a] gsi.de> 6600 1.1 mrg 6601 1.1 mrg * include/experimental/bits/simd.h: Move feature detection bools 6602 1.1 mrg and add __have_avx512bitalg, __have_avx512vbmi2, 6603 1.1 mrg __have_avx512vbmi, __have_avx512ifma, __have_avx512cd, 6604 1.1 mrg __have_avx512vnni, __have_avx512vpopcntdq. 6605 1.1 mrg (__detail::__machine_flags): New function which returns a unique 6606 1.1 mrg uint64 depending on relevant -m and -f flags. 6607 1.1 mrg (__detail::__odr_helper): New type alias for either an anonymous 6608 1.1 mrg type or a type specialized with the __machine_flags number. 6609 1.1 mrg (_SimdIntOperators): Change template parameters from _Impl to 6610 1.1 mrg _Tp, _Abi because _Impl now has an __odr_helper parameter which 6611 1.1 mrg may be _OdrEnforcer from the anonymous namespace, which makes 6612 1.1 mrg for a bad base class. 6613 1.1 mrg (many): Either add __odr_helper template parameter or mark as 6614 1.1 mrg always_inline. 6615 1.1 mrg * include/experimental/bits/simd_detail.h: Add defines for 6616 1.1 mrg AVX512BITALG, AVX512VBMI2, AVX512VBMI, AVX512IFMA, AVX512CD, 6617 1.1 mrg AVX512VNNI, AVX512VPOPCNTDQ, and AVX512VP2INTERSECT. 6618 1.1 mrg * include/experimental/bits/simd_builtin.h: Add __odr_helper 6619 1.1 mrg template parameter or mark as always_inline. 6620 1.1 mrg * include/experimental/bits/simd_fixed_size.h: Ditto. 6621 1.1 mrg * include/experimental/bits/simd_math.h: Ditto. 6622 1.1 mrg * include/experimental/bits/simd_scalar.h: Ditto. 6623 1.1 mrg * include/experimental/bits/simd_neon.h: Add __odr_helper 6624 1.1 mrg template parameter. 6625 1.1 mrg * include/experimental/bits/simd_ppc.h: Ditto. 6626 1.1 mrg * include/experimental/bits/simd_x86.h: Ditto. 6627 1.1 mrg 6628 1.1 mrg 2022-01-14 Uro Bizjak <ubizjak (a] gmail.com> 6629 1.1 mrg 6630 1.1 mrg * testsuite/22_locale/numpunct/members/char/3.cc: 6631 1.1 mrg Require pt_PT locale instead of nl_NL. 6632 1.1 mrg (test02): Use pt_PT locale instead of nl_NL. 6633 1.1 mrg 6634 1.1 mrg 2022-01-14 Jonathan Wakely <jwakely (a] redhat.com> 6635 1.1 mrg 6636 1.1 mrg PR libstdc++/91260 6637 1.1 mrg PR libstdc++/91383 6638 1.1 mrg PR libstdc++/95065 6639 1.1 mrg * include/backward/binders.h (bind1st, bind2nd): Add deprecated 6640 1.1 mrg attribute. 6641 1.1 mrg * include/bits/refwrap.h (_Maybe_unary_or_binary_function): 6642 1.1 mrg Disable deprecated warnings for base classes. 6643 1.1 mrg (_Reference_wrapper_base): Likewise. 6644 1.1 mrg * include/bits/shared_ptr_base.h (_Sp_owner_less): Likewise. 6645 1.1 mrg * include/bits/stl_bvector.h (_Bit_iterator_base): Likewise. 6646 1.1 mrg * include/bits/stl_function.h (unary_function, binary_function): 6647 1.1 mrg Add deprecated attribute. 6648 1.1 mrg (unary_negate, not1, binary_negate, not2, ptr_fun) 6649 1.1 mrg (pointer_to_unary_function, pointer_to_binary_function) 6650 1.1 mrg (mem_fun_t, const_mem_fun_t, mem_fun_ref_t, const_mem_fun_ref_t) 6651 1.1 mrg (mem_fun1_t, const_mem_fun1_t, mem_fun_ref1_t) 6652 1.1 mrg (const_mem_fun1_ref_t, mem_fun, mem_fun_ref): Add deprecated 6653 1.1 mrg attributes. 6654 1.1 mrg * include/bits/stl_iterator.h: Disable deprecated warnings for 6655 1.1 mrg std::iterator base classes. 6656 1.1 mrg * include/bits/stl_iterator_base_types.h (iterator): Add 6657 1.1 mrg deprecated attribute. 6658 1.1 mrg * include/bits/stl_map.h (map::value_compare): Disable 6659 1.1 mrg deprecated warnings for base class. 6660 1.1 mrg * include/bits/stl_multimap.h (multimap::value_compare): 6661 1.1 mrg Likewise. 6662 1.1 mrg * include/bits/stl_raw_storage_iter.h (raw_storage_iterator): 6663 1.1 mrg Add deprecated attribute. 6664 1.1 mrg * include/bits/stl_tempbuf.h (get_temporary_buffer): Likewise. 6665 1.1 mrg * include/bits/stream_iterator.h: Disable deprecated warnings. 6666 1.1 mrg * include/bits/streambuf_iterator.h: Likewise. 6667 1.1 mrg * include/ext/bitmap_allocator.h: Remove unary_function base 6668 1.1 mrg classes. 6669 1.1 mrg * include/ext/functional: Disable deprecated warnings. 6670 1.1 mrg * include/ext/rope: Likewise. 6671 1.1 mrg * include/ext/throw_allocator.h: Likewise. 6672 1.1 mrg * include/std/type_traits (result_of): Add deprecated attribute. 6673 1.1 mrg * include/tr1/functional: Disable deprecated warnings. 6674 1.1 mrg * include/tr1/functional_hash.h: Likewise. 6675 1.1 mrg * testsuite/20_util/function_objects/binders/1.cc: Add 6676 1.1 mrg -Wno-disable-deprecations. 6677 1.1 mrg * testsuite/20_util/function_objects/binders/3113.cc: Likewise. 6678 1.1 mrg * testsuite/20_util/function_objects/constexpr.cc: Add 6679 1.1 mrg dg-warning. 6680 1.1 mrg * testsuite/20_util/raw_storage_iterator/base.cc: Likewise. 6681 1.1 mrg * testsuite/20_util/raw_storage_iterator/dr2127.cc: Likewise. 6682 1.1 mrg * testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc: 6683 1.1 mrg Likewise. 6684 1.1 mrg * testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc: 6685 1.1 mrg Likewise. 6686 1.1 mrg * testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc: 6687 1.1 mrg Likewise. 6688 1.1 mrg * testsuite/20_util/reference_wrapper/24803.cc: 6689 1.1 mrg Likewise. 6690 1.1 mrg * testsuite/20_util/reference_wrapper/typedefs.cc: Enable for 6691 1.1 mrg C++20 and check for absence of nested types. 6692 1.1 mrg * testsuite/20_util/shared_ptr/comparison/less.cc: Remove 6693 1.1 mrg std::binary_function base class. 6694 1.1 mrg * testsuite/20_util/temporary_buffer.cc: Add dg-warning. 6695 1.1 mrg * testsuite/21_strings/basic_string/cons/char/69092.cc: Remove 6696 1.1 mrg std::iterator base class. 6697 1.1 mrg * testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc: 6698 1.1 mrg Likewise. 6699 1.1 mrg * testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc: 6700 1.1 mrg Likewise. 6701 1.1 mrg * testsuite/24_iterators/insert_iterator/requirements/base_classes.cc: 6702 1.1 mrg Likewise. 6703 1.1 mrg * testsuite/24_iterators/istream_iterator/requirements/base_classes.cc: 6704 1.1 mrg Likewise. 6705 1.1 mrg * testsuite/24_iterators/istreambuf_iterator/92285.cc: 6706 1.1 mrg Likewise. 6707 1.1 mrg * testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc: 6708 1.1 mrg Likewise. 6709 1.1 mrg * testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc: 6710 1.1 mrg Likewise. 6711 1.1 mrg * testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc: 6712 1.1 mrg Likewise. 6713 1.1 mrg * testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc: 6714 1.1 mrg Likewise. 6715 1.1 mrg * testsuite/25_algorithms/copy/34595.cc: 6716 1.1 mrg Likewise. 6717 1.1 mrg * testsuite/25_algorithms/minmax/3.cc: Remove std::binary_function 6718 1.1 mrg base class. 6719 1.1 mrg * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc: 6720 1.1 mrg Disable deprecated warnings. 6721 1.1 mrg * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc: 6722 1.1 mrg Likewise. 6723 1.1 mrg * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc: 6724 1.1 mrg Likewise. 6725 1.1 mrg * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc: 6726 1.1 mrg Likewise. 6727 1.1 mrg * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc: 6728 1.1 mrg Likewise. 6729 1.1 mrg * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc: 6730 1.1 mrg Likewise. 6731 1.1 mrg * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc: 6732 1.1 mrg Likewise. 6733 1.1 mrg * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc: 6734 1.1 mrg Likewise. 6735 1.1 mrg * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc: 6736 1.1 mrg Likewise. 6737 1.1 mrg * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc: 6738 1.1 mrg Likewise. 6739 1.1 mrg * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc: 6740 1.1 mrg Likewise. 6741 1.1 mrg * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc: 6742 1.1 mrg Likewise. 6743 1.1 mrg * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc: 6744 1.1 mrg Likewise. 6745 1.1 mrg * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc: 6746 1.1 mrg Likewise. 6747 1.1 mrg * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc: 6748 1.1 mrg Likewise. 6749 1.1 mrg * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc: 6750 1.1 mrg Likewise. 6751 1.1 mrg * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc: 6752 1.1 mrg Likewise. 6753 1.1 mrg * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc: 6754 1.1 mrg Likewise. 6755 1.1 mrg * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc: 6756 1.1 mrg Likewise. 6757 1.1 mrg * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc: 6758 1.1 mrg Likewise. 6759 1.1 mrg * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc: 6760 1.1 mrg Likewise. 6761 1.1 mrg * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc: 6762 1.1 mrg Likewise. 6763 1.1 mrg * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc: 6764 1.1 mrg Likewise. 6765 1.1 mrg * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc: 6766 1.1 mrg Likewise. 6767 1.1 mrg * testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc: 6768 1.1 mrg Likewise. 6769 1.1 mrg * testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc: 6770 1.1 mrg Likewise. 6771 1.1 mrg * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc: 6772 1.1 mrg Likewise. 6773 1.1 mrg * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc: 6774 1.1 mrg Likewise. 6775 1.1 mrg * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc: 6776 1.1 mrg Likewise. 6777 1.1 mrg * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc: 6778 1.1 mrg Likewise. 6779 1.1 mrg * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: 6780 1.1 mrg Likewise. 6781 1.1 mrg * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc: 6782 1.1 mrg Likewise. 6783 1.1 mrg * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc: 6784 1.1 mrg Likewise. 6785 1.1 mrg * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc: 6786 1.1 mrg Likewise. 6787 1.1 mrg * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc: 6788 1.1 mrg Likewise. 6789 1.1 mrg * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc: 6790 1.1 mrg Likewise. 6791 1.1 mrg * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc: 6792 1.1 mrg Likewise. 6793 1.1 mrg * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc: 6794 1.1 mrg Likewise. 6795 1.1 mrg * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc: 6796 1.1 mrg Likewise. 6797 1.1 mrg * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc: 6798 1.1 mrg Likewise. 6799 1.1 mrg * testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc: 6800 1.1 mrg Likewise. 6801 1.1 mrg * testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc: 6802 1.1 mrg Likewise. 6803 1.1 mrg * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc: 6804 1.1 mrg Likewise. 6805 1.1 mrg * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc: 6806 1.1 mrg Likewise. 6807 1.1 mrg * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc: 6808 1.1 mrg Likewise. 6809 1.1 mrg * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc: 6810 1.1 mrg Likewise. 6811 1.1 mrg * testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc: 6812 1.1 mrg Likewise. 6813 1.1 mrg * testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc: 6814 1.1 mrg Likewise. 6815 1.1 mrg * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Add 6816 1.1 mrg dg-warning. 6817 1.1 mrg * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc: 6818 1.1 mrg Likewise. 6819 1.1 mrg * testsuite/ext/pb_ds/example/priority_queue_split_join.cc: 6820 1.1 mrg Likewise. 6821 1.1 mrg * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc: 6822 1.1 mrg Disable deprecated warnings. 6823 1.1 mrg * testsuite/tr1/6_containers/hash/requirements/base_classes.cc: 6824 1.1 mrg Likewise. 6825 1.1 mrg * testsuite/util/regression/trait/erase_if_fn.hpp: Remove 6826 1.1 mrg std::unary_function base classes. 6827 1.1 mrg * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): 6828 1.1 mrg Remove std::iterator base classes. 6829 1.1 mrg 6830 1.1 mrg 2022-01-14 Jonathan Wakely <jwakely (a] redhat.com> 6831 1.1 mrg 6832 1.1 mrg * include/bits/shared_ptr.h (__cpp_lib_shared_ptr_weak_type): 6833 1.1 mrg Correct type of macro value. 6834 1.1 mrg (shared_ptr): Add additional friend declarations. 6835 1.1 mrg (make_shared, allocate_shared): Constrain existing overloads and 6836 1.1 mrg remove static_assert. 6837 1.1 mrg * include/bits/shared_ptr_base.h (__cpp_lib_smart_ptr_for_overwrite): 6838 1.1 mrg New macro. 6839 1.1 mrg (_Sp_counted_ptr_inplace<T, Alloc, Lp>): New partial 6840 1.1 mrg specialization for use with make_shared_for_overwrite. 6841 1.1 mrg (__cpp_lib_shared_ptr_arrays): Update value for C++20. 6842 1.1 mrg (_Sp_counted_array_base): New class template. 6843 1.1 mrg (_Sp_counted_array): New class template. 6844 1.1 mrg (__shared_count(_Tp*&, const _Sp_counted_array_base&, _Init)): 6845 1.1 mrg New constructor for allocating shared arrays. 6846 1.1 mrg (__shared_ptr(const _Sp_counted_array_base&, _Init)): Likewise. 6847 1.1 mrg * include/std/version (__cpp_lib_shared_ptr_weak_type): Correct 6848 1.1 mrg type. 6849 1.1 mrg (__cpp_lib_shared_ptr_arrays): Update value for C++20. 6850 1.1 mrg (__cpp_lib_smart_ptr_for_overwrite): New macro. 6851 1.1 mrg * testsuite/20_util/shared_ptr/creation/99006.cc: Adjust 6852 1.1 mrg expected errors. 6853 1.1 mrg * testsuite/20_util/shared_ptr/creation/array.cc: New test. 6854 1.1 mrg * testsuite/20_util/shared_ptr/creation/overwrite.cc: New test. 6855 1.1 mrg * testsuite/20_util/shared_ptr/creation/version.cc: New test. 6856 1.1 mrg * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Check 6857 1.1 mrg feature test macro. Test non-trivial default-initialization. 6858 1.1 mrg 6859 1.1 mrg 2022-01-14 Jonathan Wakely <jwakely (a] redhat.com> 6860 1.1 mrg 6861 1.1 mrg * include/bits/stl_construct.h (_Construct, _Construct_novalue): 6862 1.1 mrg Also cast away cv-qualifiers when converting pointer to void. 6863 1.1 mrg * testsuite/20_util/allocator/void.cc: Test construct function 6864 1.1 mrg with cv-qualified types. 6865 1.1 mrg 6866 1.1 mrg 2022-01-14 Jonathan Wakely <jwakely (a] redhat.com> 6867 1.1 mrg 6868 1.1 mrg PR libstdc++/103992 6869 1.1 mrg * include/bits/stl_iterator.h (common_iterator): Use 6870 1.1 mrg std::construct_at instead of placement new. 6871 1.1 mrg * testsuite/24_iterators/common_iterator/1.cc: Check copy 6872 1.1 mrg construction is usable in constant expressions. 6873 1.1 mrg 6874 1.1 mrg 2022-01-14 Jonathan Wakely <jwakely (a] redhat.com> 6875 1.1 mrg 6876 1.1 mrg * doc/xml/manual/status_cxx2011.xml: Document new tokens 6877 1.1 mrg accepted by std::random_device constructor. 6878 1.1 mrg * doc/html/manual/status.html: Regenerate. 6879 1.1 mrg 6880 1.1 mrg 2022-01-12 Patrick Palka <ppalka (a] redhat.com> 6881 1.1 mrg 6882 1.1 mrg * testsuite/20_util/to_chars/103955.cc: Add explicit dg-do 6883 1.1 mrg directive. 6884 1.1 mrg 6885 1.1 mrg 2022-01-12 Patrick Palka <ppalka (a] redhat.com> 6886 1.1 mrg 6887 1.1 mrg PR libstdc++/103955 6888 1.1 mrg * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): 6889 1.1 mrg Track the excess precision separately from the effective 6890 1.1 mrg precision. Avoid overflow in bounds check by splitting it into 6891 1.1 mrg two checks. 6892 1.1 mrg (__floating_to_chars_precision): Avoid overflow in bounds checks 6893 1.1 mrg similarly. 6894 1.1 mrg * testsuite/20_util/to_chars/103955.cc: New test. 6895 1.1 mrg 6896 1.1 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com> 6897 1.1 mrg 6898 1.1 mrg PR libstdc++/103726 6899 1.1 mrg * include/Makefile.am: Install <source_location> for 6900 1.1 mrg freestanding. 6901 1.1 mrg * include/Makefile.in: Regenerate. 6902 1.1 mrg * include/std/version (__cpp_lib_source_location): Define for 6903 1.1 mrg freestanding. 6904 1.1 mrg 6905 1.1 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com> 6906 1.1 mrg 6907 1.1 mrg * include/std/ranges (ranges::lazy_split_view::_InnerIter::end()): 6908 1.1 mrg Add neoxcept (LWG 3593). 6909 1.1 mrg 6910 1.1 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com> 6911 1.1 mrg 6912 1.1 mrg * include/std/ranges (ranges::__detail::__box): Add constexpr to 6913 1.1 mrg assignment operators (LWG 3572). 6914 1.1 mrg * testsuite/std/ranges/adaptors/filter.cc: Check assignment of a 6915 1.1 mrg view that uses copyable-box. 6916 1.1 mrg 6917 1.1 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com> 6918 1.1 mrg 6919 1.1 mrg PR libstdc++/103726 6920 1.1 mrg * include/Makefile.am: Install <coroutine> for freestanding. 6921 1.1 mrg * include/Makefile.in: Regenerate. 6922 1.1 mrg * include/std/coroutine: Adjust headers and preprocessor 6923 1.1 mrg conditions. 6924 1.1 mrg (__coroutine_traits_impl): Use concepts when available. 6925 1.1 mrg [_GLIBCXX_HOSTED] (hash<coroutine_handle>): Define. 6926 1.1 mrg 6927 1.1 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com> 6928 1.1 mrg 6929 1.1 mrg * include/std/ostream (operator<<(basic_ostream&, charT)): 6930 1.1 mrg Use unformatted input if no padding is needed. 6931 1.1 mrg (operator<<(basic_ostream<char>&, char)): Likewise. 6932 1.1 mrg 6933 1.1 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com> 6934 1.1 mrg 6935 1.1 mrg PR libstdc++/103891 6936 1.1 mrg * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS): 6937 1.1 mrg Define. 6938 1.1 mrg * include/std/variant (__cpp_lib_variant): Only define C++20 6939 1.1 mrg value when the compiler is known to support conditionally 6940 1.1 mrg trivial destructors. 6941 1.1 mrg * include/std/version (__cpp_lib_variant): Likewise. 6942 1.1 mrg 6943 1.1 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com> 6944 1.1 mrg 6945 1.1 mrg * include/bits/stl_iterator.h (common_iterator): Add constexpr 6946 1.1 mrg to all member functions (LWG 3574). 6947 1.1 mrg * testsuite/24_iterators/common_iterator/1.cc: Evaluate some 6948 1.1 mrg tests as constant expressions. 6949 1.1 mrg * testsuite/24_iterators/common_iterator/2.cc: Likewise. 6950 1.1 mrg 6951 1.1 mrg 2022-01-10 Jakub Jelinek <jakub (a] redhat.com> 6952 1.1 mrg 6953 1.1 mrg PR libstdc++/77760 6954 1.1 mrg * include/bits/locale_facets_nonio.h (__time_get_state): New struct. 6955 1.1 mrg (time_get::_M_extract_via_format): Declare new method with 6956 1.1 mrg __time_get_state& as an extra argument. 6957 1.1 mrg * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Add 6958 1.1 mrg __state argument, set various fields in it while parsing. Handle %j, 6959 1.1 mrg %U, %w and %W, fix up handling of %y, %Y and %C, don't adjust tm_hour 6960 1.1 mrg for %p immediately. Add a wrapper around the method without the 6961 1.1 mrg __state argument for backwards compatibility. 6962 1.1 mrg (_M_extract_num): Remove all __len == 4 special cases. 6963 1.1 mrg (time_get::do_get_time, time_get::do_get_date, time_get::do_get): Zero 6964 1.1 mrg initialize __state, pass it to _M_extract_via_format and finalize it 6965 1.1 mrg at the end. 6966 1.1 mrg (do_get_year): For 1-2 digit parsed years, map 0-68 to 2000-2068, 6967 1.1 mrg 69-99 to 1969-1999. For 3-4 digit parsed years use that as year. 6968 1.1 mrg (get): If do_get isn't overloaded from the locale_facets_nonio.tcc 6969 1.1 mrg version, don't call do_get but call _M_extract_via_format instead to 6970 1.1 mrg pass around state. 6971 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_extract_via_format 6972 1.1 mrg with extra __time_get_state and __time_get_state::_M_finalize_state. 6973 1.1 mrg * src/c++98/locale_facets.cc (is_leap, day_of_the_week, 6974 1.1 mrg day_of_the_year): New functions in anon namespace. 6975 1.1 mrg (mon_yday): New var in anon namespace. 6976 1.1 mrg (__time_get_state::_M_finalize_state): Define. 6977 1.1 mrg * testsuite/22_locale/time_get/get/char/4.cc: New test. 6978 1.1 mrg * testsuite/22_locale/time_get/get/wchar_t/4.cc: New test. 6979 1.1 mrg * testsuite/22_locale/time_get/get_year/char/1.cc (test01): Parse 197 6980 1.1 mrg as year 197AD instead of error. 6981 1.1 mrg * testsuite/22_locale/time_get/get_year/char/5.cc (test01): Parse 1 as 6982 1.1 mrg year 2001 instead of error. 6983 1.1 mrg * testsuite/22_locale/time_get/get_year/char/6.cc: New test. 6984 1.1 mrg * testsuite/22_locale/time_get/get_year/wchar_t/1.cc (test01): Parse 6985 1.1 mrg 197 as year 197AD instead of error. 6986 1.1 mrg * testsuite/22_locale/time_get/get_year/wchar_t/5.cc (test01): Parse 6987 1.1 mrg 1 as year 2001 instead of error. 6988 1.1 mrg * testsuite/22_locale/time_get/get_year/wchar_t/6.cc: New test. 6989 1.1 mrg 6990 1.1 mrg 2022-01-10 Jonathan Wakely <jwakely (a] redhat.com> 6991 1.1 mrg 6992 1.1 mrg PR libstdc++/103866 6993 1.1 mrg * acinclude.m4 (GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS): Do 6994 1.1 mrg nothing for freestanding builds. 6995 1.1 mrg (GLIBCXX_ENABLE_HOSTED): Define FREESTANDING_FLAGS. 6996 1.1 mrg * configure.ac: Do not use AC_LIBTOOL_DLOPEN when configured 6997 1.1 mrg with --without-headers. Do not use GCC_HEADER_STDINT for 6998 1.1 mrg freestanding builds. 6999 1.1 mrg * libsupc++/Makefile.am (HOSTED_CXXFLAGS): Use -ffreestanding 7000 1.1 mrg for freestanding builds. 7001 1.1 mrg * configure: Regenerate. 7002 1.1 mrg * Makefile.in: Regenerate. 7003 1.1 mrg * doc/Makefile.in: Regenerate. 7004 1.1 mrg * include/Makefile.in: Regenerate. 7005 1.1 mrg * libsupc++/Makefile.in: Regenerate. 7006 1.1 mrg * po/Makefile.in: Regenerate. 7007 1.1 mrg * python/Makefile.in: Regenerate. 7008 1.1 mrg * src/Makefile.in: Regenerate. 7009 1.1 mrg * src/c++11/Makefile.in: Regenerate. 7010 1.1 mrg * src/c++17/Makefile.in: Regenerate. 7011 1.1 mrg * src/c++20/Makefile.in: Regenerate. 7012 1.1 mrg * src/c++98/Makefile.in: Regenerate. 7013 1.1 mrg * src/filesystem/Makefile.in: Regenerate. 7014 1.1 mrg * testsuite/Makefile.in: Regenerate. 7015 1.1 mrg 7016 1.1 mrg 2022-01-10 Jonathan Wakely <jwakely (a] redhat.com> 7017 1.1 mrg 7018 1.1 mrg * testsuite/28_regex/algorithms/regex_replace/char/103664.cc: 7019 1.1 mrg Add dg-timeout-factor directive. 7020 1.1 mrg * testsuite/28_regex/basic_regex/84110.cc: Likewise. 7021 1.1 mrg * testsuite/28_regex/basic_regex/ctors/char/other.cc: Likewise. 7022 1.1 mrg * testsuite/28_regex/match_results/102667.cc: Likewise. 7023 1.1 mrg 7024 1.1 mrg 2022-01-10 Jonathan Wakely <jwakely (a] redhat.com> 7025 1.1 mrg 7026 1.1 mrg * doc/xml/manual/using.xml: Update documentation around default 7027 1.1 mrg -std option. 7028 1.1 mrg * doc/html/*: Regenerate. 7029 1.1 mrg 7030 1.1 mrg 2022-01-10 Jonathan Wakely <jwakely (a] redhat.com> 7031 1.1 mrg 7032 1.1 mrg PR libstdc++/100017 7033 1.1 mrg * src/c++17/Makefile.am (AM_CXXFLAGS): Add -nostdinc++. 7034 1.1 mrg * src/c++17/Makefile.in: Regenerate. 7035 1.1 mrg 7036 1.1 mrg 2022-01-09 Sandra Loosemore <sandra (a] codesourcery.com> 7037 1.1 mrg 7038 1.1 mrg * testsuite/18_support/type_info/constexpr.cc: Add explicit 7039 1.1 mrg -fdelete-null-pointer-checks option. 7040 1.1 mrg 7041 1.1 mrg 2022-01-06 Pavel I. Kryukov <pavel.kryukov (a] phystech.edu> 7042 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 7043 1.1 mrg 7044 1.1 mrg PR libstdc++/103853 7045 1.1 mrg * include/bits/forward_list.tcc (forward_list::merge): Check for 7046 1.1 mrg self-merge. 7047 1.1 mrg * testsuite/23_containers/forward_list/operations/merge.cc: New test. 7048 1.1 mrg 7049 1.1 mrg 2022-01-06 Jonathan Wakely <jwakely (a] redhat.com> 7050 1.1 mrg 7051 1.1 mrg * include/bits/regex.h (basic_regex, match_results): Qualify 7052 1.1 mrg name in friend declaration, to work around Clang bug. 7053 1.1 mrg 7054 1.1 mrg 2022-01-06 Jonathan Wakely <jwakely (a] redhat.com> 7055 1.1 mrg 7056 1.1 mrg * testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor. 7057 1.1 mrg 7058 1.1 mrg 2022-01-06 Jonathan Wakely <jwakely (a] redhat.com> 7059 1.1 mrg 7060 1.1 mrg PR libstdc++/103911 7061 1.1 mrg * include/std/charconv (__from_chars_alpha_to_num): Return 7062 1.1 mrg char instead of unsigned char. Change invalid return value to 7063 1.1 mrg 127 instead of using numeric trait. 7064 1.1 mrg (__from_chars_alnum): Fix comment. Do not use std::isdigit. 7065 1.1 mrg Change type of variable to char. 7066 1.1 mrg 7067 1.1 mrg 2022-01-05 Franois Dumont <fdumont (a] gcc.gnu.org> 7068 1.1 mrg 7069 1.1 mrg PR libstdc++/68303 7070 1.1 mrg * include/bits/hashtable_policy.h 7071 1.1 mrg (_Hashtable_hash_traits<_Hash>): New. 7072 1.1 mrg (_Hash_code_base<>::_M_hash_code(const _Hash_node_value<>&)): New. 7073 1.1 mrg (_Hashtable_base<>::_M_key_equals): New. 7074 1.1 mrg (_Hashtable_base<>::_M_equals): Use latter. 7075 1.1 mrg (_Hashtable_base<>::_M_key_equals_tr): New. 7076 1.1 mrg (_Hashtable_base<>::_M_equals_tr): Use latter. 7077 1.1 mrg * include/bits/hashtable.h 7078 1.1 mrg (_Hashtable<>::__small_size_threshold()): New, use _Hashtable_hash_traits. 7079 1.1 mrg (_Hashtable<>::find): Loop through elements to look for key if size is lower 7080 1.1 mrg than __small_size_threshold(). 7081 1.1 mrg (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise. 7082 1.1 mrg (_Hashtable<>::_M_insert_unique(_Kt&&, _Args&&, const _NodeGenerator&)): Likewise. 7083 1.1 mrg (_Hashtable<>::_M_compute_hash_code(const_iterator, const key_type&)): New. 7084 1.1 mrg (_Hashtable<>::_M_emplace(const_iterator, false_type, _Args&&...)): Use latter. 7085 1.1 mrg (_Hashtable<>::_M_find_before_node(const key_type&)): New. 7086 1.1 mrg (_Hashtable<>::_M_erase(true_type, const key_type&)): Use latter. 7087 1.1 mrg (_Hashtable<>::_M_erase(false_type, const key_type&)): Likewise. 7088 1.1 mrg * src/c++11/hashtable_c++0x.cc: Include <bits/functional_hash.h>. 7089 1.1 mrg * testsuite/util/testsuite_performance.h 7090 1.1 mrg (report_performance): Use 9 width to display memory. 7091 1.1 mrg * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: 7092 1.1 mrg New performance test case. 7093 1.1 mrg 7094 1.1 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com> 7095 1.1 mrg 7096 1.1 mrg PR libstdc++/103919 7097 1.1 mrg * include/bits/basic_string.h (basic_string(const T&, size_t, size_t)): 7098 1.1 mrg Relax constraints on string_view parameter. 7099 1.1 mrg * include/bits/cow_string.h (basic_string(const T&, size_t, size_t)): 7100 1.1 mrg Likewise. 7101 1.1 mrg * testsuite/21_strings/basic_string/cons/char/103919.cc: New test. 7102 1.1 mrg 7103 1.1 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com> 7104 1.1 mrg 7105 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export new symbol for 7106 1.1 mrg ARM EABI. 7107 1.1 mrg * include/bits/c++config (_GLIBCXX23_CONSTEXPR): Define. 7108 1.1 mrg * include/std/version (__cpp_lib_constexpr_typeinfo): Define. 7109 1.1 mrg * libsupc++/tinfo.cc: Add #error to ensure non-inline definition 7110 1.1 mrg is emitted. 7111 1.1 mrg (type_info::__equal): Define alias symbol. 7112 1.1 mrg * libsupc++/typeinfo (type_info::before): Combine different 7113 1.1 mrg implementations into one. 7114 1.1 mrg (type_info::operator==): Likewise. Use address equality for 7115 1.1 mrg constant evaluation. Call __equal for targets that require the 7116 1.1 mrg definition to be non-inline. 7117 1.1 mrg * testsuite/18_support/type_info/constexpr.cc: New test. 7118 1.1 mrg 7119 1.1 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com> 7120 1.1 mrg 7121 1.1 mrg * src/c++11/cxx11-ios_failure.cc (io_error_category): Define 7122 1.1 mrg class and virtual functions as 'final'. 7123 1.1 mrg (io_category_instance): Use constinit union to make the object 7124 1.1 mrg immortal. 7125 1.1 mrg * src/c++11/future.cc (future_error_category): Define class and 7126 1.1 mrg virtual functions as 'final'. 7127 1.1 mrg (future_category_instance): Use constinit union. 7128 1.1 mrg 7129 1.1 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com> 7130 1.1 mrg 7131 1.1 mrg * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip 7132 1.1 mrg versioned namespace from the type name that is printed. 7133 1.1 mrg 7134 1.1 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com> 7135 1.1 mrg 7136 1.1 mrg * python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New 7137 1.1 mrg printer for std::regex NFA states. 7138 1.1 mrg 7139 1.1 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com> 7140 1.1 mrg 7141 1.1 mrg * testsuite/23_containers/forward_list/operations/1.cc: Fill in 7142 1.1 mrg placeholders in comments. 7143 1.1 mrg * testsuite/23_containers/forward_list/operations/2.cc: 7144 1.1 mrg Likewise. 7145 1.1 mrg * testsuite/23_containers/forward_list/operations/3.cc: 7146 1.1 mrg Likewise. 7147 1.1 mrg * testsuite/23_containers/forward_list/operations/4.cc: 7148 1.1 mrg Likewise. 7149 1.1 mrg * testsuite/23_containers/forward_list/operations/5.cc: 7150 1.1 mrg Likewise. 7151 1.1 mrg * testsuite/23_containers/forward_list/operations/6.cc: 7152 1.1 mrg Likewise. 7153 1.1 mrg * testsuite/23_containers/forward_list/operations/7.cc: 7154 1.1 mrg Likewise. 7155 1.1 mrg 7156 1.1 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com> 7157 1.1 mrg 7158 1.1 mrg PR libstdc++/103848 7159 1.1 mrg * include/bits/stl_deque.h (operator-): Do not use 0 as null 7160 1.1 mrg pointer constant. 7161 1.1 mrg 7162 1.1 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com> 7163 1.1 mrg 7164 1.1 mrg * include/bits/alloc_traits.h (allocator_traits<allocator<void>>): 7165 1.1 mrg Use std::_Construct for construct. 7166 1.1 mrg 7167 1.1 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com> 7168 1.1 mrg 7169 1.1 mrg PR libstdc++/103877 7170 1.1 mrg * doc/xml/faq.xml: Add '-x c++' to preprocessor command. 7171 1.1 mrg * doc/html/faq.html: Regenerate. 7172 1.1 mrg 7173 1.1 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com> 7174 1.1 mrg 7175 1.1 mrg * include/bits/regex.h (__regex_algo_impl): Change __policy and 7176 1.1 mrg __match_mode template parameters to be function parameters. 7177 1.1 mrg (regex_match, regex_search): Pass policy and match mode as 7178 1.1 mrg function arguments. 7179 1.1 mrg * include/bits/regex.tcc (__regex_algo_impl): Change template 7180 1.1 mrg parameters to function parameters. 7181 1.1 mrg * include/bits/regex_compiler.h (_RegexTranslatorBase): Use 7182 1.1 mrg 'if constexpr' for conditions using template parameters. 7183 1.1 mrg (_RegexTranslator): Likewise. 7184 1.1 mrg * include/bits/regex_executor.tcc (_Executor::_M_handle_accept): 7185 1.1 mrg Likewise. 7186 1.1 mrg * testsuite/util/testsuite_regex.h (regex_match_debug) 7187 1.1 mrg (regex_search_debug): Move template arguments to function 7188 1.1 mrg arguments. 7189 1.1 mrg 7190 1.1 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com> 7191 1.1 mrg 7192 1.1 mrg * testsuite/util/testsuite_regex.h (regex_match_debug): Compare 7193 1.1 mrg results even if the match failed. 7194 1.1 mrg 7195 1.1 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com> 7196 1.1 mrg 7197 1.1 mrg * include/bits/regex_compiler.tcc: Adjust all calls to 7198 1.1 mrg __throw_regex_error. 7199 1.1 mrg * include/bits/regex_error.h (__throw_regex_error): Add noreturn 7200 1.1 mrg attribute. 7201 1.1 mrg * include/bits/regex_scanner.tcc: Likewise. 7202 1.1 mrg * src/c++11/regex.cc (desc): New helper function. 7203 1.1 mrg (regex_error::regex_error(error_type)): Use desc to get a string 7204 1.1 mrg corresponding to the error code. 7205 1.1 mrg 7206 1.1 mrg 7208 1.1 mrg Copyright (C) 2022 Free Software Foundation, Inc. 7209 1.1 mrg 7210 1.1 mrg Copying and distribution of this file, with or without modification, 7211 1.1 mrg are permitted in any medium without royalty provided the copyright 7212 notice and this notice are preserved. 7213