1 2021-02-19 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/atomic_wait.h (__thread_relax()): Call
4 __thread_yield() not __gthread_yield().
6 2021-02-15 Jonathan Wakely <jwakely@redhat.com>
8 * include/bits/atomic_wait.h (__thread_yield()): Check
9 _GLIBCXX_HAS_GTHREADS before using __gthread_yield.
10 (__thread_relax()): Use __thread_yield() instead of repeating
11 the preprocessor checks for __gthread_yield.
13 2021-02-15 Jonathan Wakely <jwakely@redhat.com>
15 * include/std/mutex (once_flag::_M_activate()): Add explicit
16 return statement for passive case.
17 (once_flag::_M_finish(bool)): Use reserved name for parameter.
19 2021-02-14 Jonathan Wakely <jwakely@redhat.com>
22 * testsuite/util/testsuite_fs.h: Always include <unistd.h>.
24 2021-02-12 Jonathan Wakely <jwakely@redhat.com>
27 * src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
29 2021-02-12 Jonathan Wakely <jwakely@redhat.com>
31 * doc/xml/manual/status_cxx2014.xml: Document implementation
32 specific properties of std::experimental::filesystem::rename.
33 * doc/xml/manual/status_cxx2017.xml: Document implementation
34 specific properties of std::filesystem::rename.
35 * doc/html/*: Regenerate.
36 * src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour
37 for directories on Windows.
38 * src/filesystem/ops-common.h (__gnu_posix::rename): Use
39 MoveFileExW on Windows.
40 * testsuite/27_io/filesystem/operations/rename.cc: New test.
41 * testsuite/experimental/filesystem/operations/rename.cc: New test.
43 2021-02-12 Jonathan Wakely <jwakely@redhat.com>
45 * testsuite/util/testsuite_fs.h (nonexistent_path): Add
46 random number to the path.
48 2021-02-12 Jonathan Wakely <jwakely@redhat.com>
50 * include/experimental/internet (address_v6::to_string): Include
52 * testsuite/experimental/net/internet/address/v6/members.cc:
53 Test to_string() results.
55 2021-02-12 Jonathan Wakely <jwakely@redhat.com>
57 * include/experimental/internet (address_v6::any): Avoid using
58 memcpy in constexpr function.
59 (address_v6::loopback): Likewise.
60 (make_address_v6): Fix missing return statements on error paths.
61 * include/experimental/io_context: Avoid -Wdangling-else
63 * testsuite/experimental/net/internet/address/v4/members.cc:
64 Remove unused variables.
65 * testsuite/experimental/net/internet/address/v6/members.cc:
68 2021-02-12 Jonathan Wakely <jwakely@redhat.com>
70 * include/bits/shared_ptr_base.h (__shared_ptr::_M_get_deleter):
71 Add unused attribute to parameter.
72 * src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq):
75 2021-02-12 Jonathan Wakely <jwakely@redhat.com>
77 * testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail
79 * testsuite/30_threads/async/forced_unwind.cc: Expect test
80 to abort if -fno-rtti is used.
82 2021-02-12 Jonathan Wakely <jwakely@redhat.com>
84 * testsuite/util/testsuite_allocator.h (memory_resource):
85 Remove requirement for RTTI and exceptions to be enabled.
87 2021-02-12 Jonathan Wakely <jwakely@redhat.com>
89 * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Use
90 static_cast when RTTI is disabled.
91 * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc:
93 * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc:
95 * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc:
97 * testsuite/27_io/basic_stringstream/str/char/2.cc:
99 * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc:
102 2021-02-12 Jonathan Wakely <jwakely@redhat.com>
104 * include/std/ostream (__syncbuf_base::_S_get): Mark parameter
105 as unused and only use dynamic_cast when RTTI is enabled.
107 2021-02-12 Jonathan Wakely <jwakely@redhat.com>
110 * src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)):
111 Change int parameter to error_code, to match std::ios_failure.
112 (__throw_ios_failure(const char*, int)): Construct error_code
115 2021-02-11 Jonathan Wakely <jwakely@redhat.com>
117 * libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define
119 * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new
120 macro instead of _GLIBCXX_EH_PTR_COMPAT.
121 (operator==): Likewise.
123 2021-02-11 Jonathan Wakely <jwakely@redhat.com>
126 * doc/xml/manual/status_cxx2011.xml: Document when support
128 * doc/xml/manual/status_cxx2014.xml: Likewise.
129 * doc/xml/manual/status_cxx2017.xml: Likewise.
130 * doc/html/manual/status.html: Regenerate.
132 2021-02-10 Jonathan Wakely <jwakely@redhat.com>
135 * src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
137 2021-02-10 Jonathan Wakely <jwakely@redhat.com>
139 * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent)
140 (fs::remove): Use std::system_category() for error codes from
142 * src/filesystem/ops.cc (fs::create_hard_link, fs::remove):
145 2021-02-10 Jonathan Wakely <jwakely@redhat.com>
147 * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo
148 in __MINGW32__ macro name.
149 * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
150 * testsuite/27_io/filesystem/path/generation/proximate.cc:
152 * testsuite/27_io/filesystem/path/generation/relative.cc:
154 * testsuite/util/testsuite_fs.h: Likewise.
156 2021-02-09 François Dumont <fdumont@gcc.gnu.org>
158 * include/bits/stl_tree.h
159 (__has_is_transparent, __has_is_transparent_t): Move...
160 * include/bits/stl_function.h: ...here.
161 * include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New..
162 (_Hashtable_base<>::_M_equals_tr): New.
163 * include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr,
164 _Hashtable<>::_M_equal_range_tr): New member function templates to perform
165 heterogeneous lookup.
166 (_Hashtable<>::_M_find_before_node_tr): New.
167 (_Hashtable<>::_M_find_node_tr): New.
168 * include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>,
169 unordered_map::contains<>, unordered_map::equal_range<>): New member function
170 templates to perform heterogeneous lookup.
171 (unordered_multimap::find<>, unordered_multimap::count<>,
172 unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise.
173 * include/bits/unordered_set.h (unordered_set::find<>, unordered_set::count<>,
174 unordered_set::contains<>, unordered_set::equal_range<>): Likewise.
175 (unordered_multiset::find<>, unordered_multiset::count<>,
176 unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise.
177 * include/debug/unordered_map
178 (unordered_map::find<>, unordered_map::equal_range<>): Likewise.
179 (unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise.
180 * include/debug/unordered_set
181 (unordered_set::find<>, unordered_set::equal_range<>): Likewise.
182 (unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise.
183 * testsuite/23_containers/unordered_map/operations/1.cc: New test.
184 * testsuite/23_containers/unordered_multimap/operations/1.cc: New test.
185 * testsuite/23_containers/unordered_multiset/operations/1.cc: New test.
186 * testsuite/23_containers/unordered_set/operations/1.cc: New test.
188 2021-02-09 François Dumont <fdumont@gcc.gnu.org>
190 * include/bits/stl_deque.h
191 (std::operator-(deque::iterator, deque::iterator)): Replace if/then with
194 2021-02-09 Jonathan Wakely <jwakely@redhat.com>
196 * testsuite/27_io/filesystem/operations/remove_all.cc: Remove
197 test directory after making it writable again.
198 * testsuite/experimental/filesystem/operations/remove_all.cc:
201 2021-02-09 Jonathan Wakely <jwakely@redhat.com>
204 * include/std/coroutine (coroutine_handle<P>::from_address): Add
207 2021-02-09 Vladimir Vishnevsky <vv.os.swe@gmail.com>
209 * include/ext/stdio_sync_filebuf.h: Remove unused <unistd.h>.
210 * src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t.
212 2021-02-09 Jakub Jelinek <jakub@redhat.com>
215 * include/bits/basic_string.tcc (basic_string::_M_replace): When __s
216 points to the characters moved by earlier _S_move, compute the source
217 address using expression based on the __p pointer rather than __s
220 2021-02-03 Jonathan Wakely <jwakely@redhat.com>
222 * testsuite/19_diagnostics/error_code/operators/not_equal.cc:
223 Add comparison with same category and different values.
224 * testsuite/19_diagnostics/error_code/operators/less.cc:
225 Likewise. Fix comparison involving different categories.
226 * testsuite/19_diagnostics/error_code/operators/three_way.cc:
228 * testsuite/19_diagnostics/error_condition/operators/less.cc:
230 * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
233 2021-02-03 yaozhongxiao <yaozhongxiao@linux.alibaba.com>
235 * include/experimental/bits/simd_neon.h: Replace repeated vpadd
236 calls with a single vaddv for aarch64.
238 2021-02-03 Matthias Kretz <kretz@kde.org>
240 * testsuite/Makefile.am: Warn about the workaround. Add
241 -fno-tree-vrp to CXXFLAGS passed to the check_simd script.
242 Improve initial user feedback from make check-simd.
243 * testsuite/Makefile.in: Regenerated.
245 2021-02-03 Matthias Kretz <kretz@kde.org>
247 * include/experimental/bits/simd.h: Add __detail::_Minimum and
248 __detail::_Maximum to use them as _BinaryOperation to _S_reduce.
249 Add hmin and hmax overloads for simd and const_where_expression.
250 * include/experimental/bits/simd_scalar.h
251 (_SimdImplScalar::_S_reduce): Make unused _BinaryOperation
252 parameter const-ref to allow calling _S_reduce with an rvalue.
253 * testsuite/experimental/simd/tests/reductions.cc: Add tests for
254 hmin and hmax. Since the compiler statically determined that all
255 tests pass, repeat the test after a call to make_value_unknown.
257 2021-02-03 Matthias Kretz <kretz@kde.org>
259 * testsuite/experimental/simd/tests/bits/verify.h (verify): Add
260 instruction pointer data member. Ensure that the `if (m_failed)`
261 branch is always inlined into the calling code. The body of the
262 conditional can still be a function call. Move the get_ip call
263 into the verify ctor to simplify the ctor calls.
264 (COMPARE): Don't mention the use of all_of for reduction of a
265 simd_mask. It only distracts from the real issue.
267 2021-02-03 Matthias Kretz <kretz@kde.org>
269 * testsuite/experimental/simd/driver.sh: Abstract reading test
270 options into read_src_option function. Read skip, only,
271 expensive, and xfail via read_src_option. Add timeout and
272 timeout-factor options and adjust timeout variable accordingly.
273 * testsuite/experimental/simd/tests/loadstore.cc: Set
276 2021-02-03 Matthias Kretz <kretz@kde.org>
278 * testsuite/experimental/simd/driver.sh: When handling the pipe
279 to log (and on verbose to stdout) count the lines. If it exceeds
280 1000 log the issue and exit 125, which is then handled as a
283 2021-02-03 Matthias Kretz <kretz@kde.org>
285 * testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip:
286 markup for long double on powerpc64*.
288 2021-02-03 Matthias Kretz <kretz@kde.org>
290 * include/experimental/bits/simd.h: Add __have_power10vec
291 conditional on _ARCH_PWR10.
292 * include/experimental/bits/simd_builtin.h: Forward declare
293 _MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is
295 (_MaskImplBuiltin::_S_some_of): Call _S_popcount from the
296 _SuperImpl for optimizations and correctness.
297 * include/experimental/bits/simd_ppc.h: Add _MaskImplPpc.
298 (_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10.
299 Otherwise, for >=int use -vec_sums divided by a sizeof factor.
300 For <int use -vec_sums(vec_sum4s(...)) to sum all mask entries.
302 2021-02-03 Matthias Kretz <kretz@kde.org>
304 * testsuite/experimental/simd/driver.sh: Remove executable on
305 SIGINT. Process compiler and test executable output: In verbose
306 mode print messages immediately, limited to 1000 lines and
307 breaking long lines to below $COLUMNS (or 1024 if not set).
308 Communicating the exit status of the compiler / test with the
309 necessary pipe is done via a message through stdout/-in.
311 2021-02-03 Matthias Kretz <kretz@kde.org>
313 * testsuite/Makefile.am: Ensure .simd.summary is empty before
314 collecting a new summary.
315 * testsuite/Makefile.in: Regenerate.
317 2021-02-03 Matthias Kretz <kretz@kde.org>
319 * testsuite/experimental/simd/generate_makefile.sh: Use
320 different variables internally than documented for user
321 overrides. This makes internal append/prepend work as intended.
323 2021-02-03 Matthias Kretz <kretz@kde.org>
325 * testsuite/experimental/simd/driver.sh (verify_test): Print
326 test output on run xfail. Do not repeat lines from the log that
327 were already printed on stdout.
328 (test_selector): Make the compiler flags pattern usable as a
330 (toplevel): Trap on SIGINT and remove the log and sum files.
331 Call timout with --foreground to quickly terminate on SIGINT.
332 * testsuite/experimental/simd/generate_makefile.sh: Simplify run
333 targets via target patterns. Default DRIVEROPTS to -v for run
334 targets. Remove log and sum files after completion of the run
335 target (so that it's always recompiled).
336 Place help text into text file for reasonable 'make help'
339 2021-02-03 Matthias Kretz <kretz@kde.org>
341 * include/experimental/bits/simd.h: Remove unnecessary static
342 assertion. Allow sizeof(8) integer __intrinsic_type to enable
343 the necessary mask type.
345 2021-02-03 Matthias Kretz <kretz@kde.org>
347 * include/experimental/bits/simd.h: Let __intrinsic_type<long
348 double, N> be valid if sizeof(long double) == sizeof(double) and
349 use a __vector double as member type.
351 2021-02-03 Matthias Kretz <kretz@kde.org>
353 * include/experimental/bits/simd.h (__is_intrinsic_type): New
354 internal type trait. Alias for __is_vector_type on x86.
355 (_VectorTraitsImpl): Enable for __intrinsic_type in addition for
357 (__intrin_bitcast): Allow casting to & from vector & intrinsic
359 (__intrinsic_type): Explicitly specialize for NEON intrinsic
362 2021-02-03 Matthias Kretz <kretz@kde.org>
364 * testsuite/experimental/simd/driver.sh: Implement skip, only,
365 expensive, and xfail markers. They can select on type, ABI tag
366 subset number, target-triplet, and compiler flags.
367 * testsuite/experimental/simd/generate_makefile.sh: The summary
368 now includes lines for unexpected passes and expected failures.
369 If the skip or only markers are only conditional on the type, do
370 not generate rules for those types.
371 * testsuite/experimental/simd/tests/abs.cc: Mark test expensive
372 for ABI tag subsets 1-9.
373 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
374 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
375 * testsuite/experimental/simd/tests/casts.cc: Ditto.
376 * testsuite/experimental/simd/tests/generator.cc: Ditto.
377 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
378 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
379 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
380 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
381 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
382 * testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto.
383 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
384 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
385 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
386 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
387 * testsuite/experimental/simd/tests/operators.cc: Ditto.
388 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
389 * testsuite/experimental/simd/tests/simd.cc: Ditto.
390 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
391 * testsuite/experimental/simd/tests/splits.cc: Ditto.
392 * testsuite/experimental/simd/tests/where.cc: Ditto.
393 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In
394 addition replace "test only floattypes" marker by unconditional
395 "float|double|ldouble" only marker.
396 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
397 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
398 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
400 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
401 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
402 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
403 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
404 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
405 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
406 * testsuite/experimental/simd/tests/sincos.cc: Ditto. In
407 addition, xfail on run because the reference data is missing.
409 2021-02-02 Jonathan Wakely <jwakely@redhat.com>
411 * doc/xml/manual/status_cxx2011.xml: Remove stray table cell.
412 * doc/xml/manual/status_cxx2014.xml: Likewise.
413 * doc/xml/manual/status_cxx2017.xml: Likewise.
414 * doc/html/manual/status.html: Regenerate.
416 2021-02-01 François Dumont <fdumont@gcc.gnu.org>
419 * include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)):
420 Return 0 if both iterators are value-initialized.
421 * testsuite/23_containers/deque/70303.cc: New test.
422 * testsuite/23_containers/vector/70303.cc: New test.
424 2021-02-01 Jonathan Wakely <jwakely@redhat.com>
426 * doc/xml/manual/status_cxx2011.xml: Update std::call_once
428 * doc/xml/manual/status_cxx2014.xml: Likewise.
429 * doc/xml/manual/status_cxx2017.xml: Likewise. Update
430 std::from_chars and std::to_chars status. Fix formatting.
431 * doc/html/manual/status.html: Regenerate.
433 2021-01-28 Jonathan Wakely <jwakely@redhat.com>
435 * include/experimental/bits/numeric_traits.h: Update copyright
437 * include/experimental/bits/simd.h: Likewise.
438 * include/experimental/bits/simd_builtin.h: Likewise.
439 * include/experimental/bits/simd_converter.h: Likewise.
440 * include/experimental/bits/simd_detail.h: Likewise.
441 * include/experimental/bits/simd_fixed_size.h: Likewise.
442 * include/experimental/bits/simd_math.h: Likewise.
443 * include/experimental/bits/simd_neon.h: Likewise.
444 * include/experimental/bits/simd_ppc.h: Likewise.
445 * include/experimental/bits/simd_scalar.h: Likewise.
446 * include/experimental/bits/simd_x86.h: Likewise.
447 * include/experimental/bits/simd_x86_conversions.h: Likewise.
448 * include/experimental/simd: Likewise.
449 * testsuite/experimental/simd/*: Likewise.
451 2021-01-27 Jonathan Wakely <jwakely@redhat.com>
453 * doc/xml/manual/status_cxx2017.xml: Replace invalid entity.
454 * doc/html/*: Regenerate.
456 2021-01-27 Jonathan Wakely <jwakely@redhat.com>
458 * testsuite/experimental/simd/generate_makefile.sh: Use printf
459 instead of echo when printing escape characters.
461 2021-01-27 Matthias Kretz <kretz@kde.org>
463 * scripts/check_simd: New file. This script is called from the
464 the check-simd target. It determines a set of compiler flags and
465 simulator setups for calling generate_makefile.sh and passes the
466 information back to the check-simd target, which recurses to the
468 * scripts/create_testsuite_files: Remove files below simd/tests/
469 from testsuite_files and place them in testsuite_files_simd.
470 * testsuite/Makefile.am: Add testsuite_files_simd. Add
472 * testsuite/Makefile.in: Regenerate.
473 * testsuite/experimental/simd/driver.sh: New file. This script
474 compiles and runs a given simd test, logging its output and
475 status. It uses the timeout command to implement compile and
477 * testsuite/experimental/simd/generate_makefile.sh: New file.
478 This script generates a Makefile which uses driver.sh to compile
479 and run the tests and collect the logs into a single log file.
480 * testsuite/experimental/simd/tests/abs.cc: New file. Tests
482 * testsuite/experimental/simd/tests/algorithms.cc: New file.
483 Tests min/max(simd, simd).
484 * testsuite/experimental/simd/tests/bits/conversions.h: New
485 file. Contains functions to support tests involving conversions.
486 * testsuite/experimental/simd/tests/bits/make_vec.h: New file.
487 Support functions make_mask and make_vec.
488 * testsuite/experimental/simd/tests/bits/mathreference.h: New
489 file. Support functions to supply precomputed math function
491 * testsuite/experimental/simd/tests/bits/metahelpers.h: New
492 file. Support code for SFINAE testing.
493 * testsuite/experimental/simd/tests/bits/simd_view.h: New file.
494 * testsuite/experimental/simd/tests/bits/test_values.h: New
495 file. Test functions to easily drive a test with simd objects
496 initialized from a given list of values and a range of random
498 * testsuite/experimental/simd/tests/bits/ulp.h: New file.
499 Support code to determine the ULP distance of simd objects.
500 * testsuite/experimental/simd/tests/bits/verify.h: New file.
501 Test framework for COMPARE'ing simd objects and instantiating
502 the test templates with value_type and ABI tag.
503 * testsuite/experimental/simd/tests/broadcast.cc: New file. Test
505 * testsuite/experimental/simd/tests/casts.cc: New file. Test
507 * testsuite/experimental/simd/tests/fpclassify.cc: New file.
508 Test floating-point classification functions.
509 * testsuite/experimental/simd/tests/frexp.cc: New file. Test
511 * testsuite/experimental/simd/tests/generator.cc: New file. Test
512 simd generator constructor.
513 * testsuite/experimental/simd/tests/hypot3_fma.cc: New file.
514 Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim).
515 * testsuite/experimental/simd/tests/integer_operators.cc: New
516 file. Test integer operators.
517 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
518 New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and
520 * testsuite/experimental/simd/tests/loadstore.cc: New file. Test
521 (converting) simd loads and stores.
522 * testsuite/experimental/simd/tests/logarithm.cc: New file. Test
524 * testsuite/experimental/simd/tests/mask_broadcast.cc: New file.
525 Test simd_mask broadcasts.
526 * testsuite/experimental/simd/tests/mask_conversions.cc: New
527 file. Test simd_mask conversions.
528 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New
529 file. Test simd_mask implicit conversions.
530 * testsuite/experimental/simd/tests/mask_loadstore.cc: New file.
531 Test simd_mask loads and stores.
532 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: New
533 file. Test simd_mask operators convert as specified.
534 * testsuite/experimental/simd/tests/mask_operators.cc: New file.
535 Test simd_mask compares, subscripts, and negation.
536 * testsuite/experimental/simd/tests/mask_reductions.cc: New
537 file. Test simd_mask reductions.
538 * testsuite/experimental/simd/tests/math_1arg.cc: New file. Test
539 1-arg math functions on simd.
540 * testsuite/experimental/simd/tests/math_2arg.cc: New file. Test
541 2-arg math functions on simd.
542 * testsuite/experimental/simd/tests/operator_cvt.cc: New file.
543 Test implicit conversions on simd binary operators behave as
545 * testsuite/experimental/simd/tests/operators.cc: New file. Test
546 simd compares, subscripts, not, unary minus, plus, minus,
547 multiplies, divides, increment, and decrement.
548 * testsuite/experimental/simd/tests/reductions.cc: New file.
550 * testsuite/experimental/simd/tests/remqo.cc: New file. Test
552 * testsuite/experimental/simd/tests/simd.cc: New file. Basic
553 sanity checks of simd types.
554 * testsuite/experimental/simd/tests/sincos.cc: New file. Test
555 sin(simd) and cos(simd).
556 * testsuite/experimental/simd/tests/split_concat.cc: New file.
557 Test split(simd) and concat(simd, simd).
558 * testsuite/experimental/simd/tests/splits.cc: New file. Test
560 * testsuite/experimental/simd/tests/trigonometric.cc: New file.
561 Test remaining trigonometric functions on simd.
562 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New
563 file. Test trunc(simd), ceil(simd), and floor(simd).
564 * testsuite/experimental/simd/tests/where.cc: New file. Test
565 masked operations using where.
567 2021-01-27 Matthias Kretz <kretz@kde.org>
569 * doc/xml/manual/status_cxx2017.xml: Add implementation status
570 of the Parallelism TS 2. Document implementation-defined types
572 * include/Makefile.am: Add new headers.
573 * include/Makefile.in: Regenerate.
574 * include/experimental/simd: New file. New header for
576 * include/experimental/bits/numeric_traits.h: New file.
577 Implementation of P1841R1 using internal naming. Addition of
578 missing IEC559 functionality query.
579 * include/experimental/bits/simd.h: New file. Definition of the
580 public simd interfaces and general implementation helpers.
581 * include/experimental/bits/simd_builtin.h: New file.
582 Implementation of the _VecBuiltin simd_abi.
583 * include/experimental/bits/simd_converter.h: New file. Generic
585 * include/experimental/bits/simd_detail.h: New file. Internal
586 macros for the simd implementation.
587 * include/experimental/bits/simd_fixed_size.h: New file. Simd
588 fixed_size ABI specific implementations.
589 * include/experimental/bits/simd_math.h: New file. Math
591 * include/experimental/bits/simd_neon.h: New file. Simd NEON
592 specific implementations.
593 * include/experimental/bits/simd_ppc.h: New file. Implement bit
594 shifts to avoid invalid results for integral types smaller than
596 * include/experimental/bits/simd_scalar.h: New file. Simd scalar
597 ABI specific implementations.
598 * include/experimental/bits/simd_x86.h: New file. Simd x86
599 specific implementations.
600 * include/experimental/bits/simd_x86_conversions.h: New file.
601 x86 specific conversion optimizations. The conversion patterns
602 work around missing conversion patterns in the compiler and
603 should be removed as soon as PR85048 is resolved.
604 * testsuite/experimental/simd/standard_abi_usable.cc: New file.
605 Test that all (not all fixed_size<N>, though) standard simd and
606 simd_mask types are usable.
607 * testsuite/experimental/simd/standard_abi_usable_2.cc: New
608 file. As above but with -ffast-math.
609 * testsuite/libstdc++-dg/conformance.exp: Don't build simd tests
610 from the standard test loop. Instead use
611 check_vect_support_and_set_flags to build simd tests with the
612 relevant machine flags.
614 2021-01-27 Jonathan Wakely <jwakely@redhat.com>
617 * include/bits/string_view.tcc
618 (basic_string_view::find(const CharT*, size_type, size_type)):
621 2021-01-27 Paul Fee <paul.f.fee@gmail.com>
623 * include/bits/basic_string.h (basic_string::contains): New
625 * include/std/string_view (basic_string_view::contains):
627 * include/std/version (__cpp_lib_string_contains): Define.
628 * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
629 Remove trailing whitespace.
630 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
632 * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test.
633 * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test.
634 * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test.
635 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test.
636 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test.
638 2021-01-21 Jonathan Wakely <jwakely@redhat.com>
640 * src/c++17/Makefile.in: Regenerate.
642 2021-01-20 David Edelsohn <dje.gcc@gmail.com>
644 * config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast
645 _OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to
647 (const char* ctype<char>:: is): Same.
649 2021-01-18 Jonathan Wakely <jwakely@redhat.com>
652 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Do not try to
653 write to a wide character stream if wide character support is
654 disabled in the library.
656 2021-01-18 Jonathan Wakely <jwakely@redhat.com>
658 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Use
659 stringbuf not wstringbuf.
661 2021-01-18 Jakub Jelinek <jakub@redhat.com>
664 * src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s):
665 Compile with -gno-as-loc-support.
666 * src/c++11/Makefile.in: Regenerated.
668 2021-01-16 H.J. Lu <hjl.tools@gmail.com>
670 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
671 Add -fcf-protection=none to -march=i486.
673 2021-01-14 François Dumont <fdumont@gcc.gnu.org>
675 * testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11
678 2021-01-14 Alexandre Oliva <oliva@adacore.com>
680 * testsuite/30_threads/future/members/poll.cc: Calibrate
683 2021-01-14 François Dumont <fdumont@gcc.gnu.org>
686 * include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr.
687 (_Node_iterator()): Make default.
688 (_Node_const_iterator()): Make default.
689 * include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular
691 * include/debug/safe_iterator.h
692 (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized.
693 * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
695 * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add
696 _M_singular checks on input iterators.
697 * src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular
699 * testsuite/23_containers/deque/debug/98466.cc: New test.
700 * testsuite/23_containers/unordered_map/debug/98466.cc: New test.
702 2021-01-14 Jonathan Wakely <jwakely@redhat.com>
705 * include/bits/fs_path.h (__throw_conversion_error): New
706 function to throw or abort on character conversion errors.
707 (__wstr_from_utf8): Move definition after filesystem_error has
708 been defined. Use __throw_conversion_error.
709 (path::_S_convert<_EcharT>): Use __throw_conversion_error.
710 (path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise.
711 (path::u8string): Likewise.
713 2021-01-14 Jonathan Wakely <jwakely@redhat.com>
715 * include/std/barrier: Update copyright years. Fix whitespace.
716 * include/std/version: Fix whitespace.
717 * testsuite/30_threads/barrier/1.cc: Update copyright years.
718 * testsuite/30_threads/barrier/2.cc: Likewise.
719 * testsuite/30_threads/barrier/arrive.cc: Likewise.
720 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
721 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
722 * testsuite/30_threads/barrier/completion.cc: Likewise.
724 2021-01-13 Jonathan Wakely <jwakely@redhat.com>
726 * doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array.
728 2021-01-10 David Edelsohn <dje.gcc@gmail.com>
731 * testsuite/ext/vstring/cons/moveable.cc: Suppress false positive
733 * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same.
735 2021-01-08 Olivier Hainque <hainque@adacore.com>
737 * testsuite/20_util/bind/ref_neg.cc: Tweak the
738 dg-prune-output regex for out-of-build-tree contexts.
740 2021-01-07 Thomas Rodgers <trodgers@redhat.com>
742 * doc/doxygen/user.cfg.in: Add new header.
743 * include/Makefile.am (std_headers): likewise.
744 * include/Makefile.in: Regenerate.
745 * include/precompiled/stdc++.h: Add new header.
746 * include/std/barrier: New file.
747 * include/std/version: Add __cpp_lib_barrier feature test macro.
748 * testsuite/30_threads/barrier/1.cc: New test.
749 * testsuite/30_threads/barrier/2.cc: Likewise.
750 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
751 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
752 * testsuite/30_threads/barrier/arrive.cc: Likewise.
753 * testsuite/30_threads/barrier/completion.cc: Likewise.
755 2021-01-07 Patrick Palka <ppalka@redhat.com>
758 * testsuite/20_util/to_chars/long_double.cc: Use nexttowardl
759 instead of the non-standard nextupl and nextdownl.
761 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
763 * configure: Re-generate.
765 2021-01-05 Ed Smith-Rowland <3dw4rd@verizon.net>
767 * include/precompiled/stdc++.h: Add <source_location> to C++20 section.
769 2021-01-01 Jakub Jelinek <jakub@redhat.com>
771 * ChangeLog-2020: Rotate ChangeLog. New file.
774 Copyright (C) 2021 Free Software Foundation, Inc.
776 Copying and distribution of this file, with or without modification,
777 are permitted in any medium without royalty provided the copyright
778 notice and this notice are preserved.