ChangeLog-2020 revision 1.1 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