1 2021-02-11 Jonathan Wakely <jwakely@redhat.com>
3 * libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define
5 * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new
6 macro instead of _GLIBCXX_EH_PTR_COMPAT.
7 (operator==): Likewise.
9 2021-02-11 Jonathan Wakely <jwakely@redhat.com>
12 * doc/xml/manual/status_cxx2011.xml: Document when support
14 * doc/xml/manual/status_cxx2014.xml: Likewise.
15 * doc/xml/manual/status_cxx2017.xml: Likewise.
16 * doc/html/manual/status.html: Regenerate.
18 2021-02-10 Jonathan Wakely <jwakely@redhat.com>
21 * src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
23 2021-02-10 Jonathan Wakely <jwakely@redhat.com>
25 * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent)
26 (fs::remove): Use std::system_category() for error codes from
28 * src/filesystem/ops.cc (fs::create_hard_link, fs::remove):
31 2021-02-10 Jonathan Wakely <jwakely@redhat.com>
33 * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo
34 in __MINGW32__ macro name.
35 * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
36 * testsuite/27_io/filesystem/path/generation/proximate.cc:
38 * testsuite/27_io/filesystem/path/generation/relative.cc:
40 * testsuite/util/testsuite_fs.h: Likewise.
42 2021-02-09 François Dumont <fdumont@gcc.gnu.org>
44 * include/bits/stl_tree.h
45 (__has_is_transparent, __has_is_transparent_t): Move...
46 * include/bits/stl_function.h: ...here.
47 * include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New..
48 (_Hashtable_base<>::_M_equals_tr): New.
49 * include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr,
50 _Hashtable<>::_M_equal_range_tr): New member function templates to perform
52 (_Hashtable<>::_M_find_before_node_tr): New.
53 (_Hashtable<>::_M_find_node_tr): New.
54 * include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>,
55 unordered_map::contains<>, unordered_map::equal_range<>): New member function
56 templates to perform heterogeneous lookup.
57 (unordered_multimap::find<>, unordered_multimap::count<>,
58 unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise.
59 * include/bits/unordered_set.h (unordered_set::find<>, unordered_set::count<>,
60 unordered_set::contains<>, unordered_set::equal_range<>): Likewise.
61 (unordered_multiset::find<>, unordered_multiset::count<>,
62 unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise.
63 * include/debug/unordered_map
64 (unordered_map::find<>, unordered_map::equal_range<>): Likewise.
65 (unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise.
66 * include/debug/unordered_set
67 (unordered_set::find<>, unordered_set::equal_range<>): Likewise.
68 (unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise.
69 * testsuite/23_containers/unordered_map/operations/1.cc: New test.
70 * testsuite/23_containers/unordered_multimap/operations/1.cc: New test.
71 * testsuite/23_containers/unordered_multiset/operations/1.cc: New test.
72 * testsuite/23_containers/unordered_set/operations/1.cc: New test.
74 2021-02-09 François Dumont <fdumont@gcc.gnu.org>
76 * include/bits/stl_deque.h
77 (std::operator-(deque::iterator, deque::iterator)): Replace if/then with
80 2021-02-09 Jonathan Wakely <jwakely@redhat.com>
82 * testsuite/27_io/filesystem/operations/remove_all.cc: Remove
83 test directory after making it writable again.
84 * testsuite/experimental/filesystem/operations/remove_all.cc:
87 2021-02-09 Jonathan Wakely <jwakely@redhat.com>
90 * include/std/coroutine (coroutine_handle<P>::from_address): Add
93 2021-02-09 Vladimir Vishnevsky <vv.os.swe@gmail.com>
95 * include/ext/stdio_sync_filebuf.h: Remove unused <unistd.h>.
96 * src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t.
98 2021-02-09 Jakub Jelinek <jakub@redhat.com>
101 * include/bits/basic_string.tcc (basic_string::_M_replace): When __s
102 points to the characters moved by earlier _S_move, compute the source
103 address using expression based on the __p pointer rather than __s
106 2021-02-03 Jonathan Wakely <jwakely@redhat.com>
108 * testsuite/19_diagnostics/error_code/operators/not_equal.cc:
109 Add comparison with same category and different values.
110 * testsuite/19_diagnostics/error_code/operators/less.cc:
111 Likewise. Fix comparison involving different categories.
112 * testsuite/19_diagnostics/error_code/operators/three_way.cc:
114 * testsuite/19_diagnostics/error_condition/operators/less.cc:
116 * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
119 2021-02-03 yaozhongxiao <yaozhongxiao@linux.alibaba.com>
121 * include/experimental/bits/simd_neon.h: Replace repeated vpadd
122 calls with a single vaddv for aarch64.
124 2021-02-03 Matthias Kretz <kretz@kde.org>
126 * testsuite/Makefile.am: Warn about the workaround. Add
127 -fno-tree-vrp to CXXFLAGS passed to the check_simd script.
128 Improve initial user feedback from make check-simd.
129 * testsuite/Makefile.in: Regenerated.
131 2021-02-03 Matthias Kretz <kretz@kde.org>
133 * include/experimental/bits/simd.h: Add __detail::_Minimum and
134 __detail::_Maximum to use them as _BinaryOperation to _S_reduce.
135 Add hmin and hmax overloads for simd and const_where_expression.
136 * include/experimental/bits/simd_scalar.h
137 (_SimdImplScalar::_S_reduce): Make unused _BinaryOperation
138 parameter const-ref to allow calling _S_reduce with an rvalue.
139 * testsuite/experimental/simd/tests/reductions.cc: Add tests for
140 hmin and hmax. Since the compiler statically determined that all
141 tests pass, repeat the test after a call to make_value_unknown.
143 2021-02-03 Matthias Kretz <kretz@kde.org>
145 * testsuite/experimental/simd/tests/bits/verify.h (verify): Add
146 instruction pointer data member. Ensure that the `if (m_failed)`
147 branch is always inlined into the calling code. The body of the
148 conditional can still be a function call. Move the get_ip call
149 into the verify ctor to simplify the ctor calls.
150 (COMPARE): Don't mention the use of all_of for reduction of a
151 simd_mask. It only distracts from the real issue.
153 2021-02-03 Matthias Kretz <kretz@kde.org>
155 * testsuite/experimental/simd/driver.sh: Abstract reading test
156 options into read_src_option function. Read skip, only,
157 expensive, and xfail via read_src_option. Add timeout and
158 timeout-factor options and adjust timeout variable accordingly.
159 * testsuite/experimental/simd/tests/loadstore.cc: Set
162 2021-02-03 Matthias Kretz <kretz@kde.org>
164 * testsuite/experimental/simd/driver.sh: When handling the pipe
165 to log (and on verbose to stdout) count the lines. If it exceeds
166 1000 log the issue and exit 125, which is then handled as a
169 2021-02-03 Matthias Kretz <kretz@kde.org>
171 * testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip:
172 markup for long double on powerpc64*.
174 2021-02-03 Matthias Kretz <kretz@kde.org>
176 * include/experimental/bits/simd.h: Add __have_power10vec
177 conditional on _ARCH_PWR10.
178 * include/experimental/bits/simd_builtin.h: Forward declare
179 _MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is
181 (_MaskImplBuiltin::_S_some_of): Call _S_popcount from the
182 _SuperImpl for optimizations and correctness.
183 * include/experimental/bits/simd_ppc.h: Add _MaskImplPpc.
184 (_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10.
185 Otherwise, for >=int use -vec_sums divided by a sizeof factor.
186 For <int use -vec_sums(vec_sum4s(...)) to sum all mask entries.
188 2021-02-03 Matthias Kretz <kretz@kde.org>
190 * testsuite/experimental/simd/driver.sh: Remove executable on
191 SIGINT. Process compiler and test executable output: In verbose
192 mode print messages immediately, limited to 1000 lines and
193 breaking long lines to below $COLUMNS (or 1024 if not set).
194 Communicating the exit status of the compiler / test with the
195 necessary pipe is done via a message through stdout/-in.
197 2021-02-03 Matthias Kretz <kretz@kde.org>
199 * testsuite/Makefile.am: Ensure .simd.summary is empty before
200 collecting a new summary.
201 * testsuite/Makefile.in: Regenerate.
203 2021-02-03 Matthias Kretz <kretz@kde.org>
205 * testsuite/experimental/simd/generate_makefile.sh: Use
206 different variables internally than documented for user
207 overrides. This makes internal append/prepend work as intended.
209 2021-02-03 Matthias Kretz <kretz@kde.org>
211 * testsuite/experimental/simd/driver.sh (verify_test): Print
212 test output on run xfail. Do not repeat lines from the log that
213 were already printed on stdout.
214 (test_selector): Make the compiler flags pattern usable as a
216 (toplevel): Trap on SIGINT and remove the log and sum files.
217 Call timout with --foreground to quickly terminate on SIGINT.
218 * testsuite/experimental/simd/generate_makefile.sh: Simplify run
219 targets via target patterns. Default DRIVEROPTS to -v for run
220 targets. Remove log and sum files after completion of the run
221 target (so that it's always recompiled).
222 Place help text into text file for reasonable 'make help'
225 2021-02-03 Matthias Kretz <kretz@kde.org>
227 * include/experimental/bits/simd.h: Remove unnecessary static
228 assertion. Allow sizeof(8) integer __intrinsic_type to enable
229 the necessary mask type.
231 2021-02-03 Matthias Kretz <kretz@kde.org>
233 * include/experimental/bits/simd.h: Let __intrinsic_type<long
234 double, N> be valid if sizeof(long double) == sizeof(double) and
235 use a __vector double as member type.
237 2021-02-03 Matthias Kretz <kretz@kde.org>
239 * include/experimental/bits/simd.h (__is_intrinsic_type): New
240 internal type trait. Alias for __is_vector_type on x86.
241 (_VectorTraitsImpl): Enable for __intrinsic_type in addition for
243 (__intrin_bitcast): Allow casting to & from vector & intrinsic
245 (__intrinsic_type): Explicitly specialize for NEON intrinsic
248 2021-02-03 Matthias Kretz <kretz@kde.org>
250 * testsuite/experimental/simd/driver.sh: Implement skip, only,
251 expensive, and xfail markers. They can select on type, ABI tag
252 subset number, target-triplet, and compiler flags.
253 * testsuite/experimental/simd/generate_makefile.sh: The summary
254 now includes lines for unexpected passes and expected failures.
255 If the skip or only markers are only conditional on the type, do
256 not generate rules for those types.
257 * testsuite/experimental/simd/tests/abs.cc: Mark test expensive
258 for ABI tag subsets 1-9.
259 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
260 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
261 * testsuite/experimental/simd/tests/casts.cc: Ditto.
262 * testsuite/experimental/simd/tests/generator.cc: Ditto.
263 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
264 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
265 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
266 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
267 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
268 * testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto.
269 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
270 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
271 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
272 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
273 * testsuite/experimental/simd/tests/operators.cc: Ditto.
274 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
275 * testsuite/experimental/simd/tests/simd.cc: Ditto.
276 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
277 * testsuite/experimental/simd/tests/splits.cc: Ditto.
278 * testsuite/experimental/simd/tests/where.cc: Ditto.
279 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In
280 addition replace "test only floattypes" marker by unconditional
281 "float|double|ldouble" only marker.
282 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
283 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
284 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
286 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
287 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
288 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
289 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
290 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
291 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
292 * testsuite/experimental/simd/tests/sincos.cc: Ditto. In
293 addition, xfail on run because the reference data is missing.
295 2021-02-02 Jonathan Wakely <jwakely@redhat.com>
297 * doc/xml/manual/status_cxx2011.xml: Remove stray table cell.
298 * doc/xml/manual/status_cxx2014.xml: Likewise.
299 * doc/xml/manual/status_cxx2017.xml: Likewise.
300 * doc/html/manual/status.html: Regenerate.
302 2021-02-01 François Dumont <fdumont@gcc.gnu.org>
305 * include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)):
306 Return 0 if both iterators are value-initialized.
307 * testsuite/23_containers/deque/70303.cc: New test.
308 * testsuite/23_containers/vector/70303.cc: New test.
310 2021-02-01 Jonathan Wakely <jwakely@redhat.com>
312 * doc/xml/manual/status_cxx2011.xml: Update std::call_once
314 * doc/xml/manual/status_cxx2014.xml: Likewise.
315 * doc/xml/manual/status_cxx2017.xml: Likewise. Update
316 std::from_chars and std::to_chars status. Fix formatting.
317 * doc/html/manual/status.html: Regenerate.
319 2021-01-28 Jonathan Wakely <jwakely@redhat.com>
321 * include/experimental/bits/numeric_traits.h: Update copyright
323 * include/experimental/bits/simd.h: Likewise.
324 * include/experimental/bits/simd_builtin.h: Likewise.
325 * include/experimental/bits/simd_converter.h: Likewise.
326 * include/experimental/bits/simd_detail.h: Likewise.
327 * include/experimental/bits/simd_fixed_size.h: Likewise.
328 * include/experimental/bits/simd_math.h: Likewise.
329 * include/experimental/bits/simd_neon.h: Likewise.
330 * include/experimental/bits/simd_ppc.h: Likewise.
331 * include/experimental/bits/simd_scalar.h: Likewise.
332 * include/experimental/bits/simd_x86.h: Likewise.
333 * include/experimental/bits/simd_x86_conversions.h: Likewise.
334 * include/experimental/simd: Likewise.
335 * testsuite/experimental/simd/*: Likewise.
337 2021-01-27 Jonathan Wakely <jwakely@redhat.com>
339 * doc/xml/manual/status_cxx2017.xml: Replace invalid entity.
340 * doc/html/*: Regenerate.
342 2021-01-27 Jonathan Wakely <jwakely@redhat.com>
344 * testsuite/experimental/simd/generate_makefile.sh: Use printf
345 instead of echo when printing escape characters.
347 2021-01-27 Matthias Kretz <kretz@kde.org>
349 * scripts/check_simd: New file. This script is called from the
350 the check-simd target. It determines a set of compiler flags and
351 simulator setups for calling generate_makefile.sh and passes the
352 information back to the check-simd target, which recurses to the
354 * scripts/create_testsuite_files: Remove files below simd/tests/
355 from testsuite_files and place them in testsuite_files_simd.
356 * testsuite/Makefile.am: Add testsuite_files_simd. Add
358 * testsuite/Makefile.in: Regenerate.
359 * testsuite/experimental/simd/driver.sh: New file. This script
360 compiles and runs a given simd test, logging its output and
361 status. It uses the timeout command to implement compile and
363 * testsuite/experimental/simd/generate_makefile.sh: New file.
364 This script generates a Makefile which uses driver.sh to compile
365 and run the tests and collect the logs into a single log file.
366 * testsuite/experimental/simd/tests/abs.cc: New file. Tests
368 * testsuite/experimental/simd/tests/algorithms.cc: New file.
369 Tests min/max(simd, simd).
370 * testsuite/experimental/simd/tests/bits/conversions.h: New
371 file. Contains functions to support tests involving conversions.
372 * testsuite/experimental/simd/tests/bits/make_vec.h: New file.
373 Support functions make_mask and make_vec.
374 * testsuite/experimental/simd/tests/bits/mathreference.h: New
375 file. Support functions to supply precomputed math function
377 * testsuite/experimental/simd/tests/bits/metahelpers.h: New
378 file. Support code for SFINAE testing.
379 * testsuite/experimental/simd/tests/bits/simd_view.h: New file.
380 * testsuite/experimental/simd/tests/bits/test_values.h: New
381 file. Test functions to easily drive a test with simd objects
382 initialized from a given list of values and a range of random
384 * testsuite/experimental/simd/tests/bits/ulp.h: New file.
385 Support code to determine the ULP distance of simd objects.
386 * testsuite/experimental/simd/tests/bits/verify.h: New file.
387 Test framework for COMPARE'ing simd objects and instantiating
388 the test templates with value_type and ABI tag.
389 * testsuite/experimental/simd/tests/broadcast.cc: New file. Test
391 * testsuite/experimental/simd/tests/casts.cc: New file. Test
393 * testsuite/experimental/simd/tests/fpclassify.cc: New file.
394 Test floating-point classification functions.
395 * testsuite/experimental/simd/tests/frexp.cc: New file. Test
397 * testsuite/experimental/simd/tests/generator.cc: New file. Test
398 simd generator constructor.
399 * testsuite/experimental/simd/tests/hypot3_fma.cc: New file.
400 Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim).
401 * testsuite/experimental/simd/tests/integer_operators.cc: New
402 file. Test integer operators.
403 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
404 New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and
406 * testsuite/experimental/simd/tests/loadstore.cc: New file. Test
407 (converting) simd loads and stores.
408 * testsuite/experimental/simd/tests/logarithm.cc: New file. Test
410 * testsuite/experimental/simd/tests/mask_broadcast.cc: New file.
411 Test simd_mask broadcasts.
412 * testsuite/experimental/simd/tests/mask_conversions.cc: New
413 file. Test simd_mask conversions.
414 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New
415 file. Test simd_mask implicit conversions.
416 * testsuite/experimental/simd/tests/mask_loadstore.cc: New file.
417 Test simd_mask loads and stores.
418 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: New
419 file. Test simd_mask operators convert as specified.
420 * testsuite/experimental/simd/tests/mask_operators.cc: New file.
421 Test simd_mask compares, subscripts, and negation.
422 * testsuite/experimental/simd/tests/mask_reductions.cc: New
423 file. Test simd_mask reductions.
424 * testsuite/experimental/simd/tests/math_1arg.cc: New file. Test
425 1-arg math functions on simd.
426 * testsuite/experimental/simd/tests/math_2arg.cc: New file. Test
427 2-arg math functions on simd.
428 * testsuite/experimental/simd/tests/operator_cvt.cc: New file.
429 Test implicit conversions on simd binary operators behave as
431 * testsuite/experimental/simd/tests/operators.cc: New file. Test
432 simd compares, subscripts, not, unary minus, plus, minus,
433 multiplies, divides, increment, and decrement.
434 * testsuite/experimental/simd/tests/reductions.cc: New file.
436 * testsuite/experimental/simd/tests/remqo.cc: New file. Test
438 * testsuite/experimental/simd/tests/simd.cc: New file. Basic
439 sanity checks of simd types.
440 * testsuite/experimental/simd/tests/sincos.cc: New file. Test
441 sin(simd) and cos(simd).
442 * testsuite/experimental/simd/tests/split_concat.cc: New file.
443 Test split(simd) and concat(simd, simd).
444 * testsuite/experimental/simd/tests/splits.cc: New file. Test
446 * testsuite/experimental/simd/tests/trigonometric.cc: New file.
447 Test remaining trigonometric functions on simd.
448 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New
449 file. Test trunc(simd), ceil(simd), and floor(simd).
450 * testsuite/experimental/simd/tests/where.cc: New file. Test
451 masked operations using where.
453 2021-01-27 Matthias Kretz <kretz@kde.org>
455 * doc/xml/manual/status_cxx2017.xml: Add implementation status
456 of the Parallelism TS 2. Document implementation-defined types
458 * include/Makefile.am: Add new headers.
459 * include/Makefile.in: Regenerate.
460 * include/experimental/simd: New file. New header for
462 * include/experimental/bits/numeric_traits.h: New file.
463 Implementation of P1841R1 using internal naming. Addition of
464 missing IEC559 functionality query.
465 * include/experimental/bits/simd.h: New file. Definition of the
466 public simd interfaces and general implementation helpers.
467 * include/experimental/bits/simd_builtin.h: New file.
468 Implementation of the _VecBuiltin simd_abi.
469 * include/experimental/bits/simd_converter.h: New file. Generic
471 * include/experimental/bits/simd_detail.h: New file. Internal
472 macros for the simd implementation.
473 * include/experimental/bits/simd_fixed_size.h: New file. Simd
474 fixed_size ABI specific implementations.
475 * include/experimental/bits/simd_math.h: New file. Math
477 * include/experimental/bits/simd_neon.h: New file. Simd NEON
478 specific implementations.
479 * include/experimental/bits/simd_ppc.h: New file. Implement bit
480 shifts to avoid invalid results for integral types smaller than
482 * include/experimental/bits/simd_scalar.h: New file. Simd scalar
483 ABI specific implementations.
484 * include/experimental/bits/simd_x86.h: New file. Simd x86
485 specific implementations.
486 * include/experimental/bits/simd_x86_conversions.h: New file.
487 x86 specific conversion optimizations. The conversion patterns
488 work around missing conversion patterns in the compiler and
489 should be removed as soon as PR85048 is resolved.
490 * testsuite/experimental/simd/standard_abi_usable.cc: New file.
491 Test that all (not all fixed_size<N>, though) standard simd and
492 simd_mask types are usable.
493 * testsuite/experimental/simd/standard_abi_usable_2.cc: New
494 file. As above but with -ffast-math.
495 * testsuite/libstdc++-dg/conformance.exp: Don't build simd tests
496 from the standard test loop. Instead use
497 check_vect_support_and_set_flags to build simd tests with the
498 relevant machine flags.
500 2021-01-27 Jonathan Wakely <jwakely@redhat.com>
503 * include/bits/string_view.tcc
504 (basic_string_view::find(const CharT*, size_type, size_type)):
507 2021-01-27 Paul Fee <paul.f.fee@gmail.com>
509 * include/bits/basic_string.h (basic_string::contains): New
511 * include/std/string_view (basic_string_view::contains):
513 * include/std/version (__cpp_lib_string_contains): Define.
514 * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
515 Remove trailing whitespace.
516 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
518 * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test.
519 * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test.
520 * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test.
521 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test.
522 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test.
524 2021-01-21 Jonathan Wakely <jwakely@redhat.com>
526 * src/c++17/Makefile.in: Regenerate.
528 2021-01-20 David Edelsohn <dje.gcc@gmail.com>
530 * config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast
531 _OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to
533 (const char* ctype<char>:: is): Same.
535 2021-01-18 Jonathan Wakely <jwakely@redhat.com>
538 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Do not try to
539 write to a wide character stream if wide character support is
540 disabled in the library.
542 2021-01-18 Jonathan Wakely <jwakely@redhat.com>
544 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Use
545 stringbuf not wstringbuf.
547 2021-01-18 Jakub Jelinek <jakub@redhat.com>
550 * src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s):
551 Compile with -gno-as-loc-support.
552 * src/c++11/Makefile.in: Regenerated.
554 2021-01-16 H.J. Lu <hjl.tools@gmail.com>
556 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
557 Add -fcf-protection=none to -march=i486.
559 2021-01-14 François Dumont <fdumont@gcc.gnu.org>
561 * testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11
564 2021-01-14 Alexandre Oliva <oliva@adacore.com>
566 * testsuite/30_threads/future/members/poll.cc: Calibrate
569 2021-01-14 François Dumont <fdumont@gcc.gnu.org>
572 * include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr.
573 (_Node_iterator()): Make default.
574 (_Node_const_iterator()): Make default.
575 * include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular
577 * include/debug/safe_iterator.h
578 (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized.
579 * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
581 * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add
582 _M_singular checks on input iterators.
583 * src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular
585 * testsuite/23_containers/deque/debug/98466.cc: New test.
586 * testsuite/23_containers/unordered_map/debug/98466.cc: New test.
588 2021-01-14 Jonathan Wakely <jwakely@redhat.com>
591 * include/bits/fs_path.h (__throw_conversion_error): New
592 function to throw or abort on character conversion errors.
593 (__wstr_from_utf8): Move definition after filesystem_error has
594 been defined. Use __throw_conversion_error.
595 (path::_S_convert<_EcharT>): Use __throw_conversion_error.
596 (path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise.
597 (path::u8string): Likewise.
599 2021-01-14 Jonathan Wakely <jwakely@redhat.com>
601 * include/std/barrier: Update copyright years. Fix whitespace.
602 * include/std/version: Fix whitespace.
603 * testsuite/30_threads/barrier/1.cc: Update copyright years.
604 * testsuite/30_threads/barrier/2.cc: Likewise.
605 * testsuite/30_threads/barrier/arrive.cc: Likewise.
606 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
607 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
608 * testsuite/30_threads/barrier/completion.cc: Likewise.
610 2021-01-13 Jonathan Wakely <jwakely@redhat.com>
612 * doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array.
614 2021-01-10 David Edelsohn <dje.gcc@gmail.com>
617 * testsuite/ext/vstring/cons/moveable.cc: Suppress false positive
619 * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same.
621 2021-01-08 Olivier Hainque <hainque@adacore.com>
623 * testsuite/20_util/bind/ref_neg.cc: Tweak the
624 dg-prune-output regex for out-of-build-tree contexts.
626 2021-01-07 Thomas Rodgers <trodgers@redhat.com>
628 * doc/doxygen/user.cfg.in: Add new header.
629 * include/Makefile.am (std_headers): likewise.
630 * include/Makefile.in: Regenerate.
631 * include/precompiled/stdc++.h: Add new header.
632 * include/std/barrier: New file.
633 * include/std/version: Add __cpp_lib_barrier feature test macro.
634 * testsuite/30_threads/barrier/1.cc: New test.
635 * testsuite/30_threads/barrier/2.cc: Likewise.
636 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
637 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
638 * testsuite/30_threads/barrier/arrive.cc: Likewise.
639 * testsuite/30_threads/barrier/completion.cc: Likewise.
641 2021-01-07 Patrick Palka <ppalka@redhat.com>
644 * testsuite/20_util/to_chars/long_double.cc: Use nexttowardl
645 instead of the non-standard nextupl and nextdownl.
647 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
649 * configure: Re-generate.
651 2021-01-05 Ed Smith-Rowland <3dw4rd@verizon.net>
653 * include/precompiled/stdc++.h: Add <source_location> to C++20 section.
655 2021-01-01 Jakub Jelinek <jakub@redhat.com>
657 * ChangeLog-2020: Rotate ChangeLog. New file.
660 Copyright (C) 2021 Free Software Foundation, Inc.
662 Copying and distribution of this file, with or without modification,
663 are permitted in any medium without royalty provided the copyright
664 notice and this notice are preserved.