1 1.1 mrg 2020-12-27 Gerald Pfeifer <gerald (a] pfeifer.com> 2 1.1 mrg 3 1.1 mrg * doc/xml/manual/abi.xml: Update link to Arm ABI. 4 1.1 mrg * doc/html/manual/abi.html: Regenerate. 5 1.1 mrg 6 1.1 mrg 2020-12-27 Gerald Pfeifer <gerald (a] pfeifer.com> 7 1.1 mrg 8 1.1 mrg * doc/xml/manual/debug.xml: Move Valgrind references to https. 9 1.1 mrg * doc/html/manual/debug.html: Regenerate. 10 1.1 mrg 11 1.1 mrg 2020-12-26 Gerald Pfeifer <gerald (a] pfeifer.com> 12 1.1 mrg 13 1.1 mrg * doc/xml/manual/abi.xml: Update link to Intel's compatibility 14 1.1 mrg with GNU compilers document. 15 1.1 mrg * doc/html/manual/abi.html: Regenerate. 16 1.1 mrg 17 1.1 mrg 2020-12-25 Gerald Pfeifer <gerald (a] pfeifer.com> 18 1.1 mrg 19 1.1 mrg * doc/xml/manual/messages.xml: Update link to Java docs. 20 1.1 mrg * doc/html/manual/facets.html: Ditto. 21 1.1 mrg 22 1.1 mrg 2020-12-25 Gerald Pfeifer <gerald (a] pfeifer.com> 23 1.1 mrg 24 1.1 mrg * doc/xml/manual/documentation_hacking.xml: Convert three links 25 1.1 mrg to doxygen.nl to https. 26 1.1 mrg * doc/html/manual/documentation_hacking.html: Regenerate. 27 1.1 mrg 28 1.1 mrg 2020-12-23 Olivier Hainque <hainque (a] adacore.com> 29 1.1 mrg 30 1.1 mrg * testsuite/17_intro/names.cc: Account for VxWorks headers. 31 1.1 mrg 32 1.1 mrg 2020-12-21 Patrick Palka <ppalka (a] redhat.com> 33 1.1 mrg 34 1.1 mrg * include/bits/c++config (_GLIBCXX_FLOAT_IS_IEEE_BINARY_32): 35 1.1 mrg Define this macro. 36 1.1 mrg (_GLIBCXX_DOUBLE_IS_IEEE_BINARY_64): Likewise. 37 1.1 mrg * include/std/charconv (to_chars): Use these macros to 38 1.1 mrg conditionally hide the overloads for floating-point types. 39 1.1 mrg * src/c++17/floating_to_chars.cc: Use the macros to 40 1.1 mrg conditionally disable this file. 41 1.1 mrg (floating_type_traits<float>): Remove redundant static assert. 42 1.1 mrg (floating_type_traits<double>): Likewise. 43 1.1 mrg * testsuite/20_util/to_chars/double.cc: Run this test only on 44 1.1 mrg ieee-floats effective targets. 45 1.1 mrg * testsuite/20_util/to_chars/float.cc: Likewise. 46 1.1 mrg * testsuite/20_util/to_chars/long_double.cc: Likewise. 47 1.1 mrg * testsuite/lib/libstdc++.exp 48 1.1 mrg (check_effective_target_ieee-floats): Define new proc for 49 1.1 mrg detecting whether float and double have the IEEE binary32 and 50 1.1 mrg binary64 formats. 51 1.1 mrg 52 1.1 mrg 2020-12-20 Jonathan Wakely <jwakely (a] redhat.com> 53 1.1 mrg 54 1.1 mrg * include/std/semaphore: Fix indentation. 55 1.1 mrg 56 1.1 mrg 2020-12-18 Patrick Palka <ppalka (a] redhat.com> 57 1.1 mrg 58 1.1 mrg PR libstdc++/98377 59 1.1 mrg * src/c++17/floating_to_chars.cc (__floating_to_chars_precision): 60 1.1 mrg Fix mistake. 61 1.1 mrg 62 1.1 mrg 2020-12-18 Patrick Palka <ppalka (a] redhat.com> 63 1.1 mrg 64 1.1 mrg PR libstdc++/98370 65 1.1 mrg * src/c++17/floating_to_chars.cc (__floating_to_chars_shortest): 66 1.1 mrg Provide explicit template arguments to the call to std::max. 67 1.1 mrg 68 1.1 mrg 2020-12-18 Patrick Palka <ppalka (a] redhat.com> 69 1.1 mrg 70 1.1 mrg PR libstdc++/98374 71 1.1 mrg * src/c++17/floating_to_chars.cc: Guard include of <langinfo.h> 72 1.1 mrg with __has_include. 73 1.1 mrg (__floating_to_chars_precision) [!defined(RADIXCHAR)]: Don't 74 1.1 mrg attempt to obtain the radix character of the current locale, 75 1.1 mrg just assume it's '.'. 76 1.1 mrg 77 1.1 mrg 2020-12-18 Patrick Palka <ppalka (a] redhat.com> 78 1.1 mrg 79 1.1 mrg * src/c++17/floating_from_chars.cc (from_chars_impl) 80 1.1 mrg [!defined(FE_TONEAREST)]: Don't adjust the rounding mode. 81 1.1 mrg * src/c++17/floating_to_chars.cc (__floating_to_chars_precision): 82 1.1 mrg Likewise. 83 1.1 mrg 84 1.1 mrg 2020-12-18 Patrick Palka <ppalka (a] redhat.com> 85 1.1 mrg 86 1.1 mrg * testsuite/20_util/to_chars/double.cc: New test, consisting of 87 1.1 mrg testcases imported from the MSVC STL testsuite. 88 1.1 mrg * testsuite/20_util/to_chars/float.cc: Likewise. 89 1.1 mrg 90 1.1 mrg 2020-12-18 Patrick Palka <ppalka (a] redhat.com> 91 1.1 mrg 92 1.1 mrg * config/abi/pre/gnu.ver: Add new exports. 93 1.1 mrg * include/std/charconv (to_chars): Declare the floating-point 94 1.1 mrg overloads for float, double and long double. 95 1.1 mrg * src/c++17/Makefile.am (sources): Add floating_to_chars.cc. 96 1.1 mrg * src/c++17/Makefile.in: Regenerate. 97 1.1 mrg * src/c++17/floating_to_chars.cc: New file. 98 1.1 mrg (to_chars): Define for float, double and long double. 99 1.1 mrg * testsuite/20_util/to_chars/long_double.cc: New test. 100 1.1 mrg 101 1.1 mrg 2020-12-18 Patrick Palka <ppalka (a] redhat.com> 102 1.1 mrg 103 1.1 mrg * src/c++17/ryu/common.h, src/c++17/ryu/d2fixed.c, 104 1.1 mrg src/c++17/ryu/d2fixed_full_table.h, src/c++17/ryu/d2s.c, 105 1.1 mrg src/c++17/ryu/d2s_intrinsics.h, src/c++17/ryu/f2s.c, 106 1.1 mrg src/c++17/ryu/f2s_intrinsics.h, src/c++17/ryu/generic_128.c: 107 1.1 mrg Apply local modifications. 108 1.1 mrg 109 1.1 mrg 2020-12-18 Patrick Palka <ppalka (a] redhat.com> 110 1.1 mrg 111 1.1 mrg * src/c++17/ryu/MERGE: New file. 112 1.1 mrg * src/c++17/ryu/common.h, src/c++17/ryu/d2fixed.c, 113 1.1 mrg src/c++17/ryu/d2fixed_full_table.h, src/c++17/ryu/d2s.c, 114 1.1 mrg src/c++17/ryu/d2s_full_table.h, src/c++17/ryu/d2s_intrinsics.h, 115 1.1 mrg src/c++17/ryu/digit_table.h, src/c++17/ryu/f2s.c, 116 1.1 mrg src/c++17/ryu/f2s_intrinsics.h, src/c++17/ryu/generic_128.c, 117 1.1 mrg src/c++17/ryu/generic_128.h, src/c++17/ryu/ryu_generic_128.h: 118 1.1 mrg Import these files from the Ryu library. 119 1.1 mrg 120 1.1 mrg 2020-12-17 Jonathan Wakely <jwakely (a] redhat.com> 121 1.1 mrg 122 1.1 mrg * config/os/djgpp/error_constants.h: Test POSIX errno macros 123 1.1 mrg directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros. 124 1.1 mrg * config/os/mingw32-w64/error_constants.h: Likewise. 125 1.1 mrg * config/os/mingw32/error_constants.h: Likewise. 126 1.1 mrg 127 1.1 mrg 2020-12-17 Jonathan Wakely <jwakely (a] redhat.com> 128 1.1 mrg 129 1.1 mrg * testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): 130 1.1 mrg Fix condition for _GTHREAD_USE_MUTEX_TIMEDLOCK test. 131 1.1 mrg 132 1.1 mrg 2020-12-17 Jonathan Wakely <jwakely (a] redhat.com> 133 1.1 mrg 134 1.1 mrg * src/c++11/mutex.cc (std::once_flag::_M_finish): Add 135 1.1 mrg maybe_unused attribute to variable used in assertion. 136 1.1 mrg 137 1.1 mrg 2020-12-17 Jonathan Wakely <jwakely (a] redhat.com> 138 1.1 mrg 139 1.1 mrg PR libstdc++/98344 140 1.1 mrg * include/bits/semaphore_base.h: Fix preprocessor condition. 141 1.1 mrg 142 1.1 mrg 2020-12-17 Jonathan Wakely <jwakely (a] redhat.com> 143 1.1 mrg 144 1.1 mrg * include/bits/std_thread.h (hash<thread::id>): Move here, 145 1.1 mrg from ... 146 1.1 mrg * include/std/thread (hash<thread::id>): ... here. 147 1.1 mrg 148 1.1 mrg 2020-12-17 Jonathan Wakely <jwakely (a] redhat.com> 149 1.1 mrg 150 1.1 mrg * config.h.in: Regenerate. 151 1.1 mrg * configure: Regenerate. 152 1.1 mrg 153 1.1 mrg 2020-12-16 Jonathan Wakely <jwakely (a] redhat.com> 154 1.1 mrg 155 1.1 mrg * Makefile.in: Regenerate. 156 1.1 mrg * config.h.in: Regenerate. 157 1.1 mrg * config/abi/pre/gnu.ver: Make patterns less greedy. 158 1.1 mrg * config/os/gnu-linux/ldbl-ieee128-extra.ver: New file with patterns 159 1.1 mrg for IEEE128 long double symbols. 160 1.1 mrg * configure: Regenerate. 161 1.1 mrg * configure.ac: Enable alternative 128-bit long double format on 162 1.1 mrg powerpc64*-*-linux*. 163 1.1 mrg * doc/Makefile.in: Regenerate. 164 1.1 mrg * fragment.am: Regenerate. 165 1.1 mrg * include/Makefile.am: Set _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT. 166 1.1 mrg * include/Makefile.in: Regenerate. 167 1.1 mrg * include/bits/c++config: Define inline namespace for new long 168 1.1 mrg double symbols. Don't define _GLIBCXX_USE_FLOAT128 when it's the 169 1.1 mrg same type as long double. 170 1.1 mrg * include/bits/locale_classes.h [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT] 171 1.1 mrg (locale::_Impl::_M_init_extra_ldbl128): Declare new member function. 172 1.1 mrg * include/bits/locale_facets.h (_GLIBCXX_NUM_FACETS): Simplify by 173 1.1 mrg only counting narrow character facets. 174 1.1 mrg (_GLIBCXX_NUM_CXX11_FACETS): Likewise. 175 1.1 mrg (_GLIBCXX_NUM_LBDL_ALT128_FACETS): New. 176 1.1 mrg [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT] (num_get::__do_get): Define 177 1.1 mrg vtable placeholder for __ibm128 long double type. 178 1.1 mrg [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] 179 1.1 mrg (num_get::__do_get): Declare vtable placeholder for __ibm128 long 180 1.1 mrg double type. 181 1.1 mrg [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] 182 1.1 mrg (num_put::__do_put): Likewise. 183 1.1 mrg * include/bits/locale_facets.tcc 184 1.1 mrg [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] 185 1.1 mrg (num_get::__do_get, num_put::__do_put): Define. 186 1.1 mrg * include/bits/locale_facets_nonio.h 187 1.1 mrg [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] 188 1.1 mrg (money_get::__do_get): Declare vtable placeholder for __ibm128 long 189 1.1 mrg double type. 190 1.1 mrg [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] 191 1.1 mrg (money_put::__do_put): Likewise. 192 1.1 mrg * include/bits/locale_facets_nonio.tcc 193 1.1 mrg [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] 194 1.1 mrg (money_get::__do_get, money_put::__do_put): Define. 195 1.1 mrg * include/ext/numeric_traits.h [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT] 196 1.1 mrg (__numeric_traits<__ibm128>, __numeric_traits<__ieee128>): Define. 197 1.1 mrg * libsupc++/Makefile.in: Regenerate. 198 1.1 mrg * po/Makefile.in: Regenerate. 199 1.1 mrg * python/Makefile.in: Regenerate. 200 1.1 mrg * src/Makefile.am: Add compatibility-ldbl-alt128.cc and 201 1.1 mrg compatibility-ldbl-alt128-cxx11.cc sources and recipes for objects. 202 1.1 mrg * src/Makefile.in: Regenerate. 203 1.1 mrg * src/c++11/Makefile.in: Regenerate. 204 1.1 mrg * src/c++11/compatibility-ldbl-alt128-cxx11.cc: New file defining 205 1.1 mrg symbols using the old 128-bit long double format, for the cxx11 ABI. 206 1.1 mrg * src/c++11/compatibility-ldbl-alt128.cc: Likewise, for the 207 1.1 mrg gcc4-compatible ABI. 208 1.1 mrg * src/c++11/compatibility-ldbl-facets-aliases.h: New header for long 209 1.1 mrg double compat aliases. 210 1.1 mrg * src/c++11/cow-locale_init.cc: Add comment. 211 1.1 mrg * src/c++11/cxx11-locale-inst.cc: Define C and C_is_char 212 1.1 mrg unconditionally. 213 1.1 mrg * src/c++11/cxx11-wlocale-inst.cc: Add sanity check. Include 214 1.1 mrg locale-inst.cc directly, not via cxx11-locale-inst.cc. 215 1.1 mrg * src/c++11/locale-inst-monetary.h: New header for monetary 216 1.1 mrg category instantiations. 217 1.1 mrg * src/c++11/locale-inst-numeric.h: New header for numeric category 218 1.1 mrg instantiations. 219 1.1 mrg * src/c++11/locale-inst.cc: Include new headers for monetary, 220 1.1 mrg numeric, and long double definitions. 221 1.1 mrg * src/c++11/wlocale-inst.cc: Remove long double compat aliases that 222 1.1 mrg are defined in new header now. 223 1.1 mrg * src/c++17/Makefile.am: Use -mabi=ibmlongdouble for 224 1.1 mrg floating_from_chars.cc. 225 1.1 mrg * src/c++17/Makefile.in: Regenerate. 226 1.1 mrg * src/c++17/floating_from_chars.cc (from_chars_impl): Add 227 1.1 mrg if-constexpr branch for __ieee128. 228 1.1 mrg (from_chars): Overload for __ieee128. 229 1.1 mrg * src/c++20/Makefile.in: Regenerate. 230 1.1 mrg * src/c++98/Makefile.in: Regenerate. 231 1.1 mrg * src/c++98/locale_init.cc (num_facets): Adjust calculation. 232 1.1 mrg (locale::_Impl::_Impl(size_t)): Call _M_init_extra_ldbl128. 233 1.1 mrg * src/c++98/localename.cc (num_facets): Adjust calculation. 234 1.1 mrg (locale::_Impl::_Impl(const char*, size_t)): Call 235 1.1 mrg _M_init_extra_ldbl128. 236 1.1 mrg * src/filesystem/Makefile.in: Regenerate. 237 1.1 mrg * testsuite/Makefile.in: Regenerate. 238 1.1 mrg * testsuite/util/testsuite_abi.cc: Add new symbol versions. 239 1.1 mrg Allow new symbols to be added to GLIBCXX_IEEE128_3.4.29 and 240 1.1 mrg CXXABI_IEEE128_1.3.13 too. 241 1.1 mrg * testsuite/26_numerics/complex/abi_tag.cc: Add u9__ieee128 to 242 1.1 mrg regex matching expected symbols. 243 1.1 mrg 244 1.1 mrg 2020-12-16 Jonathan Wakely <jwakely (a] redhat.com> 245 1.1 mrg 246 1.1 mrg * include/std/utility: Use __has_builtin without checking if 247 1.1 mrg it's defined. 248 1.1 mrg 249 1.1 mrg 2020-12-16 Jonathan Wakely <jwakely (a] redhat.com> 250 1.1 mrg 251 1.1 mrg * include/bits/c++config: Warn if __STRICT_ANSI__ state is 252 1.1 mrg inconsistent with __GLIBCXX_TYPE_INT_N_0. 253 1.1 mrg 254 1.1 mrg 2020-12-16 Jonathan Wakely <jwakely (a] redhat.com> 255 1.1 mrg 256 1.1 mrg PR libstdc++/96083 257 1.1 mrg * include/ext/throw_allocator.h: Use __has_builtin to check for 258 1.1 mrg __builtin_sprintf support, and use std::sprintf if necessary. 259 1.1 mrg 260 1.1 mrg 2020-12-16 Jonathan Wakely <jwakely (a] redhat.com> 261 1.1 mrg 262 1.1 mrg PR libstdc++/98319 263 1.1 mrg * include/experimental/random: Only define contents for C++14 264 1.1 mrg and later. 265 1.1 mrg * include/experimental/source_location: Likewise. 266 1.1 mrg * include/experimental/utility: Likewise. 267 1.1 mrg * testsuite/experimental/feat-lib-fund.cc: Include all LFTS 268 1.1 mrg headers that are present. Allow test to run for all modes. 269 1.1 mrg 270 1.1 mrg 2020-12-16 Jonathan Wakely <jwakely (a] redhat.com> 271 1.1 mrg 272 1.1 mrg PR libstdc++/46447 273 1.1 mrg * testsuite/performance/29_atomics/atomic_flag.cc: New test. 274 1.1 mrg 275 1.1 mrg 2020-12-16 Jonathan Wakely <jwakely (a] redhat.com> 276 1.1 mrg 277 1.1 mrg PR libstdc++/93151 278 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Remove. 279 1.1 mrg * configure.ac: Regenerate. 280 1.1 mrg * config/os/generic/error_constants.h: Test POSIX errno macros 281 1.1 mrg directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros. 282 1.1 mrg * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: 283 1.1 mrg Likewise. 284 1.1 mrg * testsuite/19_diagnostics/headers/system_error/93151.cc: New 285 1.1 mrg test. 286 1.1 mrg 287 1.1 mrg 2020-12-15 Jonathan Wakely <jwakely (a] redhat.com> 288 1.1 mrg 289 1.1 mrg Revert: 290 1.1 mrg 2020-12-15 Jonathan Wakely <jwakely (a] redhat.com> 291 1.1 mrg 292 1.1 mrg PR libstdc++/98108 293 1.1 mrg * include/std/iostream (__ioinit): Add init_priority attribute. 294 1.1 mrg 295 1.1 mrg 2020-12-15 Keith Packard <keithp (a] keithp.com> 296 1.1 mrg 297 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Allow "stdio_pure" 298 1.1 mrg option and define _GLIBCXX_USE_PURE_STDIO when it is used. Also 299 1.1 mrg add "stdio_posix" option as an alias for "stdio". 300 1.1 mrg * config/io/basic_file_stdio.cc [_GLIBCXX_USE_PURE_STDIO]: Only 301 1.1 mrg use defined stdio entry points for all I/O operations, without 302 1.1 mrg direct calls to underlying POSIX functions. 303 1.1 mrg * config.h.in: Regenerate. 304 1.1 mrg * configure: Regenerate. 305 1.1 mrg 306 1.1 mrg 2020-12-15 Ville Voutilainen <ville.voutilainen (a] gmail.com> 307 1.1 mrg 308 1.1 mrg * testsuite/27_io/rvalue_streams.cc: Run the extraction to a char* 309 1.1 mrg for C++17 and lower only. 310 1.1 mrg 311 1.1 mrg 2020-12-15 Jonathan Wakely <jwakely (a] redhat.com> 312 1.1 mrg 313 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/deque_iterators/1.cc: 314 1.1 mrg Add dg-timeout-factor directive. 315 1.1 mrg * testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc: 316 1.1 mrg Increase timeout factor from 2.0 to 3.0. 317 1.1 mrg * testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc: 318 1.1 mrg Likewise. 319 1.1 mrg * testsuite/lib/libstdc++.exp (check_effective_target_debug-mode): 320 1.1 mrg Define "debug-mode" as an effective-target keyword. 321 1.1 mrg 322 1.1 mrg 2020-12-15 Jonathan Wakely <jwakely (a] redhat.com> 323 1.1 mrg 324 1.1 mrg * include/bits/c++config (__glibcxx_assert_1): Define as empty 325 1.1 mrg for C++11. 326 1.1 mrg 327 1.1 mrg 2020-12-15 Marius Hillenbrand <mhillen (a] linux.ibm.com> 328 1.1 mrg 329 1.1 mrg * testsuite/22_locale/locale/cons/5.cc: Add missing directives 330 1.1 mrg for required locales. 331 1.1 mrg 332 1.1 mrg 2020-12-15 Jonathan Wakely <jwakely (a] redhat.com> 333 1.1 mrg 334 1.1 mrg * include/bits/iterator_concepts.h (incrementable_traits<Tp>): 335 1.1 mrg Remove workaround for PR c++/78173. 336 1.1 mrg 337 1.1 mrg 2020-12-15 Vladimir Vishnevsky <vv.os.swe (a] gmail.com> 338 1.1 mrg 339 1.1 mrg * configure.ac: Skip AC_LIBTOOL_DLOPEN check if avr-libc is used. 340 1.1 mrg * configure: Regenerate. 341 1.1 mrg 342 1.1 mrg 2020-12-15 Jonathan Wakely <jwakely (a] redhat.com> 343 1.1 mrg 344 1.1 mrg PR libstdc++/98108 345 1.1 mrg * include/std/iostream (__ioinit): Add init_priority attribute. 346 1.1 mrg 347 1.1 mrg 2020-12-15 Gerald Pfeifer <gerald (a] pfeifer.com> 348 1.1 mrg 349 1.1 mrg * doc/xml/manual/codecvt.xml: Update link to Unicode-HOWTO. 350 1.1 mrg * doc/html/manual/facets.html: Regenerate. 351 1.1 mrg 352 1.1 mrg 2020-12-14 Franois Dumont <fdumont (a] gcc.gnu.org> 353 1.1 mrg 354 1.1 mrg * testsuite/23_containers/array/debug/back1_neg.cc: Target c++14 because assertion 355 1.1 mrg is disabled in C++11. 356 1.1 mrg * testsuite/23_containers/array/debug/front1_neg.cc: Likewise. 357 1.1 mrg * testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc: Likewise. 358 1.1 mrg 359 1.1 mrg 2020-12-14 Martin Sebor <msebor (a] redhat.com> 360 1.1 mrg 361 1.1 mrg * testsuite/ext/vstring/requirements/exception/basic.cc: Suppress 362 1.1 mrg a false positive warning. 363 1.1 mrg * testsuite/ext/vstring/requirements/exception/propagation_consistent.cc: 364 1.1 mrg Same. 365 1.1 mrg 366 1.1 mrg 2020-12-14 Franois Dumont <fdumont (a] gcc.gnu.org> 367 1.1 mrg 368 1.1 mrg * testsuite/23_containers/array/debug/back2_neg.cc: target c++14 because assertion 369 1.1 mrg for constexpr is disabled in C++11. 370 1.1 mrg * testsuite/23_containers/array/debug/front2_neg.cc: Likewise. 371 1.1 mrg * testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc: Likewise. 372 1.1 mrg * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Include <memory> 373 1.1 mrg for shared_ptr. 374 1.1 mrg 375 1.1 mrg 2020-12-12 Franois Dumont <fdumont (a] gcc.gnu.org> 376 1.1 mrg 377 1.1 mrg * include/debug/macros.h (__glibcxx_check_can_increment_range): Replace 378 1.1 mrg _GLIBCXX_DEBUG_VERIFY_COND_AT usage with _GLIBCXX_DEBUG_VERIFY_AT_F. 379 1.1 mrg (__glibcxx_check_can_decrement_range): Likewise. 380 1.1 mrg * testsuite/25_algorithms/copy_backward/constexpr.cc (test03): New. 381 1.1 mrg * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: New test. 382 1.1 mrg * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: New test. 383 1.1 mrg * testsuite/25_algorithms/equal/constexpr_neg.cc: New test. 384 1.1 mrg * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: New test. 385 1.1 mrg 386 1.1 mrg 2020-12-10 Jonathan Wakely <jwakely (a] redhat.com> 387 1.1 mrg 388 1.1 mrg PR libstdc++/98226 389 1.1 mrg * include/std/bit (__countl_one, __countr_one): Remove redundant 390 1.1 mrg branches. 391 1.1 mrg 392 1.1 mrg 2020-12-09 Jonathan Wakely <jwakely (a] redhat.com> 393 1.1 mrg 394 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Define NO_SLEEP 395 1.1 mrg if none of nanosleep, sleep and Sleep is available. 396 1.1 mrg * config.h.in: Regenerate. 397 1.1 mrg * configure: Regenerate. 398 1.1 mrg * include/std/thread [_GLIBCXX_NO_SLEEP] (__sleep_for): Do 399 1.1 mrg not declare. 400 1.1 mrg [_GLIBCXX_NO_SLEEP] (sleep_for, sleep_until): Do not 401 1.1 mrg define. 402 1.1 mrg * src/c++11/thread.cc [_GLIBCXX_NO_SLEEP] (__sleep_for): Do 403 1.1 mrg not define. 404 1.1 mrg 405 1.1 mrg 2020-12-08 Jason Merrill <jason (a] redhat.com> 406 1.1 mrg 407 1.1 mrg PR c++/96299 408 1.1 mrg * testsuite/18_support/comparisons/algorithms/partial_order.cc: 409 1.1 mrg One more line needs to use VERIFY instead of static_assert. 410 1.1 mrg 411 1.1 mrg 2020-12-08 Jonathan Wakely <jwakely (a] redhat.com> 412 1.1 mrg 413 1.1 mrg * doc/xml/manual/appendix_contributing.xml: Use consistent 414 1.1 mrg indentation. 415 1.1 mrg * doc/html/manual/source_code_style.html: Regenerate. 416 1.1 mrg 417 1.1 mrg 2020-12-05 Iain Sandoe <iain (a] sandoe.co.uk> 418 1.1 mrg 419 1.1 mrg PR target/97865 420 1.1 mrg * configure: Regenerate. 421 1.1 mrg 422 1.1 mrg 2020-12-04 Jakub Jelinek <jakub (a] redhat.com> 423 1.1 mrg 424 1.1 mrg PR c++/80780 425 1.1 mrg * testsuite/18_support/source_location/1.cc (main): Adjust for 426 1.1 mrg __builtin_source_location using __PRETTY_FUNCTION__-like names instead 427 1.1 mrg __FUNCTION__-like. 428 1.1 mrg * testsuite/18_support/source_location/consteval.cc (main): Likewise. 429 1.1 mrg 430 1.1 mrg 2020-12-03 Martin Sebor <msebor (a] redhat.com> 431 1.1 mrg 432 1.1 mrg * testsuite/ext/vstring/modifiers/clear/56166.cc: Suppress a false 433 1.1 mrg positive warning. 434 1.1 mrg 435 1.1 mrg 2020-12-03 Jonathan Wakely <jwakely (a] redhat.com> 436 1.1 mrg 437 1.1 mrg * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Remove stray 438 1.1 mrg word from copy&paste. 439 1.1 mrg * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise. 440 1.1 mrg 441 1.1 mrg 2020-12-03 Jonathan Wakely <jwakely (a] redhat.com> 442 1.1 mrg 443 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update C++20 status. 444 1.1 mrg * doc/html/*: Regenerate. 445 1.1 mrg 446 1.1 mrg 2020-12-03 JeanHeyd Meneide <phdofthehouse (a] gmail.com> 447 1.1 mrg 448 1.1 mrg * doc/doxygen/user.cfg.in (INPUT): Add <source_location>. 449 1.1 mrg * include/Makefile.am: Add <source_location>. 450 1.1 mrg * include/Makefile.in: Regenerate. 451 1.1 mrg * include/std/version (__cpp_lib_source_location): Define. 452 1.1 mrg * include/std/source_location: New file. 453 1.1 mrg * testsuite/18_support/source_location/1.cc: New test. 454 1.1 mrg * testsuite/18_support/source_location/consteval.cc: New test. 455 1.1 mrg * testsuite/18_support/source_location/srcloc.h: New test. 456 1.1 mrg * testsuite/18_support/source_location/version.cc: New test. 457 1.1 mrg 458 1.1 mrg 2020-12-03 Jonathan Wakely <jwakely (a] redhat.com> 459 1.1 mrg 460 1.1 mrg PR libstdc++/93121 461 1.1 mrg * include/std/bit (__cpp_lib_bit_cast, bit_cast): Define. 462 1.1 mrg * include/std/version (__cpp_lib_bit_cast): Define. 463 1.1 mrg * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: New test. 464 1.1 mrg * testsuite/26_numerics/bit/bit.cast/version.cc: New test. 465 1.1 mrg 466 1.1 mrg 2020-12-03 Jonathan Wakely <jwakely (a] redhat.com> 467 1.1 mrg 468 1.1 mrg * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: 469 1.1 mrg Update. 470 1.1 mrg * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: 471 1.1 mrg Update. 472 1.1 mrg 473 1.1 mrg 2020-12-03 Jonathan Wakely <jwakely (a] redhat.com> 474 1.1 mrg 475 1.1 mrg * include/std/array (array::operator[](size_t) const, array::front() const) 476 1.1 mrg (array::back() const) [__cplusplus == 201103]: Disable 477 1.1 mrg assertions. 478 1.1 mrg * testsuite/23_containers/array/element_access/constexpr_element_access.cc: 479 1.1 mrg Check for correct values. 480 1.1 mrg * testsuite/23_containers/array/tuple_interface/get_neg.cc: 481 1.1 mrg Adjust dg-error line numbers. 482 1.1 mrg * testsuite/23_containers/array/debug/constexpr_c++11.cc: New test. 483 1.1 mrg 484 1.1 mrg 2020-12-02 Jonathan Wakely <jwakely (a] redhat.com> 485 1.1 mrg 486 1.1 mrg PR libstdc++/65480 487 1.1 mrg PR libstdc++/68735 488 1.1 mrg * python/libstdcxx/v6/printers.py (function_pointer_to_name): 489 1.1 mrg New helper function to get the name of a function from its 490 1.1 mrg address. 491 1.1 mrg (StdExpAnyPrinter.__init__): Use it. 492 1.1 mrg 493 1.1 mrg 2020-12-02 Jonathan Wakely <jwakely (a] redhat.com> 494 1.1 mrg 495 1.1 mrg * testsuite/lib/dg-options.exp (add_options_for_libatomic): 496 1.1 mrg Replace powerpc-ibm-aix* and powerpc*-*-darwin* with check for 497 1.1 mrg powerpc && ilp32. 498 1.1 mrg 499 1.1 mrg 2020-12-02 Jonathan Wakely <jwakely (a] redhat.com> 500 1.1 mrg 501 1.1 mrg * testsuite/27_io/basic_istream/ignore/char/94749.cc: Add 502 1.1 mrg dg-timeout-factor for ilp32 targets. 503 1.1 mrg * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc: 504 1.1 mrg Likewise. 505 1.1 mrg 506 1.1 mrg 2020-12-02 Jonathan Wakely <jwakely (a] redhat.com> 507 1.1 mrg 508 1.1 mrg * include/ext/rope (rope::_S_concat_char_iter) 509 1.1 mrg (rope::_S_destr_concat_char_iter): Add allocator parameter. 510 1.1 mrg (rope::push_back, rope::append, rope::insert, operator+): 511 1.1 mrg Pass allocator. 512 1.1 mrg * include/ext/ropeimpl.h (rope::_S_concat_char_iter) 513 1.1 mrg (rope::_S_destr_concat_char_iter): Add allocator parameter 514 1.1 mrg and use it. 515 1.1 mrg (_Rope_char_ref_proxy::operator=(_CharT)): Pass allocator. 516 1.1 mrg 517 1.1 mrg 2020-12-02 Jonathan Wakely <jwakely (a] redhat.com> 518 1.1 mrg 519 1.1 mrg * include/ext/rope: Fix indentation of access specifiers. 520 1.1 mrg 521 1.1 mrg 2020-12-02 Jonathan Wakely <jwakely (a] redhat.com> 522 1.1 mrg 523 1.1 mrg * include/bits/atomic_timed_wait.h: Use #if instead of #ifdef. 524 1.1 mrg * include/bits/semaphore_base.h: Likewise. 525 1.1 mrg * include/std/version: Remove trailing whitespace. 526 1.1 mrg 527 1.1 mrg 2020-12-02 Jonathan Wakely <jwakely (a] redhat.com> 528 1.1 mrg 529 1.1 mrg * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Store the 530 1.1 mrg name of the type and pass it to the iterator. 531 1.1 mrg (StdPathPrinter): Likewise. 532 1.1 mrg * testsuite/libstdc++-prettyprinters/filesystem-ts.cc: New test. 533 1.1 mrg 534 1.1 mrg 2020-12-01 Thomas Rodgers <trodgers (a] redhat.com> 535 1.1 mrg 536 1.1 mrg * include/bits/atomic_base.h: Replace usage of 537 1.1 mrg _GLIBCXX_HAVE_ATOMIC_WAIT with __cpp_lib_atomic_wait. 538 1.1 mrg * include/bits/atomic_timed_wait.h: Likewise. 539 1.1 mrg * include/bits/atomic_wait.h: Define __cpp_lib_atomic_wait 540 1.1 mrg feature test macro. 541 1.1 mrg * include/bits/semaphore_base.h: Replace usage of 542 1.1 mrg _GLIBCXX_HAVE_ATOMIC_WAIT with __cpp_lib_atomic_wait. 543 1.1 mrg * include/std/atomic: Likewise. 544 1.1 mrg * include/std/latch: Likewise. 545 1.1 mrg * include/std/semaphore: Likewise. 546 1.1 mrg * include/std/version: Define __cpp_lib_atomic wait 547 1.1 mrg feature test macro and replace usage of 548 1.1 mrg _GLIBCXX_HAVE_ATOMIC_WAIT. 549 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/1.cc: New test. 550 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. 551 1.1 mrg 552 1.1 mrg 2020-12-01 Michael Weghorn <m.weghorn (a] posteo.de> 553 1.1 mrg 554 1.1 mrg * python/libstdcxx/v6/printers.py (StdBitIteratorPrinter) 555 1.1 mrg (StdBitReferencePrinter): Add pretty-printers for 556 1.1 mrg _Bit_reference, _Bit_iterator and _Bit_const_iterator. 557 1.1 mrg * testsuite/libstdc++-prettyprinters/simple.cc: Test 558 1.1 mrg std::_Bit_reference, std::_Bit_iterator and 559 1.1 mrg std::_Bit_const_iterator. 560 1.1 mrg * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. 561 1.1 mrg 562 1.1 mrg 2020-12-01 Jonathan Wakely <jwakely (a] redhat.com> 563 1.1 mrg 564 1.1 mrg * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Define macro to 565 1.1 mrg work around different implementations of __has_builtin. 566 1.1 mrg (_GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP) 567 1.1 mrg (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE) 568 1.1 mrg (_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED) 569 1.1 mrg (_GLIBCXX_HAVE_BUILTIN_IS_SAME, _GLIBCXX_HAVE_BUILTIN_LAUNDER): 570 1.1 mrg Define using _GLIBCXX_HAS_BUILTIN. 571 1.1 mrg 572 1.1 mrg 2020-12-01 Jonathan Wakely <jwakely (a] redhat.com> 573 1.1 mrg 574 1.1 mrg * testsuite/27_io/basic_istream/get/char/lwg3464.cc: Add 575 1.1 mrg dg-timeout-factor directive. 576 1.1 mrg * testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: 577 1.1 mrg Likewise. 578 1.1 mrg 579 1.1 mrg 2020-12-01 Jonathan Wakely <jwakely (a] redhat.com> 580 1.1 mrg 581 1.1 mrg PR libstdc++/98003 582 1.1 mrg * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Add options for 583 1.1 mrg libatomic. 584 1.1 mrg 585 1.1 mrg 2020-11-30 Jonathan Wakely <jwakely (a] redhat.com> 586 1.1 mrg 587 1.1 mrg * doc/doxygen/user.cfg.in (INPUT): Add <latch> and <semaphore>. 588 1.1 mrg 589 1.1 mrg 2020-11-30 Jonathan Wakely <jwakely (a] redhat.com> 590 1.1 mrg 591 1.1 mrg * testsuite/lib/libstdc++.exp (libstdc++_init): Reduce 592 1.1 mrg default tool_timeout to 360. 593 1.1 mrg 594 1.1 mrg 2020-11-30 Jonathan Wakely <jwakely (a] redhat.com> 595 1.1 mrg 596 1.1 mrg * testsuite/20_util/specialized_algorithms/pstl/*: Add 597 1.1 mrg dg-timeout-factor. 598 1.1 mrg * testsuite/25_algorithms/pstl/*: Likewise. 599 1.1 mrg * testsuite/26_numerics/pstl/*: Likewise. 600 1.1 mrg * testsuite/28_regex/*: Likewise. 601 1.1 mrg 602 1.1 mrg 2020-11-29 John David Anglin <danglin (a] gcc.gnu.org> 603 1.1 mrg 604 1.1 mrg * configure: Regenerate. 605 1.1 mrg 606 1.1 mrg 2020-11-27 Jonathan Wakely <jwakely (a] redhat.com> 607 1.1 mrg 608 1.1 mrg * testsuite/lib/libstdc++.exp (v3_try_preprocess): Define 609 1.1 mrg new proc to preprocess a chunk of code. 610 1.1 mrg (v3_check_preprocessor_condition): Define new proc to test 611 1.1 mrg a preprocessor condition depending on GCC or libstdc++ macros. 612 1.1 mrg (check_v3_target_debug_mode, check_v3_target_normal_mode): 613 1.1 mrg Use v3_try_preprocess. 614 1.1 mrg (check_v3_target_normal_namespace) 615 1.1 mrg (check_v3_target_parallel_mode, check_v3_target_cstdint) 616 1.1 mrg (check_v3_target_cmath, check_v3_target_atomic_builtins) 617 1.1 mrg (check_v3_target_gthreads, check_v3_target_gthreads_timed) 618 1.1 mrg (check_v3_target_sleep, check_v3_target_sched_yield) 619 1.1 mrg (check_v3_target_string_conversions, check_v3_target_swprintf) 620 1.1 mrg (check_v3_target_binary_io, check_v3_target_nprocs): Use 621 1.1 mrg v3_check_preprocessor_condition. 622 1.1 mrg (check_effective_target_cxx11): Likewise. 623 1.1 mrg (check_effective_target_random_device): Likewise. 624 1.1 mrg (check_effective_target_tbb-backend): Likewise. 625 1.1 mrg (check_effective_target_futex): Likewise. 626 1.1 mrg (check_v3_target_little_endian) Call check_effective_target_le. 627 1.1 mrg (check_effective_target_atomic-builtins): New proc to define 628 1.1 mrg new effective-target keyword. 629 1.1 mrg (check_effective_target_gthreads-timed): Likewise. 630 1.1 mrg 631 1.1 mrg 2020-11-27 Jonathan Wakely <jwakely (a] redhat.com> 632 1.1 mrg 633 1.1 mrg * testsuite/27_io/filesystem/operations/absolute.cc: Avoid 634 1.1 mrg -Wrange-loop-construct warning. 635 1.1 mrg * testsuite/27_io/filesystem/path/append/source.cc: Likewise. 636 1.1 mrg * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise. 637 1.1 mrg * testsuite/27_io/filesystem/path/compare/path.cc: Likewise. 638 1.1 mrg * testsuite/27_io/filesystem/path/construct/copy.cc: Likewise. 639 1.1 mrg * testsuite/27_io/filesystem/path/decompose/extension.cc: 640 1.1 mrg Likewise. 641 1.1 mrg * testsuite/27_io/filesystem/path/decompose/filename.cc: 642 1.1 mrg Likewise. 643 1.1 mrg * testsuite/27_io/filesystem/path/decompose/parent_path.cc: 644 1.1 mrg Likewise. 645 1.1 mrg * testsuite/27_io/filesystem/path/decompose/relative_path.cc: 646 1.1 mrg Likewise. 647 1.1 mrg * testsuite/27_io/filesystem/path/decompose/root_directory.cc: 648 1.1 mrg Likewise. 649 1.1 mrg * testsuite/27_io/filesystem/path/decompose/root_path.cc: 650 1.1 mrg Likewise. 651 1.1 mrg * testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise. 652 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc: 653 1.1 mrg Likewise. 654 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc: 655 1.1 mrg Likewise. 656 1.1 mrg * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc: 657 1.1 mrg Likewise. 658 1.1 mrg * testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise. 659 1.1 mrg * testsuite/27_io/filesystem/path/nonmember/cmp.cc: Likewise. 660 1.1 mrg * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc: 661 1.1 mrg Likewise. 662 1.1 mrg * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: 663 1.1 mrg Likewise. 664 1.1 mrg * testsuite/27_io/filesystem/path/query/has_extension.cc: 665 1.1 mrg Likewise. 666 1.1 mrg * testsuite/27_io/filesystem/path/query/has_filename.cc: 667 1.1 mrg Likewise. 668 1.1 mrg * testsuite/27_io/filesystem/path/query/has_parent_path.cc: 669 1.1 mrg Likewise. 670 1.1 mrg * testsuite/27_io/filesystem/path/query/has_relative_path.cc: 671 1.1 mrg Likewise. 672 1.1 mrg * testsuite/27_io/filesystem/path/query/has_root_directory.cc: 673 1.1 mrg Likewise. 674 1.1 mrg * testsuite/27_io/filesystem/path/query/has_root_name.cc: 675 1.1 mrg Likewise. 676 1.1 mrg * testsuite/27_io/filesystem/path/query/has_root_path.cc: 677 1.1 mrg Likewise. 678 1.1 mrg * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise. 679 1.1 mrg * testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise. 680 1.1 mrg * testsuite/experimental/filesystem/operations/absolute.cc: 681 1.1 mrg Likewise. 682 1.1 mrg * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise. 683 1.1 mrg * testsuite/experimental/filesystem/path/compare/path.cc: 684 1.1 mrg Likewise. 685 1.1 mrg * testsuite/experimental/filesystem/path/construct/copy.cc: 686 1.1 mrg Likewise. 687 1.1 mrg * testsuite/experimental/filesystem/path/decompose/extension.cc: 688 1.1 mrg Likewise. 689 1.1 mrg * testsuite/experimental/filesystem/path/decompose/filename.cc: 690 1.1 mrg Likewise. 691 1.1 mrg * testsuite/experimental/filesystem/path/decompose/parent_path.cc: 692 1.1 mrg Likewise. 693 1.1 mrg * testsuite/experimental/filesystem/path/decompose/relative_path.cc: 694 1.1 mrg Likewise. 695 1.1 mrg * testsuite/experimental/filesystem/path/decompose/root_directory.cc: 696 1.1 mrg Likewise. 697 1.1 mrg * testsuite/experimental/filesystem/path/decompose/root_path.cc: 698 1.1 mrg Likewise. 699 1.1 mrg * testsuite/experimental/filesystem/path/itr/traversal.cc: 700 1.1 mrg Likewise. 701 1.1 mrg * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc: 702 1.1 mrg Likewise. 703 1.1 mrg * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc: 704 1.1 mrg Likewise. 705 1.1 mrg * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc: 706 1.1 mrg Likewise. 707 1.1 mrg * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: 708 1.1 mrg Likewise. 709 1.1 mrg * testsuite/experimental/filesystem/path/query/has_extension.cc: 710 1.1 mrg Likewise. 711 1.1 mrg * testsuite/experimental/filesystem/path/query/has_filename.cc: 712 1.1 mrg Likewise. 713 1.1 mrg * testsuite/experimental/filesystem/path/query/has_parent_path.cc: 714 1.1 mrg Likewise. 715 1.1 mrg * testsuite/experimental/filesystem/path/query/has_relative_path.cc: 716 1.1 mrg Likewise. 717 1.1 mrg * testsuite/experimental/filesystem/path/query/has_root_directory.cc: 718 1.1 mrg Likewise. 719 1.1 mrg * testsuite/experimental/filesystem/path/query/has_root_name.cc: 720 1.1 mrg Likewise. 721 1.1 mrg * testsuite/experimental/filesystem/path/query/has_root_path.cc: 722 1.1 mrg Likewise. 723 1.1 mrg * testsuite/experimental/filesystem/path/query/has_stem.cc: 724 1.1 mrg Likewise. 725 1.1 mrg * testsuite/experimental/filesystem/path/query/is_relative.cc: 726 1.1 mrg Likewise. 727 1.1 mrg 728 1.1 mrg 2020-11-27 Jonathan Wakely <jwakely (a] redhat.com> 729 1.1 mrg 730 1.1 mrg * src/c++98/locale.cc (locale::facet::_S_get_c_locale()): 731 1.1 mrg Revert change to use __is_single_threaded. 732 1.1 mrg * src/c++98/locale_init.cc (locale::_S_initialize()): 733 1.1 mrg Likewise. 734 1.1 mrg 735 1.1 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com> 736 1.1 mrg 737 1.1 mrg * include/bits/atomic_wait.h (_GLIBCXX_HAVE_ATOMIC_WAIT): 738 1.1 mrg Define. 739 1.1 mrg * include/bits/atomic_base.h: Check _GLIBCXX_HAVE_ATOMIC_WAIT. 740 1.1 mrg * include/bits/atomic_timed_wait.h: Likewise. 741 1.1 mrg * include/bits/semaphore_base.h: Likewise. 742 1.1 mrg * include/std/atomic: Likewise. 743 1.1 mrg * include/std/latch: Likewise. 744 1.1 mrg * include/std/semaphore: Likewise. 745 1.1 mrg 746 1.1 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com> 747 1.1 mrg 748 1.1 mrg * include/std/latch: Depend on _GLIBCXX_HAS_GTHREADS and 749 1.1 mrg _GLIBCXX_HAVE_LINUX_FUTEX. 750 1.1 mrg * include/std/version (__cpp_lib_latch): Define conditionally. 751 1.1 mrg 752 1.1 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com> 753 1.1 mrg 754 1.1 mrg * testsuite/lib/libstdc++.exp (check_effective_target_gthreads): 755 1.1 mrg Call check_v3_target_gthreads not check_v3_target_gthreads_timed. 756 1.1 mrg 757 1.1 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com> 758 1.1 mrg 759 1.1 mrg * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc: 760 1.1 mrg Add dg-timeout-factor directive. 761 1.1 mrg * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: 762 1.1 mrg Likewise. 763 1.1 mrg * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: 764 1.1 mrg Likewise. 765 1.1 mrg * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc: 766 1.1 mrg Likewise. 767 1.1 mrg * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc: 768 1.1 mrg Likewise. 769 1.1 mrg * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc: 770 1.1 mrg Likewise. 771 1.1 mrg * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: 772 1.1 mrg Likewise. 773 1.1 mrg * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc: 774 1.1 mrg Likewise. 775 1.1 mrg * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise. 776 1.1 mrg * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: 777 1.1 mrg Likewise. 778 1.1 mrg * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: 779 1.1 mrg Likewise. 780 1.1 mrg * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise. 781 1.1 mrg 782 1.1 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com> 783 1.1 mrg 784 1.1 mrg * testsuite/lib/libstdc++.exp (libstdc++_init): Only set 785 1.1 mrg tool_timeout if it hasn't been set by the user already. 786 1.1 mrg 787 1.1 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com> 788 1.1 mrg 789 1.1 mrg PR libstdc++/97936 790 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/bool.cc: Fix missed 791 1.1 mrg notifications by making the new thread wait until the parent 792 1.1 mrg thread is waiting on the condition variable. 793 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. 794 1.1 mrg * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. 795 1.1 mrg * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise. 796 1.1 mrg 797 1.1 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com> 798 1.1 mrg 799 1.1 mrg * testsuite/18_support/96817.cc: Use new effective-target 800 1.1 mrg keywords to select supported targets more effectively. 801 1.1 mrg * testsuite/30_threads/call_once/66146.cc: Likewise. 802 1.1 mrg * testsuite/lib/libstdc++.exp (check_effective_target_futex): 803 1.1 mrg Define new proc. 804 1.1 mrg (check_effective_target_gthreads): Define new proc to replace 805 1.1 mrg dg-require-gthreads. 806 1.1 mrg 807 1.1 mrg 2020-11-26 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 808 1.1 mrg 809 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Remove libposix4 810 1.1 mrg references. 811 1.1 mrg <solaris*>: Don't use -lrt any longer. 812 1.1 mrg * configure: Regenerate. 813 1.1 mrg * doc/xml/manual/configure.xml (--enable-libstdcxx-time=OPTION): 814 1.1 mrg Remove libposix4 reference. 815 1.1 mrg 816 1.1 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com> 817 1.1 mrg 818 1.1 mrg PR libstdc++/98001 819 1.1 mrg * testsuite/ext/stdio_filebuf/char/79820.cc: Do not pass invalid 820 1.1 mrg FILE* to constructor. 821 1.1 mrg 822 1.1 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com> 823 1.1 mrg 824 1.1 mrg * include/precompiled/stdc++.h: Add new headers. 825 1.1 mrg * include/std/stop_token: Include <semaphore> unconditionally. 826 1.1 mrg 827 1.1 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com> 828 1.1 mrg 829 1.1 mrg * include/bits/atomic_timed_wait.h (__cond_wait_until): Do not 830 1.1 mrg perform redundant conversions to the same clock. 831 1.1 mrg 832 1.1 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com> 833 1.1 mrg 834 1.1 mrg * include/bits/atomic_timed_wait.h (__cond_wait_until_impl): 835 1.1 mrg Do not define when _GLIBCXX_HAVE_LINUX_FUTEX is defined. Use 836 1.1 mrg __condvar and mutex instead of __gthread_cond_t and 837 1.1 mrg unique_lock<mutex>. 838 1.1 mrg (__cond_wait_until): Likewise. Fix test for return value of 839 1.1 mrg __cond_wait_until_impl. 840 1.1 mrg (__timed_waiters::_M_do_wait_until): Use __condvar instead 841 1.1 mrg of __gthread_cond_t. 842 1.1 mrg * include/bits/atomic_wait.h: Remove <bits/unique_lock.h> 843 1.1 mrg include. Only include <bits/std_mutex.h> if not using futexes. 844 1.1 mrg (__platform_wait_max_value): Remove unused variable. 845 1.1 mrg (__waiters::lock_t): Use lock_guard instead of unique_lock. 846 1.1 mrg (__waiters::_M_cv): Use __condvar instead of __gthread_cond_t. 847 1.1 mrg (__waiters::_M_do_wait(__platform_wait_t)): Likewise. 848 1.1 mrg (__waiters::_M_notify()): Likewise. Use notify_one() if not 849 1.1 mrg asked to notify all. 850 1.1 mrg * include/bits/std_mutex.h (__condvar): New type. 851 1.1 mrg * include/std/condition_variable (condition_variable::_M_cond) 852 1.1 mrg (condition_variable::wait_until): Use __condvar instead of 853 1.1 mrg __gthread_cond_t. 854 1.1 mrg * src/c++11/condition_variable.cc (condition_variable): Define 855 1.1 mrg default constructor and destructor as defaulted. 856 1.1 mrg (condition_variable::wait, condition_variable::notify_one) 857 1.1 mrg (condition_variable::notify_all): Forward to corresponding 858 1.1 mrg member function of __condvar. 859 1.1 mrg 860 1.1 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com> 861 1.1 mrg 862 1.1 mrg PR libstdc++/97936 863 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/bool.cc: Re-eneable 864 1.1 mrg test. 865 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise. 866 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. 867 1.1 mrg * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. 868 1.1 mrg * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise. 869 1.1 mrg * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. 870 1.1 mrg * testsuite/util/atomic/wait_notify_util.h: Fix missed 871 1.1 mrg notifications by making the new thread wait until the parent 872 1.1 mrg thread is waiting on the condition variable. 873 1.1 mrg 874 1.1 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com> 875 1.1 mrg 876 1.1 mrg PR libstdc++/97935 877 1.1 mrg * include/bits/iterator_concepts.h (__detail::__iter_without_category): 878 1.1 mrg New helper concept. 879 1.1 mrg (__iterator_traits::__cat): Use __detail::__iter_without_category. 880 1.1 mrg * testsuite/24_iterators/associated_types/iterator.traits.cc: New test. 881 1.1 mrg 882 1.1 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com> 883 1.1 mrg 884 1.1 mrg * testsuite/17_intro/names.cc: Do not test 'v' on AIX. 885 1.1 mrg 886 1.1 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com> 887 1.1 mrg 888 1.1 mrg PR libstdc++/97936 889 1.1 mrg * include/bits/atomic_wait.h (__platform_wait): Check errno, 890 1.1 mrg not just the value of EAGAIN. 891 1.1 mrg (__waiters::__waiters()): Fix name of data member. 892 1.1 mrg 893 1.1 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com> 894 1.1 mrg 895 1.1 mrg PR libstdc++/97936 896 1.1 mrg * include/bits/atomic_wait.h (__platform_wait): Return if futex 897 1.1 mrg sets EAGAIN. 898 1.1 mrg * testsuite/30_threads/latch/3.cc: Re-enable test. 899 1.1 mrg * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. 900 1.1 mrg 901 1.1 mrg 2020-11-24 Jonathan Wakely <jwakely (a] redhat.com> 902 1.1 mrg 903 1.1 mrg PR libstdc++/97936 904 1.1 mrg PR libstdc++/97944 905 1.1 mrg * testsuite/29_atomics/atomic_integral/wait_notify.cc: Disable. 906 1.1 mrg Do not require pthreads, but add -pthread when appropriate. 907 1.1 mrg * testsuite/30_threads/jthread/95989.cc: Likewise. 908 1.1 mrg * testsuite/30_threads/latch/3.cc: Likewise. 909 1.1 mrg * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. 910 1.1 mrg 911 1.1 mrg 2020-11-24 Jonathan Wakely <jwakely (a] redhat.com> 912 1.1 mrg 913 1.1 mrg * testsuite/30_threads/jthread/95989.cc: Run all three test 914 1.1 mrg functions, not just the first one twice. 915 1.1 mrg 916 1.1 mrg 2020-11-24 Jonathan Wakely <jwakely (a] redhat.com> 917 1.1 mrg 918 1.1 mrg PR libstdc++/67791 919 1.1 mrg * src/c++11/thread.cc (thread::_M_start_thread(_State_ptr, void (*)())): 920 1.1 mrg Check that gthreads is available before calling __gthread_create. 921 1.1 mrg 922 1.1 mrg 2020-11-24 Jonathan Wakely <jwakely (a] redhat.com> 923 1.1 mrg 924 1.1 mrg * src/c++98/locale.cc (locale::facet::_S_get_c_locale()) 925 1.1 mrg (locale::id::_M_id() const): Use __is_single_threaded. 926 1.1 mrg * src/c++98/locale_init.cc (locale::_S_initialize()): 927 1.1 mrg Likewise. 928 1.1 mrg 929 1.1 mrg 2020-11-23 Jonathan Wakely <jwakely (a] redhat.com> 930 1.1 mrg 931 1.1 mrg * include/bits/semaphore_base.h 932 1.1 mrg (__platform_semaphore::_M_try_acquire_until): Fix type of 933 1.1 mrg variable. 934 1.1 mrg 935 1.1 mrg 2020-11-23 Stephan Bergmann <sbergman (a] redhat.com> 936 1.1 mrg 937 1.1 mrg * include/bits/atomic_wait.h (__thread_relax, __thread_yield): 938 1.1 mrg Add 'inline'. 939 1.1 mrg 940 1.1 mrg 2020-11-23 Jonathan Wakely <jwakely (a] redhat.com> 941 1.1 mrg 942 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for 943 1.1 mrg * config.h.in: Regenerate. 944 1.1 mrg * configure: Regenerate. 945 1.1 mrg * include/bits/semaphore_base.h (_GLIBCXX_HAVE_POSIX_SEMAPHORE): 946 1.1 mrg Check autoconf macro instead of defining it here. 947 1.1 mrg 948 1.1 mrg 2020-11-23 Jonathan Wakely <jwakely (a] redhat.com> 949 1.1 mrg 950 1.1 mrg * include/bits/atomic_wait.h: Do not define anything unless 951 1.1 mrg gthreads or futexes are available. 952 1.1 mrg * include/bits/atomic_timed_wait.h: Likewise. 953 1.1 mrg * include/bits/semaphore_base.h: Likewise. 954 1.1 mrg * include/std/semaphore: Likewise. 955 1.1 mrg * include/bits/atomic_base.h (atomic_flag::wait) 956 1.1 mrg (atomic_flag::notify_one, atomic_flag::notify_all) 957 1.1 mrg (__atomic_base<I>::wait, __atomic_base<I>::notify_one) 958 1.1 mrg (__atomic_base<I>::notify_all, __atomic_base<P*>::wait) 959 1.1 mrg (__atomic_base<P*>::notify_one, __atomic_base<P*>::notify_all) 960 1.1 mrg (__atomic_impl::wait, __atomic_impl::notify_one) 961 1.1 mrg (__atomic_impl::notify_all, __atomic_float::wait) 962 1.1 mrg (__atomic_float::notify_one, __atomic_float::notify_all) 963 1.1 mrg (__atomic_ref::wait, __atomic_ref::notify_one) 964 1.1 mrg (__atomic_ref::notify_all): Only define if gthreads or futexes 965 1.1 mrg are available. 966 1.1 mrg * include/std/atomic (atomic::wait, atomic::notify_one) 967 1.1 mrg (atomic::notify_all): Likewise. 968 1.1 mrg * include/std/version (__cpp_lib_semaphore): Define 969 1.1 mrg conditionally. 970 1.1 mrg 971 1.1 mrg 2020-11-23 Jonathan Wakely <jwakely (a] redhat.com> 972 1.1 mrg 973 1.1 mrg PR libstdc++/97948 974 1.1 mrg * testsuite/29_atomics/atomic_float/wait_notify.cc: Add options 975 1.1 mrg for libatomic. 976 1.1 mrg * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. 977 1.1 mrg * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise. 978 1.1 mrg 979 1.1 mrg 2020-11-21 Jonathan Wakely <jwakely (a] redhat.com> 980 1.1 mrg 981 1.1 mrg * include/bits/atomic_base.h (atomic_flag::wait): Use correct 982 1.1 mrg type for __atomic_wait call. 983 1.1 mrg * include/bits/atomic_timed_wait.h (__atomic_wait_until): Check 984 1.1 mrg _GLIBCXX_HAVE_LINUX_FUTEX. 985 1.1 mrg * include/bits/atomic_wait.h (__atomic_notify): Likewise. 986 1.1 mrg * include/bits/semaphore_base.h (_GLIBCXX_HAVE_POSIX_SEMAPHORE): 987 1.1 mrg Only define if SEM_VALUE_MAX or _POSIX_SEM_VALUE_MAX is defined. 988 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/bool.cc: Disable on 989 1.1 mrg non-linux targes. 990 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise. 991 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. 992 1.1 mrg * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. 993 1.1 mrg * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise. 994 1.1 mrg 995 1.1 mrg 2020-11-20 Thomas Rodgers <trodgers (a] redhat.com> 996 1.1 mrg 997 1.1 mrg * include/Makefile.am (bits_headers): Add new header. 998 1.1 mrg * include/Makefile.in: Regenerate. 999 1.1 mrg * include/bits/atomic_base.h (__atomic_flag::wait): Define. 1000 1.1 mrg (__atomic_flag::notify_one): Likewise. 1001 1.1 mrg (__atomic_flag::notify_all): Likewise. 1002 1.1 mrg (__atomic_base<_Itp>::wait): Likewise. 1003 1.1 mrg (__atomic_base<_Itp>::notify_one): Likewise. 1004 1.1 mrg (__atomic_base<_Itp>::notify_all): Likewise. 1005 1.1 mrg (__atomic_base<_Ptp*>::wait): Likewise. 1006 1.1 mrg (__atomic_base<_Ptp*>::notify_one): Likewise. 1007 1.1 mrg (__atomic_base<_Ptp*>::notify_all): Likewise. 1008 1.1 mrg (__atomic_impl::wait): Likewise. 1009 1.1 mrg (__atomic_impl::notify_one): Likewise. 1010 1.1 mrg (__atomic_impl::notify_all): Likewise. 1011 1.1 mrg (__atomic_float<_Fp>::wait): Likewise. 1012 1.1 mrg (__atomic_float<_Fp>::notify_one): Likewise. 1013 1.1 mrg (__atomic_float<_Fp>::notify_all): Likewise. 1014 1.1 mrg (__atomic_ref<_Tp>::wait): Likewise. 1015 1.1 mrg (__atomic_ref<_Tp>::notify_one): Likewise. 1016 1.1 mrg (__atomic_ref<_Tp>::notify_all): Likewise. 1017 1.1 mrg (atomic_wait<_Tp>): Likewise. 1018 1.1 mrg (atomic_wait_explicit<_Tp>): Likewise. 1019 1.1 mrg (atomic_notify_one<_Tp>): Likewise. 1020 1.1 mrg (atomic_notify_all<_Tp>): Likewise. 1021 1.1 mrg * include/bits/atomic_wait.h: New file. 1022 1.1 mrg * include/bits/atomic_timed_wait.h: New file. 1023 1.1 mrg * include/bits/semaphore_base.h: New file. 1024 1.1 mrg * include/std/atomic (atomic<bool>::wait): Define. 1025 1.1 mrg (atomic<bool>::wait_one): Likewise. 1026 1.1 mrg (atomic<bool>::wait_all): Likewise. 1027 1.1 mrg (atomic<_Tp>::wait): Likewise. 1028 1.1 mrg (atomic<_Tp>::wait_one): Likewise. 1029 1.1 mrg (atomic<_Tp>::wait_all): Likewise. 1030 1.1 mrg (atomic<_Tp*>::wait): Likewise. 1031 1.1 mrg (atomic<_Tp*>::wait_one): Likewise. 1032 1.1 mrg (atomic<_Tp*>::wait_all): Likewise. 1033 1.1 mrg * include/std/latch: New file. 1034 1.1 mrg * include/std/semaphore: New file. 1035 1.1 mrg * include/std/version: Add __cpp_lib_semaphore and 1036 1.1 mrg __cpp_lib_latch defines. 1037 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/bool.cc: New test. 1038 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. 1039 1.1 mrg * testsuite/29_atomics/atomic/wait_notify/generic.cc: Liekwise. 1040 1.1 mrg * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. 1041 1.1 mrg * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise. 1042 1.1 mrg * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. 1043 1.1 mrg * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise. 1044 1.1 mrg * testsuite/30_threads/semaphore/1.cc: New test. 1045 1.1 mrg * testsuite/30_threads/semaphore/2.cc: Likewise. 1046 1.1 mrg * testsuite/30_threads/semaphore/least_max_value_neg.cc: Likewise. 1047 1.1 mrg * testsuite/30_threads/semaphore/try_acquire.cc: Likewise. 1048 1.1 mrg * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise. 1049 1.1 mrg * testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise. 1050 1.1 mrg * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. 1051 1.1 mrg * testsuite/30_threads/latch/1.cc: New test. 1052 1.1 mrg * testsuite/30_threads/latch/2.cc: New test. 1053 1.1 mrg * testsuite/30_threads/latch/3.cc: New test. 1054 1.1 mrg * testsuite/util/atomic/wait_notify_util.h: New File. 1055 1.1 mrg 1056 1.1 mrg 2020-11-20 Franois Dumont <fdumont (a] gcc.gnu.org> 1057 1.1 mrg 1058 1.1 mrg PR libstdc++/83938 1059 1.1 mrg * include/bits/stl_tempbuf.h (get_temporary_buffer): Change __len 1060 1.1 mrg computation in the loop to avoid truncation. 1061 1.1 mrg * include/bits/stl_algo.h: 1062 1.1 mrg (__inplace_merge): Take temporary buffer length from smallest range. 1063 1.1 mrg (__stable_sort): Limit temporary buffer length. 1064 1.1 mrg * testsuite/25_algorithms/inplace_merge/1.cc (test4): New. 1065 1.1 mrg * testsuite/performance/25_algorithms/stable_sort.cc: Test stable_sort 1066 1.1 mrg under different heap memory conditions. 1067 1.1 mrg * testsuite/performance/25_algorithms/inplace_merge.cc: New test. 1068 1.1 mrg 1069 1.1 mrg 2020-11-20 Franois Dumont <fdumont (a] gcc.gnu.org> 1070 1.1 mrg 1071 1.1 mrg * include/bits/move.h (_GLIBCXX_FWDREF): New. 1072 1.1 mrg * include/bits/stl_tree.h: Adapt to use latter. 1073 1.1 mrg (_Rb_tree<>::_M_clone_node): Add _MoveValue template parameter. 1074 1.1 mrg (_Rb_tree<>::_M_mbegin): New. 1075 1.1 mrg (_Rb_tree<>::_M_begin): Use latter. 1076 1.1 mrg (_Rb_tree<>::_M_copy): Add _MoveValues template parameter. 1077 1.1 mrg * testsuite/23_containers/map/allocator/move_cons.cc: New test. 1078 1.1 mrg * testsuite/23_containers/multimap/allocator/move_cons.cc: New test. 1079 1.1 mrg * testsuite/23_containers/multiset/allocator/move_cons.cc: New test. 1080 1.1 mrg * testsuite/23_containers/set/allocator/move_cons.cc: New test. 1081 1.1 mrg 1082 1.1 mrg 2020-11-20 Jonathan Wakely <jwakely (a] redhat.com> 1083 1.1 mrg 1084 1.1 mrg PR libstdc++/92546 1085 1.1 mrg * include/std/regex (pmr::smatch, pmr::wsmatch): Declare using 1086 1.1 mrg underlying __normal_iterator type, not nested typedef 1087 1.1 mrg basic_string::const_iterator. 1088 1.1 mrg 1089 1.1 mrg 2020-11-19 Jonathan Wakely <jwakely (a] redhat.com> 1090 1.1 mrg 1091 1.1 mrg PR libstdc++/95989 1092 1.1 mrg * config/os/gnu-linux/os_defines.h (_GLIBCXX_NATIVE_THREAD_ID): 1093 1.1 mrg Define new macro to get reliable thread ID. 1094 1.1 mrg * include/bits/std_thread.h: (this_thread::get_id): Use new 1095 1.1 mrg macro if it's defined. 1096 1.1 mrg * testsuite/30_threads/jthread/95989.cc: New test. 1097 1.1 mrg * testsuite/30_threads/this_thread/95989.cc: New test. 1098 1.1 mrg 1099 1.1 mrg 2020-11-19 Jonathan Wakely <jwakely (a] redhat.com> 1100 1.1 mrg 1101 1.1 mrg * testsuite/30_threads/async/async.cc: Include <thread>. 1102 1.1 mrg * testsuite/30_threads/future/members/93456.cc: Likewise. 1103 1.1 mrg 1104 1.1 mrg 2020-11-19 Jonathan Wakely <jwakely (a] redhat.com> 1105 1.1 mrg 1106 1.1 mrg PR libstdc++/92546 1107 1.1 mrg * include/Makefile.am: Add new <bits/std_thread.h> header. 1108 1.1 mrg * include/Makefile.in: Regenerate. 1109 1.1 mrg * include/std/future: Include new header instead of <thread>. 1110 1.1 mrg * include/std/stop_token: Include new header instead of 1111 1.1 mrg <bits/gthr.h>. 1112 1.1 mrg (stop_token::_S_yield()): Use this_thread::yield(). 1113 1.1 mrg (_Stop_state_t::_M_requester): Change type to std::thread::id. 1114 1.1 mrg (_Stop_state_t::_M_request_stop()): Use this_thread::get_id(). 1115 1.1 mrg (_Stop_state_t::_M_remove_callback(_Stop_cb*)): Likewise. 1116 1.1 mrg Use __is_single_threaded() to decide whether to synchronize. 1117 1.1 mrg * include/std/thread (thread, operator==, this_thread::get_id) 1118 1.1 mrg (this_thread::yield): Move to new header. 1119 1.1 mrg (operator<=>, operator!=, operator<, operator<=, operator>) 1120 1.1 mrg (operator>=, hash<thread::id>, operator<<): Define even when 1121 1.1 mrg gthreads not available. 1122 1.1 mrg * src/c++11/thread.cc: Include <memory>. 1123 1.1 mrg * include/bits/std_thread.h: New file. 1124 1.1 mrg (thread, operator==, this_thread::get_id, this_thread::yield): 1125 1.1 mrg Define even when gthreads not available. 1126 1.1 mrg [!_GLIBCXX_HAS_GTHREADS] (thread::join, thread::detach) 1127 1.1 mrg (thread::hardware_concurrency): Define inline. 1128 1.1 mrg 1129 1.1 mrg 2020-11-19 Jonathan Wakely <jwakely (a] redhat.com> 1130 1.1 mrg 1131 1.1 mrg PR libstdc++/93421 1132 1.1 mrg PR libstdc++/93456 1133 1.1 mrg * src/c++11/futex.cc (syscall_time_t): New typedef for 1134 1.1 mrg the type of the syscall_timespec::tv_sec member. 1135 1.1 mrg (relative_timespec, _M_futex_wait_until) 1136 1.1 mrg (_M_futex_wait_until_steady): Use syscall_time_t in overflow 1137 1.1 mrg checks, not time_t. 1138 1.1 mrg 1139 1.1 mrg 2020-11-18 Patrick Palka <ppalka (a] redhat.com> 1140 1.1 mrg 1141 1.1 mrg * include/std/ranges (join_view::_Iterator::_M_satisfy): Uglify 1142 1.1 mrg local variable inner. 1143 1.1 mrg (join_view::_Iterator::operator->): Use _Inner_iter instead of 1144 1.1 mrg _Outer_iter in the function signature as per LWG 3500. 1145 1.1 mrg * testsuite/std/ranges/adaptors/join.cc (test08): Test it. 1146 1.1 mrg 1147 1.1 mrg 2020-11-17 Jonathan Wakely <jwakely (a] redhat.com> 1148 1.1 mrg 1149 1.1 mrg PR libstdc++/93421 1150 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Fail if struct 1151 1.1 mrg timespec isn't compatible with SYS_clock_gettime. 1152 1.1 mrg * configure: Regenerate. 1153 1.1 mrg * src/c++11/chrono.cc: Revert changes for time64 compatibility. 1154 1.1 mrg Add static_assert instead. 1155 1.1 mrg * src/c++11/futex.cc (_M_futex_wait_until_steady): Assume 1156 1.1 mrg SYS_clock_gettime can use struct timespec. 1157 1.1 mrg 1158 1.1 mrg 2020-11-17 Jonathan Wakely <jwakely (a] redhat.com> 1159 1.1 mrg 1160 1.1 mrg PR libstdc++/97869 1161 1.1 mrg * include/precompiled/stdc++.h: Include <coroutine>. 1162 1.1 mrg * include/std/version (__cpp_lib_span): Check __cpp_lib_concepts 1163 1.1 mrg before defining. 1164 1.1 mrg 1165 1.1 mrg 2020-11-17 Patrick Palka <ppalka (a] redhat.com> 1166 1.1 mrg 1167 1.1 mrg PR libstdc++/97828 1168 1.1 mrg * include/bits/ranges_algo.h (__search_n_fn::operator()): Check 1169 1.1 mrg random_access_iterator before using the backtracking 1170 1.1 mrg implementation. When the backwards scan fails prematurely, 1171 1.1 mrg reset __remainder appropriately. 1172 1.1 mrg * testsuite/25_algorithms/search_n/97828.cc: New test. 1173 1.1 mrg 1174 1.1 mrg 2020-11-16 Jonathan Wakely <jwakely (a] redhat.com> 1175 1.1 mrg 1176 1.1 mrg * src/Makefile.am (libstdc++-symbols.ver-sun): Remove -lrt from 1177 1.1 mrg arguments passed to make_sunver.pl script. 1178 1.1 mrg * src/Makefile.in: Regenerate. 1179 1.1 mrg 1180 1.1 mrg 2020-11-15 Jason Merrill <jason (a] redhat.com> 1181 1.1 mrg 1182 1.1 mrg * testsuite/20_util/result_of/sfinae_friendly_1.cc: Adjust. 1183 1.1 mrg 1184 1.1 mrg 2020-11-13 Jonathan Wakely <jwakely (a] redhat.com> 1185 1.1 mrg 1186 1.1 mrg PR libstdc++/93421 1187 1.1 mrg * src/c++11/chrono.cc [_GLIBCXX_USE_CLOCK_GETTIME_SYSCALL] 1188 1.1 mrg (syscall_timespec): Define a type suitable for SYS_clock_gettime 1189 1.1 mrg calls. 1190 1.1 mrg (system_clock::now(), steady_clock::now()): Use syscall_timespec 1191 1.1 mrg instead of timespec. 1192 1.1 mrg * src/c++11/futex.cc (syscall_timespec): Define a type suitable 1193 1.1 mrg for SYS_futex and SYS_clock_gettime calls. 1194 1.1 mrg (relative_timespec): Use syscall_timespec instead of timespec. 1195 1.1 mrg (__atomic_futex_unsigned_base::_M_futex_wait_until): Likewise. 1196 1.1 mrg (__atomic_futex_unsigned_base::_M_futex_wait_until_steady): 1197 1.1 mrg Likewise. 1198 1.1 mrg 1199 1.1 mrg 2020-11-13 Jonathan Wakely <jwakely (a] redhat.com> 1200 1.1 mrg 1201 1.1 mrg PR libstdc++/93456 1202 1.1 mrg * src/c++11/futex.cc (relative_timespec): Remove redundant check 1203 1.1 mrg negative values. 1204 1.1 mrg * testsuite/30_threads/future/members/wait_until_overflow.cc: Moved to... 1205 1.1 mrg * testsuite/30_threads/future/members/93456.cc: ...here. 1206 1.1 mrg 1207 1.1 mrg 2020-11-13 Jonathan Wakely <jwakely (a] redhat.com> 1208 1.1 mrg 1209 1.1 mrg * src/c++11/futex.cc (relative_timespec): Add [[unlikely]] 1210 1.1 mrg attributes. 1211 1.1 mrg (__atomic_futex_unsigned_base::_M_futex_wait_until) 1212 1.1 mrg (__atomic_futex_unsigned_base::_M_futex_wait_until_steady): 1213 1.1 mrg Check for overflow. 1214 1.1 mrg * testsuite/30_threads/future/members/wait_until_overflow.cc: 1215 1.1 mrg New test. 1216 1.1 mrg 1217 1.1 mrg 2020-11-13 Jonathan Wakely <jwakely (a] redhat.com> 1218 1.1 mrg 1219 1.1 mrg * src/c++11/futex.cc (relative_timespec): New function to 1220 1.1 mrg create relative time from two absolute times. 1221 1.1 mrg (__atomic_futex_unsigned_base::_M_futex_wait_until) 1222 1.1 mrg (__atomic_futex_unsigned_base::_M_futex_wait_until_steady): 1223 1.1 mrg Use relative_timespec. 1224 1.1 mrg 1225 1.1 mrg 2020-11-13 Jonathan Wakely <jwakely (a] redhat.com> 1226 1.1 mrg 1227 1.1 mrg * testsuite/30_threads/future/members/poll.cc: Require gthreads 1228 1.1 mrg and add -pthread for targets that require it. Relax required 1229 1.1 mrg ratio of wait_for calls before/after the future is ready. 1230 1.1 mrg 1231 1.1 mrg 2020-11-12 Jonathan Wakely <jwakely (a] redhat.com> 1232 1.1 mrg 1233 1.1 mrg * include/std/future (future::wait_for): Do not wait for 1234 1.1 mrg durations less than or equal to zero. 1235 1.1 mrg * src/c++11/futex.cc (_M_futex_wait_until) 1236 1.1 mrg (_M_futex_wait_until_steady): Do not wait for timeouts before 1237 1.1 mrg the epoch. 1238 1.1 mrg * testsuite/30_threads/future/members/poll.cc: New test. 1239 1.1 mrg 1240 1.1 mrg 2020-11-12 Jonathan Wakely <jwakely (a] redhat.com> 1241 1.1 mrg 1242 1.1 mrg * include/ext/numeric_traits.h (__numeric_traits): Change 1243 1.1 mrg primary template to always derive from __numeric_traits_integer. 1244 1.1 mrg (__numeric_traits<float>, __numeric_traits<double>) 1245 1.1 mrg (__numeric_traits<long double>): Add explicit specializations. 1246 1.1 mrg 1247 1.1 mrg 2020-11-12 Jonathan Wakely <jwakely (a] redhat.com> 1248 1.1 mrg 1249 1.1 mrg PR libstdc++/97798 1250 1.1 mrg * include/ext/numeric_traits.h (__glibcxx_signed) 1251 1.1 mrg (__glibcxx_digits, __glibcxx_min, __glibcxx_max): Remove 1252 1.1 mrg macros. 1253 1.1 mrg (__is_integer_nonstrict::__width): Define new constant. 1254 1.1 mrg (__numeric_traits_integer): Define constants in terms of each 1255 1.1 mrg other and __is_integer_nonstrict::__width, rather than the 1256 1.1 mrg removed macros. 1257 1.1 mrg (_GLIBCXX_INT_N_TRAITS): Macro to define explicit 1258 1.1 mrg specializations for non-standard integer types. 1259 1.1 mrg 1260 1.1 mrg 2020-11-11 Jonathan Yong <10walls (a] gmail.com> 1261 1.1 mrg 1262 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Exclude 1263 1.1 mrg cygwin and mingw from relro linker test. 1264 1.1 mrg * configure: Regenerate. 1265 1.1 mrg 1266 1.1 mrg 2020-11-11 Paul Scharnofske <asynts (a] gmail.com> 1267 1.1 mrg 1268 1.1 mrg * include/std/thread (jthread::operator=(jthread&&)): Transfer 1269 1.1 mrg any existing state to a temporary that will request a stop and 1270 1.1 mrg then join. 1271 1.1 mrg * testsuite/30_threads/jthread/jthread.cc: Test move assignment. 1272 1.1 mrg 1273 1.1 mrg 2020-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1274 1.1 mrg 1275 1.1 mrg * include/std/stop_token (_Stop_state_t::_M_requester): Define 1276 1.1 mrg new struct with members to store and check the thread ID. 1277 1.1 mrg (_Stop_state_t::_M_request_stop()): Use _M_requester._M_set(). 1278 1.1 mrg (_Stop_state_t::_M_remove_callback(_Stop_cb*)): Use 1279 1.1 mrg _M_requester._M_is_current_thread(). 1280 1.1 mrg 1281 1.1 mrg 2020-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1282 1.1 mrg 1283 1.1 mrg * include/std/ostream (__syncbuf_base): New class template. 1284 1.1 mrg (emit_on_flush, noemit_on_flush, flush_emit): New manipulators. 1285 1.1 mrg * include/std/syncstream (basic_syncbuf): Derive from 1286 1.1 mrg __syncbuf_base instead of basic_streambuf. 1287 1.1 mrg (basic_syncbuf::operator=): Remove self-assignment check. 1288 1.1 mrg (basic_syncbuf::swap): Remove self-swap check. 1289 1.1 mrg (basic_syncbuf::emit): Do not skip pubsync() call if sequence 1290 1.1 mrg is empty. 1291 1.1 mrg (basic_syncbuf::sync): Remove no-op pubsync on stringbuf. 1292 1.1 mrg (basic_syncbuf::overflow): Define override. 1293 1.1 mrg * testsuite/27_io/basic_syncstream/basic_ops/1.cc: Test 1294 1.1 mrg basic_osyncstream::put(char_type). 1295 1.1 mrg * testsuite/27_io/basic_ostream/emit/1.cc: New test. 1296 1.1 mrg 1297 1.1 mrg 2020-11-10 Jonathan Wakely <jwakely (a] redhat.com> 1298 1.1 mrg 1299 1.1 mrg * config/locale/generic/c_locale.cc (__set_C_locale()): New function 1300 1.1 mrg to set the "C" locale and return the name of the previous locale. 1301 1.1 mrg (__convert_to_v<float>, __convert_to_v<double>) 1302 1.1 mrg (__convert_to_v<long double>): Use __set_C_locale and set failbit on 1303 1.1 mrg error. 1304 1.1 mrg 1305 1.1 mrg 2020-11-10 Jonathan Wakely <jwakely (a] redhat.com> 1306 1.1 mrg 1307 1.1 mrg * include/std/sstream (basic_stringbug, basic_istringstream) 1308 1.1 mrg (basic_ostringstream, basic_stringstream): Reorder C++20 1309 1.1 mrg constructors to be declared next to other constructors. 1310 1.1 mrg 1311 1.1 mrg 2020-11-10 Jonathan Wakely <jwakely (a] redhat.com> 1312 1.1 mrg 1313 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Tighten patterns. 1314 1.1 mrg (GLIBCXX_3.4.29): Export new symbols. 1315 1.1 mrg * include/bits/alloc_traits.h (__allocator_like): New concept. 1316 1.1 mrg * include/std/sstream (basic_stringbuf::swap): Add exception 1317 1.1 mrg specification. 1318 1.1 mrg (basic_stringbuf::str() const): Add ref-qualifier. Use new 1319 1.1 mrg _M_high_mark function. 1320 1.1 mrg (basic_stringbuf::str(const SAlloc&) const): Define new function. 1321 1.1 mrg (basic_stringbuf::str() &&): Likewise. 1322 1.1 mrg (basic_stringbuf::str(const basic_string<C,T,SAlloc>&)): 1323 1.1 mrg Likewise. 1324 1.1 mrg (basic_stringbuf::str(basic_string<C,T,Alloc>&&)): Likewise. 1325 1.1 mrg (basic_stringbuf::view() const): Use _M_high_mark. 1326 1.1 mrg (basic_istringstream::str, basic_ostringstream::str) 1327 1.1 mrg (basic_stringstream::str): Define new overloads. 1328 1.1 mrg * src/c++20/sstream-inst.cc (basic_stringbuf::str) 1329 1.1 mrg (basic_istringstream::str, basic_ostringstream::str) 1330 1.1 mrg (basic_stringstream::str): Explicit instantiation definitions 1331 1.1 mrg for new overloads. 1332 1.1 mrg * testsuite/27_io/basic_istringstream/view/char/1.cc: Add more 1333 1.1 mrg checks. 1334 1.1 mrg * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc: 1335 1.1 mrg Likewise. 1336 1.1 mrg * testsuite/27_io/basic_ostringstream/view/char/1.cc: 1337 1.1 mrg Likewise. 1338 1.1 mrg * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc: 1339 1.1 mrg Likewise. 1340 1.1 mrg * testsuite/27_io/basic_stringstream/view/char/1.cc: 1341 1.1 mrg Likewise. 1342 1.1 mrg * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc: 1343 1.1 mrg Likewise. 1344 1.1 mrg * testsuite/27_io/basic_istringstream/str/char/2.cc: New test. 1345 1.1 mrg * testsuite/27_io/basic_istringstream/str/wchar_t/2.cc: New test. 1346 1.1 mrg * testsuite/27_io/basic_ostringstream/str/char/3.cc: New test. 1347 1.1 mrg * testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc: New test. 1348 1.1 mrg * testsuite/27_io/basic_stringbuf/str/char/4.cc: New test. 1349 1.1 mrg * testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: New test. 1350 1.1 mrg * testsuite/27_io/basic_stringstream/str/char/5.cc: New test. 1351 1.1 mrg * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc: New test. 1352 1.1 mrg 1353 1.1 mrg 2020-11-10 Jonathan Wakely <jwakely (a] redhat.com> 1354 1.1 mrg 1355 1.1 mrg PR libstdc++/97415 1356 1.1 mrg * include/std/sstream (basic_stringbuf::_M_update_egptr) 1357 1.1 mrg (basic_stringbuf::__xfer_bufptrs::__xfer_bufptrs): Check for 1358 1.1 mrg null before comparing pointers. 1359 1.1 mrg 1360 1.1 mrg 2020-11-09 Franois Dumont <fdumont (a] gcc.gnu.org> 1361 1.1 mrg 1362 1.1 mrg * include/debug/array: Remove. 1363 1.1 mrg * include/Makefile.am: Remove <debug/array>. 1364 1.1 mrg * include/Makefile.in: Regenerate. 1365 1.1 mrg * include/experimental/functional: Adapt. 1366 1.1 mrg * include/std/array: Move to _GLIBCXX_INLINE_VERSION namespace. 1367 1.1 mrg * include/std/functional: Adapt. 1368 1.1 mrg * include/std/span: Adapt. 1369 1.1 mrg * testsuite/23_containers/array/debug/back1_neg.cc: 1370 1.1 mrg Remove dg-require-debug-mode. Add -D_GLIBCXX_ASSERTIONS option. 1371 1.1 mrg * testsuite/23_containers/array/debug/back2_neg.cc: Likewise. 1372 1.1 mrg * testsuite/23_containers/array/debug/front1_neg.cc: Likewise. 1373 1.1 mrg * testsuite/23_containers/array/debug/front2_neg.cc: Likewise. 1374 1.1 mrg * testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc: 1375 1.1 mrg Likewise. 1376 1.1 mrg * testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc: 1377 1.1 mrg Likewise. 1378 1.1 mrg * testsuite/23_containers/array/element_access/60497.cc 1379 1.1 mrg * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: 1380 1.1 mrg Remove. 1381 1.1 mrg * testsuite/23_containers/array/tuple_interface/get_neg.cc 1382 1.1 mrg * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc 1383 1.1 mrg * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc 1384 1.1 mrg 1385 1.1 mrg 2020-11-09 Franois Dumont <fdumont (a] gcc.gnu.org> 1386 1.1 mrg 1387 1.1 mrg * include/debug/assertions.h (__glibcxx_requires_non_empty_range): 1388 1.1 mrg Remove __builtin_expect. 1389 1.1 mrg (__glibcxx_requires_subscript): Likewise. 1390 1.1 mrg (__glibcxx_requires_nonempty): Likewise. 1391 1.1 mrg * include/debug/formatter.h (__check_singular): Add C++11 constexpr 1392 1.1 mrg qualification. 1393 1.1 mrg * include/debug/helper_functions.h (__check_singular): Likewise. Skip 1394 1.1 mrg check if constant evaluated. 1395 1.1 mrg (__valid_range): Do not skip check if constant evaluated. 1396 1.1 mrg * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_COND_AT): Add 1397 1.1 mrg __builtin_expect. 1398 1.1 mrg (_GLIBCXX_DEBUG_VERIFY_AT_F): Use __glibcxx_assert_1. 1399 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: 1400 1.1 mrg New test. 1401 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/constexpr.cc: New test. 1402 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: New test. 1403 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/front_back_constexpr.cc: 1404 1.1 mrg New test. 1405 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: 1406 1.1 mrg New test. 1407 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: 1408 1.1 mrg New test. 1409 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr.cc: New test. 1410 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: New test. 1411 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: 1412 1.1 mrg New test. 1413 1.1 mrg * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: New test. 1414 1.1 mrg * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: New test. 1415 1.1 mrg * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: New test. 1416 1.1 mrg * testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc: New test. 1417 1.1 mrg * testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc: New test. 1418 1.1 mrg * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: New test. 1419 1.1 mrg * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: New test. 1420 1.1 mrg * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: New test. 1421 1.1 mrg * testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc: New test. 1422 1.1 mrg * testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc: New test. 1423 1.1 mrg 1424 1.1 mrg 2020-11-09 Jonathan Wakely <jwakely (a] redhat.com> 1425 1.1 mrg 1426 1.1 mrg * include/bits/uniform_int_dist.h (__detail::_Power_of_2): 1427 1.1 mrg Document that true result for zero is intentional. 1428 1.1 mrg 1429 1.1 mrg 2020-11-09 Jonathan Wakely <jwakely (a] redhat.com> 1430 1.1 mrg 1431 1.1 mrg * include/std/bit (__popcount): Remove redundant check for zero. 1432 1.1 mrg 1433 1.1 mrg 2020-11-09 Jonathan Wakely <jwakely (a] redhat.com> 1434 1.1 mrg 1435 1.1 mrg PR libstdc++/97729 1436 1.1 mrg * libsupc++/exception_ptr.h (exception_ptr::exception_ptr()) 1437 1.1 mrg (exception_ptr::exception_ptr(const exception_ptr&)) 1438 1.1 mrg (exception_ptr::~exception_ptr()): Remove 'always_inline' 1439 1.1 mrg attributes. Use 'inline' unconditionally. 1440 1.1 mrg 1441 1.1 mrg 2020-11-09 Jonathan Wakely <jwakely (a] redhat.com> 1442 1.1 mrg 1443 1.1 mrg PR libstdc++/97758 1444 1.1 mrg * include/bits/std_function.h [!__cpp_rtti]: Include <typeinfo>. 1445 1.1 mrg 1446 1.1 mrg 2020-11-07 Liu Hao <lh_mouse (a] 126.com> 1447 1.1 mrg 1448 1.1 mrg * libsupc++/cxxabi.h: (__cxa_atexit): mark with _GLIBCXX_CDTOR_CALLABI 1449 1.1 mrg (__cxa_thread_atexit): ditto 1450 1.1 mrg * libsupc++/atexit_thread.cc: (__cxa_atexit): mark with 1451 1.1 mrg _GLIBCXX_CDTOR_CALLABI 1452 1.1 mrg (__cxa_thread_atexit): ditto 1453 1.1 mrg (elt): ditto 1454 1.1 mrg 1455 1.1 mrg 2020-11-06 Jonathan Wakely <jwakely (a] redhat.com> 1456 1.1 mrg 1457 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Tighten up patterns 1458 1.1 mrg for basic_stringbuf that refer to __xfer_bufptrs. 1459 1.1 mrg 1460 1.1 mrg 2020-11-05 Marek Polacek <polacek (a] redhat.com> 1461 1.1 mrg 1462 1.1 mrg PR c++/25814 1463 1.1 mrg * testsuite/20_util/reference_wrapper/lwg2993.cc: Add a dg-warning. 1464 1.1 mrg * testsuite/25_algorithms/generate_n/87982_neg.cc: Likewise. 1465 1.1 mrg 1466 1.1 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com> 1467 1.1 mrg 1468 1.1 mrg PR libstdc++/96269 1469 1.1 mrg * include/std/optional (operator==, operator!=, operator<) 1470 1.1 mrg (operator>, operator<=, operator>=): Fix types used in 1471 1.1 mrg SFINAE constraints. 1472 1.1 mrg * testsuite/20_util/optional/relops/96269.cc: New test. 1473 1.1 mrg 1474 1.1 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com> 1475 1.1 mrg 1476 1.1 mrg PR libstdc++/97731 1477 1.1 mrg * src/filesystem/dir.cc (recursive_directory_iterator): Call the 1478 1.1 mrg right overload of _Dir::advance. 1479 1.1 mrg * testsuite/experimental/filesystem/iterators/97731.cc: New test. 1480 1.1 mrg 1481 1.1 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com> 1482 1.1 mrg 1483 1.1 mrg PR libstdc++/97729 1484 1.1 mrg * include/std/future (__basic_future::_M_get_result): Use 1485 1.1 mrg nullptr for null pointer constant. 1486 1.1 mrg * libsupc++/eh_ptr.cc (operator==, operator!=): Remove 1487 1.1 mrg definitions. 1488 1.1 mrg * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Define 1489 1.1 mrg macro to conditionally add __attribute__((__used__)). 1490 1.1 mrg (operator==, operator!=, exception_ptr::exception_ptr()) 1491 1.1 mrg (exception_ptr::exception_ptr(const exception_ptr&)) 1492 1.1 mrg (exception_ptr::~exception_ptr()) 1493 1.1 mrg (exception_ptr::operator=(const exception_ptr&)) 1494 1.1 mrg (exception_ptr::swap(exception_ptr&)): Always define as 1495 1.1 mrg inline. Add macro to be conditionally "used". 1496 1.1 mrg 1497 1.1 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com> 1498 1.1 mrg 1499 1.1 mrg PR libstdc++/97729 1500 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Add exports. 1501 1.1 mrg * src/c++20/sstream-inst.cc (basic_stringbuf): Instantiate 1502 1.1 mrg private constructor taking __xfer_bufptrs. 1503 1.1 mrg 1504 1.1 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com> 1505 1.1 mrg 1506 1.1 mrg * include/std/sstream (basic_stringbuf(const allocator_type&): 1507 1.1 mrg Add explicit. 1508 1.1 mrg (basic_stringbuf(const basic_string<C,T,SA>&, openmode, const A&)): 1509 1.1 mrg Call _M_stringbuf_init. Construct _M_string from pointer and length 1510 1.1 mrg to avoid constraint checks for string view. 1511 1.1 mrg (basic_stringbuf::view()): Make __sv_type alias local to the 1512 1.1 mrg function. 1513 1.1 mrg (basic_istringstream(const basic_string<C,T,SA>&, openmode, const A&)): 1514 1.1 mrg Pass string to _M_streambuf instead of constructing a temporary 1515 1.1 mrg with the wrong allocator. 1516 1.1 mrg (basic_ostringstream(const basic_string<C,T,SA>&, openmode, const A&)): 1517 1.1 mrg Likewise. 1518 1.1 mrg (basic_stringstream(const basic_string<C,T,SA>&, openmode, const A&)): 1519 1.1 mrg Likewise. 1520 1.1 mrg * src/c++20/sstream-inst.cc: Use string_view and wstring_view 1521 1.1 mrg typedefs in explicit instantiations. 1522 1.1 mrg * testsuite/27_io/basic_istringstream/cons/char/1.cc: Add more 1523 1.1 mrg tests for constructors. 1524 1.1 mrg * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise. 1525 1.1 mrg * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise. 1526 1.1 mrg * testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise. 1527 1.1 mrg * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise. 1528 1.1 mrg * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise. 1529 1.1 mrg * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise. 1530 1.1 mrg 1531 1.1 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com> 1532 1.1 mrg 1533 1.1 mrg * include/std/sstream: Adjust whitespace. 1534 1.1 mrg 1535 1.1 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1536 1.1 mrg 1537 1.1 mrg PR libstdc++/97719 1538 1.1 mrg * include/std/sstream (basic_stringstream(string_type&&, openmode)): 1539 1.1 mrg Fix default argument. 1540 1.1 mrg * testsuite/27_io/basic_stringstream/cons/char/97719.cc: New test. 1541 1.1 mrg 1542 1.1 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1543 1.1 mrg 1544 1.1 mrg * testsuite/18_support/96817.cc: Fail fast if the library is 1545 1.1 mrg configured to not use futexes. 1546 1.1 mrg 1547 1.1 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1548 1.1 mrg 1549 1.1 mrg PR libstdc++/94971 1550 1.1 mrg * include/bits/stl_algo.h (search(FIter, FIter, const Searcher): 1551 1.1 mrg Adjust #if condition. 1552 1.1 mrg * include/parallel/algo.h (search(FIter, FIter, const Searcher&): 1553 1.1 mrg Define new overload for C++17. 1554 1.1 mrg 1555 1.1 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1556 1.1 mrg 1557 1.1 mrg PR libstdc++/92285 1558 1.1 mrg * doc/xml/manual/evolution.xml: Document change to base class. 1559 1.1 mrg * doc/html/manual/api.html: Regenerate. 1560 1.1 mrg 1561 1.1 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com> 1562 1.1 mrg 1563 1.1 mrg * include/bits/uniform_int_dist.h (uniform_int_distribution::_S_nd): 1564 1.1 mrg Use qualified-id to refer to static member functions. 1565 1.1 mrg 1566 1.1 mrg 2020-11-03 Jonathan Wakely <jwakely (a] redhat.com> 1567 1.1 mrg 1568 1.1 mrg * include/std/syncstream: Include <bits/std_mutex.h> 1569 1.1 mrg unconditionally. 1570 1.1 mrg 1571 1.1 mrg 2020-11-03 Franois Dumont <fdumont (a] gcc.gnu.org> 1572 1.1 mrg 1573 1.1 mrg * config/abi/pre/gnu-versioned-namespace.ver: 1574 1.1 mrg Add __istream_extract and _Safe_local_iterator_base::_M_attach_single 1575 1.1 mrg symbols. 1576 1.1 mrg 1577 1.1 mrg 2020-11-03 Jonathan Wakely <jwakely (a] redhat.com> 1578 1.1 mrg 1579 1.1 mrg * src/c++11/mutex.cc [_GLIBCXX_HAVE_TLS] (__once_proxy): Define 1580 1.1 mrg separately for TLS targets. 1581 1.1 mrg [!_GLIBCXX_HAVE_TLS] (__get_once_functor_lock_ptr): Replace with ... 1582 1.1 mrg (set_lock_ptr): ... this. Set new value and return previous 1583 1.1 mrg value. 1584 1.1 mrg [!_GLIBCXX_HAVE_TLS] (__set_once_functor_lock_ptr): Adjust to 1585 1.1 mrg use set_lock_ptr. 1586 1.1 mrg [!_GLIBCXX_HAVE_TLS] (__once_proxy): Likewise. 1587 1.1 mrg 1588 1.1 mrg 2020-11-03 Jonathan Wakely <jwakely (a] redhat.com> 1589 1.1 mrg 1590 1.1 mrg PR libstdc++/55394 1591 1.1 mrg PR libstdc++/66146 1592 1.1 mrg PR libstdc++/84323 1593 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Add new symbols. 1594 1.1 mrg * include/std/mutex [!_GLIBCXX_HAS_GTHREADS] (once_flag): Define 1595 1.1 mrg even when gthreads is not supported. 1596 1.1 mrg (once_flag::_M_once) [_GLIBCXX_HAVE_LINUX_FUTEX]: Change type 1597 1.1 mrg from __gthread_once_t to int. 1598 1.1 mrg (once_flag::_M_passive(), once_flag::_M_activate()) 1599 1.1 mrg (once_flag::_M_finish(bool), once_flag::_Active_execution): 1600 1.1 mrg Define new members for futex and non-threaded implementation. 1601 1.1 mrg [_GLIBCXX_HAS_GTHREADS] (once_flag::_Prepare_execution): New 1602 1.1 mrg RAII helper type. 1603 1.1 mrg (call_once): Use new members of once_flag. 1604 1.1 mrg * src/c++11/mutex.cc (std::once_flag::_M_activate): Define. 1605 1.1 mrg (std::once_flag::_M_finish): Define. 1606 1.1 mrg * testsuite/30_threads/call_once/39909.cc: Do not require 1607 1.1 mrg gthreads. 1608 1.1 mrg * testsuite/30_threads/call_once/49668.cc: Likewise. 1609 1.1 mrg * testsuite/30_threads/call_once/60497.cc: Likewise. 1610 1.1 mrg * testsuite/30_threads/call_once/call_once1.cc: Likewise. 1611 1.1 mrg * testsuite/30_threads/call_once/dr2442.cc: Likewise. 1612 1.1 mrg * testsuite/30_threads/call_once/once_flag.cc: Add test for 1613 1.1 mrg constexpr constructor. 1614 1.1 mrg * testsuite/30_threads/call_once/66146.cc: New test. 1615 1.1 mrg * testsuite/30_threads/call_once/constexpr.cc: Removed. 1616 1.1 mrg * testsuite/30_threads/once_flag/cons/constexpr.cc: Removed. 1617 1.1 mrg 1618 1.1 mrg 2020-11-03 Jonathan Yong <10walls (a] gmail.com> 1619 1.1 mrg 1620 1.1 mrg * src/Makefile.am (libstdc___la_LINK): Add lt_host_flags. 1621 1.1 mrg * src/Makefile.in: Regenerate. 1622 1.1 mrg 1623 1.1 mrg 2020-11-02 Thomas Rodgers <trodgers (a] redhat.com> 1624 1.1 mrg 1625 1.1 mrg * doc/doxygen/user.cfg.in (INPUT): Add new header. 1626 1.1 mrg * include/Makefile.am (std_headers): Add new header. 1627 1.1 mrg * include/Makefile.in: Regenerate. 1628 1.1 mrg * include/precompiled/stdc++.h: Include new header. 1629 1.1 mrg * include/std/syncstream: New header. 1630 1.1 mrg * include/std/version: Add __cpp_lib_syncbuf. 1631 1.1 mrg * testsuite/27_io/basic_syncbuf/1.cc: New test. 1632 1.1 mrg * testsuite/27_io/basic_syncbuf/2.cc: Likewise. 1633 1.1 mrg * testsuite/27_io/basic_syncbuf/basic_ops/1.cc: 1634 1.1 mrg Likewise. 1635 1.1 mrg * testsuite/27_io/basic_syncbuf/requirements/types.cc: 1636 1.1 mrg Likewise. 1637 1.1 mrg * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: 1638 1.1 mrg Likewise. 1639 1.1 mrg * testsuite/27_io/basic_syncstream/1.cc: Likewise. 1640 1.1 mrg * testsuite/27_io/basic_syncstream/2.cc: Likewise. 1641 1.1 mrg * testsuite/27_io/basic_syncstream/basic_ops/1.cc: 1642 1.1 mrg Likewise. 1643 1.1 mrg * testsuite/27_io/basic_syncstream/requirements/types.cc: 1644 1.1 mrg Likewise. 1645 1.1 mrg 1646 1.1 mrg 2020-11-01 Jonathan Wakely <jwakely (a] redhat.com> 1647 1.1 mrg 1648 1.1 mrg * include/std/type_traits (is_integral<wchar_t>) 1649 1.1 mrg (make_unsigned<wchar_t>, make_signed<wchar_t>): Define based 1650 1.1 mrg on #ifdef __WCHAR_TYPE__ instead of _GLIBCXX_USE_WCHAR_T. 1651 1.1 mrg * include/bits/cpp_type_traits.h (__is_integer<wchar_t>) 1652 1.1 mrg (__is_char<wchar_t>): Likewise. 1653 1.1 mrg 1654 1.1 mrg 2020-10-31 Franois Dumont <fdumont (a] gcc.gnu.org> 1655 1.1 mrg 1656 1.1 mrg * src/c++17/floating_from_chars.cc (_GLIBCXX_USE_CX11_ABI): Add define. 1657 1.1 mrg (buffering_string): New. 1658 1.1 mrg [!_GLIBCXX_USE_CXX11_ABI](reserve_string): New. 1659 1.1 mrg (from_chars): Adapt. 1660 1.1 mrg * src/c++20/sstream-inst.cc: Limit instantiations to 1661 1.1 mrg _GLIBCXX_USE_CXX11_ABI. 1662 1.1 mrg 1663 1.1 mrg 2020-10-31 Jonathan Wakely <jwakely (a] redhat.com> 1664 1.1 mrg 1665 1.1 mrg * include/bits/random.h (independent_bit_engine): Fix typo 1666 1.1 mrg in comment. 1667 1.1 mrg (shuffle_order_engine): Fix incorrect description in comment. 1668 1.1 mrg * include/bits/random.tcc (__representable_as_double 1669 1.1 mrg (__p1_representable_as_double): New helper functions. 1670 1.1 mrg (shuffle_order_engine::operator()): Use double for calculation 1671 1.1 mrg if (max() - min() + 1) is representable as double. 1672 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error 1673 1.1 mrg line number. 1674 1.1 mrg 1675 1.1 mrg 2020-10-31 Jonathan Wakely <jwakely (a] redhat.com> 1676 1.1 mrg 1677 1.1 mrg PR libstdc++/96958 1678 1.1 mrg * include/bits/hashtable_policy.h (_Prime_rehash_policy) 1679 1.1 mrg (_Power2_rehash_policy): Use ceil and floor instead of ceill and 1680 1.1 mrg floorl. 1681 1.1 mrg * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy): Likewise. 1682 1.1 mrg Use double instead of long double. 1683 1.1 mrg 1684 1.1 mrg 2020-10-31 Patrick Palka <ppalka (a] redhat.com> 1685 1.1 mrg 1686 1.1 mrg PR libstdc++/97600 1687 1.1 mrg * include/std/ranges (basic_istream_view::begin): Initialize 1688 1.1 mrg _Iterator from 'this' instead of '*this'. 1689 1.1 mrg (basic_istream_view::_Iterator::_Iterator): Adjust constructor 1690 1.1 mrg accordingly. 1691 1.1 mrg (filter_view::_Iterator::_Iterator): Take a filter_view* 1692 1.1 mrg argument instead of a filter_view& argument. 1693 1.1 mrg (filter_view::_Sentinel::_Sentinel): Likewise. 1694 1.1 mrg (filter_view::begin): Initialize _Iterator from 'this' instead 1695 1.1 mrg of '*this'. 1696 1.1 mrg (filter_view::end): Likewise. 1697 1.1 mrg (transform_view::_Iterator::_Iterator): Take a _Parent* instead 1698 1.1 mrg of a _Parent&. 1699 1.1 mrg (filter_view::_Iterator::operator+): Adjust accordingly. 1700 1.1 mrg (filter_view::_Iterator::operator-): Likewise. 1701 1.1 mrg (filter_view::begin): Initialize _Iterator from 'this' instead 1702 1.1 mrg of '*this'. 1703 1.1 mrg (filter_view::end): Likewise. 1704 1.1 mrg (join_view::_Iterator): Take a _Parent* instead of a _Parent&. 1705 1.1 mrg (join_view::_Sentinel): Likewise. 1706 1.1 mrg (join_view::begin): Initialize _Iterator from 'this' instead of 1707 1.1 mrg '*this'. 1708 1.1 mrg (join_view::end): Initialize _Sentinel from 'this' instead of 1709 1.1 mrg '*this'. 1710 1.1 mrg (split_view::_OuterIter): Take a _Parent& instead of a _Parent*. 1711 1.1 mrg (split_view::begin): Initialize _OuterIter from 'this' instead 1712 1.1 mrg of '*this'. 1713 1.1 mrg (split_view::end): Likewise. 1714 1.1 mrg * testsuite/std/ranges/97600.cc: New test. 1715 1.1 mrg 1716 1.1 mrg 2020-10-30 Jonathan Wakely <jwakely (a] redhat.com> 1717 1.1 mrg 1718 1.1 mrg * include/std/ranges (enable_borrowed_view<take_view<T>>) 1719 1.1 mrg (enable_borrowed_view<drop_view<T>>) 1720 1.1 mrg (enable_borrowed_view<drop_while_view<T>>) 1721 1.1 mrg (enable_borrowed_view<reverse_view<T>>) 1722 1.1 mrg (enable_borrowed_view<common_view<T>>) 1723 1.1 mrg (enable_borrowed_view<elements_view<T>>): Add partial 1724 1.1 mrg specializations as per P2017R1. 1725 1.1 mrg * testsuite/std/ranges/adaptors/conditionally_borrowed.cc: 1726 1.1 mrg New test. 1727 1.1 mrg 1728 1.1 mrg 2020-10-30 Jonathan Wakely <jwakely (a] redhat.com> 1729 1.1 mrg 1730 1.1 mrg PR libstdc++/96958 1731 1.1 mrg * include/bits/hashtable_policy.h (_Prime_rehash_policy) 1732 1.1 mrg (_Power2_rehash_policy): Use double instead of long double. 1733 1.1 mrg 1734 1.1 mrg 2020-10-30 Jonathan Wakely <jwakely (a] redhat.com> 1735 1.1 mrg 1736 1.1 mrg * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: 1737 1.1 mrg Avoid -Wcatch-value warnings. 1738 1.1 mrg 1739 1.1 mrg 2020-10-30 Patrick Palka <ppalka (a] redhat.com> 1740 1.1 mrg 1741 1.1 mrg * include/std/ranges (__detail::__box): For the partial 1742 1.1 mrg specialization used by types that are already semiregular, 1743 1.1 mrg make the default constructor value-initialize the underlying 1744 1.1 mrg object instead of default-initializing it. Make its in place 1745 1.1 mrg constructor explicit. 1746 1.1 mrg * testsuite/std/ranges/adaptors/detail/semiregular_box.cc: 1747 1.1 mrg Augment test. 1748 1.1 mrg 1749 1.1 mrg 2020-10-30 David Edelsohn <dje.gcc (a] gmail.com> 1750 1.1 mrg 1751 1.1 mrg * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: XFAIL on AIX. 1752 1.1 mrg 1753 1.1 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com> 1754 1.1 mrg 1755 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Tighten patterns 1756 1.1 mrg for old <sstream> symbols some more. 1757 1.1 mrg 1758 1.1 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com> 1759 1.1 mrg 1760 1.1 mrg * include/bits/ranges_util.h (subrange::subrange(R&&)): Use 1761 1.1 mrg direct-initialization instead of list-initialization, so a 1762 1.1 mrg potential narrowing conversion from ranges::size(r) to the 1763 1.1 mrg stored size isn't ill-formed. 1764 1.1 mrg 1765 1.1 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com> 1766 1.1 mrg 1767 1.1 mrg * include/bits/parse_numbers.h (_Select_int_base): Avoid 1768 1.1 mrg narrowing conversion in constant expression. 1769 1.1 mrg * include/experimental/buffer (buffer_copy): Avoid narrowing 1770 1.1 mrg conversion. 1771 1.1 mrg * include/experimental/internet (hash<>::operator()): Do not 1772 1.1 mrg use deprecated 'argument_type' member. 1773 1.1 mrg * include/std/variant (variant::emplace): Use cast instead 1774 1.1 mrg of implicit conversion from size_t to narrower unsigned type. 1775 1.1 mrg 1776 1.1 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com> 1777 1.1 mrg 1778 1.1 mrg * include/tr1/shared_ptr.h (__shared_count, __shared_ptr) 1779 1.1 mrg (shared_ptr): Add diagnostic pragmas around uses of auto_ptr. 1780 1.1 mrg * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: 1781 1.1 mrg Adust dg-error line numbers. 1782 1.1 mrg 1783 1.1 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com> 1784 1.1 mrg 1785 1.1 mrg * testsuite/18_support/96817.cc: Avoid -Wunused warnings. 1786 1.1 mrg * testsuite/20_util/any/assign/2.cc: Likewise. 1787 1.1 mrg * testsuite/20_util/any/cons/2.cc: Likewise. 1788 1.1 mrg * testsuite/20_util/align/1.cc: Avoid -Wsign-compare warning. 1789 1.1 mrg * testsuite/20_util/function/65760.cc: Avoid -Wunused warning. 1790 1.1 mrg * testsuite/20_util/function/1.cc: Avoid -Wcatch-value warning. 1791 1.1 mrg * testsuite/20_util/function/cons/move_target.cc: Avoid -Wunused 1792 1.1 mrg warning. 1793 1.1 mrg * testsuite/20_util/headers/memory/synopsis.cc: Add exception 1794 1.1 mrg specification. 1795 1.1 mrg * testsuite/20_util/monotonic_buffer_resource/allocate.cc: Avoid 1796 1.1 mrg -Wsign-compare warning. 1797 1.1 mrg * testsuite/20_util/tuple/cons/deduction.cc: Avoid -Wunused 1798 1.1 mrg warning. 1799 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc: 1800 1.1 mrg Avoid -Wdeprecated-copy warning. 1801 1.1 mrg * testsuite/21_strings/basic_string/56166.cc: Avoid 1802 1.1 mrg -Wcatch-value warning. 1803 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: 1804 1.1 mrg Avoid -Wcatch-value warnings. 1805 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: 1806 1.1 mrg Likewise. 1807 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: 1808 1.1 mrg Likewise. 1809 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: 1810 1.1 mrg Likewise. 1811 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc: 1812 1.1 mrg Likewise. 1813 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc: 1814 1.1 mrg Likewise. 1815 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: 1816 1.1 mrg Likewise. 1817 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc: 1818 1.1 mrg Likewise. 1819 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc: 1820 1.1 mrg Likewise. 1821 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc: 1822 1.1 mrg Likewise. 1823 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc: 1824 1.1 mrg Likewise. 1825 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc: 1826 1.1 mrg Likewise. 1827 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc: 1828 1.1 mrg Likewise. 1829 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc: 1830 1.1 mrg Likewise. 1831 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc: 1832 1.1 mrg Likewise. 1833 1.1 mrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc: 1834 1.1 mrg Likewise. 1835 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc: 1836 1.1 mrg Prune additional diagnostics. 1837 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc: 1838 1.1 mrg Likewise. 1839 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc: 1840 1.1 mrg Likewise. 1841 1.1 mrg * testsuite/21_strings/headers/string/synopsis.cc: Add exception 1842 1.1 mrg specifications. 1843 1.1 mrg * testsuite/22_locale/locale/cons/12352.cc: Define sized 1844 1.1 mrg delete operators to avoid warnings. 1845 1.1 mrg * testsuite/23_containers/deque/modifiers/swap/1.cc: Add 1846 1.1 mrg exception specification. 1847 1.1 mrg * testsuite/23_containers/forward_list/cons/11.cc: Avoid 1848 1.1 mrg -Wdeprecated-copy warning. 1849 1.1 mrg * testsuite/23_containers/headers/bitset/synopsis.cc: Add 1850 1.1 mrg exception specification. 1851 1.1 mrg * testsuite/23_containers/headers/deque/synopsis.cc: Likewise. 1852 1.1 mrg * testsuite/23_containers/headers/forward_list/synopsis.cc: 1853 1.1 mrg Likewise. 1854 1.1 mrg * testsuite/23_containers/headers/list/synopsis.cc: Likewise. 1855 1.1 mrg * testsuite/23_containers/headers/map/synopsis.cc: Likewise. 1856 1.1 mrg * testsuite/23_containers/headers/queue/synopsis.cc: Likewise. 1857 1.1 mrg * testsuite/23_containers/headers/set/synopsis.cc: Likewise. 1858 1.1 mrg * testsuite/23_containers/headers/vector/synopsis.cc: Likewise. 1859 1.1 mrg * testsuite/23_containers/list/modifiers/swap/1.cc: Likewise. 1860 1.1 mrg * testsuite/23_containers/map/modifiers/swap/1.cc: Likewise. 1861 1.1 mrg * testsuite/23_containers/multimap/modifiers/swap/1.cc: 1862 1.1 mrg Likewise. 1863 1.1 mrg * testsuite/23_containers/multiset/modifiers/swap/1.cc: 1864 1.1 mrg Likewise. 1865 1.1 mrg * testsuite/23_containers/set/modifiers/swap/1.cc: Likewise. 1866 1.1 mrg * testsuite/23_containers/unordered_set/56267-2.cc: Avoid 1867 1.1 mrg -Wdeprecated-copy warning. 1868 1.1 mrg * testsuite/23_containers/vector/bool/23632.cc: Avoid 1869 1.1 mrg -Wempty-body warning. 1870 1.1 mrg * testsuite/23_containers/vector/modifiers/swap/1.cc: Add 1871 1.1 mrg exception specification. 1872 1.1 mrg * testsuite/25_algorithms/heap/moveable2.cc: Fix misplaced 1873 1.1 mrg parentheses around arguments. 1874 1.1 mrg * testsuite/25_algorithms/sample/1.cc: Use return value. 1875 1.1 mrg * testsuite/25_algorithms/search/searcher.cc: Avoid -Wunused 1876 1.1 mrg warnings. 1877 1.1 mrg * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: 1878 1.1 mrg Likewise. 1879 1.1 mrg * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: 1880 1.1 mrg Likewise. 1881 1.1 mrg * testsuite/27_io/filesystem/operations/remove_all.cc: Avoid 1882 1.1 mrg -Wsign-compare warning. 1883 1.1 mrg * testsuite/experimental/any/assign/2.cc: Avoid -Wunused warnings. 1884 1.1 mrg * testsuite/experimental/any/cons/2.cc: Likewise. 1885 1.1 mrg * testsuite/experimental/filesystem/operations/remove_all.cc: 1886 1.1 mrg Avoid -Wign-compare warning. 1887 1.1 mrg * testsuite/experimental/memory/observer_ptr/cons/cons.cc: 1888 1.1 mrg Likewise. 1889 1.1 mrg * testsuite/experimental/memory_resource/null_memory_resource.cc: 1890 1.1 mrg Likewise. 1891 1.1 mrg * testsuite/experimental/source_location/1.cc: Avoid -Waddress 1892 1.1 mrg warning. 1893 1.1 mrg * testsuite/ext/pod_char_traits.cc: Avoid -Wunused warning. 1894 1.1 mrg * testsuite/ext/vstring/modifiers/clear/56166.cc: Avoid 1895 1.1 mrg -Wcatch-value. 1896 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: 1897 1.1 mrg Avoid -Wunused warning. 1898 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: 1899 1.1 mrg Likewise. 1900 1.1 mrg * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: 1901 1.1 mrg Prune additional warnings. 1902 1.1 mrg * testsuite/tr1/3_function_objects/function/1.cc: Avoid 1903 1.1 mrg -Wcatch-value warning. 1904 1.1 mrg * testsuite/util/replacement_memory_operators.h: Define sized 1905 1.1 mrg delete to avoid warnings. 1906 1.1 mrg * testsuite/util/testsuite_api.h (_NonDefaultConstructible): Add 1907 1.1 mrg user-declared assignment operator to stop -Wdeprecated-copy 1908 1.1 mrg warnings. 1909 1.1 mrg * testsuite/util/testsuite_containers.h: Avoid -Wunused warning. 1910 1.1 mrg * testsuite/util/testsuite_iterators.h: Avoid -Wsign-compare 1911 1.1 mrg warnings. 1912 1.1 mrg * testsuite/util/testsuite_new_operators.h: Define sized deleted. 1913 1.1 mrg 1914 1.1 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com> 1915 1.1 mrg 1916 1.1 mrg * testsuite/25_algorithms/all_of/constexpr.cc: Check result of 1917 1.1 mrg the algorithm. 1918 1.1 mrg * testsuite/25_algorithms/any_of/constexpr.cc: Likewise. 1919 1.1 mrg * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise. 1920 1.1 mrg * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise. 1921 1.1 mrg * testsuite/25_algorithms/count/constexpr.cc: Likewise. 1922 1.1 mrg * testsuite/25_algorithms/equal/constexpr.cc: Likewise. 1923 1.1 mrg * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise. 1924 1.1 mrg * testsuite/25_algorithms/fill/constexpr.cc: Likewise. 1925 1.1 mrg * testsuite/25_algorithms/find_end/constexpr.cc: Likewise. 1926 1.1 mrg * testsuite/25_algorithms/find_if/constexpr.cc: Likewise. 1927 1.1 mrg * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise. 1928 1.1 mrg * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise. 1929 1.1 mrg * testsuite/25_algorithms/is_sorted_until/constexpr.cc: 1930 1.1 mrg Likewise. 1931 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: 1932 1.1 mrg Likewise. 1933 1.1 mrg * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise. 1934 1.1 mrg * testsuite/25_algorithms/merge/constexpr.cc: Likewise. 1935 1.1 mrg * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise. 1936 1.1 mrg * testsuite/25_algorithms/none_of/constexpr.cc: Likewise. 1937 1.1 mrg * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise. 1938 1.1 mrg * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise. 1939 1.1 mrg * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise. 1940 1.1 mrg * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise. 1941 1.1 mrg * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise. 1942 1.1 mrg * testsuite/25_algorithms/reverse/constexpr.cc: Likewise. 1943 1.1 mrg * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise. 1944 1.1 mrg * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise. 1945 1.1 mrg * testsuite/25_algorithms/search/constexpr.cc: Likewise. 1946 1.1 mrg * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise. 1947 1.1 mrg * testsuite/25_algorithms/set_intersection/constexpr.cc: 1948 1.1 mrg Likewise. 1949 1.1 mrg * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: 1950 1.1 mrg Likewise. 1951 1.1 mrg * testsuite/25_algorithms/set_union/constexpr.cc: Likewise. 1952 1.1 mrg * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise. 1953 1.1 mrg * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise. 1954 1.1 mrg 1955 1.1 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com> 1956 1.1 mrg 1957 1.1 mrg * include/bits/uniform_int_dist.h (_Power_of_two): Add 1958 1.1 mrg constexpr. 1959 1.1 mrg (uniform_int_distribution::_S_nd): Add static_assert to ensure 1960 1.1 mrg the wider type is twice as wide as the result type. 1961 1.1 mrg (uniform_int_distribution::__generate_impl): Add static_assert 1962 1.1 mrg and declare variables as constexpr where appropriate. 1963 1.1 mrg (uniform_int_distribution:operator()): Likewise. Only consider 1964 1.1 mrg the uniform random bit generator's range of possible results 1965 1.1 mrg when deciding whether _S_nd can be used, not the __uctype type. 1966 1.1 mrg 1967 1.1 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com> 1968 1.1 mrg 1969 1.1 mrg * include/ext/rope (_Refcount_Base::_M_ref_count): Remove 1970 1.1 mrg volatile qualifier. 1971 1.1 mrg (_Refcount_Base::_M_decr()): Likewise. 1972 1.1 mrg 1973 1.1 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com> 1974 1.1 mrg 1975 1.1 mrg * include/bits/std_function.h (_Function_handler<void, void>): 1976 1.1 mrg Define explicit specialization used for invalid target types. 1977 1.1 mrg (_Base_manager::_M_manager) [!__cpp_rtti]: Return null. 1978 1.1 mrg (function::target_type()): Check for null pointer. 1979 1.1 mrg (function::target()): Define unconditionall. Fix bug with 1980 1.1 mrg const_cast of function pointer type. 1981 1.1 mrg (function::target() const): Define unconditionally, but 1982 1.1 mrg only use RTTI if enabled. 1983 1.1 mrg * testsuite/20_util/function/target_no_rtti.cc: New test. 1984 1.1 mrg 1985 1.1 mrg 2020-10-29 Patrick Palka <ppalka (a] redhat.com> 1986 1.1 mrg 1987 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/constrained.cc: 1988 1.1 mrg (test03): Fix initializing the vector vy with the array y of size 4. 1989 1.1 mrg 1990 1.1 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com> 1991 1.1 mrg 1992 1.1 mrg * include/bits/hashtable_policy.h (_Local_iterator_base): Cast 1993 1.1 mrg value to avoid -Wsign-compare warnings. 1994 1.1 mrg * include/bits/regex.h (sub_match::_M_str): Avoid narrowing 1995 1.1 mrg conversion. 1996 1.1 mrg * include/bits/regex_compiler.tcc (_Compiler::_M_quantifier): 1997 1.1 mrg Initialize variable to avoid -Wmaybe-uninitialized warning. 1998 1.1 mrg * include/bits/shared_ptr_base.h (_Sp_counted_deleter::_Impl): 1999 1.1 mrg Reorder mem-initializer-list to avoid -Wreorder warning. 2000 1.1 mrg * include/bits/stl_tree.h (_Rb_tree_impl): Explicitly 2001 1.1 mrg initialize base class in copy constructor. 2002 1.1 mrg * include/debug/safe_iterator.h (_Safe_iterator): Likewise. 2003 1.1 mrg * include/ext/debug_allocator.h: Reorder mem-initializer-list 2004 1.1 mrg to avoid -Wreorder warning. 2005 1.1 mrg * include/ext/throw_allocator.h (throw_allocator_limit) 2006 1.1 mrg (throw_allocator_random): Add user-declared assignment operators 2007 1.1 mrg to avoid -Wdeprecated-copy warnings. 2008 1.1 mrg 2009 1.1 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com> 2010 1.1 mrg 2011 1.1 mrg * include/bits/uniform_int_dist.h (uniform_int_distribution): 2012 1.1 mrg Rename _UniformRandomNumberGenerator template parameters to 2013 1.1 mrg _UniformRandomBitGenerator, as per P0346R1. 2014 1.1 mrg 2015 1.1 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com> 2016 1.1 mrg 2017 1.1 mrg * include/std/sstream (basic_stringbuf(__string_type&&, openmode)): 2018 1.1 mrg Call _M_init_syncbuf to set up get/put areas. Also qualify 2019 1.1 mrg std::move. 2020 1.1 mrg 2021 1.1 mrg 2020-10-28 Jonathan Wakely <jwakely (a] redhat.com> 2022 1.1 mrg 2023 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Remove duplicate 2024 1.1 mrg patterns. 2025 1.1 mrg (CXXABI_1.3.13): Restore missing piece. 2026 1.1 mrg 2027 1.1 mrg 2020-10-28 Thomas Rodgers <trodgers (a] redhat.com> 2028 1.1 mrg 2029 1.1 mrg * acinclude.m4 (glibcxx_SUBDIRS): Add src/c++20. 2030 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): New symbols. 2031 1.1 mrg * configure: Regenerate. 2032 1.1 mrg * include/std/sstream: 2033 1.1 mrg (basic_stringbuf::basic_stringbuf(allocator const&)): New constructor. 2034 1.1 mrg (basic_stringbuf::basic_stringbuf(openmode, allocator const&)): Likewise. 2035 1.1 mrg (basic_stringbuf::basic_stringbuf(basic_string&&, openmode)): Likewise. 2036 1.1 mrg (basic_stringbuf::basic_stringbuf(basic_stringbuf&&, allocator const&)): 2037 1.1 mrg Likewise. 2038 1.1 mrg (basic_stringbuf::get_allocator()): New method. 2039 1.1 mrg (basic_stringbuf::view()): Likewise. 2040 1.1 mrg (basic_istringstream::basic_istringstream(basic_string&&, openmode)): 2041 1.1 mrg New constructor. 2042 1.1 mrg (basic_istringstream::basic_istringstream(openmode, allocator const&)): 2043 1.1 mrg Likewise 2044 1.1 mrg (basic_istringstream::view()): New method. 2045 1.1 mrg (basic_ostringstream::basic_ostringstream(basic_string&&, openmode)): 2046 1.1 mrg New constructor. 2047 1.1 mrg (basic_ostringstream::basic_ostringstream(openmode, allocator const&)): 2048 1.1 mrg Likewise 2049 1.1 mrg (basic_ostringstream::view()): New method. 2050 1.1 mrg (basic_stringstream::basic_stringstream(basic_string&&, openmode)): 2051 1.1 mrg New constructor. 2052 1.1 mrg (basic_stringstream::basic_stringstream(openmode, allocator const&)): 2053 1.1 mrg Likewise 2054 1.1 mrg (basic_stringstream::view()): New method. 2055 1.1 mrg * src/Makefile.in: Add c++20 directory. 2056 1.1 mrg * src/Makefile.am: Regenerate. 2057 1.1 mrg * src/c++20/Makefile.am: Add makefile for new sub-directory. 2058 1.1 mrg * src/c++20/Makefile.in: Generate. 2059 1.1 mrg * src/c++20/sstream-inst.cc: New file defining explicit 2060 1.1 mrg instantiations for basic_stringbuf, basic_istringstream, 2061 1.1 mrg basic_ostringstream, and basic_stringstream member functions 2062 1.1 mrg added in C++20. 2063 1.1 mrg * testsuite/27_io/basic_stringbuf/cons/char/2.cc: New test. 2064 1.1 mrg * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise. 2065 1.1 mrg * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise. 2066 1.1 mrg * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise. 2067 1.1 mrg * testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise. 2068 1.1 mrg * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc: Likewise. 2069 1.1 mrg * testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise. 2070 1.1 mrg * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc: Likewise. 2071 1.1 mrg * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise. 2072 1.1 mrg * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc: Likewise. 2073 1.1 mrg * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise. 2074 1.1 mrg * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc: Likewise. 2075 1.1 mrg * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise. 2076 1.1 mrg * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc: Likewise. 2077 1.1 mrg * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise. 2078 1.1 mrg * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc: Likewise. 2079 1.1 mrg 2080 1.1 mrg 2020-10-28 Patrick Palka <ppalka (a] redhat.com> 2081 1.1 mrg 2082 1.1 mrg PR libstdc++/97613 2083 1.1 mrg * include/std/chrono (year_month_weekday::operator sys_days): 2084 1.1 mrg Cast the result of index() to int so that the initializer for 2085 1.1 mrg days{} is sign-extended when it's converted to the underlying 2086 1.1 mrg type. 2087 1.1 mrg * testsuite/std/time/year_month_weekday/3.cc: New test. 2088 1.1 mrg 2089 1.1 mrg 2020-10-28 Jonathan Wakely <jwakely (a] redhat.com> 2090 1.1 mrg 2091 1.1 mrg * libsupc++/new_opnt.cc (new): Add comment about forced unwind 2092 1.1 mrg exceptions. 2093 1.1 mrg 2094 1.1 mrg 2020-10-28 Jonathan Wakely <jwakely (a] redhat.com> 2095 1.1 mrg 2096 1.1 mrg PR libstdc++/94268 2097 1.1 mrg * config/os/mingw32-w64/os_defines.h (_GLIBCXX_BUFSIZ): 2098 1.1 mrg Define. 2099 1.1 mrg * config/os/mingw32/os_defines.h (_GLIBCXX_BUFSIZ): 2100 1.1 mrg Define. 2101 1.1 mrg * include/bits/fstream.tcc: Use _GLIBCXX_BUFSIZ instead 2102 1.1 mrg of BUFSIZ. 2103 1.1 mrg * include/ext/stdio_filebuf.h: Likewise. 2104 1.1 mrg * include/std/fstream (_GLIBCXX_BUFSIZ): Define. 2105 1.1 mrg 2106 1.1 mrg 2020-10-28 Jonathan Wakely <jwakely (a] redhat.com> 2107 1.1 mrg 2108 1.1 mrg PR libstdc++/95592 2109 1.1 mrg * include/bits/valarray_after.h (_DEFINE_EXPR_UNARY_OPERATOR) 2110 1.1 mrg (_DEFINE_EXPR_BINARY_OPERATOR, _DEFINE_EXPR_BINARY_FUNCTION): 2111 1.1 mrg Use elaborated-type-specifier and qualified-id to avoid 2112 1.1 mrg ambiguities with QNX system headers. 2113 1.1 mrg * testsuite/26_numerics/valarray/95592.cc: New test. 2114 1.1 mrg 2115 1.1 mrg 2020-10-28 Jonathan Wakely <jwakely (a] redhat.com> 2116 1.1 mrg 2117 1.1 mrg PR libstdc++/95609 2118 1.1 mrg * include/std/span (span): Reorder data members to match common 2119 1.1 mrg implementations of struct iovec. 2120 1.1 mrg * testsuite/23_containers/span/layout_compat.cc: New test. 2121 1.1 mrg 2122 1.1 mrg 2020-10-27 Jonathan Wakely <jwakely (a] redhat.com> 2123 1.1 mrg 2124 1.1 mrg * include/std/functional (std::_Placeholder): Define for C++98 2125 1.1 mrg as well as later standards. 2126 1.1 mrg * include/tr1/functional (std::placeholders::_1 etc): Declare 2127 1.1 mrg for C++98. 2128 1.1 mrg (tr1::_Placeholder): Replace with using-declaration for 2129 1.1 mrg std::_Placeholder. 2130 1.1 mrg (tr1::placeholders::_1 etc.): Replace with using-directive for 2131 1.1 mrg std::placeholders. 2132 1.1 mrg 2133 1.1 mrg 2020-10-27 Jonathan Wakely <jwakely (a] redhat.com> 2134 1.1 mrg 2135 1.1 mrg * include/tr1/ell_integral.tcc (__ellint_rf, __ellint_rd) 2136 1.1 mrg (__ellint_rc, __ellint_rj): Remove unused variables. 2137 1.1 mrg * include/tr1/modified_bessel_func.tcc (__airy): Likewise. 2138 1.1 mrg 2139 1.1 mrg 2020-10-27 Jonathan Wakely <jwakely (a] redhat.com> 2140 1.1 mrg 2141 1.1 mrg * include/bits/locale_conv.h (__str_codecvt_out_all): 2142 1.1 mrg Add cast to compare operands of the same signedness. 2143 1.1 mrg * include/bits/locale_facets_nonio.tcc 2144 1.1 mrg (time_get::_M_extract_wday_or_month): Likewise. 2145 1.1 mrg * include/bits/sstream.tcc (basic_stringbuf::overflow): 2146 1.1 mrg Likewise. 2147 1.1 mrg * include/tr1/legendre_function.tcc (__sph_legendre): Use 2148 1.1 mrg unsigned for loop variable. 2149 1.1 mrg 2150 1.1 mrg 2020-10-27 Jonathan Wakely <jwakely (a] redhat.com> 2151 1.1 mrg 2152 1.1 mrg * include/std/charconv (from_chars): Add noexcept to match 2153 1.1 mrg definitions in src/c++17/floating_from_chars.cc 2154 1.1 mrg 2155 1.1 mrg 2020-10-27 Jonathan Wakely <jwakely (a] redhat.com> 2156 1.1 mrg 2157 1.1 mrg * src/c++17/fs_dir.cc (fs::directory_iterator::operator*): 2158 1.1 mrg Add noexcept. Do not throw on precondition violation. 2159 1.1 mrg 2160 1.1 mrg 2020-10-27 Jonathan Wakely <jwakely (a] redhat.com> 2161 1.1 mrg 2162 1.1 mrg * include/bits/fs_path.h (path::_List::begin, path::_List::end): 2163 1.1 mrg Add noexcept to match definitions in src/c++17/fs_path.cc. 2164 1.1 mrg 2165 1.1 mrg 2020-10-27 Jonathan Wakely <jwakely (a] redhat.com> 2166 1.1 mrg 2167 1.1 mrg * testsuite/experimental/memory_resource/new_delete_resource.cc: 2168 1.1 mrg Add missing <cstdint> header. 2169 1.1 mrg * testsuite/experimental/memory_resource/resource_adaptor.cc: 2170 1.1 mrg Likewise. 2171 1.1 mrg 2172 1.1 mrg 2020-10-26 Jonathan Wakely <jwakely (a] redhat.com> 2173 1.1 mrg 2174 1.1 mrg * include/experimental/executor (strand::_State): Fix thinko. 2175 1.1 mrg 2176 1.1 mrg 2020-10-26 Ville Voutilainen <ville.voutilainen (a] gmail.com> 2177 1.1 mrg 2178 1.1 mrg * include/std/type_traits (__is_nt_constructible_impl): Remove. 2179 1.1 mrg (__is_nothrow_constructible_impl): Adjust. 2180 1.1 mrg (is_nothrow_default_constructible): Likewise. 2181 1.1 mrg (__is_nt_assignable_impl): Remove. 2182 1.1 mrg (__is_nothrow_assignable_impl): Adjust. 2183 1.1 mrg 2184 1.1 mrg 2020-10-26 Jonathan Wakely <jwakely (a] redhat.com> 2185 1.1 mrg 2186 1.1 mrg PR libstdc++/97570 2187 1.1 mrg * libsupc++/new_opa.cc: Declare size_t in global namespace. 2188 1.1 mrg Remove unused header. 2189 1.1 mrg 2190 1.1 mrg 2020-10-26 Stephan Bergmann <sbergman (a] redhat.com> 2191 1.1 mrg 2192 1.1 mrg * include/bits/shared_ptr_base.h 2193 1.1 mrg (_Sp_counted_base::_M_add_ref_lock_nothrow(): Add noexcept to 2194 1.1 mrg definitions to match declaration. 2195 1.1 mrg (__shared_count(const __weak_count&, nothrow_t)): Add noexcept 2196 1.1 mrg to declaration to match definition. 2197 1.1 mrg 2198 1.1 mrg 2020-10-23 Patrick Palka <ppalka (a] redhat.com> 2199 1.1 mrg 2200 1.1 mrg * include/std/ranges (single_view::single_view): Mark the 2201 1.1 mrg in place constructor explicit as per LWG 3428. 2202 1.1 mrg (take_view): Remove the constraint on the deduction guide's 2203 1.1 mrg template parameter as per LWG 3447. 2204 1.1 mrg 2205 1.1 mrg 2020-10-23 Jonathan Wakely <jwakely (a] redhat.com> 2206 1.1 mrg 2207 1.1 mrg * include/experimental/memory_resource: Include <tuple>. 2208 1.1 mrg (polymorphic_allocator::construct): Qualify forward_as_tuple. 2209 1.1 mrg * include/std/memory_resource: Likewise. 2210 1.1 mrg 2211 1.1 mrg 2020-10-22 Jonathan Wakely <jwakely (a] redhat.com> 2212 1.1 mrg 2213 1.1 mrg * testsuite/30_threads/condition_variable/members/68519.cc: 2214 1.1 mrg Define recent_epoch_float_clock::duration to meet the Cpp17Clock 2215 1.1 mrg requirements. 2216 1.1 mrg 2217 1.1 mrg 2020-10-22 Jonathan Wakely <jwakely (a] redhat.com> 2218 1.1 mrg 2219 1.1 mrg * include/std/shared_mutex: Only include <condition_variable> 2220 1.1 mrg when pthread_rwlock_t and POSIX timers are not available. 2221 1.1 mrg (__cpp_lib_shared_mutex, __cpp_lib_shared_timed_mutex): Change 2222 1.1 mrg value to be type 'long'. 2223 1.1 mrg * include/std/version (__cpp_lib_shared_mutex) 2224 1.1 mrg (__cpp_lib_shared_timed_mutex): Likewise. 2225 1.1 mrg 2226 1.1 mrg 2020-10-22 Jonathan Wakely <jwakely (a] redhat.com> 2227 1.1 mrg 2228 1.1 mrg * include/Makefile.am: Add new header. 2229 1.1 mrg * include/Makefile.in: Regenerate. 2230 1.1 mrg * include/bits/shared_ptr.h: Include <iosfwd>. 2231 1.1 mrg * include/bits/shared_ptr_base.h: Include required headers here 2232 1.1 mrg directly, instead of in <memory>. 2233 1.1 mrg * include/bits/uses_allocator_args.h: New file. Move utility 2234 1.1 mrg functions for uses-allocator construction from <memory> to here. 2235 1.1 mrg Only define the utility functions when concepts are available. 2236 1.1 mrg (__cpp_lib_make_obj_using_allocator): Define non-standard 2237 1.1 mrg feature test macro. 2238 1.1 mrg * include/std/condition_variable: Remove unused headers. 2239 1.1 mrg * include/std/future: Likewise. 2240 1.1 mrg * include/std/memory: Remove headers that are not needed 2241 1.1 mrg directly, and are now inclkuded where they're needed. Include 2242 1.1 mrg new <bits/uses_allocator_args.h> header. 2243 1.1 mrg * include/std/memory_resource: Include only the necessary 2244 1.1 mrg headers. Use new feature test macro to detect support for the 2245 1.1 mrg utility functions. 2246 1.1 mrg * include/std/scoped_allocator: Likewise. 2247 1.1 mrg * include/std/version (__cpp_lib_make_obj_using_allocator): 2248 1.1 mrg Define. 2249 1.1 mrg 2250 1.1 mrg 2020-10-22 Olivier Hainque <hainque (a] adacore.com> 2251 1.1 mrg 2252 1.1 mrg * crossconfig.m4: Turn vxworks matcher into vxworks*. 2253 1.1 mrg * configure.host: Likewise. 2254 1.1 mrg * configure: Regenerate. 2255 1.1 mrg 2256 1.1 mrg 2020-10-21 Jonathan Wakely <jwakely (a] redhat.com> 2257 1.1 mrg 2258 1.1 mrg * include/bits/shared_ptr.h (shared_ptr(const weak_ptr&, nothrow_t)): 2259 1.1 mrg Add noexcept. 2260 1.1 mrg * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_add_ref_lock): 2261 1.1 mrg Remove specializations and just call _M_add_ref_lock_nothrow. 2262 1.1 mrg (__shared_count, __shared_ptr): Use nullptr for null pointer 2263 1.1 mrg constants. 2264 1.1 mrg (__shared_count(const __weak_count&)): Use _M_add_ref_lock_nothrow 2265 1.1 mrg instead of _M_add_ref_lock. 2266 1.1 mrg (__shared_count(const __weak_count&, nothrow_t)): Add noexcept. 2267 1.1 mrg (__shared_ptr::operator bool()): Add noexcept. 2268 1.1 mrg (__shared_ptr(const __weak_ptr&, nothrow_t)): Add noexcept. 2269 1.1 mrg 2270 1.1 mrg 2020-10-21 Jonathan Wakely <jwakely (a] redhat.com> 2271 1.1 mrg 2272 1.1 mrg PR libstdc++/97512 2273 1.1 mrg * include/bits/ranges_util.h (tuple_size<subrange>) 2274 1.1 mrg (tuple_element<I, cv subrange>): Move here from ... 2275 1.1 mrg * include/std/ranges: ... here. 2276 1.1 mrg * testsuite/std/ranges/subrange/97512.cc: New test. 2277 1.1 mrg 2278 1.1 mrg 2020-10-21 Thomas Rodgers <trodgers (a] redhat.com> 2279 1.1 mrg 2280 1.1 mrg * include/pstl/algorithm_impl.h: Update file. 2281 1.1 mrg * include/pstl/execution_impl.h: Likewise. 2282 1.1 mrg * include/pstl/glue_algorithm_impl.h: Likewise. 2283 1.1 mrg * include/pstl/glue_memory_impl.h: Likewise. 2284 1.1 mrg * include/pstl/glue_numeric_impl.h: Likewise. 2285 1.1 mrg * include/pstl/memory_impl.h: Likewise. 2286 1.1 mrg * include/pstl/numeric_impl.h: Likewise. 2287 1.1 mrg * include/pstl/parallel_backend.h: Likewise. 2288 1.1 mrg * include/pstl/parallel_backend_serial.h: Likewise. 2289 1.1 mrg * include/pstl/parallel_backend_tbb.h: Likewise. 2290 1.1 mrg * include/pstl/parallel_backend_utils.h: Likewise. 2291 1.1 mrg * include/pstl/pstl_config.h: Likewise. 2292 1.1 mrg * include/pstl/unseq_backend_simd.h: Likewise. 2293 1.1 mrg 2294 1.1 mrg 2020-10-20 Franois Dumont <fdumont (a] gcc.gnu.org> 2295 1.1 mrg 2296 1.1 mrg * include/bits/hashtable_policy.h 2297 1.1 mrg (_Hash_node_value_base<>): Remove _Hash_node_base inheritance. 2298 1.1 mrg (_Hash_node_code_cache<bool _Cache_hash_code>): New. 2299 1.1 mrg (_Hash_node_value<typename _Value, bool _Cache_hash_code>): New. 2300 1.1 mrg (_Hash_node<>): Inherits _Hash_node_base<> and _Hash_node_value<>. 2301 1.1 mrg (_Map_base<>::__node_type): Remove. 2302 1.1 mrg (_Map_base<>::iterator): Remove. 2303 1.1 mrg (_Insert_base<>::__hash_cached): New. 2304 1.1 mrg (_Insert_base<>::__constant_iterators): New. 2305 1.1 mrg (_Insert_base<>::__hashtable_alloc): New. 2306 1.1 mrg (_Insert_base<>::__node_type): Remove. 2307 1.1 mrg (_Insert_base<>::__node_ptr): New. 2308 1.1 mrg (_Hash_code_base<>): Remove specializations. 2309 1.1 mrg (_Hash_code_base<>::__node_type): Remove. 2310 1.1 mrg (_Hash_code_base<>::_M_bucket_index(const __node_type*, size_t)): 2311 1.1 mrg Replace by... 2312 1.1 mrg (_Hash_code_base<>::_M_bucket_index(const _Hash_node_value<>&, size_t)): 2313 1.1 mrg ...this. 2314 1.1 mrg (_Hash_code_base<>::_M_store_code(__node_type*, __hash_code)): 2315 1.1 mrg Replace by... 2316 1.1 mrg (_Hash_code_base<>::_M_store_code(_Hash_node_code_cache<>&, __hash_code)): 2317 1.1 mrg ...this. 2318 1.1 mrg (_Hash_code_base<>::_M_copy_code(__node_type*, const __node_type*)): 2319 1.1 mrg Replace by... 2320 1.1 mrg (_Hash_code_base<>::_M_copy_code(_Hash_node_code_cache<>&, 2321 1.1 mrg const _Hash_node_code_base<>&)): ...this. 2322 1.1 mrg (_Hashtable_base<>::__constant_iterators): Remove. 2323 1.1 mrg (_Hashtable_base<>::__unique_keys): Remove. 2324 1.1 mrg (_Hashtable_base<>::__node_type): Remove. 2325 1.1 mrg (_Hashtable_base<>::iterator): Remove. 2326 1.1 mrg (_Hashtable_base<>::const_iterator): Remove. 2327 1.1 mrg (_Hashtable_base<>::local_iterator): Remove. 2328 1.1 mrg (_Hashtable_base<>::const_local_iterator): Remove. 2329 1.1 mrg (_Hashtable_base<>::__ireturn_type): Remove. 2330 1.1 mrg (_Hashtable_base<>::_Equal_hash_code<>::_S_equals): Replace by... 2331 1.1 mrg (_Hashtable_base<>::_S_equals(__hash_code, const _Hash_node_code_hash<>&)): 2332 1.1 mrg ...this. 2333 1.1 mrg (_Hashtable_base<>::_Equal_hash_code<>::_S_node_equals): Replace by... 2334 1.1 mrg (_Hashtable_base<>::_S_node_equals(__hash_code, 2335 1.1 mrg const _Hash_node_code_hash<>&)): ...this. 2336 1.1 mrg (_Hashtable_base<>::_Equal_hash_code<>): Remove. 2337 1.1 mrg (_Hashtable_base<>::_M_equals): Adapt. 2338 1.1 mrg (_Hashtable_baxe<>::_M_node_equals): Adapt. 2339 1.1 mrg (_Equality<>::_M_equal): Adapt. 2340 1.1 mrg (_Hashtable_alloc<>::__node_ptr): New. 2341 1.1 mrg (_Hashtable_alloc<>::__bucket_type): Rename into... 2342 1.1 mrg (_Hashtable_alloc<>::__node_base_ptr): ...this. 2343 1.1 mrg (_Hashtable_alloc<>::__bucket_alloc_type): Rename into... 2344 1.1 mrg (_Hashtable_alloc<>::__buckets_alloc_type): ...this. 2345 1.1 mrg (_Hashtable_alloc<>::__bucket_alloc_traits): Rename into... 2346 1.1 mrg (_Hashtable_alloc<>::__buckets_alloc_traits): ...this. 2347 1.1 mrg (_Hashtable_alloc<>::__buckets_ptr): New. 2348 1.1 mrg (_Hashtable_alloc<>::_M_allocate_node): Adapt. 2349 1.1 mrg (_Hashtable_alloc<>::_M_deallocate_node): Adapt. 2350 1.1 mrg (_Hashtable_alloc<>::_M_deallocate_node_ptr): Adapt. 2351 1.1 mrg (_Hashtable_alloc<>::_M_deallocate_nodes): Adapt. 2352 1.1 mrg (_Hashtable_alloc<>::_M_allocate_buckets): Adapt. 2353 1.1 mrg (_Hashtable_alloc<>::_M_deallocate_buckets): Adapt. 2354 1.1 mrg * include/bits/hashtable.h (_Hashtable<>): Adapt. 2355 1.1 mrg 2356 1.1 mrg 2020-10-20 Aldy Hernandez <aldyh (a] redhat.com> 2357 1.1 mrg 2358 1.1 mrg * testsuite/21_strings/basic_string/capacity/1.cc: Pass 2359 1.1 mrg -Wno-stringop-overflow to test. 2360 1.1 mrg 2361 1.1 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com> 2362 1.1 mrg 2363 1.1 mrg PR libstdc++/95917 2364 1.1 mrg * include/std/coroutine (__noop_coro_frame): Replace with 2365 1.1 mrg noop_coroutine_handle::__frame. 2366 1.1 mrg (__dummy_resume_destroy): Define inline in __frame. 2367 1.1 mrg (__noop_coro_fr): Replace with noop_coroutine_handle::_S_fr 2368 1.1 mrg and define as inline. 2369 1.1 mrg * testsuite/18_support/coroutines/95917.cc: New test. 2370 1.1 mrg 2371 1.1 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com> 2372 1.1 mrg 2373 1.1 mrg * include/std/coroutine (coroutine_handle<_Promise>): Remove 2374 1.1 mrg base class. Add constructors, conversions, accessors etc. as 2375 1.1 mrg proposed for LWG 3460. 2376 1.1 mrg (coroutine_handle<noop_coroutine_promise>): Likewise. 2377 1.1 mrg * testsuite/18_support/coroutines/lwg3460.cc: New test. 2378 1.1 mrg 2379 1.1 mrg 2020-10-19 Jonathan Wakely <jwakely (a] redhat.com> 2380 1.1 mrg 2381 1.1 mrg * include/bits/unique_ptr.h (make_unique_for_overwrite): Define 2382 1.1 mrg for C++20. 2383 1.1 mrg * testsuite/20_util/unique_ptr/creation/array_neg.cc: Remove 2384 1.1 mrg unused header. Adjust standard reference. 2385 1.1 mrg * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: New test. 2386 1.1 mrg * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc: New test. 2387 1.1 mrg 2388 1.1 mrg 2020-10-19 Jonathan Wakely <jwakely (a] redhat.com> 2389 1.1 mrg 2390 1.1 mrg * include/std/tuple (_Head_base<Idx, Head, true>): Use reserved 2391 1.1 mrg form of __no_unique_address__ attribute because 2392 1.1 mrg no_unique_address is not reserved prior to C++20. 2393 1.1 mrg 2394 1.1 mrg 2020-10-19 Jonathan Wakely <jwakely (a] redhat.com> 2395 1.1 mrg 2396 1.1 mrg * include/bits/node_handle.h (_Node_handle_common): Replace 2397 1.1 mrg std::optional with custom type. 2398 1.1 mrg * testsuite/20_util/variant/exception_safety.cc: Add missing 2399 1.1 mrg header include. 2400 1.1 mrg 2401 1.1 mrg 2020-10-19 Jonathan Wakely <jwakely (a] redhat.com> 2402 1.1 mrg 2403 1.1 mrg * include/precompiled/expc++.h: Removed. 2404 1.1 mrg 2405 1.1 mrg 2020-10-17 Ville Voutilainen <ville.voutilainen (a] gmail.com> 2406 1.1 mrg 2407 1.1 mrg PR libstdc++/97449 2408 1.1 mrg * include/std/variant 2409 1.1 mrg (__gen_vtable_impl<>::_S_apply_single_alt): 2410 1.1 mrg Diagnose visitor return type mismatches here.. 2411 1.1 mrg (__gen_vtable_impl</*base case*/>::_S_apply): 2412 1.1 mrg ..not here. 2413 1.1 mrg 2414 1.1 mrg 2020-10-15 Jonathan Wakely <jwakely (a] redhat.com> 2415 1.1 mrg 2416 1.1 mrg * include/std/concepts: Fix typos in copyright notice. 2417 1.1 mrg * include/std/ranges: Likewise. 2418 1.1 mrg 2419 1.1 mrg 2020-10-14 Jonathan Wakely <jwakely (a] redhat.com> 2420 1.1 mrg 2421 1.1 mrg PR libstdc++/97415 2422 1.1 mrg * include/std/sstream (basic_stringbuf::str()): Check for 2423 1.1 mrg null egptr() before comparing to non-null pptr(). 2424 1.1 mrg 2425 1.1 mrg 2020-10-14 Jonathan Wakely <jwakely (a] redhat.com> 2426 1.1 mrg 2427 1.1 mrg * testsuite/21_strings/basic_string/modifiers/assign/char/move_assign_optim.cc: 2428 1.1 mrg Do not generate debug info. 2429 1.1 mrg * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign_optim.cc: 2430 1.1 mrg Likewise. 2431 1.1 mrg 2432 1.1 mrg 2020-10-14 Jonathan Wakely <jwakely (a] redhat.com> 2433 1.1 mrg 2434 1.1 mrg * include/bits/basic_string.h (basic_string(const Alloc&)) 2435 1.1 mrg (basic_string(const basic_string&) 2436 1.1 mrg (basic_string(const CharT*, size_type, const Alloc&)) 2437 1.1 mrg (basic_string(const CharT*, const Alloc&)) 2438 1.1 mrg (basic_string(size_type, CharT, const Alloc&)) 2439 1.1 mrg (basic_string(initializer_list<CharT>, const Alloc&)) 2440 1.1 mrg (basic_string(InputIterator, InputIterator, const Alloc&)): 2441 1.1 mrg Define inline in class body. 2442 1.1 mrg * include/bits/basic_string.tcc (basic_string(const Alloc&)) 2443 1.1 mrg (basic_string(const basic_string&) 2444 1.1 mrg (basic_string(const CharT*, size_type, const Alloc&)) 2445 1.1 mrg (basic_string(const CharT*, const Alloc&)) 2446 1.1 mrg (basic_string(size_type, CharT, const Alloc&)) 2447 1.1 mrg (basic_string(initializer_list<CharT>, const Alloc&)) 2448 1.1 mrg (basic_string(InputIterator, InputIterator, const Alloc&)): 2449 1.1 mrg Move definitions into class body. 2450 1.1 mrg 2451 1.1 mrg 2020-10-14 Jonathan Wakely <jwakely (a] redhat.com> 2452 1.1 mrg 2453 1.1 mrg * testsuite/lib/libstdc++.exp (check_effective_target_cxx11-abi): 2454 1.1 mrg Add comments about which test flags get used by the check. 2455 1.1 mrg 2456 1.1 mrg 2020-10-14 Jonathan Wakely <jwakely (a] redhat.com> 2457 1.1 mrg 2458 1.1 mrg * testsuite/21_strings/basic_string/allocator/char/copy.cc: Make 2459 1.1 mrg comment more precise about what isn't supported by COW strings. 2460 1.1 mrg * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: 2461 1.1 mrg Likewise. 2462 1.1 mrg * testsuite/21_strings/basic_string/allocator/char/move.cc: 2463 1.1 mrg Likewise. 2464 1.1 mrg * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: 2465 1.1 mrg Likewise. 2466 1.1 mrg * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: 2467 1.1 mrg Likewise. 2468 1.1 mrg * testsuite/21_strings/basic_string/allocator/char/operator_plus.cc: 2469 1.1 mrg Likewise. 2470 1.1 mrg * testsuite/21_strings/basic_string/allocator/char/swap.cc: 2471 1.1 mrg Likewise. 2472 1.1 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: 2473 1.1 mrg Likewise. 2474 1.1 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 2475 1.1 mrg Likewise. 2476 1.1 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: 2477 1.1 mrg Likewise. 2478 1.1 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: 2479 1.1 mrg Likewise. 2480 1.1 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: 2481 1.1 mrg Likewise. 2482 1.1 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/operator_plus.cc: 2483 1.1 mrg Likewise. 2484 1.1 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: 2485 1.1 mrg Likewise. 2486 1.1 mrg 2487 1.1 mrg 2020-10-14 Jonathan Wakely <jwakely (a] redhat.com> 2488 1.1 mrg 2489 1.1 mrg * testsuite/21_strings/basic_string/allocator/char/minimal.cc: 2490 1.1 mrg Do not require cxx11-abi effective target. 2491 1.1 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: 2492 1.1 mrg Likewise. 2493 1.1 mrg * testsuite/27_io/basic_fstream/cons/base.cc: Likewise. 2494 1.1 mrg 2495 1.1 mrg 2020-10-14 Jonathan Wakely <jwakely (a] redhat.com> 2496 1.1 mrg 2497 1.1 mrg * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] 2498 1.1 mrg (basic_string(const _CharT*, const _Alloc&)): Constrain to 2499 1.1 mrg require an allocator-like type to fix CTAD ambiguity (LWG 3706). 2500 1.1 mrg * testsuite/21_strings/basic_string/cons/char/deduction.cc: 2501 1.1 mrg Remove dg-skip-if. 2502 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: 2503 1.1 mrg Likewise. 2504 1.1 mrg 2505 1.1 mrg 2020-10-13 Nuno Lopes <nuno.lopes (a] ist.utl.pt> 2506 1.1 mrg 2507 1.1 mrg * include/bits/stl_algo.h (any_of): Fix incorrect description 2508 1.1 mrg in comment. 2509 1.1 mrg 2510 1.1 mrg 2020-10-13 Jonathan Wakely <jwakely (a] redhat.com> 2511 1.1 mrg 2512 1.1 mrg * doc/xml/manual/evolution.xml: Document some API changes 2513 1.1 mrg and deprecations. 2514 1.1 mrg * doc/xml/manual/intro.xml: Document LWG 2499. 2515 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update status. 2516 1.1 mrg * doc/html/*: Regenerate. 2517 1.1 mrg 2518 1.1 mrg 2020-10-13 Jonathan Wakely <jwakely (a] redhat.com> 2519 1.1 mrg 2520 1.1 mrg * doc/xml/book.txml: Remove trailing whitespace. 2521 1.1 mrg * doc/xml/chapter.txml: Likewise. 2522 1.1 mrg * doc/xml/class.txml: Likewise. 2523 1.1 mrg * doc/xml/gnu/fdl-1.3.xml: Likewise. 2524 1.1 mrg * doc/xml/gnu/gpl-3.0.xml: Likewise. 2525 1.1 mrg * doc/xml/manual/abi.xml: Likewise. 2526 1.1 mrg * doc/xml/manual/algorithms.xml: Likewise. 2527 1.1 mrg * doc/xml/manual/allocator.xml: Likewise. 2528 1.1 mrg * doc/xml/manual/appendix_contributing.xml: Likewise. 2529 1.1 mrg * doc/xml/manual/appendix_free.xml: Likewise. 2530 1.1 mrg * doc/xml/manual/appendix_porting.xml: Likewise. 2531 1.1 mrg * doc/xml/manual/atomics.xml: Likewise. 2532 1.1 mrg * doc/xml/manual/auto_ptr.xml: Likewise. 2533 1.1 mrg * doc/xml/manual/backwards_compatibility.xml: Likewise. 2534 1.1 mrg * doc/xml/manual/bitmap_allocator.xml: Likewise. 2535 1.1 mrg * doc/xml/manual/build_hacking.xml: Likewise. 2536 1.1 mrg * doc/xml/manual/codecvt.xml: Likewise. 2537 1.1 mrg * doc/xml/manual/concurrency.xml: Likewise. 2538 1.1 mrg * doc/xml/manual/concurrency_extensions.xml: Likewise. 2539 1.1 mrg * doc/xml/manual/configure.xml: Likewise. 2540 1.1 mrg * doc/xml/manual/containers.xml: Likewise. 2541 1.1 mrg * doc/xml/manual/ctype.xml: Likewise. 2542 1.1 mrg * doc/xml/manual/debug.xml: Likewise. 2543 1.1 mrg * doc/xml/manual/debug_mode.xml: Likewise. 2544 1.1 mrg * doc/xml/manual/diagnostics.xml: Likewise. 2545 1.1 mrg * doc/xml/manual/documentation_hacking.xml: Likewise. 2546 1.1 mrg * doc/xml/manual/evolution.xml: Likewise. 2547 1.1 mrg * doc/xml/manual/internals.xml: Likewise. 2548 1.1 mrg * doc/xml/manual/intro.xml: Likewise. 2549 1.1 mrg * doc/xml/manual/io.xml: Likewise. 2550 1.1 mrg * doc/xml/manual/iterators.xml: Likewise. 2551 1.1 mrg * doc/xml/manual/locale.xml: Likewise. 2552 1.1 mrg * doc/xml/manual/localization.xml: Likewise. 2553 1.1 mrg * doc/xml/manual/messages.xml: Likewise. 2554 1.1 mrg * doc/xml/manual/mt_allocator.xml: Likewise. 2555 1.1 mrg * doc/xml/manual/numerics.xml: Likewise. 2556 1.1 mrg * doc/xml/manual/parallel_mode.xml: Likewise. 2557 1.1 mrg * doc/xml/manual/policy_data_structures.xml: Likewise. 2558 1.1 mrg * doc/xml/manual/prerequisites.xml: Likewise. 2559 1.1 mrg * doc/xml/manual/shared_ptr.xml: Likewise. 2560 1.1 mrg * doc/xml/manual/spine.xml: Likewise. 2561 1.1 mrg * doc/xml/manual/status_cxxtr1.xml: Likewise. 2562 1.1 mrg * doc/xml/manual/status_cxxtr24733.xml: Likewise. 2563 1.1 mrg * doc/xml/manual/strings.xml: Likewise. 2564 1.1 mrg * doc/xml/manual/support.xml: Likewise. 2565 1.1 mrg * doc/xml/manual/test.xml: Likewise. 2566 1.1 mrg * doc/xml/manual/test_policy_data_structures.xml: Likewise. 2567 1.1 mrg * doc/xml/manual/using.xml: Likewise. 2568 1.1 mrg * doc/xml/manual/using_exceptions.xml: Likewise. 2569 1.1 mrg * doc/xml/manual/utilities.xml: Likewise. 2570 1.1 mrg * doc/html/*: Regenerate. 2571 1.1 mrg 2572 1.1 mrg 2020-10-12 Patrick Palka <ppalka (a] redhat.com> 2573 1.1 mrg 2574 1.1 mrg * include/std/ranges (take_while_view::begin): Constrain the 2575 1.1 mrg const overload further as per LWG 3450. 2576 1.1 mrg (take_while_view::end): Likewise. 2577 1.1 mrg * testsuite/std/ranges/adaptors/take_while.cc: Add test for LWG 2578 1.1 mrg 3450. 2579 1.1 mrg 2580 1.1 mrg 2020-10-12 Patrick Palka <ppalka (a] redhat.com> 2581 1.1 mrg 2582 1.1 mrg PR libstdc++/95322 2583 1.1 mrg * include/std/ranges (take_view::_CI): Define this alias 2584 1.1 mrg template as per LWG 3449 and remove ... 2585 1.1 mrg (take_view::_Sentinel::_CI): ... this type alias. 2586 1.1 mrg (take_view::_Sentinel::operator==): Adjust use of _CI 2587 1.1 mrg accordingly. Define a second overload that accepts an iterator 2588 1.1 mrg of the opposite constness as per LWG 3449. 2589 1.1 mrg (take_while_view::_Sentinel::operator==): Likewise. 2590 1.1 mrg * testsuite/std/ranges/adaptors/95322.cc: Add tests for LWG 3449. 2591 1.1 mrg 2592 1.1 mrg 2020-10-12 Jonathan Wakely <jwakely (a] redhat.com> 2593 1.1 mrg 2594 1.1 mrg * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.20 format. 2595 1.1 mrg 2596 1.1 mrg 2020-10-12 Jonathan Wakely <jwakely (a] redhat.com> 2597 1.1 mrg 2598 1.1 mrg * doc/doxygen/user.cfg.in (PREDEFINED): Use __cplusplus=201703L 2599 1.1 mrg so that C++17 features are documented. 2600 1.1 mrg 2601 1.1 mrg 2020-10-12 Jonathan Wakely <jwakely (a] redhat.com> 2602 1.1 mrg 2603 1.1 mrg * include/bits/stl_algobase.h (copy, move, copy_backward) 2604 1.1 mrg (move_backward): Fix documentation for returned iterator. 2605 1.1 mrg 2606 1.1 mrg 2020-10-12 Martin Sebor <msebor (a] redhat.com> 2607 1.1 mrg 2608 1.1 mrg PR c++/97201 2609 1.1 mrg * libsupc++/new (operator new): Add attribute alloc_size and malloc. 2610 1.1 mrg 2611 1.1 mrg 2020-10-11 Clement Chigot <clement.chigot (a] atos.net> 2612 1.1 mrg 2613 1.1 mrg * config/os/aix/t-aix: Add complementary mode object file to 2614 1.1 mrg libstdc++fs.a 2615 1.1 mrg 2616 1.1 mrg 2020-10-10 Jonathan Wakely <jwakely (a] redhat.com> 2617 1.1 mrg 2618 1.1 mrg PR libstdc++/97362 2619 1.1 mrg * doc/html/manual/source_code_style.html: Regenerate. 2620 1.1 mrg * doc/xml/manual/appendix_contributing.xml: Add __deref to 2621 1.1 mrg BADNAMES. 2622 1.1 mrg * include/debug/functions.h (_Irreflexive_checker::__deref): 2623 1.1 mrg Rename to __ref. 2624 1.1 mrg * testsuite/17_intro/badnames.cc: Check __deref. 2625 1.1 mrg 2626 1.1 mrg 2020-10-10 Ville Voutilainen <ville.voutilainen (a] gmail.com> 2627 1.1 mrg 2628 1.1 mrg * include/std/variant (__check_visitor_result): 2629 1.1 mrg Use size_t for indexes. 2630 1.1 mrg (__check_visitor_results): Likewise. 2631 1.1 mrg 2632 1.1 mrg 2020-10-09 Ville Voutilainen <ville.voutilainen (a] gmail.com> 2633 1.1 mrg 2634 1.1 mrg PR libstdc++/95904 2635 1.1 mrg * include/std/variant (__deduce_visit_result): Add a nested ::type. 2636 1.1 mrg (__gen_vtable_impl</*base case*/>::_S_apply): 2637 1.1 mrg Check the visitor return type. 2638 1.1 mrg (__same_types): New. 2639 1.1 mrg (__check_visitor_result): Likewise. 2640 1.1 mrg (__check_visitor_results): Likewise. 2641 1.1 mrg (visit(_Visitor&&, _Variants&&...)): Use __check_visitor_results 2642 1.1 mrg in case we're visiting just one variant. 2643 1.1 mrg * testsuite/20_util/variant/visit_neg.cc: Adjust. 2644 1.1 mrg 2645 1.1 mrg 2020-10-09 Jonathan Wakely <jwakely (a] redhat.com> 2646 1.1 mrg 2647 1.1 mrg PR libstdc++/97311 2648 1.1 mrg * include/bits/random.tcc (seed_seq::generate): Use uint32_t for 2649 1.1 mrg calculations. Also split the first loop into three loops to 2650 1.1 mrg avoid branching on k on every iteration, resolving PR 94823. 2651 1.1 mrg * testsuite/26_numerics/random/seed_seq/97311.cc: New test. 2652 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-erro 2653 1.1 mrg line number. 2654 1.1 mrg 2655 1.1 mrg 2020-10-09 Daniel Lemire <lemire (a] gmail.com> 2656 1.1 mrg 2657 1.1 mrg * include/bits/uniform_int_dist.h (uniform_int_distribution::_S_nd): 2658 1.1 mrg New member function implementing Lemire's "nearly divisionless" 2659 1.1 mrg algorithm. 2660 1.1 mrg (uniform_int_distribution::operator()): Use _S_nd when the range 2661 1.1 mrg of the URBG is the full width of the result type. 2662 1.1 mrg 2663 1.1 mrg 2020-10-09 Jonathan Wakely <jwakely (a] redhat.com> 2664 1.1 mrg 2665 1.1 mrg * testsuite/Makefile.am: Set and export variable separately. 2666 1.1 mrg * testsuite/Makefile.in: Regenerate. 2667 1.1 mrg 2668 1.1 mrg 2020-10-09 Jonathan Wakely <jwakely (a] redhat.com> 2669 1.1 mrg 2670 1.1 mrg * scripts/check_performance: Use gnu++11 instead of gnu++0x. 2671 1.1 mrg * testsuite/Makefile.am (check-performance): Export CXXFLAGS to 2672 1.1 mrg child process. 2673 1.1 mrg * testsuite/Makefile.in: Regenerate. 2674 1.1 mrg 2675 1.1 mrg 2020-10-09 Jonathan Wakely <jwakely (a] redhat.com> 2676 1.1 mrg 2677 1.1 mrg * testsuite/performance/26_numerics/random_dist.cc: New test. 2678 1.1 mrg 2679 1.1 mrg 2020-10-09 Jonathan Wakely <jwakely (a] redhat.com> 2680 1.1 mrg 2681 1.1 mrg * testsuite/util/testsuite_performance.h (report_header): Remove 2682 1.1 mrg unused variable. 2683 1.1 mrg 2684 1.1 mrg 2020-10-08 Patrick Palka <ppalka (a] redhat.com> 2685 1.1 mrg 2686 1.1 mrg PR libstdc++/95788 2687 1.1 mrg * include/bits/ranges_uninitialized.h: 2688 1.1 mrg (__construct_at_fn::operator()): Rewrite in terms of 2689 1.1 mrg std::construct_at. Declare it conditionally noexcept. Qualify 2690 1.1 mrg calls to declval in its requires-clause. 2691 1.1 mrg * testsuite/20_util/specialized_algorithms/construct_at/95788.cc: 2692 1.1 mrg New test. 2693 1.1 mrg 2694 1.1 mrg 2020-10-08 Jonathan Wakely <jwakely (a] redhat.com> 2695 1.1 mrg 2696 1.1 mrg PR libstdc++/82584 2697 1.1 mrg * include/bits/random.tcc 2698 1.1 mrg (discrete_distribution::param_type::_M_initialize) 2699 1.1 mrg (piecewise_constant_distribution::param_type::_M_initialize) 2700 1.1 mrg (piecewise_linear_distribution::param_type::_M_initialize): 2701 1.1 mrg Add assertions for positive sums.. 2702 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error 2703 1.1 mrg line. 2704 1.1 mrg 2705 1.1 mrg 2020-10-08 Jonathan Wakely <jwakely (a] redhat.com> 2706 1.1 mrg 2707 1.1 mrg * include/bits/ios_base.h (ios_base::failure): Add constructors 2708 1.1 mrg takeing error_code argument. Add code() member function. 2709 1.1 mrg * testsuite/27_io/ios_base/failure/cxx11.cc: Allow test to 2710 1.1 mrg run for the old ABI but do not check for derivation from 2711 1.1 mrg std::system_error. 2712 1.1 mrg * testsuite/27_io/ios_base/failure/error_code.cc: New test. 2713 1.1 mrg 2714 1.1 mrg 2020-10-08 Jonathan Wakely <jwakely (a] redhat.com> 2715 1.1 mrg 2716 1.1 mrg * include/bits/random.h (__detail::_Mod): Revert last change. 2717 1.1 mrg (__detail::__mod): Do not use _Mod for a==0 case. 2718 1.1 mrg * testsuite/26_numerics/random/linear_congruential_engine/operators/call.cc: 2719 1.1 mrg Check other cases with a==0. Also check runtime results. 2720 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error 2721 1.1 mrg line. 2722 1.1 mrg 2723 1.1 mrg 2020-10-07 Jonathan Wakely <jwakely (a] redhat.com> 2724 1.1 mrg 2725 1.1 mrg * include/bits/random.h (__detail::_Mod): Avoid divide by zero. 2726 1.1 mrg * testsuite/26_numerics/random/linear_congruential_engine/operators/call.cc: 2727 1.1 mrg New test. 2728 1.1 mrg 2729 1.1 mrg 2020-10-07 Jonathan Wakely <jwakely (a] redhat.com> 2730 1.1 mrg 2731 1.1 mrg * include/bits/random.h (seed_seq(initializer_list<T>)): Rename 2732 1.1 mrg parameter to use reserved name. 2733 1.1 mrg * include/bits/ranges_algo.h (shift_left, shift_right): Rename 2734 1.1 mrg template parameters to use reserved name. 2735 1.1 mrg * libsupc++/exception_ptr.h (exception_ptr): Likewise for 2736 1.1 mrg parameters and local variables. 2737 1.1 mrg * testsuite/17_intro/names.cc: Check "il". Do not check "d" and 2738 1.1 mrg "y" in C++20 mode. 2739 1.1 mrg 2740 1.1 mrg 2020-10-06 Jonathan Wakely <jwakely (a] redhat.com> 2741 1.1 mrg 2742 1.1 mrg PR libstdc++/90295 2743 1.1 mrg * config/abi/pre/gnu.ver (CXXABI_1.3.13): New symbol version. 2744 1.1 mrg (exception_ptr::_M_addref(), exception_ptr::_M_release()): 2745 1.1 mrg Export symbols. 2746 1.1 mrg * libsupc++/eh_ptr.cc (exception_ptr::exception_ptr()): 2747 1.1 mrg Remove out-of-line definition. 2748 1.1 mrg (exception_ptr::exception_ptr(const exception_ptr&)): 2749 1.1 mrg Likewise. 2750 1.1 mrg (exception_ptr::~exception_ptr()): Likewise. 2751 1.1 mrg (exception_ptr::operator=(const exception_ptr&)): 2752 1.1 mrg Likewise. 2753 1.1 mrg (exception_ptr::swap(exception_ptr&)): Likewise. 2754 1.1 mrg (exception_ptr::_M_addref()): Add branch prediction. 2755 1.1 mrg * libsupc++/exception_ptr.h (exception_ptr::operator bool): 2756 1.1 mrg Add noexcept. 2757 1.1 mrg [!_GLIBCXX_EH_PTR_COMPAT] (operator==, operator!=): Define 2758 1.1 mrg inline as hidden friends. Remove declarations at namespace 2759 1.1 mrg scope. 2760 1.1 mrg (exception_ptr::exception_ptr()): Define inline. 2761 1.1 mrg (exception_ptr::exception_ptr(const exception_ptr&)): 2762 1.1 mrg Likewise. 2763 1.1 mrg (exception_ptr::~exception_ptr()): Likewise. 2764 1.1 mrg (exception_ptr::operator=(const exception_ptr&)): 2765 1.1 mrg Likewise. 2766 1.1 mrg (exception_ptr::swap(exception_ptr&)): Likewise. 2767 1.1 mrg * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.13. 2768 1.1 mrg * testsuite/18_support/exception_ptr/90295.cc: New test. 2769 1.1 mrg 2770 1.1 mrg 2020-10-06 Jonathan Wakely <jwakely (a] redhat.com> 2771 1.1 mrg 2772 1.1 mrg * include/std/ranges (join_view): Remove deduction guide. 2773 1.1 mrg (views::join): Add explicit template argument list to prevent 2774 1.1 mrg deducing the wrong type. 2775 1.1 mrg * testsuite/std/ranges/adaptors/join.cc: Move test for LWG 3474 2776 1.1 mrg here, from ... 2777 1.1 mrg * testsuite/std/ranges/adaptors/join_lwg3474.cc: Removed. 2778 1.1 mrg 2779 1.1 mrg 2020-10-05 Jonathan Wakely <jwakely (a] redhat.com> 2780 1.1 mrg 2781 1.1 mrg * include/bits/regex.h: Use __int_traits<int> instead of 2782 1.1 mrg std::numeric_limits<int>. 2783 1.1 mrg * include/bits/uniform_int_dist.h: Use __int_traits<T>::__max 2784 1.1 mrg instead of std::numeric_limits<T>::max(). 2785 1.1 mrg * include/bits/hashtable_policy.h: Use size_t(-1) instead of 2786 1.1 mrg std::numeric_limits<size_t>::max(). 2787 1.1 mrg * include/std/regex: Include <ext/numeric_traits.h>. 2788 1.1 mrg * include/std/string_view: Use typedef for __int_traits<int>. 2789 1.1 mrg * src/c++11/hashtable_c++0x.cc: Use size_t(-1) instead of 2790 1.1 mrg std::numeric_limits<size_t>::max(). 2791 1.1 mrg * testsuite/std/ranges/iota/96042.cc: Include <limits>. 2792 1.1 mrg * testsuite/std/ranges/iota/difference_type.cc: Likewise. 2793 1.1 mrg * testsuite/std/ranges/subrange/96042.cc: Likewise. 2794 1.1 mrg 2795 1.1 mrg 2020-10-05 Jonathan Wakely <jwakely (a] redhat.com> 2796 1.1 mrg 2797 1.1 mrg * include/std/numeric: Move all #include directives to the top 2798 1.1 mrg of the header. 2799 1.1 mrg * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line 2800 1.1 mrg numbers. 2801 1.1 mrg * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. 2802 1.1 mrg 2803 1.1 mrg 2020-10-05 Jonathan Wakely <jwakely (a] redhat.com> 2804 1.1 mrg 2805 1.1 mrg * config/abi/pre/gnu.ver: Add new symbol. 2806 1.1 mrg * include/bits/functexcept.h (__throw_bad_array_new_length): 2807 1.1 mrg Declare new function. 2808 1.1 mrg * include/ext/malloc_allocator.h (malloc_allocator::allocate): 2809 1.1 mrg Throw bad_array_new_length for impossible sizes (LWG 3190). 2810 1.1 mrg * include/ext/new_allocator.h (new_allocator::allocate): 2811 1.1 mrg Likewise. 2812 1.1 mrg * include/std/memory_resource (polymorphic_allocator::allocate) 2813 1.1 mrg (polymorphic_allocator::allocate_object): Use new function, 2814 1.1 mrg __throw_bad_array_new_length. 2815 1.1 mrg * src/c++11/functexcept.cc (__throw_bad_array_new_length): 2816 1.1 mrg Define. 2817 1.1 mrg * testsuite/20_util/allocator/lwg3190.cc: New test. 2818 1.1 mrg 2819 1.1 mrg 2020-10-05 Mike Crowe <mac (a] mcrowe.com> 2820 1.1 mrg 2821 1.1 mrg PR libstdc++/91486 2822 1.1 mrg * include/bits/atomic_futex.h: 2823 1.1 mrg (__atomic_futex_unsigned::_M_load_when_equal_until): Use target 2824 1.1 mrg clock duration type when rounding. 2825 1.1 mrg * testsuite/30_threads/async/async.cc (test_pr91486_wait_for): 2826 1.1 mrg Rename from test_pr91486. 2827 1.1 mrg (float_steady_clock): New class for test. 2828 1.1 mrg (test_pr91486_wait_until): New test. 2829 1.1 mrg 2830 1.1 mrg 2020-10-05 Mike Crowe <mac (a] mcrowe.com> 2831 1.1 mrg 2832 1.1 mrg * testsuite/20_util/duration_cast/rounding_c++11.cc: Copy 2833 1.1 mrg rounding.cc and alter to support compilation for C++11 and to 2834 1.1 mrg test std::chrono::__detail::ceil. 2835 1.1 mrg 2836 1.1 mrg 2020-10-02 Jonathan Wakely <jwakely (a] redhat.com> 2837 1.1 mrg 2838 1.1 mrg * testsuite/29_atomics/atomic_float/value_init.cc: Use float 2839 1.1 mrg instead of double so that __atomic_load_8 isn't needed. 2840 1.1 mrg 2841 1.1 mrg 2020-10-02 Jonathan Wakely <jwakely (a] redhat.com> 2842 1.1 mrg 2843 1.1 mrg * testsuite/18_support/96817.cc: Use terminate handler that 2844 1.1 mrg calls _Exit(0). 2845 1.1 mrg 2846 1.1 mrg 2020-10-02 Patrick Palka <ppalka (a] redhat.com> 2847 1.1 mrg 2848 1.1 mrg * include/bits/stl_iterator.h (reverse_iterator::iter_move): 2849 1.1 mrg Define for C++20 as per P0896. 2850 1.1 mrg (reverse_iterator::iter_swap): Likewise. 2851 1.1 mrg (move_iterator::operator*): Apply P0896 changes for C++20. 2852 1.1 mrg (move_iterator::operator[]): Likewise. 2853 1.1 mrg * testsuite/24_iterators/reverse_iterator/cust.cc: New test. 2854 1.1 mrg 2855 1.1 mrg 2020-10-01 Jonathan Wakely <jwakely (a] redhat.com> 2856 1.1 mrg 2857 1.1 mrg * config/cpu/arm/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): 2858 1.1 mrg Do not try to dereference return value of __atomic_load_n. 2859 1.1 mrg 2860 1.1 mrg 2020-09-30 Jonathan Wakely <jwakely (a] redhat.com> 2861 1.1 mrg 2862 1.1 mrg * config/cpu/arm/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): 2863 1.1 mrg (_GLIBCXX_GUARD_SET_AND_RELEASE): Define for EABI. 2864 1.1 mrg 2865 1.1 mrg 2020-09-30 Jonathan Wakely <jwakely (a] redhat.com> 2866 1.1 mrg 2867 1.1 mrg * include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_IS_SAME): 2868 1.1 mrg Define for GCC 11 or when !__is_identifier(__is_same). 2869 1.1 mrg (_GLIBCXX_BUILTIN_IS_SAME_AS): Remove. 2870 1.1 mrg * include/std/type_traits (is_same, is_same_v): Replace uses 2871 1.1 mrg of _GLIBCXX_BUILTIN_IS_SAME_AS. 2872 1.1 mrg 2873 1.1 mrg 2020-09-28 Patrick Palka <ppalka (a] redhat.com> 2874 1.1 mrg 2875 1.1 mrg * include/std/ranges (filter_view): Declare the data member 2876 1.1 mrg _M_base last instead of first, and adjust constructors' member 2877 1.1 mrg initializer lists accordingly. 2878 1.1 mrg (transform_view): Likewise. 2879 1.1 mrg (take_view): Likewise. 2880 1.1 mrg (take_while_view): Likewise. 2881 1.1 mrg (drop_view): Likewise. 2882 1.1 mrg (drop_while_view): Likewise. 2883 1.1 mrg (join_view): Likewise. 2884 1.1 mrg (split_view): Likewise (and tweak nearby formatting). 2885 1.1 mrg (reverse_view): Likewise. 2886 1.1 mrg * testsuite/std/ranges/adaptors/sizeof.cc: Update expected 2887 1.1 mrg sizes. 2888 1.1 mrg 2889 1.1 mrg 2020-09-28 Patrick Palka <ppalka (a] redhat.com> 2890 1.1 mrg 2891 1.1 mrg * testsuite/std/ranges/adaptors/sizeof.cc: New test. 2892 1.1 mrg 2893 1.1 mrg 2020-09-28 Patrick Palka <ppalka (a] redhat.com> 2894 1.1 mrg 2895 1.1 mrg * include/bits/ranges_util.h (subrange::_M_end): Give it 2896 1.1 mrg [[no_unique_address]]. 2897 1.1 mrg * testsuite/std/ranges/subrange/sizeof.cc: New test. 2898 1.1 mrg 2899 1.1 mrg 2020-09-28 Patrick Palka <ppalka (a] redhat.com> 2900 1.1 mrg 2901 1.1 mrg * include/std/ranges (iota_view::_M_bound): Give it 2902 1.1 mrg [[no_unique_address]]. 2903 1.1 mrg * testsuite/std/ranges/iota/iota_view.cc: Check that an 2904 1.1 mrg unbounded iota_view has minimal size. 2905 1.1 mrg 2906 1.1 mrg 2020-09-27 Clement Chigot <clement.chigot (a] atos.net> 2907 1.1 mrg 2908 1.1 mrg * config/os/aix/t-aix: Use $(AR) without -X32_64. 2909 1.1 mrg 2910 1.1 mrg 2020-09-26 Jonathan Wakely <jwakely (a] redhat.com> 2911 1.1 mrg 2912 1.1 mrg PR libstdc++/96817 2913 1.1 mrg * include/ext/atomicity.h (__gnu_cxx::__is_single_threaded()): 2914 1.1 mrg New function wrapping __libc_single_threaded if available. 2915 1.1 mrg (__exchange_and_add_dispatch, __atomic_add_dispatch): Use it. 2916 1.1 mrg * libsupc++/guard.cc (__cxa_guard_acquire, __cxa_guard_abort) 2917 1.1 mrg (__cxa_guard_release): Likewise. 2918 1.1 mrg * testsuite/18_support/96817.cc: New test. 2919 1.1 mrg 2920 1.1 mrg 2020-09-25 Jonathan Wakely <jwakely (a] redhat.com> 2921 1.1 mrg 2922 1.1 mrg * libsupc++/Makefile.am: Remove redundant -std=gnu++1z flags. 2923 1.1 mrg * libsupc++/Makefile.in: Regenerate. 2924 1.1 mrg 2925 1.1 mrg 2020-09-24 Antony Polukhin <antoshkka (a] gmail.com> 2926 1.1 mrg 2927 1.1 mrg PR libstdc++/71579 2928 1.1 mrg * include/std/type_traits (invoke_result, is_invocable) 2929 1.1 mrg (is_invocable_r, is_nothrow_invocable, is_nothrow_invocable_r): 2930 1.1 mrg Add static_asserts to make sure that the arguments of the type 2931 1.1 mrg traits are not misused with incomplete types. 2932 1.1 mrg * testsuite/20_util/invoke_result/incomplete_args_neg.cc: New test. 2933 1.1 mrg * testsuite/20_util/is_invocable/incomplete_args_neg.cc: New test. 2934 1.1 mrg * testsuite/20_util/is_invocable/incomplete_neg.cc: New test. 2935 1.1 mrg * testsuite/20_util/is_nothrow_invocable/incomplete_args_neg.cc: 2936 1.1 mrg New test. 2937 1.1 mrg * testsuite/20_util/is_nothrow_invocable/incomplete_neg.cc: Check 2938 1.1 mrg for error on incomplete type usage in trait. 2939 1.1 mrg 2940 1.1 mrg 2020-09-24 Patrick Palka <ppalka (a] redhat.com> 2941 1.1 mrg 2942 1.1 mrg * include/std/ranges (__detail::__boxable): Split out the 2943 1.1 mrg associated constraints of __box into here. 2944 1.1 mrg (__detail::__box): Use the __boxable concept. Define a leaner 2945 1.1 mrg partial specialization for semiregular types. 2946 1.1 mrg (single_view::_M_value): Give it [[no_unique_address]]. 2947 1.1 mrg (filter_view::_M_pred): Likewise. 2948 1.1 mrg (transform_view::_M_fun): Likewise. 2949 1.1 mrg (take_while_view::_M_pred): Likewise. 2950 1.1 mrg (drop_while_view::_M_pred):: Likewise. 2951 1.1 mrg * testsuite/std/ranges/adaptors/detail/semiregular_box.cc: New 2952 1.1 mrg test. 2953 1.1 mrg 2954 1.1 mrg 2020-09-24 Jonathan Wakely <jwakely (a] redhat.com> 2955 1.1 mrg 2956 1.1 mrg * doc/xml/manual/configure.xml: Correct name of option. 2957 1.1 mrg * doc/html/*: Regenerate. 2958 1.1 mrg 2959 1.1 mrg 2020-09-22 Jonathan Wakely <jwakely (a] redhat.com> 2960 1.1 mrg 2961 1.1 mrg PR libstdc++/97167 2962 1.1 mrg * src/c++17/fs_path.cc (path::_Parser::root_path()): Check 2963 1.1 mrg for empty string before inspecting the first character. 2964 1.1 mrg * testsuite/27_io/filesystem/path/append/source.cc: Append 2965 1.1 mrg empty string_view to path. 2966 1.1 mrg 2967 1.1 mrg 2020-09-22 Glen Joseph Fernandes <glenjofe (a] gmail.com> 2968 1.1 mrg 2969 1.1 mrg * include/bits/align.h (align): Fix overflow handling. 2970 1.1 mrg * testsuite/20_util/align/3.cc: New test. 2971 1.1 mrg 2972 1.1 mrg 2020-09-22 Jonathan Wakely <jwakely (a] redhat.com> 2973 1.1 mrg 2974 1.1 mrg * include/Makefile.am: Add new headers and adjust for renamed 2975 1.1 mrg header. 2976 1.1 mrg * include/Makefile.in: Regenerate. 2977 1.1 mrg * include/bits/iterator_concepts.h: Adjust for renamed header. 2978 1.1 mrg * include/bits/range_access.h (ranges::*): Move to new 2979 1.1 mrg <bits/ranges_base.h> header. 2980 1.1 mrg * include/bits/ranges_algobase.h: Include new <bits/ranges_base.h> 2981 1.1 mrg header instead of <ranges>. 2982 1.1 mrg * include/bits/ranges_algo.h: Include new <bits/ranges_util.h> 2983 1.1 mrg header. 2984 1.1 mrg * include/bits/range_cmp.h: Moved to... 2985 1.1 mrg * include/bits/ranges_cmp.h: ...here. 2986 1.1 mrg * include/bits/ranges_base.h: New header. 2987 1.1 mrg * include/bits/ranges_util.h: New header. 2988 1.1 mrg * include/experimental/string_view: Include new 2989 1.1 mrg <bits/ranges_base.h> header. 2990 1.1 mrg * include/std/functional: Adjust for renamed header. 2991 1.1 mrg * include/std/ranges (ranges::view_base, ranges::enable_view) 2992 1.1 mrg (ranges::dangling, ranges::borrowed_iterator_t): Move to new 2993 1.1 mrg <bits/ranges_base.h> header. 2994 1.1 mrg (ranges::view_interface, ranges::subrange) 2995 1.1 mrg (ranges::borrowed_subrange_t): Move to new <bits/ranges_util.h> 2996 1.1 mrg header. 2997 1.1 mrg * include/std/span: Include new <bits/ranges_base.h> header. 2998 1.1 mrg * include/std/string_view: Likewise. 2999 1.1 mrg * testsuite/24_iterators/back_insert_iterator/pr93884.cc: Add 3000 1.1 mrg missing <ranges> header. 3001 1.1 mrg * testsuite/24_iterators/front_insert_iterator/pr93884.cc: 3002 1.1 mrg Likewise. 3003 1.1 mrg 3004 1.1 mrg 2020-09-22 Jonathan Wakely <jwakely (a] redhat.com> 3005 1.1 mrg 3006 1.1 mrg PR libstdc++/96803 3007 1.1 mrg * include/std/tuple 3008 1.1 mrg (_Tuple_impl(allocator_arg_t, Alloc, const _Tuple_impl<U...>&)): 3009 1.1 mrg Use correct value category in __use_alloc call. 3010 1.1 mrg * testsuite/20_util/tuple/cons/96803.cc: Check with constructors 3011 1.1 mrg that require correct value category to be used. 3012 1.1 mrg 3013 1.1 mrg 2020-09-22 Patrick Palka <ppalka (a] redhat.com> 3014 1.1 mrg 3015 1.1 mrg * include/std/span (span::front): Remove static_assert. 3016 1.1 mrg (span::back): Likewise. 3017 1.1 mrg (span::operator[]): Likewise. 3018 1.1 mrg * testsuite/23_containers/span/back_neg.cc: Rewrite to verify 3019 1.1 mrg that we check the preconditions of back() only when it's called. 3020 1.1 mrg * testsuite/23_containers/span/front_neg.cc: Likewise for 3021 1.1 mrg front(). 3022 1.1 mrg * testsuite/23_containers/span/index_op_neg.cc: Likewise for 3023 1.1 mrg operator[]. 3024 1.1 mrg 3025 1.1 mrg 2020-09-22 Patrick Palka <ppalka (a] redhat.com> 3026 1.1 mrg 3027 1.1 mrg * include/bits/stl_algo.h (__sample): Exit early when the 3028 1.1 mrg input range is empty. 3029 1.1 mrg * testsuite/25_algorithms/sample/3.cc: New test. 3030 1.1 mrg 3031 1.1 mrg 2020-09-22 Patrick Palka <ppalka (a] redhat.com> 3032 1.1 mrg 3033 1.1 mrg * include/bits/stl_algo.h (for_each_n): Mark constexpr for C++20. 3034 1.1 mrg (search): Likewise for the overload that takes a searcher. 3035 1.1 mrg * testsuite/25_algorithms/for_each/constexpr.cc: Test constexpr 3036 1.1 mrg std::for_each_n. 3037 1.1 mrg * testsuite/25_algorithms/search/constexpr.cc: Test constexpr 3038 1.1 mrg std::search overload that takes a searcher. 3039 1.1 mrg 3040 1.1 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com> 3041 1.1 mrg 3042 1.1 mrg * include/bits/c++config (__replacement_assert): Add noreturn 3043 1.1 mrg attribute. 3044 1.1 mrg (__glibcxx_assert_impl): Use __builtin_expect to hint that the 3045 1.1 mrg assertion is expected to pass. 3046 1.1 mrg 3047 1.1 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com> 3048 1.1 mrg 3049 1.1 mrg * include/std/ranges (drop_view::begin()): Adjust constraints 3050 1.1 mrg to match the correct condition for O(1) ranges::next (LWG 3482). 3051 1.1 mrg * testsuite/std/ranges/adaptors/drop.cc: Check that iterator is 3052 1.1 mrg cached for non-sized_range. 3053 1.1 mrg 3054 1.1 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com> 3055 1.1 mrg 3056 1.1 mrg * include/std/ranges (transform_view, elements_view): Relax 3057 1.1 mrg constraints on operator- for iterators, as per LWG 3483. 3058 1.1 mrg * testsuite/std/ranges/adaptors/elements.cc: Check that we 3059 1.1 mrg can take the difference of two iterators from a non-random 3060 1.1 mrg access range. 3061 1.1 mrg * testsuite/std/ranges/adaptors/transform.cc: Likewise. 3062 1.1 mrg 3063 1.1 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com> 3064 1.1 mrg 3065 1.1 mrg PR libstdc++/97132 3066 1.1 mrg * include/bits/align.h (align) [!_GLIBCXX_USE_C99_STDINT_TR1]: 3067 1.1 mrg Remove unused code. 3068 1.1 mrg (assume_aligned): Do not use __builtin_assume_aligned during 3069 1.1 mrg constant evaluation. 3070 1.1 mrg * testsuite/20_util/assume_aligned/1.cc: Improve test. 3071 1.1 mrg * testsuite/20_util/assume_aligned/97132.cc: New test. 3072 1.1 mrg 3073 1.1 mrg 2020-09-20 Jonathan Wakely <jwakely (a] redhat.com> 3074 1.1 mrg 3075 1.1 mrg PR libstdc++/97101 3076 1.1 mrg * include/std/functional (bind_front): Fix order of parameters 3077 1.1 mrg in is_nothrow_constructible_v specialization. 3078 1.1 mrg * testsuite/20_util/function_objects/bind_front/97101.cc: New test. 3079 1.1 mrg 3080 1.1 mrg 2020-09-11 Thomas Rodgers <trodgers (a] redhat.com> 3081 1.1 mrg 3082 1.1 mrg * include/std/memory: Move #include <bits/align.h> inside C++11 3083 1.1 mrg conditional includes. 3084 1.1 mrg 3085 1.1 mrg 2020-09-11 Thomas Rodgers <trodgers (a] redhat.com> 3086 1.1 mrg 3087 1.1 mrg * include/Makefile.am (bits_headers): Add new header. 3088 1.1 mrg * include/Makefile.in: Regenerate. 3089 1.1 mrg * include/bits/align.h: New file. 3090 1.1 mrg * include/std/memory (align): Move definition to bits/align.h. 3091 1.1 mrg (assume_aligned): Likewise. 3092 1.1 mrg 3093 1.1 mrg 2020-09-11 Jonathan Wakely <jwakely (a] redhat.com> 3094 1.1 mrg 3095 1.1 mrg * include/std/chrono [C++17] (chrono::__detail::ceil): Add 3096 1.1 mrg using declaration to make chrono::ceil available for internal 3097 1.1 mrg use with a consistent name. 3098 1.1 mrg (chrono::__detail::__ceil_impl): New function template. 3099 1.1 mrg (chrono::__detail::ceil): Use __ceil_impl to compare and 3100 1.1 mrg increment the value. Remove SFINAE constraint. 3101 1.1 mrg 3102 1.1 mrg 2020-09-11 Jonathan Wakely <jwakely (a] redhat.com> 3103 1.1 mrg 3104 1.1 mrg * include/bits/regex_error.h (__throw_regex_error): Fix 3105 1.1 mrg parameter declaration and use reserved attribute names. 3106 1.1 mrg 3107 1.1 mrg 2020-09-11 Mike Crowe <mac (a] mcrowe.com> 3108 1.1 mrg 3109 1.1 mrg * include/std/condition_variable (condition_variable::wait_until): 3110 1.1 mrg Convert delta to steady_clock duration before adding to current 3111 1.1 mrg steady_clock time to avoid rounding errors described in PR68519. 3112 1.1 mrg (condition_variable::wait_for): Simplify calculation of absolute 3113 1.1 mrg time by using chrono::__detail::ceil in both overloads. 3114 1.1 mrg * testsuite/30_threads/condition_variable/members/68519.cc: 3115 1.1 mrg (test_wait_for): Renamed from test01. Replace unassigned val 3116 1.1 mrg variable with constant false. Reduce scope of mx and cv 3117 1.1 mrg variables to just test_wait_for function. 3118 1.1 mrg (test_wait_until): Add new test case. 3119 1.1 mrg 3120 1.1 mrg 2020-09-11 Mike Crowe <mac (a] mcrowe.com> 3121 1.1 mrg 3122 1.1 mrg PR libstdc++/91486 3123 1.1 mrg * include/bits/atomic_futex.h 3124 1.1 mrg (__atomic_futex_unsigned::_M_load_when_equal_for) 3125 1.1 mrg (__atomic_futex_unsigned::_M_load_when_equal_until): Use 3126 1.1 mrg __detail::ceil to convert delta to the reference clock 3127 1.1 mrg duration type to avoid resolution problems. 3128 1.1 mrg * include/std/chrono (__detail::ceil): Move implementation 3129 1.1 mrg of std::chrono::ceil into private namespace so that it's 3130 1.1 mrg available to pre-C++17 code. 3131 1.1 mrg * testsuite/30_threads/async/async.cc (test_pr91486): 3132 1.1 mrg Test __atomic_futex_unsigned::_M_load_when_equal_for. 3133 1.1 mrg 3134 1.1 mrg 2020-09-11 Mike Crowe <mac (a] mcrowe.com> 3135 1.1 mrg 3136 1.1 mrg * include/bits/atomic_futex.h 3137 1.1 mrg (__atomic_futex_unsigned::_M_load_when_equal_until): Add 3138 1.1 mrg loop on generic _Clock to check the timeout against _Clock 3139 1.1 mrg again after _M_load_when_equal_until returns indicating a 3140 1.1 mrg timeout. 3141 1.1 mrg * testsuite/30_threads/async/async.cc: Invent slow_clock 3142 1.1 mrg that runs at an eleventh of steady_clock's speed. Use it 3143 1.1 mrg to test the user-supplied-clock variant of 3144 1.1 mrg __atomic_futex_unsigned::_M_load_when_equal_until works 3145 1.1 mrg generally with test03 and loops correctly when the timeout 3146 1.1 mrg time hasn't been reached in test04. 3147 1.1 mrg 3148 1.1 mrg 2020-09-11 Mike Crowe <mac (a] mcrowe.com> 3149 1.1 mrg 3150 1.1 mrg PR libstdc++/93542 3151 1.1 mrg * include/bits/atomic_futex.h (__atomic_futex_unsigned): Change 3152 1.1 mrg __clock_t typedef to use steady_clock so that unknown clocks are 3153 1.1 mrg synced to it rather than system_clock. Change existing __clock_t 3154 1.1 mrg overloads of _M_load_and_text_until_impl and 3155 1.1 mrg _M_load_when_equal_until to use system_clock explicitly. Remove 3156 1.1 mrg comment about DR 887 since these changes address that problem as 3157 1.1 mrg best as we currently able. 3158 1.1 mrg 3159 1.1 mrg 2020-09-11 Mike Crowe <mac (a] mcrowe.com> 3160 1.1 mrg 3161 1.1 mrg PR libstdc++/93542 3162 1.1 mrg * config/abi/pre/gnu.ver: Update for addition of 3163 1.1 mrg __atomic_futex_unsigned_base::_M_futex_wait_until_steady. 3164 1.1 mrg * include/bits/atomic_futex.h (__atomic_futex_unsigned_base): 3165 1.1 mrg Add comments to clarify that _M_futex_wait_until and 3166 1.1 mrg _M_load_and_test_until use CLOCK_REALTIME. 3167 1.1 mrg (__atomic_futex_unsigned_base::_M_futex_wait_until_steady) 3168 1.1 mrg (__atomic_futex_unsigned_base::_M_load_and_text_until_steady): 3169 1.1 mrg New member functions that use CLOCK_MONOTONIC. 3170 1.1 mrg (__atomic_futex_unsigned_base::_M_load_and_test_until_impl) 3171 1.1 mrg (__atomic_futex_unsigned_base::_M_load_when_equal_until): Add 3172 1.1 mrg overloads that accept a steady_clock time_point and use the 3173 1.1 mrg new member functions. 3174 1.1 mrg * src/c++11/futex.cc: Include headers required for 3175 1.1 mrg clock_gettime. 3176 1.1 mrg (futex_clock_monotonic_flag): New constant to tell futex to 3177 1.1 mrg use CLOCK_MONOTONIC to match existing futex_clock_realtime_flag. 3178 1.1 mrg (futex_clock_monotonic_unavailable): New global to store the 3179 1.1 mrg result of trying to use CLOCK_MONOTONIC. 3180 1.1 mrg (__atomic_futex_unsigned_base::_M_futex_wait_until_steady): Add 3181 1.1 mrg new variant of _M_futex_wait_until that uses CLOCK_MONOTONIC to 3182 1.1 mrg support waiting using steady_clock. 3183 1.1 mrg 3184 1.1 mrg 2020-09-11 Mike Crowe <mac (a] mcrowe.com> 3185 1.1 mrg 3186 1.1 mrg * src/c++11/futex.cc: Add new constants for required futex 3187 1.1 mrg flags. Add futex_clock_realtime_unavailable flag to store 3188 1.1 mrg result of trying to use FUTEX_CLOCK_REALTIME. 3189 1.1 mrg (__atomic_futex_unsigned_base::_M_futex_wait_until): Try to 3190 1.1 mrg use FUTEX_WAIT_BITSET with FUTEX_CLOCK_REALTIME and only 3191 1.1 mrg fall back to using gettimeofday and FUTEX_WAIT if that's not 3192 1.1 mrg supported. 3193 1.1 mrg 3194 1.1 mrg 2020-09-11 Mike Crowe <mac (a] mcrowe.com> 3195 1.1 mrg 3196 1.1 mrg * testsuite/30_threads/async/async.cc (test02): Test steady_clock 3197 1.1 mrg with std::future::wait_until. 3198 1.1 mrg (test03): Add new test templated on clock type waiting for future 3199 1.1 mrg associated with async to resolve. 3200 1.1 mrg (main): Call test03 to test both system_clock and steady_clock. 3201 1.1 mrg 3202 1.1 mrg 2020-09-11 Torbjrn SVENSSON <torbjorn.svensson (a] st.com> 3203 1.1 mrg Christophe Lyon <christophe.lyon (a] linaro.org> 3204 1.1 mrg 3205 1.1 mrg * libsupc++/eh_call.cc: Avoid warning with -fno-exceptions. 3206 1.1 mrg 3207 1.1 mrg 2020-09-11 Torbjrn SVENSSON <torbjorn.svensson (a] st.com> 3208 1.1 mrg Christophe Lyon <christophe.lyon (a] linaro.org> 3209 1.1 mrg 3210 1.1 mrg * libsupc++/eh_call.cc: Avoid warning with -fno-exceptions. 3211 1.1 mrg 3212 1.1 mrg 2020-09-11 Christophe Lyon <christophe.lyon (a] linaro.org> 3213 1.1 mrg 3214 1.1 mrg * include/bits/regex_error.h: Avoid warning with -fno-exceptions. 3215 1.1 mrg 3216 1.1 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com> 3217 1.1 mrg 3218 1.1 mrg * include/bits/locale_conv.h (__do_str_codecvt, __str_codecvt_in_all): 3219 1.1 mrg Add casts to compare types of the same signedness. 3220 1.1 mrg 3221 1.1 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com> 3222 1.1 mrg 3223 1.1 mrg * include/bits/ranges_algobase.h (__equal_fn): Remove unused 3224 1.1 mrg typedef. 3225 1.1 mrg 3226 1.1 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com> 3227 1.1 mrg 3228 1.1 mrg * include/std/version (__cpp_lib_array_constexpr): 3229 1.1 mrg (__cpp_lib_constexpr_char_traits): Only define C++17 value when 3230 1.1 mrg compiling C++17. 3231 1.1 mrg 3232 1.1 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com> 3233 1.1 mrg 3234 1.1 mrg * include/experimental/bits/shared_ptr.h (shared_ptr(auto_ptr&&)) 3235 1.1 mrg (operator=(auto_ptr&&)): Add diagnostic pragmas to suppress 3236 1.1 mrg warnings for uses of std::auto_ptr. 3237 1.1 mrg * include/experimental/type_traits (is_literal_type_v): 3238 1.1 mrg Likewise, for use of std::is_literal_type. 3239 1.1 mrg * include/std/condition_variable (condition_variable_any::_Unlock): 3240 1.1 mrg Likewise, for use of std::uncaught_exception. 3241 1.1 mrg 3242 1.1 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com> 3243 1.1 mrg 3244 1.1 mrg * include/bits/fs_path.h (path::_List::type()): Avoid narrowing 3245 1.1 mrg conversion. 3246 1.1 mrg * include/std/chrono (operator+(const year&, const years&)): 3247 1.1 mrg Likewise. 3248 1.1 mrg 3249 1.1 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com> 3250 1.1 mrg 3251 1.1 mrg * include/bits/codecvt.h (codecvt_byname): Remove names of 3252 1.1 mrg unused parameters. 3253 1.1 mrg 3254 1.1 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com> 3255 1.1 mrg 3256 1.1 mrg * include/bits/locale_facets_nonio.tcc: Adjust whitespace. 3257 1.1 mrg 3258 1.1 mrg 2020-09-10 Krystian Kuniarek <krystian.kuzniarek (a] gmail.com> 3259 1.1 mrg 3260 1.1 mrg * include/c_global/cmath (__lerp): Avoid -Wparentheses warnings. 3261 1.1 mrg 3262 1.1 mrg 2020-09-10 Krystian Kuniarek <krystian.kuzniarek (a] gmail.com> 3263 1.1 mrg 3264 1.1 mrg * include/bits/atomic_base.h: Fix -Wunused-variable 3265 1.1 mrg warnings. 3266 1.1 mrg * include/ext/new_allocator.h: Fix -Wunused-parameter 3267 1.1 mrg warnings. 3268 1.1 mrg 3269 1.1 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com> 3270 1.1 mrg 3271 1.1 mrg * include/bits/stl_iterator.h (counted_iterator): Add assertions 3272 1.1 mrg to check preconditions added by LWG 3472. 3273 1.1 mrg 3274 1.1 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com> 3275 1.1 mrg 3276 1.1 mrg PR libstdc++/94160 3277 1.1 mrg * src/c++17/memory_resource.cc (munge_options): Round 3278 1.1 mrg max_blocks_per_chunk to a multiple of four. 3279 1.1 mrg (__pool_resource::_M_alloc_pools()): Simplify slightly. 3280 1.1 mrg * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: 3281 1.1 mrg Check that valid pointers are returned when small values are 3282 1.1 mrg used for max_blocks_per_chunk. 3283 1.1 mrg 3284 1.1 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com> 3285 1.1 mrg 3286 1.1 mrg PR libstdc++/96942 3287 1.1 mrg * include/std/memory_resource (monotonic_buffer_resource::do_allocate): 3288 1.1 mrg Use __builtin_expect when checking if a new buffer needs to be 3289 1.1 mrg allocated from the upstream resource, and for checks for edge 3290 1.1 mrg cases like zero sized buffers and allocations. 3291 1.1 mrg * src/c++17/memory_resource.cc (aligned_size): New class template. 3292 1.1 mrg (aligned_ceil): New helper function to round up to a given 3293 1.1 mrg alignment. 3294 1.1 mrg (monotonic_buffer_resource::chunk): Replace _M_size and _M_align 3295 1.1 mrg with an aligned_size member. Remove _M_canary member. Change _M_next 3296 1.1 mrg to pointer instead of unaligned buffer. 3297 1.1 mrg (monotonic_buffer_resource::chunk::allocate): Round up to multiple 3298 1.1 mrg of 64 instead of to power of two. Check for size overflow. Remove 3299 1.1 mrg redundant check for minimum required alignment. 3300 1.1 mrg (monotonic_buffer_resource::chunk::release): Adjust for changes 3301 1.1 mrg to data members. 3302 1.1 mrg (monotonic_buffer_resource::_M_new_buffer): Use aligned_ceil. 3303 1.1 mrg (big_block): Replace _M_size and _M_align with aligned_size 3304 1.1 mrg member. 3305 1.1 mrg (big_block::big_block): Check for size overflow. 3306 1.1 mrg (big_block::size, big_block::align): Adjust to use aligned_size. 3307 1.1 mrg (big_block::alloc_size): Use aligned_ceil. 3308 1.1 mrg (munge_options): Use aligned_ceil. 3309 1.1 mrg (__pool_resource::allocate): Use big_block::align for alignment. 3310 1.1 mrg * testsuite/20_util/monotonic_buffer_resource/allocate.cc: Check 3311 1.1 mrg upstream resource gets expected values for impossible sizes. 3312 1.1 mrg * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: 3313 1.1 mrg Likewise. Adjust checks for expected alignment in existing test. 3314 1.1 mrg 3315 1.1 mrg 2020-09-07 Jonathan Wakely <jwakely (a] redhat.com> 3316 1.1 mrg 3317 1.1 mrg * include/std/chrono (duration::_S_gcd): Use invariant that 3318 1.1 mrg neither value is zero initially. 3319 1.1 mrg 3320 1.1 mrg 2020-09-07 Jonathan Wakely <jwakely (a] redhat.com> 3321 1.1 mrg 3322 1.1 mrg * include/std/ranges (__box): Simplify constraints as per LWG 3477. 3323 1.1 mrg 3324 1.1 mrg 2020-09-03 Jonathan Wakely <jwakely (a] redhat.com> 3325 1.1 mrg 3326 1.1 mrg PR libstdc++/96592 3327 1.1 mrg * include/std/tuple (_TupleConstraints<true, T...>): Use 3328 1.1 mrg alternative is_constructible instead of std::is_constructible. 3329 1.1 mrg * testsuite/20_util/tuple/cons/96592.cc: New test. 3330 1.1 mrg 3331 1.1 mrg 2020-09-03 Jonathan Wakely <jwakely (a] redhat.com> 3332 1.1 mrg 3333 1.1 mrg * include/std/chrono (duration::_S_gcd): Use iterative algorithm 3334 1.1 mrg for C++14 and later. 3335 1.1 mrg * include/std/numeric (__detail::__gcd): Replace recursive 3336 1.1 mrg Euclidean algorithm with iterative version of binary GCD algorithm. 3337 1.1 mrg * testsuite/26_numerics/gcd/1.cc: Test additional inputs. 3338 1.1 mrg * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error lines. 3339 1.1 mrg * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. 3340 1.1 mrg * testsuite/experimental/numeric/gcd.cc: Test additional inputs. 3341 1.1 mrg * testsuite/26_numerics/gcd/2.cc: New test. 3342 1.1 mrg 3343 1.1 mrg 2020-09-02 Jonathan Wakely <jwakely (a] redhat.com> 3344 1.1 mrg 3345 1.1 mrg PR libstdc++/92978 3346 1.1 mrg * testsuite/experimental/numeric/92978.cc: Use experimental::lcm 3347 1.1 mrg not std::lcm. 3348 1.1 mrg 3349 1.1 mrg 2020-09-02 Jonathan Wakely <jwakely (a] redhat.com> 3350 1.1 mrg 3351 1.1 mrg PR libstdc++/96851 3352 1.1 mrg * include/bits/cpp_type_traits.h (__is_memcmp_ordered): 3353 1.1 mrg New trait that says if memcmp can be used for ordering. 3354 1.1 mrg (__is_memcmp_ordered_with): Likewise, for two types. 3355 1.1 mrg * include/bits/deque.tcc (__lex_cmp_dit): Use new traits 3356 1.1 mrg instead of __is_byte and __numeric_traits. 3357 1.1 mrg (__lexicographical_compare_aux1): Likewise. 3358 1.1 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn): 3359 1.1 mrg Likewise. 3360 1.1 mrg * include/bits/stl_algobase.h (__lexicographical_compare_aux1) 3361 1.1 mrg (__is_byte_iter): Likewise. 3362 1.1 mrg * include/std/array (operator<=>): Likewise. Only use memcmp 3363 1.1 mrg when std::is_constant_evaluated() is false. 3364 1.1 mrg * testsuite/23_containers/array/comparison_operators/96851.cc: 3365 1.1 mrg New test. 3366 1.1 mrg * testsuite/23_containers/array/tuple_interface/get_neg.cc: 3367 1.1 mrg Adjust dg-error line numbers. 3368 1.1 mrg 3369 1.1 mrg 2020-09-02 Jonathan Wakely <jwakely (a] redhat.com> 3370 1.1 mrg 3371 1.1 mrg * include/bits/stl_iterator.h: Include <bits/exception_defines.h> 3372 1.1 mrg for definitions of __try, __catch and __throw_exception_again. 3373 1.1 mrg (counted_iterator::operator++(int)): Use __throw_exception_again 3374 1.1 mrg instead of throw. 3375 1.1 mrg * libsupc++/new: Include <bits/exception.h> not <exception>. 3376 1.1 mrg * libsupc++/new_opvnt.cc: Include <bits/exception_defines.h>. 3377 1.1 mrg * testsuite/18_support/destroying_delete.cc: Include 3378 1.1 mrg <type_traits> for std::is_same_v definition. 3379 1.1 mrg * testsuite/20_util/variant/index_type.cc: Qualify size_t. 3380 1.1 mrg 3381 1.1 mrg 2020-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3382 1.1 mrg 3383 1.1 mrg PR libstdc++/71960 3384 1.1 mrg * include/bits/c++config (__glibcxx_assert_impl): Remove 3385 1.1 mrg do-while so that uses of the macro need to add it. 3386 1.1 mrg (__glibcxx_assert): Rename macro for runtime assertions 3387 1.1 mrg to __glibcxx_assert_2. 3388 1.1 mrg (__glibcxx_assert_1): Define macro for constexpr assertions. 3389 1.1 mrg (__glibcxx_assert): Define macro for constexpr and runtime 3390 1.1 mrg assertions. 3391 1.1 mrg * include/bits/range_access.h (ranges::advance): Remove 3392 1.1 mrg redundant precondition checks during constant evaluation. 3393 1.1 mrg * include/parallel/base.h (_GLIBCXX_PARALLEL_ASSERT): Always 3394 1.1 mrg use do-while in macro expansion. 3395 1.1 mrg * include/std/ranges (iota_view::iota_view(W, B)): Remove 3396 1.1 mrg redundant braces. 3397 1.1 mrg 3398 1.1 mrg 2020-09-01 Jonathan Wakely <jwakely (a] redhat.com> 3399 1.1 mrg 3400 1.1 mrg * include/std/chrono (duration::_S_gcd(intmax_t, intmax_t)): 3401 1.1 mrg New helper function for finding GCD of two positive intmax_t 3402 1.1 mrg values. 3403 1.1 mrg (duration::__divide): New helper alias for dividing one period 3404 1.1 mrg by another. 3405 1.1 mrg (duration::__is_harmonic): Use __divide not ratio_divide. 3406 1.1 mrg (duration(const duration<R2, P2>&)): Require the duration rep 3407 1.1 mrg types to be convertible. 3408 1.1 mrg * testsuite/20_util/duration/cons/dr2094.cc: New test. 3409 1.1 mrg * testsuite/20_util/duration/requirements/reduced_period.cc: 3410 1.1 mrg Fix definition of unused member functions in test type. 3411 1.1 mrg * testsuite/20_util/duration/requirements/typedefs_neg2.cc: 3412 1.1 mrg Adjust expected errors. 3413 1.1 mrg 3414 1.1 mrg 2020-08-29 Jonathan Wakely <jwakely (a] redhat.com> 3415 1.1 mrg 3416 1.1 mrg * include/std/numeric (__detail::__absu(bool)): Make deleted 3417 1.1 mrg function a function template, so it will be chosen for calls 3418 1.1 mrg with an explicit template argument list. 3419 1.1 mrg * testsuite/26_numerics/gcd/gcd_neg.cc: Add dg-prune-output. 3420 1.1 mrg * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. 3421 1.1 mrg 3422 1.1 mrg 2020-08-28 Jonathan Wakely <jwakely (a] redhat.com> 3423 1.1 mrg 3424 1.1 mrg * include/std/chrono (common_type): Fix partial specializations 3425 1.1 mrg for a single duration type to use the common_type of the rep. 3426 1.1 mrg (duration::operator+, duration::operator-): Fix return types 3427 1.1 mrg to also use the common_type of the rep. 3428 1.1 mrg * testsuite/20_util/duration/requirements/reduced_period.cc: 3429 1.1 mrg Check duration using a rep that has common_type specialized. 3430 1.1 mrg 3431 1.1 mrg 2020-08-28 Jonathan Wakely <jwakely (a] redhat.com> 3432 1.1 mrg 3433 1.1 mrg PR libstdc++/92978 3434 1.1 mrg * include/std/numeric (__abs_integral): Replace with ... 3435 1.1 mrg (__detail::__absu): New function template that returns an 3436 1.1 mrg unsigned type, guaranteeing it can represent the most 3437 1.1 mrg negative signed value. 3438 1.1 mrg (__detail::__gcd, __detail::__lcm): Require arguments to 3439 1.1 mrg be unsigned and therefore already non-negative. 3440 1.1 mrg (gcd, lcm): Convert arguments to absolute value as unsigned 3441 1.1 mrg type before calling __detail::__gcd or __detail::__lcm. 3442 1.1 mrg * include/experimental/numeric (gcd, lcm): Likewise. 3443 1.1 mrg * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust expected 3444 1.1 mrg errors. 3445 1.1 mrg * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. 3446 1.1 mrg * testsuite/26_numerics/gcd/92978.cc: New test. 3447 1.1 mrg * testsuite/26_numerics/lcm/92978.cc: New test. 3448 1.1 mrg * testsuite/experimental/numeric/92978.cc: New test. 3449 1.1 mrg 3450 1.1 mrg 2020-08-27 Jonathan Wakely <jwakely (a] redhat.com> 3451 1.1 mrg 3452 1.1 mrg * include/std/chrono (__duration_common_type): Ensure the 3453 1.1 mrg reduced ratio is used. Remove unused partial specialization 3454 1.1 mrg using __failure_type. 3455 1.1 mrg (common_type): Pass reduced ratios to __duration_common_type. 3456 1.1 mrg Add partial specializations for simple cases involving a single 3457 1.1 mrg duration or time_point type. 3458 1.1 mrg (duration::period): Use reduced ratio. 3459 1.1 mrg (duration::operator+(), duration::operator-()): Return duration 3460 1.1 mrg type using the reduced ratio. 3461 1.1 mrg * testsuite/20_util/duration/requirements/typedefs_neg2.cc: 3462 1.1 mrg Adjust expected errors. 3463 1.1 mrg * testsuite/20_util/duration/requirements/reduced_period.cc: New test. 3464 1.1 mrg 3465 1.1 mrg 2020-08-27 Patrick Palka <ppalka (a] redhat.com> 3466 1.1 mrg 3467 1.1 mrg * include/std/chrono (year_month::operator+): Properly handle a 3468 1.1 mrg month value of 0 by casting the month value to int before 3469 1.1 mrg subtracting 1 from it so that the difference is sign-extended in 3470 1.1 mrg the subsequent addition. 3471 1.1 mrg * testsuite/std/time/year_month/1.cc: Test adding months to a 3472 1.1 mrg year_month whose month component is below or above the 3473 1.1 mrg normalized range of [1,12]. 3474 1.1 mrg 3475 1.1 mrg 2020-08-27 Patrick Palka <ppalka (a] redhat.com> 3476 1.1 mrg 3477 1.1 mrg * include/std/chrono 3478 1.1 mrg (__detail::__months_years_conversion_disambiguator): Define. 3479 1.1 mrg (year_month::operator+=): Templatize the 'months'-based overload 3480 1.1 mrg so that the 'years'-based overload is selected in case of 3481 1.1 mrg equally-ranked implicit conversion sequences to both 'months' 3482 1.1 mrg and 'years' from the supplied argument. 3483 1.1 mrg (year_month::operator-=): Likewise. 3484 1.1 mrg (year_month::operator+): Likewise. 3485 1.1 mrg (year_month::operator-): Likewise. 3486 1.1 mrg (year_month_day::operator+=): Likewise. 3487 1.1 mrg (year_month_day::operator-=): Likewise. 3488 1.1 mrg (year_month_day::operator+): Likewise. 3489 1.1 mrg (year_month_day::operator-): Likewise. 3490 1.1 mrg (year_month_day_last::operator+=): Likewise. 3491 1.1 mrg (year_month_day_last::operator-=): Likewise. 3492 1.1 mrg (year_month_day_last::operator+): Likewise 3493 1.1 mrg (year_month_day_last::operator-): Likewise. 3494 1.1 mrg (year_month_day_weekday::operator+=): Likewise 3495 1.1 mrg (year_month_day_weekday::operator-=): Likewise. 3496 1.1 mrg (year_month_day_weekday::operator+): Likewise. 3497 1.1 mrg (year_month_day_weekday::operator-): Likewise. 3498 1.1 mrg (year_month_day_weekday_last::operator+=): Likewise 3499 1.1 mrg (year_month_day_weekday_last::operator-=): Likewise. 3500 1.1 mrg (year_month_day_weekday_last::operator+): Likewise. 3501 1.1 mrg (year_month_day_weekday_last::operator-): Likewise. 3502 1.1 mrg (testsuite/std/time/year_month/2.cc): New test. 3503 1.1 mrg (testsuite/std/time/year_month_day/2.cc): New test. 3504 1.1 mrg (testsuite/std/time/year_month_day_last/2.cc): New test. 3505 1.1 mrg (testsuite/std/time/year_month_weekday/2.cc): New test. 3506 1.1 mrg (testsuite/std/time/year_month_weekday_last/2.cc): New test. 3507 1.1 mrg * testsuite/std/time/year_month/2.cc: New file. 3508 1.1 mrg * testsuite/std/time/year_month_day/2.cc: New file. 3509 1.1 mrg * testsuite/std/time/year_month_day_last/2.cc: New file. 3510 1.1 mrg * testsuite/std/time/year_month_weekday/2.cc: New file. 3511 1.1 mrg * testsuite/std/time/year_month_weekday_last/2.cc: New file. 3512 1.1 mrg 3513 1.1 mrg 2020-08-27 Patrick Palka <ppalka (a] redhat.com> 3514 1.1 mrg 3515 1.1 mrg PR libstdc++/95322 3516 1.1 mrg * include/std/ranges (transform_view::sentinel::__distance_from): 3517 1.1 mrg Give this a deduced return type. 3518 1.1 mrg (transform_view::sentinel::operator-): Adjust the return type so 3519 1.1 mrg that it's based on the constness of the iterator rather than 3520 1.1 mrg that of the sentinel. 3521 1.1 mrg * testsuite/std/ranges/adaptors/95322.cc: Refer to LWG 3488. 3522 1.1 mrg 3523 1.1 mrg 2020-08-27 Patrick Palka <ppalka (a] redhat.com> 3524 1.1 mrg 3525 1.1 mrg * include/std/ranges (elements_view::begin): Adjust constraints. 3526 1.1 mrg (elements_view::end): Likewise. 3527 1.1 mrg (elements_view::_Sentinel::operator==): Templatize to take both 3528 1.1 mrg _Iterator<true> and _Iterator<false>. 3529 1.1 mrg (elements_view::_Sentinel::operator-): Likewise. 3530 1.1 mrg * testsuite/std/ranges/adaptors/elements.cc: Add testcase for 3531 1.1 mrg the example from P1994R1. 3532 1.1 mrg * testsuite/std/ranges/adaptors/lwg3406.cc: New test. 3533 1.1 mrg 3534 1.1 mrg 2020-08-27 Patrick Palka <ppalka (a] redhat.com> 3535 1.1 mrg 3536 1.1 mrg * include/std/ranges (elements_view::end): Replace these two 3537 1.1 mrg overloads with four new overloads. 3538 1.1 mrg (elements_view::_Iterator::operator==): Remove. 3539 1.1 mrg (elements_view::_Iterator::operator-): Likewise. 3540 1.1 mrg (elements_view::_Sentinel): Define. 3541 1.1 mrg 3542 1.1 mrg 2020-08-26 Jonathan Wakely <jwakely (a] redhat.com> 3543 1.1 mrg 3544 1.1 mrg * include/std/tuple (_Tuple_impl): Whitespaces changes for 3545 1.1 mrg consistent indentation. Also use __enable_if_t alias template. 3546 1.1 mrg 3547 1.1 mrg 2020-08-26 Jonathan Wakely <jwakely (a] redhat.com> 3548 1.1 mrg 3549 1.1 mrg PR libstdc++/96803 3550 1.1 mrg * include/std/tuple 3551 1.1 mrg (_Tuple_impl(allocator_arg_t, Alloc, const _Tuple_impl<U...>&)): 3552 1.1 mrg Replace parameter pack with a type parameter and a pack and pass 3553 1.1 mrg the first type to __use_alloc. 3554 1.1 mrg * testsuite/20_util/tuple/cons/96803.cc: New test. 3555 1.1 mrg 3556 1.1 mrg 2020-08-26 Patrick Palka <ppalka (a] redhat.com> 3557 1.1 mrg 3558 1.1 mrg * include/std/chrono (year_month_weekday::operator==): Compare 3559 1.1 mrg weekday_indexed instead of weekday. 3560 1.1 mrg * testsuite/std/time/year_month_weekday/1.cc: Augment testcase. 3561 1.1 mrg 3562 1.1 mrg 2020-08-26 Jonathan Wakely <jwakely (a] redhat.com> 3563 1.1 mrg 3564 1.1 mrg * include/bits/hashtable_policy.h (_Hash_code_base): Change 3565 1.1 mrg index of _Hashtable_ebo_helper base class. 3566 1.1 mrg * testsuite/23_containers/unordered_map/dup_types.cc: New test. 3567 1.1 mrg 3568 1.1 mrg 2020-08-26 Jonathan Wakely <jwakely (a] redhat.com> 3569 1.1 mrg 3570 1.1 mrg PR libstdc++/71960 3571 1.1 mrg * include/experimental/string_view (basic_string_view): 3572 1.1 mrg Enable debug assertions. 3573 1.1 mrg * include/std/string_view (basic_string_view): 3574 1.1 mrg Likewise. 3575 1.1 mrg 3576 1.1 mrg 2020-08-26 Franois Dumont <fdumont (a] gcc.gnu.org> 3577 1.1 mrg 3578 1.1 mrg * include/bits/hashtable_policy.h (_Hashtable<>): Rename _H1 into _Hash 3579 1.1 mrg _H2 into _RangeHash and _Hash into _Unused. 3580 1.1 mrg (_Hastable_base<>): Likewise. 3581 1.1 mrg (_Map_base<>): Likewise. 3582 1.1 mrg (_Insert_base<>): Likewise. 3583 1.1 mrg (_Insert<>): Likewise. 3584 1.1 mrg (_Rehash_base<>): Likewise. 3585 1.1 mrg (_Local_iterator_base<>): Likewise. 3586 1.1 mrg (_Hash_code_base<>): Likewise. 3587 1.1 mrg (_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, false>): 3588 1.1 mrg Remove. 3589 1.1 mrg (_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, true>): 3590 1.1 mrg Remove. 3591 1.1 mrg (_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHas, _Unused, 3592 1.1 mrg bool>): Remove _Hashtable_ebo_helper<2, _RangeHash> base type.. 3593 1.1 mrg (_Hash_code_base<>::_M_bucket_index(const _Key&, __hash_code, size_t)): 3594 1.1 mrg Replace by... 3595 1.1 mrg (_Hash_code_base<>::_M_bucket_index(__hash_code, size_t)): ...this. 3596 1.1 mrg (_Local_iterator<>): Remove _H1 and _H2 template parameters. 3597 1.1 mrg (_Local_const_iterator<>): Likewise. 3598 1.1 mrg (_Equality<>): Likewise. 3599 1.1 mrg (_Map_base<>::operator[](const key_type&): Adapt. 3600 1.1 mrg (_Map_base<>::operator[](key_type&&): Adapt. 3601 1.1 mrg (_Identity::operator()): Add noexcept. 3602 1.1 mrg (_Select1st::operator()): Likewise. 3603 1.1 mrg (_Hash_code_base<>): Remove _Hashtable_ebo_helper<0, _ExtractKey> base 3604 1.1 mrg type. 3605 1.1 mrg (_Hash_code_base::_M_extract): Remove. 3606 1.1 mrg * include/bits/hashtable.h (_Hashtable<>): Remove _H1 and _H2 template 3607 1.1 mrg parameters. Remove _ExtractKey from constructors. 3608 1.1 mrg (_Hashtable<>::_M_insert_unique_node(const key_type&, size_t, 3609 1.1 mrg __hash_code, __node_type*, size_t)): Replace by... 3610 1.1 mrg (_Hashtable<>::_M_insert_unique_node(size_t, __hash_code, 3611 1.1 mrg __node_type*, size_t)): ...this. 3612 1.1 mrg (_Hashtable<>::_M_insert_muti_node(__node_type*, const key_type&, 3613 1.1 mrg __hash_code, __node_type*)): Replace by... 3614 1.1 mrg (_Hashtable<>::_M_insert_multi_node(__node_type*, __hash_code, 3615 1.1 mrg __node_type*)): ...this. 3616 1.1 mrg (_Hashtable<>::__key_extract): Remove. 3617 1.1 mrg * include/bits/node_handle.h: Adapt. 3618 1.1 mrg 3619 1.1 mrg 2020-08-25 Jonathan Wakely <jwakely (a] redhat.com> 3620 1.1 mrg 3621 1.1 mrg * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Removed. 3622 1.1 mrg * testsuite/21_strings/debug/self_move_assign_neg.cc: Removed. 3623 1.1 mrg * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc: Removed. 3624 1.1 mrg * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Removed. 3625 1.1 mrg * testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc: Removed. 3626 1.1 mrg * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc: Removed. 3627 1.1 mrg * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc: Removed. 3628 1.1 mrg * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Removed. 3629 1.1 mrg * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc: Removed. 3630 1.1 mrg * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Removed. 3631 1.1 mrg * testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc: Removed. 3632 1.1 mrg * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc: Removed. 3633 1.1 mrg * testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc: Removed. 3634 1.1 mrg * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc: Removed. 3635 1.1 mrg * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc: Removed. 3636 1.1 mrg * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Removed. 3637 1.1 mrg * testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc: Removed. 3638 1.1 mrg * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc: Removed. 3639 1.1 mrg * testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc: 3640 1.1 mrg Removed. 3641 1.1 mrg * testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc: Removed. 3642 1.1 mrg * testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc: 3643 1.1 mrg Removed. 3644 1.1 mrg * testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc: Removed. 3645 1.1 mrg * testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc: Removed. 3646 1.1 mrg * testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc: Removed. 3647 1.1 mrg * testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc: Removed. 3648 1.1 mrg * testsuite/23_containers/vector/debug/self_move_assign_neg.cc: Removed. 3649 1.1 mrg 3650 1.1 mrg 2020-08-25 Patrick Palka <ppalka (a] redhat.com> 3651 1.1 mrg 3652 1.1 mrg * include/std/chrono (year_month_weekday::ok): Fix assert. 3653 1.1 mrg 3654 1.1 mrg 2020-08-25 Jonathan Wakely <jwakely (a] redhat.com> 3655 1.1 mrg 3656 1.1 mrg * include/std/future (future, shared_future. promise): Add 3657 1.1 mrg is_destructible assertion (LWG 3466). Adjust string-literal for 3658 1.1 mrg !is_array and !is_function assertions. 3659 1.1 mrg * testsuite/30_threads/future/requirements/lwg3458.cc: Check 3660 1.1 mrg types with no accessible destructor. Adjust expected errors. 3661 1.1 mrg * testsuite/30_threads/promise/requirements/lwg3466.cc: 3662 1.1 mrg Likewise. 3663 1.1 mrg * testsuite/30_threads/shared_future/requirements/lwg3458.cc: 3664 1.1 mrg Likewise. 3665 1.1 mrg 3666 1.1 mrg 2020-08-25 Patrick Palka <ppalka (a] redhat.com> 3667 1.1 mrg Ed Smith-Rowland <3dw4rd (a] verizon.net> 3668 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 3669 1.1 mrg 3670 1.1 mrg * include/std/chrono (time_point::operator++) 3671 1.1 mrg (time_point::operator--): Define. 3672 1.1 mrg (utc_clock, tai_clock, gps_clock): Forward declare. 3673 1.1 mrg (utc_time, utc_seconds, tai_time, tai_seconds, gps_time) 3674 1.1 mrg (gps_seconds): Define. 3675 1.1 mrg (is_clock<utc_clock>, is_clock<tai_clock>, is_clock<gps_clock>) 3676 1.1 mrg (is_clock_v<utc_clock>, is_clock_v<tai_clock>) 3677 1.1 mrg (is_clock_v<gps_clock>): Define these specializations. 3678 1.1 mrg (leap_second_info): Define. 3679 1.1 mrg (day, month, year, weekday, weekday_indexed) 3680 1.1 mrg (weekday_last, month_day, month_day_last, month_weekday) 3681 1.1 mrg (month_weekday_last, year_month, year_month_day) 3682 1.1 mrg (year_month_day_last, year_month_weekday, year_month_weekday_last): 3683 1.1 mrg Declare and later define. 3684 1.1 mrg (last_spec, last, __detail::__days_per_month) 3685 1.1 mrg (__detail::__days_per_month, __detail::__last_day): Define. 3686 1.1 mrg (January, February, March, April, May, June, July, August) 3687 1.1 mrg (September, October, November, December, Sunday, Monday, Tuesday) 3688 1.1 mrg (Wednesday, Thursday, Friday, Saturday): Define. 3689 1.1 mrg (weekday::operator[]): Define out-of-line. 3690 1.1 mrg (year_month_day::_S_from_days, year_month_day::M_days_since_epoch): 3691 1.1 mrg Likewise. 3692 1.1 mrg (year_month_day::year_month_day, year_month_day::ok): Likewise. 3693 1.1 mrg (__detail::__pow10, hh_mm_ss): Define. 3694 1.1 mrg (literals::chrono_literals::operator""d) 3695 1.1 mrg (literals::chrono_literals::operator""y): Define. 3696 1.1 mrg (is_am, is_pm, make12, make24): Define. 3697 1.1 mrg * testsuite/20_util/time_point/4.cc: New test. 3698 1.1 mrg * testsuite/std/time/day/1.cc: New test. 3699 1.1 mrg * testsuite/std/time/hh_mm_ss/1.cc: New test. 3700 1.1 mrg * testsuite/std/time/is_am/1.cc: New test. 3701 1.1 mrg * testsuite/std/time/is_pm/1.cc: New test. 3702 1.1 mrg * testsuite/std/time/make12/1.cc: New test. 3703 1.1 mrg * testsuite/std/time/make24/1.cc: New test. 3704 1.1 mrg * testsuite/std/time/month/1.cc: New test. 3705 1.1 mrg * testsuite/std/time/month_day/1.cc: New test. 3706 1.1 mrg * testsuite/std/time/month_day_last/1.cc: New test. 3707 1.1 mrg * testsuite/std/time/month_weekday/1.cc: New test. 3708 1.1 mrg * testsuite/std/time/month_weekday_last/1.cc: New test. 3709 1.1 mrg * testsuite/std/time/weekday/1.cc: New test. 3710 1.1 mrg * testsuite/std/time/weekday_indexed/1.cc: New test. 3711 1.1 mrg * testsuite/std/time/weekday_last/1.cc: New test. 3712 1.1 mrg * testsuite/std/time/year/1.cc: New test. 3713 1.1 mrg * testsuite/std/time/year_month/1.cc: New test. 3714 1.1 mrg * testsuite/std/time/year_month_day/1.cc: New test. 3715 1.1 mrg * testsuite/std/time/year_month_day_last/1.cc: New test. 3716 1.1 mrg * testsuite/std/time/year_month_weekday/1.cc: New test. 3717 1.1 mrg * testsuite/std/time/year_month_weekday_last/1.cc: New test. 3718 1.1 mrg 3719 1.1 mrg 2020-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3720 1.1 mrg 3721 1.1 mrg * include/std/ranges (join_view): Add deduction guide (LWG 3474). 3722 1.1 mrg * testsuite/std/ranges/adaptors/join_lwg3474.cc: New test. 3723 1.1 mrg 3724 1.1 mrg 2020-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3725 1.1 mrg 3726 1.1 mrg * include/bits/iterator_concepts.h (indirectly_readable): Add 3727 1.1 mrg partial specializations to resolve ambiguities (LWG 3446). 3728 1.1 mrg * testsuite/24_iterators/associated_types/readable.traits.cc: 3729 1.1 mrg Check types with both value_type and element_type. 3730 1.1 mrg 3731 1.1 mrg 2020-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3732 1.1 mrg 3733 1.1 mrg * include/std/ranges (ranges::iota_view::size()): Perform all 3734 1.1 mrg calculations in the right unsigned types. 3735 1.1 mrg * testsuite/std/ranges/iota/size.cc: New test. 3736 1.1 mrg 3737 1.1 mrg 2020-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3738 1.1 mrg 3739 1.1 mrg PR libstdc++/96766 3740 1.1 mrg * include/std/variant (_Variant_storage): Replace implicit 3741 1.1 mrg conversions from size_t to __index_type with explicit casts. 3742 1.1 mrg 3743 1.1 mrg 2020-08-24 Jonathan Wakely <jwakely (a] redhat.com> 3744 1.1 mrg 3745 1.1 mrg * testsuite/30_threads/packaged_task/cons/alloc.cc: Run for 3746 1.1 mrg C++11 and skip for C++17 or later. 3747 1.1 mrg 3748 1.1 mrg 2020-08-24 Corentin Gay <gay (a] adacore.com> 3749 1.1 mrg 3750 1.1 mrg * testsuite/20_util/shared_ptr/atomic/3.cc: Do not require POSIX 3751 1.1 mrg threads and add -pthread only on targets supporting them. 3752 1.1 mrg * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: 3753 1.1 mrg Likewise. 3754 1.1 mrg * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: 3755 1.1 mrg Likewise. 3756 1.1 mrg * testsuite/30_threads/async/42819.cc: Likewise. 3757 1.1 mrg * testsuite/30_threads/async/49668.cc: Likewise. 3758 1.1 mrg * testsuite/30_threads/async/54297.cc: Likewise. 3759 1.1 mrg * testsuite/30_threads/async/any.cc: Likewise. 3760 1.1 mrg * testsuite/30_threads/async/async.cc: Likewise. 3761 1.1 mrg * testsuite/30_threads/async/except.cc: Likewise. 3762 1.1 mrg * testsuite/30_threads/async/launch.cc: Likewise. 3763 1.1 mrg * testsuite/30_threads/async/lwg2021.cc: Likewise. 3764 1.1 mrg * testsuite/30_threads/async/sync.cc: Likewise. : Likewise. 3765 1.1 mrg * testsuite/30_threads/call_once/39909.cc: Likewise. 3766 1.1 mrg * testsuite/30_threads/call_once/49668.cc: Likewise. 3767 1.1 mrg * testsuite/30_threads/call_once/60497.cc: Likewise. 3768 1.1 mrg * testsuite/30_threads/call_once/call_once1.cc: Likewise. 3769 1.1 mrg * testsuite/30_threads/call_once/dr2442.cc: Likewise. 3770 1.1 mrg * testsuite/30_threads/condition_variable/54185.cc: Likewise. 3771 1.1 mrg * testsuite/30_threads/condition_variable/cons/1.cc: Likewise. 3772 1.1 mrg * testsuite/30_threads/condition_variable/members/1.cc: Likewise. 3773 1.1 mrg * testsuite/30_threads/condition_variable/members/2.cc: Likewise. 3774 1.1 mrg * testsuite/30_threads/condition_variable/members/3.cc: Likewise. 3775 1.1 mrg * testsuite/30_threads/condition_variable/members/53841.cc: Likewise. 3776 1.1 mrg * testsuite/30_threads/condition_variable/members/68519.cc: Likewise. 3777 1.1 mrg * testsuite/30_threads/condition_variable/native_handle/typesizes.cc: 3778 1.1 mrg Likewise. 3779 1.1 mrg * testsuite/30_threads/condition_variable_any/50862.cc: Likewise. 3780 1.1 mrg * testsuite/30_threads/condition_variable_any/53830.cc: Likewise. 3781 1.1 mrg * testsuite/30_threads/condition_variable_any/cond.cc: Likewise. 3782 1.1 mrg * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise. 3783 1.1 mrg * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise. 3784 1.1 mrg * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise. 3785 1.1 mrg * testsuite/30_threads/future/cons/move.cc: Likewise. 3786 1.1 mrg * testsuite/30_threads/future/members/45133.cc: Likewise. 3787 1.1 mrg * testsuite/30_threads/future/members/get.cc: Likewise. 3788 1.1 mrg * testsuite/30_threads/future/members/get2.cc: Likewise. 3789 1.1 mrg * testsuite/30_threads/future/members/share.cc: Likewise. 3790 1.1 mrg * testsuite/30_threads/future/members/valid.cc: Likewise. 3791 1.1 mrg * testsuite/30_threads/future/members/wait.cc: Likewise. 3792 1.1 mrg * testsuite/30_threads/future/members/wait_for.cc: Likewise. 3793 1.1 mrg * testsuite/30_threads/future/members/wait_until.cc: Likewise. 3794 1.1 mrg * testsuite/30_threads/lock/1.cc: Likewise. 3795 1.1 mrg * testsuite/30_threads/lock/2.cc: Likewise. 3796 1.1 mrg * testsuite/30_threads/lock/3.cc: Likewise. 3797 1.1 mrg * testsuite/30_threads/lock/4.cc: Likewise. 3798 1.1 mrg * testsuite/30_threads/mutex/cons/1.cc: Likewise. 3799 1.1 mrg * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise. 3800 1.1 mrg * testsuite/30_threads/mutex/lock/1.cc: Likewise. 3801 1.1 mrg * testsuite/30_threads/mutex/native_handle/1.cc: Likewise. 3802 1.1 mrg * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise. 3803 1.1 mrg * testsuite/30_threads/mutex/try_lock/1.cc: Likewise. 3804 1.1 mrg * testsuite/30_threads/mutex/try_lock/2.cc: Likewise. 3805 1.1 mrg * testsuite/30_threads/mutex/unlock/1.cc: Likewise. 3806 1.1 mrg * testsuite/30_threads/mutex/unlock/2.cc: Likewise. 3807 1.1 mrg * testsuite/30_threads/packaged_task/49668.cc: Likewise. 3808 1.1 mrg * testsuite/30_threads/packaged_task/60564.cc: Likewise. 3809 1.1 mrg * testsuite/30_threads/packaged_task/cons/1.cc: Likewise. 3810 1.1 mrg * testsuite/30_threads/packaged_task/cons/2.cc: Likewise. 3811 1.1 mrg * testsuite/30_threads/packaged_task/cons/3.cc: Likewise. 3812 1.1 mrg * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise. 3813 1.1 mrg * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise. 3814 1.1 mrg * testsuite/30_threads/packaged_task/cons/move.cc: Likewise. 3815 1.1 mrg * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise. 3816 1.1 mrg * testsuite/30_threads/packaged_task/members/at_thread_exit.cc: 3817 1.1 mrg Likewise. 3818 1.1 mrg * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise. 3819 1.1 mrg * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise. 3820 1.1 mrg * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise. 3821 1.1 mrg * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise. 3822 1.1 mrg * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise. 3823 1.1 mrg * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise. 3824 1.1 mrg * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise. 3825 1.1 mrg * testsuite/30_threads/packaged_task/members/reset.cc: Likewise. 3826 1.1 mrg * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise. 3827 1.1 mrg * testsuite/30_threads/packaged_task/members/swap.cc: Likewise. 3828 1.1 mrg * testsuite/30_threads/packaged_task/members/valid.cc: Likewise. 3829 1.1 mrg * testsuite/30_threads/promise/60966.cc: Likewise. 3830 1.1 mrg * testsuite/30_threads/promise/cons/1.cc: Likewise. 3831 1.1 mrg * testsuite/30_threads/promise/cons/alloc.cc: Likewise. 3832 1.1 mrg * testsuite/30_threads/promise/cons/move.cc: Likewise. 3833 1.1 mrg * testsuite/30_threads/promise/cons/move_assign.cc: Likewise. 3834 1.1 mrg * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise. 3835 1.1 mrg * testsuite/30_threads/promise/members/at_thread_exit2.cc: Likewise. 3836 1.1 mrg * testsuite/30_threads/promise/members/get_future.cc: Likewise. 3837 1.1 mrg * testsuite/30_threads/promise/members/get_future2.cc: Likewise. 3838 1.1 mrg * testsuite/30_threads/promise/members/set_exception.cc: Likewise. 3839 1.1 mrg * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. 3840 1.1 mrg * testsuite/30_threads/promise/members/set_value.cc: Likewise. 3841 1.1 mrg * testsuite/30_threads/promise/members/set_value2.cc: Likewise. 3842 1.1 mrg * testsuite/30_threads/promise/members/set_value3.cc: Likewise. 3843 1.1 mrg * testsuite/30_threads/promise/members/swap.cc: Likewise. 3844 1.1 mrg * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise. 3845 1.1 mrg * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: 3846 1.1 mrg Likewise. 3847 1.1 mrg * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise. 3848 1.1 mrg * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise. 3849 1.1 mrg * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: 3850 1.1 mrg Likewise. 3851 1.1 mrg * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise. 3852 1.1 mrg * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise. 3853 1.1 mrg * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise. 3854 1.1 mrg * testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise. 3855 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise. 3856 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: 3857 1.1 mrg Likewise. 3858 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. 3859 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. 3860 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: 3861 1.1 mrg Likewise. 3862 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc: 3863 1.1 mrg Likewise. 3864 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise. 3865 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise. 3866 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: 3867 1.1 mrg Likewise. 3868 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: 3869 1.1 mrg Likewise. 3870 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: 3871 1.1 mrg Likewise. 3872 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: 3873 1.1 mrg Likewise. 3874 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: 3875 1.1 mrg Likewise. 3876 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise. 3877 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise. 3878 1.1 mrg * testsuite/30_threads/shared_future/cons/move.cc: Likewise. 3879 1.1 mrg * testsuite/30_threads/shared_future/members/45133.cc: Likewise. 3880 1.1 mrg * testsuite/30_threads/shared_future/members/get.cc: Likewise. 3881 1.1 mrg * testsuite/30_threads/shared_future/members/get2.cc: Likewise. 3882 1.1 mrg * testsuite/30_threads/shared_future/members/valid.cc: Likewise. 3883 1.1 mrg * testsuite/30_threads/shared_future/members/wait.cc: Likewise. 3884 1.1 mrg * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise. 3885 1.1 mrg * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise. 3886 1.1 mrg * testsuite/30_threads/shared_lock/cons/1.cc: Likewise. 3887 1.1 mrg * testsuite/30_threads/shared_lock/cons/2.cc: Likewise. 3888 1.1 mrg * testsuite/30_threads/shared_lock/cons/3.cc: Likewise. 3889 1.1 mrg * testsuite/30_threads/shared_lock/cons/4.cc: Likewise. 3890 1.1 mrg * testsuite/30_threads/shared_lock/cons/5.cc: Likewise. 3891 1.1 mrg * testsuite/30_threads/shared_lock/cons/6.cc: Likewise. 3892 1.1 mrg * testsuite/30_threads/shared_lock/locking/1.cc: Likewise. 3893 1.1 mrg * testsuite/30_threads/shared_lock/locking/2.cc: Likewise. 3894 1.1 mrg * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. 3895 1.1 mrg * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. 3896 1.1 mrg * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise. 3897 1.1 mrg * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise. 3898 1.1 mrg * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise. 3899 1.1 mrg * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise. 3900 1.1 mrg * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise. 3901 1.1 mrg * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise. 3902 1.1 mrg * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise. 3903 1.1 mrg * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise. 3904 1.1 mrg * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise. 3905 1.1 mrg * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise. 3906 1.1 mrg * testsuite/30_threads/this_thread/1.cc: Likewise. 3907 1.1 mrg * testsuite/30_threads/this_thread/sleep_for-mt.cc: Likewise. 3908 1.1 mrg * testsuite/30_threads/this_thread/sleep_until-mt.cc: Likewise. 3909 1.1 mrg * testsuite/30_threads/thread/cons/1.cc: Likewise. 3910 1.1 mrg * testsuite/30_threads/thread/cons/2.cc: Likewise. 3911 1.1 mrg * testsuite/30_threads/thread/cons/3.cc: Likewise. 3912 1.1 mrg * testsuite/30_threads/thread/cons/4.cc: Likewise. 3913 1.1 mrg * testsuite/30_threads/thread/cons/49668.cc: Likewise. 3914 1.1 mrg * testsuite/30_threads/thread/cons/5.cc: Likewise. 3915 1.1 mrg * testsuite/30_threads/thread/cons/6.cc: Likewise. 3916 1.1 mrg * testsuite/30_threads/thread/cons/7.cc: Likewise. 3917 1.1 mrg * testsuite/30_threads/thread/cons/8.cc: Likewise. 3918 1.1 mrg * testsuite/30_threads/thread/cons/9.cc: Likewise. 3919 1.1 mrg * testsuite/30_threads/thread/cons/moveable.cc: Likewise. 3920 1.1 mrg * testsuite/30_threads/thread/cons/terminate.cc: Likewise. 3921 1.1 mrg * testsuite/30_threads/thread/members/1.cc: Likewise. 3922 1.1 mrg * testsuite/30_threads/thread/members/2.cc: Likewise. 3923 1.1 mrg * testsuite/30_threads/thread/members/3.cc: Likewise. 3924 1.1 mrg * testsuite/30_threads/thread/members/4.cc: Likewise. 3925 1.1 mrg * testsuite/30_threads/thread/members/5.cc: Likewise. 3926 1.1 mrg * testsuite/30_threads/thread/members/hardware_concurrency.cc: 3927 1.1 mrg Likewise. 3928 1.1 mrg * testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise. 3929 1.1 mrg * testsuite/30_threads/thread/swap/1.cc: Likewise. 3930 1.1 mrg * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. 3931 1.1 mrg * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: 3932 1.1 mrg Likewise. 3933 1.1 mrg * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. 3934 1.1 mrg * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise. 3935 1.1 mrg * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: 3936 1.1 mrg Likewise. 3937 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. 3938 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. 3939 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. 3940 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. 3941 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. 3942 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. 3943 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. 3944 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise. 3945 1.1 mrg * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. 3946 1.1 mrg * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise. 3947 1.1 mrg * testsuite/30_threads/try_lock/1.cc: Likewise. 3948 1.1 mrg * testsuite/30_threads/try_lock/2.cc: Likewise. 3949 1.1 mrg * testsuite/30_threads/try_lock/3.cc: Likewise. 3950 1.1 mrg * testsuite/30_threads/try_lock/4.cc: Likewise. 3951 1.1 mrg * testsuite/30_threads/unique_lock/cons/1.cc: Likewise. 3952 1.1 mrg * testsuite/30_threads/unique_lock/cons/2.cc: Likewise. 3953 1.1 mrg * testsuite/30_threads/unique_lock/cons/3.cc: Likewise. 3954 1.1 mrg * testsuite/30_threads/unique_lock/cons/4.cc: Likewise. 3955 1.1 mrg * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. 3956 1.1 mrg * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. 3957 1.1 mrg * testsuite/30_threads/unique_lock/locking/1.cc: Likewise. 3958 1.1 mrg * testsuite/30_threads/unique_lock/locking/2.cc: Likewise. 3959 1.1 mrg * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. 3960 1.1 mrg * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. 3961 1.1 mrg * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. 3962 1.1 mrg 3963 1.1 mrg 2020-08-21 Jonathan Wakely <jwakely (a] redhat.com> 3964 1.1 mrg 3965 1.1 mrg PR libstdc++/96736 3966 1.1 mrg * testsuite/17_intro/headers/c++1998/all_attributes.cc: Do not 3967 1.1 mrg test "cold" on darwin. 3968 1.1 mrg * testsuite/17_intro/headers/c++2011/all_attributes.cc: 3969 1.1 mrg Likewise. 3970 1.1 mrg * testsuite/17_intro/headers/c++2014/all_attributes.cc: 3971 1.1 mrg Likewise. 3972 1.1 mrg * testsuite/17_intro/headers/c++2017/all_attributes.cc: 3973 1.1 mrg Likewise. 3974 1.1 mrg * testsuite/17_intro/headers/c++2020/all_attributes.cc: 3975 1.1 mrg Likewise. 3976 1.1 mrg 3977 1.1 mrg 2020-08-21 Jonathan Wakely <jwakely (a] redhat.com> 3978 1.1 mrg 3979 1.1 mrg PR libstdc++/96718 3980 1.1 mrg * testsuite/25_algorithms/pstl/feature_test-2.cc: Require 3981 1.1 mrg tbb-backend effective target. 3982 1.1 mrg * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise. 3983 1.1 mrg * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise. 3984 1.1 mrg * testsuite/25_algorithms/pstl/feature_test.cc: Likewise. 3985 1.1 mrg 3986 1.1 mrg 2020-08-20 Jonathan Wakely <jwakely (a] redhat.com> 3987 1.1 mrg 3988 1.1 mrg * include/bits/iterator_concepts.h [__STRICT_ANSI__] 3989 1.1 mrg (incrementable_traits<__int128>): Define specialization. 3990 1.1 mrg (incrementable_traits<unsigned __int128>): Likewise. 3991 1.1 mrg * testsuite/std/ranges/iota/96042.cc: Test iota_view with 3992 1.1 mrg __int128. 3993 1.1 mrg 3994 1.1 mrg 2020-08-19 Jonathan Wakely <jwakely (a] redhat.com> 3995 1.1 mrg Patrick Palka <ppalka (a] redhat.com> 3996 1.1 mrg 3997 1.1 mrg PR libstdc++/96042 3998 1.1 mrg * include/bits/range_access.h (__detail::__to_unsigned_like): 3999 1.1 mrg Do not use make_unsigned_t<T> in the return type, as it can 4000 1.1 mrg result in an error before the integral<T> constraint is checked. 4001 1.1 mrg [__STRICT_ANSI__]: Add overloads for 128-bit integer types. 4002 1.1 mrg (__detail::__make_unsigned_like_t): Define as the return type 4003 1.1 mrg of __to_unsigned_like. 4004 1.1 mrg * testsuite/std/ranges/subrange/96042.cc: New test. 4005 1.1 mrg 4006 1.1 mrg 2020-08-19 Jonathan Wakely <jwakely (a] redhat.com> 4007 1.1 mrg 4008 1.1 mrg * include/bits/stl_tree.h (operator!=, operator>, operator<=) 4009 1.1 mrg (operator>=): Remove deprecated functions. 4010 1.1 mrg 4011 1.1 mrg 2020-08-19 Jonathan Wakely <jwakely (a] redhat.com> 4012 1.1 mrg 4013 1.1 mrg PR libstdc++/96042 4014 1.1 mrg * include/ext/numeric_traits.h (__is_integer_nonstrict): New 4015 1.1 mrg trait which is true for 128-bit integers even in strict modes. 4016 1.1 mrg (__numeric_traits_integer, __numeric_traits): Use 4017 1.1 mrg __is_integer_nonstrict instead of __is_integer. 4018 1.1 mrg * include/std/limits [__STRICT_ANSI__ && __SIZEOF_INT128__] 4019 1.1 mrg (numeric_limits<__int128>, (numeric_limits<unsigned __int128>): 4020 1.1 mrg Define. 4021 1.1 mrg * testsuite/std/ranges/iota/96042.cc: New test. 4022 1.1 mrg 4023 1.1 mrg 2020-08-19 Jonathan Wakely <jwakely (a] redhat.com> 4024 1.1 mrg 4025 1.1 mrg * include/bits/c++config (_GLIBCXX_DEPRECATED_SUGGEST) 4026 1.1 mrg (_GLIBCXX11_DEPRECATED, _GLIBCXX11_DEPRECATED_SUGGEST) 4027 1.1 mrg (_GLIBCXX17_DEPRECATED_SUGGEST, _GLIBCXX20_DEPRECATED_SUGGEST): 4028 1.1 mrg Add new macros to comment. 4029 1.1 mrg 4030 1.1 mrg 2020-08-19 Patrick Palka <ppalka (a] redhat.com> 4031 1.1 mrg 4032 1.1 mrg * include/Makefile.am (bits_headers): Add new header 4033 1.1 mrg <bits/max_size_type.h>. 4034 1.1 mrg * include/Makefile.in: Regenerate. 4035 1.1 mrg * include/bits/iterator_concepts.h 4036 1.1 mrg (ranges::__detail::__max_diff_type): Remove definition, replace 4037 1.1 mrg with forward declaration of class __max_diff_type. 4038 1.1 mrg (__detail::__max_size_type): Remove definition, replace with 4039 1.1 mrg forward declaration of class __max_size_type. 4040 1.1 mrg (__detail::__is_unsigned_int128, __is_signed_int128) 4041 1.1 mrg (__is_int128): New concepts. 4042 1.1 mrg (__detail::__is_integer_like): Accept __int128 and unsigned 4043 1.1 mrg __int128. 4044 1.1 mrg (__detail::__is_signed_integer_like): Accept __int128. 4045 1.1 mrg * include/bits/max_size_type.h: New header. 4046 1.1 mrg * include/bits/range_access.h: Include <bits/max_size_type.h>. 4047 1.1 mrg (__detail::__to_unsigned_like): Two new overloads. 4048 1.1 mrg * testsuite/std/ranges/iota/difference_type.cc: New test. 4049 1.1 mrg * testsuite/std/ranges/iota/max_size_type.cc: New test. 4050 1.1 mrg 4051 1.1 mrg 2020-08-19 Jonathan Wakely <jwakely (a] redhat.com> 4052 1.1 mrg 4053 1.1 mrg * include/bits/c++config (_GLIBCXX_DEPRECATED): Define for all 4054 1.1 mrg standard modes. 4055 1.1 mrg (_GLIBCXX_DEPRECATED_SUGGEST): New macro for "use 'foo' instead" 4056 1.1 mrg message in deprecated warnings. 4057 1.1 mrg (_GLIBCXX11_DEPRECATED, _GLIBCXX11_DEPRECATED_SUGGEST): New 4058 1.1 mrg macros for marking features deprecated in C++11. 4059 1.1 mrg (_GLIBCXX17_DEPRECATED_SUGGEST, _GLIBCXX20_DEPRECATED_SUGGEST): 4060 1.1 mrg New macros. 4061 1.1 mrg * include/backward/auto_ptr.h (auto_ptr_ref, auto_ptr<void>): 4062 1.1 mrg Use _GLIBCXX11_DEPRECATED instead of _GLIBCXX_DEPRECATED. 4063 1.1 mrg (auto_ptr): Use _GLIBCXX11_DEPRECATED_SUGGEST. 4064 1.1 mrg * include/backward/binders.h (binder1st, binder2nd): Likewise. 4065 1.1 mrg * include/bits/ios_base.h (io_state, open_mode, seek_dir) 4066 1.1 mrg (streampos, streamoff): Use _GLIBCXX_DEPRECATED_SUGGEST. 4067 1.1 mrg * include/std/streambuf (stossc): Replace C++11 attribute 4068 1.1 mrg with _GLIBCXX_DEPRECATED_SUGGEST. 4069 1.1 mrg * include/std/type_traits (__is_nullptr_t): Use 4070 1.1 mrg _GLIBCXX_DEPRECATED_SUGGEST instead of _GLIBCXX_DEPRECATED. 4071 1.1 mrg * testsuite/27_io/types/1.cc: Check for deprecated warnings. 4072 1.1 mrg Also check for io_state, open_mode and seek_dir typedefs. 4073 1.1 mrg 4074 1.1 mrg 2020-08-19 Antony Polukhin <antoshkka (a] gmail.com> 4075 1.1 mrg 4076 1.1 mrg PR libstdc++/71579 4077 1.1 mrg * include/std/type_traits (invoke_result, is_nothrow_invocable_r) 4078 1.1 mrg Add static_asserts to make sure that the argument of the type 4079 1.1 mrg trait is not misused with incomplete types. 4080 1.1 mrg (is_swappable_with, is_nothrow_swappable_with): Add static_asserts 4081 1.1 mrg to make sure that the first and second arguments of the type trait 4082 1.1 mrg are not misused with incomplete types. 4083 1.1 mrg * testsuite/20_util/invoke_result/incomplete_neg.cc: New test. 4084 1.1 mrg * testsuite/20_util/is_nothrow_invocable/incomplete_neg.cc: New test. 4085 1.1 mrg * testsuite/20_util/is_nothrow_swappable/incomplete_neg.cc: New test. 4086 1.1 mrg * testsuite/20_util/is_nothrow_swappable_with/incomplete_neg.cc: New 4087 1.1 mrg test. 4088 1.1 mrg * testsuite/20_util/is_swappable_with/incomplete_neg.cc: New test. 4089 1.1 mrg 4090 1.1 mrg 2020-08-18 David Edelsohn <dje.gcc (a] gmail.com> 4091 1.1 mrg Clement Chigot <clement.chigot (a] atos.net> 4092 1.1 mrg 4093 1.1 mrg * config/os/aix/t-aix: Add complementary mode object files to 4094 1.1 mrg libsupc++.a 4095 1.1 mrg 4096 1.1 mrg 2020-08-18 Jonathan Wakely <jwakely (a] redhat.com> 4097 1.1 mrg 4098 1.1 mrg * testsuite/17_intro/headers/c++1998/all_attributes.cc: Check 4099 1.1 mrg "cold" isn't used in the library. Also check <cxxabi.h>. 4100 1.1 mrg * testsuite/17_intro/headers/c++2011/all_attributes.cc: 4101 1.1 mrg Likewise. 4102 1.1 mrg * testsuite/17_intro/headers/c++2014/all_attributes.cc: 4103 1.1 mrg Likewise. 4104 1.1 mrg * testsuite/17_intro/headers/c++2017/all_attributes.cc: 4105 1.1 mrg Likewise. 4106 1.1 mrg * testsuite/17_intro/headers/c++2020/all_attributes.cc: 4107 1.1 mrg Likewise. 4108 1.1 mrg 4109 1.1 mrg 2020-08-18 Jonathan Wakely <jwakely (a] redhat.com> 4110 1.1 mrg 4111 1.1 mrg PR libstdc++/69724 4112 1.1 mrg * include/std/future (__future_base::_S_make_deferred_state) 4113 1.1 mrg (__future_base::_S_make_async_state): Remove. 4114 1.1 mrg (__future_base::_Deferred_state): Change constructor to accept a 4115 1.1 mrg parameter pack of arguments and forward them to the call 4116 1.1 mrg wrapper. 4117 1.1 mrg (__future_base::_Async_state_impl): Likewise. Replace lambda 4118 1.1 mrg expression with a named member function. 4119 1.1 mrg (async): Construct state object directly from the arguments, 4120 1.1 mrg instead of using thread::__make_invoker, _S_make_deferred_state 4121 1.1 mrg and _S_make_async_state. Move shared state into the returned 4122 1.1 mrg future. 4123 1.1 mrg * include/std/thread (thread::_Call_wrapper): New alias 4124 1.1 mrg template for use by constructor and std::async. 4125 1.1 mrg (thread::thread(Callable&&, Args&&...)): Create state object 4126 1.1 mrg directly instead of using _S_make_state. 4127 1.1 mrg (thread::__make_invoker, thread::__decayed_tuple) 4128 1.1 mrg (thread::_S_make_state): Remove. 4129 1.1 mrg * testsuite/30_threads/async/69724.cc: New test. 4130 1.1 mrg 4131 1.1 mrg 2020-08-17 Jonathan Wakely <jwakely (a] redhat.com> 4132 1.1 mrg 4133 1.1 mrg PR libstdc++/55713 4134 1.1 mrg PR libstdc++/71096 4135 1.1 mrg PR libstdc++/93147 4136 1.1 mrg * include/std/tuple [__has_cpp_attribute(no_unique_address)] 4137 1.1 mrg (_Head_base<Idx, Head, true>): New definition of the partial 4138 1.1 mrg specialization, using [[no_unique_address]] instead of 4139 1.1 mrg inheritance. 4140 1.1 mrg * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected 4141 1.1 mrg output. 4142 1.1 mrg * testsuite/20_util/tuple/comparison_operators/93147.cc: New test. 4143 1.1 mrg * testsuite/20_util/tuple/creation_functions/55713.cc: New test. 4144 1.1 mrg * testsuite/20_util/tuple/element_access/71096.cc: New test. 4145 1.1 mrg 4146 1.1 mrg 2020-08-14 Lewis Hyatt <lhyatt (a] gmail.com> 4147 1.1 mrg 4148 1.1 mrg * testsuite/lib/libstdc++.exp: Use the new option 4149 1.1 mrg -fdiagnostics-plain-output. 4150 1.1 mrg 4151 1.1 mrg 2020-08-13 Jonathan Wakely <jwakely (a] redhat.com> 4152 1.1 mrg 4153 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Warn if the c_std 4154 1.1 mrg option is used and fail unless --enable-cheaders-obsolete is 4155 1.1 mrg also used. 4156 1.1 mrg * configure: Regenerate. 4157 1.1 mrg 4158 1.1 mrg 2020-08-12 Jonathan Wakely <jwakely (a] redhat.com> 4159 1.1 mrg 4160 1.1 mrg PR libstdc++/85828 4161 1.1 mrg * include/bits/basic_string.h (operator=(basic_string&&)): Check 4162 1.1 mrg for self-move before copying with char_traits::copy. 4163 1.1 mrg * include/bits/hashtable.h (operator=(_Hashtable&&)): Check for 4164 1.1 mrg self-move. 4165 1.1 mrg * include/bits/stl_deque.h (_M_move_assign1(deque&&, false_type)): 4166 1.1 mrg Check for equal allocators. 4167 1.1 mrg * include/bits/stl_list.h (_M_move_assign(list&&, true_type)): 4168 1.1 mrg Call clear() instead of _M_clear(). 4169 1.1 mrg * include/debug/formatter.h (__msg_self_move_assign): Change 4170 1.1 mrg comment. 4171 1.1 mrg * include/debug/macros.h (__glibcxx_check_self_move_assign): 4172 1.1 mrg (_GLIBCXX_DEBUG_VERIFY): Remove. 4173 1.1 mrg * include/debug/safe_container.h (operator=(_Safe_container&&)): 4174 1.1 mrg Remove assertion check for safe move and make it well-defined. 4175 1.1 mrg * include/debug/safe_iterator.h (operator=(_Safe_iterator&&)): 4176 1.1 mrg Remove assertion check for self-move. 4177 1.1 mrg * include/debug/safe_local_iterator.h 4178 1.1 mrg (operator=(_Safe_local_iterator&&)): Likewise. 4179 1.1 mrg * testsuite/21_strings/basic_string/cons/char/self_move.cc: New test. 4180 1.1 mrg * testsuite/23_containers/deque/cons/self_move.cc: New test. 4181 1.1 mrg * testsuite/23_containers/forward_list/cons/self_move.cc: New test. 4182 1.1 mrg * testsuite/23_containers/list/cons/self_move.cc: New test. 4183 1.1 mrg * testsuite/23_containers/set/cons/self_move.cc: New test. 4184 1.1 mrg * testsuite/23_containers/unordered_set/cons/self_move.cc: New test. 4185 1.1 mrg * testsuite/23_containers/vector/cons/self_move.cc: New test. 4186 1.1 mrg 4187 1.1 mrg 2020-08-11 Franois Dumont <fdumont (a] gcc.gnu.org> 4188 1.1 mrg 4189 1.1 mrg PR libstdc++/91620 4190 1.1 mrg * include/bits/forward_list.tcc (forward_list<>::remove): Collect nodes 4191 1.1 mrg to destroy in an intermediate forward_list. 4192 1.1 mrg (forward_list<>::remove_if, forward_list<>::unique): Likewise. 4193 1.1 mrg * include/bits/list.tcc (list<>::remove, list<>::unique): Likewise. 4194 1.1 mrg (list<>::remove_if): Likewise. 4195 1.1 mrg * include/debug/forward_list (forward_list<>::_M_erase_after): Remove. 4196 1.1 mrg (forward_list<>::erase_after): Adapt. 4197 1.1 mrg (forward_list<>::remove, forward_list<>::remove_if): Collect nodes to 4198 1.1 mrg destroy in an intermediate forward_list. 4199 1.1 mrg (forward_list<>::unique): Likewise. 4200 1.1 mrg * include/debug/list (list<>::remove, list<>::unique): Likewise. 4201 1.1 mrg (list<>::remove_if): Likewise. 4202 1.1 mrg * testsuite/23_containers/forward_list/operations/91620.cc: New test. 4203 1.1 mrg * testsuite/23_containers/list/operations/91620.cc: New test. 4204 1.1 mrg 4205 1.1 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com> 4206 1.1 mrg 4207 1.1 mrg * testsuite/30_threads/thread/cons/84535.cc: Use a custom 4208 1.1 mrg namespace. 4209 1.1 mrg * testsuite/30_threads/thread/cons/lwg2097.cc: Likewise. 4210 1.1 mrg 4211 1.1 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com> 4212 1.1 mrg 4213 1.1 mrg PR libstdc++/89760 4214 1.1 mrg * include/experimental/executor [!_GLIBCXX_HAS_GTHREADS]: 4215 1.1 mrg (execution_context::mutex_type): Define dummy mutex type. 4216 1.1 mrg (system_context): Use execution_context::mutex_type. 4217 1.1 mrg (system_context) [!_GLIBCXX_HAS_GTHREADS]: Define dummy 4218 1.1 mrg thread and condition variable types. 4219 1.1 mrg [!_GLIBCXX_HAS_GTHREADS] (system_context::_M_run()): Do not 4220 1.1 mrg define. 4221 1.1 mrg (system_context::_M_post) [!_GLIBCXX_HAS_GTHREADS]: Throw 4222 1.1 mrg an exception when threads aren't available. 4223 1.1 mrg (strand::running_in_this_thread()): Defer to _M_state. 4224 1.1 mrg (strand::_State::running_in_this_thread()): New function. 4225 1.1 mrg (use_future_t): Do not depend on _GLIBCXX_USE_C99_STDINT_TR1. 4226 1.1 mrg * include/experimental/io_context (io_context): Use the 4227 1.1 mrg execution_context::mutex_type alias. Replace stack of thread 4228 1.1 mrg IDs with counter. 4229 1.1 mrg * testsuite/experimental/net/execution_context/use_service.cc: 4230 1.1 mrg Enable test for non-pthread targets. 4231 1.1 mrg 4232 1.1 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com> 4233 1.1 mrg 4234 1.1 mrg * include/experimental/executor (system_context::a__tag): Make 4235 1.1 mrg default constructor explicit. 4236 1.1 mrg 4237 1.1 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com> 4238 1.1 mrg 4239 1.1 mrg * include/experimental/executor (system_context::_M_run()): 4240 1.1 mrg Fix predicate. 4241 1.1 mrg * testsuite/experimental/net/system_context/1.cc: New test. 4242 1.1 mrg 4243 1.1 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com> 4244 1.1 mrg 4245 1.1 mrg * include/std/stop_token: Check _GLIBCXX_HAS_GTHREADS using 4246 1.1 mrg #ifdef instead of #if. 4247 1.1 mrg (stop_token::_S_yield()): Check _GLIBCXX_HAS_GTHREADS before 4248 1.1 mrg using __gthread_yield. 4249 1.1 mrg 4250 1.1 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com> 4251 1.1 mrg 4252 1.1 mrg * include/std/thread [!_GLIBCXX_HAS_GTHREADS] (this_thread::yield) 4253 1.1 mrg (this_thread::sleep_until): Define. 4254 1.1 mrg [!_GLIBCXX_HAS_GTHREADS] (this_thread::sleep_for): Define. Replace 4255 1.1 mrg use of __gthread_time_t typedef with timespec. 4256 1.1 mrg * src/c++11/thread.cc [!_GLIBCXX_HAS_GTHREADS] (__sleep_for): 4257 1.1 mrg Likewise. 4258 1.1 mrg * testsuite/30_threads/this_thread/2.cc: Moved to... 4259 1.1 mrg * testsuite/30_threads/this_thread/yield.cc: ...here. 4260 1.1 mrg * testsuite/30_threads/this_thread/3.cc: Moved to... 4261 1.1 mrg * testsuite/30_threads/this_thread/sleep_for-mt.cc: ...here. 4262 1.1 mrg * testsuite/30_threads/this_thread/4.cc: Moved to... 4263 1.1 mrg * testsuite/30_threads/this_thread/sleep_until-mt.cc: ...here. 4264 1.1 mrg * testsuite/30_threads/this_thread/58038.cc: Add 4265 1.1 mrg dg-require-sleep. 4266 1.1 mrg * testsuite/30_threads/this_thread/60421.cc: Likewise. 4267 1.1 mrg * testsuite/30_threads/this_thread/sleep_for.cc: New test. 4268 1.1 mrg * testsuite/30_threads/this_thread/sleep_until.cc: New test. 4269 1.1 mrg 4270 1.1 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com> 4271 1.1 mrg 4272 1.1 mrg PR libstdc++/94681 4273 1.1 mrg * src/c++17/fs_ops.cc (read_symlink): Use posix::lstat instead 4274 1.1 mrg of calling ::lstat directly. 4275 1.1 mrg * src/filesystem/ops.cc (read_symlink): Likewise. 4276 1.1 mrg 4277 1.1 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com> 4278 1.1 mrg 4279 1.1 mrg * python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__): 4280 1.1 mrg Use gdb.Type.strip_typedefs(). 4281 1.1 mrg * testsuite/libstdc++-prettyprinters/compat.cc: Use a typedef in 4282 1.1 mrg the emulated old type. 4283 1.1 mrg 4284 1.1 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com> 4285 1.1 mrg 4286 1.1 mrg PR libstdc++/94681 4287 1.1 mrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Do not depend on 4288 1.1 mrg $enable_libstdcxx_filesystem_ts. 4289 1.1 mrg * configure: Regenerate. 4290 1.1 mrg 4291 1.1 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com> 4292 1.1 mrg 4293 1.1 mrg PR libstdc++/93904 4294 1.1 mrg * include/bits/stl_iterator.h (inserter): Do not deduce 4295 1.1 mrg iterator type (LWG 561). 4296 1.1 mrg * testsuite/24_iterators/insert_iterator/dr561.cc: New test. 4297 1.1 mrg 4298 1.1 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com> 4299 1.1 mrg 4300 1.1 mrg * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI=0] 4301 1.1 mrg (basic_string::reserve()): Do nothing if exceptions are not 4302 1.1 mrg enabled. 4303 1.1 mrg 4304 1.1 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com> 4305 1.1 mrg 4306 1.1 mrg PR libstdc++/95749 4307 1.1 mrg * src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS] 4308 1.1 mrg (stat_type): Change to __stat64. 4309 1.1 mrg (stat): Use _wstat64. 4310 1.1 mrg 4311 1.1 mrg 2020-08-07 Jonathan Wakely <jwakely (a] redhat.com> 4312 1.1 mrg 4313 1.1 mrg PR libstdc++/96303 4314 1.1 mrg * include/debug/bitset (bitset::operator==): Call _M_base() on 4315 1.1 mrg right operand. 4316 1.1 mrg (bitset::operator!=): Likewise, but don't define it at all when 4317 1.1 mrg default comparisons are supported by the compiler. 4318 1.1 mrg * testsuite/23_containers/bitset/operations/96303.cc: New test. 4319 1.1 mrg 4320 1.1 mrg 2020-08-07 Jonathan Wakely <jwakely (a] redhat.com> 4321 1.1 mrg 4322 1.1 mrg * testsuite/18_support/comparisons/algorithms/partial_order.cc: 4323 1.1 mrg Replace VERIFY with static_assert where the compiler now 4324 1.1 mrg allows it. 4325 1.1 mrg * testsuite/18_support/comparisons/algorithms/weak_order.cc: 4326 1.1 mrg Likewise. 4327 1.1 mrg 4328 1.1 mrg 2020-08-07 Jonathan Wakely <jwakely (a] redhat.com> 4329 1.1 mrg 4330 1.1 mrg * config/abi/pre/gnu.ver: Fix wildcards for wstring symbols. 4331 1.1 mrg 4332 1.1 mrg 2020-08-06 Andrew Luo <andrewluotechnologies (a] outlook.com> 4333 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 4334 1.1 mrg 4335 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4): Use less greedy 4336 1.1 mrg patterns for basic_string members. 4337 1.1 mrg (GLIBCXX_3.4.29): Export new basic_string::reserve symbols. 4338 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update P0966 status. 4339 1.1 mrg * include/bits/basic_string.h (shrink_to_fit()): Call reserve(). 4340 1.1 mrg (reserve(size_type)): Remove default argument. 4341 1.1 mrg (reserve()): Declare new overload. 4342 1.1 mrg [!_GLIBCXX_USE_CXX11_ABI] (shrink_to_fit, reserve): Likewise. 4343 1.1 mrg * include/bits/basic_string.tcc (reserve(size_type)): Remove 4344 1.1 mrg support for shrinking capacity. 4345 1.1 mrg (reserve()): Perform shrink-to-fit operation. 4346 1.1 mrg [!_GLIBCXX_USE_CXX11_ABI] (reserve): Likewise. 4347 1.1 mrg * testsuite/21_strings/basic_string/capacity/1.cc: Adjust to 4348 1.1 mrg reflect new behavior. 4349 1.1 mrg * testsuite/21_strings/basic_string/capacity/char/1.cc: 4350 1.1 mrg Likewise. 4351 1.1 mrg * testsuite/21_strings/basic_string/capacity/char/18654.cc: 4352 1.1 mrg Likewise. 4353 1.1 mrg * testsuite/21_strings/basic_string/capacity/char/2.cc: 4354 1.1 mrg Likewise. 4355 1.1 mrg * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: 4356 1.1 mrg Likewise. 4357 1.1 mrg * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: 4358 1.1 mrg Likewise. 4359 1.1 mrg * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: 4360 1.1 mrg Likewise. 4361 1.1 mrg 4362 1.1 mrg 2020-08-06 Jonathan Wakely <jwakely (a] redhat.com> 4363 1.1 mrg 4364 1.1 mrg * include/bits/basic_string.tcc 4365 1.1 mrg (operator>>(basic_istream&, basic_string&)): Do not set eofbit 4366 1.1 mrg if extraction stopped after in.width() characters. 4367 1.1 mrg * src/c++98/istream-string.cc (operator>>(istream&, string&)): 4368 1.1 mrg Likewise. 4369 1.1 mrg * include/bits/istream.tcc (__istream_extract): Do not set 4370 1.1 mrg eofbit if extraction stopped after n-1 characters. 4371 1.1 mrg * src/c++98/istream.cc (__istream_extract): Likewise. 4372 1.1 mrg * testsuite/21_strings/basic_string/inserters_extractors/char/13.cc: New test. 4373 1.1 mrg * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/13.cc: New test. 4374 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/char/5.cc: New test. 4375 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/wchar_t/5.cc: New test. 4376 1.1 mrg 4377 1.1 mrg 2020-08-06 Jonathan Wakely <jwakely (a] redhat.com> 4378 1.1 mrg 4379 1.1 mrg PR libstdc++/96484 4380 1.1 mrg * src/c++17/fs_ops.cc (fs::read_symlink): Return an error 4381 1.1 mrg immediately for non-symlinks. 4382 1.1 mrg * src/filesystem/ops.cc (fs::read_symlink): Likewise. 4383 1.1 mrg 4384 1.1 mrg 2020-08-06 Jonathan Wakely <jwakely (a] redhat.com> 4385 1.1 mrg 4386 1.1 mrg * include/std/istream (operator>>(istream&, char*)): Add 4387 1.1 mrg attributes to get warnings for pointers that are null or known 4388 1.1 mrg to point to the end of a buffer. Request upper bound from 4389 1.1 mrg __builtin_object_size check and handle zero-sized buffer case. 4390 1.1 mrg (operator>>(istream&, signed char)) 4391 1.1 mrg (operator>>(istream&, unsigned char*)): Add attributes. 4392 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/char/overflow.cc: 4393 1.1 mrg Check extracting into the middle of a buffer. 4394 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/wchar_t/overflow.cc: New test. 4395 1.1 mrg 4396 1.1 mrg 2020-08-05 Jonathan Wakely <jwakely (a] redhat.com> 4397 1.1 mrg 4398 1.1 mrg * include/std/atomic (atomic<T>::store): Reformat. 4399 1.1 mrg 4400 1.1 mrg 2020-08-05 Jonathan Wakely <jwakely (a] redhat.com> 4401 1.1 mrg 4402 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Replace oneAPI DPC++ link 4403 1.1 mrg with LLVM repo for PSTL. 4404 1.1 mrg * doc/html/manual/status.html: Regenerate. 4405 1.1 mrg 4406 1.1 mrg 2020-08-05 Jonathan Wakely <jwakely (a] redhat.com> 4407 1.1 mrg 4408 1.1 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Export new symbols. 4409 1.1 mrg * include/bits/istream.tcc (__istream_extract): New function 4410 1.1 mrg template implementing both of operator>>(istream&, char*) and 4411 1.1 mrg operator>>(istream&, char(&)[N]). Add explicit instantiation 4412 1.1 mrg declaration for it. Remove explicit instantiation declarations 4413 1.1 mrg for old function templates. 4414 1.1 mrg * include/std/istream (__istream_extract): Declare. 4415 1.1 mrg (operator>>(basic_istream<C,T>&, C*)): Define inline and simply 4416 1.1 mrg call __istream_extract. 4417 1.1 mrg (operator>>(basic_istream<char,T>&, signed char*)): Likewise. 4418 1.1 mrg (operator>>(basic_istream<char,T>&, unsigned char*)): Likewise. 4419 1.1 mrg (operator>>(basic_istream<C,T>&, C(7)[N])): Define for LWG 2499. 4420 1.1 mrg (operator>>(basic_istream<char,T>&, signed char(&)[N])): 4421 1.1 mrg Likewise. 4422 1.1 mrg (operator>>(basic_istream<char,T>&, unsigned char(&)[N])): 4423 1.1 mrg Likewise. 4424 1.1 mrg * include/std/streambuf (basic_streambuf): Declare char overload 4425 1.1 mrg of __istream_extract as a friend. 4426 1.1 mrg * src/c++11/istream-inst.cc: Add explicit instantiation 4427 1.1 mrg definition for wchar_t overload of __istream_extract. Remove 4428 1.1 mrg explicit instantiation definitions of old operator>> overloads 4429 1.1 mrg for versioned-namespace build. 4430 1.1 mrg * src/c++98/istream.cc (operator>>(istream&, char*)): Replace 4431 1.1 mrg with __istream_extract(istream&, char*, streamsize). 4432 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/char/3.cc: 4433 1.1 mrg Do not use variable-length array. 4434 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/char/4.cc: 4435 1.1 mrg Do not run test for C++20. 4436 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc: 4437 1.1 mrg Do not test writing to pointers for C++20. 4438 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/char/9826.cc: 4439 1.1 mrg Use array instead of pointer. 4440 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc: 4441 1.1 mrg Do not use variable-length array. 4442 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc: 4443 1.1 mrg Do not run test for C++20. 4444 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/wchar_t/9555-ic.cc: 4445 1.1 mrg Do not test writing to pointers for C++20. 4446 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc: 4447 1.1 mrg New test. 4448 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc: 4449 1.1 mrg New test. 4450 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/char/overflow.cc: 4451 1.1 mrg New test. 4452 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc: 4453 1.1 mrg New test. 4454 1.1 mrg * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc: 4455 1.1 mrg New test. 4456 1.1 mrg 4457 1.1 mrg 2020-08-01 Gerald Pfeifer <gerald (a] pfeifer.com> 4458 1.1 mrg 4459 1.1 mrg * doc/xml/manual/using_exceptions.xml: Move www.stroustrup.com to 4460 1.1 mrg https. 4461 1.1 mrg * doc/html/manual/using_exceptions.html: Regenerate. 4462 1.1 mrg 4463 1.1 mrg 2020-07-31 Gerald Pfeifer <gerald (a] pfeifer.com> 4464 1.1 mrg 4465 1.1 mrg * doc/xml/manual/status_cxx2017.xml: ParallelSTL is now part 4466 1.1 mrg of oneAPI DPC++ Library on Github. 4467 1.1 mrg * doc/html/manual/status.html: Regenerate. 4468 1.1 mrg 4469 1.1 mrg 2020-07-31 Franois Dumont <fdumont (a] gcc.gnu.org> 4470 1.1 mrg 4471 1.1 mrg * include/bits/stl_bvector.h 4472 1.1 mrg [_GLIBCXX_INLINE_VERSION](_Bvector_impl_data::_M_start): Define as 4473 1.1 mrg _Bit_type*. 4474 1.1 mrg (_Bvector_impl_data(const _Bvector_impl_data&)): Default. 4475 1.1 mrg (_Bvector_impl_data(_Bvector_impl_data&&)): Delegate to latter. 4476 1.1 mrg (_Bvector_impl_data::operator=(const _Bvector_impl_data&)): Default. 4477 1.1 mrg (_Bvector_impl_data::_M_move_data(_Bvector_impl_data&&)): Use latter. 4478 1.1 mrg (_Bvector_impl_data::_M_reset()): Likewise. 4479 1.1 mrg (_Bvector_impl_data::_M_swap_data): New. 4480 1.1 mrg (_Bvector_impl::_Bvector_impl(_Bvector_impl&&)): Implement explicitely. 4481 1.1 mrg (_Bvector_impl::_Bvector_impl(_Bit_alloc_type&&, _Bvector_impl&&)): New. 4482 1.1 mrg (_Bvector_base::_Bvector_base(_Bvector_base&&, const allocator_type&)): 4483 1.1 mrg New, use latter. 4484 1.1 mrg (vector::vector(vector&&, const allocator_type&, true_type)): New, use 4485 1.1 mrg latter. 4486 1.1 mrg (vector::vector(vector&&, const allocator_type&, false_type)): New. 4487 1.1 mrg (vector::vector(vector&&, const allocator_type&)): Use latters. 4488 1.1 mrg (vector::vector(const vector&, const allocator_type&)): Adapt. 4489 1.1 mrg [__cplusplus >= 201103](vector::vector(_InputIt, _InputIt, 4490 1.1 mrg const allocator_type&)): Use _M_initialize_range. 4491 1.1 mrg (vector::operator[](size_type)): Use iterator operator[]. 4492 1.1 mrg (vector::operator[](size_type) const): Use const_iterator operator[]. 4493 1.1 mrg (vector::swap(vector&)): Add assertions on allocators. Use _M_swap_data. 4494 1.1 mrg [__cplusplus >= 201103](vector::insert(const_iterator, _InputIt, 4495 1.1 mrg _InputIt)): Use _M_insert_range. 4496 1.1 mrg (vector::_M_initialize(size_type)): Adapt. 4497 1.1 mrg [__cplusplus >= 201103](vector::_M_initialize_dispatch): Remove. 4498 1.1 mrg [__cplusplus >= 201103](vector::_M_insert_dispatch): Remove. 4499 1.1 mrg * python/libstdcxx/v6/printers.py (StdVectorPrinter._iterator): Stop 4500 1.1 mrg using start _M_offset. 4501 1.1 mrg (StdVectorPrinter.to_string): Likewise. 4502 1.1 mrg * testsuite/23_containers/vector/bool/allocator/swap.cc: Adapt. 4503 1.1 mrg * testsuite/23_containers/vector/bool/cons/noexcept_move_construct.cc: 4504 1.1 mrg Add check. 4505 1.1 mrg 4506 1.1 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com> 4507 1.1 mrg 4508 1.1 mrg * testsuite/27_io/basic_istream/ignore/char/94749.cc: Use 0 4509 1.1 mrg instead of nullptr. 4510 1.1 mrg * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc: 4511 1.1 mrg Likewise. 4512 1.1 mrg 4513 1.1 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com> 4514 1.1 mrg 4515 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/sizes.cc: 4516 1.1 mrg Move struct to namespace scope. 4517 1.1 mrg 4518 1.1 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com> 4519 1.1 mrg 4520 1.1 mrg * testsuite/26_numerics/numbers/float128.cc: Check 4521 1.1 mrg __STRICT_ANSI__ before using __float128. 4522 1.1 mrg * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: 4523 1.1 mrg Likewise. 4524 1.1 mrg 4525 1.1 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com> 4526 1.1 mrg 4527 1.1 mrg * testsuite/18_support/set_terminate.cc: Require C++11 or 4528 1.1 mrg higher. 4529 1.1 mrg * testsuite/28_regex/simple_c++11.cc: Likewise. 4530 1.1 mrg * testsuite/tr1/headers/c++200x/complex.cc: Likewise. 4531 1.1 mrg * testsuite/24_iterators/headers/iterator/synopsis.cc: 4532 1.1 mrg Require C++14 or lower. 4533 1.1 mrg 4534 1.1 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com> 4535 1.1 mrg 4536 1.1 mrg * testsuite/23_containers/span/back_assert_neg.cc: Split c++2a 4537 1.1 mrg effective-target from xfail selector. 4538 1.1 mrg * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. 4539 1.1 mrg * testsuite/23_containers/span/first_assert_neg.cc: Likewise. 4540 1.1 mrg * testsuite/23_containers/span/front_assert_neg.cc: Likewise. 4541 1.1 mrg * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. 4542 1.1 mrg * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise. 4543 1.1 mrg * testsuite/23_containers/span/last_assert_neg.cc: Likewise. 4544 1.1 mrg * testsuite/23_containers/span/subspan_2_assert_neg.cc: 4545 1.1 mrg Likewise. 4546 1.1 mrg * testsuite/23_containers/span/subspan_3_assert_neg.cc: 4547 1.1 mrg Likewise. 4548 1.1 mrg * testsuite/23_containers/span/subspan_4_assert_neg.cc: 4549 1.1 mrg Likewise. 4550 1.1 mrg * testsuite/23_containers/span/subspan_5_assert_neg.cc: 4551 1.1 mrg Likewise. 4552 1.1 mrg * testsuite/23_containers/span/subspan_6_assert_neg.cc: 4553 1.1 mrg Likewise. 4554 1.1 mrg * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise. 4555 1.1 mrg 4556 1.1 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com> 4557 1.1 mrg 4558 1.1 mrg * testsuite/20_util/reference_wrapper/83427.cc: Adjust 4559 1.1 mrg effective-target to specific language mode only. 4560 1.1 mrg * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: 4561 1.1 mrg Likewise. 4562 1.1 mrg * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: 4563 1.1 mrg Likewise. 4564 1.1 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: 4565 1.1 mrg Likewise. 4566 1.1 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: 4567 1.1 mrg Likewise. 4568 1.1 mrg * testsuite/26_numerics/valarray/69116.cc: 4569 1.1 mrg Likewise. 4570 1.1 mrg * testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc: 4571 1.1 mrg Remove whitespace at end of file. 4572 1.1 mrg * testsuite/30_threads/headers/future/std_c++0x_neg.cc: 4573 1.1 mrg Likewise. 4574 1.1 mrg 4575 1.1 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com> 4576 1.1 mrg 4577 1.1 mrg * testsuite/17_intro/headers/c++2017/all_attributes.cc: Add 4578 1.1 mrg c++17 effective-target. 4579 1.1 mrg * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: 4580 1.1 mrg Likewise. 4581 1.1 mrg * testsuite/17_intro/headers/c++2017/all_no_rtti.cc: Likewise. 4582 1.1 mrg * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: 4583 1.1 mrg Likewise. 4584 1.1 mrg * testsuite/17_intro/headers/c++2017/operator_names.cc: 4585 1.1 mrg Likewise. 4586 1.1 mrg * testsuite/17_intro/headers/c++2017/stdc++.cc: Likewise. 4587 1.1 mrg * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc: 4588 1.1 mrg Likewise. 4589 1.1 mrg * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: 4590 1.1 mrg Likewise. 4591 1.1 mrg * testsuite/19_diagnostics/error_code/is_error_code_v.cc: 4592 1.1 mrg Likewise. 4593 1.1 mrg * testsuite/20_util/any/assign/1.cc: Likewise. 4594 1.1 mrg * testsuite/20_util/any/assign/2.cc: Likewise. 4595 1.1 mrg * testsuite/20_util/any/assign/emplace.cc: Likewise. 4596 1.1 mrg * testsuite/20_util/any/assign/exception.cc: Likewise. 4597 1.1 mrg * testsuite/20_util/any/assign/self.cc: Likewise. 4598 1.1 mrg * testsuite/20_util/any/cons/1.cc: Likewise. 4599 1.1 mrg * testsuite/20_util/any/cons/2.cc: Likewise. 4600 1.1 mrg * testsuite/20_util/any/cons/aligned.cc: Likewise. 4601 1.1 mrg * testsuite/20_util/any/cons/explicit.cc: Likewise. 4602 1.1 mrg * testsuite/20_util/any/cons/in_place.cc: Likewise. 4603 1.1 mrg * testsuite/20_util/any/cons/nontrivial.cc: Likewise. 4604 1.1 mrg * testsuite/20_util/any/make_any.cc: Likewise. 4605 1.1 mrg * testsuite/20_util/any/misc/any_cast.cc: Likewise. 4606 1.1 mrg * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise. 4607 1.1 mrg * testsuite/20_util/any/misc/swap.cc: Likewise. 4608 1.1 mrg * testsuite/20_util/any/modifiers/1.cc: Likewise. 4609 1.1 mrg * testsuite/20_util/any/observers/type.cc: Likewise. 4610 1.1 mrg * testsuite/20_util/any/requirements.cc: Likewise. 4611 1.1 mrg * testsuite/20_util/any/typedefs.cc: Likewise. 4612 1.1 mrg * testsuite/20_util/as_const/1.cc: Likewise. 4613 1.1 mrg * testsuite/20_util/as_const/rvalue_neg.cc: Likewise. 4614 1.1 mrg * testsuite/20_util/bind/is_placeholder_v.cc: Likewise. 4615 1.1 mrg * testsuite/20_util/bool_constant/requirements.cc: Likewise. 4616 1.1 mrg * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc: 4617 1.1 mrg Likewise. 4618 1.1 mrg * testsuite/20_util/duration_cast/rounding.cc: Likewise. 4619 1.1 mrg * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: 4620 1.1 mrg Likewise. 4621 1.1 mrg * testsuite/20_util/function_objects/invoke/59768.cc: Likewise. 4622 1.1 mrg * testsuite/20_util/function_objects/not_fn/1.cc: Likewise. 4623 1.1 mrg * testsuite/20_util/function_objects/searchers.cc: Likewise. 4624 1.1 mrg * testsuite/20_util/in_place/requirements.cc: Likewise. 4625 1.1 mrg * testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc: 4626 1.1 mrg Likewise. 4627 1.1 mrg * testsuite/20_util/is_invocable/requirements/typedefs.cc: 4628 1.1 mrg Likewise. 4629 1.1 mrg * testsuite/20_util/is_invocable/value.cc: Likewise. 4630 1.1 mrg * testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc: 4631 1.1 mrg Likewise. 4632 1.1 mrg * testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc: 4633 1.1 mrg Likewise. 4634 1.1 mrg * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc: 4635 1.1 mrg Likewise. 4636 1.1 mrg * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: 4637 1.1 mrg Likewise. 4638 1.1 mrg * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise. 4639 1.1 mrg * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc: 4640 1.1 mrg Likewise. 4641 1.1 mrg * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc: 4642 1.1 mrg Likewise. 4643 1.1 mrg * testsuite/20_util/is_nothrow_swappable_with/value.cc: 4644 1.1 mrg Likewise. 4645 1.1 mrg * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc: 4646 1.1 mrg Likewise. 4647 1.1 mrg * testsuite/20_util/is_swappable/requirements/typedefs.cc: 4648 1.1 mrg Likewise. 4649 1.1 mrg * testsuite/20_util/is_swappable/value.cc: Likewise. 4650 1.1 mrg * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc: 4651 1.1 mrg Likewise. 4652 1.1 mrg * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: 4653 1.1 mrg Likewise. 4654 1.1 mrg * testsuite/20_util/is_swappable_with/value.cc: Likewise. 4655 1.1 mrg * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: 4656 1.1 mrg Likewise. 4657 1.1 mrg * testsuite/20_util/logical_traits/requirements/typedefs.cc: 4658 1.1 mrg Likewise. 4659 1.1 mrg * testsuite/20_util/logical_traits/value.cc: Likewise. 4660 1.1 mrg * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise. 4661 1.1 mrg * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise. 4662 1.1 mrg * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise. 4663 1.1 mrg * testsuite/20_util/optional/hash.cc: Likewise. 4664 1.1 mrg * testsuite/20_util/pair/swap_cxx17.cc: Likewise. 4665 1.1 mrg * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise. 4666 1.1 mrg * testsuite/20_util/shared_ptr/requirements/weak_type.cc: 4667 1.1 mrg Likewise. 4668 1.1 mrg * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc: 4669 1.1 mrg Likewise. 4670 1.1 mrg * testsuite/20_util/tuple/apply/1.cc: Likewise. 4671 1.1 mrg * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. 4672 1.1 mrg * testsuite/20_util/tuple/swap_cxx17.cc: Likewise. 4673 1.1 mrg * testsuite/20_util/tuple/tuple_size_v.cc: Likewise. 4674 1.1 mrg * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc: 4675 1.1 mrg Likewise. 4676 1.1 mrg * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc: 4677 1.1 mrg Likewise. 4678 1.1 mrg * testsuite/20_util/variant/any.cc: Likewise. 4679 1.1 mrg * testsuite/20_util/variant/compile.cc: Likewise. 4680 1.1 mrg * testsuite/20_util/variant/hash.cc: Likewise. 4681 1.1 mrg * testsuite/20_util/variant/index_type.cc: Likewise. 4682 1.1 mrg * testsuite/20_util/variant/run.cc: Likewise. 4683 1.1 mrg * testsuite/20_util/void_t/1.cc: Likewise. 4684 1.1 mrg * testsuite/21_strings/basic_string/79162.cc: Likewise. 4685 1.1 mrg * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise. 4686 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise. 4687 1.1 mrg * testsuite/21_strings/basic_string/lwg2758.cc: Likewise. 4688 1.1 mrg * testsuite/21_strings/basic_string/lwg2946.cc: Likewise. 4689 1.1 mrg * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: 4690 1.1 mrg Likewise. 4691 1.1 mrg * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: 4692 1.1 mrg Likewise. 4693 1.1 mrg * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: 4694 1.1 mrg Likewise. 4695 1.1 mrg * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: 4696 1.1 mrg Likewise. 4697 1.1 mrg * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: 4698 1.1 mrg Likewise. 4699 1.1 mrg * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: 4700 1.1 mrg Likewise. 4701 1.1 mrg * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: 4702 1.1 mrg Likewise. 4703 1.1 mrg * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: 4704 1.1 mrg Likewise. 4705 1.1 mrg * testsuite/21_strings/basic_string/operations/compare/char/2.cc: 4706 1.1 mrg Likewise. 4707 1.1 mrg * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: 4708 1.1 mrg Likewise. 4709 1.1 mrg * testsuite/21_strings/basic_string/operations/data/char/2.cc: 4710 1.1 mrg Likewise. 4711 1.1 mrg * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: 4712 1.1 mrg Likewise. 4713 1.1 mrg * testsuite/21_strings/basic_string/operations/find/char/5.cc: 4714 1.1 mrg Likewise. 4715 1.1 mrg * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: 4716 1.1 mrg Likewise. 4717 1.1 mrg * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise. 4718 1.1 mrg * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: 4719 1.1 mrg Likewise. 4720 1.1 mrg * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise. 4721 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise. 4722 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise. 4723 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise. 4724 1.1 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: 4725 1.1 mrg Likewise. 4726 1.1 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: 4727 1.1 mrg Likewise. 4728 1.1 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: 4729 1.1 mrg Likewise. 4730 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/1.cc: 4731 1.1 mrg Likewise. 4732 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/2.cc: 4733 1.1 mrg Likewise. 4734 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/empty.cc: 4735 1.1 mrg Likewise. 4736 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc: 4737 1.1 mrg Likewise. 4738 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: 4739 1.1 mrg Likewise. 4740 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc: 4741 1.1 mrg Likewise. 4742 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc: 4743 1.1 mrg Likewise. 4744 1.1 mrg * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc: 4745 1.1 mrg Likewise. 4746 1.1 mrg * testsuite/21_strings/basic_string_view/include.cc: Likewise. 4747 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/char/1.cc: 4748 1.1 mrg Likewise. 4749 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/char/2.cc: 4750 1.1 mrg Likewise. 4751 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/char/3.cc: 4752 1.1 mrg Likewise. 4753 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc: 4754 1.1 mrg Likewise. 4755 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc: 4756 1.1 mrg Likewise. 4757 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc: 4758 1.1 mrg Likewise. 4759 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc: 4760 1.1 mrg Likewise. 4761 1.1 mrg * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc: 4762 1.1 mrg Likewise. 4763 1.1 mrg * testsuite/21_strings/basic_string_view/literals/types.cc: 4764 1.1 mrg Likewise. 4765 1.1 mrg * testsuite/21_strings/basic_string_view/literals/values-char8_t.cc: 4766 1.1 mrg Likewise. 4767 1.1 mrg * testsuite/21_strings/basic_string_view/literals/values.cc: 4768 1.1 mrg Likewise. 4769 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc: 4770 1.1 mrg Likewise. 4771 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: 4772 1.1 mrg Likewise. 4773 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc: 4774 1.1 mrg Likewise. 4775 1.1 mrg * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: 4776 1.1 mrg Likewise. 4777 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: 4778 1.1 mrg Likewise. 4779 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc: 4780 1.1 mrg Likewise. 4781 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc: 4782 1.1 mrg Likewise. 4783 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc: 4784 1.1 mrg Likewise. 4785 1.1 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: 4786 1.1 mrg Likewise. 4787 1.1 mrg * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: 4788 1.1 mrg Likewise. 4789 1.1 mrg * testsuite/21_strings/basic_string_view/operations/data/char/1.cc: 4790 1.1 mrg Likewise. 4791 1.1 mrg * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc: 4792 1.1 mrg Likewise. 4793 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: 4794 1.1 mrg Likewise. 4795 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: 4796 1.1 mrg Likewise. 4797 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: 4798 1.1 mrg Likewise. 4799 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/char/4.cc: 4800 1.1 mrg Likewise. 4801 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc: 4802 1.1 mrg Likewise. 4803 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc: 4804 1.1 mrg Likewise. 4805 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc: 4806 1.1 mrg Likewise. 4807 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc: 4808 1.1 mrg Likewise. 4809 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc: 4810 1.1 mrg Likewise. 4811 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc: 4812 1.1 mrg Likewise. 4813 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc: 4814 1.1 mrg Likewise. 4815 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc: 4816 1.1 mrg Likewise. 4817 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc: 4818 1.1 mrg Likewise. 4819 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc: 4820 1.1 mrg Likewise. 4821 1.1 mrg * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc: 4822 1.1 mrg Likewise. 4823 1.1 mrg * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc: 4824 1.1 mrg Likewise. 4825 1.1 mrg * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc: 4826 1.1 mrg Likewise. 4827 1.1 mrg * testsuite/21_strings/basic_string_view/range_access/char/1.cc: 4828 1.1 mrg Likewise. 4829 1.1 mrg * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: 4830 1.1 mrg Likewise. 4831 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc: 4832 1.1 mrg Likewise. 4833 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc: 4834 1.1 mrg Likewise. 4835 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: 4836 1.1 mrg Likewise. 4837 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: 4838 1.1 mrg Likewise. 4839 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc: 4840 1.1 mrg Likewise. 4841 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: 4842 1.1 mrg Likewise. 4843 1.1 mrg * testsuite/21_strings/basic_string_view/requirements/typedefs.cc: 4844 1.1 mrg Likewise. 4845 1.1 mrg * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise. 4846 1.1 mrg * testsuite/21_strings/basic_string_view/types/1.cc: Likewise. 4847 1.1 mrg * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc: 4848 1.1 mrg Likewise. 4849 1.1 mrg * testsuite/23_containers/map/modifiers/extract.cc: Likewise. 4850 1.1 mrg * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: 4851 1.1 mrg Likewise. 4852 1.1 mrg * testsuite/23_containers/map/modifiers/merge.cc: Likewise. 4853 1.1 mrg * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. 4854 1.1 mrg * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise. 4855 1.1 mrg * testsuite/23_containers/multimap/modifiers/merge.cc: Likewise. 4856 1.1 mrg * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise. 4857 1.1 mrg * testsuite/23_containers/multiset/modifiers/merge.cc: Likewise. 4858 1.1 mrg * testsuite/23_containers/set/modifiers/extract.cc: Likewise. 4859 1.1 mrg * testsuite/23_containers/set/modifiers/merge.cc: Likewise. 4860 1.1 mrg * testsuite/23_containers/unordered_map/modifiers/extract.cc: 4861 1.1 mrg Likewise. 4862 1.1 mrg * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: 4863 1.1 mrg Likewise. 4864 1.1 mrg * testsuite/23_containers/unordered_map/modifiers/merge.cc: 4865 1.1 mrg Likewise. 4866 1.1 mrg * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc: 4867 1.1 mrg Likewise. 4868 1.1 mrg * testsuite/23_containers/unordered_multimap/modifiers/extract.cc: 4869 1.1 mrg Likewise. 4870 1.1 mrg * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: 4871 1.1 mrg Likewise. 4872 1.1 mrg * testsuite/23_containers/unordered_multiset/modifiers/extract.cc: 4873 1.1 mrg Likewise. 4874 1.1 mrg * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: 4875 1.1 mrg Likewise. 4876 1.1 mrg * testsuite/23_containers/unordered_set/modifiers/extract.cc: 4877 1.1 mrg Likewise. 4878 1.1 mrg * testsuite/23_containers/unordered_set/modifiers/merge.cc: 4879 1.1 mrg Likewise. 4880 1.1 mrg * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: 4881 1.1 mrg Likewise. 4882 1.1 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: 4883 1.1 mrg Likewise. 4884 1.1 mrg * testsuite/25_algorithms/clamp/1.cc: Likewise. 4885 1.1 mrg * testsuite/25_algorithms/clamp/2.cc: Likewise. 4886 1.1 mrg * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. 4887 1.1 mrg * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc: 4888 1.1 mrg Likewise. 4889 1.1 mrg * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc: 4890 1.1 mrg Likewise. 4891 1.1 mrg * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: 4892 1.1 mrg Likewise. 4893 1.1 mrg * testsuite/26_numerics/headers/cmath/special_functions_global.cc: 4894 1.1 mrg Likewise. 4895 1.1 mrg * testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc: 4896 1.1 mrg Likewise. 4897 1.1 mrg * testsuite/29_atomics/atomic/is_always_lock_free.cc: Likewise. 4898 1.1 mrg * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: 4899 1.1 mrg Likewise. 4900 1.1 mrg * testsuite/30_threads/shared_lock/70766.cc: Likewise. 4901 1.1 mrg * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise. 4902 1.1 mrg * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: 4903 1.1 mrg Likewise. 4904 1.1 mrg * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: 4905 1.1 mrg Likewise. 4906 1.1 mrg * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc: 4907 1.1 mrg Likewise. 4908 1.1 mrg * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise. 4909 1.1 mrg * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise. 4910 1.1 mrg * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise. 4911 1.1 mrg 4912 1.1 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com> 4913 1.1 mrg 4914 1.1 mrg PR libstdc++/96382 4915 1.1 mrg * include/bits/stl_iterator.h (reverse_iterator): Friend 4916 1.1 mrg declaration should not depend on __cplusplus. 4917 1.1 mrg 4918 1.1 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com> 4919 1.1 mrg 4920 1.1 mrg * testsuite/experimental/filesystem/filesystem_error/cons.cc: 4921 1.1 mrg Remove -std=gnu++17 option. 4922 1.1 mrg 4923 1.1 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com> 4924 1.1 mrg 4925 1.1 mrg * testsuite/20_util/is_aggregate/value.cc: Adjust for changes to 4926 1.1 mrg definition of aggregates in C++20. 4927 1.1 mrg * testsuite/20_util/optional/requirements.cc: Adjust for 4928 1.1 mrg defaulted comparisons in C++20. 4929 1.1 mrg 4930 1.1 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com> 4931 1.1 mrg 4932 1.1 mrg * testsuite/20_util/tuple/78939.cc: Suppress warnings about 4933 1.1 mrg deprecation of volatile-qualified structured bindings in C++20. 4934 1.1 mrg * testsuite/20_util/variable_templates_for_traits.cc: Likewise 4935 1.1 mrg for deprecation of is_pod in C++20 4936 1.1 mrg 4937 1.1 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com> 4938 1.1 mrg 4939 1.1 mrg * testsuite/20_util/time_point_cast/rounding.cc: Remove 4940 1.1 mrg duplicate dg-do directive and add c++17 effective target. 4941 1.1 mrg 4942 1.1 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com> 4943 1.1 mrg 4944 1.1 mrg * src/c++17/floating_from_chars.cc (from_chars_impl): Use 4945 1.1 mrg LC_ALL_MASK not LC_ALL. 4946 1.1 mrg 4947 1.1 mrg 2020-07-31 Richard Biener <rguenther (a] suse.de> 4948 1.1 mrg 4949 1.1 mrg PR debug/96383 4950 1.1 mrg * testsuite/20_util/assume_aligned/3.cc: Use -g0. 4951 1.1 mrg 4952 1.1 mrg 2020-07-30 Jonathan Wakely <jwakely (a] redhat.com> 4953 1.1 mrg 4954 1.1 mrg * include/bits/basic_string.h (size_type, difference_type): 4955 1.1 mrg Use allocator_traits to obtain the allocator's size_type and 4956 1.1 mrg difference_type. 4957 1.1 mrg 4958 1.1 mrg 2020-07-30 Jonathan Wakely <jwakely (a] redhat.com> 4959 1.1 mrg 4960 1.1 mrg PR libstdc++/96279 4961 1.1 mrg * src/c++17/floating_from_chars.cc (from_chars_impl): Use 4962 1.1 mrg isinf unqualified. 4963 1.1 mrg [!_GLIBCXX_USE_C99_STDLIB]: Use strtod for float and long 4964 1.1 mrg double. 4965 1.1 mrg 4966 1.1 mrg 2020-07-30 Jonathan Wakely <jwakely (a] redhat.com> 4967 1.1 mrg 4968 1.1 mrg * testsuite/23_containers/unordered_multiset/cons/noexcept_default_construct.cc: 4969 1.1 mrg Use allocator with the correct value type. 4970 1.1 mrg * testsuite/23_containers/unordered_set/cons/noexcept_default_construct.cc: 4971 1.1 mrg Likewise. 4972 1.1 mrg 4973 1.1 mrg 2020-07-30 Jonathan Wakely <jwakely (a] redhat.com> 4974 1.1 mrg 4975 1.1 mrg * testsuite/20_util/from_chars/4.cc: Pass non-const iterator 4976 1.1 mrg to string::insert. 4977 1.1 mrg 4978 1.1 mrg 2020-07-30 Jonathan Wakely <jwakely (a] redhat.com> 4979 1.1 mrg 4980 1.1 mrg * include/bits/iterator_concepts.h (__detail::__cv_bool): New 4981 1.1 mrg helper concept. 4982 1.1 mrg (__detail::__integral_nonbool): Likewise. 4983 1.1 mrg (__detail::__is_integer_like): Use __integral_nonbool. 4984 1.1 mrg * testsuite/std/ranges/access/lwg3467.cc: New test. 4985 1.1 mrg 4986 1.1 mrg 2020-07-30 Jonathan Wakely <jwakely (a] redhat.com> 4987 1.1 mrg 4988 1.1 mrg * testsuite/20_util/from_chars/4.cc: Use dg-add-options ieee. 4989 1.1 mrg * testsuite/29_atomics/atomic_float/1.cc: Likewise. 4990 1.1 mrg 4991 1.1 mrg 2020-07-30 Jonathan Wakely <jwakely (a] redhat.com> 4992 1.1 mrg 4993 1.1 mrg * testsuite/23_containers/vector/bool/72847.cc: Use the 4994 1.1 mrg exceptions_enabled effective-target keyword instead of 4995 1.1 mrg checking for an explicit -fno-exceptions option. 4996 1.1 mrg * testsuite/util/testsuite_abi.cc (examine_symbol): Remove 4997 1.1 mrg redundant try-catch. 4998 1.1 mrg * testsuite/util/testsuite_allocator.h [!__cpp_exceptions]: 4999 1.1 mrg Do not define check_allocate_max_size and memory_resource. 5000 1.1 mrg * testsuite/util/testsuite_containers.h: Replace comment with 5001 1.1 mrg #error if wrong standard dialect used. 5002 1.1 mrg * testsuite/util/testsuite_shared.cc: Likewise. 5003 1.1 mrg 5004 1.1 mrg 2020-07-29 Franois Dumont <fdumont (a] gcc.gnu.org> 5005 1.1 mrg 5006 1.1 mrg * include/bits/hashtable_policy.h (_Node_iterator_base()): New. 5007 1.1 mrg (operator==(const _Node_iterator_base&, const _Node_iterator_base&)): 5008 1.1 mrg Make hidden friend. 5009 1.1 mrg (operator!=(const _Node_iterator_base&, const _Node_iterator_base&)): 5010 1.1 mrg Make hidden friend. 5011 1.1 mrg (_Local_iterator_base<>): Inherits _Node_iterator_base. 5012 1.1 mrg (_Local_iterator_base<>::_M_cur): Remove. 5013 1.1 mrg (_Local_iterator_base<>::_M_curr()): Remove. 5014 1.1 mrg (operator==(const _Local_iterator_base&, const _Local_iterator_base&)): 5015 1.1 mrg Remove. 5016 1.1 mrg (operator!=(const _Local_iterator_base&, const _Local_iterator_base&)): 5017 1.1 mrg Remove. 5018 1.1 mrg * include/debug/unordered_map (unordered_map<>::_M_invalidate): Adapt. 5019 1.1 mrg (unordered_multimap<>::_M_invalidate): Adapt. 5020 1.1 mrg * include/debug/unordered_set (unordered_set<>::_M_invalidate): Adapt. 5021 1.1 mrg (unordered_multiset<>::_M_invalidate): Adapt. 5022 1.1 mrg 5023 1.1 mrg 2020-07-29 David Edelsohn <dje.gcc (a] gmail.com> 5024 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 5025 1.1 mrg Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 5026 1.1 mrg 5027 1.1 mrg * testsuite/lib/dg-options.exp (add_options_for_libatomic): Add 5028 1.1 mrg target powerpc-ibm-aix* and powerpc*-*-darwin*. 5029 1.1 mrg * testsuite/29_atomics/atomic_float/value_init.cc: Add options 5030 1.1 mrg for libatomic. 5031 1.1 mrg 5032 1.1 mrg 2020-07-29 Franois Dumont <fdumont (a] gcc.gnu.org> 5033 1.1 mrg 5034 1.1 mrg * include/bits/hashtable.h 5035 1.1 mrg (_Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a, true_type)): 5036 1.1 mrg Add noexcept qualification. 5037 1.1 mrg (_Hashtable(_Hashtable&&)): Fix noexcept qualification. 5038 1.1 mrg (_Hashtable(_Hashtable&&, const allocator_type&)): Add noexcept 5039 1.1 mrg qualification. 5040 1.1 mrg * include/bits/unordered_map.h 5041 1.1 mrg (unordered_map(unordered_map&&, const allocator_type&)): Add noexcept 5042 1.1 mrg qualification. 5043 1.1 mrg (unordered_multimap(unordered_multimap&&, const allocator_type&)): 5044 1.1 mrg Likewise. 5045 1.1 mrg * include/bits/unordered_set.h 5046 1.1 mrg (unordered_set(unordered_set&&, const allocator_type&)): Likewise. 5047 1.1 mrg (unordered_multiset(unordered_multiset&&, const allocator_type&)): 5048 1.1 mrg Likewise. 5049 1.1 mrg * include/debug/unordered_map 5050 1.1 mrg (unordered_map(unordered_map&&, const allocator_type&)): Likewise. 5051 1.1 mrg (unordered_multimap(unordered_multimap&&, const allocator_type&)): 5052 1.1 mrg Likewise. 5053 1.1 mrg * include/debug/unordered_set 5054 1.1 mrg (unordered_set(unordered_set&&, const allocator_type&)): Likewise. 5055 1.1 mrg (unordered_multiset(unordered_multiset&&, const allocator_type&)): 5056 1.1 mrg Likewise. 5057 1.1 mrg * testsuite/23_containers/unordered_map/allocator/default_init.cc: 5058 1.1 mrg New test. 5059 1.1 mrg * testsuite/23_containers/unordered_map/cons/noexcept_default_construct.cc: 5060 1.1 mrg New test. 5061 1.1 mrg * testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc: 5062 1.1 mrg New test. 5063 1.1 mrg * testsuite/23_containers/unordered_map/modifiers/move_assign.cc: 5064 1.1 mrg New test. 5065 1.1 mrg * testsuite/23_containers/unordered_multimap/cons/noexcept_default_construct.cc: 5066 1.1 mrg New test. 5067 1.1 mrg * testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc: 5068 1.1 mrg New test. 5069 1.1 mrg * testsuite/23_containers/unordered_multiset/cons/noexcept_default_construct.cc: 5070 1.1 mrg New test. 5071 1.1 mrg * testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc: 5072 1.1 mrg New test. 5073 1.1 mrg * testsuite/23_containers/unordered_set/allocator/default_init.cc: 5074 1.1 mrg New test. 5075 1.1 mrg * testsuite/23_containers/unordered_set/cons/noexcept_default_construct.cc: 5076 1.1 mrg New test. 5077 1.1 mrg * testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc: 5078 1.1 mrg New test. 5079 1.1 mrg 5080 1.1 mrg 2020-07-28 Franois Dumont <fdumont (a] gcc.gnu.org> 5081 1.1 mrg 5082 1.1 mrg * include/bits/hashtable.h 5083 1.1 mrg (_Hashtable<>(_InputIterator, _InputIterator, size_t, const _H1&, 5084 1.1 mrg const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, 5085 1.1 mrg const allocator_type&, true_type)): New. 5086 1.1 mrg (_Hashtable<>(_InputIterator, _InputIterator, size_t, const _H1&, 5087 1.1 mrg const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, 5088 1.1 mrg const allocator_type&, false_type)): New. 5089 1.1 mrg (_Hashtable<>(_InputIterator, _InputIterator, size_t, const _H1&, 5090 1.1 mrg const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, 5091 1.1 mrg const allocator_type&)): Delegate to latters. 5092 1.1 mrg (operator=(initializer_list<value_type>)): Rehash if too small. 5093 1.1 mrg (_M_insert(_Arg&&, const _NodeGenerator&, true_type)): Remove 5094 1.1 mrg size_t len parameter. 5095 1.1 mrg * include/bits/hashtable_policy.h (_Insert_base<>::_M_insert_range): 5096 1.1 mrg Do not try to get input range distance. 5097 1.1 mrg * testsuite/23_containers/unordered_set/cons/bucket_hint.cc: New test. 5098 1.1 mrg * testsuite/23_containers/unordered_set/modifiers/insert.cc: New test. 5099 1.1 mrg 5100 1.1 mrg 2020-07-27 Franois Dumont <fdumont (a] gcc.gnu.org> 5101 1.1 mrg 5102 1.1 mrg * include/bits/hashtable_policy.h (_Map_base<>::at): Use 5103 1.1 mrg _Hashtable<>::find. 5104 1.1 mrg (_Hashtable_base<>::_Equal_hash_code<>::_S_node_equals):New. 5105 1.1 mrg (_Hashtable_base<>::_M_node_equals): New, use latter. 5106 1.1 mrg (_Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, 5107 1.1 mrg _RehashPolicy, false>::_M_equal): Adapt to use latter. 5108 1.1 mrg * include/bits/hashtable.h (_Hashtable<>::_M_update_bbegin): New. 5109 1.1 mrg (_Hashtable<>::_M_assign): Use latter. 5110 1.1 mrg (_Hashtable<>::_M_move_assign): Likewise. 5111 1.1 mrg (_Hashtable<>(_Hashtable<>&&)): Likewise. 5112 1.1 mrg (_Hashtable<>(_Hashtable<>&&, const allocator_type&)): Likewise. 5113 1.1 mrg (_Hashtable<>::swap): Likewise. 5114 1.1 mrg (_Hashtable<>::find): Build iterator directly from _M_find_node result. 5115 1.1 mrg (_Hashtable<>::count): Use _Hashtable<>::find. 5116 1.1 mrg (_Hashtable<>::equal_range): Likewise. 5117 1.1 mrg (_Hashtable<>::_M_erase(false_type, const key_type&)): Use 5118 1.1 mrg _M_node_equals. 5119 1.1 mrg 5120 1.1 mrg 2020-07-27 Jonathan Wakely <jwakely (a] redhat.com> 5121 1.1 mrg 5122 1.1 mrg * src/c++17/floating_from_chars.cc (from_chars_impl): Ensure 5123 1.1 mrg that FE_NEAREST is used. 5124 1.1 mrg * testsuite/20_util/from_chars/4.cc: Do not use if constexpr in 5125 1.1 mrg a { target c++14 } test. 5126 1.1 mrg [!_GLIBCXX_HAVE_USELOCALE]: Disable all tests. 5127 1.1 mrg * testsuite/20_util/from_chars/5.cc [!_GLIBCXX_HAVE_USELOCALE]: 5128 1.1 mrg Likewise. 5129 1.1 mrg * testsuite/20_util/from_chars/6.cc: New test. 5130 1.1 mrg 5131 1.1 mrg 2020-07-22 Jonathan Wakely <jwakely (a] redhat.com> 5132 1.1 mrg 5133 1.1 mrg * include/std/future (future, shared_future, promise): Add 5134 1.1 mrg static assertions to the primary template to reject array and 5135 1.1 mrg function types. 5136 1.1 mrg * testsuite/30_threads/future/requirements/lwg3458.cc: New test. 5137 1.1 mrg * testsuite/30_threads/promise/requirements/lwg3466.cc: New test. 5138 1.1 mrg * testsuite/30_threads/shared_future/requirements/lwg3458.cc: New test. 5139 1.1 mrg 5140 1.1 mrg 2020-07-22 Jonathan Wakely <jwakely (a] redhat.com> 5141 1.1 mrg 5142 1.1 mrg * include/bits/stl_iterator.h (reverse_iterator): Constrain 5143 1.1 mrg converting constructor and converting assignment operator. 5144 1.1 mrg Access source iterator's data member directly instead of 5145 1.1 mrg calling base(). 5146 1.1 mrg (move_iterator): Likewise. 5147 1.1 mrg * testsuite/24_iterators/move_iterator/dr3435.cc: New test. 5148 1.1 mrg * testsuite/24_iterators/reverse_iterator/dr3435.cc: New test. 5149 1.1 mrg 5150 1.1 mrg 2020-07-20 Jonathan Wakely <jwakely (a] redhat.com> 5151 1.1 mrg 5152 1.1 mrg * acinclude.m4 (libtool_VERSION): Bump version. 5153 1.1 mrg * config.h.in: Regenerate. 5154 1.1 mrg * config/abi/pre/gnu.ver: Add GLIBCXX_3.4.29 version and new 5155 1.1 mrg exports. 5156 1.1 mrg * config/os/gnu-linux/ldbl-extra.ver: Add _GLIBCXX_LDBL_3.4.29 5157 1.1 mrg version and new export. 5158 1.1 mrg * configure: Regenerate. 5159 1.1 mrg * configure.ac: Check for <xlocale.h> and uselocale. 5160 1.1 mrg * crossconfig.m4: Add macro or checks for uselocale. 5161 1.1 mrg * include/std/charconv (from_chars): Declare overloads for 5162 1.1 mrg float, double, and long double. 5163 1.1 mrg * src/c++17/Makefile.am: Add new file. 5164 1.1 mrg * src/c++17/Makefile.in: Regenerate. 5165 1.1 mrg * src/c++17/floating_from_chars.cc: New file. 5166 1.1 mrg (from_chars): Define for float, double, and long double. 5167 1.1 mrg * testsuite/20_util/from_chars/1_c++20_neg.cc: Prune extra 5168 1.1 mrg diagnostics caused by new overloads. 5169 1.1 mrg * testsuite/20_util/from_chars/1_neg.cc: Likewise. 5170 1.1 mrg * testsuite/20_util/from_chars/2.cc: Check leading '+'. 5171 1.1 mrg * testsuite/20_util/from_chars/4.cc: New test. 5172 1.1 mrg * testsuite/20_util/from_chars/5.cc: New test. 5173 1.1 mrg * testsuite/util/testsuite_abi.cc: Add new symbol versions. 5174 1.1 mrg 5175 1.1 mrg 2020-07-20 Jonathan Wakely <jwakely (a] redhat.com> 5176 1.1 mrg 5177 1.1 mrg * include/bits/istream.tcc 5178 1.1 mrg (basic_istream::get(__streambuf_type&, char_type): Use unsigned 5179 1.1 mrg long long for counter and check if it would overflow _M_gcount. 5180 1.1 mrg * testsuite/27_io/basic_istream/get/char/lwg3464.cc: New test. 5181 1.1 mrg * testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: New test. 5182 1.1 mrg 5183 1.1 mrg 2020-07-17 Iain Sandoe <iain (a] sandoe.co.uk> 5184 1.1 mrg 5185 1.1 mrg * include/std/coroutine: Mark the methods of the 5186 1.1 mrg trivial awaitables as constexpr. 5187 1.1 mrg 5188 1.1 mrg 2020-07-14 David Edelsohn <dje.gcc (a] gmail.com> 5189 1.1 mrg 5190 1.1 mrg * config/os/aix/t-aix: Set BITS from compiler cpp macro. 5191 1.1 mrg 5192 1.1 mrg 2020-07-13 Jonathan Wakely <jwakely (a] redhat.com> 5193 1.1 mrg 5194 1.1 mrg PR libstdc++/94749 5195 1.1 mrg PR libstdc++/96161 5196 1.1 mrg * include/bits/istream.tcc (basic_istream::ignore(streamsize)) 5197 1.1 mrg [n == max]: Check overflow conditions on _M_gcount. Rely on 5198 1.1 mrg the fact that either EOF or the delimiter was reached. 5199 1.1 mrg [n < max]: Check _M_gcount < n before checking for EOF or 5200 1.1 mrg delimiter. 5201 1.1 mrg (basic_istream::ignore(streamsize, char_type): Likewise. 5202 1.1 mrg * src/c++98/compatibility.cc (istream::ignore(streamsize)) 5203 1.1 mrg (wistream::ignore(streamsize)): Likewise. 5204 1.1 mrg * src/c++98/istream.cc (istream::ignore(streamsize, char_type)) 5205 1.1 mrg (wistream::ignore(streamsize, char_type)): Likewise. 5206 1.1 mrg * testsuite/27_io/basic_istream/ignore/char/94749.cc: Check that 5207 1.1 mrg delimiter is discarded if the number of characters ignored 5208 1.1 mrg doesn't fit in streamsize. 5209 1.1 mrg * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc: 5210 1.1 mrg Likewise. 5211 1.1 mrg * testsuite/27_io/basic_istream/ignore/char/96161.cc: New test. 5212 1.1 mrg * testsuite/27_io/basic_istream/ignore/wchar_t/96161.cc: New test. 5213 1.1 mrg 5214 1.1 mrg 2020-07-08 Franois Dumont <fdumont (a] gcc.gnu.org> 5215 1.1 mrg 5216 1.1 mrg * include/bits/stl_tree.h (_Rb_tree_impl(_Rb_tree_impl&&)): Add noexcept 5217 1.1 mrg qualification based only on _Compare one. 5218 1.1 mrg * testsuite/23_containers/map/cons/noexcept_move_construct.cc: Add 5219 1.1 mrg static asserts. 5220 1.1 mrg * testsuite/23_containers/multimap/cons/noexcept_move_construct.cc: 5221 1.1 mrg Likewise. 5222 1.1 mrg * testsuite/23_containers/multiset/cons/noexcept_move_construct.cc: 5223 1.1 mrg Likewise. 5224 1.1 mrg * testsuite/23_containers/set/cons/noexcept_move_construct.cc: Likewise. 5225 1.1 mrg 5226 1.1 mrg 2020-07-07 Jonathan Wakely <jwakely (a] redhat.com> 5227 1.1 mrg 5228 1.1 mrg * include/std/limits: Whitespace changes. 5229 1.1 mrg 5230 1.1 mrg 2020-07-07 Jonathan Wakely <jwakely (a] redhat.com> 5231 1.1 mrg 5232 1.1 mrg * include/Makefile.am: Remove bits/int_limits.h. 5233 1.1 mrg * include/Makefile.in: Regenerate. 5234 1.1 mrg * include/bits/int_limits.h: Removed. 5235 1.1 mrg * include/bits/parse_numbers.h (_Select_int_base): Replace 5236 1.1 mrg __int_limits with __int_traits. 5237 1.1 mrg * include/bits/range_access.h (_SSize::operator()): Likewise. 5238 1.1 mrg * include/ext/numeric_traits.h (__numeric_traits_integer): Add 5239 1.1 mrg static assertion. 5240 1.1 mrg (__int_traits): New alias template. 5241 1.1 mrg * include/std/bit (__rotl, __rotr, __countl_zero, __countl_one) 5242 1.1 mrg (__countr_zero, __countr_one, __popcount, __bit_ceil) 5243 1.1 mrg (__bit_floor, __bit_width) Replace __int_limits with 5244 1.1 mrg __int_traits. 5245 1.1 mrg * include/std/charconv (__to_chars_8, __from_chars_binary) 5246 1.1 mrg (__from_chars_alpha_to_num, from_chars): Likewise. 5247 1.1 mrg * include/std/memory_resource (polymorphic_allocator::allocate) 5248 1.1 mrg (polymorphic_allocator::allocate_object): Likewise. 5249 1.1 mrg * include/std/string_view (basic_string_view::_S_compare): 5250 1.1 mrg Likewise. 5251 1.1 mrg * include/std/utility (cmp_equal, cmp_less, in_range): Likewise. 5252 1.1 mrg 5253 1.1 mrg 2020-07-07 Jonathan Wakely <jwakely (a] redhat.com> 5254 1.1 mrg 5255 1.1 mrg * include/std/limits: Whitespace changes. 5256 1.1 mrg 5257 1.1 mrg 2020-07-06 Jonathan Wakely <jwakely (a] redhat.com> 5258 1.1 mrg 5259 1.1 mrg * include/std/optional (_Optional_payload_base, _Optional_base) 5260 1.1 mrg (optional, __optional_hash_call_base): Adjust whitespace and 5261 1.1 mrg other formatting. Remove redundant && tokens on template 5262 1.1 mrg arguments to type traits. 5263 1.1 mrg 5264 1.1 mrg 2020-07-06 Jonathan Wakely <jwakely (a] redhat.com> 5265 1.1 mrg 5266 1.1 mrg * include/std/optional (make_optional): Add enable_if 5267 1.1 mrg constraints and noexcept-specifier to each overload. 5268 1.1 mrg * testsuite/20_util/optional/make_optional-2.cc: New test. 5269 1.1 mrg 5270 1.1 mrg 2020-07-06 Jonathan Wakely <jwakely (a] redhat.com> 5271 1.1 mrg 5272 1.1 mrg PR libstdc++/96036 5273 1.1 mrg * include/std/optional (optional): Add noexcept-specifier to 5274 1.1 mrg every constructor, assignment operator, emplace function and 5275 1.1 mrg dereference operator. 5276 1.1 mrg * testsuite/20_util/optional/assignment/noexcept.cc: New test. 5277 1.1 mrg * testsuite/20_util/optional/cons/noexcept.cc: New test. 5278 1.1 mrg 5279 1.1 mrg 2020-07-06 Jonathan Wakely <jwakely (a] redhat.com> 5280 1.1 mrg 5281 1.1 mrg PR libstdc++/96063 5282 1.1 mrg * include/bits/fs_dir.h: Use consistent tag in class-head. 5283 1.1 mrg * include/bits/localefwd.h: Likewise. 5284 1.1 mrg * include/bits/regex.h: Likewise. 5285 1.1 mrg * include/bits/stl_map.h: Likewise. 5286 1.1 mrg * include/bits/stl_multimap.h: Likewise. 5287 1.1 mrg * include/bits/stl_multiset.h: Likewise. 5288 1.1 mrg * include/bits/stl_set.h: Likewise. 5289 1.1 mrg * include/std/complex: Likewise. 5290 1.1 mrg * include/std/functional: Likewise. 5291 1.1 mrg * include/std/future: Likewise. 5292 1.1 mrg * include/std/system_error: Likewise. 5293 1.1 mrg * include/std/thread: Likewise. 5294 1.1 mrg * include/std/tuple: Likewise. 5295 1.1 mrg * include/std/type_traits: Likewise. 5296 1.1 mrg * include/std/valarray: Likewise. 5297 1.1 mrg 5298 1.1 mrg 2020-07-02 Jonathan Wakely <jwakely (a] redhat.com> 5299 1.1 mrg 5300 1.1 mrg * testsuite/27_io/basic_ios/conv/voidptr.cc: Add c++98_only 5301 1.1 mrg target selector. 5302 1.1 mrg 5303 1.1 mrg 2020-07-02 Jonathan Wakely <jwakely (a] redhat.com> 5304 1.1 mrg 5305 1.1 mrg * testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: Add 5306 1.1 mrg c++98_only target selector. 5307 1.1 mrg * testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: 5308 1.1 mrg Likewise. 5309 1.1 mrg * testsuite/18_support/headers/cstdint/std_c++0x_neg.cc: 5310 1.1 mrg Likewise. 5311 1.1 mrg * testsuite/18_support/headers/new/synopsis_cxx98.cc: Likewise. 5312 1.1 mrg * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: 5313 1.1 mrg Likewise. 5314 1.1 mrg * testsuite/20_util/headers/type_traits/std_c++0x_neg.cc: 5315 1.1 mrg Likewise. 5316 1.1 mrg * testsuite/23_containers/headers/array/std_c++0x_neg.cc: 5317 1.1 mrg Likewise. 5318 1.1 mrg * testsuite/23_containers/headers/tuple/std_c++0x_neg.cc: 5319 1.1 mrg Likewise. 5320 1.1 mrg * testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc: 5321 1.1 mrg Likewise. 5322 1.1 mrg * testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc: 5323 1.1 mrg Likewise. 5324 1.1 mrg * testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: 5325 1.1 mrg Likewise. 5326 1.1 mrg * testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc: 5327 1.1 mrg Likewise. 5328 1.1 mrg * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++98.cc: 5329 1.1 mrg Likewise. 5330 1.1 mrg * testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: 5331 1.1 mrg Likewise. 5332 1.1 mrg * testsuite/26_numerics/headers/random/std_c++0x_neg.cc: 5333 1.1 mrg Likewise. 5334 1.1 mrg * testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc: Likewise. 5335 1.1 mrg * testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Likewise. 5336 1.1 mrg * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: 5337 1.1 mrg Likewise. 5338 1.1 mrg * testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc: 5339 1.1 mrg Likewise. 5340 1.1 mrg * testsuite/30_threads/headers/future/std_c++0x_neg.cc: 5341 1.1 mrg Likewise. 5342 1.1 mrg * testsuite/30_threads/headers/mutex/std_c++0x_neg.cc: Likewise. 5343 1.1 mrg * testsuite/30_threads/headers/thread/std_c++0x_neg.cc: 5344 1.1 mrg Likewise. 5345 1.1 mrg 5346 1.1 mrg 2020-07-02 Ville Voutilainen <ville.voutilainen (a] gmail.com> 5347 1.1 mrg 5348 1.1 mrg PR libstdc++/91807 5349 1.1 mrg * include/std/variant 5350 1.1 mrg (_Copy_assign_base::operator=(const _Copy_assign_base&): 5351 1.1 mrg Do the move-assignment from a temporary so that the temporary 5352 1.1 mrg is constructed with an explicit index. 5353 1.1 mrg * testsuite/20_util/variant/91807.cc: New. 5354 1.1 mrg 5355 1.1 mrg 2020-07-02 Jonathan Wakely <jwakely.gcc (a] gmail.com> 5356 1.1 mrg 5357 1.1 mrg PR libstdc++/91153 5358 1.1 mrg PR target/93224 5359 1.1 mrg * testsuite/29_atomics/atomic_float/1.cc: Use different values 5360 1.1 mrg for tests. 5361 1.1 mrg * testsuite/29_atomics/atomic_ref/float.cc: Likewise. 5362 1.1 mrg 5363 1.1 mrg 2020-07-01 Jonathan Wakely <jwakely (a] redhat.com> 5364 1.1 mrg 5365 1.1 mrg PR libstdc++/94627 5366 1.1 mrg * include/bits/regex.h (operator==, operator!=): Remove noexcept 5367 1.1 mrg equality comparisons for match_results. 5368 1.1 mrg * testsuite/28_regex/match_results/94627.cc: New test. 5369 1.1 mrg 5370 1.1 mrg 2020-07-01 Martin Sebor <msebor (a] redhat.com> 5371 1.1 mrg 5372 1.1 mrg * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: Adjust 5373 1.1 mrg text of expected warning. 5374 1.1 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc: Same. 5375 1.1 mrg * testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc: Same. 5376 1.1 mrg * testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc: Same. 5377 1.1 mrg * testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc: Same. 5378 1.1 mrg 5379 1.1 mrg 2020-06-29 Ville Voutilainen <ville.voutilainen (a] gmail.com> 5380 1.1 mrg 5381 1.1 mrg Revert: 5382 1.1 mrg 2020-06-28 Ville Voutilainen <ville.voutilainen (a] gmail.com> 5383 1.1 mrg 5384 1.1 mrg * include/bits/basic_string.h (string(_CharT*, const _Alloc&)): 5385 1.1 mrg Add a __nonnull__ attribute. 5386 1.1 mrg * testsuite/21_strings/basic_string/cons/char/nonnull.cc: New. 5387 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/nonnull.cc: Likewise. 5388 1.1 mrg 5389 1.1 mrg 2020-06-28 Ville Voutilainen <ville.voutilainen (a] gmail.com> 5390 1.1 mrg 5391 1.1 mrg * include/bits/basic_string.h (string(_CharT*, const _Alloc&)): 5392 1.1 mrg Add a __nonnull__ attribute. 5393 1.1 mrg * testsuite/21_strings/basic_string/cons/char/nonnull.cc: New. 5394 1.1 mrg * testsuite/21_strings/basic_string/cons/wchar_t/nonnull.cc: Likewise. 5395 1.1 mrg 5396 1.1 mrg 2020-06-28 Ville Voutilainen <ville.voutilainen (a] gmail.com> 5397 1.1 mrg 5398 1.1 mrg PR libstdc++/95915 5399 1.1 mrg * include/std/type_traits (is_literal_type, is_literal_type_v): 5400 1.1 mrg Deprecate in C++17. 5401 1.1 mrg * include/std/variant (_Uninitialized): 5402 1.1 mrg Adjust the condition and the comment. 5403 1.1 mrg * testsuite/20_util/is_literal_type/deprecated-1z.cc: New. 5404 1.1 mrg * testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc: 5405 1.1 mrg Adjust. 5406 1.1 mrg * testsuite/20_util/is_literal_type/requirements/typedefs.cc: Likewise. 5407 1.1 mrg * testsuite/20_util/is_literal_type/value.cc: Likewise. 5408 1.1 mrg * testsuite/20_util/optional/constexpr/nullopt.cc: 5409 1.1 mrg Use __is_literal_type directly. 5410 1.1 mrg * testsuite/20_util/optional/nullopt.cc: Likewise. 5411 1.1 mrg * testsuite/20_util/variable_templates_for_traits.cc: Adjust. 5412 1.1 mrg * testsuite/20_util/variant/95915.cc: New. 5413 1.1 mrg * testsuite/20_util/variant/compile.cc: Add new test. 5414 1.1 mrg * testsuite/experimental/optional/constexpr/nullopt.cc: 5415 1.1 mrg Use __is_literal_type directly. 5416 1.1 mrg * testsuite/experimental/optional/nullopt.cc: Likewise. 5417 1.1 mrg * testsuite/experimental/type_traits/value.cc: Adjust. 5418 1.1 mrg * testsuite/util/testsuite_common_types.h: 5419 1.1 mrg Use __is_literal_type directly. 5420 1.1 mrg 5421 1.1 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com> 5422 1.1 mrg 5423 1.1 mrg * include/std/charconv (__from_chars_binary): Ignore leading zeros. 5424 1.1 mrg * testsuite/20_util/from_chars/1.cc: Check "0x1" for all bases, 5425 1.1 mrg not just 10 and 16. 5426 1.1 mrg * testsuite/20_util/from_chars/3.cc: New test. 5427 1.1 mrg 5428 1.1 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com> 5429 1.1 mrg 5430 1.1 mrg * include/bits/stl_algobase.h (__find_if): Add FALLTHRU markers. 5431 1.1 mrg * include/std/charconv (__detail::__to_chars): Avoid 5432 1.1 mrg -Wsign-compare warning. 5433 1.1 mrg 5434 1.1 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com> 5435 1.1 mrg 5436 1.1 mrg PR libstdc++/95851 5437 1.1 mrg * include/std/charconv (__to_chars_i): Check for zero-sized 5438 1.1 mrg buffer unconditionally. 5439 1.1 mrg * testsuite/20_util/to_chars/95851.cc: New test. 5440 1.1 mrg 5441 1.1 mrg 2020-06-23 Jonathan Wakely <jwakely (a] redhat.com> 5442 1.1 mrg 5443 1.1 mrg * testsuite/20_util/from_chars/1_c++20_neg.cc: Check enumeration 5444 1.1 mrg type. 5445 1.1 mrg * testsuite/20_util/from_chars/1_neg.cc: Likewise. Move dg-error 5446 1.1 mrg directives outside preprocessor condition. 5447 1.1 mrg 5448 1.1 mrg 2020-06-23 Jonathan Wakely <jwakely (a] redhat.com> 5449 1.1 mrg 5450 1.1 mrg PR libstdc++/95832 5451 1.1 mrg * include/std/variant (__detail::__variant::_Build_FUN): Remove 5452 1.1 mrg partial specialization to prevent narrowing conversions to bool. 5453 1.1 mrg * testsuite/20_util/variant/compile.cc: Test non-narrowing 5454 1.1 mrg conversions to bool. 5455 1.1 mrg * testsuite/20_util/variant/run.cc: Likewise. 5456 1.1 mrg 5457 1.1 mrg 2020-06-23 Jonathan Wakely <jwakely (a] redhat.com> 5458 1.1 mrg 5459 1.1 mrg * doc/Makefile.in: Regenerate. 5460 1.1 mrg * include/Makefile.in: Regenerate. 5461 1.1 mrg * libsupc++/Makefile.in: Regenerate. 5462 1.1 mrg * po/Makefile.in: Regenerate. 5463 1.1 mrg * python/Makefile.in: Regenerate. 5464 1.1 mrg * src/Makefile.in: Regenerate. 5465 1.1 mrg * src/c++11/Makefile.in: Regenerate. 5466 1.1 mrg * src/c++17/Makefile.in: Regenerate. 5467 1.1 mrg * src/c++98/Makefile.in: Regenerate. 5468 1.1 mrg * src/filesystem/Makefile.in: Regenerate. 5469 1.1 mrg * testsuite/Makefile.in: Regenerate. 5470 1.1 mrg 5471 1.1 mrg 2020-06-22 David Edelsohn <dje.gcc (a] gmail.com> 5472 1.1 mrg 5473 1.1 mrg * Makefile.am: Use -include. 5474 1.1 mrg * Makefile.in: Regenerate. 5475 1.1 mrg 5476 1.1 mrg 2020-06-21 David Edelsohn <dje.gcc (a] gmail.com> 5477 1.1 mrg 5478 1.1 mrg * Makefile.am (tmake_file): Build and install AIX-style FAT libraries. 5479 1.1 mrg * Makefile.in: Regenerate. 5480 1.1 mrg * configure.ac (tmake_file): Substitute. 5481 1.1 mrg * configure: Regenerate. 5482 1.1 mrg * configure.host (aix*): Define tmake_file. 5483 1.1 mrg * config/os/aix/t-aix: New file. 5484 1.1 mrg 5485 1.1 mrg 2020-06-20 Jason Merrill <jason (a] redhat.com> 5486 1.1 mrg 5487 1.1 mrg * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: 5488 1.1 mrg Remove greedy_ops tests. 5489 1.1 mrg * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: 5490 1.1 mrg Remove greedy_ops tests. 5491 1.1 mrg 5492 1.1 mrg 2020-06-19 Jonathan Wakely <jwakely (a] redhat.com> 5493 1.1 mrg 5494 1.1 mrg PR libstdc++/95765 5495 1.1 mrg * include/bits/stl_algobase.h (__size_to_integer(float)) 5496 1.1 mrg (__size_to_integer(double), __size_to_integer(long double)) 5497 1.1 mrg (__size_to_integer(__float128)): Cast return type explicitly. 5498 1.1 mrg * include/bits/stl_uninitialized.h (__uninitialized_default_1<true>): 5499 1.1 mrg Remove unused typedef. 5500 1.1 mrg 5501 1.1 mrg 2020-06-19 Jonathan Wakely <jwakely (a] redhat.com> 5502 1.1 mrg 5503 1.1 mrg * include/bits/stl_pair.h (_Index_tuple): Remove redundant 5504 1.1 mrg namespace qualification. 5505 1.1 mrg (pair::pair(tuple<>&, tuple<>&, _Index_tuple, _Index_tuple)): 5506 1.1 mrg Likewise. 5507 1.1 mrg * include/std/tuple (_Head_base, _Tuple_impl, tuple_size) 5508 1.1 mrg (tuple_element, __get_helper, get, __make_tuple_impl) 5509 1.1 mrg (__make_1st_indices, __tuple_concater) 5510 1.1 mrg (pair::pair(tuple<>&, tuple<>&, _Index_tuple, _Index_tuple)): 5511 1.1 mrg Likewise. 5512 1.1 mrg * include/std/utility (tuple_element, __is_tuple_like_impl) 5513 1.1 mrg (tuple_size, __pair_get, get): Likewise. 5514 1.1 mrg 5515 1.1 mrg 2020-06-19 Jonathan Wakely <jwakely (a] redhat.com> 5516 1.1 mrg 5517 1.1 mrg * include/bits/std_function.h (function): Define all member 5518 1.1 mrg functions inline. 5519 1.1 mrg 5520 1.1 mrg 2020-06-19 Marc Glisse <marc.glisse (a] inria.fr> 5521 1.1 mrg 5522 1.1 mrg * include/bits/stl_algo.h (__includes): Simplify the code. 5523 1.1 mrg 5524 1.1 mrg 2020-06-19 Marc Glisse <marc.glisse (a] inria.fr> 5525 1.1 mrg 5526 1.1 mrg * include/std/optional (optional()): Explicitly define it. 5527 1.1 mrg 5528 1.1 mrg 2020-06-17 Jonathan Wakely <jwakely (a] redhat.com> 5529 1.1 mrg 5530 1.1 mrg PR libstdc++/94540 5531 1.1 mrg * include/bits/stl_uninitialized.h (__uninitialized_default_1<true>): 5532 1.1 mrg Construct the first value at *__first instead of on the stack. 5533 1.1 mrg (__uninitialized_default_n_1<true>): Likewise. 5534 1.1 mrg Improve comments on several of the non-standard algorithms. 5535 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc: 5536 1.1 mrg New test. 5537 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc: 5538 1.1 mrg New test. 5539 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc: 5540 1.1 mrg New test. 5541 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc: 5542 1.1 mrg New test. 5543 1.1 mrg * testsuite/23_containers/vector/cons/94540.cc: New test. 5544 1.1 mrg 5545 1.1 mrg 2020-06-17 Jonathan Wakely <jwakely (a] redhat.com> 5546 1.1 mrg 5547 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc: 5548 1.1 mrg Replace Value type with int so trivial code path is used. 5549 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc: 5550 1.1 mrg Likewise. 5551 1.1 mrg 5552 1.1 mrg 2020-06-17 Jonathan Wakely <jwakely (a] redhat.com> 5553 1.1 mrg 5554 1.1 mrg * include/bits/stl_uninitialized.h (uninitialized_fill_n): Only 5555 1.1 mrg use std::fill_n when the size is an integral type. 5556 1.1 mrg (__uninitialized_default_n): Likewise. 5557 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc: 5558 1.1 mrg New test. 5559 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/sizes.cc: 5560 1.1 mrg New test. 5561 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc: 5562 1.1 mrg New test. 5563 1.1 mrg 5564 1.1 mrg 2020-06-16 Jonathan Wakely <jwakely (a] redhat.com> 5565 1.1 mrg 5566 1.1 mrg PR libstdc++/95282 5567 1.1 mrg * include/bits/atomic_base.h (__atomic_impl::load): Use the _Val 5568 1.1 mrg alias instead of deducing _Tp as an unqualified type. 5569 1.1 mrg (__atomic_impl::exchange): Use the _Val alias to remove volatile 5570 1.1 mrg from the reinterpret_cast result type. 5571 1.1 mrg 5572 1.1 mrg 2020-06-16 Jonathan Wakely <jwakely (a] redhat.com> 5573 1.1 mrg 5574 1.1 mrg * include/std/atomic (atomic): Add static assertions. 5575 1.1 mrg * testsuite/29_atomics/atomic/requirements/types_neg.cc: New test. 5576 1.1 mrg 5577 1.1 mrg 2020-06-16 Patrick Palka <ppalka (a] redhat.com> 5578 1.1 mrg 5579 1.1 mrg PR libstdc++/94003 5580 1.1 mrg * testsuite/20_util/is_constructible/94003.cc: New test. 5581 1.1 mrg 5582 1.1 mrg 2020-06-15 Jonathan Wakely <jwakely (a] redhat.com> 5583 1.1 mrg 5584 1.1 mrg * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): 5585 1.1 mrg Update value for C++20. 5586 1.1 mrg * include/std/version (__cpp_lib_constexpr_char_traits): Likewise. 5587 1.1 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: 5588 1.1 mrg Update expected value. 5589 1.1 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: 5590 1.1 mrg Likewise. 5591 1.1 mrg 5592 1.1 mrg 2020-06-15 Paul Keir <paul.keir (a] uws.ac.uk> 5593 1.1 mrg 5594 1.1 mrg * include/bits/char_traits.h (char_traits::move): constexpr move with 5595 1.1 mrg overlap was using copy_backward incorrectly. 5596 1.1 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: 5597 1.1 mrg New test. 5598 1.1 mrg 5599 1.1 mrg 2020-06-12 Jonathan Wakely <jwakely (a] redhat.com> 5600 1.1 mrg 5601 1.1 mrg * testsuite/29_atomics/atomic_flag/clear/1.cc: Also test clear() 5602 1.1 mrg when the value is currently set. 5603 1.1 mrg * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: 5604 1.1 mrg Actually check the return value. 5605 1.1 mrg * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: 5606 1.1 mrg Likewise. 5607 1.1 mrg 5608 1.1 mrg 2020-06-12 Jonathan Wakely <jwakely (a] redhat.com> 5609 1.1 mrg 5610 1.1 mrg * include/bits/atomic_base.h (atomic_flag::test): Add missing 5611 1.1 mrg const qualifiers. 5612 1.1 mrg * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add 5613 1.1 mrg dg-options and verify results of test function. 5614 1.1 mrg * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise. 5615 1.1 mrg 5616 1.1 mrg 2020-06-11 Jonathan Wakely <jwakely (a] redhat.com> 5617 1.1 mrg 5618 1.1 mrg PR libstdc++/94749 5619 1.1 mrg * include/bits/istream.tcc (basic_istream::ignore(streamsize, CharT)): 5620 1.1 mrg Only discard an extra character if we didn't already reach the 5621 1.1 mrg maximum number. 5622 1.1 mrg * src/c++98/istream.cc (istream::ignore(streamsiz, char)) 5623 1.1 mrg (wistream::ignore(streamsize, wchar_t)): Likewise. 5624 1.1 mrg * testsuite/27_io/basic_istream/ignore/char/94749.cc: New test. 5625 1.1 mrg * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc: New test. 5626 1.1 mrg 5627 1.1 mrg 2020-06-10 Patrick Palka <ppalka (a] redhat.com> 5628 1.1 mrg 5629 1.1 mrg PR libstdc++/95578 5630 1.1 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn): 5631 1.1 mrg Also check that the iterator and sentinel have the same type before 5632 1.1 mrg applying the unwrapping optimization for __normal_iterator. 5633 1.1 mrg Split the check into two, one for the first iterator/sentinel 5634 1.1 mrg pair and another for second iterator/sentinel pair. Remove uses 5635 1.1 mrg of __niter_base, and remove uses of std::move on a 5636 1.1 mrg __normal_iterator. 5637 1.1 mrg * include/bits/ranges_algobase.h (__equal_fn): Likewise. 5638 1.1 mrg (__copy_or_move): Likewise. Perform similar adjustments for 5639 1.1 mrg the reverse_iterator and move_iterator optimizations. Inline 5640 1.1 mrg the checks into the if-constexprs, and use using-declarations to 5641 1.1 mrg make them less visually noisy. Remove uses of __niter_wrap. 5642 1.1 mrg (__copy_or_move_backward): Likewise. 5643 1.1 mrg * testsuite/25_algorithms/copy/95578.cc: New test. 5644 1.1 mrg * testsuite/25_algorithms/copy_backward/95578.cc: New test. 5645 1.1 mrg * testsuite/25_algorithms/equal/95578.cc: New test. 5646 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/95578.cc: New test. 5647 1.1 mrg * testsuite/25_algorithms/move/95578.cc: New test. 5648 1.1 mrg * testsuite/25_algorithms/move_backward/95578.cc: New test. 5649 1.1 mrg 5650 1.1 mrg 2020-06-10 Franois Dumont <fdumont (a] gcc.gnu.org> 5651 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 5652 1.1 mrg 5653 1.1 mrg * include/bits/deque.tcc (__lex_cmp_dit): New. 5654 1.1 mrg (__lexicographical_compare_aux1): Define overloads for deque 5655 1.1 mrg iterators. 5656 1.1 mrg * include/bits/stl_algobase.h (__lexicographical_compare::__3way): 5657 1.1 mrg New static member function. 5658 1.1 mrg (__lexicographical_compare<true>::__3way): Likewise. 5659 1.1 mrg (__lexicographical_compare<true>::__lc): Use __3way. 5660 1.1 mrg (__lexicographical_compare_aux): Rename to 5661 1.1 mrg __lexicographical_compare_aux1 and declare overloads for deque 5662 1.1 mrg iterators. 5663 1.1 mrg (__lexicographical_compare_aux): Define new forwarding function 5664 1.1 mrg that calls __lexicographical_compare_aux1 and declare new overloads 5665 1.1 mrg for safe iterators. 5666 1.1 mrg (lexicographical_compare): Do not use __niter_base on 5667 1.1 mrg parameters. 5668 1.1 mrg * include/debug/safe_iterator.tcc 5669 1.1 mrg (__lexicographical_compare_aux): Define overloads for safe 5670 1.1 mrg iterators. 5671 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/1.cc: Add 5672 1.1 mrg checks with random access iterators. 5673 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/deque_iterators/1.cc: 5674 1.1 mrg New test. 5675 1.1 mrg 5676 1.1 mrg 2020-06-09 Jonathan Wakely <jwakely (a] redhat.com> 5677 1.1 mrg 5678 1.1 mrg * include/bits/stl_iterator.h (move_iterator::operator=): Define. 5679 1.1 mrg * testsuite/24_iterators/move_iterator/dr3265.cc: New test. 5680 1.1 mrg 5681 1.1 mrg 2020-06-09 Jonathan Wakely <jwakely (a] redhat.com> 5682 1.1 mrg 5683 1.1 mrg * include/std/optional (bad_optional_access): Define default 5684 1.1 mrg constructor and destructor as defaulted. 5685 1.1 mrg * testsuite/20_util/optional/bad_access.cc: New test. 5686 1.1 mrg 5687 1.1 mrg 2020-06-08 Jonathan Wakely <jwakely (a] redhat.com> 5688 1.1 mrg 5689 1.1 mrg * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error 5690 1.1 mrg line number. 5691 1.1 mrg * testsuite/20_util/default_delete/void_neg.cc: Likewise. 5692 1.1 mrg 5693 1.1 mrg 2020-06-08 Jonathan Wakely <jwakely (a] redhat.com> 5694 1.1 mrg 5695 1.1 mrg * include/bits/unique_ptr.h (operator<<): Define for C++20. 5696 1.1 mrg * testsuite/20_util/unique_ptr/io/lwg2948.cc: New test. 5697 1.1 mrg 5698 1.1 mrg 2020-06-04 Jonathan Wakely <jwakely (a] redhat.com> 5699 1.1 mrg 5700 1.1 mrg * include/bits/iterator_concepts.h (__detail::__ptr, __detail::__ref) 5701 1.1 mrg (__detail::__cat, __detail::__diff): Move to class scope in the 5702 1.1 mrg relevant __iterator_traits specializations. 5703 1.1 mrg (__iterator_traits<>): Use nested class templates instead of ones from 5704 1.1 mrg namespace __detail. 5705 1.1 mrg * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Move to 5706 1.1 mrg class scope in iterator_traits<common_iterator<I, S>>. 5707 1.1 mrg (iterator_traits<common_iterator<I, S>>): Use nested class template 5708 1.1 mrg instead of __detail::__common_iter_ptr. 5709 1.1 mrg 5710 1.1 mrg 2020-06-04 Franois Dumont <fdumont (a] gcc.gnu.org> 5711 1.1 mrg 5712 1.1 mrg * include/bits/stl_algo.h (__copy_n_a): Move to ... 5713 1.1 mrg * include/bits/stl_algobase.h (__copy_n_a): ...here. Add __strict 5714 1.1 mrg parameter. 5715 1.1 mrg (__copy_n_a(istreambuf_iterator<>, _Size, _Deque_iterator<>, bool)): 5716 1.1 mrg Declare. 5717 1.1 mrg (__niter_base(const _Safe_iterator<_Ite, _Seq, 5718 1.1 mrg random_access_iterator_tag>&)): Declare. 5719 1.1 mrg (__copy_move_a2(istreambuf_iterator<>, istreambuf_iterator<>, 5720 1.1 mrg _Deque_iterator<>)): Declare. 5721 1.1 mrg * include/bits/deque.tcc 5722 1.1 mrg (__copy_move_a2(istreambuf_iterator<>, istreambuf_iterator<>, 5723 1.1 mrg _Deque_iterator<>)): New. 5724 1.1 mrg (__copy_n_a(istreambuf_iterator<>, _Size, _Deque_iterator<>, bool)): 5725 1.1 mrg New. 5726 1.1 mrg * include/bits/streambuf_iterator.h 5727 1.1 mrg (__copy_n_a(istreambuf_iterator<>, _Size, _CharT*, bool)): Adapt. 5728 1.1 mrg * include/debug/safe_iterator.tcc (__niter_base): New. 5729 1.1 mrg * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc 5730 1.1 mrg (test03): New. 5731 1.1 mrg * testsuite/25_algorithms/copy/streambuf_iterators/char/debug/deque_neg.cc: 5732 1.1 mrg New test. 5733 1.1 mrg * testsuite/25_algorithms/copy_n/debug/istreambuf_ite_deque_neg.cc: 5734 1.1 mrg New test. 5735 1.1 mrg * testsuite/25_algorithms/copy_n/istreambuf_iterator/2.cc: New test. 5736 1.1 mrg * testsuite/25_algorithms/copy_n/istreambuf_iterator/deque.cc: 5737 1.1 mrg New test. 5738 1.1 mrg 5739 1.1 mrg 2020-06-04 Jonathan Wakely <jwakely (a] redhat.com> 5740 1.1 mrg 5741 1.1 mrg * include/bits/ranges_algobase.h (__copy_n_fn): Only call 5742 1.1 mrg ranges::copy for positive values. 5743 1.1 mrg * include/bits/stl_algo.h (copy_n): Convert Size argument to an 5744 1.1 mrg integral type and only call __copy_n for positive values. 5745 1.1 mrg * testsuite/util/testsuite_iterators.h 5746 1.1 mrg (random_access_iterator_wrapper::operator+=): Fix range check for 5747 1.1 mrg negative values. 5748 1.1 mrg (output_container, input_container, forward_container) 5749 1.1 mrg (bidirectional_container, random_access_container): New alias 5750 1.1 mrg templates. 5751 1.1 mrg * testsuite/25_algorithms/copy_n/5.cc: New test. 5752 1.1 mrg 5753 1.1 mrg 2020-06-02 Jonathan Wakely <jwakely (a] redhat.com> 5754 1.1 mrg 5755 1.1 mrg PR libstdc++/90102 5756 1.1 mrg * include/debug/deque (deque(const _Base&)): Replace parameter 5757 1.1 mrg with a struct that wraps a const _Base&. 5758 1.1 mrg * include/debug/forward_list (forward_list(_Base_ref)): New 5759 1.1 mrg constructor. 5760 1.1 mrg * include/debug/list (list(const _Base&)): Replace parameter 5761 1.1 mrg with a struct that wraps a const _Base&. 5762 1.1 mrg * include/debug/map.h (map(const _Base&)): Likewise. 5763 1.1 mrg * include/debug/multimap.h (multimap(const _Base&)): Likewise. 5764 1.1 mrg * include/debug/multiset.h (multiset(const _Base&)): Likewise. 5765 1.1 mrg * include/debug/set.h (set(const _Base&)): Likewise. 5766 1.1 mrg * include/debug/unordered_map (unordered_map(const _Base&)) 5767 1.1 mrg (unordered_multimap(const _Base&)): Likewise. 5768 1.1 mrg * include/debug/unordered_set (unordered_set(const _Base&)) 5769 1.1 mrg (unordered_multiset(const _Base&)): Likewise. 5770 1.1 mrg * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: 5771 1.1 mrg Adjust dg-error line number. 5772 1.1 mrg * include/debug/vector (vector(const _Base&)): Likewise. 5773 1.1 mrg * testsuite/23_containers/deque/debug/90102.cc: New test. 5774 1.1 mrg * testsuite/23_containers/forward_list/debug/90102.cc: New test. 5775 1.1 mrg * testsuite/23_containers/list/debug/90102.cc: New test. 5776 1.1 mrg * testsuite/23_containers/map/debug/90102.cc: New test. 5777 1.1 mrg * testsuite/23_containers/multimap/debug/90102.cc: New test. 5778 1.1 mrg * testsuite/23_containers/multiset/debug/90102.cc: New test. 5779 1.1 mrg * testsuite/23_containers/set/debug/90102.cc: New test. 5780 1.1 mrg * testsuite/23_containers/unordered_map/debug/90102.cc: New test. 5781 1.1 mrg * testsuite/23_containers/unordered_multimap/debug/90102.cc: New test. 5782 1.1 mrg * testsuite/23_containers/unordered_multiset/debug/90102.cc: New test. 5783 1.1 mrg * testsuite/23_containers/unordered_set/debug/90102.cc: New test. 5784 1.1 mrg * testsuite/23_containers/vector/debug/90102.cc: New test. 5785 1.1 mrg 5786 1.1 mrg 2020-06-01 Jonathan Wakely <jwakely (a] redhat.com> 5787 1.1 mrg 5788 1.1 mrg PR libstdc++/95392 5789 1.1 mrg * include/bits/fs_path.h (path::_S_to_string): Move to 5790 1.1 mrg namespace-scope and rename to ... 5791 1.1 mrg (__detail::__string_from_range): ... this. 5792 1.1 mrg [WINDOWS] (__detail::__wstr_from_utf8): New function template to 5793 1.1 mrg convert a char sequence containing UTF-8 to wstring. 5794 1.1 mrg (path::_S_convert(Iter, Iter)): Adjust call to _S_to_string. 5795 1.1 mrg (path::_S_convert_loc(Iter, Iter, const locale&)): Likewise. 5796 1.1 mrg (u8path(InputIterator, InputIterator)) [WINDOWS]: Use 5797 1.1 mrg __string_from_range to obtain a contiguous range and 5798 1.1 mrg __wstr_from_utf8 to obtain a wide string. 5799 1.1 mrg (u8path(const Source&)) [WINDOWS]: Use __effective_range to 5800 1.1 mrg obtain a contiguous range and __wstr_from_utf8 to obtain a wide 5801 1.1 mrg string. 5802 1.1 mrg (path::_S_convert(const _EcharT*, const _EcharT)) [WINDOWS]: 5803 1.1 mrg Use __wstr_from_utf8. 5804 1.1 mrg 5805 1.1 mrg 2020-06-01 Jonathan Wakely <jwakely (a] redhat.com> 5806 1.1 mrg 5807 1.1 mrg * testsuite/util/testsuite_iterators.h: 5808 1.1 mrg (input_iterator_wrapper::operator++(int)): Return proxy object. 5809 1.1 mrg 5810 1.1 mrg 2020-06-01 Jonathan Wakely <jwakely (a] redhat.com> 5811 1.1 mrg 5812 1.1 mrg * doc/xml/manual/evolution.xml: Document deprecation of 5813 1.1 mrg __is_nullptr_t and removal of std::allocator members. 5814 1.1 mrg * doc/html/manual/api.html: Regenerate. 5815 1.1 mrg 5816 1.1 mrg 2020-06-01 Jonathan Wakely <jwakely (a] redhat.com> 5817 1.1 mrg 5818 1.1 mrg * doc/xml/manual/containers.xml: Replace <xref> with <link>. 5819 1.1 mrg * doc/xml/manual/evolution.xml: Likewise. 5820 1.1 mrg * doc/html/manual/api.html: Regenerate. 5821 1.1 mrg * doc/html/manual/containers.html: Regenerate. 5822 1.1 mrg 5823 1.1 mrg 2020-06-01 Gerald Pfeifer <gerald (a] pfeifer.com> 5824 1.1 mrg 5825 1.1 mrg * doc/xml/faq.xml: Adjust Valgrind reference and remove another. 5826 1.1 mrg * doc/html/faq.html: Regenerate. 5827 1.1 mrg 5828 1.1 mrg 2020-06-01 Gerald Pfeifer <gerald (a] pfeifer.com> 5829 1.1 mrg 5830 1.1 mrg * doc/xml/manual/policy_data_structures_biblio.xml: Remove 5831 1.1 mrg stray change. 5832 1.1 mrg 5833 1.1 mrg 2020-06-01 Gerald Pfeifer <gerald (a] pfeifer.com> 5834 1.1 mrg 5835 1.1 mrg * doc/xml/manual/policy_data_structures_biblio.xml: Switch 5836 1.1 mrg www.cs.princeton.edu to https. 5837 1.1 mrg * doc/html/manual/policy_data_structures.html: Regenerate. 5838 1.1 mrg 5839 1.1 mrg 2020-05-31 Douglas B Rupp <douglas.b.rupp (a] gmail.com> 5840 1.1 mrg 5841 1.1 mrg * crossconfig.m4 (<*-vxworks>): Check for more math decls. 5842 1.1 mrg * configure: Rebuild. 5843 1.1 mrg 5844 1.1 mrg 2020-05-29 H.J. Lu <hjl.tools (a] gmail.com> 5845 1.1 mrg 5846 1.1 mrg PR bootstrap/95413 5847 1.1 mrg * configure: Regenerated. 5848 1.1 mrg 5849 1.1 mrg 2020-05-29 Franois Dumont <fdumont (a] gcc.gnu.org> 5850 1.1 mrg 5851 1.1 mrg PR libstdc++/95079 5852 1.1 mrg * include/bits/hashtable_policy.h (_Insert_base<>::try_emplace): New. 5853 1.1 mrg * include/bits/unordered_map.h (unordered_map<>::try_emplace): Adapt. 5854 1.1 mrg (unordered_map<>::insert_or_assign): Adapt. 5855 1.1 mrg 5856 1.1 mrg 2020-05-27 Jonathan Wakely <jwakely (a] redhat.com> 5857 1.1 mrg 5858 1.1 mrg PR libstdc++/95282 5859 1.1 mrg * include/bits/atomic_base.h (__atomic_impl::load): Add 5860 1.1 mrg cv-qualifiers to parameter so that _Tp is deduced as the 5861 1.1 mrg unqualified type. 5862 1.1 mrg * testsuite/29_atomics/atomic_float/95282.cc: New test. 5863 1.1 mrg 5864 1.1 mrg 2020-05-27 Jonathan Wakely <jwakely (a] redhat.com> 5865 1.1 mrg 5866 1.1 mrg PR libstdc++/95322 5867 1.1 mrg * include/std/ranges (transform_view::_Sentinel): Allow hidden 5868 1.1 mrg friends to work with _Iterator<true> and _Iterator<false>. 5869 1.1 mrg (join_view::_Sentinel): Likewise. 5870 1.1 mrg * testsuite/std/ranges/adaptors/95322.cc: New test. 5871 1.1 mrg 5872 1.1 mrg 2020-05-27 Jonathan Wakely <jwakely (a] redhat.com> 5873 1.1 mrg 5874 1.1 mrg PR libstdc++/94354 5875 1.1 mrg * include/bits/stl_iterator.h (reverse_iterator): Fix comparison 5876 1.1 mrg operators to use the correct operations on the underlying 5877 1.1 mrg iterators. 5878 1.1 mrg * testsuite/24_iterators/reverse_iterator/rel_ops.cc: New test. 5879 1.1 mrg 5880 1.1 mrg 2020-05-27 Jonathan Wakely <jwakely (a] redhat.com> 5881 1.1 mrg 5882 1.1 mrg * testsuite/18_support/comparisons/categories/zero_neg.cc: New test. 5883 1.1 mrg 5884 1.1 mrg 2020-05-26 Patrick Palka <ppalka (a] redhat.com> 5885 1.1 mrg 5886 1.1 mrg PR libstdc++/95322 5887 1.1 mrg * include/bits/stl_iterator.h (__detail::_Common_iter_proxy): 5888 1.1 mrg Remove and instead define it ... 5889 1.1 mrg (common_iterator::_Proxy): ... here. 5890 1.1 mrg (common_iterator::operator->): Use it. 5891 1.1 mrg * testsuite/24_iterators/common_iterator/2.cc: New test. 5892 1.1 mrg * testsuite/std/ranges/adaptors/95322.cc: New test. 5893 1.1 mrg 5894 1.1 mrg 2020-05-23 Patrick Palka <ppalka (a] redhat.com> 5895 1.1 mrg 5896 1.1 mrg PR libstdc++/93978 5897 1.1 mrg * testsuite/std/ranges/adaptors/93978.cc: Add -Wall to 5898 1.1 mrg dg-additional-options. Avoid unused-but-set-variable warning. 5899 1.1 mrg 5900 1.1 mrg 2020-05-23 Jonathan Wakely <jwakely (a] redhat.com> 5901 1.1 mrg 5902 1.1 mrg PR libstdc++/95289 5903 1.1 mrg * include/debug/helper_functions.h (__get_distance): Only declare 5904 1.1 mrg as a constexpr function for C++14 and up. 5905 1.1 mrg * testsuite/25_algorithms/copy/debug/95289.cc: New test. 5906 1.1 mrg 5907 1.1 mrg * include/bits/fs_path.h (__detail::_S_range_begin) 5908 1.1 mrg (__detail::_S_range_end, path::_S_string_from_iter): Replace with 5909 1.1 mrg overloaded function template __detail::__effective_range. 5910 1.1 mrg (__detail::__effective_range): New overloaded function template to 5911 1.1 mrg create a basic_string or basic_string_view for an effective range. 5912 1.1 mrg (__detail::__value_type_is_char): Use __detail::__effective_range. 5913 1.1 mrg Do not use remove_const on value type. 5914 1.1 mrg (__detail::__value_type_is_char_or_char8_t): Likewise. 5915 1.1 mrg (path::path(const Source&, format)) 5916 1.1 mrg (path::path(const Source&, const locale&)) 5917 1.1 mrg (path::operator/=(const Source&), path::append(const Source&)) 5918 1.1 mrg (path::concat(const Source&)): Use __detail::__effective_range. 5919 1.1 mrg (path::_S_to_string(InputIterator, InputIterator)): New function 5920 1.1 mrg template to create a string view if possible, or string otherwise. 5921 1.1 mrg (path::_S_convert): Add overloads that convert a string returned 5922 1.1 mrg by __detail::__effective_range. Use if-constexpr to inline conversion 5923 1.1 mrg logic from all overloads of _Cvt::_S_convert. 5924 1.1 mrg (path::_S_convert_loc): Add overload that converts a string. Use 5925 1.1 mrg _S_to_string to avoid allocation when possible. 5926 1.1 mrg (path::_Cvt): Remove. 5927 1.1 mrg (path::operator+=(CharT)): Remove indirection through path::concat. 5928 1.1 mrg * include/experimental/bits/fs_path.h (path::_S_convert_loc): Add 5929 1.1 mrg overload for non-const pointers, to avoid constructing a std::string. 5930 1.1 mrg * src/c++17/fs_path.cc (path::_S_convert_loc): Replace conditional 5931 1.1 mrg compilation with call to _S_convert. 5932 1.1 mrg 5933 1.1 mrg * include/bits/fs_path.h (__detail::_S_range_begin) 5934 1.1 mrg (__detail::_S_range_end): Remove unintentional static specifiers. 5935 1.1 mrg * include/experimental/bits/fs_path.h (__detail::_S_range_begin) 5936 1.1 mrg (__detail::_S_range_end): Likewise. 5937 1.1 mrg 5938 1.1 mrg * include/bits/fs_path.h (filesystem::__detail::__is_encoded_char): 5939 1.1 mrg Replace alias template with variable template. Don't remove const. 5940 1.1 mrg (filesystem::__detail::__is_path_src): Replace overloaded function 5941 1.1 mrg template with variable template and specializations. 5942 1.1 mrg (filesystem::__detail::__is_path_iter_src): Replace alias template 5943 1.1 mrg with class template. 5944 1.1 mrg (filesystem::__detail::_Path): Use __is_path_src. Remove support for 5945 1.1 mrg iterator pairs. 5946 1.1 mrg (filesystem::__detail::_Path2): New alias template for checking 5947 1.1 mrg InputIterator requirements. 5948 1.1 mrg (filesystem::__detail::__constructible_from): Remove. 5949 1.1 mrg (filesystem::path): Replace _Path<Iter, Iter> with _Path2<Iter>. 5950 1.1 mrg * testsuite/27_io/filesystem/path/construct/80762.cc: Check with two 5951 1.1 mrg constructor arguments of void and void* types. 5952 1.1 mrg 5953 1.1 mrg 2020-05-21 Matthias Kretz <kretz (a] kde.org> 5954 1.1 mrg 5955 1.1 mrg * testsuite/Makefile.am: Remove dup target_triplet and set tool, 5956 1.1 mrg allowing runtest to work without arguments. 5957 1.1 mrg * testsuite/Makefile.in: Regenerate. 5958 1.1 mrg 5959 1.1 mrg 2020-05-21 Jonathan Wakely <jwakely (a] redhat.com> 5960 1.1 mrg 5961 1.1 mrg PR libstdc++/93983 5962 1.1 mrg * include/bits/iterator_concepts.h (__detail::__cpp17_iterator): 5963 1.1 mrg Reorder constraints to avoid recursion when constructors use 5964 1.1 mrg iterator_traits (LWG 3420). 5965 1.1 mrg * testsuite/24_iterators/customization_points/lwg3420.cc: New test. 5966 1.1 mrg 5967 1.1 mrg * include/experimental/socket (basic_socket::is_open() 5968 1.1 mrg (basic_socket_acceptor::is_open()): Use _GLIBCXX_NODISCARD macro. 5969 1.1 mrg 5970 1.1 mrg * include/experimental/bits/net.h (__endpoint, __protocol) 5971 1.1 mrg (__acceptable_protocol, __inet_protocol): New concepts. 5972 1.1 mrg (__detail::__is_endpoint): Move trait from <experimental/socket>. 5973 1.1 mrg (__is_protocol, __is_acceptable_protocol, __is_inet_protocol): New 5974 1.1 mrg traits. 5975 1.1 mrg (__endpoint, __protocol, __acceptable_protocol): New variable 5976 1.1 mrg templates. 5977 1.1 mrg * include/experimental/socket (__is_endpoint): Move to net.h header. 5978 1.1 mrg (basic_socket, basic_socket_acceptor): Check requirements. 5979 1.1 mrg 5980 1.1 mrg * include/experimental/executor (use_future_t::use_future_t()): Fix 5981 1.1 mrg incorrect noexcept-specifier. 5982 1.1 mrg * include/experimental/internet (basic_resolver_results): Adjust 5983 1.1 mrg whitespace. 5984 1.1 mrg * include/experimental/socket (__basic_socket_impl::release): Add 5985 1.1 mrg member function. 5986 1.1 mrg (basic_socket(io_context&, const endpoint_type&)): Fix argument to 5987 1.1 mrg target constructor. 5988 1.1 mrg (basic_socket::release(), basic_socket::release(error_code&)): Add 5989 1.1 mrg missing member functions. 5990 1.1 mrg (basic_socket::is_open()): Add nodiscard attribute. 5991 1.1 mrg (basic_socket::close(error_code&)): Pass argument to base function. 5992 1.1 mrg (basic_socket_acceptor::release()) 5993 1.1 mrg (basic_socket_acceptor::release(error_code&)): Add missing member 5994 1.1 mrg functions. 5995 1.1 mrg (basic_socket_acceptor::is_open()): Add nodiscard attribute. 5996 1.1 mrg (basic_socket_streambuf::error()): Add noexcept. 5997 1.1 mrg (basic_socket_iostream::error()): Likewise. 5998 1.1 mrg * testsuite/experimental/net/socket/basic_socket.cc: New test. 5999 1.1 mrg 6000 1.1 mrg * include/experimental/buffer: Replace typedefs with 6001 1.1 mrg alias-declarations. 6002 1.1 mrg * include/experimental/executor: Likewise. 6003 1.1 mrg * include/experimental/internet: Likewise. 6004 1.1 mrg * include/experimental/socket: Likewise. 6005 1.1 mrg * include/experimental/timer: Likewise. 6006 1.1 mrg 6007 1.1 mrg 2020-05-19 Jonathan Wakely <jwakely (a] redhat.com> 6008 1.1 mrg 6009 1.1 mrg PR libstdc++/94087 6010 1.1 mrg * src/c++11/random.cc (__x86_rdseed): Allow fallback function to be 6011 1.1 mrg passed in. 6012 1.1 mrg (__x86_rdseed_rdrand): New function that uses rdseed with rdrand 6013 1.1 mrg fallback. 6014 1.1 mrg (random_device::_M_init): Use __x86_rdseed_rdrand when both 6015 1.1 mrg instructions are available. 6016 1.1 mrg * testsuite/26_numerics/random/random_device/94087.cc: New test. 6017 1.1 mrg 6018 1.1 mrg 2020-05-19 Patrick Palka <ppalka (a] redhat.com> 6019 1.1 mrg 6020 1.1 mrg PR c++/66439 6021 1.1 mrg * testsuite/20_util/pair/astuple/get_neg.cc: Prune "type/value 6022 1.1 mrg mismatch" messages. 6023 1.1 mrg * testsuite/20_util/tuple/element_access/get_neg.cc: Likewise. 6024 1.1 mrg 6025 1.1 mrg 2020-05-15 H.J. Lu <hongjiu.lu (a] intel.com> 6026 1.1 mrg 6027 1.1 mrg PR bootstrap/95147 6028 1.1 mrg * configure: Regenerated. 6029 1.1 mrg 6030 1.1 mrg 2020-05-14 H.J. Lu <hongjiu.lu (a] intel.com> 6031 1.1 mrg 6032 1.1 mrg * configure: Regenerated. 6033 1.1 mrg 6034 1.1 mrg 2020-05-13 Alexandre Oliva <oliva (a] adacore.com> 6035 1.1 mrg 6036 1.1 mrg PR libstdc++/77691 6037 1.1 mrg * include/experimental/memory_resource 6038 1.1 mrg (__resource_adaptor_imp::do_allocate): Handle max_align_t on 6039 1.1 mrg x86-vxworks as on x86-solaris. 6040 1.1 mrg (__resource_adaptor_imp::do_deallocate): Likewise. 6041 1.1 mrg * testsuite/experimental/memory_resource/new_delete_resource.cc: 6042 1.1 mrg Drop xfail. 6043 1.1 mrg (BAD_MAX_ALIGN_T): Define on x86-vxworks as on x86-solaris. 6044 1.1 mrg (test03): Drop max-align test for char-aligned alloc. 6045 1.1 mrg 6046 1.1 mrg 2020-05-08 Ulrich Drepper <drepper (a] redhat.com> 6047 1.1 mrg 6048 1.1 mrg * include/bits/atomic_base.h (atomic_flag): Implement test member 6049 1.1 mrg function. 6050 1.1 mrg * include/std/version: Define __cpp_lib_atomic_flag_test. 6051 1.1 mrg * testsuite/29_atomics/atomic_flag/test/explicit.cc: New file. 6052 1.1 mrg * testsuite/29_atomics/atomic_flag/test/implicit.cc: New file. 6053 1.1 mrg 6054 1.1 mrg 2020-05-07 Jonathan Wakely <jwakely (a] redhat.com> 6055 1.1 mrg 6056 1.1 mrg PR libstdc++/94971 (partial) 6057 1.1 mrg * include/bits/ranges_algo.h (ranges::__sample_fn): Qualify 6058 1.1 mrg std::sample using macro to work in parallel mode. 6059 1.1 mrg (__sort_fn): Likewise for std::sort. 6060 1.1 mrg (ranges::__nth_element_fn): Likewise for std::nth_element. 6061 1.1 mrg * include/bits/stl_algobase.h (lexicographical_compare_three_way): 6062 1.1 mrg Likewise for std::__min_cmp. 6063 1.1 mrg * include/parallel/algobase.h (lexicographical_compare_three_way): 6064 1.1 mrg Add to namespace std::__parallel. 6065 1.1 mrg 6066 1.1 mrg PR c/92472 6067 1.1 mrg * include/parallel/multiway_merge.h (_GuardedIterator::operator*) 6068 1.1 mrg (_GuardedIterator::operator _RAIter, _UnguardedIterator::operator*) 6069 1.1 mrg (_UnguardedIterator::operator _RAIter): Add const qualifier. 6070 1.1 mrg (operator<(_GuardedIterator&, _GuardedIterator&) 6071 1.1 mrg (operator<=(_GuardedIterator&, _GuardedIterator&) 6072 1.1 mrg (operator<(_UnguardedIterator&, _UnguardedIterator&) 6073 1.1 mrg (operator<=(_UnguardedIterator&, _UnguardedIterator&): Change 6074 1.1 mrg parameters to const references. 6075 1.1 mrg 6076 1.1 mrg 2020-05-07 Eric Botcazou <ebotcazou (a] adacore.com> 6077 1.1 mrg 6078 1.1 mrg * config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Update. 6079 1.1 mrg * config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: Likewise. 6080 1.1 mrg 6081 1.1 mrg 2020-05-06 Franois Dumont <fdumont (a] gcc.gnu.org> 6082 1.1 mrg 6083 1.1 mrg * include/bits/stl_algobase.h (struct _Bit_iterator): New declaration. 6084 1.1 mrg (std::__fill_a1(_Bit_iterator, _Bit_iterator, const bool&)): Likewise. 6085 1.1 mrg * include/bits/stl_bvector.h (__fill_bvector): Move outside 6086 1.1 mrg _GLIBCXX_STD_C namespace. 6087 1.1 mrg (fill(_Bit_iterator, _Bit_iterator, const bool&)): Likewise and rename 6088 1.1 mrg into... 6089 1.1 mrg (__fill_a1): ...this. 6090 1.1 mrg * testsuite/25_algorithms/fill/bvector/1.cc: New. 6091 1.1 mrg 6092 1.1 mrg 2020-05-06 H.J. Lu <hongjiu.lu (a] intel.com> 6093 1.1 mrg 6094 1.1 mrg * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. 6095 1.1 mrg 6096 1.1 mrg 2020-05-06 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 6097 1.1 mrg 6098 1.1 mrg * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. 6099 1.1 mrg * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: 6100 1.1 mrg Likewise. 6101 1.1 mrg * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. 6102 1.1 mrg * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: 6103 1.1 mrg Likewise. 6104 1.1 mrg 6105 1.1 mrg 2020-05-06 Martin Liska <mliska (a] suse.cz> 6106 1.1 mrg 6107 1.1 mrg Revert: 6108 1.1 mrg 2020-05-05 Martin Liska <mliska (a] suse.cz> 6109 1.1 mrg PR c/92472 6110 1.1 mrg * include/parallel/multiway_merge.h: 6111 1.1 mrg Use const for _Compare template argument. 6112 1.1 mrg 6113 1.1 mrg 2020-05-06 Jonathan Wakely <jwakely (a] redhat.com> 6114 1.1 mrg 6115 1.1 mrg * doc/xml/manual/abi.xml (abi.versioning.history): Document library 6116 1.1 mrg versions for GCC 9.[123] and 10.1 releases. 6117 1.1 mrg * doc/html/*: Regenerate. 6118 1.1 mrg 6119 1.1 mrg 2020-05-06 Jakub Jelinek <jakub (a] redhat.com> 6120 1.1 mrg 6121 1.1 mrg * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. 6122 1.1 mrg * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. 6123 1.1 mrg * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. 6124 1.1 mrg * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. 6125 1.1 mrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 6126 1.1 mrg * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. 6127 1.1 mrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 6128 1.1 mrg 6129 1.1 mrg 2020-05-05 Martin Liska <mliska (a] suse.cz> 6130 1.1 mrg 6131 1.1 mrg PR c/92472 6132 1.1 mrg * include/parallel/multiway_merge.h: 6133 1.1 mrg Use const for _Compare template argument. 6134 1.1 mrg 6135 1.1 mrg 2020-05-04 Fangrui Song <maskray (a] google.com> 6136 1.1 mrg 6137 1.1 mrg * libsupc++/cxxabi.h (__cxa_finalize): Fix return type. 6138 1.1 mrg 6139 1.1 mrg 2020-05-04 Jonathan Wakely <jwakely (a] redhat.com> 6140 1.1 mrg 6141 1.1 mrg * doc/xml/faq.xml: Use working link for SGI STL FAQ. 6142 1.1 mrg * doc/html/*: Regenerate. 6143 1.1 mrg 6144 1.1 mrg PR libstdc++/94906 6145 1.1 mrg * src/c++17/memory_resource.cc 6146 1.1 mrg (monotonic_buffer_resource::_Chunk::release): Use size_t for shift 6147 1.1 mrg operands. 6148 1.1 mrg 6149 1.1 mrg 2020-05-04 Nathan Sidwell <nathan (a] acm.org> 6150 1.1 mrg 6151 1.1 mrg PR libstdc++/94747 6152 1.1 mrg * libsupc++/dyncast.cc (__dynamic_cast): Cast offsetof to 6153 1.1 mrg ptrdiff_t before negation, to show intent more clearly. 6154 1.1 mrg 6155 1.1 mrg 2020-05-04 Jonathan Wakely <jwakely (a] redhat.com> 6156 1.1 mrg 6157 1.1 mrg PR libstdc++/94936 6158 1.1 mrg * src/c++17/memory_resource.cc (synchronized_pool_resource::_TPools): 6159 1.1 mrg Add comment about single-threaded behaviour. 6160 1.1 mrg (synchronized_pool_resource::_TPools::move_nonempty_chunks()): Hoist 6161 1.1 mrg class member access out of loop. 6162 1.1 mrg (synchronized_pool_resource::synchronized_pool_resource()) 6163 1.1 mrg (synchronized_pool_resource::~synchronized_pool_resource()) 6164 1.1 mrg (synchronized_pool_resource::release()): Check __gthread_active_p 6165 1.1 mrg before creating and/or deleting the thread-specific data key. 6166 1.1 mrg (synchronized_pool_resource::_M_thread_specific_pools()): Adjust 6167 1.1 mrg assertions. 6168 1.1 mrg (synchronized_pool_resource::do_allocate(size_t, size_t)): Add fast 6169 1.1 mrg path for single-threaded case. 6170 1.1 mrg (synchronized_pool_resource::do_deallocate(void*, size_t, size_t)): 6171 1.1 mrg Likewise. Return if unable to find a pool that owns the allocation. 6172 1.1 mrg * testsuite/20_util/synchronized_pool_resource/allocate_single.cc: 6173 1.1 mrg New test. 6174 1.1 mrg * testsuite/20_util/synchronized_pool_resource/cons_single.cc: New 6175 1.1 mrg test. 6176 1.1 mrg * testsuite/20_util/synchronized_pool_resource/release_single.cc: New 6177 1.1 mrg test. 6178 1.1 mrg 6179 1.1 mrg 2020-05-03 Jonathan Wakely <jwakely (a] redhat.com> 6180 1.1 mrg 6181 1.1 mrg PR libstdc++/94933 6182 1.1 mrg * include/bits/stl_algobase.h (__fill_a1): Make overload for byte types 6183 1.1 mrg usable in constant expressions. 6184 1.1 mrg * testsuite/25_algorithms/fill_n/constexpr.cc: Test with bytes and 6185 1.1 mrg non-scalars. 6186 1.1 mrg 6187 1.1 mrg 2020-05-01 Jonathan Wakely <jwakely (a] redhat.com> 6188 1.1 mrg 6189 1.1 mrg PR libstdc++/94901 6190 1.1 mrg * testsuite/17_intro/badnames.cc: Test values between _E9 and _E24 too. 6191 1.1 mrg 6192 1.1 mrg 2020-05-01 Jonathan Wakely <jwakely (a] redhat.com> 6193 1.1 mrg Patrick Palka <ppalka (a] redhat.com> 6194 1.1 mrg 6195 1.1 mrg PR libstdc++/92894 6196 1.1 mrg * include/bits/iterator_concepts.h (ranges::__cust_imove::_IMove): 6197 1.1 mrg Add trait to determine return type and an alias for it. 6198 1.1 mrg (ranges::__cust_imove::_IMove::operator()): Use __result instead of 6199 1.1 mrg deduced return type. 6200 1.1 mrg (iter_rvalue_reference_t): Use _IMove::__type instead of checking 6201 1.1 mrg the result of ranges::iter_move. 6202 1.1 mrg (__detail::__indirectly_readable_impl): Use iter_rvalue_reference_t 6203 1.1 mrg instead of checking the result of ranges::iter_move. 6204 1.1 mrg * testsuite/24_iterators/customization_points/92894.cc: New test. 6205 1.1 mrg * testsuite/24_iterators/indirect_callable/92894.cc: New test. 6206 1.1 mrg 6207 1.1 mrg 2020-05-01 Jonathan Wakely <jwakely (a] redhat.com> 6208 1.1 mrg 6209 1.1 mrg PR libstdc++/94901 6210 1.1 mrg * include/std/type_traits (__is_complete_or_unbounded): Replace 6211 1.1 mrg BADNAME _T with _Tp. 6212 1.1 mrg * testsuite/17_intro/badnames.cc: New test. 6213 1.1 mrg 6214 1.1 mrg 2020-04-30 Jonathan Wakely <jwakely (a] redhat.com> 6215 1.1 mrg 6216 1.1 mrg PR libstdc++/89510 6217 1.1 mrg * include/bits/alloc_traits.h (allocator_traits::_S_construct) 6218 1.1 mrg (allocator_traits::_S_destroy) 6219 1.1 mrg (allocator_traits<allocator<T>>::construct): Use traits in 6220 1.1 mrg noexcept-specifiers. 6221 1.1 mrg * include/bits/allocator.h (allocator<void>::construct) 6222 1.1 mrg (allocator<void>::destroy): Likewise. 6223 1.1 mrg * include/ext/malloc_allocator.h (malloc_allocator::construct) 6224 1.1 mrg (malloc_allocator::destroy): Likewise. 6225 1.1 mrg * include/ext/new_allocator.h (new_allocator::construct) 6226 1.1 mrg (new_allocator::destroy): Likewise. 6227 1.1 mrg * testsuite/20_util/allocator/89510.cc: New test. 6228 1.1 mrg * testsuite/ext/malloc_allocator/89510.cc: New test. 6229 1.1 mrg * testsuite/ext/new_allocator/89510.cc: New test. 6230 1.1 mrg 6231 1.1 mrg 2020-04-29 Jonathan Wakely <jwakely (a] redhat.com> 6232 1.1 mrg 6233 1.1 mrg PR libstdc++/94854 6234 1.1 mrg * include/bits/basic_string.tcc: Update comment about explicit 6235 1.1 mrg instantiations. 6236 1.1 mrg 6237 1.1 mrg 2020-04-28 Jonathan Wakely <jwakely (a] redhat.com> 6238 1.1 mrg 6239 1.1 mrg PR libstdc++/91480 6240 1.1 mrg * include/bits/allocator.h (__cpp_lib_allocator_is_always_equal): 6241 1.1 mrg Remove non-standard macro. 6242 1.1 mrg * include/bits/stl_iterator.h (__cpp_lib_constexpr_iterator): Define 6243 1.1 mrg to indicate P1032R1 support. 6244 1.1 mrg * include/bits/stl_pair.h (__cpp_lib_constexpr_utility): Likewise. 6245 1.1 mrg * include/std/string_view (__cpp_lib_constexpr_string_view): Likewise. 6246 1.1 mrg * include/std/tuple (__cpp_lib_constexpr_tuple): Likewise. 6247 1.1 mrg * include/std/version (__cpp_lib_allocator_is_always_equal): Remove. 6248 1.1 mrg (__cpp_lib_constexpr_iterator, __cpp_lib_constexpr_string_view) 6249 1.1 mrg (__cpp_lib_constexpr_tuple, __cpp_lib_constexpr_utility): Define. 6250 1.1 mrg * testsuite/20_util/function_objects/constexpr_searcher.cc: Check 6251 1.1 mrg feature test macro. 6252 1.1 mrg * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: Likewise. 6253 1.1 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/ 6254 1.1 mrg constexpr.cc: Likewise. 6255 1.1 mrg * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise. 6256 1.1 mrg 6257 1.1 mrg PR libstdc++/94831 6258 1.1 mrg * include/bits/alloc_traits.h (_S_construct): Restore placement 6259 1.1 mrg new-expression for C++11/14/17 and call std::construct_at directly 6260 1.1 mrg for C++20. 6261 1.1 mrg * include/bits/stl_construct.h (_Construct): Revert to non-constexpr 6262 1.1 mrg function returning void. 6263 1.1 mrg * testsuite/20_util/specialized_algorithms/ 6264 1.1 mrg uninitialized_value_construct/94831.cc: New test. 6265 1.1 mrg * testsuite/23_containers/vector/cons/94831.cc: New test. 6266 1.1 mrg 6267 1.1 mrg 2020-04-28 Patrick Palka <ppalka (a] redhat.com> 6268 1.1 mrg 6269 1.1 mrg LWG 3433 subrange::advance(n) has UB when n < 0 6270 1.1 mrg * include/std/ranges (subrange::prev): Fix typo. 6271 1.1 mrg (subrange::advance): Handle a negative argument as per the proposed 6272 1.1 mrg resolution of LWG 3433. 6273 1.1 mrg * testsuite/std/ranges/subrange/lwg3433.cc: New test. 6274 1.1 mrg 6275 1.1 mrg 2020-04-28 Jonathan Wakely <jwakely (a] redhat.com> 6276 1.1 mrg Iain Sandoe <iain (a] sandoe.co.uk> 6277 1.1 mrg 6278 1.1 mrg PR c++/94759 6279 1.1 mrg * include/std/coroutine: Implement handing for non- 6280 1.1 mrg class coroutine return types. 6281 1.1 mrg 6282 1.1 mrg 2020-04-24 Jonathan Wakely <jwakely (a] redhat.com> 6283 1.1 mrg 6284 1.1 mrg * include/experimental/executor (service_already_exists): Make default 6285 1.1 mrg constructor public (LWG 3414). 6286 1.1 mrg * testsuite/experimental/net/execution_context/make_service.cc: Check 6287 1.1 mrg the service_already_exists can be default constructed. 6288 1.1 mrg 6289 1.1 mrg 2020-04-24 Kamlesh Kumar <kamleshbhalui (a] gmail.com> 6290 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 6291 1.1 mrg 6292 1.1 mrg PR libstdc++/90415 6293 1.1 mrg PR libstdc++/92156 6294 1.1 mrg * include/std/any (any): Rename template parameters for consistency 6295 1.1 mrg with the standard. 6296 1.1 mrg (any::_Decay): Rename to _Decay_if_not_any. 6297 1.1 mrg (any::any(T&&):: Remove is_constructible from constraints. Remove 6298 1.1 mrg non-standard overload. 6299 1.1 mrg (any::any(in_place_type_t<T>, Args&&...)) 6300 1.1 mrg (any::any(in_place_type_t<T>, initializer_list<U>, Args&&...)) 6301 1.1 mrg (any::emplace(Args&&...)) 6302 1.1 mrg (any::emplace(initializer_list<U>, Args&&...)): 6303 1.1 mrg Use decay_t instead of _Decay. 6304 1.1 mrg * testsuite/20_util/any/cons/90415.cc: New test. 6305 1.1 mrg * testsuite/20_util/any/cons/92156.cc: New Test. 6306 1.1 mrg * testsuite/20_util/any/misc/any_cast_neg.cc: Make dg-error directives 6307 1.1 mrg more robust. 6308 1.1 mrg * testsuite/20_util/any/modifiers/92156.cc: New test. 6309 1.1 mrg 6310 1.1 mrg 2020-04-23 Jonathan Wakely <jwakely (a] redhat.com> 6311 1.1 mrg 6312 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Update C++20 status table. 6313 1.1 mrg * doc/html/*: Regenerate. 6314 1.1 mrg 6315 1.1 mrg * include/bits/stl_iterator.h (__cpp_lib_array_constexpr): Revert 6316 1.1 mrg value for C++17 to 201803L because P0858R0 is supported for C++17. 6317 1.1 mrg * include/std/version (__cpp_lib_array_constexpr): Likewise. 6318 1.1 mrg * testsuite/23_containers/array/element_access/constexpr_c++17.cc: 6319 1.1 mrg Check for value corresponding to P0031R0 features being tested. 6320 1.1 mrg * testsuite/23_containers/array/requirements/constexpr_iter.cc: 6321 1.1 mrg Check for value corresponding to P0858R0 features being tested. 6322 1.1 mrg 6323 1.1 mrg * include/std/version (__cpp_lib_three_way_comparison): Define for 6324 1.1 mrg freestanding builds. 6325 1.1 mrg 6326 1.1 mrg 2020-04-23 Thomas Rodgers <rodgert (a] appliantology.com> 6327 1.1 mrg 6328 1.1 mrg * include/experimental/net/executor (system_context): Mark 6329 1.1 mrg system_context::system_context() = delete. 6330 1.1 mrg * testsuite/experimental/net/executor/1.cc: Add new 6331 1.1 mrg test to check system_context is not default constructible. 6332 1.1 mrg 6333 1.1 mrg 2020-04-23 Iain Sandoe <iain (a] sandoe.co.uk> 6334 1.1 mrg 6335 1.1 mrg * include/std/coroutine: Update the inline namespace to __n4861. 6336 1.1 mrg Add the __cpp_lib_coroutine define, set to 201902L. 6337 1.1 mrg * include/std/version: Add __cpp_lib_coroutine, set to 201902L. 6338 1.1 mrg 6339 1.1 mrg 2020-04-22 Jonathan Wakely <jwakely (a] redhat.com> 6340 1.1 mrg 6341 1.1 mrg * include/std/execution (__cpp_lib_execution): Define to indicate 6342 1.1 mrg support for P0024R2 and P1001R2. 6343 1.1 mrg * include/std/version (__cpp_lib_execution): Define. 6344 1.1 mrg * testsuite/25_algorithms/pstl/feature_test.cc: Only test macro 6345 1.1 mrg defined by <algorithm>, move other tests to new tests ... 6346 1.1 mrg * testsuite/25_algorithms/pstl/feature_test-2.cc: New test. 6347 1.1 mrg * testsuite/25_algorithms/pstl/feature_test-3.cc: New test. 6348 1.1 mrg * testsuite/25_algorithms/pstl/feature_test-4.cc: New test. 6349 1.1 mrg * testsuite/25_algorithms/pstl/feature_test-5.cc: New test. 6350 1.1 mrg 6351 1.1 mrg * include/bits/stl_iterator.h (__cpp_lib_array_constexpr): Define 6352 1.1 mrg different values for C++17 and C++20, to indicate different feature 6353 1.1 mrg sets. Update value for C++20 to indicate P1032R1 support. 6354 1.1 mrg * include/std/version (__cpp_lib_array_constexpr): Likewise. 6355 1.1 mrg * testsuite/23_containers/array/comparison_operators/constexpr.cc: 6356 1.1 mrg Check feature test macro. 6357 1.1 mrg * testsuite/23_containers/array/element_access/constexpr_c++17.cc: 6358 1.1 mrg New test. 6359 1.1 mrg * testsuite/23_containers/array/requirements/constexpr_fill.cc: Check 6360 1.1 mrg feature test macro. 6361 1.1 mrg * testsuite/23_containers/array/requirements/constexpr_iter.cc: Test 6362 1.1 mrg in C++17 mode and check feature test macro. 6363 1.1 mrg 6364 1.1 mrg * include/std/utility (__cpp_lib_constexpr_algorithms): Do not define 6365 1.1 mrg here. 6366 1.1 mrg * testsuite/20_util/exchange/constexpr.cc: Do not expect macro to be 6367 1.1 mrg defined by <utility>. 6368 1.1 mrg 6369 1.1 mrg * include/std/functional (__cpp_lib_concepts): Update macro value to 6370 1.1 mrg indicate P1964R2 support. 6371 1.1 mrg * include/std/version (__cpp_lib_concepts): Likewise. 6372 1.1 mrg * testsuite/std/concepts/1.cc: Adjust expected value. 6373 1.1 mrg * testsuite/std/concepts/2.cc: Likewise. 6374 1.1 mrg 6375 1.1 mrg * include/std/functional (__cpp_lib_constexpr_invoke): Rename to 6376 1.1 mrg __cpp_lib_constexpr_functional. 6377 1.1 mrg * include/std/version (__cpp_lib_constexpr_invoke): Likewise. 6378 1.1 mrg * testsuite/20_util/function_objects/invoke/constexpr.cc: Adjust. 6379 1.1 mrg 6380 1.1 mrg * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define to 6381 1.1 mrg indicate P1006R1 support. 6382 1.1 mrg (__cpp_lib_to_address): Define to indicate P0653R2 support. 6383 1.1 mrg * include/bits/range_access.h (__cpp_lib_ssize): Define to indicate 6384 1.1 mrg P1227R2 support. 6385 1.1 mrg * include/bits/ranges_algo.h (__cpp_lib_shift): Define to indicate 6386 1.1 mrg P0769R2 support. 6387 1.1 mrg * include/std/atomic (__cpp_lib_atomic_float): Define to indicate 6388 1.1 mrg P0020R6 support. 6389 1.1 mrg * include/std/memory (__cpp_lib_assume_aligned): Define to indicate 6390 1.1 mrg P1007R3 support. 6391 1.1 mrg * include/std/memory_resource (__cpp_lib_polymorphic_allocator): 6392 1.1 mrg Define to indicate P0339R6 support. 6393 1.1 mrg * include/std/string_view (__cpp_lib_starts_ends_with): Define to 6394 1.1 mrg indicate P0457R2 support. 6395 1.1 mrg * include/std/type_traits (__cpp_lib_is_nothrow_convertible): Define 6396 1.1 mrg to indicate P0758R1 support. 6397 1.1 mrg (__cpp_lib_remove_cvref): Define to indicate P0550R2 support. 6398 1.1 mrg (__cpp_lib_type_identity): Define to indicate P0887R1 support. 6399 1.1 mrg * include/std/version (__cpp_lib_atomic_float) 6400 1.1 mrg (__cpp_lib_is_nothrow_convertible, __cpp_lib_remove_cvref) 6401 1.1 mrg (__cpp_lib_type_identity, __cpp_lib_assume_aligned) 6402 1.1 mrg (__cpp_lib_constexpr_memory, __cpp_lib_polymorphic_allocator) 6403 1.1 mrg (__cpp_lib_shift, __cpp_lib_ssize, __cpp_lib_starts_ends_with) 6404 1.1 mrg (__cpp_lib_to_address): Define. 6405 1.1 mrg * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line number. 6406 1.1 mrg 6407 1.1 mrg * include/bits/stl_map.h (__cpp_lib_map_insertion): Remove old 6408 1.1 mrg macro. 6409 1.1 mrg * include/bits/unordered_map.h (__cpp_lib_unordered_map_insertion): 6410 1.1 mrg Likewise. 6411 1.1 mrg * include/std/version (__cpp_lib_map_insertion) 6412 1.1 mrg (__cpp_lib_unordered_map_insertion): Remove. 6413 1.1 mrg 6414 1.1 mrg * include/std/condition_variable (__cpp_lib_jthread): Remove 6415 1.1 mrg redundant definition. 6416 1.1 mrg * include/std/stop_token (__cpp_lib_jthread): Update macro value to 6417 1.1 mrg indicate P1869R1 support. 6418 1.1 mrg * include/std/version (__cpp_lib_jthread): Update value. 6419 1.1 mrg * testsuite/30_threads/condition_variable_any/stop_token/1.cc: Check 6420 1.1 mrg for updated macro value. 6421 1.1 mrg * testsuite/30_threads/condition_variable_any/stop_token/2.cc: 6422 1.1 mrg Likewise. 6423 1.1 mrg * testsuite/30_threads/jthread/1.cc: Likewise. 6424 1.1 mrg * testsuite/30_threads/jthread/2.cc: Likewise. 6425 1.1 mrg * testsuite/30_threads/stop_token/1.cc: Likewise. 6426 1.1 mrg * testsuite/30_threads/stop_token/2.cc: Likewise. 6427 1.1 mrg 6428 1.1 mrg * testsuite/21_strings/basic_string/erasure.cc: Check for 6429 1.1 mrg __cpp_lib_erase_if macro. 6430 1.1 mrg * testsuite/23_containers/deque/erasure.cc: Add header name to #error 6431 1.1 mrg messages. 6432 1.1 mrg * testsuite/23_containers/forward_list/erasure.cc: Likewise. 6433 1.1 mrg * testsuite/23_containers/list/erasure.cc: Likewise. 6434 1.1 mrg * testsuite/23_containers/map/erasure.cc: Likewise. 6435 1.1 mrg * testsuite/23_containers/set/erasure.cc: Likewise. 6436 1.1 mrg * testsuite/23_containers/unordered_map/erasure.cc: Likewise. 6437 1.1 mrg * testsuite/23_containers/unordered_set/erasure.cc: Likewise. 6438 1.1 mrg * testsuite/23_containers/vector/erasure.cc: Likewise. 6439 1.1 mrg 6440 1.1 mrg 2020-04-21 Jonathan Wakely <jwakely (a] redhat.com> 6441 1.1 mrg 6442 1.1 mrg * include/bits/stl_iterator.h (__normal_iterator): Use synth-three-way 6443 1.1 mrg to define operator<=>. 6444 1.1 mrg * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: New test. 6445 1.1 mrg 6446 1.1 mrg * doc/Makefile.am (xml_sources_manual): Add missing XML files. 6447 1.1 mrg * doc/Makefile.in: Regenerate. 6448 1.1 mrg * doc/xml/manual/status_cxx1998.xml: Refer to "this section" instead 6449 1.1 mrg of "this page". 6450 1.1 mrg * doc/xml/manual/status_cxx2011.xml: Formatting and other corrections 6451 1.1 mrg to the C++11 status table. 6452 1.1 mrg * doc/xml/manual/status_cxx2014.xml: Replace list of C++14 feature 6453 1.1 mrg proposals with table matching contents of the C++14 standard. 6454 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Add table matching contents of 6455 1.1 mrg the C++17 standard. 6456 1.1 mrg * doc/html/*: Regenerate. 6457 1.1 mrg 6458 1.1 mrg PR c++/94149 6459 1.1 mrg * include/std/type_traits (__is_nt_constructible_impl): Add partial 6460 1.1 mrg specializations for bounded arrays with non-empty initializers. 6461 1.1 mrg * testsuite/20_util/is_nothrow_constructible/value_c++20.cc: New test. 6462 1.1 mrg 6463 1.1 mrg 2020-04-20 Thomas Rodgers <trodgers (a] redhat.com> 6464 1.1 mrg 6465 1.1 mrg * testsuite/lib/libstdc++.exp: Add additional_flags= 6466 1.1 mrg -DTBB_SUPRESS_DEPRECATED_MESSAGES=1 to suppress warnings when 6467 1.1 mrg compiling with a newer Thread Building Blocks. 6468 1.1 mrg 6469 1.1 mrg 2020-04-20 Jonathan Wakely <jwakely (a] redhat.com> 6470 1.1 mrg 6471 1.1 mrg * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: New test. 6472 1.1 mrg 6473 1.1 mrg * testsuite/20_util/is_constructible/51185.cc: Make test class a 6474 1.1 mrg non-aggregate so that the test verifies the same thing in all -std 6475 1.1 mrg modes. 6476 1.1 mrg * testsuite/20_util/is_constructible/value-2.cc: Adjust expected 6477 1.1 mrg results for some types when paren-init for aggregates is supported. 6478 1.1 mrg 6479 1.1 mrg * include/std/version (__cpp_lib_three_way_comparison): Update value. 6480 1.1 mrg * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise. 6481 1.1 mrg (__detail::__synth3way): Add noexcept-specifier. 6482 1.1 mrg 6483 1.1 mrg * include/bits/stl_map.h (map): Define operator<=> and remove 6484 1.1 mrg operator< for C++20. 6485 1.1 mrg * include/bits/stl_multimap.h (multimap): Likewise. 6486 1.1 mrg * include/bits/stl_multiset.h (multiset): Likewise. 6487 1.1 mrg * include/bits/stl_set.h (set): Likewise. 6488 1.1 mrg * include/bits/stl_tree.h (_Rb_tree): Likewise. 6489 1.1 mrg (_Rb_tree_iterator, _Rb_tree_const_iterator): Remove redundant 6490 1.1 mrg operator!= for C++20. 6491 1.1 mrg * include/debug/map.h (__gnu_debug::map): Define operator<=> for C++20. 6492 1.1 mrg * include/debug/multimap.h (__gnu_debug::multimap): Likewise. 6493 1.1 mrg * include/debug/multiset.h (__gnu_debug::multiset): Likewise. 6494 1.1 mrg * include/debug/set.h (__gnu_debug::set): Likewise. 6495 1.1 mrg * testsuite/23_containers/map/operators/cmp_c++20.cc: New test. 6496 1.1 mrg * testsuite/23_containers/multimap/operators/cmp_c++20.cc: New test. 6497 1.1 mrg * testsuite/23_containers/multiset/operators/cmp_c++20.cc: New test. 6498 1.1 mrg * testsuite/23_containers/set/operators/cmp_c++20.cc: New test. 6499 1.1 mrg 6500 1.1 mrg 2020-04-20 Matthias Kretz <kretz (a] kde.org> 6501 1.1 mrg 6502 1.1 mrg * testsuite/lib/libstdc++.exp: Avoid illegal argument to verbose. 6503 1.1 mrg 6504 1.1 mrg 2020-04-19 Jonathan Wakely <jwakely (a] redhat.com> 6505 1.1 mrg 6506 1.1 mrg * include/bits/stl_queue.h (queue): Define operator<=> for C++20. 6507 1.1 mrg * include/bits/stl_stack.h (stack): Likewise. 6508 1.1 mrg * testsuite/23_containers/queue/cmp_c++20.cc: New test. 6509 1.1 mrg * testsuite/23_containers/stack/cmp_c++20.cc: New test. 6510 1.1 mrg 6511 1.1 mrg * include/bits/unordered_map.h (unordered_map, unordered_multimap): 6512 1.1 mrg Remove redundant operator!= for C++20. 6513 1.1 mrg * include/bits/unordered_set.h (unordered_set, unordered_multiset): 6514 1.1 mrg Likewise. 6515 1.1 mrg * include/debug/unordered_map (unordered_map, unordered_multimap): 6516 1.1 mrg Likewise. 6517 1.1 mrg * include/debug/unordered_set (unordered_set, unordered_multiset): 6518 1.1 mrg Likewise. 6519 1.1 mrg 6520 1.1 mrg PR other/94629 6521 1.1 mrg * include/debug/formatter.h (_Error_formatter::_Parameter): Fix 6522 1.1 mrg redundant assignment in constructor. 6523 1.1 mrg 6524 1.1 mrg 2020-04-18 Jonathan Wakely <jwakely (a] redhat.com> 6525 1.1 mrg 6526 1.1 mrg * include/std/chrono (duration, time_point): Define operator<=> and 6527 1.1 mrg remove redundant operator!= for C++20. 6528 1.1 mrg * testsuite/20_util/duration/comparison_operators/three_way.cc: New 6529 1.1 mrg test. 6530 1.1 mrg * testsuite/20_util/time_point/comparison_operators/three_way.cc: New 6531 1.1 mrg test. 6532 1.1 mrg 6533 1.1 mrg * testsuite/util/native_type/native_priority_queue.hpp: Use 6534 1.1 mrg allocator_traits to rebind allocator. 6535 1.1 mrg 6536 1.1 mrg 2020-04-17 Jonathan Wakely <jwakely (a] redhat.com> 6537 1.1 mrg 6538 1.1 mrg * include/bits/forward_list.h (forward_list): Define operator<=> and 6539 1.1 mrg remove redundant comparison operators for C++20. 6540 1.1 mrg * include/bits/stl_bvector.h (vector<bool, Alloc>): Likewise. 6541 1.1 mrg * include/bits/stl_deque.h (deque): Likewise. 6542 1.1 mrg * include/bits/stl_iterator.h (__normal_iterator): Likewise. 6543 1.1 mrg * include/bits/stl_list.h (list): Likewise. 6544 1.1 mrg * include/bits/stl_vector.h (vector): Likewise. 6545 1.1 mrg * include/debug/deque (__gnu_debug::deque): Likewise. 6546 1.1 mrg * include/debug/forward_list (__gnu_debug::forward_list): Likewise. 6547 1.1 mrg * include/debug/list (__gnu_debug::list): Likewise. 6548 1.1 mrg * include/debug/safe_iterator.h (__gnu_debug::_Safe_iterator): 6549 1.1 mrg Likewise. 6550 1.1 mrg * include/debug/vector (__gnu_debug::vector): Likewise. 6551 1.1 mrg * include/ext/pointer.h (__gnu_cxx::_Pointer_adapter): Define 6552 1.1 mrg operator<=> for C++20. 6553 1.1 mrg * testsuite/23_containers/deque/operators/cmp_c++20.cc: New test. 6554 1.1 mrg * testsuite/23_containers/forward_list/cmp_c++20.cc: New test. 6555 1.1 mrg * testsuite/23_containers/list/cmp_c++20.cc: New test. 6556 1.1 mrg * testsuite/23_containers/vector/bool/cmp_c++20.cc: New test. 6557 1.1 mrg * testsuite/23_containers/vector/cmp_c++20.cc: New test. 6558 1.1 mrg 6559 1.1 mrg * include/bits/basic_string.h (basic_string): Define operator<=> and 6560 1.1 mrg remove redundant comparison operators for C++20. 6561 1.1 mrg * include/bits/char_traits.h (__gnu_cxx::char_traits, char_traits): 6562 1.1 mrg Add comparison_category members. 6563 1.1 mrg (__detail::__char_traits_cmp_cat): New helper to get comparison 6564 1.1 mrg category from char traits class. 6565 1.1 mrg * include/bits/regex.h (regex_traits::_RegexMask::operator!=): Do not 6566 1.1 mrg define for C++20. 6567 1.1 mrg (sub_match): Define operator<=> and remove redundant comparison 6568 1.1 mrg operators for C++20. 6569 1.1 mrg (match_results): Remove redundant operator!= for C++20. 6570 1.1 mrg * include/std/string_view (basic_string_view): Define operator<=> and 6571 1.1 mrg remove redundant comparison operators for C++20. 6572 1.1 mrg * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc: New 6573 1.1 mrg test. 6574 1.1 mrg * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc: 6575 1.1 mrg New test. 6576 1.1 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/ 6577 1.1 mrg constexpr.cc: Initialize variable. 6578 1.1 mrg * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/ 6579 1.1 mrg constexpr.cc: Likewise. 6580 1.1 mrg * testsuite/21_strings/basic_string_view/operators/char/2.cc: Add 6581 1.1 mrg dg-do directive and remove comments showing incorrect signatures. 6582 1.1 mrg * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: 6583 1.1 mrg Likewise. 6584 1.1 mrg * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc: 6585 1.1 mrg New test. 6586 1.1 mrg * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc: 6587 1.1 mrg New test. 6588 1.1 mrg * testsuite/28_regex/sub_match/compare_c++20.cc: New test. 6589 1.1 mrg 6590 1.1 mrg 2020-04-16 Jonathan Wakely <jwakely (a] redhat.com> 6591 1.1 mrg 6592 1.1 mrg * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: Remove 6593 1.1 mrg name of unused parameter. 6594 1.1 mrg 6595 1.1 mrg 2020-04-15 Jonathan Wakely <jwakely (a] redhat.com> 6596 1.1 mrg 6597 1.1 mrg * include/bits/fs_dir.h (file_status): Define operator== for C++20. 6598 1.1 mrg (directory_entry): Define operator<=> and remove redundant comparison 6599 1.1 mrg operators for C++20. 6600 1.1 mrg * include/bits/fs_fwd.h (space_info): Define operator== for C++20. 6601 1.1 mrg * include/bits/fs_path.h (path): Define operator<=> and remove 6602 1.1 mrg redundant comparison operators for C++20. 6603 1.1 mrg * testsuite/27_io/filesystem/path/compare/compare.cc: Fix comment. 6604 1.1 mrg * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise. 6605 1.1 mrg * testsuite/27_io/filesystem/path/compare/path.cc: Likewise. 6606 1.1 mrg * testsuite/27_io/filesystem/path/compare/strings.cc: Likewise. 6607 1.1 mrg 6608 1.1 mrg * include/bits/allocator.h (operator!=): Do not define for C++20. 6609 1.1 mrg * include/bits/locale_classes.h (operator!=): Likewise. 6610 1.1 mrg * include/bits/std_function.h (operator==(nullptr_t, const function&)) 6611 1.1 mrg (operator!=(const function&, nullptr_t)) 6612 1.1 mrg (operator!=(nullptr_t, const function&)): Likewise. 6613 1.1 mrg * include/ext/bitmap_allocator.h (operator!=): Likewise. 6614 1.1 mrg * include/ext/debug_allocator.h (operator!=): Likewise. 6615 1.1 mrg * include/ext/extptr_allocator.h (operator!=): Likewise. 6616 1.1 mrg * include/ext/malloc_allocator.h (operator!=): Likewise. 6617 1.1 mrg * include/ext/mt_allocator.h (operator!=): Likewise. 6618 1.1 mrg * include/ext/new_allocator.h (operator!=): Likewise. 6619 1.1 mrg * include/ext/pool_allocator.h (operator!=): Likewise. 6620 1.1 mrg * include/ext/throw_allocator.h (operator!=): Likewise. 6621 1.1 mrg * include/std/bitset (bitset::operator!=): Likewise. 6622 1.1 mrg * include/std/memory_resource (operator!=): Likewise. 6623 1.1 mrg * include/std/scoped_allocator (operator!=): Likewise. 6624 1.1 mrg 6625 1.1 mrg * include/std/typeindex (operator<=>): Define for C++20. 6626 1.1 mrg * testsuite/20_util/typeindex/comparison_operators_c++20.cc: New test. 6627 1.1 mrg 6628 1.1 mrg 2020-04-14 Jonathan Wakely <jwakely (a] redhat.com> 6629 1.1 mrg 6630 1.1 mrg * libsupc++/compare (compare_three_way): Fix constraint so that 6631 1.1 mrg BUILTIN-PTR-THREE-WAY does not require three_way_comparable_with. 6632 1.1 mrg * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: 6633 1.1 mrg New test. 6634 1.1 mrg 6635 1.1 mrg PR libstdc++/94562 6636 1.1 mrg * include/bits/shared_ptr.h (operator<=>): Define for C++20. 6637 1.1 mrg * include/bits/shared_ptr_base.h (operator<=>): Likewise. 6638 1.1 mrg * include/bits/unique_ptr.h (operator<=>): Add inline specifier. 6639 1.1 mrg * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: New test. 6640 1.1 mrg * testsuite/20_util/shared_ptr/comparison/less.cc: Do not expect 6641 1.1 mrg std::less<A*> to be used when comparing std::shared_ptr<A> objects in 6642 1.1 mrg C++20. 6643 1.1 mrg 6644 1.1 mrg PR libstdc++/94565 6645 1.1 mrg * libsupc++/compare (__unspec): Add noexcept-specifier to constructor. 6646 1.1 mrg * testsuite/18_support/comparisons/categories/94565.cc: New test. 6647 1.1 mrg 6648 1.1 mrg 2020-04-13 Iain Sandoe <iain (a] sandoe.co.uk> 6649 1.1 mrg 6650 1.1 mrg * include/std/coroutine: Update coroutines builtin define, 6651 1.1 mrg per n4861. 6652 1.1 mrg 6653 1.1 mrg 2020-04-09 Jonathan Wakely <jwakely (a] redhat.com> 6654 1.1 mrg 6655 1.1 mrg * libsupc++/compare (compare_three_way): Fix noexcept-specifier. 6656 1.1 mrg (strong_order, weak_order, partial_order): Replace uses of <=> with 6657 1.1 mrg compare_three_way function object (LWG 3324). 6658 1.1 mrg * testsuite/18_support/comparisons/algorithms/partial_order.cc: Add 6659 1.1 mrg equality operator so that X satisfies three_way_comparable. 6660 1.1 mrg * testsuite/18_support/comparisons/algorithms/strong_order.cc: 6661 1.1 mrg Likewise. 6662 1.1 mrg * testsuite/18_support/comparisons/algorithms/weak_order.cc: Likewise. 6663 1.1 mrg 6664 1.1 mrg * include/bits/unique_ptr.h (operator<=>): Define for C++20. 6665 1.1 mrg * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line. 6666 1.1 mrg * testsuite/20_util/default_delete/void_neg.cc: Likewise. 6667 1.1 mrg * testsuite/20_util/unique_ptr/comparison/compare.cc: New test. 6668 1.1 mrg * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc: New test. 6669 1.1 mrg 6670 1.1 mrg 2020-04-08 Jonathan Wakely <jwakely (a] redhat.com> 6671 1.1 mrg 6672 1.1 mrg * include/bits/slice_array.h (operator==(const slice&, const slice&)): 6673 1.1 mrg Define for C++20. 6674 1.1 mrg * include/std/complex (operator==(const T&, const complex<T>&)) 6675 1.1 mrg (operator!=(const complex<T>&, const complex<T>&)) 6676 1.1 mrg (operator!=(const complex<T>&, const T&)) 6677 1.1 mrg (operator!=(const T&, const complex<T>&)): Do not declare for C++20. 6678 1.1 mrg * testsuite/26_numerics/slice/compare.cc: New test. 6679 1.1 mrg 6680 1.1 mrg * include/std/charconv (to_chars_result, from_chars_result): Add 6681 1.1 mrg defaulted equality comparisons for C++20. 6682 1.1 mrg * testsuite/20_util/from_chars/compare.cc: New test. 6683 1.1 mrg * testsuite/20_util/to_chars/compare.cc: New test. 6684 1.1 mrg 6685 1.1 mrg 2020-04-07 Jonathan Wakely <jwakely (a] redhat.com> 6686 1.1 mrg 6687 1.1 mrg PR libstdc++/94520 6688 1.1 mrg * include/std/charconv (__integer_to_chars_result_type) 6689 1.1 mrg (__integer_from_chars_result_type): Use __or_ instead of __or_v_ to 6690 1.1 mrg allow use in C++14. 6691 1.1 mrg * testsuite/20_util/from_chars/1.cc: Run test as C++14 and replace 6692 1.1 mrg use of std::string_view with std::string. 6693 1.1 mrg * testsuite/20_util/from_chars/2.cc: Likewise. 6694 1.1 mrg * testsuite/20_util/to_chars/1.cc: Likewise. 6695 1.1 mrg * testsuite/20_util/to_chars/2.cc: Likewise. 6696 1.1 mrg 6697 1.1 mrg 2020-04-06 Jonathan Wakely <jwakely (a] redhat.com> 6698 1.1 mrg 6699 1.1 mrg PR libstdc++/94498 6700 1.1 mrg * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Make it 6701 1.1 mrg usable in constant expressions for C++20. 6702 1.1 mrg (__gnu_cxx::char_traits::copy, __gnu_cxx::char_traits::assign): Add 6703 1.1 mrg _GLIBCXX20_CONSTEXPR. 6704 1.1 mrg (std::char_traits<char>, std::char_traits<wchar_t>) 6705 1.1 mrg (std::char_traits<char8_t>): Make move, copy and assign usable in 6706 1.1 mrg constant expressions for C++20. 6707 1.1 mrg (std::char_traits<char16_t>, std::char_traits<char32_t>): Make move 6708 1.1 mrg and copy usable in constant expressions for C++20. 6709 1.1 mrg * include/std/string_view (basic_string_view::copy): Add 6710 1.1 mrg _GLIBCXX20_CONSTEXPR. 6711 1.1 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/ 6712 1.1 mrg constexpr.cc: New test. 6713 1.1 mrg * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/ 6714 1.1 mrg constexpr.cc: New test. 6715 1.1 mrg 6716 1.1 mrg 2020-04-05 Gerald Pfeifer <gerald (a] pfeifer.com> 6717 1.1 mrg 6718 1.1 mrg * doc/xml/manual/appendix_contributing.xml: Refer to Git 6719 1.1 mrg documentation instead of Subversion. Switch to https. 6720 1.1 mrg * doc/html/manual/appendix_contributing.html: Regenerate. 6721 1.1 mrg 6722 1.1 mrg 2020-04-03 Jonathan Wakely <jwakely (a] redhat.com> 6723 1.1 mrg 6724 1.1 mrg PR libstdc++/93960 6725 1.1 mrg * include/bits/ptr_traits.h (__to_address): Add special case for debug 6726 1.1 mrg iterators, to avoid dereferenceable check. 6727 1.1 mrg * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line number. 6728 1.1 mrg * testsuite/20_util/to_address/debug.cc: New test. 6729 1.1 mrg 6730 1.1 mrg 2020-04-01 Andrea Corallo <andrea.corallo (a] arm.com> 6731 1.1 mrg 6732 1.1 mrg * testsuite/experimental/net/execution_context/use_service.cc: 6733 1.1 mrg Require pthread and gthreads. 6734 1.1 mrg 6735 1.1 mrg 2020-04-01 Gerald Pfeifer <gerald (a] pfeifer.com> 6736 1.1 mrg 6737 1.1 mrg * doc/xml/manual/appendix_free.xml: Move "free books" list from 6738 1.1 mrg fsf.org to gnu.org. 6739 1.1 mrg * doc/html/manual/appendix_free.html: Regenerate. 6740 1.1 mrg 6741 1.1 mrg 2020-03-31 Ville Voutilainen <ville.voutilainen (a] gmail.com> 6742 1.1 mrg 6743 1.1 mrg Library-side tests for parenthesized aggregate init 6744 1.1 mrg 6745 1.1 mrg PR c++/92878 6746 1.1 mrg PR c++/92947 6747 1.1 mrg 6748 1.1 mrg * testsuite/20_util/allocator_traits/members/92878_92947.cc: New. 6749 1.1 mrg * testsuite/20_util/any/assign/92878_92947.cc: Likewise. 6750 1.1 mrg * testsuite/20_util/any/cons/92878_92947.cc: Likewise. 6751 1.1 mrg * testsuite/20_util/is_constructible/92878_92947.cc: Likewise. 6752 1.1 mrg * testsuite/20_util/optional/assignment/92878_92947.cc: Likewise. 6753 1.1 mrg * testsuite/20_util/optional/cons/92878_92947.cc: Likewise. 6754 1.1 mrg * testsuite/20_util/pair/cons/92878_92947.cc: Likewise. 6755 1.1 mrg * testsuite/20_util/shared_ptr/creation/92878_92947.cc: Likewise. 6756 1.1 mrg * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc: 6757 1.1 mrg Likewise. 6758 1.1 mrg * testsuite/20_util/unique_ptr/creation/92878_92947.cc: Likewise. 6759 1.1 mrg * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise. 6760 1.1 mrg * testsuite/20_util/variant/92878_92947.cc: Likewise. 6761 1.1 mrg * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc: 6762 1.1 mrg Likewise. 6763 1.1 mrg * testsuite/23_containers/forward_list/modifiers/92878_92947.cc: 6764 1.1 mrg Likewise. 6765 1.1 mrg * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc: 6766 1.1 mrg Likewise. 6767 1.1 mrg * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc: 6768 1.1 mrg Likewise. 6769 1.1 mrg * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc: 6770 1.1 mrg Likewise. 6771 1.1 mrg * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc: 6772 1.1 mrg Likewise. 6773 1.1 mrg * testsuite/23_containers/priority_queue/92878_92947.cc: Likewise. 6774 1.1 mrg * testsuite/23_containers/queue/92878_92947.cc: Likewise. 6775 1.1 mrg * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc: 6776 1.1 mrg Likewise. 6777 1.1 mrg * testsuite/23_containers/stack/92878_92947.cc: Likewise. 6778 1.1 mrg * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc: 6779 1.1 mrg Likewise. 6780 1.1 mrg * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc: 6781 1.1 mrg Likewise. 6782 1.1 mrg * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc: 6783 1.1 mrg Likewise. 6784 1.1 mrg * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc: 6785 1.1 mrg Likewise. 6786 1.1 mrg * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc: 6787 1.1 mrg Likewise. 6788 1.1 mrg 6789 1.1 mrg 2020-03-28 Jonathan Wakely <jwakely (a] redhat.com> 6790 1.1 mrg 6791 1.1 mrg * testsuite/20_util/is_constructible/value-2.cc: Fix test to account 6792 1.1 mrg for changes due to parenthesized aggregate-initialization in C++20. 6793 1.1 mrg * testsuite/20_util/time_point/cons/81468.cc: Fix test to not clash 6794 1.1 mrg with std::chrono::sys_time in C++20. 6795 1.1 mrg 6796 1.1 mrg * include/bits/stl_iterator.h (reverse_iterator): Use requires-clause 6797 1.1 mrg to constrain C++20 versions of comparison operators. Fix backwards 6798 1.1 mrg logic of relational operators. 6799 1.1 mrg (move_iterator): Use requires-clause to constrain comparison operators 6800 1.1 mrg in C++20. Do not declare non-standard same-type overloads for C++20. 6801 1.1 mrg * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: Check result 6802 1.1 mrg of comparisons and check using greedy_ops type. 6803 1.1 mrg * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: Likewise. 6804 1.1 mrg * testsuite/24_iterators/move_iterator/greedy_ops.cc: Remove redundant 6805 1.1 mrg main function from compile-only test. 6806 1.1 mrg * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Likewise. 6807 1.1 mrg 6808 1.1 mrg 2020-03-27 Jonathan Wakely <jwakely (a] redhat.com> 6809 1.1 mrg 6810 1.1 mrg * include/bits/range_cmp.h (__cpp_lib_ranges): Define. 6811 1.1 mrg * include/bits/stl_iterator.h: Check value of __cpp_concepts so that 6812 1.1 mrg C++20 concepts are required. 6813 1.1 mrg * include/bits/stl_iterator_base_types.h: Likewise. 6814 1.1 mrg * include/std/concepts: Likewise. 6815 1.1 mrg * include/std/version: Likewise. 6816 1.1 mrg * testsuite/std/ranges/headers/ranges/synopsis.cc: Check feature test 6817 1.1 mrg macro. 6818 1.1 mrg 6819 1.1 mrg * include/bits/stl_iterator.h (reverse_iterator::iterator_concept) 6820 1.1 mrg (reverse_iterator::iterator_category): Define for C++20. 6821 1.1 mrg (reverse_iterator): Define comparison operators correctly for C++20. 6822 1.1 mrg (__normal_iterator): Add constraints to comparison operators for C++20. 6823 1.1 mrg (move_iterator::operator++(int)) [__cpp_lib_concepts]: Define new 6824 1.1 mrg overload for input iterators. 6825 1.1 mrg (move_iterator): Add constraints to comparison operators for C++20. 6826 1.1 mrg Define operator<=> for C++20. 6827 1.1 mrg * testsuite/24_iterators/move_iterator/input_iterator.cc: New test. 6828 1.1 mrg * testsuite/24_iterators/move_iterator/move_only.cc: New test. 6829 1.1 mrg * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: New test. 6830 1.1 mrg * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: New test. 6831 1.1 mrg 6832 1.1 mrg * include/bits/iterator_concepts.h (__detail::__decay_copy) 6833 1.1 mrg (__detail::__member_begin, __detail::__adl_begin): Move here from 6834 1.1 mrg <bits/range_access.h>. 6835 1.1 mrg (__detail::__ranges_begin, __detail::__range_iter_t): Define. 6836 1.1 mrg * bits/range_access.h (__cust_access::__decay_copy) 6837 1.1 mrg (__cust_access::__member_begin, __cust_access::__adl_begin): Move to 6838 1.1 mrg <bits/iterator_concepts.h>. 6839 1.1 mrg (ranges::iterator_t): Use __detail::__range_iter_t. 6840 1.1 mrg * include/bits/stl_iterator.h (back_insert_iterator): Simplify 6841 1.1 mrg conditional compilation. Add _GLIBCXX20_CONSTEXPR to all members. 6842 1.1 mrg (front_insert_iterator): Likewise. 6843 1.1 mrg (insert_iterator): Implement changes from P0896R4 for C++20. 6844 1.1 mrg * testsuite/24_iterators/back_insert_iterator/constexpr.cc: New test. 6845 1.1 mrg * testsuite/24_iterators/front_insert_iterator/constexpr.cc: New test. 6846 1.1 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: Adjust 6847 1.1 mrg for inclusion in synopsis_c++20.cc which expects different signatures 6848 1.1 mrg for some function templates. 6849 1.1 mrg * testsuite/24_iterators/insert_iterator/constexpr.cc: New test. 6850 1.1 mrg 6851 1.1 mrg * include/std/type_traits (__is_array_convertible): Move definition 6852 1.1 mrg to immediately after is_convertible. 6853 1.1 mrg 6854 1.1 mrg 2020-03-26 Jonathan Wakely <jwakely (a] redhat.com> 6855 1.1 mrg 6856 1.1 mrg * include/std/chrono (chrono::days, chrono::weeks, chrono::years) 6857 1.1 mrg (chrono::months, chrono::sys_days, chrono::local_t) 6858 1.1 mrg (chrono::local_time, chrono::local_seconds, chrono::local_days): 6859 1.1 mrg Define for C++20. 6860 1.1 mrg (chrono::time_point): Add missing static assert. 6861 1.1 mrg * testsuite/20_util/time_point/requirements/duration_neg.cc: New test. 6862 1.1 mrg * testsuite/std/time/clock/file/overview.cc: New test. 6863 1.1 mrg * testsuite/std/time/clock/file/members.cc: New test. 6864 1.1 mrg * testsuite/std/time/syn_c++20.cc: New test. 6865 1.1 mrg 6866 1.1 mrg 2020-03-25 Mike Crowe <mac (a] mcrowe.com> 6867 1.1 mrg 6868 1.1 mrg * testsuite/30_threads/shared_timed_mutex/try_lock_until/1.cc: New 6869 1.1 mrg test. 6870 1.1 mrg * testsuite/30_threads/shared_timed_mutex/try_lock_until/2.cc: New 6871 1.1 mrg test. 6872 1.1 mrg 6873 1.1 mrg 2020-03-25 Jonathan Wakely <jwakely (a] redhat.com> 6874 1.1 mrg 6875 1.1 mrg * include/bits/fs_fwd.h (filesystem::__file_clock): Move to ... 6876 1.1 mrg * include/std/chrono (filesystem::__file_clock): Here. 6877 1.1 mrg (filesystem::__file_clock::from_sys, filesystem::__file_clock::to_sys): 6878 1.1 mrg Define public member functions for C++20. 6879 1.1 mrg (is_clock, is_clock_v): Define traits for C++20. 6880 1.1 mrg * include/std/condition_variable (condition_variable::wait_until): Add 6881 1.1 mrg check for valid clock. 6882 1.1 mrg * include/std/future (_State_baseV2::wait_until): Likewise. 6883 1.1 mrg * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Likewise. 6884 1.1 mrg * include/std/shared_mutex (shared_timed_mutex::try_lock_shared_until): 6885 1.1 mrg Likewise. 6886 1.1 mrg * include/std/thread (this_thread::sleep_until): Likewise. 6887 1.1 mrg * testsuite/30_threads/condition_variable/members/2.cc: Qualify 6888 1.1 mrg slow_clock with new namespace. 6889 1.1 mrg * testsuite/30_threads/condition_variable/members/clock_neg.cc: New 6890 1.1 mrg test. 6891 1.1 mrg * testsuite/30_threads/condition_variable_any/members/clock_neg.cc: 6892 1.1 mrg New test. 6893 1.1 mrg * testsuite/30_threads/future/members/clock_neg.cc: New test. 6894 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/3.cc: 6895 1.1 mrg Qualify slow_clock with new namespace. 6896 1.1 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/ 6897 1.1 mrg clock_neg.cc: New test. 6898 1.1 mrg * testsuite/30_threads/shared_future/members/clock_neg.cc: New 6899 1.1 mrg test. 6900 1.1 mrg * testsuite/30_threads/shared_lock/locking/clock_neg.cc: New test. 6901 1.1 mrg * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc: 6902 1.1 mrg New test. 6903 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock_until/3.cc: Qualify 6904 1.1 mrg slow_clock with new namespace. 6905 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock_until/4.cc: Likewise. 6906 1.1 mrg * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc: New 6907 1.1 mrg test. 6908 1.1 mrg * testsuite/30_threads/unique_lock/locking/clock_neg.cc: New test. 6909 1.1 mrg * testsuite/std/time/traits/is_clock.cc: New test. 6910 1.1 mrg * testsuite/util/slow_clock.h (slow_clock): Move to __gnu_test 6911 1.1 mrg namespace. 6912 1.1 mrg 6913 1.1 mrg 2020-03-21 Jonathan Wakely <jwakely (a] redhat.com> 6914 1.1 mrg 6915 1.1 mrg PR libstdc++/93245 6916 1.1 mrg * include/experimental/bits/fs_path.h (path::generic_string<C,T,A>()): 6917 1.1 mrg * testsuite/experimental/filesystem/path/generic/generic_string.cc: 6918 1.1 mrg Improve test coverage. 6919 1.1 mrg 6920 1.1 mrg PR libstdc++/94242 6921 1.1 mrg * include/bits/fs_path.h (path::_S_str_convert): Replace first 6922 1.1 mrg parameter with basic_string_view so that strings with different 6923 1.1 mrg allocators can be accepted. 6924 1.1 mrg (path::generic_string<C,T,A>()): Use basic_string object that uses the 6925 1.1 mrg right allocator type. 6926 1.1 mrg * testsuite/27_io/filesystem/path/generic/94242.cc: New test. 6927 1.1 mrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: Improve 6928 1.1 mrg test coverage. 6929 1.1 mrg 6930 1.1 mrg 2020-03-18 Jonathan Wakely <jwakely (a] redhat.com> 6931 1.1 mrg 6932 1.1 mrg PR libstdc++/94033 6933 1.1 mrg * include/std/type_traits (__is_nt_default_constructible_atom): Remove. 6934 1.1 mrg (__is_nt_default_constructible_impl): Remove. 6935 1.1 mrg (__is_nothrow_default_constructible_impl): Remove. 6936 1.1 mrg (__is_nt_constructible_impl): Add bool template parameter. Adjust 6937 1.1 mrg partial specializations. 6938 1.1 mrg (__is_nothrow_constructible_impl): Replace class template with alias 6939 1.1 mrg template. 6940 1.1 mrg (is_nothrow_default_constructible): Derive from alias template 6941 1.1 mrg __is_nothrow_constructible_impl instead of 6942 1.1 mrg __is_nothrow_default_constructible_impl. 6943 1.1 mrg * testsuite/20_util/is_nothrow_constructible/94003.cc: New test. 6944 1.1 mrg 6945 1.1 mrg * include/std/stop_token (stop_token::_Stop_state_ref): Define 6946 1.1 mrg comparison operators explicitly if the compiler won't synthesize them. 6947 1.1 mrg 6948 1.1 mrg * include/bits/stl_algobase.h (__lexicographical_compare_aux): Check 6949 1.1 mrg __cpp_lib_concepts before using iter_reference_t. 6950 1.1 mrg * include/bits/stream_iterator.h (istream_iterator): Check 6951 1.1 mrg __cpp_lib_concepts before using default_sentinel_t. 6952 1.1 mrg * include/bits/streambuf_iterator.h (istreambuf_iterator): Likewise. 6953 1.1 mrg 6954 1.1 mrg PR libstdc++/94203 6955 1.1 mrg * include/experimental/executor (executor::executor(Executor)): Call 6956 1.1 mrg make_shared directly instead of _M_create. Create _Tgt1 object. 6957 1.1 mrg (executor::executor(allocator_arg_t, const ProtoAlloc&, Executor)): 6958 1.1 mrg Call allocate_shared directly instead of _M_create. Create _Tgt2 6959 1.1 mrg object. 6960 1.1 mrg (executor::target_type): Add cast needed for new _Tgt interface. 6961 1.1 mrg (executor::target): Define when RTTI is disabled. Use _Tgt::_M_func. 6962 1.1 mrg (executor::_Tgt): Define the same interface whether RTTI is enabled or 6963 1.1 mrg not. 6964 1.1 mrg (executor::_Tgt::target_type, executor::_Tgt::target): Do not use 6965 1.1 mrg std::type_info in the interface. 6966 1.1 mrg (executor::_Tgt::_M_func): Add data member. 6967 1.1 mrg (executor::_TgtImpl): Replace with _Tgt1 and _Tgt2 class templates. 6968 1.1 mrg (executor::_Tgt1::_S_func): Define function to access target without 6969 1.1 mrg depending on RTTI. 6970 1.1 mrg (executor::_M_create): Remove. 6971 1.1 mrg (operator==, operator!=): Simplify comparisons for executor. 6972 1.1 mrg * include/experimental/socket (is_error_code_enum<socket_errc>): 6973 1.1 mrg Define specialization before use. 6974 1.1 mrg * testsuite/experimental/net/executor/1.cc: New test. 6975 1.1 mrg 6976 1.1 mrg 2020-03-16 Jonathan Wakely <jwakely (a] redhat.com> 6977 1.1 mrg 6978 1.1 mrg PR libstdc++/94199 6979 1.1 mrg * include/experimental/executor (service_already_exists): Add default 6980 1.1 mrg constructor. Declare make_service to be a friend. 6981 1.1 mrg * testsuite/experimental/net/execution_context/make_service.cc: New 6982 1.1 mrg test. 6983 1.1 mrg 6984 1.1 mrg 2020-03-12 Jonathan Wakely <jwakely (a] redhat.com> 6985 1.1 mrg 6986 1.1 mrg * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Do not pass 6987 1.1 mrg a null pointer to functions with nonnull(1) attribute. 6988 1.1 mrg 6989 1.1 mrg 2020-03-11 Patrick Palka <ppalka (a] redhat.com> 6990 1.1 mrg 6991 1.1 mrg * include/std/ranges (split_view::_OuterIter::_OuterIter): Typo fix, 6992 1.1 mrg 'address' -> 'std::__addressof'. 6993 1.1 mrg * testsuite/std/ranges/adaptors/split.cc: Test taking the split_view of 6994 1.1 mrg a non-forward input_range. 6995 1.1 mrg * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): Make 6996 1.1 mrg default constructor protected instead of deleted, like with 6997 1.1 mrg input_iterator_wrapper. 6998 1.1 mrg (test_range::iterator): Add comment explaining that this type is used 6999 1.1 mrg only when the underlying wrapper is input_iterator_wrapper or 7000 1.1 mrg output_iterator_wrapper. Remove delegating defaulted constructor so 7001 1.1 mrg that the inherited default constructor is used instead. 7002 1.1 mrg 7003 1.1 mrg LWG 3286 ranges::size is not required to be valid after a call to 7004 1.1 mrg ranges::begin on an input range 7005 1.1 mrg * include/std/ranges (subrange::subrange): Split single-argument 7006 1.1 mrg constructor into two, one constrained by _S_store_size and another by 7007 1.1 mrg !_S_store_size. 7008 1.1 mrg (take_view::begin): Call size() before calling ranges::begin(_M_base). 7009 1.1 mrg * testsuite/std/ranges/adaptors/lwg3286.cc: New test. 7010 1.1 mrg * testsuite/std/ranges/subrange/lwg3286.cc: New test. 7011 1.1 mrg 7012 1.1 mrg 2020-03-10 Jonathan Wakely <jwakely (a] redhat.com> 7013 1.1 mrg 7014 1.1 mrg * include/std/ranges (split_view::_OuterIter::__at_end): Use __current 7015 1.1 mrg instead of _M_current. 7016 1.1 mrg (split_view::_OuterIter::operator++): Likewise. 7017 1.1 mrg 7018 1.1 mrg * include/std/ranges (transform_view::_Iterator::__iter_move): Remove. 7019 1.1 mrg (transform_view::_Iterator::operator*): Add noexcept-specifier. 7020 1.1 mrg (transform_view::_Iterator::iter_move): Inline __iter_move body here. 7021 1.1 mrg (split_view::_OuterIter::__current): Add noexcept. 7022 1.1 mrg (split_view::_InnerIter::__iter_swap): Remove. 7023 1.1 mrg (split_view::_InnerIter::__iter_move): Remove. 7024 1.1 mrg (split_view::_InnerIter::_M_i_current): New accessors. 7025 1.1 mrg (split_view::_InnerIter::__at_end): Use _M_i_current(). 7026 1.1 mrg (split_view::_InnerIter::operator*): Likewise. 7027 1.1 mrg (split_view::_InnerIter::operator++): Likewise. 7028 1.1 mrg (iter_move(const _InnerIter&)): Likewise. 7029 1.1 mrg (iter_swap(const _InnerIter&, const _InnerIter&)): Likewise. 7030 1.1 mrg * testsuite/std/ranges/adaptors/split.cc: Check noexcept-specifier 7031 1.1 mrg for iter_move and iter_swap on split_view's inner iterator. 7032 1.1 mrg 7033 1.1 mrg PR c++/94117 7034 1.1 mrg * include/std/ranges (ranges::transform_view::_Iterator::iter_move): 7035 1.1 mrg Change expression in noexcept-specifier to match function body. 7036 1.1 mrg 7037 1.1 mrg * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Add 7038 1.1 mrg comment explaining multiple dg-do directives. 7039 1.1 mrg * testsuite/24_iterators/ostream_iterator/1.cc: Fix do-do directive 7040 1.1 mrg so test is run as well as compiled. 7041 1.1 mrg 7042 1.1 mrg 2020-03-09 Jonathan Wakely <jwakely (a] redhat.com> 7043 1.1 mrg 7044 1.1 mrg PR libstdc++/94063 7045 1.1 mrg * src/c++17/fs_path.cc (path::operator+=(const path&)): Add kluge to 7046 1.1 mrg handle concatenations that change the type of the first component. 7047 1.1 mrg (path::operator+=(basic_string_view<value_type>)): Likewise. 7048 1.1 mrg * testsuite/27_io/filesystem/path/concat/94063.cc: New test. 7049 1.1 mrg 7050 1.1 mrg 2020-03-06 Patrick Palka <ppalka (a] redhat.com> 7051 1.1 mrg 7052 1.1 mrg * include/std/ranges (join_view::_Sentinel<_Const>): Befriend 7053 1.1 mrg join_view::_Sentinel<!_Const>. 7054 1.1 mrg * testsuite/std/ranges/adaptors/join.cc: Augment test. 7055 1.1 mrg 7056 1.1 mrg PR libstdc++/93978 7057 1.1 mrg * include/bits/range_access.h (__cust_access::_Empty::operator()): 7058 1.1 mrg Declare return type to be bool instead of auto. 7059 1.1 mrg * testsuite/std/ranges/adaptors/93978.cc: New test. 7060 1.1 mrg 7061 1.1 mrg 2020-03-06 Jonathan Wakely <jwakely (a] redhat.com> 7062 1.1 mrg 7063 1.1 mrg PR libstdc++/94069 7064 1.1 mrg * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER] 7065 1.1 mrg (__shared_mutex_pthread::__shared_mutex_pthread()): Remove incorrect 7066 1.1 mrg second argument to __glibcxx_rwlock_init. 7067 1.1 mrg * testsuite/30_threads/shared_timed_mutex/94069.cc: New test. 7068 1.1 mrg 7069 1.1 mrg PR libstdc++/93244 7070 1.1 mrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: Adjust 7071 1.1 mrg test to not fail due to PR 94063. 7072 1.1 mrg * testsuite/27_io/filesystem/path/generic/utf.cc: Likewise. 7073 1.1 mrg * testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise. 7074 1.1 mrg 7075 1.1 mrg 2020-03-06 Andreas Krebbel <krebbel (a] linux.ibm.com> 7076 1.1 mrg 7077 1.1 mrg * src/c++11/system_error.cc: Omit the ENOTSUP case statement if it 7078 1.1 mrg would match ENOSYS. 7079 1.1 mrg 7080 1.1 mrg 2020-03-05 Jonathan Wakely <jwakely (a] redhat.com> 7081 1.1 mrg 7082 1.1 mrg * testsuite/27_io/filesystem/operations/all.cc: Mark unused variable. 7083 1.1 mrg * testsuite/27_io/filesystem/operations/copy.cc: Fix typo. 7084 1.1 mrg * testsuite/experimental/filesystem/operations/copy.cc: Likewise. 7085 1.1 mrg * testsuite/27_io/filesystem/operations/file_size.cc: Use correct type 7086 1.1 mrg for return value, and in comparison. 7087 1.1 mrg * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. 7088 1.1 mrg 7089 1.1 mrg PR libstdc++/94051 7090 1.1 mrg * include/std/string_view: Include <bits/ostream_insert.h>. 7091 1.1 mrg * testsuite/21_strings/basic_string_view/inserters/94051.cc: New test. 7092 1.1 mrg 7093 1.1 mrg 2020-03-04 Jonathan Wakely <jwakely (a] redhat.com> 7094 1.1 mrg 7095 1.1 mrg * include/bits/cpp_type_traits.h (__memcpyable): Fix comment. 7096 1.1 mrg 7097 1.1 mrg 2020-03-04 Patrick Palka <ppalka (a] redhat.com> 7098 1.1 mrg 7099 1.1 mrg PR libstdc++/94017 7100 1.1 mrg * include/bits/ranges_algobase.h (__fill_n_fn::operator()): Refine 7101 1.1 mrg condition for when to use memset, making sure to additionally check that 7102 1.1 mrg the output pointer's value type is a non-volatile byte type. Instead of 7103 1.1 mrg requiring that the fill type is a byte type, just require that it's an 7104 1.1 mrg integral type. 7105 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc: 7106 1.1 mrg New test. 7107 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc: 7108 1.1 mrg New test. 7109 1.1 mrg * testsuite/25_algorithms/fill/94013.cc: Uncomment part of test that was 7110 1.1 mrg blocked by PR 94017. 7111 1.1 mrg * testsuite/25_algorithms/fill/94017.cc: New test. 7112 1.1 mrg * testsuite/25_algorithms/fill_n/94017.cc: New test. 7113 1.1 mrg 7114 1.1 mrg LWG 3355 The memory algorithms should support move-only input iterators 7115 1.1 mrg introduced by P1207 7116 1.1 mrg * include/bits/ranges_uninitialized.h 7117 1.1 mrg (__uninitialized_copy_fn::operator()): Use std::move to avoid attempting 7118 1.1 mrg to copy __ifirst, which could be a move-only input iterator. Use 7119 1.1 mrg operator- instead of ranges::distance to compute distance from a sized 7120 1.1 mrg sentinel. 7121 1.1 mrg (__uninitialized_copy_n_fn::operator()): Likewise. 7122 1.1 mrg (__uninitialized_move_fn::operator()): Likewise. 7123 1.1 mrg (__uninitialized_move_n_fn::operator()): Likewise. 7124 1.1 mrg (__uninitialized_destroy_fn::operator()): Use std::move to avoid 7125 1.1 mrg attempting to copy __first. 7126 1.1 mrg (__uninitialized_destroy_n_fn::operator()): Likewise. 7127 1.1 mrg * testsuite/20_util/specialized_algorithms/destroy/constrained.cc: 7128 1.1 mrg Augment test. 7129 1.1 mrg * .../specialized_algorithms/uninitialized_copy/constrained.cc: 7130 1.1 mrg Likewise. 7131 1.1 mrg * .../specialized_algorithms/uninitialized_move/constrained.cc: 7132 1.1 mrg Likewise. 7133 1.1 mrg 7134 1.1 mrg * testsuite/util/testsuite_iterators.h (test_range::get_iterator): Make 7135 1.1 mrg protected instead of private. 7136 1.1 mrg (test_sized_range_sized_sent): New. 7137 1.1 mrg 7138 1.1 mrg * testsuite/util/testsuite_iterators.h (input_iterator_wrapper_nocopy): 7139 1.1 mrg New testsuite iterator. 7140 1.1 mrg * testsuite/24_iterators/counted_iterator/lwg3389.cc: use it. 7141 1.1 mrg * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise. 7142 1.1 mrg 7143 1.1 mrg * include/bits/ranges_uninitialized.h 7144 1.1 mrg (uninitialized_copy_fn::operator()): Pass a reference type as the first 7145 1.1 mrg argument to is_nothrow_assignable_v. 7146 1.1 mrg (uninitialized_copy_fn::operator()): Likewise. 7147 1.1 mrg (uninitialized_move_fn::operator()): Likewise. Return an in_out_result 7148 1.1 mrg with the input iterator stripped of its move_iterator. 7149 1.1 mrg (uninitialized_move_n_fn::operator()): Likewise. 7150 1.1 mrg (uninitialized_fill_fn::operator()): Pass a reference type as the first 7151 1.1 mrg argument to is_nothrow_assignable_v. 7152 1.1 mrg (uninitialized_fill_n_fn::operator()): Likewise. 7153 1.1 mrg 7154 1.1 mrg 2020-03-03 Jonathan Wakely <jwakely (a] redhat.com> 7155 1.1 mrg 7156 1.1 mrg PR libstdc++/94013 7157 1.1 mrg * include/bits/cpp_type_traits.h (__memcpyable, __memcmpable): New 7158 1.1 mrg traits to control when to use memmove and memcmp optimizations. 7159 1.1 mrg (__is_nonvolatile_trivially_copyable): New helper trait. 7160 1.1 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn): Do not 7161 1.1 mrg use memcmp optimization with volatile data. 7162 1.1 mrg * include/bits/ranges_algobase.h (__equal_fn): Use __memcmpable. 7163 1.1 mrg (__copy_or_move, __copy_or_move_backward): Use __memcpyable. 7164 1.1 mrg * include/bits/stl_algobase.h (__copy_move_a2): Use __memcpyable. 7165 1.1 mrg (__copy_move_backward_a2): Likewise. 7166 1.1 mrg (__equal_aux1): Use __memcmpable. 7167 1.1 mrg (__lexicographical_compare_aux): Do not use memcmp optimization with 7168 1.1 mrg volatile data. 7169 1.1 mrg * testsuite/25_algorithms/copy/94013.cc: New test. 7170 1.1 mrg * testsuite/25_algorithms/copy_backward/94013.cc: New test. 7171 1.1 mrg * testsuite/25_algorithms/equal/94013.cc: New test. 7172 1.1 mrg * testsuite/25_algorithms/fill/94013.cc: New test. 7173 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/94013.cc: New test. 7174 1.1 mrg * testsuite/25_algorithms/move/94013.cc: New test. 7175 1.1 mrg * testsuite/25_algorithms/move_backward/94013.cc: New test. 7176 1.1 mrg 7177 1.1 mrg * include/bits/stl_algobase.h (lexicographical_compare_three_way): 7178 1.1 mrg Avoid redundant iterator comparisons (LWG 3410). 7179 1.1 mrg 7180 1.1 mrg 2020-03-02 Jonathan Wakely <jwakely (a] redhat.com> 7181 1.1 mrg 7182 1.1 mrg PR libstdc++/93972 7183 1.1 mrg * include/bits/stl_algobase.h (__memcmp): Allow pointer types to 7184 1.1 mrg differ. 7185 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/uchar.cc: New test. 7186 1.1 mrg 7187 1.1 mrg * include/std/ranges (__detail::__maybe_empty_t): Rename to 7188 1.1 mrg __maybe_present_t. 7189 1.1 mrg (__adaptor::_RangeAdaptor, join_view, split_view): Use new name. 7190 1.1 mrg 7191 1.1 mrg * include/bits/ranges_algo.h (shift_right): Add 'typename' to 7192 1.1 mrg dependent type. 7193 1.1 mrg 7194 1.1 mrg 2020-03-01 H.J. Lu <hongjiu.lu (a] intel.com> 7195 1.1 mrg 7196 1.1 mrg * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. 7197 1.1 mrg 7198 1.1 mrg 2020-02-29 John David Anglin <danglin (a] gcc.gnu.org> 7199 1.1 mrg 7200 1.1 mrg * testsuite/17_intro/headers/c++1998/charset.cc: Skip on *-*-hpux*. 7201 1.1 mrg * testsuite/17_intro/headers/c++2011/charset.cc: Likewise. 7202 1.1 mrg * testsuite/17_intro/headers/c++2014/charset.cc: Likewise. 7203 1.1 mrg * testsuite/17_intro/headers/c++2017/charset.cc: Likewise. 7204 1.1 mrg * testsuite/17_intro/headers/c++2020/charset.cc: Likewise. 7205 1.1 mrg 7206 1.1 mrg * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc: 7207 1.1 mrg Add libatomic option. 7208 1.1 mrg * testsuite/30_threads/jthread/jthread.cc: Likewise. 7209 1.1 mrg 7210 1.1 mrg 2020-02-29 Franois Dumont <fdumont (a] gcc.gnu.org> 7211 1.1 mrg 7212 1.1 mrg * include/bits/stl_algo.h 7213 1.1 mrg (__find_if, __count_if, __is_permutation, std::is_permutation): Move... 7214 1.1 mrg * include/bits/stl_algobase.h: ...here. 7215 1.1 mrg * include/bits/hashtable_policy.h: Remove <bits/stl_algo.h> include. 7216 1.1 mrg 7217 1.1 mrg 2020-02-29 John David Anglin <danglin (a] gcc.gnu.org> 7218 1.1 mrg 7219 1.1 mrg * testsuite/30_threads/stop_token/stop_callback.cc: Add libatomic 7220 1.1 mrg option. 7221 1.1 mrg * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc: 7222 1.1 mrg Likewise. 7223 1.1 mrg * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: Likewise. 7224 1.1 mrg * testsuite/30_threads/stop_token/stop_callback/destroy.cc: Likewise. 7225 1.1 mrg * testsuite/30_threads/stop_token/stop_callback/invoke.cc: Likewise. 7226 1.1 mrg * testsuite/30_threads/stop_token/stop_source.cc: Likewise. 7227 1.1 mrg * testsuite/30_threads/stop_token/stop_source/assign.cc: Likewise. 7228 1.1 mrg * testsuite/30_threads/stop_token/stop_token.cc: Likewise. 7229 1.1 mrg * testsuite/30_threads/stop_token/stop_token/stop_possible.cc: 7230 1.1 mrg Likewise. 7231 1.1 mrg 7232 1.1 mrg PR libstdc++/92906 7233 1.1 mrg * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. 7234 1.1 mrg 7235 1.1 mrg 2020-02-28 Patrick Palka <ppalka (a] redhat.com> 7236 1.1 mrg 7237 1.1 mrg PR libstdc++/93972 7238 1.1 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn::operator()): 7239 1.1 mrg Fix condition for when to use memcmp, making it consistent with the 7240 1.1 mrg corresponding condition used in std::lexicographical_compare. 7241 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/93972.cc: New test. 7242 1.1 mrg 7243 1.1 mrg * testsuite/26_numerics/headers/numeric/synopsis.cc: Add signatures for 7244 1.1 mrg functions introduced in C++11, C++17 and C++2a. Add 'constexpr' to 7245 1.1 mrg existing signatures for C++2a. 7246 1.1 mrg 7247 1.1 mrg 2020-02-28 Jonathan Wakely <jwakely (a] redhat.com> 7248 1.1 mrg 7249 1.1 mrg * testsuite/24_iterators/range_operations/advance_debug_neg.cc: Run 7250 1.1 mrg test instead of just compiling it. 7251 1.1 mrg 7252 1.1 mrg 2020-02-28 Patrick Palka <ppalka (a] redhat.com> 7253 1.1 mrg 7254 1.1 mrg * include/std/ranges (reverse_view::_S_needs_cached_begin): Set to false 7255 1.1 mrg whenever the underlying range models common_range. 7256 1.1 mrg 7257 1.1 mrg * include/std/ranges (__detail::_CachedPosition): New struct. 7258 1.1 mrg (views::filter_view::_S_needs_cached_begin): New member variable. 7259 1.1 mrg (views::filter_view::_M_cached_begin): New member variable. 7260 1.1 mrg (views::filter_view::begin): Use _M_cached_begin to cache its 7261 1.1 mrg result. 7262 1.1 mrg (views::drop_view::_S_needs_cached_begin): New static member variable. 7263 1.1 mrg (views::drop_view::_M_cached_begin): New member variable. 7264 1.1 mrg (views::drop_view::begin): Use _M_cached_begin to cache its result 7265 1.1 mrg when _S_needs_cached_begin. 7266 1.1 mrg (views::drop_while_view::_M_cached_begin): New member variable. 7267 1.1 mrg (views::drop_while_view::begin): Use _M_cached_begin to cache its 7268 1.1 mrg result. 7269 1.1 mrg (views::reverse_view::_S_needs_cached_begin): New static member 7270 1.1 mrg variable. 7271 1.1 mrg (views::reverse_view::_M_cached_begin): New member variable. 7272 1.1 mrg (views::reverse_view::begin): Use _M_cached_begin to cache its result 7273 1.1 mrg when _S_needs_cached_begin. 7274 1.1 mrg * testsuite/std/ranges/adaptors/drop.cc: Augment test to check that 7275 1.1 mrg drop_view::begin caches its result. 7276 1.1 mrg * testsuite/std/ranges/adaptors/drop_while.cc: Augment test to check 7277 1.1 mrg that drop_while_view::begin caches its result. 7278 1.1 mrg * testsuite/std/ranges/adaptors/filter.cc: Augment test to check that 7279 1.1 mrg filter_view::begin caches its result. 7280 1.1 mrg * testsuite/std/ranges/adaptors/reverse.cc: Augment test to check that 7281 1.1 mrg reverse_view::begin caches its result. 7282 1.1 mrg 7283 1.1 mrg 2020-02-28 Jonathan Wakely <jwakely (a] redhat.com> 7284 1.1 mrg 7285 1.1 mrg * testsuite/27_io/filesystem/operations/last_write_time.cc: Fixes for 7286 1.1 mrg filesystems that silently truncate timestamps. 7287 1.1 mrg * testsuite/experimental/filesystem/operations/last_write_time.cc: 7288 1.1 mrg Likewise. 7289 1.1 mrg 7290 1.1 mrg * testsuite/21_strings/basic_string/cons/char/1.cc: Disable 7291 1.1 mrg -Wstringop-overflow warnings. 7292 1.1 mrg 7293 1.1 mrg 2020-02-27 Jonathan Wakely <jwakely (a] redhat.com> 7294 1.1 mrg 7295 1.1 mrg * testsuite/lib/libstdc++.exp (v3_target_compile): Add 7296 1.1 mrg -fdiagnostics-urls=never to options. 7297 1.1 mrg 7298 1.1 mrg 2020-02-27 Patrick Palka <ppalka (a] redhat.com> 7299 1.1 mrg 7300 1.1 mrg * include/std/ranges (transform_view::_Iterator<_Const>): Befriend 7301 1.1 mrg _Iterator<!_Const>. 7302 1.1 mrg (transform_view::_Sentinel<_Const>): Befriend _Sentinel<!_Const>. 7303 1.1 mrg (take_view::_Sentinel<_Const>): Likewise. 7304 1.1 mrg (take_while_view::_Sentinel<_Const>): Likewise. 7305 1.1 mrg (split_view::_OuterIter<_Const>): Befriend _OuterIter<!_Const>. 7306 1.1 mrg * testsuite/std/ranges/adaptors/split.cc: Augment test. 7307 1.1 mrg * testsuite/std/ranges/adaptors/take.cc: Augment test. 7308 1.1 mrg * testsuite/std/ranges/adaptors/take_while.cc: Augment test. 7309 1.1 mrg * testsuite/std/ranges/adaptors/transform.cc: Augment test. 7310 1.1 mrg 7311 1.1 mrg * testsuite/25_algorithms/copy/constrained.cc: Don't assume that the 7312 1.1 mrg base() of a vector<>::iterator is a pointer. 7313 1.1 mrg * testsuite/25_algorithms/copy_backward/constrained.cc: Likewise. 7314 1.1 mrg * testsuite/25_algorithms/move/constrained.cc: Likewise. 7315 1.1 mrg * testsuite/25_algorithms/move_backward/constrained.cc: Likewise. 7316 1.1 mrg * testsuite/25_algorithms/inplace_merge/constrained.cc: Use foo.data() 7317 1.1 mrg instead of &foo[0]. 7318 1.1 mrg * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise. 7319 1.1 mrg * testsuite/25_algorithms/partial_sort_copy/constrained.cc: Likewise. 7320 1.1 mrg * testsuite/25_algorithms/shuffle/constrained.cc: Likewise. 7321 1.1 mrg * testsuite/25_algorithms/sort/constrained.cc: Likewise. 7322 1.1 mrg * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise. 7323 1.1 mrg 7324 1.1 mrg 2020-02-27 Jonathan Wakely <jwakely (a] redhat.com> 7325 1.1 mrg 7326 1.1 mrg * include/debug/array (operator<=>): Define for C++20. 7327 1.1 mrg * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: 7328 1.1 mrg Adjust dg-error line numbers. 7329 1.1 mrg * testsuite/23_containers/array/tuple_interface/ 7330 1.1 mrg tuple_element_debug_neg.cc: Likewise. 7331 1.1 mrg 7332 1.1 mrg * testsuite/23_containers/span/back_assert_neg.cc: Add #undef before 7333 1.1 mrg defining _GLIBCXX_ASSERTIONS. 7334 1.1 mrg * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. 7335 1.1 mrg * testsuite/23_containers/span/first_assert_neg.cc: Likewise. 7336 1.1 mrg * testsuite/23_containers/span/front_assert_neg.cc: Likewise. 7337 1.1 mrg * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. 7338 1.1 mrg * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise. 7339 1.1 mrg * testsuite/23_containers/span/last_assert_neg.cc: Likewise. 7340 1.1 mrg * testsuite/23_containers/span/subspan_2_assert_neg.cc: Likewise. 7341 1.1 mrg * testsuite/23_containers/span/subspan_3_assert_neg.cc: Likewise. 7342 1.1 mrg * testsuite/23_containers/span/subspan_4_assert_neg.cc: Likewise. 7343 1.1 mrg * testsuite/23_containers/span/subspan_5_assert_neg.cc: Likewise. 7344 1.1 mrg * testsuite/23_containers/span/subspan_6_assert_neg.cc: Likewise. 7345 1.1 mrg * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise. 7346 1.1 mrg 7347 1.1 mrg * include/debug/string (__gnu_debug::basic_string::insert): Fix for 7348 1.1 mrg C++98 where the member function of the base class returns void. 7349 1.1 mrg 7350 1.1 mrg * testsuite/util/testsuite_iterators.h (forward_iterator_wrapper): Add 7351 1.1 mrg equality comparisons that support value-initialized iterators. 7352 1.1 mrg 7353 1.1 mrg * include/bits/boost_concept_check.h (__function_requires): Add 7354 1.1 mrg _GLIBCXX14_CONSTEXPR. 7355 1.1 mrg * testsuite/25_algorithms/min/concept_checks.cc: New test. 7356 1.1 mrg 7357 1.1 mrg 2020-02-26 Patrick Palka <ppalka (a] redhat.com> 7358 1.1 mrg 7359 1.1 mrg PR libstdc++/93936 7360 1.1 mrg * include/std/ranges (split_view::_InnerIter::operator==): Compare 7361 1.1 mrg the operands' _M_i rather than their _M_i.current(). 7362 1.1 mrg * testsuite/std/ranges/adaptors/split.cc: Augment test. 7363 1.1 mrg 7364 1.1 mrg P1645R1 constexpr for <numeric> algorithms 7365 1.1 mrg * include/bits/stl_numeric.h (iota, accumulate, inner_product, 7366 1.1 mrg partial_sum, adjacent_difference): Make conditionally constexpr for 7367 1.1 mrg C++20. 7368 1.1 mrg * include/std/numeric (__cpp_lib_constexpr_numeric): Define this feature 7369 1.1 mrg test macro. 7370 1.1 mrg (reduce, transform_reduce, exclusive_scan, inclusive_scan, 7371 1.1 mrg transform_exclusive_scan, transform_inclusive_scan): Make conditionally 7372 1.1 mrg constexpr for C++20. 7373 1.1 mrg * include/std/version (__cpp_lib_constexpr_numeric): Define. 7374 1.1 mrg * testsuite/26_numerics/accumulate/constexpr.cc: New test. 7375 1.1 mrg * testsuite/26_numerics/adjacent_difference/constexpr.cc: Likewise. 7376 1.1 mrg * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise. 7377 1.1 mrg * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise. 7378 1.1 mrg * testsuite/26_numerics/inner_product/constexpr.cc: Likewise. 7379 1.1 mrg * testsuite/26_numerics/iota/constexpr.cc: Likewise. 7380 1.1 mrg * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise. 7381 1.1 mrg * testsuite/26_numerics/reduce/constexpr.cc: Likewise. 7382 1.1 mrg * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc: Likewise. 7383 1.1 mrg * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc: Likewise. 7384 1.1 mrg * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise. 7385 1.1 mrg 7386 1.1 mrg 2020-02-26 Jonathan Wakely <jwakely (a] redhat.com> 7387 1.1 mrg 7388 1.1 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn): Declare 7389 1.1 mrg variables in smaller scope and avoid calling ranges::distance when we 7390 1.1 mrg know they are pointers. Remove statically-unreachable use of 7391 1.1 mrg __builtin_unreachable(). 7392 1.1 mrg * include/bits/stl_algobase.h (__lexicographical_compare::__lc): 7393 1.1 mrg Define inline. 7394 1.1 mrg 7395 1.1 mrg * include/std/ranges (__detail::__maybe_empty_t): Define new helper 7396 1.1 mrg alias. 7397 1.1 mrg (__detail::__maybe_const_t): Likewise. 7398 1.1 mrg (__adaptor::_RangeAdaptor): Use __maybe_empty_t. 7399 1.1 mrg (transform_view, take_view, take_while_view, elements_view): Use 7400 1.1 mrg __maybe_const_t. 7401 1.1 mrg (join_view, split_view): Use both. 7402 1.1 mrg 7403 1.1 mrg 2020-02-25 Patrick Palka <ppalka (a] redhat.com> 7404 1.1 mrg 7405 1.1 mrg LWG 3397 basic_istream_view::iterator should not provide 7406 1.1 mrg iterator_category 7407 1.1 mrg * include/std/ranges (basic_istream_view:_Iterator::iterator_category): 7408 1.1 mrg Rename to ... 7409 1.1 mrg (basic_istream_view:_Iterator::iterator_concept): ... this. 7410 1.1 mrg * testsuite/std/ranges/istream_view.cc: Augment test. 7411 1.1 mrg 7412 1.1 mrg LWG 3325 Constrain return type of transformation function for 7413 1.1 mrg transform_view 7414 1.1 mrg * include/std/ranges (transform_view): Constrain the return type of the 7415 1.1 mrg transformation function as per LWG 3325. 7416 1.1 mrg * testsuite/std/ranges/adaptors/lwg3325_neg.cc: New test. 7417 1.1 mrg 7418 1.1 mrg LWG 3313 join_view::_Iterator::operator-- is incorrectly constrained 7419 1.1 mrg * include/std/ranges (join_view::_Iterator::operator--): Require that 7420 1.1 mrg range_reference_t<_Base> models common_range. 7421 1.1 mrg * testsuite/std/ranges/adaptors/lwg3313_neg.cc: New test. 7422 1.1 mrg 7423 1.1 mrg LWG 3301 transform_view::_Iterator has incorrect iterator_category 7424 1.1 mrg * include/std/ranges (transform_view::_Iterator::_S_iter_cat): Adjust 7425 1.1 mrg determination of iterator_category as per LWG 3301. 7426 1.1 mrg * testsuite/std/ranges/adaptors/transform.cc: Augment test. 7427 1.1 mrg 7428 1.1 mrg LWG 3292 iota_view is under-constrained 7429 1.1 mrg * include/std/ranges (iota_view): Require that _Winc models semiregular 7430 1.1 mrg as per LWG 3292. 7431 1.1 mrg * testsuite/std/ranges/iota/lwg3292_neg.cc: New test. 7432 1.1 mrg 7433 1.1 mrg 2020-02-25 Jonathan Wakely <jwakely (a] redhat.com> 7434 1.1 mrg 7435 1.1 mrg * include/bits/ranges_algobase.h (__copy_or_move): Do not use memmove 7436 1.1 mrg during constant evaluation. Call __builtin_memmove directly instead of 7437 1.1 mrg __memmove. 7438 1.1 mrg (__copy_or_move_backward): Likewise. 7439 1.1 mrg * include/bits/stl_algobase.h (__memmove): Remove. 7440 1.1 mrg (__copy_move<M, true, random_access_iterator_tag>::__copy_m) 7441 1.1 mrg (__copy_move_backward<M, true, random_access_iterator_tag>::__copy_m): 7442 1.1 mrg Use __builtin_memmove directly instead of __memmove. 7443 1.1 mrg (__copy_move_a2): Do not use memmove during constant evaluation. 7444 1.1 mrg (__copy_move_backward_a2): Use _IsMove constant to select correct 7445 1.1 mrg __copy_move_backward specialization. 7446 1.1 mrg * testsuite/25_algorithms/copy_backward/constexpr.cc: Check for copies 7447 1.1 mrg begin turned into moves during constant evaluation. 7448 1.1 mrg 7449 1.1 mrg * testsuite/25_algorithms/move_backward/93872.cc: Add test left out of 7450 1.1 mrg previous commit. 7451 1.1 mrg 7452 1.1 mrg PR libstdc++/93872 7453 1.1 mrg * include/bits/stl_algobase.h (__memmove): Cast away const before 7454 1.1 mrg doing move assignment. 7455 1.1 mrg * testsuite/25_algorithms/move/93872.cc: New test. 7456 1.1 mrg * testsuite/25_algorithms/move_backward/93872.cc: New test. 7457 1.1 mrg 7458 1.1 mrg 2020-02-24 Patrick Palka <ppalka (a] redhat.com> 7459 1.1 mrg 7460 1.1 mrg PR libstdc++/93884 7461 1.1 mrg * include/bits/ranges_algobase.h (__copy_or_move, 7462 1.1 mrg __copy_or_move_backward): Don't inspect the iter_value_t of the output 7463 1.1 mrg iterator, instead inspect its iterator_traits directly. 7464 1.1 mrg * include/bits/stl_iterator.h (back_insert_iterator::container): 7465 1.1 mrg Conditionally initialize. 7466 1.1 mrg (back_insert_iterator::difference_type): Conditionally define. 7467 1.1 mrg (back_insert_iterator::back_insert_iterator): Conditionally define this 7468 1.1 mrg default constructor. 7469 1.1 mrg (front_insert_iterator::container): Conditionally initialize. 7470 1.1 mrg (front_insert_iterator::difference_type): Conditionally define. 7471 1.1 mrg (front_insert_iterator::front_insert_iterator): Conditionally define 7472 1.1 mrg this default constructor. 7473 1.1 mrg * 24_iterators/back_insert_iterator/pr93884.cc: New test. 7474 1.1 mrg * 24_iterators/front_insert_iterator/pr93884.cc: New test. 7475 1.1 mrg 7476 1.1 mrg P0769R2 Add shift to <algorithm> 7477 1.1 mrg * include/bits/ranges_algo.h (shift_left, shift_right): New. 7478 1.1 mrg * testsuite/25_algorithms/shift_left/1.cc: New test. 7479 1.1 mrg * testsuite/25_algorithms/shift_right/1.cc: New test. 7480 1.1 mrg 7481 1.1 mrg 2020-02-24 Jonathan Wakely <jwakely (a] redhat.com> 7482 1.1 mrg 7483 1.1 mrg * include/bits/stream_iterator.h (istream_iterator(default_sentinel_t)): 7484 1.1 mrg Make noexcept-specifier conditional. 7485 1.1 mrg * testsuite/24_iterators/istream_iterator/cons/sentinel.cc: Check 7486 1.1 mrg noexcept-specifier. 7487 1.1 mrg 7488 1.1 mrg * include/bits/stream_iterator.h (istream_iterator(default_sentinel_t)): 7489 1.1 mrg Add constructor. 7490 1.1 mrg (operator==(istream_iterator, default_sentinel_t)): Add operator. 7491 1.1 mrg (ostream_iterator::difference_type): Define to ptrdiff_t for C++20. 7492 1.1 mrg * include/bits/streambuf_iterator.h 7493 1.1 mrg (istreambuf_iterator(default_sentinel_t)): Add constructor. 7494 1.1 mrg (operator==(istreambuf_iterator, default_sentinel_t)): Add operator. 7495 1.1 mrg * testsuite/24_iterators/istream_iterator/cons/sentinel.cc: 7496 1.1 mrg New test. 7497 1.1 mrg * testsuite/24_iterators/istream_iterator/sentinel.cc: New test. 7498 1.1 mrg * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc: 7499 1.1 mrg New test. 7500 1.1 mrg * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: New test. 7501 1.1 mrg 7502 1.1 mrg * include/std/ranges (__deep_const_range, __enable_view_impl): Remove. 7503 1.1 mrg (ranges::enable_view): Simplify (LWG 3326). 7504 1.1 mrg * include/bits/range_access.h (ranges::enable_view): Declare. 7505 1.1 mrg * include/bits/regex.h (__enable_view_impl): Remove partial 7506 1.1 mrg specialization. 7507 1.1 mrg * include/bits/stl_multiset.h (__enable_view_impl): Likewise. 7508 1.1 mrg * include/bits/stl_set.h (__enable_view_impl): Likewise. 7509 1.1 mrg * include/bits/unordered_set.h (__enable_view_impl): Likewise. 7510 1.1 mrg * include/debug/multiset.h (__enable_view_impl): Likewise. 7511 1.1 mrg * include/debug/set.h (__enable_view_impl): Likewise. 7512 1.1 mrg * include/debug/unordered_set (__enable_view_impl): Likewise. 7513 1.1 mrg * include/experimental/string_view (ranges::enable_view): Define 7514 1.1 mrg partial specialization. 7515 1.1 mrg * include/std/span (ranges::enable_view): Likewise. 7516 1.1 mrg * include/std/string_view (ranges::enable_view): Likewise. 7517 1.1 mrg * testsuite/std/ranges/view.cc: Check satisfaction of updated concept. 7518 1.1 mrg 7519 1.1 mrg 2020-02-21 Jonathan Wakely <jwakely (a] redhat.com> 7520 1.1 mrg 7521 1.1 mrg * include/std/optional (operator<=>(optional<T>, optional<U>)) 7522 1.1 mrg (operator<=>(optional<T>, nullopt), operator<=>(optional<T>, U)): 7523 1.1 mrg Define for C++20. 7524 1.1 mrg * include/std/tuple (__tuple_cmp): New helper function for <=>. 7525 1.1 mrg (operator<=>(tuple<T...>, tuple<U>...)): Define for C++20. 7526 1.1 mrg * include/std/variant (operator<=>(variant<T...>, variant<T...>)) 7527 1.1 mrg (operator<=>(monostate, monostate)): Define for C++20. 7528 1.1 mrg * testsuite/20_util/optional/relops/three_way.cc: New test. 7529 1.1 mrg * testsuite/20_util/tuple/comparison_operators/three_way.cc: New test. 7530 1.1 mrg * testsuite/20_util/variant/89851.cc: Move to ... 7531 1.1 mrg * testsuite/20_util/variant/relops/89851.cc: ... here. 7532 1.1 mrg * testsuite/20_util/variant/90008.cc: Move to ... 7533 1.1 mrg * testsuite/20_util/variant/relops/90008.cc: ... here. 7534 1.1 mrg * testsuite/20_util/variant/relops/three_way.cc: New test. 7535 1.1 mrg 7536 1.1 mrg 2020-02-20 Patrick Palka <ppalka (a] redhat.com> 7537 1.1 mrg 7538 1.1 mrg * include/std/ranges (views::__adaptor::__maybe_refwrap): New utility 7539 1.1 mrg function. 7540 1.1 mrg (views::__adaptor::_RangeAdaptor::operator()): Add comments. Use 7541 1.1 mrg __maybe_refwrap to capture lvalue references by reference, and then use 7542 1.1 mrg unwrap_reference_t to forward the by-reference captures as references. 7543 1.1 mrg * testsuite/std/ranges/adaptors/split.cc: Augment test. 7544 1.1 mrg * testsuite/std/ranges/adaptors/split_neg.cc: New test. 7545 1.1 mrg 7546 1.1 mrg * include/std/ranges (iota_view): Forward declare _Sentinel. 7547 1.1 mrg (iota_view::_Iterator): Befriend _Sentinel. 7548 1.1 mrg (iota_view::_Sentinel::_M_equal): New member function. 7549 1.1 mrg (iota_view::_Sentinel::operator==): Use it. 7550 1.1 mrg (views::_Iota::operator()): Forward __f using the correct type. 7551 1.1 mrg * testsuite/std/ranges/access/ssize.cc (test06): Don't call views::iota 7552 1.1 mrg with integers of different signedness, to appease iota_view's deduction 7553 1.1 mrg guide. 7554 1.1 mrg * testsuite/std/ranges/iota/iota_view.cc: Augment test. 7555 1.1 mrg 7556 1.1 mrg 2020-02-20 Jonathan Wakely <jwakely (a] redhat.com> 7557 1.1 mrg 7558 1.1 mrg * include/bits/range_access.h (ranges::begin): Reject array of 7559 1.1 mrg incomplete type. 7560 1.1 mrg (ranges::end, ranges::size): Require arrays to be bounded. 7561 1.1 mrg (ranges::data): Require lvalue or borrowed_range. 7562 1.1 mrg (ranges::iterator_t): Remove constraint. 7563 1.1 mrg * testsuite/std/ranges/access/begin.cc: Do not check array of 7564 1.1 mrg incomplete type. 7565 1.1 mrg * testsuite/std/ranges/access/begin_neg.cc: New test. 7566 1.1 mrg * testsuite/std/ranges/access/end_neg.cc: Adjust expected error. 7567 1.1 mrg * testsuite/std/ranges/access/size_neg.cc: Adjust expected error. 7568 1.1 mrg * testsuite/std/ranges/access/ssize.cc: Do not check array of 7569 1.1 mrg incomplete type. 7570 1.1 mrg 7571 1.1 mrg * include/std/system_error (error_category::operator<=>) 7572 1.1 mrg (operator<=>(const error_code&, const error_code&)) 7573 1.1 mrg (operator<=>(const error_condition&, const error_condition&)): Define 7574 1.1 mrg for C++20. 7575 1.1 mrg * testsuite/19_diagnostics/error_category/operators/less.cc: New test. 7576 1.1 mrg * testsuite/19_diagnostics/error_category/operators/three_way.cc: New 7577 1.1 mrg test. 7578 1.1 mrg * testsuite/19_diagnostics/error_code/operators/equal.cc: Remove 7579 1.1 mrg incorrect comment. 7580 1.1 mrg * testsuite/19_diagnostics/error_code/operators/less.cc: New test. 7581 1.1 mrg * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Remove 7582 1.1 mrg incorrect comment. 7583 1.1 mrg * testsuite/19_diagnostics/error_code/operators/three_way.cc: New test. 7584 1.1 mrg * testsuite/19_diagnostics/error_condition/operators/equal.cc: Remove 7585 1.1 mrg incorrect comment. 7586 1.1 mrg * testsuite/19_diagnostics/error_condition/operators/less.cc: New test. 7587 1.1 mrg * testsuite/19_diagnostics/error_condition/operators/not_equal.cc: 7588 1.1 mrg Remove incorrect comment. 7589 1.1 mrg * testsuite/19_diagnostics/error_condition/operators/three_way.cc: New 7590 1.1 mrg test. 7591 1.1 mrg 7592 1.1 mrg * libsupc++/typeinfo (type_info::operator!=): Remove for C++20. 7593 1.1 mrg 7594 1.1 mrg * include/std/thread (thread::id::operator<=>): Define for C++20. 7595 1.1 mrg * testsuite/30_threads/thread/id/70294.cc: Do not take addresses of 7596 1.1 mrg functions in namespace std. 7597 1.1 mrg * testsuite/30_threads/thread/id/operators_c++20.cc: New test. 7598 1.1 mrg 7599 1.1 mrg 2020-02-19 Patrick Palka <ppalka (a] redhat.com> 7600 1.1 mrg 7601 1.1 mrg * testsuite/std/ranges/adaptors/split.cc (test03): Don't include the 7602 1.1 mrg null terminator of the underlying string as part of the test_range. 7603 1.1 mrg (main): Call test03. 7604 1.1 mrg 7605 1.1 mrg 2020-02-19 Jonathan Wakely <jwakely (a] redhat.com> 7606 1.1 mrg 7607 1.1 mrg * include/bits/stl_iterator.h (common_iterator): Add copyable<I> 7608 1.1 mrg requirement (LWG 3385). 7609 1.1 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: Adjust 7610 1.1 mrg expected declaration. 7611 1.1 mrg 7612 1.1 mrg * include/std/ranges (take_while_view, drop_view, drop_while_view) 7613 1.1 mrg (elements_view:_Iterator): Initialize data members (LWG 3364). 7614 1.1 mrg 7615 1.1 mrg * libsupc++/compare (three_way_comparable): Remove always-false check 7616 1.1 mrg that should have been removed with weak_equality (P1959R0). 7617 1.1 mrg (three_way_comparable_with): Likewise. Reorder requirements (LWG 3360). 7618 1.1 mrg 7619 1.1 mrg * include/std/concepts (__detail::__partially_ordered_with): Move here 7620 1.1 mrg from <compare>. 7621 1.1 mrg (totally_ordered, totally_ordered_with): Use __partially_ordered_with 7622 1.1 mrg to simplify definition (LWG 3331). 7623 1.1 mrg * libsupc++/compare (__detail::__partially_ordered_with): Move to 7624 1.1 mrg <concepts>. 7625 1.1 mrg 7626 1.1 mrg * include/std/concepts (totally_ordered_with): Remove redundant 7627 1.1 mrg requirement (LWG 3329). 7628 1.1 mrg 7629 1.1 mrg * include/std/ranges (__detail::__convertible_to_non_slicing): New 7630 1.1 mrg helper concept. 7631 1.1 mrg (__detail::__pair_like_convertible_to): Remove. 7632 1.1 mrg (__detail::__pair_like_convertible_from): Add requirements for 7633 1.1 mrg non-slicing conversions. 7634 1.1 mrg (subrange): Constrain constructors with __convertible_to_non_slicing. 7635 1.1 mrg Remove constructors from pair-like types. Add new deduction guide. 7636 1.1 mrg * testsuite/std/ranges/subrange/lwg3282_neg.cc: New test. 7637 1.1 mrg 7638 1.1 mrg * include/bits/iterator_concepts.h (iter_move): Add declaration to 7639 1.1 mrg prevent unqualified lookup finding a suitable declaration (LWG 3247). 7640 1.1 mrg 7641 1.1 mrg * include/std/memory_resource (polymorphic_allocator::allocate) 7642 1.1 mrg (polymorphic_allocator::allocate_object): Change type of exception to 7643 1.1 mrg bad_array_new_length (LWG 3237). 7644 1.1 mrg * testsuite/20_util/polymorphic_allocator/lwg3237.cc: New test. 7645 1.1 mrg 7646 1.1 mrg * include/std/type_traits (__cpp_lib_unwrap_ref): Define (LWG 3348). 7647 1.1 mrg * include/std/version (__cpp_lib_unwrap_ref): Likewise. 7648 1.1 mrg * testsuite/20_util/unwrap_reference/1.cc: Check macro. 7649 1.1 mrg * testsuite/20_util/unwrap_reference/3.cc: New test. 7650 1.1 mrg 7651 1.1 mrg * include/std/numeric (midpoint(T8, T*)): Do not check for complete 7652 1.1 mrg type during overload resolution, use static assert instead (LWG 3200). 7653 1.1 mrg * testsuite/26_numerics/midpoint/pointer.cc: Do not test with 7654 1.1 mrg incomplete type. 7655 1.1 mrg * testsuite/26_numerics/midpoint/pointer_neg.cc: New test. 7656 1.1 mrg 7657 1.1 mrg * include/std/span (span(T (&)[N])): Use non-deduced context to 7658 1.1 mrg prevent first parameter from interfering with class template argument 7659 1.1 mrg deduction (LWG 3369). 7660 1.1 mrg * testsuite/23_containers/span/deduction.cc: Add missing 'const'. 7661 1.1 mrg * testsuite/23_containers/span/lwg3255.cc: Check for construction from 7662 1.1 mrg rvalues. 7663 1.1 mrg 7664 1.1 mrg * include/std/span (span::const_iterator, span::const_reverse_iterator) 7665 1.1 mrg (span::cbegin(), span::cend(), span::crbegin(), span::crend()): 7666 1.1 mrg Remove (LWG 3320). 7667 1.1 mrg * testsuite/23_containers/span/everything.cc: Replace uses of cbegin 7668 1.1 mrg and cend. 7669 1.1 mrg * testsuite/20_util/specialized_algorithms/destroy/constrained.cc: 7670 1.1 mrg Likewise. 7671 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_copy/ 7672 1.1 mrg constrained.cc: Likewise. 7673 1.1 mrg * testsuite/20_util/specialized_algorithms/ 7674 1.1 mrg uninitialized_default_construct/constrained.cc: Likewise. 7675 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill/ 7676 1.1 mrg constrained.cc: Likewise. 7677 1.1 mrg * testsuite/20_util/specialized_algorithms/uninitialized_move/ 7678 1.1 mrg constrained.cc: Likewise. 7679 1.1 mrg * testsuite/20_util/specialized_algorithms/ 7680 1.1 mrg uninitialized_value_construct/constrained.cc: Likewise. 7681 1.1 mrg 7682 1.1 mrg * include/bits/range_access.h (range_size_t): Define alias template. 7683 1.1 mrg * include/std/ranges (all_view): Rename to views::all_t (LWG 3335). 7684 1.1 mrg * testsuite/std/ranges/adaptors/filter.cc: Adjust to new name. 7685 1.1 mrg 7686 1.1 mrg * include/std/ranges (filter_view, transform_view, take_view) 7687 1.1 mrg (join_view, split_view, reverse_view): Remove commented-out converting 7688 1.1 mrg constructors (LWG 3280). 7689 1.1 mrg 7690 1.1 mrg * include/std/memory (uninitialized_construct_using_allocator): Use 7691 1.1 mrg std::construct_at (LWG 3321). 7692 1.1 mrg 7693 1.1 mrg * include/std/memory_resource (polymorphic_allocator::allocate_bytes) 7694 1.1 mrg (polymorphic_allocator::allocate_object) 7695 1.1 mrg (polymorphic_allocator::new_object): Add nodiscard attribute (LWG3304). 7696 1.1 mrg 7697 1.1 mrg LWG 3379. "safe" in several library names is misleading 7698 1.1 mrg * include/bits/range_access.h (enable_safe_range): Rename to 7699 1.1 mrg enable_borrowed_range. 7700 1.1 mrg (__detail::__maybe_safe_range): Rename to __maybe_borrowed_range. 7701 1.1 mrg (safe_range): Rename to borrowed_range. 7702 1.1 mrg * include/bits/ranges_algo.h: Adjust to use new names. 7703 1.1 mrg * include/bits/ranges_algobase.h: Likewise. 7704 1.1 mrg * include/bits/ranges_uninitialized.h: Likewise. 7705 1.1 mrg * include/std/ranges: Likewise. 7706 1.1 mrg (safe_iterator_t): Rename to borrowed_iterator_t. 7707 1.1 mrg (safe_subrange_t): Rename to borrowed_subrange_t. 7708 1.1 mrg * include/std/span: Adjust to use new names. 7709 1.1 mrg * include/std/string_view: Likewise. 7710 1.1 mrg * include/experimental/string_view: Likewise. 7711 1.1 mrg * testsuite/std/ranges/access/begin.cc: Likewise. 7712 1.1 mrg * testsuite/std/ranges/access/cbegin.cc: Likewise. 7713 1.1 mrg * testsuite/std/ranges/access/cdata.cc: Likewise. 7714 1.1 mrg * testsuite/std/ranges/access/cend.cc: Likewise. 7715 1.1 mrg * testsuite/std/ranges/access/crbegin.cc: Likewise. 7716 1.1 mrg * testsuite/std/ranges/access/crend.cc: Likewise. 7717 1.1 mrg * testsuite/std/ranges/access/data.cc: Likewise. 7718 1.1 mrg * testsuite/std/ranges/access/end.cc: Likewise. 7719 1.1 mrg * testsuite/std/ranges/access/rbegin.cc: Likewise. 7720 1.1 mrg * testsuite/std/ranges/access/rend.cc: Likewise. 7721 1.1 mrg * testsuite/std/ranges/safe_range.cc: Likewise. 7722 1.1 mrg * testsuite/std/ranges/safe_range_types.cc: Likewise. 7723 1.1 mrg * testsuite/util/testsuite_iterators.h: Likewise. 7724 1.1 mrg 7725 1.1 mrg * include/std/ranges (tuple_element<0, const subrange<I, S, K>>) 7726 1.1 mrg (tuple_element<1, const subrange<I, S, K>>): Add partial 7727 1.1 mrg specializations (LWG 3398). 7728 1.1 mrg * testsuite/std/ranges/subrange/tuple_like.cc: New test. 7729 1.1 mrg 7730 1.1 mrg * include/bits/ranges_algo.h (__find_fn, __find_first_of_fn) 7731 1.1 mrg (__adjacent_find_fn, __remove_if_fn, __remove_copy_if_fn) 7732 1.1 mrg (__unique_fn, __unique_copy_fn): Remove redundant conversions to bool. 7733 1.1 mrg 7734 1.1 mrg 2020-02-18 Patrick Palka <ppalka (a] redhat.com> 7735 1.1 mrg 7736 1.1 mrg P1983R0 Wording for GB301, US296, US292, US291, and US283 7737 1.1 mrg * include/std/ranges (filter_view::pred): New member function. 7738 1.1 mrg (join_view::_Iterator::_Iterator): Remove now-redundant comment since 7739 1.1 mrg P1983R0 fixes the highlighted issue in the same way. 7740 1.1 mrg (join_view::_Iterator<_Const>): Add friend 7741 1.1 mrg join_view::_Iterator<!_Const>. 7742 1.1 mrg (join_view::_M_inner): Remove mutable specifier, effectively reverting 7743 1.1 mrg the proposed wording changes of P3278. 7744 1.1 mrg (join_view::begin): Refine the condition for when to return a const 7745 1.1 mrg iterator. 7746 1.1 mrg (split_view::_OuterIter::_OuterIter): Adjust constraints. 7747 1.1 mrg * testsuite/std/ranges/adaptors/filter.cc: Test that filter_view::pred 7748 1.1 mrg exists and works. 7749 1.1 mrg 7750 1.1 mrg 2020-02-18 Jonathan Wakely <jwakely (a] redhat.com> 7751 1.1 mrg 7752 1.1 mrg PR libstdc++/93818 7753 1.1 mrg * include/std/ranges (_RangeAdaptor): Add deduction guide. 7754 1.1 mrg (filter_view::_Iterator): Add alias _Vp_iter and use in place of 7755 1.1 mrg iterator_t<_Vp>. 7756 1.1 mrg (filter_view::_Iterator::_S_iter_cat()): Add 'typename'. 7757 1.1 mrg (transform_view::_Iterator): Add alias _Base_iter and use in place of 7758 1.1 mrg iterator_t<_Base>. 7759 1.1 mrg (transform_view::_Iterator::_S_iter_cat()): Add 'typename'. 7760 1.1 mrg (join_view::_Iterator): Add _Outer_iter and _Inner_iter aliases. 7761 1.1 mrg (join_view::_Iterator::_S_iter_cat()): Add 'typename'. 7762 1.1 mrg (split_view::_InnerIter::_S_iter_cat()): Likewise. 7763 1.1 mrg 7764 1.1 mrg * testsuite/20_util/integer_comparisons/equal.cc: Fix invalid 7765 1.1 mrg assumption that long is wider than int. 7766 1.1 mrg * testsuite/20_util/integer_comparisons/greater_equal.cc: Likewise. 7767 1.1 mrg * testsuite/20_util/integer_comparisons/less.cc: Likewise. 7768 1.1 mrg * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise. 7769 1.1 mrg * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise. 7770 1.1 mrg 7771 1.1 mrg P1976R2 Fixed-size span construction from dynamic range 7772 1.1 mrg * include/std/span (__cpp_lib_span): Update value. 7773 1.1 mrg (span(It, size_type), span(It, End)): Make conditionally explicit. Add 7774 1.1 mrg assertion. 7775 1.1 mrg (span(R&&), span(const span<OType, OExtent>&)): Likewise and relax 7776 1.1 mrg constraints. 7777 1.1 mrg (span::first<Count>(), span::last<Count>()): Use explicit type in 7778 1.1 mrg return statement. 7779 1.1 mrg (as_bytes, as_writable_bytes): Likewise. 7780 1.1 mrg * include/std/version (__cpp_lib_span): Update value. 7781 1.1 mrg * testsuite/23_containers/span/1.cc: Check new value. 7782 1.1 mrg * testsuite/23_containers/span/2.cc: Check new value. 7783 1.1 mrg * testsuite/23_containers/span/explicit.cc: New test. 7784 1.1 mrg 7785 1.1 mrg * include/std/span (span::__is_compatible_array): Simplify alias 7786 1.1 mrg template by using requires-clause. 7787 1.1 mrg (span::__is_compatible_ref): New alias template for constraining 7788 1.1 mrg constructors. 7789 1.1 mrg (span::__is_compatible_iterator, span::__is_compatible_range): Remove. 7790 1.1 mrg (span(It, size_type), span(It, End)): Use __is_compatible_ref. 7791 1.1 mrg (span(T(&)[N], span(array<T, N>&), span(const array<T, N>&)): Remove 7792 1.1 mrg redundant parentheses. 7793 1.1 mrg (span(R&&)): Add missing constraints. 7794 1.1 mrg 7795 1.1 mrg * include/std/span (span): Reorder members and rename template 7796 1.1 mrg parameters to match declarations in the C++2a working paper. 7797 1.1 mrg 7798 1.1 mrg P2116R0 Remove tuple-like protocol support from fixed-extent span 7799 1.1 mrg * include/std/span (get, tuple_size, tuple_element): Remove. 7800 1.1 mrg * testsuite/23_containers/span/everything.cc: Remove checks for 7801 1.1 mrg tuple-like API. 7802 1.1 mrg * testsuite/23_containers/span/get_neg.cc: Remove. 7803 1.1 mrg * testsuite/23_containers/span/tuple_element_dynamic_neg.cc: Remove. 7804 1.1 mrg * testsuite/23_containers/span/tuple_element_oob_neg.cc: Remove. 7805 1.1 mrg * testsuite/23_containers/span/tuple_size_neg.cc: Remove. 7806 1.1 mrg 7807 1.1 mrg 2020-02-17 Patrick Palka <ppalka (a] redhat.com> 7808 1.1 mrg 7809 1.1 mrg P2106R0 Alternative wording for GB315 and GB316 7810 1.1 mrg * include/bits/ranges_algo.h (in_fun_result): New. 7811 1.1 mrg (for_each_result, for_each_n_result): Change into an alias of 7812 1.1 mrg in_fun_result. 7813 1.1 mrg (in_in_result): New. 7814 1.1 mrg (mismatch_result): Change into an alias of in_in_result. 7815 1.1 mrg (copy_if_result): Change into an alias of in_out_result. 7816 1.1 mrg (swap_ranges_result): Change into an alias of in_in_result. 7817 1.1 mrg (unary_transform_result): Change into an alias of in_out_result. 7818 1.1 mrg (in_in_out_result): New. 7819 1.1 mrg (binary_transform_result): Change into an alias of in_in_out_result. 7820 1.1 mrg (replace_copy_result, replace_copy_if_result, remove_copy_if_result, 7821 1.1 mrg remove_copy_result, unique_copy_result, reverse_copy_result, 7822 1.1 mrg rotate_copy_result, partial_sort_copy_result): Change into an alias of 7823 1.1 mrg in_out_result. 7824 1.1 mrg (in_out_out_result): New. 7825 1.1 mrg (partition_copy_result, merge_result): Change into an alias of 7826 1.1 mrg in_out_out_result. 7827 1.1 mrg (set_union_result, set_intersection_result): Change into an alias of 7828 1.1 mrg in_in_out_result. 7829 1.1 mrg (set_difference_result): Change into an alias of in_out_result. 7830 1.1 mrg (set_symmetric_difference): Change into an alias of in_in_out_result. 7831 1.1 mrg (min_max_result): New. 7832 1.1 mrg (minmax_result, minmax_element_result): Change into an alias of 7833 1.1 mrg min_max_result. 7834 1.1 mrg (in_found_result): New. 7835 1.1 mrg (next_permutation_result, prev_permutation_result): Change into an alias 7836 1.1 mrg of in_found_result. 7837 1.1 mrg (__next_permutation_fn::operator(), __prev_permutation_fn::operator()): 7838 1.1 mrg Adjust following changes to next_permutation_result and 7839 1.1 mrg prev_permutation_result. 7840 1.1 mrg * include/bits/ranges_algobase.h (in_out_result): New. 7841 1.1 mrg (copy_result, move_result, move_backward_result, copy_backward_result, 7842 1.1 mrg copy_n_result): Change into an alias of in_out_result. 7843 1.1 mrg * include/bits/ranges_uninitialized.h (uninitialized_copy_result, 7844 1.1 mrg uninitialized_copy_n_result, uninitialized_move_result, 7845 1.1 mrg uninitialized_move_n_result): Likewise. 7846 1.1 mrg * testsuite/25_algorithms/next_permutation/constrained.cc: Adjust uses of 7847 1.1 mrg structured bindings. 7848 1.1 mrg * testsuite/25_algorithms/prev_permutation/constrained.cc: Likewise. 7849 1.1 mrg 7850 1.1 mrg P1243R4 Rangify new algorithms 7851 1.1 mrg * include/bits/ranges_algo.h (for_each_n_result, __for_each_n_fn, 7852 1.1 mrg for_each_n, __sample_fn, sample, __clamp_fn, clamp): New. 7853 1.1 mrg * testsuite/25_algorithms/clamp/constrained.cc: New test. 7854 1.1 mrg * testsuite/25_algorithms/for_each/constrained.cc: Augment test. 7855 1.1 mrg * testsuite/25_algorithms/sample/constrained.cc: New test. 7856 1.1 mrg 7857 1.1 mrg 2020-02-17 Jonathan Wakely <jwakely (a] redhat.com> 7858 1.1 mrg 7859 1.1 mrg P1964R2 Wording for boolean-testable 7860 1.1 mrg * include/bits/ranges_algo.h (__find_fn, __find_first_of_fn) 7861 1.1 mrg (__adjacent_find_fn): Cast result of predicate to bool. 7862 1.1 mrg * include/std/concepts (__boolean): Remove. 7863 1.1 mrg (__detail::__boolean_testable_impl, __detail::__boolean_testable): Add 7864 1.1 mrg new helper concepts. 7865 1.1 mrg (__detail::__weakly_eq_cmp_with, totally_ordered, totally_ordered_with) 7866 1.1 mrg (predicate): Use __boolean_testable instead of boolean. 7867 1.1 mrg * libsupc++/compare (__detail::__partially_ordered, _Synth3way): 7868 1.1 mrg Likewise. 7869 1.1 mrg 7870 1.1 mrg P1970R2 Consistency for size() functions: Add ranges::ssize 7871 1.1 mrg * include/bits/range_access.h (_SSize, ssize): Define for C++20. 7872 1.1 mrg * testsuite/std/ranges/access/ssize.cc: New test. 7873 1.1 mrg 7874 1.1 mrg P1956R1 On the names of low-level bit manipulation functions 7875 1.1 mrg * include/bits/hashtable_policy.h: Update comment. 7876 1.1 mrg * include/std/bit (__ispow2, __ceil2, __floor2, __log2p1): Rename. 7877 1.1 mrg (ispow2, ceil2, floor2, log2p1): Likewise. 7878 1.1 mrg (__cpp_lib_int_pow2): Add feature test macro. 7879 1.1 mrg * include/std/charconv (__to_chars_len_2): Adjust use of __log2p1. 7880 1.1 mrg * include/std/memory (assume_aligned): Adjust use of ispow2. 7881 1.1 mrg * include/std/version (__cpp_lib_int_pow2): Add. 7882 1.1 mrg * libsupc++/new_opa.cc: Adjust use of __ispow2. 7883 1.1 mrg * src/c++17/memory_resource.cc: Likewise, and for __ceil2 and __log2p1. 7884 1.1 mrg * testsuite/17_intro/freestanding.cc: Adjust use of ispow2. 7885 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Rename to ... 7886 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: ... here. 7887 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2_neg.cc: Rename to ... 7888 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc: ... here. 7889 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Rename to ... 7890 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: ... here. 7891 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Rename to ... 7892 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: ... here. 7893 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Rename to ... 7894 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc: ... here. 7895 1.1 mrg 7896 1.1 mrg * include/std/charconv: Add comment. 7897 1.1 mrg 7898 1.1 mrg PR libstdc++/92546 (partial) 7899 1.1 mrg * include/bits/random.h (uniform_random_bit_generator): Move definition 7900 1.1 mrg to <bits/uniform_int_dist.h>. 7901 1.1 mrg * include/bits/ranges_algo.h: Include <bits/uniform_int_dist.h> instead 7902 1.1 mrg of <bits/random.h>. 7903 1.1 mrg * include/bits/ranges_algobase.h: Do not include <cmath>. 7904 1.1 mrg * include/bits/uniform_int_dist.h (uniform_random_bit_generator): 7905 1.1 mrg Move here. 7906 1.1 mrg * include/std/ranges: Do not include <limits>. 7907 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno. 7908 1.1 mrg 7909 1.1 mrg PR libstdc++/92546 (partial) 7910 1.1 mrg * include/Makefile.am: Add new header. 7911 1.1 mrg * include/Makefile.in: Regenerate. 7912 1.1 mrg * include/bits/int_limits.h: New header. 7913 1.1 mrg * include/bits/parse_numbers.h (__select_int::_Select_int): Replace 7914 1.1 mrg numeric_limits with __detail::__int_limits. 7915 1.1 mrg * include/std/bit (__rotl, __rotr, __countl_zero, __countl_one) 7916 1.1 mrg (__countr_zero, __countr_one, __popcount, __ceil2, __floor2, __log2p1): 7917 1.1 mrg Likewise. 7918 1.1 mrg * include/std/charconv (__to_chars_8, __from_chars_binary) 7919 1.1 mrg (__from_chars_alpha_to_num, from_chars): Likewise. 7920 1.1 mrg * include/std/memory_resource (polymorphic_allocator::allocate) 7921 1.1 mrg (polymorphic_allocator::allocate_object): Likewise. 7922 1.1 mrg * include/std/string_view (basic_string_view::_S_compare): Likewise. 7923 1.1 mrg * include/std/utility (in_range): Likewise. 7924 1.1 mrg * testsuite/20_util/integer_comparisons/in_range_neg.cc: Adjust for 7925 1.1 mrg extra error about incomplete type __int_limits<bool>. 7926 1.1 mrg * testsuite/26_numerics/bit/bit.count/countl_one.cc: Include <limits>. 7927 1.1 mrg * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise. 7928 1.1 mrg * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise. 7929 1.1 mrg * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise. 7930 1.1 mrg * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise. 7931 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2_neg.cc: Likewise. 7932 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Likewise. 7933 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Likewise. 7934 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Likewise. 7935 1.1 mrg * testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Likewise. 7936 1.1 mrg * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise. 7937 1.1 mrg * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise. 7938 1.1 mrg 7939 1.1 mrg * python/libstdcxx/v6/printers.py (StdCmpCatPrinter.to_string): Update 7940 1.1 mrg value for partial_ordering::unordered. 7941 1.1 mrg 7942 1.1 mrg * include/bits/iterator_concepts.h (indirectly_copyable_storable): Add 7943 1.1 mrg const-qualified expression variations. 7944 1.1 mrg * include/std/concepts (copyable): Likewise. 7945 1.1 mrg 7946 1.1 mrg * include/std/type_traits (__is_standard_integer): New helper trait. 7947 1.1 mrg * include/std/utility (cmp_equal, cmp_not_equal, cmp_less, cmp_greater) 7948 1.1 mrg (cmp_less_equal, cmp_greater_equal, in_range): Define for C++20. 7949 1.1 mrg * include/std/version (__cpp_lib_integer_comparison_functions): Define. 7950 1.1 mrg * testsuite/20_util/integer_comparisons/1.cc: New test. 7951 1.1 mrg * testsuite/20_util/integer_comparisons/2.cc: New test. 7952 1.1 mrg * testsuite/20_util/integer_comparisons/equal.cc: New test. 7953 1.1 mrg * testsuite/20_util/integer_comparisons/equal_neg.cc: New test. 7954 1.1 mrg * testsuite/20_util/integer_comparisons/greater_equal.cc: New test. 7955 1.1 mrg * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: New test. 7956 1.1 mrg * testsuite/20_util/integer_comparisons/greater_neg.cc: New test. 7957 1.1 mrg * testsuite/20_util/integer_comparisons/in_range.cc: New test. 7958 1.1 mrg * testsuite/20_util/integer_comparisons/in_range_neg.cc: New test. 7959 1.1 mrg * testsuite/20_util/integer_comparisons/less.cc: New test. 7960 1.1 mrg * testsuite/20_util/integer_comparisons/less_equal.cc: New test. 7961 1.1 mrg * testsuite/20_util/integer_comparisons/less_equal_neg.cc: New test. 7962 1.1 mrg * testsuite/20_util/integer_comparisons/less_neg.cc: New test. 7963 1.1 mrg * testsuite/20_util/integer_comparisons/not_equal.cc: New test. 7964 1.1 mrg * testsuite/20_util/integer_comparisons/not_equal_neg.cc: New test. 7965 1.1 mrg 7966 1.1 mrg 2020-02-16 Patrick Palka <ppalka (a] redhat.com> 7967 1.1 mrg 7968 1.1 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn::operator()): 7969 1.1 mrg Move code after an early exit constexpr if to under an else branch. 7970 1.1 mrg * include/bits/ranges_algobase.h (__equal_fn::operator()): Likewise. 7971 1.1 mrg 7972 1.1 mrg 2020-02-15 Patrick Palka <ppalka (a] redhat.com> 7973 1.1 mrg 7974 1.1 mrg * include/bits/ranges_algo.h: Adjust whitespace and formatting. 7975 1.1 mrg * include/bits/ranges_algobase.h: Likewise. 7976 1.1 mrg * include/bits/ranges_uninitialized.h: Likewise. 7977 1.1 mrg 7978 1.1 mrg * include/bits/ranges_algo.h: (adjacent_find, all_of, any_of, 7979 1.1 mrg binary_search, copy_if, count, count_if, equal_range, find, find_end, 7980 1.1 mrg find_first_of, find_if, find_if_not, for_each, generate, generate_n, 7981 1.1 mrg includes, inplace_merge, is_heap, is_heap_until, is_partitioned, 7982 1.1 mrg is_permutation, is_sorted, is_sorted_until, lexicographical_compare, 7983 1.1 mrg lower_bound, make_heap, max, max_element, merge, min, min_element, 7984 1.1 mrg minmax, minmax_element, mismatch, next_permutation, none_of, 7985 1.1 mrg nth_element, partial_sort, partial_sort_copy, partition, partition_copy, 7986 1.1 mrg partition_point, pop_heap, prev_permutation, push_heap, remove, 7987 1.1 mrg remove_copy, remove_copy_if, remove_if, replace, replace_copy, 7988 1.1 mrg replace_copy_if, replace_if, reverse, reverse_copy, rotate, rotate_copy, 7989 1.1 mrg search, search_n, set_difference, set_intersection, 7990 1.1 mrg set_symmetric_difference, set_union, shuffle, sort, sort_heap, 7991 1.1 mrg stable_partition, stable_sort, swap_ranges, transform, unique, 7992 1.1 mrg unique_copy, upper_bound): Convert into function objects. 7993 1.1 mrg * include/bits/ranges_algobase.h: (equal, copy, move, copy_n, fill_n, 7994 1.1 mrg fill, move_backward, copy_backward): Likewise. 7995 1.1 mrg * include/bits/ranges_uninitialized.h (uninitialized_default_construct, 7996 1.1 mrg uninitialized_default_construct_n, uninitialized_value_construct, 7997 1.1 mrg uninitialized_value_construct_n, uninitialized_copy, 7998 1.1 mrg uninitialized_copy_n, uninitialized_move, uninitialized_move_n, 7999 1.1 mrg uninitialized_fill, uninitialized_fill_n, construct_at, destroy_at, 8000 1.1 mrg destroy, destroy_n): Likewise. 8001 1.1 mrg 8002 1.1 mrg * include/bits/ranges_algo.h (ranges::__find_end): Fold into ... 8003 1.1 mrg (ranges::find_end): ... here. 8004 1.1 mrg (ranges::__lexicographical_compare): Fold into ... 8005 1.1 mrg (ranges::lexicographical_compare): ... here. 8006 1.1 mrg * include/bits/ranges_algobase.h (ranges::__equal): Fold into ... 8007 1.1 mrg (ranges::equal): ... here. 8008 1.1 mrg 8009 1.1 mrg 2020-02-15 Jonathan Wakely <jwakely (a] redhat.com> 8010 1.1 mrg 8011 1.1 mrg * include/bits/erase_if.h (__cpp_lib_erase_if): Define to 202002L. 8012 1.1 mrg * include/std/deque: Likewise. 8013 1.1 mrg * include/std/forward_list: Likewise. 8014 1.1 mrg * include/std/list: Likewise. 8015 1.1 mrg * include/std/string: Likewise. 8016 1.1 mrg * include/std/vector: Likewise. 8017 1.1 mrg * include/std/version: Likewise. 8018 1.1 mrg * testsuite/23_containers/deque/erasure.cc: Test for new value. 8019 1.1 mrg * testsuite/23_containers/forward_list/erasure.cc: Likewise. 8020 1.1 mrg * testsuite/23_containers/list/erasure.cc: Likewise. 8021 1.1 mrg * testsuite/23_containers/map/erasure.cc: Likewise. 8022 1.1 mrg * testsuite/23_containers/set/erasure.cc: Likewise. 8023 1.1 mrg * testsuite/23_containers/unordered_map/erasure.cc: Likewise. 8024 1.1 mrg * testsuite/23_containers/unordered_set/erasure.cc: Likewise. 8025 1.1 mrg * testsuite/23_containers/vector/erasure.cc: Likewise. 8026 1.1 mrg 8027 1.1 mrg 2020-02-15 Jonathan Wakely <jwakely (a] redhat.com> 8028 1.1 mrg 8029 1.1 mrg * include/bits/random.h (uniform_random_bit_generator): Require min() 8030 1.1 mrg and max() to be constant expressions and min() to be less than max(). 8031 1.1 mrg * testsuite/26_numerics/random/concept.cc: Check additional cases. 8032 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno. 8033 1.1 mrg 8034 1.1 mrg 2020-02-13 Patrick Palka <ppalka (a] redhat.com> 8035 1.1 mrg 8036 1.1 mrg * include/Makefile.am: Add <bits/ranges_uninitialized.h>. 8037 1.1 mrg * include/Makefile.in: Regenerate. 8038 1.1 mrg * include/bits/ranges_uninitialized.h: New header. 8039 1.1 mrg * include/std/memory: Include it. 8040 1.1 mrg * testsuite/20_util/specialized_algorithms/destroy/constrained.cc: New 8041 1.1 mrg test. 8042 1.1 mrg * .../uninitialized_copy/constrained.cc: New test. 8043 1.1 mrg * .../uninitialized_default_construct/constrained.cc: New test. 8044 1.1 mrg * .../uninitialized_fill/constrained.cc: New test. 8045 1.1 mrg * .../uninitialized_move/constrained.cc: New test. 8046 1.1 mrg * .../uninitialized_value_construct/constrained.cc: New test. 8047 1.1 mrg 8048 1.1 mrg * include/Makefile.am: Add bits/ranges_algobase.h 8049 1.1 mrg * include/Makefile.in: Regenerate. 8050 1.1 mrg * bits/ranges_algo.h: Include <bits/ranges_algobase.h> and refactor 8051 1.1 mrg existing #includes. 8052 1.1 mrg (__detail::__is_normal_iterator, __detail::is_reverse_iterator, 8053 1.1 mrg __detail::__is_move_iterator, copy_result, move_result, 8054 1.1 mrg __equal, equal, copy_result, move_result, move_backward_result, 8055 1.1 mrg copy_backward_result, __copy_or_move_backward, __copy_or_move, copy, 8056 1.1 mrg move, copy_backward, move_backward, copy_n_result, copy_n, fill_n, 8057 1.1 mrg fill): Split out into ... 8058 1.1 mrg * bits/range_algobase.h: ... this new header. 8059 1.1 mrg 8060 1.1 mrg 2020-02-12 Patrick Palka <ppalka (a] redhat.com> 8061 1.1 mrg 8062 1.1 mrg LWG 3389 and LWG 3390 8063 1.1 mrg * include/bits/stl_iterator.h (move_move_iterator): Use std::move when 8064 1.1 mrg constructing the move_iterator with __i. 8065 1.1 mrg (counted_iterator::counted_iterator): Use std::move when initializing 8066 1.1 mrg M_current with __i. 8067 1.1 mrg * testsuite/24_iterators/counted_iterator/lwg3389.cc: New test. 8068 1.1 mrg * testsuite/24_iterators/move_iterator/lwg3390.cc: New test. 8069 1.1 mrg 8070 1.1 mrg 2020-02-12 Sandra Loosemore <sandra (a] codesourcery.com> 8071 1.1 mrg 8072 1.1 mrg PR libstdc++/79193 8073 1.1 mrg PR libstdc++/88999 8074 1.1 mrg 8075 1.1 mrg * configure: Regenerated. 8076 1.1 mrg 8077 1.1 mrg 2020-02-12 Franois Dumont <fdumont (a] gcc.gnu.org> 8078 1.1 mrg 8079 1.1 mrg * include/bits/hashtable.h 8080 1.1 mrg (_Hashtable<>(_Hashtable&&, std::allocator_type&)): Add 8081 1.1 mrg missing std namespace qualification to forward call. 8082 1.1 mrg 8083 1.1 mrg 2020-02-09 Jonathan Wakely <jwakely (a] redhat.com> 8084 1.1 mrg 8085 1.1 mrg * testsuite/20_util/function_objects/range.cmp/equal_to.cc: Fix 8086 1.1 mrg comment. 8087 1.1 mrg * testsuite/20_util/function_objects/range.cmp/less.ccL Likewise. 8088 1.1 mrg 8089 1.1 mrg * include/std/ranges: Fix non-ASCII characters in comment. 8090 1.1 mrg 8091 1.1 mrg * include/bits/range_cmp.h (__detail::__eq_builtin_ptr_cmp): Require 8092 1.1 mrg equality comparison to be valid and return bool. 8093 1.1 mrg (__detail::__less_builtin_ptr_cmp): Likewise for less-than comparison. 8094 1.1 mrg * testsuite/20_util/function_objects/range.cmp/equal_to.cc: Check 8095 1.1 mrg type with ambiguous conversion to fundamental types. 8096 1.1 mrg * testsuite/20_util/function_objects/range.cmp/less.cc: Likewise. 8097 1.1 mrg 8098 1.1 mrg 2020-02-07 Jonathan Wakely <jwakely (a] redhat.com> 8099 1.1 mrg 8100 1.1 mrg * include/bits/iterator_concepts.h (iter_difference_t, iter_value_t): 8101 1.1 mrg Use remove_cvref_t. 8102 1.1 mrg (readable_traits): Rename to indirectly_readable_traits. 8103 1.1 mrg (readable): Rename to indirectly_readable. 8104 1.1 mrg (writable): Rename to indirectly_writable. 8105 1.1 mrg (__detail::__iter_exchange_move): Do not use remove_reference_t. 8106 1.1 mrg (indirectly_swappable): Adjust requires expression parameter types. 8107 1.1 mrg expression. 8108 1.1 mrg * include/bits/ranges_algo.h (ranges::transform, ranges::replace) 8109 1.1 mrg (ranges::replace_if, ranges::generate_n, ranges::generate) 8110 1.1 mrg (ranges::remove): Use new name for writable. 8111 1.1 mrg * include/bits/stl_iterator.h (__detail::__common_iter_has_arrow): 8112 1.1 mrg Use new name for readable. 8113 1.1 mrg * include/ext/pointer.h (readable_traits<_Pointer_adapter<P>>): Use 8114 1.1 mrg new name for readable_traits. 8115 1.1 mrg * testsuite/24_iterators/associated_types/readable.traits.cc: Likewise. 8116 1.1 mrg * testsuite/24_iterators/indirect_callable/projected.cc: Adjust for 8117 1.1 mrg new definition of indirectly_readable. 8118 1.1 mrg 8119 1.1 mrg * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Change 8120 1.1 mrg to take parameters of common_iterator, instead of the common_iterator 8121 1.1 mrg type itself. Fix argument for __common_iter_has_arrow constraint. 8122 1.1 mrg (iterator_traits<common_iterator<I, S>>::pointer): Adjust. 8123 1.1 mrg 8124 1.1 mrg 2020-02-07 Jonathan Wakely <jwakely (a] redhat.com> 8125 1.1 mrg 8126 1.1 mrg * include/std/ranges (iota_view): Add braces to prevent -Wempty-body 8127 1.1 mrg warning. 8128 1.1 mrg (basic_istream_view::_Iterator::operator++()): Add missing return. 8129 1.1 mrg 8130 1.1 mrg 2020-02-07 Patrick Palka <ppalka (a] redhat.com> 8131 1.1 mrg 8132 1.1 mrg * include/bits/ranges_algo.h: Remove extraneous &&. 8133 1.1 mrg 8134 1.1 mrg * include/std/ranges (ranges::__detail::__stream_extractable, 8135 1.1 mrg ranges::basic_istream_view, ranges::istream_view): Define. 8136 1.1 mrg * testsuite/std/ranges/istream_view: New test. 8137 1.1 mrg 8138 1.1 mrg Implement C++20 range adaptors 8139 1.1 mrg * include/std/ranges: Include <bits/refwrap.h> and <tuple>. 8140 1.1 mrg (subrange::_S_store_size): Mark as const instead of constexpr to 8141 1.1 mrg avoid what seems to be a bug in GCC. 8142 1.1 mrg (__detail::__box): Give it defaulted copy and move constructors. 8143 1.1 mrg (ranges::views::_Single::operator()): Mark constexpr. 8144 1.1 mrg (ranges::views::_Iota::operator()): Mark constexpr. 8145 1.1 mrg (__detail::Empty): Define. 8146 1.1 mrg (ranges::views::__closure::_RangeAdaptor, 8147 1.1 mrg ranges::views::__closure::_RangeAdaptorClosure, ref_view, all_view, 8148 1.1 mrg ranges::views::all, ranges::__detail::find_if, 8149 1.1 mrg ranges::__detail::find_if_not, ranges::__detail::mismatch, 8150 1.1 mrg ranges::detail::min, filter_view, ranges::views::filter, transform_view, 8151 1.1 mrg ranges::views::transform, take_view, ranges::views::take, 8152 1.1 mrg take_while_view, ranges::views::take_while, drop_view, 8153 1.1 mrg ranges::views::drop, join_view, ranges::views::join, 8154 1.1 mrg __detail::require_constant, __detail::tiny_range, split_view, 8155 1.1 mrg ranges::views::split, ranges::views::_Counted, ranges::views::counted, 8156 1.1 mrg common_view, ranges::views::common, reverse_view, 8157 1.1 mrg ranges::views::reverse, 8158 1.1 mrg ranges::views::__detail::__is_reversible_subrange, 8159 1.1 mrg ranges::views::__detail::__is_reverse_view, reverse_view, 8160 1.1 mrg ranges::views::reverse, __detail::__has_tuple_element, elements_view, 8161 1.1 mrg ranges::views::elements, ranges::views::keys, ranges::views::values): 8162 1.1 mrg Define. 8163 1.1 mrg (views): Alias for ranges::views. 8164 1.1 mrg (tuple_size<ranges::subrange<>>, tuple_element<0, ranges::subrange>, 8165 1.1 mrg tuple_element<1, ranges::subrange>): New partial specializations. 8166 1.1 mrg * testsuite/std/ranges/adaptors/all.cc: New test. 8167 1.1 mrg * testsuite/std/ranges/adaptors/common.cc: Likewise. 8168 1.1 mrg * testsuite/std/ranges/adaptors/counted.cc: Likewise. 8169 1.1 mrg * testsuite/std/ranges/adaptors/drop.cc: Likewise. 8170 1.1 mrg * testsuite/std/ranges/adaptors/drop_while.cc: Likewise. 8171 1.1 mrg * testsuite/std/ranges/adaptors/elements.cc: Likewise. 8172 1.1 mrg * testsuite/std/ranges/adaptors/filter.cc: Likewise. 8173 1.1 mrg * testsuite/std/ranges/adaptors/join.cc: Likewise. 8174 1.1 mrg * testsuite/std/ranges/adaptors/reverse.cc: Likewise. 8175 1.1 mrg * testsuite/std/ranges/adaptors/split.cc: Likewise. 8176 1.1 mrg * testsuite/std/ranges/adaptors/take.cc: Likewise. 8177 1.1 mrg * testsuite/std/ranges/adaptors/take_while.cc: Likewise. 8178 1.1 mrg * testsuite/std/ranges/adaptors/transform.cc: Likewise. 8179 1.1 mrg 8180 1.1 mrg 2020-02-07 Jonathan Wakely <jwakely (a] redhat.com> 8181 1.1 mrg 8182 1.1 mrg * libsupc++/compare (__cmp_cat::type): Define typedef for underlying 8183 1.1 mrg type of enumerations and comparison category types. 8184 1.1 mrg (__cmp_cat::_Ord, __cmp_cat::_Ncmp): Add underlying type. 8185 1.1 mrg (__cmp_cat::_Ncmp::unordered): Change value to 2. 8186 1.1 mrg (partial_ordering::_M_value, weak_ordering::_M_value) 8187 1.1 mrg (strong_ordering::_M_value): Change type to __cmp_cat::type. 8188 1.1 mrg (partial_ordering::_M_is_ordered): Remove data member. 8189 1.1 mrg (partial_ordering): Use second bit of _M_value for unordered. Adjust 8190 1.1 mrg comparison operators. 8191 1.1 mrg (weak_ordering::operator partial_ordering): Simplify to remove 8192 1.1 mrg branches. 8193 1.1 mrg (operator<=>(unspecified, weak_ordering)): Likewise. 8194 1.1 mrg (strong_ordering::operator partial_ordering): Likewise. 8195 1.1 mrg (strong_ordering::operator weak_ordering): Likewise. 8196 1.1 mrg (operator<=>(unspecified, strong_ordering)): Likewise. 8197 1.1 mrg * testsuite/18_support/comparisons/categories/partialord.cc: New test. 8198 1.1 mrg * testsuite/18_support/comparisons/categories/strongord.cc: New test. 8199 1.1 mrg * testsuite/18_support/comparisons/categories/weakord.cc: New test. 8200 1.1 mrg 8201 1.1 mrg * include/std/ranges (iota_view::_Iterator): Fix typo in name of 8202 1.1 mrg __cpp_lib_three_way_comparison macro and use deduced return type for 8203 1.1 mrg operator<=>. 8204 1.1 mrg * testsuite/std/ranges/iota/iterator.cc: New test. 8205 1.1 mrg 8206 1.1 mrg 2020-02-07 Patrick Palka <ppalka (a] redhat.com> 8207 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 8208 1.1 mrg 8209 1.1 mrg Implement C++20 constrained algorithms 8210 1.1 mrg * include/Makefile.am: Add new header. 8211 1.1 mrg * include/Makefile.in: Regenerate. 8212 1.1 mrg * include/std/algorithm: Include <bits/ranges_algo.h>. 8213 1.1 mrg * include/bits/ranges_algo.h: New file. 8214 1.1 mrg * testsuite/25_algorithms/adjacent_find/constrained.cc: New test. 8215 1.1 mrg * testsuite/25_algorithms/all_of/constrained.cc: New test. 8216 1.1 mrg * testsuite/25_algorithms/any_of/constrained.cc: New test. 8217 1.1 mrg * testsuite/25_algorithms/binary_search/constrained.cc: New test. 8218 1.1 mrg * testsuite/25_algorithms/copy/constrained.cc: New test. 8219 1.1 mrg * testsuite/25_algorithms/copy_backward/constrained.cc: New test. 8220 1.1 mrg * testsuite/25_algorithms/copy_if/constrained.cc: New test. 8221 1.1 mrg * testsuite/25_algorithms/copy_n/constrained.cc: New test. 8222 1.1 mrg * testsuite/25_algorithms/count/constrained.cc: New test. 8223 1.1 mrg * testsuite/25_algorithms/count_if/constrained.cc: New test. 8224 1.1 mrg * testsuite/25_algorithms/equal/constrained.cc: New test. 8225 1.1 mrg * testsuite/25_algorithms/equal_range/constrained.cc: New test. 8226 1.1 mrg * testsuite/25_algorithms/fill/constrained.cc: New test. 8227 1.1 mrg * testsuite/25_algorithms/fill_n/constrained.cc: New test. 8228 1.1 mrg * testsuite/25_algorithms/find/constrained.cc: New test. 8229 1.1 mrg * testsuite/25_algorithms/find_end/constrained.cc: New test. 8230 1.1 mrg * testsuite/25_algorithms/find_first_of/constrained.cc: New test. 8231 1.1 mrg * testsuite/25_algorithms/find_if/constrained.cc: New test. 8232 1.1 mrg * testsuite/25_algorithms/find_if_not/constrained.cc: New test. 8233 1.1 mrg * testsuite/25_algorithms/for_each/constrained.cc: New test. 8234 1.1 mrg * testsuite/25_algorithms/generate/constrained.cc: New test. 8235 1.1 mrg * testsuite/25_algorithms/generate_n/constrained.cc: New test. 8236 1.1 mrg * testsuite/25_algorithms/heap/constrained.cc: New test. 8237 1.1 mrg * testsuite/25_algorithms/includes/constrained.cc: New test. 8238 1.1 mrg * testsuite/25_algorithms/inplace_merge/constrained.cc: New test. 8239 1.1 mrg * testsuite/25_algorithms/is_partitioned/constrained.cc: New test. 8240 1.1 mrg * testsuite/25_algorithms/is_permutation/constrained.cc: New test. 8241 1.1 mrg * testsuite/25_algorithms/is_sorted/constrained.cc: New test. 8242 1.1 mrg * testsuite/25_algorithms/is_sorted_until/constrained.cc: New test. 8243 1.1 mrg * testsuite/25_algorithms/lexicographical_compare/constrained.cc: New 8244 1.1 mrg test. 8245 1.1 mrg * testsuite/25_algorithms/lower_bound/constrained.cc: New test. 8246 1.1 mrg * testsuite/25_algorithms/max/constrained.cc: New test. 8247 1.1 mrg * testsuite/25_algorithms/max_element/constrained.cc: New test. 8248 1.1 mrg * testsuite/25_algorithms/merge/constrained.cc: New test. 8249 1.1 mrg * testsuite/25_algorithms/min/constrained.cc: New test. 8250 1.1 mrg * testsuite/25_algorithms/min_element/constrained.cc: New test. 8251 1.1 mrg * testsuite/25_algorithms/minmax/constrained.cc: New test. 8252 1.1 mrg * testsuite/25_algorithms/minmax_element/constrained.cc: New test. 8253 1.1 mrg * testsuite/25_algorithms/mismatch/constrained.cc: New test. 8254 1.1 mrg * testsuite/25_algorithms/move/constrained.cc: New test. 8255 1.1 mrg * testsuite/25_algorithms/move_backward/constrained.cc: New test. 8256 1.1 mrg * testsuite/25_algorithms/next_permutation/constrained.cc: New test. 8257 1.1 mrg * testsuite/25_algorithms/none_of/constrained.cc: New test. 8258 1.1 mrg * testsuite/25_algorithms/nth_element/constrained.cc: New test. 8259 1.1 mrg * testsuite/25_algorithms/partial_sort/constrained.cc: New test. 8260 1.1 mrg * testsuite/25_algorithms/partial_sort_copy/constrained.cc: New test. 8261 1.1 mrg * testsuite/25_algorithms/partition/constrained.cc: New test. 8262 1.1 mrg * testsuite/25_algorithms/partition_copy/constrained.cc: New test. 8263 1.1 mrg * testsuite/25_algorithms/partition_point/constrained.cc: New test. 8264 1.1 mrg * testsuite/25_algorithms/prev_permutation/constrained.cc: New test. 8265 1.1 mrg * testsuite/25_algorithms/remove/constrained.cc: New test. 8266 1.1 mrg * testsuite/25_algorithms/remove_copy/constrained.cc: New test. 8267 1.1 mrg * testsuite/25_algorithms/remove_copy_if/constrained.cc: New test. 8268 1.1 mrg * testsuite/25_algorithms/remove_if/constrained.cc: New test. 8269 1.1 mrg * testsuite/25_algorithms/replace/constrained.cc: New test. 8270 1.1 mrg * testsuite/25_algorithms/replace_copy/constrained.cc: New test. 8271 1.1 mrg * testsuite/25_algorithms/replace_copy_if/constrained.cc: New test. 8272 1.1 mrg * testsuite/25_algorithms/replace_if/constrained.cc: New test. 8273 1.1 mrg * testsuite/25_algorithms/reverse/constrained.cc: New test. 8274 1.1 mrg * testsuite/25_algorithms/reverse_copy/constrained.cc: New test. 8275 1.1 mrg * testsuite/25_algorithms/rotate/constrained.cc: New test. 8276 1.1 mrg * testsuite/25_algorithms/rotate_copy/constrained.cc: New test. 8277 1.1 mrg * testsuite/25_algorithms/search/constrained.cc: New test. 8278 1.1 mrg * testsuite/25_algorithms/search_n/constrained.cc: New test. 8279 1.1 mrg * testsuite/25_algorithms/set_difference/constrained.cc: New test. 8280 1.1 mrg * testsuite/25_algorithms/set_intersection/constrained.cc: New test. 8281 1.1 mrg * testsuite/25_algorithms/set_symmetric_difference/constrained.cc: New 8282 1.1 mrg test. 8283 1.1 mrg * testsuite/25_algorithms/set_union/constrained.cc: New test. 8284 1.1 mrg * testsuite/25_algorithms/shuffle/constrained.cc: New test. 8285 1.1 mrg * testsuite/25_algorithms/sort/constrained.cc: New test. 8286 1.1 mrg * testsuite/25_algorithms/stable_partition/constrained.cc: New test. 8287 1.1 mrg * testsuite/25_algorithms/stable_sort/constrained.cc: New test. 8288 1.1 mrg * testsuite/25_algorithms/swap_ranges/constrained.cc: New test. 8289 1.1 mrg * testsuite/25_algorithms/transform/constrained.cc: New test. 8290 1.1 mrg * testsuite/25_algorithms/unique/constrained.cc: New test. 8291 1.1 mrg * testsuite/25_algorithms/unique_copy/constrained.cc: New test. 8292 1.1 mrg * testsuite/25_algorithms/upper_bound/constrained.cc: New test. 8293 1.1 mrg 8294 1.1 mrg 2020-02-06 Jonathan Wakely <jwakely (a] redhat.com> 8295 1.1 mrg 8296 1.1 mrg * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Fix PR 8297 1.1 mrg number in comment. Fix indentation. 8298 1.1 mrg 8299 1.1 mrg * include/bits/stl_algobase.h (__iter_swap, __iter_swap<true>): Remove 8300 1.1 mrg redundant _GLIBCXX20_CONSTEXPR. 8301 1.1 mrg 8302 1.1 mrg * include/std/ranges (viewable_range): Replace decay_t with 8303 1.1 mrg remove_cvref_t (LWG 3375). 8304 1.1 mrg 8305 1.1 mrg 2020-02-05 Jonathan Wakely <jwakely (a] redhat.com> 8306 1.1 mrg 8307 1.1 mrg * include/bits/iterator_concepts.h (iter_reference_t) 8308 1.1 mrg (iter_rvalue_reference_t, iter_common_reference_t, indirect_result_t): 8309 1.1 mrg Remove workarounds for PR c++/67704. 8310 1.1 mrg * testsuite/24_iterators/aliases.cc: New test. 8311 1.1 mrg 8312 1.1 mrg 2020-02-05 Patrick Palka <ppalka (a] redhat.com> 8313 1.1 mrg 8314 1.1 mrg * include/bits/stl_iterator.h (move_iterator::move_iterator): Move __i 8315 1.1 mrg when initializing _M_current. 8316 1.1 mrg (move_iterator::base): Split into two overloads differing in 8317 1.1 mrg ref-qualifiers as in P1207R4 for C++20. 8318 1.1 mrg 8319 1.1 mrg 2020-02-04 Jonathan Wakely <jwakely (a] redhat.com> 8320 1.1 mrg 8321 1.1 mrg * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Un-define after 8322 1.1 mrg use. 8323 1.1 mrg 8324 1.1 mrg PR libstdc++/93562 8325 1.1 mrg * include/bits/unique_ptr.h (__uniq_ptr_impl::swap): Define. 8326 1.1 mrg (unique_ptr::swap, unique_ptr<T[], D>::swap): Call it. 8327 1.1 mrg * testsuite/20_util/unique_ptr/modifiers/93562.cc: New test. 8328 1.1 mrg 8329 1.1 mrg 2020-02-01 Andrew Burgess <andrew.burgess (a] embecosm.com> 8330 1.1 mrg 8331 1.1 mrg * configure: Regenerate. 8332 1.1 mrg 8333 1.1 mrg 2020-01-31 Patrick Palka <ppalka (a] redhat.com> 8334 1.1 mrg 8335 1.1 mrg * testsuite/24_iterators/range_operations/distance.cc: Do not assume 8336 1.1 mrg test_range::end() returns the same type as test_range::begin(). 8337 1.1 mrg * testsuite/24_iterators/range_operations/next.cc: Likewise. 8338 1.1 mrg * testsuite/24_iterators/range_operations/prev.cc: Likewise. 8339 1.1 mrg * testsuite/util/testsuite_iterators.h (__gnu_test::test_range::end): 8340 1.1 mrg Always return a sentinel<I>. 8341 1.1 mrg 8342 1.1 mrg 2020-01-29 Jonathan Wakely <jwakely (a] redhat.com> 8343 1.1 mrg 8344 1.1 mrg PR libstdc++/92895 8345 1.1 mrg * include/std/stop_token (stop_token::stop_possible()): Call new 8346 1.1 mrg _M_stop_possible() function. 8347 1.1 mrg (stop_token::stop_requested()): Do not use stop_possible(). 8348 1.1 mrg (stop_token::binary_semaphore): New class, as temporary stand-in for 8349 1.1 mrg std::binary_semaphore. 8350 1.1 mrg (stop_token::_Stop_cb::_M_callback): Add noexcept to type. 8351 1.1 mrg (stop_token::_Stop_cb::_M_destroyed, stop_token::_Stop_cb::_M_done): 8352 1.1 mrg New data members for symchronization with stop_callback destruction. 8353 1.1 mrg (stop_token::_Stop_cb::_Stop_cb): Make non-template. 8354 1.1 mrg (stop_token::_Stop_cb::_M_linked, stop_token::_Stop_cb::_S_execute): 8355 1.1 mrg Remove. 8356 1.1 mrg (stop_token::_Stop_cb::_M_run): New member function. 8357 1.1 mrg (stop_token::_Stop_state::_M_stopped, stop_token::_Stop_state::_M_mtx): 8358 1.1 mrg Remove. 8359 1.1 mrg (stop_token::_Stop_state::_M_owners): New data member to track 8360 1.1 mrg reference count for ownership. 8361 1.1 mrg (stop_token::_Stop_state::_M_value): New data member combining a 8362 1.1 mrg spinlock, the stop requested flag, and the reference count for 8363 1.1 mrg associated stop_source objects. 8364 1.1 mrg (stop_token::_Stop_state::_M_requester): New data member for 8365 1.1 mrg synchronization with stop_callback destruction. 8366 1.1 mrg (stop_token::_Stop_state::_M_stop_possible()): New member function. 8367 1.1 mrg (stop_token::_Stop_state::_M_stop_requested()): Inspect relevant bit 8368 1.1 mrg of _M_value. 8369 1.1 mrg (stop_token::_Stop_state::_M_add_owner) 8370 1.1 mrg (stop_token::_Stop_state::_M_release_ownership) 8371 1.1 mrg (stop_token::_Stop_state::_M_add_ssrc) 8372 1.1 mrg (stop_token::_Stop_state::_M_sub_ssrc): New member functions for 8373 1.1 mrg updating reference counts. 8374 1.1 mrg (stop_token::_Stop_state::_M_lock, stop_token::_Stop_state::_M_unlock) 8375 1.1 mrg (stop_token::_Stop_state::_M_lock, stop_token::_Stop_state::_M_unlock) 8376 1.1 mrg (stop_token::_Stop_state::_M_try_lock) 8377 1.1 mrg (stop_token::_Stop_state::_M_try_lock_and_stop) 8378 1.1 mrg (stop_token::_Stop_state::_M_do_try_lock): New member functions for 8379 1.1 mrg managing spinlock. 8380 1.1 mrg (stop_token::_Stop_state::_M_request_stop): Use atomic operations to 8381 1.1 mrg read and update state. Release lock while running callbacks. Use new 8382 1.1 mrg data members to synchronize with callback destruction. 8383 1.1 mrg (stop_token::_Stop_state::_M_remove_callback): Likewise. 8384 1.1 mrg (stop_token::_Stop_state::_M_register_callback): Use atomic operations 8385 1.1 mrg to read and update state. 8386 1.1 mrg (stop_token::_Stop_state_ref): Handle type to manage _Stop_state, 8387 1.1 mrg replacing shared_ptr. 8388 1.1 mrg (stop_source::stop_source(const stop_source&)): Update reference count. 8389 1.1 mrg (stop_source::operator=(const stop_source&)): Likewise. 8390 1.1 mrg (stop_source::~stop_source()): Likewise. 8391 1.1 mrg (stop_source::stop_source(stop_source&&)): Define as defaulted. 8392 1.1 mrg (stop_source::operator=(stop_source&&)): Establish postcondition on 8393 1.1 mrg parameter. 8394 1.1 mrg (stop_callback): Enforce preconditions on template parameter. Replace 8395 1.1 mrg base class with data member of new _Cb_impl type. 8396 1.1 mrg (stop_callback::stop_callback(const stop_token&, Cb&&)) 8397 1.1 mrg (stop_callback::stop_callback(stop_token&&, Cb&&)): Fix TOCTTOU race. 8398 1.1 mrg (stop_callback::_Cb_impl): New type wrapping _Callback member and 8399 1.1 mrg defining the _S_execute member function. 8400 1.1 mrg * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc: New 8401 1.1 mrg test. 8402 1.1 mrg * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: New test. 8403 1.1 mrg * testsuite/30_threads/stop_token/stop_callback/destroy.cc: New test. 8404 1.1 mrg * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc: 8405 1.1 mrg New test. 8406 1.1 mrg * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc: New 8407 1.1 mrg test. 8408 1.1 mrg * testsuite/30_threads/stop_token/stop_callback/invoke.cc: New test. 8409 1.1 mrg * testsuite/30_threads/stop_token/stop_source/assign.cc: New test. 8410 1.1 mrg * testsuite/30_threads/stop_token/stop_token/stop_possible.cc: New 8411 1.1 mrg test. 8412 1.1 mrg 8413 1.1 mrg * libsupc++/compare (__detail::__3way_builtin_ptr_cmp): Use 8414 1.1 mrg three_way_comparable_with. 8415 1.1 mrg (__detail::__3way_cmp_with): Remove workaround for fixed bug. 8416 1.1 mrg (compare_three_way::operator()): Remove redundant constraint from 8417 1.1 mrg requires-clause. 8418 1.1 mrg (__detail::_Synth3way::operator()): Use three_way_comparable_with 8419 1.1 mrg instead of workaround. 8420 1.1 mrg * testsuite/18_support/comparisons/object/93479.cc: Prune extra 8421 1.1 mrg output due to simplified constraints on compare_three_way::operator(). 8422 1.1 mrg 8423 1.1 mrg PR libstdc++/93479 8424 1.1 mrg * libsupc++/compare (__3way_builtin_ptr_cmp): Require <=> to be valid. 8425 1.1 mrg * testsuite/18_support/comparisons/object/93479.cc: New test. 8426 1.1 mrg 8427 1.1 mrg * testsuite/std/ranges/access/end.cc: Do not assume test_range::end() 8428 1.1 mrg returns the same type as test_range::begin(). Add comments. 8429 1.1 mrg * testsuite/std/ranges/access/rbegin.cc: Likewise. 8430 1.1 mrg * testsuite/std/ranges/access/rend.cc: Likewise. 8431 1.1 mrg * testsuite/std/ranges/range.cc: Do not assume the sentinel for 8432 1.1 mrg test_range is the same as its iterator type. 8433 1.1 mrg * testsuite/util/testsuite_iterators.h (test_range::sentinel): Add 8434 1.1 mrg operator- overloads to satisfy sized_sentinel_for when the iterator 8435 1.1 mrg satisfies random_access_iterator. 8436 1.1 mrg 8437 1.1 mrg 2020-01-28 Jonathan Wakely <jwakely (a] redhat.com> 8438 1.1 mrg 8439 1.1 mrg PR libstdc++/93470 8440 1.1 mrg * include/bits/refwrap.h (reference_wrapper::operator()): Restrict 8441 1.1 mrg static assertion to object types. 8442 1.1 mrg 8443 1.1 mrg PR libstdc++/93325 8444 1.1 mrg * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Use AC_SEARCH_LIBS for 8445 1.1 mrg clock_gettime instead of explicit glibc version check. 8446 1.1 mrg * configure: Regenerate. 8447 1.1 mrg 8448 1.1 mrg 2020-01-28 Martin Liska <mliska (a] suse.cz> 8449 1.1 mrg 8450 1.1 mrg PR libstdc++/93478 8451 1.1 mrg * include/std/atomic: Fix typo. 8452 1.1 mrg * include/std/optional: Likewise. 8453 1.1 mrg 8454 1.1 mrg 2020-01-27 Andrew Burgess <andrew.burgess (a] embecosm.com> 8455 1.1 mrg 8456 1.1 mrg * configure: Regenerate. 8457 1.1 mrg 8458 1.1 mrg 2020-01-27 Jonathan Wakely <jwakely (a] redhat.com> 8459 1.1 mrg 8460 1.1 mrg PR libstdc++/93426 8461 1.1 mrg * include/std/span (span): Fix deduction guide. 8462 1.1 mrg * testsuite/23_containers/span/deduction.cc: New test. 8463 1.1 mrg 8464 1.1 mrg 2020-01-24 Jonathan Wakely <jwakely (a] redhat.com> 8465 1.1 mrg 8466 1.1 mrg * libsupc++/compare (__cmp_cat::_Eq): Remove enumeration type. 8467 1.1 mrg (__cmp_cat::_Ord::equivalent): Add enumerator. 8468 1.1 mrg (__cmp_cat::_Ord::_Less, __cmp_cat::_Ord::_Greater): Rename to less 8469 1.1 mrg and greater. 8470 1.1 mrg (partial_ordering, weak_ordering, strong_ordering): Remove 8471 1.1 mrg constructors taking __cmp_cat::_Eq parameters. Use renamed 8472 1.1 mrg enumerators. 8473 1.1 mrg 8474 1.1 mrg 2020-01-24 Maciej W. Rozycki <macro (a] wdc.com> 8475 1.1 mrg 8476 1.1 mrg * acinclude.m4: Handle `--with-toolexeclibdir='. 8477 1.1 mrg * Makefile.in: Regenerate. 8478 1.1 mrg * aclocal.m4: Regenerate. 8479 1.1 mrg * configure: Regenerate. 8480 1.1 mrg * doc/Makefile.in: Regenerate. 8481 1.1 mrg * include/Makefile.in: Regenerate. 8482 1.1 mrg * libsupc++/Makefile.in: Regenerate. 8483 1.1 mrg * po/Makefile.in: Regenerate. 8484 1.1 mrg * python/Makefile.in: Regenerate. 8485 1.1 mrg * src/Makefile.in: Regenerate. 8486 1.1 mrg * src/c++11/Makefile.in: Regenerate. 8487 1.1 mrg * src/c++17/Makefile.in: Regenerate. 8488 1.1 mrg * src/c++98/Makefile.in: Regenerate. 8489 1.1 mrg * src/filesystem/Makefile.in: Regenerate. 8490 1.1 mrg * testsuite/Makefile.in: Regenerate. 8491 1.1 mrg 8492 1.1 mrg 2020-01-23 Alexandre Oliva <oliva (a] adacore.com> 8493 1.1 mrg 8494 1.1 mrg * crossconfig.m4 (GLIBCXX_CHECK_MATH_DECL): Reject macros. 8495 1.1 mrg * configure: Rebuild. 8496 1.1 mrg 8497 1.1 mrg * testsuite/27_io/fpos/mbstate_t/1.cc: Zero-init mbstate_t. 8498 1.1 mrg 8499 1.1 mrg 2020-01-23 Jonathan Wakely <jwakely (a] redhat.com> 8500 1.1 mrg 8501 1.1 mrg PR libstdc++/91947 8502 1.1 mrg * include/Makefile.am (${host_builddir}/largefile-config.h): Simplify 8503 1.1 mrg rule. 8504 1.1 mrg * include/Makefile.in: Regenerate. 8505 1.1 mrg 8506 1.1 mrg 2020-01-20 Jonathan Wakely <jwakely (a] redhat.com> 8507 1.1 mrg 8508 1.1 mrg * doc/xml/faq.xml: Fix grammar. 8509 1.1 mrg * doc/xml/manual/appendix_contributing.xml: Improve instructions. 8510 1.1 mrg * doc/xml/manual/spine.xml: Update copyright years. 8511 1.1 mrg * doc/html/*: Regenerate. 8512 1.1 mrg 8513 1.1 mrg 2020-01-19 Eric S. Raymond <esr (a] thyrsus.com> 8514 1.1 mrg 8515 1.1 mrg * doc/xml/faq.xml: Update for SVN -> Git transition. 8516 1.1 mrg * doc/xml/manual/appendix_contributing.xml: Likewise. 8517 1.1 mrg * doc/xml/manual/status_cxx1998.xml: Likewise. 8518 1.1 mrg * doc/xml/manual/status_cxx2011.xml: Likewise. 8519 1.1 mrg * doc/xml/manual/status_cxx2014.xml: Likewise. 8520 1.1 mrg * doc/xml/manual/status_cxx2017.xml: Likewise. 8521 1.1 mrg * doc/xml/manual/status_cxx2020.xml: Likewise. 8522 1.1 mrg * doc/xml/manual/status_cxxtr1.xml: Likewise. 8523 1.1 mrg * doc/xml/manual/status_cxxtr24733.xml: Likewise. 8524 1.1 mrg 8525 1.1 mrg 2020-01-18 Iain Sandoe <iain (a] sandoe.co.uk> 8526 1.1 mrg 8527 1.1 mrg * include/Makefile.am: Add coroutine to the std set. 8528 1.1 mrg * include/Makefile.in: Regenerated. 8529 1.1 mrg * include/std/coroutine: New file. 8530 1.1 mrg 8531 1.1 mrg 2020-01-17 Jonathan Wakely <jwakely (a] redhat.com> 8532 1.1 mrg 8533 1.1 mrg PR libstdc++/92376 8534 1.1 mrg * include/bits/c++config: Only do PSTL config when the header is 8535 1.1 mrg present, to fix freestanding. 8536 1.1 mrg * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation 8537 1.1 mrg functions if they were detected by configure. 8538 1.1 mrg 8539 1.1 mrg 2020-01-16 Kai-Uwe Eckhardt <kuehro (a] gmx.de> 8540 1.1 mrg Matthew Bauer <mjbauer95 (a] gmail.com> 8541 1.1 mrg Jonathan Wakely <jwakely (a] redhat.com> 8542 1.1 mrg 8543 1.1 mrg PR bootstrap/64271 (partial) 8544 1.1 mrg * config/os/bsd/netbsd/ctype_base.h (ctype_base::mask): Change type 8545 1.1 mrg to unsigned short. 8546 1.1 mrg (ctype_base::alpha, ctype_base::digit, ctype_base::xdigit) 8547 1.1 mrg (ctype_base::print, ctype_base::graph, ctype_base::alnum): Sync 8548 1.1 mrg definitions with NetBSD upstream. 8549 1.1 mrg (ctype_base::blank): Use _CTYPE_BL. 8550 1.1 mrg * config/os/bsd/netbsd/ctype_configure_char.cc (_C_ctype_): Remove 8551 1.1 mrg Declaration. 8552 1.1 mrg (ctype<char>::classic_table): Use _C_ctype_tab_ instead of _C_ctype_. 8553 1.1 mrg (ctype<char>::do_toupper, ctype<char>::do_tolower): Cast char 8554 1.1 mrg parameters to unsigned char. 8555 1.1 mrg * config/os/bsd/netbsd/ctype_inline.h (ctype<char>::is): Likewise. 8556 1.1 mrg 8557 1.1 mrg 2020-01-16 Franois Dumont <fdumont (a] gcc.gnu.org> 8558 1.1 mrg 8559 1.1 mrg PR libstdc++/91263 8560 1.1 mrg * include/bits/hashtable.h (_Hashtable<>): Make _Equality<> friend. 8561 1.1 mrg * include/bits/hashtable_policy.h: Include <bits/stl_algo.h>. 8562 1.1 mrg (_Equality_base): Remove. 8563 1.1 mrg (_Equality<>::_M_equal): Review implementation. Use 8564 1.1 mrg std::is_permutation. 8565 1.1 mrg * testsuite/23_containers/unordered_multiset/operators/1.cc 8566 1.1 mrg (Hash, Equal, test02, test03): New. 8567 1.1 mrg * testsuite/23_containers/unordered_set/operators/1.cc 8568 1.1 mrg (Hash, Equal, test02, test03): New. 8569 1.1 mrg 8570 1.1 mrg 2020-01-15 Jonathan Wakely <jwakely (a] redhat.com> 8571 1.1 mrg 8572 1.1 mrg PR libstdc++/93267 8573 1.1 mrg * include/bits/iterator_concepts.h (__max_diff_type, __max_size_type): 8574 1.1 mrg Move here from <bits/range_access.h> and define using __int128 when 8575 1.1 mrg available. 8576 1.1 mrg (__is_integer_like, __is_signed_integer_like): Move here from 8577 1.1 mrg <bits/range_access.h>. 8578 1.1 mrg (weakly_incrementable): Use __is_signed_integer_like. 8579 1.1 mrg * include/bits/range_access.h (__max_diff_type, __max_size_type) 8580 1.1 mrg (__is_integer_like, __is_signed_integer_like): Move to 8581 1.1 mrg <bits/iterator_concepts.h>. 8582 1.1 mrg (__make_unsigned_like_t): Move here from <ranges>. 8583 1.1 mrg * include/std/ranges (__make_unsigned_like_t): Move to 8584 1.1 mrg <bits/range_access.h>. 8585 1.1 mrg (iota_view): Replace using-directive with using-declarations. 8586 1.1 mrg * testsuite/std/ranges/iota/93267.cc: New test. 8587 1.1 mrg * testsuite/std/ranges/iota_view.cc: Move to new 'iota' sub-directory. 8588 1.1 mrg 8589 1.1 mrg 2020-01-13 Jonathan Wakely <jwakely (a] redhat.com> 8590 1.1 mrg 8591 1.1 mrg PR libstdc++/93244 8592 1.1 mrg * include/bits/fs_path.h (path::generic_string<C,A>) 8593 1.1 mrg [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Convert root-dir to forward-slash. 8594 1.1 mrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: Check 8595 1.1 mrg root-dir is converted to forward slash in generic pathname. 8596 1.1 mrg * testsuite/27_io/filesystem/path/generic/utf.cc: New test. 8597 1.1 mrg * testsuite/27_io/filesystem/path/generic/wchar_t.cc: New test. 8598 1.1 mrg 8599 1.1 mrg PR libstdc++/58605 8600 1.1 mrg * include/bits/atomic_base.h (__cpp_lib_atomic_value_initialization): 8601 1.1 mrg Define. 8602 1.1 mrg (__atomic_flag_base, __atomic_base, __atomic_base<_PTp*>) 8603 1.1 mrg (__atomic_float): Add default member initializer for C++20. 8604 1.1 mrg * include/std/atomic (atomic): Likewise. 8605 1.1 mrg (atomic::atomic()): Remove noexcept-specifier on default constructor. 8606 1.1 mrg * include/std/version (__cpp_lib_atomic_value_initialization): Define. 8607 1.1 mrg * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error line 8608 1.1 mrg number. 8609 1.1 mrg * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise. 8610 1.1 mrg * testsuite/29_atomics/atomic/cons/value_init.cc: New test. 8611 1.1 mrg * testsuite/29_atomics/atomic_flag/cons/value_init.cc: New test. 8612 1.1 mrg * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Adjust 8613 1.1 mrg expected result for is_trivially_default_constructible. 8614 1.1 mrg * testsuite/29_atomics/atomic_float/requirements.cc: Likewise. 8615 1.1 mrg * testsuite/29_atomics/atomic_float/value_init.cc: New test. 8616 1.1 mrg * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise. 8617 1.1 mrg * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise. 8618 1.1 mrg * testsuite/29_atomics/atomic_integral/cons/value_init.cc 8619 1.1 mrg * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Adjust 8620 1.1 mrg expected results for is_trivially_default_constructible. 8621 1.1 mrg * testsuite/util/testsuite_common_types.h (has_trivial_dtor): Add 8622 1.1 mrg new test generator. 8623 1.1 mrg 8624 1.1 mrg 2020-01-10 Jonathan Wakely <jwakely (a] redhat.com> 8625 1.1 mrg 8626 1.1 mrg * testsuite/util/testsuite_iterators.h: Improve comment. 8627 1.1 mrg 8628 1.1 mrg * testsuite/25_algorithms/equal/deque_iterators/1.cc: Don't use C++11 8629 1.1 mrg initialization syntax. 8630 1.1 mrg 8631 1.1 mrg PR libstdc++/92285 8632 1.1 mrg * include/bits/streambuf_iterator.h (istreambuf_iterator): Make type 8633 1.1 mrg of base class independent of __cplusplus value. 8634 1.1 mrg [__cplusplus < 201103L] (istreambuf_iterator::reference): Override the 8635 1.1 mrg type defined in the base class 8636 1.1 mrg * testsuite/24_iterators/istreambuf_iterator/92285.cc: New test. 8637 1.1 mrg * testsuite/24_iterators/istreambuf_iterator/requirements/ 8638 1.1 mrg base_classes.cc: Adjust expected base class for C++98. 8639 1.1 mrg 8640 1.1 mrg 2020-01-09 Olivier Hainque <hainque (a] adacore.com> 8641 1.1 mrg 8642 1.1 mrg * doc/xml/manual/appendix_contributing.xml: Document _C2 8643 1.1 mrg as a reserved identifier, by VxWorks. 8644 1.1 mrg * include/bits/stl_map.h: Rename _C2 template typenames as _Cmp2. 8645 1.1 mrg * include/bits/stl_multimap.h: Likewise. 8646 1.1 mrg 8647 1.1 mrg 2020-01-09 Jonathan Wakely <jwakely (a] redhat.com> 8648 1.1 mrg 8649 1.1 mrg * include/ext/extptr_allocator.h (_ExtPtr_allocator::operator==) 8650 1.1 mrg (_ExtPtr_allocator::operator!=): Add missing const qualifiers. 8651 1.1 mrg * include/ext/pointer.h (readable_traits<_Pointer_adapter<S>>): Add 8652 1.1 mrg partial specialization to disambiguate the two constrained 8653 1.1 mrg specializations. 8654 1.1 mrg 8655 1.1 mrg * include/experimental/type_traits (experimental::is_pod_v): Disable 8656 1.1 mrg -Wdeprecated-declarations warnings around reference to std::is_pod. 8657 1.1 mrg * include/std/type_traits (is_pod_v): Likewise. 8658 1.1 mrg * testsuite/18_support/max_align_t/requirements/2.cc: Also check 8659 1.1 mrg is_standard_layout and is_trivial. Do not check is_pod for C++20. 8660 1.1 mrg * testsuite/20_util/is_pod/requirements/explicit_instantiation.cc: 8661 1.1 mrg Add -Wno-deprecated for C++20. 8662 1.1 mrg * testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise. 8663 1.1 mrg * testsuite/20_util/is_pod/value.cc: Likewise. 8664 1.1 mrg * testsuite/experimental/type_traits/value.cc: Likewise. 8665 1.1 mrg 8666 1.1 mrg 2020-01-09 JeanHeyd "ThePhD" Meneide <phdofthehouse (a] gmail.com> 8667 1.1 mrg 8668 1.1 mrg * include/bits/c++config (_GLIBCXX20_DEPRECATED): Add new macro. 8669 1.1 mrg * include/std/type_traits (is_pod, is_pod_v): Deprecate for C++20. 8670 1.1 mrg * testuite/20_util/is_pod/deprecated-2a.cc: New test. 8671 1.1 mrg 8672 1.1 mrg 2020-01-09 Jonathan Wakely <jwakely (a] redhat.com> 8673 1.1 mrg 8674 1.1 mrg PR libstdc++/93205 8675 1.1 mrg * include/bits/random.h (operator>>): Check stream operation succeeds. 8676 1.1 mrg * include/bits/random.tcc (operator<<): Remove redundant __ostream_type 8677 1.1 mrg typedefs. 8678 1.1 mrg (operator>>): Remove redundant __istream_type typedefs. Check stream 8679 1.1 mrg operations succeed. 8680 1.1 mrg (__extract_params): New function to fill a vector from a stream. 8681 1.1 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line. 8682 1.1 mrg 8683 1.1 mrg PR libstdc++/93208 8684 1.1 mrg * config/abi/pre/gnu.ver: Add new exports. 8685 1.1 mrg * include/std/memory_resource (memory_resource::~memory_resource()): 8686 1.1 mrg Do not define inline. 8687 1.1 mrg (monotonic_buffer_resource::~monotonic_buffer_resource()): Likewise. 8688 1.1 mrg * src/c++17/memory_resource.cc (memory_resource::~memory_resource()): 8689 1.1 mrg Define. 8690 1.1 mrg (monotonic_buffer_resource::~monotonic_buffer_resource()): Define. 8691 1.1 mrg * testsuite/20_util/monotonic_buffer_resource/93208.cc: New test. 8692 1.1 mrg 8693 1.1 mrg 2020-01-09 Franois Dumont <fdumont (a] gcc.gnu.org> 8694 1.1 mrg 8695 1.1 mrg PR libstdc++/92124 8696 1.1 mrg * include/bits/hashtable.h (_Hashtable<>::__alloc_node_gen_t): New 8697 1.1 mrg template alias. 8698 1.1 mrg (_Hashtable<>::__fwd_value_for): New. 8699 1.1 mrg (_Hashtable<>::_M_assign_elements<>): Remove _NodeGenerator template 8700 1.1 mrg parameter. 8701 1.1 mrg (_Hashtable<>::_M_assign<>): Add _Ht template parameter. 8702 1.1 mrg (_Hashtable<>::operator=(const _Hashtable<>&)): Adapt. 8703 1.1 mrg (_Hashtable<>::_M_move_assign): Adapt. Replace std::move_if_noexcept 8704 1.1 mrg with std::move. 8705 1.1 mrg (_Hashtable<>::_Hashtable(const _Hashtable&)): Adapt. 8706 1.1 mrg (_Hashtable<>::_Hashtable(const _Hashtable&, const allocator_type&)): 8707 1.1 mrg Adapt. 8708 1.1 mrg (_Hashtable<>::_Hashtable(_Hashtable&&, const allocator_type&)): 8709 1.1 mrg Adapt. 8710 1.1 mrg * testsuite/23_containers/unordered_set/92124.cc: New. 8711 1.1 mrg 8712 1.1 mrg 2020-01-08 Jonathan Wakely <jwakely (a] redhat.com> 8713 1.1 mrg 8714 1.1 mrg PR libstdc++/93201 8715 1.1 mrg * src/c++17/fs_ops.cc (do_remove_all): New function implementing more 8716 1.1 mrg detailed error reporting for remove_all. Check result of recursive 8717 1.1 mrg call before incrementing iterator. 8718 1.1 mrg (remove_all(const path&), remove_all(const path&, error_code&)): Use 8719 1.1 mrg do_remove_all. 8720 1.1 mrg * src/filesystem/ops.cc (remove_all(const path&, error_code&)): Check 8721 1.1 mrg result of recursive call before incrementing iterator. 8722 1.1 mrg * testsuite/27_io/filesystem/operations/remove_all.cc: Check errors 8723 1.1 mrg are reported correctly. 8724 1.1 mrg * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise. 8725 1.1 mrg 8726 1.1 mrg 2020-01-07 Thomas Rodgers <trodgers (a] redhat.com> 8727 1.1 mrg 8728 1.1 mrg * include/std/condition_variable 8729 1.1 mrg (condition_variable_any::wait_on): Rename to match current draft 8730 1.1 mrg standard. 8731 1.1 mrg (condition_variable_any::wait_on_until): Likewise. 8732 1.1 mrg (condition_variable_any::wait_on_for): Likewise. 8733 1.1 mrg * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc: 8734 1.1 mrg Adjust tests to account for renamed methods. 8735 1.1 mrg 8736 1.1 mrg 2020-01-07 Franois Dumont <fdumont (a] gcc.gnu.org> 8737 1.1 mrg 8738 1.1 mrg PR libstdc++/92124 8739 1.1 mrg * include/bits/stl_tree.h 8740 1.1 mrg (_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Replace 8741 1.1 mrg std::move_if_noexcept by std::move. 8742 1.1 mrg * testsuite/23_containers/map/92124.cc: New. 8743 1.1 mrg * testsuite/23_containers/set/92124.cc: New. 8744 1.1 mrg 8745 1.1 mrg 2020-01-06 Jonathan Wakely <jwakely (a] redhat.com> 8746 1.1 mrg 8747 1.1 mrg * include/std/stop_token (stop_token): Remove operator!= (LWG 3254). 8748 1.1 mrg (stop_source): Likewise (LWG 3362). 8749 1.1 mrg * testsuite/30_threads/stop_token/stop_source.cc: Test equality 8750 1.1 mrg comparisons. 8751 1.1 mrg 8752 1.1 mrg * include/bits/stl_algobase.h (__is_byte_iter, __min_cmp) 8753 1.1 mrg (lexicographical_compare_three_way): Do not depend on 8754 1.1 mrg __cpp_lib_concepts. 8755 1.1 mrg * include/std/version (__cpp_lib_three_way_comparison): Only define 8756 1.1 mrg when __cpp_lib_concepts is defined. 8757 1.1 mrg * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise. 8758 1.1 mrg 8759 1.1 mrg 2020-01-03 Jonathan Wakely <jwakely (a] redhat.com> 8760 1.1 mrg 8761 1.1 mrg * include/bits/stl_algobase.h (lexicographical_compare_three_way): 8762 1.1 mrg Only define four-argument overload when __cpp_lib_concepts is defined. 8763 1.1 mrg 8764 1.1 mrg 2020-01-01 John David Anglin <danglin (a] gcc.gnu.org> 8765 1.1 mrg 8766 1.1 mrg * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. 8767 1.1 mrg 8768 1.1 mrg 2020-01-01 Jakub Jelinek <jakub (a] redhat.com> 8769 1.1 mrg 8770 1.1 mrg Update copyright years. 8771 1.1 mrg 8773 1.1 mrg Copyright (C) 2020 Free Software Foundation, Inc. 8774 1.1 mrg 8775 1.1 mrg Copying and distribution of this file, with or without modification, 8776 1.1 mrg are permitted in any medium without royalty provided the copyright 8777 notice and this notice are preserved. 8778