]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
f3641ac7
GA
12021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2
3 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
4 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
5 Likewise.
6 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
7 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
8 Likewise.
9
102021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11
12 * include/experimental/bits/simd.h: Replace reserved _X, _B by
13 _Xp, _Bp.
14 * include/experimental/bits/simd_builtin.h: Likewise.
15 * include/experimental/bits/simd_x86.h: Likewise.
16
ec9dc4fa
GA
172021-02-27 Jonathan Wakely <jwakely@redhat.com>
18
19 PR libstdc++/99301
20 * include/std/chrono (year_month_day::_M_days_since_epoch()):
21 Convert chrono::month and chrono::day to unsigned before
22 converting to uint32_t.
23
daa68844
GA
242021-02-25 Jonathan Wakely <jwakely@redhat.com>
25
26 * include/std/chrono (year_month_day::_S_from_days): Perform
27 all calculations with type uint32_t.
28
292021-02-25 Jonathan Wakely <jwakely@redhat.com>
30
31 * doc/xml/manual/abi.xml: Document versioning for GCC 11.
32 * doc/html/manual/abi.html: Regenerate.
33
342021-02-25 Jonathan Wakely <jwakely@redhat.com>
35
36 PR libstdc++/99270
37 * testsuite/27_io/headers/cstdio/types_std.cc: Use pointer to
38 FILE instead of FILE.
39
402021-02-25 Andreas Schwab <schwab@suse.de>
41
42 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
43 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
44 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
45 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
46
472021-02-25 Jonathan Wakely <jwakely@redhat.com>
48
49 PR libstdc++/99265
50 * include/std/chrono (year_month_day::_S_from_days): Cast long
51 to int explicitly.
52
532021-02-25 Jonathan Wakely <jwakely@redhat.com>
54
55 * include/std/utility (to_underlying): Define.
56 * include/std/version (__cpp_lib_to_underlying): Define.
57 * testsuite/20_util/to_underlying/1.cc: New test.
58 * testsuite/20_util/to_underlying/version.cc: New test.
59
4028d01a
GA
602021-02-24 Jonathan Wakely <jwakely@redhat.com>
61
62 PR libstdc++/99261
63 * src/c++17/floating_to_chars.cc (sprintf_ld): Add extra args
64 before value to be printed.
65
662021-02-24 Patrick Palka <ppalka@redhat.com>
67
68 * src/c++17/floating_to_chars.cc (__floating_to_chars_precision):
69 Relax the condition that guards the printf code path to accept
70 F128_type as well as long double.
71
722021-02-24 Cassio Neri <cassio.neri@gmail.com>
73
74 * include/std/chrono (year_month_day_last:day): New
75 implementation.
76
772021-02-24 Cassio Neri <cassio.neri@gmail.com>
78
79 * include/std/chrono (year::is_leap): New implementation.
80 * testsuite/std/time/year/2.cc: New test.
81
822021-02-24 Cassio Neri <cassio.neri@gmail.com>
83
84 * include/std/chrono (year_month_day::_M_days_since_epoch):
85 New implementation.
86 * testsuite/std/time/year_month_day/4.cc: New test.
87
882021-02-24 Cassio Neri <cassio.neri@gmail.com>
89
90 * include/std/chrono (year_month_day::_S_from_days): New
91 implementation.
92 * testsuite/std/time/year_month_day/3.cc: New test.
93
942021-02-24 Patrick Palka <ppalka@redhat.com>
95
96 PR libstdc++/98384
97 * testsuite/20_util/to_chars/long_double.cc: Include <optional>.
98 (test01): Simplify verifying the nearby values by using a
99 2-iteration loop and a dedicated output buffer to check that the
100 nearby values are different. Factor out the printf-based
101 verification into a local function, and check that the leading
102 hex digits agree before comparing to the output of printf. Also
103 verify the output by round-tripping it through from_chars.
104
1052021-02-24 Jonathan Wakely <jwakely@redhat.com>
106
107 PR libstdc++/98389
108 * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars
109 symbols for long double arguments mangled as 'g'.
110 * config/os/gnu-linux/ldbl-extra.ver: Likewise.
111 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise.
112 * src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]:
113 Use -mabi=ibmlongdouble for floating_to_chars.cc.
114 * src/c++17/Makefile.in: Regenerate.
115 * src/c++17/floating_to_chars.cc (floating_type_traits_binary128):
116 New type defining type traits of IEEE binary128 format.
117 (floating_type_traits<__float128>): Define specialization.
118 (floating_type_traits<long double>): Define in terms of
119 floating_type_traits_binary128 when appropriate.
120 (floating_to_shortest_scientific): Handle __float128.
121 (sprintf_ld): New function template for printing a long double
122 or __ieee128 value using sprintf.
123 (__floating_to_chars_shortest, __floating_to_chars_precision):
124 Use sprintf_ld.
125 (to_chars): Define overloads for __float128.
126
1272021-02-24 Jonathan Wakely <jwakely@redhat.com>
128
129 * testsuite/17_intro/names.cc: Undefine 'u' on powerpc*-linux*.
130
71e24b06
GA
1312021-02-23 Martin Sebor <msebor@redhat.com>
132
133 PR c++/99074
134 * libsupc++/dyncast.cc (__dynamic_cast): Return null when
135 first argument is null.
136
1372021-02-23 Jakub Jelinek <jakub@redhat.com>
138
139 PR libstdc++/99181
140 * testsuite/21_strings/char_traits/requirements/char/99181.cc: New
141 test.
142
1432021-02-23 Jakub Jelinek <jakub@redhat.com>
144
145 PR libstdc++/99181
146 * include/bits/char_traits.h (char_traits<char>::compare): For
147 constexpr evaluation don't call
148 __gnu_cxx::char_traits<char_type>::compare but do the comparison loop
149 directly.
150
1512021-02-23 Jakub Jelinek <jakub@redhat.com>
152
153 PR libstdc++/97549
154 * include/pstl/parallel_backend_serial.h: Remove __pstl::__par_backend.
155
1562021-02-23 Patrick Palka <ppalka@redhat.com>
157
158 PR libstdc++/98384
159 * src/c++17/floating_to_chars.cc (get_ieee_repr): Extract
160 the high- and low-order parts from an IBM long double value
161 in an endian-agnostic way.
162
50352c6c
GA
1632021-02-19 Jonathan Wakely <jwakely@redhat.com>
164
165 * include/bits/atomic_wait.h (__thread_relax()): Call
166 __thread_yield() not __gthread_yield().
167
de594739
GA
1682021-02-15 Jonathan Wakely <jwakely@redhat.com>
169
170 * include/bits/atomic_wait.h (__thread_yield()): Check
171 _GLIBCXX_HAS_GTHREADS before using __gthread_yield.
172 (__thread_relax()): Use __thread_yield() instead of repeating
173 the preprocessor checks for __gthread_yield.
174
1752021-02-15 Jonathan Wakely <jwakely@redhat.com>
176
177 * include/std/mutex (once_flag::_M_activate()): Add explicit
178 return statement for passive case.
179 (once_flag::_M_finish(bool)): Use reserved name for parameter.
180
c5ae38e8
GA
1812021-02-14 Jonathan Wakely <jwakely@redhat.com>
182
183 PR libstdc++/99096
184 * testsuite/util/testsuite_fs.h: Always include <unistd.h>.
185
fab095da
GA
1862021-02-12 Jonathan Wakely <jwakely@redhat.com>
187
188 PR libstdc++/88881
189 * src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
190
1912021-02-12 Jonathan Wakely <jwakely@redhat.com>
192
193 * doc/xml/manual/status_cxx2014.xml: Document implementation
194 specific properties of std::experimental::filesystem::rename.
195 * doc/xml/manual/status_cxx2017.xml: Document implementation
196 specific properties of std::filesystem::rename.
197 * doc/html/*: Regenerate.
198 * src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour
199 for directories on Windows.
200 * src/filesystem/ops-common.h (__gnu_posix::rename): Use
201 MoveFileExW on Windows.
202 * testsuite/27_io/filesystem/operations/rename.cc: New test.
203 * testsuite/experimental/filesystem/operations/rename.cc: New test.
204
2052021-02-12 Jonathan Wakely <jwakely@redhat.com>
206
207 * testsuite/util/testsuite_fs.h (nonexistent_path): Add
208 random number to the path.
209
2102021-02-12 Jonathan Wakely <jwakely@redhat.com>
211
212 * include/experimental/internet (address_v6::to_string): Include
213 scope ID in string.
214 * testsuite/experimental/net/internet/address/v6/members.cc:
215 Test to_string() results.
216
2172021-02-12 Jonathan Wakely <jwakely@redhat.com>
218
219 * include/experimental/internet (address_v6::any): Avoid using
220 memcpy in constexpr function.
221 (address_v6::loopback): Likewise.
222 (make_address_v6): Fix missing return statements on error paths.
223 * include/experimental/io_context: Avoid -Wdangling-else
224 warning.
225 * testsuite/experimental/net/internet/address/v4/members.cc:
226 Remove unused variables.
227 * testsuite/experimental/net/internet/address/v6/members.cc:
228 New test.
229
2302021-02-12 Jonathan Wakely <jwakely@redhat.com>
231
232 * include/bits/shared_ptr_base.h (__shared_ptr::_M_get_deleter):
233 Add unused attribute to parameter.
234 * src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq):
235 Likewise.
236
2372021-02-12 Jonathan Wakely <jwakely@redhat.com>
238
239 * testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail
240 if -fno-rtti is used.
241 * testsuite/30_threads/async/forced_unwind.cc: Expect test
242 to abort if -fno-rtti is used.
243
2442021-02-12 Jonathan Wakely <jwakely@redhat.com>
245
246 * testsuite/util/testsuite_allocator.h (memory_resource):
247 Remove requirement for RTTI and exceptions to be enabled.
248
2492021-02-12 Jonathan Wakely <jwakely@redhat.com>
250
251 * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Use
252 static_cast when RTTI is disabled.
253 * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc:
254 Likewise.
255 * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc:
256 Likewise.
257 * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc:
258 Likewise.
259 * testsuite/27_io/basic_stringstream/str/char/2.cc:
260 Likewise.
261 * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc:
262 Likewise.
263
2642021-02-12 Jonathan Wakely <jwakely@redhat.com>
265
266 * include/std/ostream (__syncbuf_base::_S_get): Mark parameter
267 as unused and only use dynamic_cast when RTTI is enabled.
268
2692021-02-12 Jonathan Wakely <jwakely@redhat.com>
270
271 PR libstdc++/99077
272 * src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)):
273 Change int parameter to error_code, to match std::ios_failure.
274 (__throw_ios_failure(const char*, int)): Construct error_code
275 from int parameter.
276
0c5cdb31
GA
2772021-02-11 Jonathan Wakely <jwakely@redhat.com>
278
279 * libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define
280 new macro.
281 * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new
282 macro instead of _GLIBCXX_EH_PTR_COMPAT.
283 (operator==): Likewise.
284
2852021-02-11 Jonathan Wakely <jwakely@redhat.com>
286
287 PR libstdc++/99058
288 * doc/xml/manual/status_cxx2011.xml: Document when support
289 became stable.
290 * doc/xml/manual/status_cxx2014.xml: Likewise.
291 * doc/xml/manual/status_cxx2017.xml: Likewise.
292 * doc/html/manual/status.html: Regenerate.
293
4b37c3ea
GA
2942021-02-10 Jonathan Wakely <jwakely@redhat.com>
295
296 PR libstdc++/88881
297 * src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
298
2992021-02-10 Jonathan Wakely <jwakely@redhat.com>
300
301 * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent)
302 (fs::remove): Use std::system_category() for error codes from
303 GetLastError().
304 * src/filesystem/ops.cc (fs::create_hard_link, fs::remove):
305 Likewise.
306
3072021-02-10 Jonathan Wakely <jwakely@redhat.com>
308
309 * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo
310 in __MINGW32__ macro name.
311 * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
312 * testsuite/27_io/filesystem/path/generation/proximate.cc:
313 Likewise.
314 * testsuite/27_io/filesystem/path/generation/relative.cc:
315 Likewise.
316 * testsuite/util/testsuite_fs.h: Likewise.
317
0a91b73e
GA
3182021-02-09 François Dumont <fdumont@gcc.gnu.org>
319
320 * include/bits/stl_tree.h
321 (__has_is_transparent, __has_is_transparent_t): Move...
322 * include/bits/stl_function.h: ...here.
323 * include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New..
324 (_Hashtable_base<>::_M_equals_tr): New.
325 * include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr,
326 _Hashtable<>::_M_equal_range_tr): New member function templates to perform
327 heterogeneous lookup.
328 (_Hashtable<>::_M_find_before_node_tr): New.
329 (_Hashtable<>::_M_find_node_tr): New.
330 * include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>,
331 unordered_map::contains<>, unordered_map::equal_range<>): New member function
332 templates to perform heterogeneous lookup.
333 (unordered_multimap::find<>, unordered_multimap::count<>,
334 unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise.
335 * include/bits/unordered_set.h (unordered_set::find<>, unordered_set::count<>,
336 unordered_set::contains<>, unordered_set::equal_range<>): Likewise.
337 (unordered_multiset::find<>, unordered_multiset::count<>,
338 unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise.
339 * include/debug/unordered_map
340 (unordered_map::find<>, unordered_map::equal_range<>): Likewise.
341 (unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise.
342 * include/debug/unordered_set
343 (unordered_set::find<>, unordered_set::equal_range<>): Likewise.
344 (unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise.
345 * testsuite/23_containers/unordered_map/operations/1.cc: New test.
346 * testsuite/23_containers/unordered_multimap/operations/1.cc: New test.
347 * testsuite/23_containers/unordered_multiset/operations/1.cc: New test.
348 * testsuite/23_containers/unordered_set/operations/1.cc: New test.
349
3502021-02-09 François Dumont <fdumont@gcc.gnu.org>
351
352 * include/bits/stl_deque.h
353 (std::operator-(deque::iterator, deque::iterator)): Replace if/then with
354 a null pointer test.
355
3562021-02-09 Jonathan Wakely <jwakely@redhat.com>
357
358 * testsuite/27_io/filesystem/operations/remove_all.cc: Remove
359 test directory after making it writable again.
360 * testsuite/experimental/filesystem/operations/remove_all.cc:
361 Likewise.
362
3632021-02-09 Jonathan Wakely <jwakely@redhat.com>
364
365 PR libstdc++/99021
366 * include/std/coroutine (coroutine_handle<P>::from_address): Add
367 noexcept.
368
3692021-02-09 Vladimir Vishnevsky <vv.os.swe@gmail.com>
370
371 * include/ext/stdio_sync_filebuf.h: Remove unused <unistd.h>.
372 * src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t.
373
3742021-02-09 Jakub Jelinek <jakub@redhat.com>
375
376 PR middle-end/98465
377 * include/bits/basic_string.tcc (basic_string::_M_replace): When __s
378 points to the characters moved by earlier _S_move, compute the source
379 address using expression based on the __p pointer rather than __s
380 pointer.
381
9faaa807
GA
3822021-02-03 Jonathan Wakely <jwakely@redhat.com>
383
384 * testsuite/19_diagnostics/error_code/operators/not_equal.cc:
385 Add comparison with same category and different values.
386 * testsuite/19_diagnostics/error_code/operators/less.cc:
387 Likewise. Fix comparison involving different categories.
388 * testsuite/19_diagnostics/error_code/operators/three_way.cc:
389 Likewise.
390 * testsuite/19_diagnostics/error_condition/operators/less.cc:
391 Add comment.
392 * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
393 Likewise.
394
3952021-02-03 yaozhongxiao <yaozhongxiao@linux.alibaba.com>
396
397 * include/experimental/bits/simd_neon.h: Replace repeated vpadd
398 calls with a single vaddv for aarch64.
399
4002021-02-03 Matthias Kretz <kretz@kde.org>
401
402 * testsuite/Makefile.am: Warn about the workaround. Add
403 -fno-tree-vrp to CXXFLAGS passed to the check_simd script.
404 Improve initial user feedback from make check-simd.
405 * testsuite/Makefile.in: Regenerated.
406
4072021-02-03 Matthias Kretz <kretz@kde.org>
408
409 * include/experimental/bits/simd.h: Add __detail::_Minimum and
410 __detail::_Maximum to use them as _BinaryOperation to _S_reduce.
411 Add hmin and hmax overloads for simd and const_where_expression.
412 * include/experimental/bits/simd_scalar.h
413 (_SimdImplScalar::_S_reduce): Make unused _BinaryOperation
414 parameter const-ref to allow calling _S_reduce with an rvalue.
415 * testsuite/experimental/simd/tests/reductions.cc: Add tests for
416 hmin and hmax. Since the compiler statically determined that all
417 tests pass, repeat the test after a call to make_value_unknown.
418
4192021-02-03 Matthias Kretz <kretz@kde.org>
420
421 * testsuite/experimental/simd/tests/bits/verify.h (verify): Add
422 instruction pointer data member. Ensure that the `if (m_failed)`
423 branch is always inlined into the calling code. The body of the
424 conditional can still be a function call. Move the get_ip call
425 into the verify ctor to simplify the ctor calls.
426 (COMPARE): Don't mention the use of all_of for reduction of a
427 simd_mask. It only distracts from the real issue.
428
4292021-02-03 Matthias Kretz <kretz@kde.org>
430
431 * testsuite/experimental/simd/driver.sh: Abstract reading test
432 options into read_src_option function. Read skip, only,
433 expensive, and xfail via read_src_option. Add timeout and
434 timeout-factor options and adjust timeout variable accordingly.
435 * testsuite/experimental/simd/tests/loadstore.cc: Set
436 timeout-factor 2.
437
4382021-02-03 Matthias Kretz <kretz@kde.org>
439
440 * testsuite/experimental/simd/driver.sh: When handling the pipe
441 to log (and on verbose to stdout) count the lines. If it exceeds
442 1000 log the issue and exit 125, which is then handled as a
443 failure.
444
4452021-02-03 Matthias Kretz <kretz@kde.org>
446
447 * testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip:
448 markup for long double on powerpc64*.
449
4502021-02-03 Matthias Kretz <kretz@kde.org>
451
452 * include/experimental/bits/simd.h: Add __have_power10vec
453 conditional on _ARCH_PWR10.
454 * include/experimental/bits/simd_builtin.h: Forward declare
455 _MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is
456 defined.
457 (_MaskImplBuiltin::_S_some_of): Call _S_popcount from the
458 _SuperImpl for optimizations and correctness.
459 * include/experimental/bits/simd_ppc.h: Add _MaskImplPpc.
460 (_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10.
461 Otherwise, for >=int use -vec_sums divided by a sizeof factor.
462 For <int use -vec_sums(vec_sum4s(...)) to sum all mask entries.
463
4642021-02-03 Matthias Kretz <kretz@kde.org>
465
466 * testsuite/experimental/simd/driver.sh: Remove executable on
467 SIGINT. Process compiler and test executable output: In verbose
468 mode print messages immediately, limited to 1000 lines and
469 breaking long lines to below $COLUMNS (or 1024 if not set).
470 Communicating the exit status of the compiler / test with the
471 necessary pipe is done via a message through stdout/-in.
472
4732021-02-03 Matthias Kretz <kretz@kde.org>
474
475 * testsuite/Makefile.am: Ensure .simd.summary is empty before
476 collecting a new summary.
477 * testsuite/Makefile.in: Regenerate.
478
4792021-02-03 Matthias Kretz <kretz@kde.org>
480
481 * testsuite/experimental/simd/generate_makefile.sh: Use
482 different variables internally than documented for user
483 overrides. This makes internal append/prepend work as intended.
484
4852021-02-03 Matthias Kretz <kretz@kde.org>
486
487 * testsuite/experimental/simd/driver.sh (verify_test): Print
488 test output on run xfail. Do not repeat lines from the log that
489 were already printed on stdout.
490 (test_selector): Make the compiler flags pattern usable as a
491 substring selector.
492 (toplevel): Trap on SIGINT and remove the log and sum files.
493 Call timout with --foreground to quickly terminate on SIGINT.
494 * testsuite/experimental/simd/generate_makefile.sh: Simplify run
495 targets via target patterns. Default DRIVEROPTS to -v for run
496 targets. Remove log and sum files after completion of the run
497 target (so that it's always recompiled).
498 Place help text into text file for reasonable 'make help'
499 performance.
500
5012021-02-03 Matthias Kretz <kretz@kde.org>
502
503 * include/experimental/bits/simd.h: Remove unnecessary static
504 assertion. Allow sizeof(8) integer __intrinsic_type to enable
505 the necessary mask type.
506
5072021-02-03 Matthias Kretz <kretz@kde.org>
508
509 * include/experimental/bits/simd.h: Let __intrinsic_type<long
510 double, N> be valid if sizeof(long double) == sizeof(double) and
511 use a __vector double as member type.
512
5132021-02-03 Matthias Kretz <kretz@kde.org>
514
515 * include/experimental/bits/simd.h (__is_intrinsic_type): New
516 internal type trait. Alias for __is_vector_type on x86.
517 (_VectorTraitsImpl): Enable for __intrinsic_type in addition for
518 __vector_type.
519 (__intrin_bitcast): Allow casting to & from vector & intrinsic
520 types.
521 (__intrinsic_type): Explicitly specialize for NEON intrinsic
522 vector types.
523
5242021-02-03 Matthias Kretz <kretz@kde.org>
525
526 * testsuite/experimental/simd/driver.sh: Implement skip, only,
527 expensive, and xfail markers. They can select on type, ABI tag
528 subset number, target-triplet, and compiler flags.
529 * testsuite/experimental/simd/generate_makefile.sh: The summary
530 now includes lines for unexpected passes and expected failures.
531 If the skip or only markers are only conditional on the type, do
532 not generate rules for those types.
533 * testsuite/experimental/simd/tests/abs.cc: Mark test expensive
534 for ABI tag subsets 1-9.
535 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
536 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
537 * testsuite/experimental/simd/tests/casts.cc: Ditto.
538 * testsuite/experimental/simd/tests/generator.cc: Ditto.
539 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
540 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
541 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
542 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
543 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
544 * testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto.
545 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
546 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
547 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
548 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
549 * testsuite/experimental/simd/tests/operators.cc: Ditto.
550 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
551 * testsuite/experimental/simd/tests/simd.cc: Ditto.
552 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
553 * testsuite/experimental/simd/tests/splits.cc: Ditto.
554 * testsuite/experimental/simd/tests/where.cc: Ditto.
555 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In
556 addition replace "test only floattypes" marker by unconditional
557 "float|double|ldouble" only marker.
558 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
559 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
560 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
561 Ditto.
562 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
563 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
564 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
565 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
566 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
567 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
568 * testsuite/experimental/simd/tests/sincos.cc: Ditto. In
569 addition, xfail on run because the reference data is missing.
570
548b75d8
GA
5712021-02-02 Jonathan Wakely <jwakely@redhat.com>
572
573 * doc/xml/manual/status_cxx2011.xml: Remove stray table cell.
574 * doc/xml/manual/status_cxx2014.xml: Likewise.
575 * doc/xml/manual/status_cxx2017.xml: Likewise.
576 * doc/html/manual/status.html: Regenerate.
577
f7884fb1
GA
5782021-02-01 François Dumont <fdumont@gcc.gnu.org>
579
580 PR libstdc++/70303
581 * include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)):
582 Return 0 if both iterators are value-initialized.
583 * testsuite/23_containers/deque/70303.cc: New test.
584 * testsuite/23_containers/vector/70303.cc: New test.
585
5862021-02-01 Jonathan Wakely <jwakely@redhat.com>
587
588 * doc/xml/manual/status_cxx2011.xml: Update std::call_once
589 status.
590 * doc/xml/manual/status_cxx2014.xml: Likewise.
591 * doc/xml/manual/status_cxx2017.xml: Likewise. Update
592 std::from_chars and std::to_chars status. Fix formatting.
593 * doc/html/manual/status.html: Regenerate.
594
85d04a2e
GA
5952021-01-28 Jonathan Wakely <jwakely@redhat.com>
596
597 * include/experimental/bits/numeric_traits.h: Update copyright
598 dates.
599 * include/experimental/bits/simd.h: Likewise.
600 * include/experimental/bits/simd_builtin.h: Likewise.
601 * include/experimental/bits/simd_converter.h: Likewise.
602 * include/experimental/bits/simd_detail.h: Likewise.
603 * include/experimental/bits/simd_fixed_size.h: Likewise.
604 * include/experimental/bits/simd_math.h: Likewise.
605 * include/experimental/bits/simd_neon.h: Likewise.
606 * include/experimental/bits/simd_ppc.h: Likewise.
607 * include/experimental/bits/simd_scalar.h: Likewise.
608 * include/experimental/bits/simd_x86.h: Likewise.
609 * include/experimental/bits/simd_x86_conversions.h: Likewise.
610 * include/experimental/simd: Likewise.
611 * testsuite/experimental/simd/*: Likewise.
612
aa69f0a8
GA
6132021-01-27 Jonathan Wakely <jwakely@redhat.com>
614
615 * doc/xml/manual/status_cxx2017.xml: Replace invalid entity.
616 * doc/html/*: Regenerate.
617
6182021-01-27 Jonathan Wakely <jwakely@redhat.com>
619
620 * testsuite/experimental/simd/generate_makefile.sh: Use printf
621 instead of echo when printing escape characters.
622
6232021-01-27 Matthias Kretz <kretz@kde.org>
624
625 * scripts/check_simd: New file. This script is called from the
626 the check-simd target. It determines a set of compiler flags and
627 simulator setups for calling generate_makefile.sh and passes the
628 information back to the check-simd target, which recurses to the
629 generated Makefiles.
630 * scripts/create_testsuite_files: Remove files below simd/tests/
631 from testsuite_files and place them in testsuite_files_simd.
632 * testsuite/Makefile.am: Add testsuite_files_simd. Add
633 check-simd target.
634 * testsuite/Makefile.in: Regenerate.
635 * testsuite/experimental/simd/driver.sh: New file. This script
636 compiles and runs a given simd test, logging its output and
637 status. It uses the timeout command to implement compile and
638 test timeouts.
639 * testsuite/experimental/simd/generate_makefile.sh: New file.
640 This script generates a Makefile which uses driver.sh to compile
641 and run the tests and collect the logs into a single log file.
642 * testsuite/experimental/simd/tests/abs.cc: New file. Tests
643 abs(simd).
644 * testsuite/experimental/simd/tests/algorithms.cc: New file.
645 Tests min/max(simd, simd).
646 * testsuite/experimental/simd/tests/bits/conversions.h: New
647 file. Contains functions to support tests involving conversions.
648 * testsuite/experimental/simd/tests/bits/make_vec.h: New file.
649 Support functions make_mask and make_vec.
650 * testsuite/experimental/simd/tests/bits/mathreference.h: New
651 file. Support functions to supply precomputed math function
652 reference data.
653 * testsuite/experimental/simd/tests/bits/metahelpers.h: New
654 file. Support code for SFINAE testing.
655 * testsuite/experimental/simd/tests/bits/simd_view.h: New file.
656 * testsuite/experimental/simd/tests/bits/test_values.h: New
657 file. Test functions to easily drive a test with simd objects
658 initialized from a given list of values and a range of random
659 values.
660 * testsuite/experimental/simd/tests/bits/ulp.h: New file.
661 Support code to determine the ULP distance of simd objects.
662 * testsuite/experimental/simd/tests/bits/verify.h: New file.
663 Test framework for COMPARE'ing simd objects and instantiating
664 the test templates with value_type and ABI tag.
665 * testsuite/experimental/simd/tests/broadcast.cc: New file. Test
666 simd broadcasts.
667 * testsuite/experimental/simd/tests/casts.cc: New file. Test
668 simd casts.
669 * testsuite/experimental/simd/tests/fpclassify.cc: New file.
670 Test floating-point classification functions.
671 * testsuite/experimental/simd/tests/frexp.cc: New file. Test
672 frexp(simd).
673 * testsuite/experimental/simd/tests/generator.cc: New file. Test
674 simd generator constructor.
675 * testsuite/experimental/simd/tests/hypot3_fma.cc: New file.
676 Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim).
677 * testsuite/experimental/simd/tests/integer_operators.cc: New
678 file. Test integer operators.
679 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
680 New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and
681 modf(simd).
682 * testsuite/experimental/simd/tests/loadstore.cc: New file. Test
683 (converting) simd loads and stores.
684 * testsuite/experimental/simd/tests/logarithm.cc: New file. Test
685 log*(simd).
686 * testsuite/experimental/simd/tests/mask_broadcast.cc: New file.
687 Test simd_mask broadcasts.
688 * testsuite/experimental/simd/tests/mask_conversions.cc: New
689 file. Test simd_mask conversions.
690 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New
691 file. Test simd_mask implicit conversions.
692 * testsuite/experimental/simd/tests/mask_loadstore.cc: New file.
693 Test simd_mask loads and stores.
694 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: New
695 file. Test simd_mask operators convert as specified.
696 * testsuite/experimental/simd/tests/mask_operators.cc: New file.
697 Test simd_mask compares, subscripts, and negation.
698 * testsuite/experimental/simd/tests/mask_reductions.cc: New
699 file. Test simd_mask reductions.
700 * testsuite/experimental/simd/tests/math_1arg.cc: New file. Test
701 1-arg math functions on simd.
702 * testsuite/experimental/simd/tests/math_2arg.cc: New file. Test
703 2-arg math functions on simd.
704 * testsuite/experimental/simd/tests/operator_cvt.cc: New file.
705 Test implicit conversions on simd binary operators behave as
706 specified.
707 * testsuite/experimental/simd/tests/operators.cc: New file. Test
708 simd compares, subscripts, not, unary minus, plus, minus,
709 multiplies, divides, increment, and decrement.
710 * testsuite/experimental/simd/tests/reductions.cc: New file.
711 Test reduce(simd).
712 * testsuite/experimental/simd/tests/remqo.cc: New file. Test
713 remqo(simd).
714 * testsuite/experimental/simd/tests/simd.cc: New file. Basic
715 sanity checks of simd types.
716 * testsuite/experimental/simd/tests/sincos.cc: New file. Test
717 sin(simd) and cos(simd).
718 * testsuite/experimental/simd/tests/split_concat.cc: New file.
719 Test split(simd) and concat(simd, simd).
720 * testsuite/experimental/simd/tests/splits.cc: New file. Test
721 split(simd_mask).
722 * testsuite/experimental/simd/tests/trigonometric.cc: New file.
723 Test remaining trigonometric functions on simd.
724 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New
725 file. Test trunc(simd), ceil(simd), and floor(simd).
726 * testsuite/experimental/simd/tests/where.cc: New file. Test
727 masked operations using where.
728
7292021-01-27 Matthias Kretz <kretz@kde.org>
730
731 * doc/xml/manual/status_cxx2017.xml: Add implementation status
732 of the Parallelism TS 2. Document implementation-defined types
733 and behavior.
734 * include/Makefile.am: Add new headers.
735 * include/Makefile.in: Regenerate.
736 * include/experimental/simd: New file. New header for
737 Parallelism TS 2.
738 * include/experimental/bits/numeric_traits.h: New file.
739 Implementation of P1841R1 using internal naming. Addition of
740 missing IEC559 functionality query.
741 * include/experimental/bits/simd.h: New file. Definition of the
742 public simd interfaces and general implementation helpers.
743 * include/experimental/bits/simd_builtin.h: New file.
744 Implementation of the _VecBuiltin simd_abi.
745 * include/experimental/bits/simd_converter.h: New file. Generic
746 simd conversions.
747 * include/experimental/bits/simd_detail.h: New file. Internal
748 macros for the simd implementation.
749 * include/experimental/bits/simd_fixed_size.h: New file. Simd
750 fixed_size ABI specific implementations.
751 * include/experimental/bits/simd_math.h: New file. Math
752 overloads for simd.
753 * include/experimental/bits/simd_neon.h: New file. Simd NEON
754 specific implementations.
755 * include/experimental/bits/simd_ppc.h: New file. Implement bit
756 shifts to avoid invalid results for integral types smaller than
757 int.
758 * include/experimental/bits/simd_scalar.h: New file. Simd scalar
759 ABI specific implementations.
760 * include/experimental/bits/simd_x86.h: New file. Simd x86
761 specific implementations.
762 * include/experimental/bits/simd_x86_conversions.h: New file.
763 x86 specific conversion optimizations. The conversion patterns
764 work around missing conversion patterns in the compiler and
765 should be removed as soon as PR85048 is resolved.
766 * testsuite/experimental/simd/standard_abi_usable.cc: New file.
767 Test that all (not all fixed_size<N>, though) standard simd and
768 simd_mask types are usable.
769 * testsuite/experimental/simd/standard_abi_usable_2.cc: New
770 file. As above but with -ffast-math.
771 * testsuite/libstdc++-dg/conformance.exp: Don't build simd tests
772 from the standard test loop. Instead use
773 check_vect_support_and_set_flags to build simd tests with the
774 relevant machine flags.
775
7762021-01-27 Jonathan Wakely <jwakely@redhat.com>
777
778 PR libstdc++/66414
779 * include/bits/string_view.tcc
780 (basic_string_view::find(const CharT*, size_type, size_type)):
781 Optimize.
782
7832021-01-27 Paul Fee <paul.f.fee@gmail.com>
784
785 * include/bits/basic_string.h (basic_string::contains): New
786 member functions.
787 * include/std/string_view (basic_string_view::contains):
788 Likewise.
789 * include/std/version (__cpp_lib_string_contains): Define.
790 * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
791 Remove trailing whitespace.
792 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
793 Likewise.
794 * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test.
795 * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test.
796 * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test.
797 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test.
798 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test.
799
7559d465
GA
8002021-01-21 Jonathan Wakely <jwakely@redhat.com>
801
802 * src/c++17/Makefile.in: Regenerate.
803
b93d0e36
GA
8042021-01-20 David Edelsohn <dje.gcc@gmail.com>
805
806 * config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast
807 _OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to
808 __lc_type.
809 (const char* ctype<char>:: is): Same.
810
ef1f8ee6
GA
8112021-01-18 Jonathan Wakely <jwakely@redhat.com>
812
813 PR libstdc++/98725
814 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Do not try to
815 write to a wide character stream if wide character support is
816 disabled in the library.
817
8182021-01-18 Jonathan Wakely <jwakely@redhat.com>
819
820 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Use
821 stringbuf not wstringbuf.
822
8232021-01-18 Jakub Jelinek <jakub@redhat.com>
824
825 PR debug/98708
826 * src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s):
827 Compile with -gno-as-loc-support.
828 * src/c++11/Makefile.in: Regenerated.
829
59cf67d1
GA
8302021-01-16 H.J. Lu <hjl.tools@gmail.com>
831
832 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
833 Add -fcf-protection=none to -march=i486.
834
5fff80fd
GA
8352021-01-14 François Dumont <fdumont@gcc.gnu.org>
836
837 * testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11
838 compliant.
839
8402021-01-14 Alexandre Oliva <oliva@adacore.com>
841
842 * testsuite/30_threads/future/members/poll.cc: Calibrate
843 iteration count.
844
8452021-01-14 François Dumont <fdumont@gcc.gnu.org>
846
847 PR libstdc++/98466
848 * include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr.
849 (_Node_iterator()): Make default.
850 (_Node_const_iterator()): Make default.
851 * include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular
852 iterator checks.
853 * include/debug/safe_iterator.h
854 (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized.
855 * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
856 Likewise.
857 * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add
858 _M_singular checks on input iterators.
859 * src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular
860 checks.
861 * testsuite/23_containers/deque/debug/98466.cc: New test.
862 * testsuite/23_containers/unordered_map/debug/98466.cc: New test.
863
8642021-01-14 Jonathan Wakely <jwakely@redhat.com>
865
866 PR libstdc++/98471
867 * include/bits/fs_path.h (__throw_conversion_error): New
868 function to throw or abort on character conversion errors.
869 (__wstr_from_utf8): Move definition after filesystem_error has
870 been defined. Use __throw_conversion_error.
871 (path::_S_convert<_EcharT>): Use __throw_conversion_error.
872 (path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise.
873 (path::u8string): Likewise.
874
8752021-01-14 Jonathan Wakely <jwakely@redhat.com>
876
877 * include/std/barrier: Update copyright years. Fix whitespace.
878 * include/std/version: Fix whitespace.
879 * testsuite/30_threads/barrier/1.cc: Update copyright years.
880 * testsuite/30_threads/barrier/2.cc: Likewise.
881 * testsuite/30_threads/barrier/arrive.cc: Likewise.
882 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
883 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
884 * testsuite/30_threads/barrier/completion.cc: Likewise.
885
be0851b8
GA
8862021-01-13 Jonathan Wakely <jwakely@redhat.com>
887
888 * doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array.
889
366f86bd
GA
8902021-01-10 David Edelsohn <dje.gcc@gmail.com>
891
892 PR libstdc++/98613
893 * testsuite/ext/vstring/cons/moveable.cc: Suppress false positive
894 warning.
895 * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same.
896
bf5cbb9e
GA
8972021-01-08 Olivier Hainque <hainque@adacore.com>
898
899 * testsuite/20_util/bind/ref_neg.cc: Tweak the
900 dg-prune-output regex for out-of-build-tree contexts.
901
7d187e4f
GA
9022021-01-07 Thomas Rodgers <trodgers@redhat.com>
903
904 * doc/doxygen/user.cfg.in: Add new header.
905 * include/Makefile.am (std_headers): likewise.
906 * include/Makefile.in: Regenerate.
907 * include/precompiled/stdc++.h: Add new header.
908 * include/std/barrier: New file.
909 * include/std/version: Add __cpp_lib_barrier feature test macro.
910 * testsuite/30_threads/barrier/1.cc: New test.
911 * testsuite/30_threads/barrier/2.cc: Likewise.
912 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
913 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
914 * testsuite/30_threads/barrier/arrive.cc: Likewise.
915 * testsuite/30_threads/barrier/completion.cc: Likewise.
916
9172021-01-07 Patrick Palka <ppalka@redhat.com>
918
919 PR libstdc++/98384
920 * testsuite/20_util/to_chars/long_double.cc: Use nexttowardl
921 instead of the non-standard nextupl and nextdownl.
922
651b8a50
GA
9232021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
924
925 * configure: Re-generate.
926
9272021-01-05 Ed Smith-Rowland <3dw4rd@verizon.net>
928
929 * include/precompiled/stdc++.h: Add <source_location> to C++20 section.
930
b6dd195a
GA
9312021-01-01 Jakub Jelinek <jakub@redhat.com>
932
933 * ChangeLog-2020: Rotate ChangeLog. New file.
934
b4df5e92 935\f
618e665a 936Copyright (C) 2021 Free Software Foundation, Inc.
b4df5e92
JW
937
938Copying and distribution of this file, with or without modification,
939are permitted in any medium without royalty provided the copyright
940notice and this notice are preserved.