]> gcc.gnu.org Git - gcc.git/blame - libstdc++-v3/ChangeLog
PR tree-optimization/55060 - False un-initialized variable warnings
[gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
bf1f3168
GA
12021-03-23 Jonathan Wakely <jwakely@redhat.com>
2
3 * testsuite/std/ranges/adaptors/reverse.cc: Replace duplicated
4 line with a check that uses the const being/end overloads.
5
62021-03-23 Moritz Sichert <sichert@in.tum.de>
7
8 * include/std/ranges (reverse_view::begin, reverse_view::end):
9 Qualify make_reverse_iterator calls to avoid ADL.
10 * testsuite/std/ranges/adaptors/reverse.cc: Test that
11 views::reverse works when make_reverse_iterator is defined
12 in an associated namespace.
13
142021-03-23 Jonathan Wakely <jwakely@redhat.com>
15
16 * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT):
17 Do not define when compiling with Clang.
18
8b744f46
GA
192021-03-22 Jonathan Wakely <jwakely@redhat.com>
20
21 * include/std/string_view (basic_string_view(Range&&)): Define new
22 constructor and deduction guide.
23 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: New test.
24 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: New test.
25
262021-03-22 Jonathan Wakely <jwakely@redhat.com>
27
28 * include/bits/range_access.h (begin(T (&)[N]), end(T (&)[N])):
29 Add missing 'noexcept' as per LWG 2280.
30 (rbegin(T (&)[N]), rend(T (&)[N]), rbegin(initializer_list<T>))
31 (rend(initializer_list<T>)): Add 'noexcept' as per LWG 3537.
32 * testsuite/24_iterators/range_access/range_access.cc: Check for
33 expected noexcept specifiers. Check result types of generic
34 std::begin and std::end overloads.
35 * testsuite/24_iterators/range_access/range_access_cpp14.cc:
36 Check for expected noexcept specifiers.
37 * testsuite/24_iterators/range_access/range_access_cpp17.cc:
38 Likewise.
39
5f256a70
GA
402021-03-19 Jonathan Wakely <jwakely@redhat.com>
41
42 * include/std/type_traits (is_scoped_enum): Define.
43 * include/std/version (__cpp_lib_is_scoped_enum): Define.
44 * testsuite/20_util/is_scoped_enum/value.cc: New test.
45 * testsuite/20_util/is_scoped_enum/version.cc: New test.
46
bc212776
GA
472021-03-16 Jonathan Wakely <jwakely@redhat.com>
48
49 PR libstdc++/99341
50 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Remove
51 std::once_flag symbols.
52 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
53 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
54 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
55 Likewise.
56 * config/abi/pre/gnu.ver: Likewise.
57 * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
58 (struct __once_flag_compat): Remove.
59 (_ZNSt9once_flag11_M_activateEv): Remove.
60 (_ZNSt9once_flag9_M_finishEb): Remove.
61
622021-03-16 Jonathan Wakely <jwakely@redhat.com>
63
64 PR libstdc++/99341
65 * include/std/mutex [_GLIBCXX_HAVE_LINUX_FUTEX] (once_flag):
66 Revert to pthread_once_t implementation.
67 [_GLIBCXX_HAVE_LINUX_FUTEX] (call_once): Likewise.
68 * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX]
69 (struct __once_flag_compat): New type matching the reverted
70 implementation of once_flag using futexes.
71 (once_flag::_M_activate): Remove, replace with ...
72 (_ZNSt9once_flag11_M_activateEv): ... alias symbol.
73 (once_flag::_M_finish): Remove, replace with ...
74 (_ZNSt9once_flag9_M_finishEb): ... alias symbol.
75 * testsuite/30_threads/call_once/66146.cc: Removed.
76
3c5b6d24
GA
772021-03-15 Iain Sandoe <iain@sandoe.co.uk>
78
79 * testsuite/17_intro/names.cc: Exclude j from the list
80 of test symbols for Darwin.
81
822021-03-15 Iain Sandoe <iain@sandoe.co.uk>
83
84 * config/os/bsd/darwin/ppc-extra.ver: Add matching for
85 to_chars and from_chars for long double.
86
872021-03-15 Patrick Palka <ppalka@redhat.com>
88
89 * include/bits/max_size_type.h (__max_size_type::operator _Tp):
90 Fix formatting.
91 (__max_size_type::operator++): Define.
92 (__max_size_type::operator--): Likewise.
93 (__max_size_type::operator<=>): Conditionally define (in place
94 of the other comparison operators).
95 (__max_diff_type::operator _Tp): Fix formatting.
96 (__max_diff_type::operator++): Define.
97 (__max_diff_type::operator--): Likewise.
98 (__max_diff_type::operator<=>): Conditionally define (in place
99 of the other comparison operators).
100 * testsuite/std/ranges/iota/max_size_type.cc (test01): Test
101 these operator overloads.
102
c2be8205
CT
1032021-03-15 Caroline Tice <cmtice@google.com>
104
105 PR libstdc++/99172
106 * src/Makefile.am (AM_CXXFLAGS_PRE, AM_CXXFLAGS): Add
107 AM_CXXFLAGS_PRE with the old definition of AM_CXXFLAGS; make
108 AM_CXXFLAGS to be AM_CXXFLAGS_PRE with '-fvtable-verify=std'
109 filtered out.
110 * src/Makefile.in: Regenerate.
111
48ff383f
GA
1122021-03-11 Patrick Palka <ppalka@redhat.com>
113
114 * src/c++17/floating_to_chars.cc: Simplify the file as if
115 __SIZEOF_INT128__ is always defined.
116 [!defined __SIZEOF_INT128__]: Include "uint128_t.h". Define
117 a base-10 to_chars overload for the uint128_t class type.
118 * src/c++17/uint128_t.h: New file.
119 * testsuite/20_util/to_chars/long_double.cc: No longer expect an
120 execution FAIL on targets that have a large long double type
121 but lack __int128.
122
1232021-03-11 Patrick Palka <ppalka@redhat.com>
124
125 * src/c++17/ryu/LOCAL_PATCHES: Update.
126 * src/c++17/ryu/d2s_intrinsics.h: Don't define uint128_t.
127 * src/c++17/ryu/generic_128.h: Likewise.
128 * src/c++17/ryu/ryu_generic_128.h (struct floating_decimal_128):
129 Use uint128_t instead of __uint128_t.
130 (generic_binary_to_decimal): Likewise.
131
1322021-03-11 Patrick Palka <ppalka@redhat.com>
133
134 * src/c++17/ryu/LOCAL_PATCHES: New file.
135
1362021-03-11 Patrick Palka <ppalka@redhat.com>
137
138 * src/c++17/floating_to_chars.cc (uint128_t): New conditionally
139 defined alias of unsigned __int128.
140 (floating_type_traits_binary128::mantissa_t): Use uint128_t
141 instead of unsigned __int128.
142 (floating_type_traits<long double>::mantissa_t)
143 [LONG_DOUBLE_KIND == LDK_IBM128]: Likewise.
144 (get_ieee_repr): Likewise. Make casts from uint_t to mantissa_t
145 and uint32_t explicit. Simplify the extraction of mantissa,
146 exponent and sign bit.
147
1482021-03-11 Jonathan Wakely <jwakely@redhat.com>
149
150 * include/std/barrier (barrier::arrival_token): New move-only
151 class that encapsulates the underlying token value.
152
1532021-03-11 Jonathan Wakely <jwakely@redhat.com>
154
155 * python/libstdcxx/v6/printers.py (find_type): Use tag attribute
156 instead of unqualified() method.
157
1582021-03-11 Jonathan Wakely <jwakely@redhat.com>
159
160 PR libstdc++/99537
161 * include/std/stop_token (_Stop_state_t::_M_release_ownership):
162 Use acq_rel memory ordering.
163
1642021-03-11 Jonathan Wakely <jwakely@redhat.com>
165
166 PR libstdc++/99537
167 * src/c++17/fs_dir.cc (recursive_directory_iterator): Use new
168 helper function to check for permission denied errors.
169 * src/filesystem/dir.cc (recursive_directory_iterator):
170 Likewise.
171 * src/filesystem/dir-common.h (is_permission_denied_error): New
172 helper function.
173
1742021-03-11 Jonathan Wakely <jwakely@redhat.com>
175
176 PR libstdc++/99536
177 * include/bits/random.h (normal_distribution): Use
178 default-initializer for _M_saved and _M_saved_available.
179
e9800852
GA
1802021-03-10 John David Anglin <danglin@gcc.gnu.org>
181
182 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Add options to
183 link with libatomic.
184 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
185 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
186 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
187 * testsuite/30_threads/barrier/arrive.cc: Likewise.
188 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
189 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
190 * testsuite/30_threads/barrier/completion.cc: Likewise.
191 * testsuite/30_threads/latch/3.cc: Likewise.
192 * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
193 * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
194 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
195
1962021-03-10 Jonathan Wakely <jwakely@redhat.com>
197
198 PR libstdc++/99413
199 * include/bits/align.h: Include debug/assertions.h.
200 * include/bits/codecvt.h: Include bits/c++config.h.
201 * include/bits/enable_special_members.h: Likewise.
202 * include/bits/erase_if.h: Likewise.
203 * include/bits/functional_hash.h: Include <type_traits>.
204 * include/bits/invoke.h: Include bits/move.h.
205 * include/bits/ostream_insert.h: Include bits/exception_defines.h.
206 * include/bits/parse_numbers.h: Include <type_traits>.
207 * include/bits/predefined_ops.h: Include bits/c++config.h.
208 * include/bits/range_access.h: Include bits/stl_iterator.h.
209 * include/bits/stl_bvector.h: Do not include bits/stl_vector.h.
210 * include/bits/stl_iterator.h: Include bits/stl_iterator_base_types.h.
211 * include/bits/stl_uninitialized.h: Include bits/stl_algobase.h.
212 * include/bits/uniform_int_dist.h: Include bits/concept_check.h.
213 * include/bits/unique_lock.h: Include bits/std_mutex.h.
214 * include/debug/assertions.h: Include bits/c++config.h.
215
2162021-03-10 Jonathan Wakely <jwakely@redhat.com>
217
218 * include/bits/ranges_cmp.h (__eq_builtin_ptr_cmp): Remove.
219 (ranges::equal_to, ranges::not_equal_to): Do not constrain
220 with __eq_builtin_ptr_cmp.
221 (ranges::less, ranges::greater, ranges::less_equal)
222 (ranges::greater_equal): Do not constrain with
223 __less_builtin_ptr_cmp.
224 * libsupc++/compare (compare_three_way): Do not constrain with
225 __3way_builtin_ptr_cmp.
226 * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to...
227 * testsuite/18_support/comparisons/object/lwg3530.cc: ...here.
228 * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test.
229
2302021-03-10 Jonathan Wakely <jwakely@redhat.com>
231
232 * testsuite/std/time/syn_c++20.cc: Enable synopsis checks for
233 C++20 calendar types.
234
0ad6a2e2
GA
2352021-03-06 Jakub Jelinek <jakub@redhat.com>
236
237 PR libstdc++/99396
238 * include/std/bit (__rotl, __rotr): Add optimized variants for power of
239 two _Nd which the compiler can pattern match the rotates.
240
67f10d28
GA
2412021-03-04 Jonathan Wakely <jwakely@redhat.com>
242
243 PR libstdc++/99382
244 * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc:
245 Make storage larger than required. Verify no write to the last
246 element.
247 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
248 Likewise.
249
f3641ac7
GA
2502021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
251
252 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
253 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
254 Likewise.
255 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
256 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
257 Likewise.
258
2592021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
260
261 * include/experimental/bits/simd.h: Replace reserved _X, _B by
262 _Xp, _Bp.
263 * include/experimental/bits/simd_builtin.h: Likewise.
264 * include/experimental/bits/simd_x86.h: Likewise.
265
ec9dc4fa
GA
2662021-02-27 Jonathan Wakely <jwakely@redhat.com>
267
268 PR libstdc++/99301
269 * include/std/chrono (year_month_day::_M_days_since_epoch()):
270 Convert chrono::month and chrono::day to unsigned before
271 converting to uint32_t.
272
daa68844
GA
2732021-02-25 Jonathan Wakely <jwakely@redhat.com>
274
275 * include/std/chrono (year_month_day::_S_from_days): Perform
276 all calculations with type uint32_t.
277
2782021-02-25 Jonathan Wakely <jwakely@redhat.com>
279
280 * doc/xml/manual/abi.xml: Document versioning for GCC 11.
281 * doc/html/manual/abi.html: Regenerate.
282
2832021-02-25 Jonathan Wakely <jwakely@redhat.com>
284
285 PR libstdc++/99270
286 * testsuite/27_io/headers/cstdio/types_std.cc: Use pointer to
287 FILE instead of FILE.
288
2892021-02-25 Andreas Schwab <schwab@suse.de>
290
291 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
292 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
293 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
294 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
295
2962021-02-25 Jonathan Wakely <jwakely@redhat.com>
297
298 PR libstdc++/99265
299 * include/std/chrono (year_month_day::_S_from_days): Cast long
300 to int explicitly.
301
3022021-02-25 Jonathan Wakely <jwakely@redhat.com>
303
304 * include/std/utility (to_underlying): Define.
305 * include/std/version (__cpp_lib_to_underlying): Define.
306 * testsuite/20_util/to_underlying/1.cc: New test.
307 * testsuite/20_util/to_underlying/version.cc: New test.
308
4028d01a
GA
3092021-02-24 Jonathan Wakely <jwakely@redhat.com>
310
311 PR libstdc++/99261
312 * src/c++17/floating_to_chars.cc (sprintf_ld): Add extra args
313 before value to be printed.
314
3152021-02-24 Patrick Palka <ppalka@redhat.com>
316
317 * src/c++17/floating_to_chars.cc (__floating_to_chars_precision):
318 Relax the condition that guards the printf code path to accept
319 F128_type as well as long double.
320
3212021-02-24 Cassio Neri <cassio.neri@gmail.com>
322
323 * include/std/chrono (year_month_day_last:day): New
324 implementation.
325
3262021-02-24 Cassio Neri <cassio.neri@gmail.com>
327
328 * include/std/chrono (year::is_leap): New implementation.
329 * testsuite/std/time/year/2.cc: New test.
330
3312021-02-24 Cassio Neri <cassio.neri@gmail.com>
332
333 * include/std/chrono (year_month_day::_M_days_since_epoch):
334 New implementation.
335 * testsuite/std/time/year_month_day/4.cc: New test.
336
3372021-02-24 Cassio Neri <cassio.neri@gmail.com>
338
339 * include/std/chrono (year_month_day::_S_from_days): New
340 implementation.
341 * testsuite/std/time/year_month_day/3.cc: New test.
342
3432021-02-24 Patrick Palka <ppalka@redhat.com>
344
345 PR libstdc++/98384
346 * testsuite/20_util/to_chars/long_double.cc: Include <optional>.
347 (test01): Simplify verifying the nearby values by using a
348 2-iteration loop and a dedicated output buffer to check that the
349 nearby values are different. Factor out the printf-based
350 verification into a local function, and check that the leading
351 hex digits agree before comparing to the output of printf. Also
352 verify the output by round-tripping it through from_chars.
353
3542021-02-24 Jonathan Wakely <jwakely@redhat.com>
355
356 PR libstdc++/98389
357 * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars
358 symbols for long double arguments mangled as 'g'.
359 * config/os/gnu-linux/ldbl-extra.ver: Likewise.
360 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise.
361 * src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]:
362 Use -mabi=ibmlongdouble for floating_to_chars.cc.
363 * src/c++17/Makefile.in: Regenerate.
364 * src/c++17/floating_to_chars.cc (floating_type_traits_binary128):
365 New type defining type traits of IEEE binary128 format.
366 (floating_type_traits<__float128>): Define specialization.
367 (floating_type_traits<long double>): Define in terms of
368 floating_type_traits_binary128 when appropriate.
369 (floating_to_shortest_scientific): Handle __float128.
370 (sprintf_ld): New function template for printing a long double
371 or __ieee128 value using sprintf.
372 (__floating_to_chars_shortest, __floating_to_chars_precision):
373 Use sprintf_ld.
374 (to_chars): Define overloads for __float128.
375
3762021-02-24 Jonathan Wakely <jwakely@redhat.com>
377
378 * testsuite/17_intro/names.cc: Undefine 'u' on powerpc*-linux*.
379
71e24b06
GA
3802021-02-23 Martin Sebor <msebor@redhat.com>
381
382 PR c++/99074
383 * libsupc++/dyncast.cc (__dynamic_cast): Return null when
384 first argument is null.
385
3862021-02-23 Jakub Jelinek <jakub@redhat.com>
387
388 PR libstdc++/99181
389 * testsuite/21_strings/char_traits/requirements/char/99181.cc: New
390 test.
391
3922021-02-23 Jakub Jelinek <jakub@redhat.com>
393
394 PR libstdc++/99181
395 * include/bits/char_traits.h (char_traits<char>::compare): For
396 constexpr evaluation don't call
397 __gnu_cxx::char_traits<char_type>::compare but do the comparison loop
398 directly.
399
4002021-02-23 Jakub Jelinek <jakub@redhat.com>
401
402 PR libstdc++/97549
403 * include/pstl/parallel_backend_serial.h: Remove __pstl::__par_backend.
404
4052021-02-23 Patrick Palka <ppalka@redhat.com>
406
407 PR libstdc++/98384
408 * src/c++17/floating_to_chars.cc (get_ieee_repr): Extract
409 the high- and low-order parts from an IBM long double value
410 in an endian-agnostic way.
411
50352c6c
GA
4122021-02-19 Jonathan Wakely <jwakely@redhat.com>
413
414 * include/bits/atomic_wait.h (__thread_relax()): Call
415 __thread_yield() not __gthread_yield().
416
de594739
GA
4172021-02-15 Jonathan Wakely <jwakely@redhat.com>
418
419 * include/bits/atomic_wait.h (__thread_yield()): Check
420 _GLIBCXX_HAS_GTHREADS before using __gthread_yield.
421 (__thread_relax()): Use __thread_yield() instead of repeating
422 the preprocessor checks for __gthread_yield.
423
4242021-02-15 Jonathan Wakely <jwakely@redhat.com>
425
426 * include/std/mutex (once_flag::_M_activate()): Add explicit
427 return statement for passive case.
428 (once_flag::_M_finish(bool)): Use reserved name for parameter.
429
c5ae38e8
GA
4302021-02-14 Jonathan Wakely <jwakely@redhat.com>
431
432 PR libstdc++/99096
433 * testsuite/util/testsuite_fs.h: Always include <unistd.h>.
434
fab095da
GA
4352021-02-12 Jonathan Wakely <jwakely@redhat.com>
436
437 PR libstdc++/88881
438 * src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
439
4402021-02-12 Jonathan Wakely <jwakely@redhat.com>
441
442 * doc/xml/manual/status_cxx2014.xml: Document implementation
443 specific properties of std::experimental::filesystem::rename.
444 * doc/xml/manual/status_cxx2017.xml: Document implementation
445 specific properties of std::filesystem::rename.
446 * doc/html/*: Regenerate.
447 * src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour
448 for directories on Windows.
449 * src/filesystem/ops-common.h (__gnu_posix::rename): Use
450 MoveFileExW on Windows.
451 * testsuite/27_io/filesystem/operations/rename.cc: New test.
452 * testsuite/experimental/filesystem/operations/rename.cc: New test.
453
4542021-02-12 Jonathan Wakely <jwakely@redhat.com>
455
456 * testsuite/util/testsuite_fs.h (nonexistent_path): Add
457 random number to the path.
458
4592021-02-12 Jonathan Wakely <jwakely@redhat.com>
460
461 * include/experimental/internet (address_v6::to_string): Include
462 scope ID in string.
463 * testsuite/experimental/net/internet/address/v6/members.cc:
464 Test to_string() results.
465
4662021-02-12 Jonathan Wakely <jwakely@redhat.com>
467
468 * include/experimental/internet (address_v6::any): Avoid using
469 memcpy in constexpr function.
470 (address_v6::loopback): Likewise.
471 (make_address_v6): Fix missing return statements on error paths.
472 * include/experimental/io_context: Avoid -Wdangling-else
473 warning.
474 * testsuite/experimental/net/internet/address/v4/members.cc:
475 Remove unused variables.
476 * testsuite/experimental/net/internet/address/v6/members.cc:
477 New test.
478
4792021-02-12 Jonathan Wakely <jwakely@redhat.com>
480
481 * include/bits/shared_ptr_base.h (__shared_ptr::_M_get_deleter):
482 Add unused attribute to parameter.
483 * src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq):
484 Likewise.
485
4862021-02-12 Jonathan Wakely <jwakely@redhat.com>
487
488 * testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail
489 if -fno-rtti is used.
490 * testsuite/30_threads/async/forced_unwind.cc: Expect test
491 to abort if -fno-rtti is used.
492
4932021-02-12 Jonathan Wakely <jwakely@redhat.com>
494
495 * testsuite/util/testsuite_allocator.h (memory_resource):
496 Remove requirement for RTTI and exceptions to be enabled.
497
4982021-02-12 Jonathan Wakely <jwakely@redhat.com>
499
500 * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Use
501 static_cast when RTTI is disabled.
502 * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc:
503 Likewise.
504 * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc:
505 Likewise.
506 * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc:
507 Likewise.
508 * testsuite/27_io/basic_stringstream/str/char/2.cc:
509 Likewise.
510 * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc:
511 Likewise.
512
5132021-02-12 Jonathan Wakely <jwakely@redhat.com>
514
515 * include/std/ostream (__syncbuf_base::_S_get): Mark parameter
516 as unused and only use dynamic_cast when RTTI is enabled.
517
5182021-02-12 Jonathan Wakely <jwakely@redhat.com>
519
520 PR libstdc++/99077
521 * src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)):
522 Change int parameter to error_code, to match std::ios_failure.
523 (__throw_ios_failure(const char*, int)): Construct error_code
524 from int parameter.
525
0c5cdb31
GA
5262021-02-11 Jonathan Wakely <jwakely@redhat.com>
527
528 * libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define
529 new macro.
530 * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new
531 macro instead of _GLIBCXX_EH_PTR_COMPAT.
532 (operator==): Likewise.
533
5342021-02-11 Jonathan Wakely <jwakely@redhat.com>
535
536 PR libstdc++/99058
537 * doc/xml/manual/status_cxx2011.xml: Document when support
538 became stable.
539 * doc/xml/manual/status_cxx2014.xml: Likewise.
540 * doc/xml/manual/status_cxx2017.xml: Likewise.
541 * doc/html/manual/status.html: Regenerate.
542
4b37c3ea
GA
5432021-02-10 Jonathan Wakely <jwakely@redhat.com>
544
545 PR libstdc++/88881
546 * src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
547
5482021-02-10 Jonathan Wakely <jwakely@redhat.com>
549
550 * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent)
551 (fs::remove): Use std::system_category() for error codes from
552 GetLastError().
553 * src/filesystem/ops.cc (fs::create_hard_link, fs::remove):
554 Likewise.
555
5562021-02-10 Jonathan Wakely <jwakely@redhat.com>
557
558 * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo
559 in __MINGW32__ macro name.
560 * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
561 * testsuite/27_io/filesystem/path/generation/proximate.cc:
562 Likewise.
563 * testsuite/27_io/filesystem/path/generation/relative.cc:
564 Likewise.
565 * testsuite/util/testsuite_fs.h: Likewise.
566
0a91b73e
GA
5672021-02-09 François Dumont <fdumont@gcc.gnu.org>
568
569 * include/bits/stl_tree.h
570 (__has_is_transparent, __has_is_transparent_t): Move...
571 * include/bits/stl_function.h: ...here.
572 * include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New..
573 (_Hashtable_base<>::_M_equals_tr): New.
574 * include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr,
575 _Hashtable<>::_M_equal_range_tr): New member function templates to perform
576 heterogeneous lookup.
577 (_Hashtable<>::_M_find_before_node_tr): New.
578 (_Hashtable<>::_M_find_node_tr): New.
579 * include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>,
580 unordered_map::contains<>, unordered_map::equal_range<>): New member function
581 templates to perform heterogeneous lookup.
582 (unordered_multimap::find<>, unordered_multimap::count<>,
583 unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise.
584 * include/bits/unordered_set.h (unordered_set::find<>, unordered_set::count<>,
585 unordered_set::contains<>, unordered_set::equal_range<>): Likewise.
586 (unordered_multiset::find<>, unordered_multiset::count<>,
587 unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise.
588 * include/debug/unordered_map
589 (unordered_map::find<>, unordered_map::equal_range<>): Likewise.
590 (unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise.
591 * include/debug/unordered_set
592 (unordered_set::find<>, unordered_set::equal_range<>): Likewise.
593 (unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise.
594 * testsuite/23_containers/unordered_map/operations/1.cc: New test.
595 * testsuite/23_containers/unordered_multimap/operations/1.cc: New test.
596 * testsuite/23_containers/unordered_multiset/operations/1.cc: New test.
597 * testsuite/23_containers/unordered_set/operations/1.cc: New test.
598
5992021-02-09 François Dumont <fdumont@gcc.gnu.org>
600
601 * include/bits/stl_deque.h
602 (std::operator-(deque::iterator, deque::iterator)): Replace if/then with
603 a null pointer test.
604
6052021-02-09 Jonathan Wakely <jwakely@redhat.com>
606
607 * testsuite/27_io/filesystem/operations/remove_all.cc: Remove
608 test directory after making it writable again.
609 * testsuite/experimental/filesystem/operations/remove_all.cc:
610 Likewise.
611
6122021-02-09 Jonathan Wakely <jwakely@redhat.com>
613
614 PR libstdc++/99021
615 * include/std/coroutine (coroutine_handle<P>::from_address): Add
616 noexcept.
617
6182021-02-09 Vladimir Vishnevsky <vv.os.swe@gmail.com>
619
620 * include/ext/stdio_sync_filebuf.h: Remove unused <unistd.h>.
621 * src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t.
622
6232021-02-09 Jakub Jelinek <jakub@redhat.com>
624
625 PR middle-end/98465
626 * include/bits/basic_string.tcc (basic_string::_M_replace): When __s
627 points to the characters moved by earlier _S_move, compute the source
628 address using expression based on the __p pointer rather than __s
629 pointer.
630
9faaa807
GA
6312021-02-03 Jonathan Wakely <jwakely@redhat.com>
632
633 * testsuite/19_diagnostics/error_code/operators/not_equal.cc:
634 Add comparison with same category and different values.
635 * testsuite/19_diagnostics/error_code/operators/less.cc:
636 Likewise. Fix comparison involving different categories.
637 * testsuite/19_diagnostics/error_code/operators/three_way.cc:
638 Likewise.
639 * testsuite/19_diagnostics/error_condition/operators/less.cc:
640 Add comment.
641 * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
642 Likewise.
643
6442021-02-03 yaozhongxiao <yaozhongxiao@linux.alibaba.com>
645
646 * include/experimental/bits/simd_neon.h: Replace repeated vpadd
647 calls with a single vaddv for aarch64.
648
6492021-02-03 Matthias Kretz <kretz@kde.org>
650
651 * testsuite/Makefile.am: Warn about the workaround. Add
652 -fno-tree-vrp to CXXFLAGS passed to the check_simd script.
653 Improve initial user feedback from make check-simd.
654 * testsuite/Makefile.in: Regenerated.
655
6562021-02-03 Matthias Kretz <kretz@kde.org>
657
658 * include/experimental/bits/simd.h: Add __detail::_Minimum and
659 __detail::_Maximum to use them as _BinaryOperation to _S_reduce.
660 Add hmin and hmax overloads for simd and const_where_expression.
661 * include/experimental/bits/simd_scalar.h
662 (_SimdImplScalar::_S_reduce): Make unused _BinaryOperation
663 parameter const-ref to allow calling _S_reduce with an rvalue.
664 * testsuite/experimental/simd/tests/reductions.cc: Add tests for
665 hmin and hmax. Since the compiler statically determined that all
666 tests pass, repeat the test after a call to make_value_unknown.
667
6682021-02-03 Matthias Kretz <kretz@kde.org>
669
670 * testsuite/experimental/simd/tests/bits/verify.h (verify): Add
671 instruction pointer data member. Ensure that the `if (m_failed)`
672 branch is always inlined into the calling code. The body of the
673 conditional can still be a function call. Move the get_ip call
674 into the verify ctor to simplify the ctor calls.
675 (COMPARE): Don't mention the use of all_of for reduction of a
676 simd_mask. It only distracts from the real issue.
677
6782021-02-03 Matthias Kretz <kretz@kde.org>
679
680 * testsuite/experimental/simd/driver.sh: Abstract reading test
681 options into read_src_option function. Read skip, only,
682 expensive, and xfail via read_src_option. Add timeout and
683 timeout-factor options and adjust timeout variable accordingly.
684 * testsuite/experimental/simd/tests/loadstore.cc: Set
685 timeout-factor 2.
686
6872021-02-03 Matthias Kretz <kretz@kde.org>
688
689 * testsuite/experimental/simd/driver.sh: When handling the pipe
690 to log (and on verbose to stdout) count the lines. If it exceeds
691 1000 log the issue and exit 125, which is then handled as a
692 failure.
693
6942021-02-03 Matthias Kretz <kretz@kde.org>
695
696 * testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip:
697 markup for long double on powerpc64*.
698
6992021-02-03 Matthias Kretz <kretz@kde.org>
700
701 * include/experimental/bits/simd.h: Add __have_power10vec
702 conditional on _ARCH_PWR10.
703 * include/experimental/bits/simd_builtin.h: Forward declare
704 _MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is
705 defined.
706 (_MaskImplBuiltin::_S_some_of): Call _S_popcount from the
707 _SuperImpl for optimizations and correctness.
708 * include/experimental/bits/simd_ppc.h: Add _MaskImplPpc.
709 (_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10.
710 Otherwise, for >=int use -vec_sums divided by a sizeof factor.
711 For <int use -vec_sums(vec_sum4s(...)) to sum all mask entries.
712
7132021-02-03 Matthias Kretz <kretz@kde.org>
714
715 * testsuite/experimental/simd/driver.sh: Remove executable on
716 SIGINT. Process compiler and test executable output: In verbose
717 mode print messages immediately, limited to 1000 lines and
718 breaking long lines to below $COLUMNS (or 1024 if not set).
719 Communicating the exit status of the compiler / test with the
720 necessary pipe is done via a message through stdout/-in.
721
7222021-02-03 Matthias Kretz <kretz@kde.org>
723
724 * testsuite/Makefile.am: Ensure .simd.summary is empty before
725 collecting a new summary.
726 * testsuite/Makefile.in: Regenerate.
727
7282021-02-03 Matthias Kretz <kretz@kde.org>
729
730 * testsuite/experimental/simd/generate_makefile.sh: Use
731 different variables internally than documented for user
732 overrides. This makes internal append/prepend work as intended.
733
7342021-02-03 Matthias Kretz <kretz@kde.org>
735
736 * testsuite/experimental/simd/driver.sh (verify_test): Print
737 test output on run xfail. Do not repeat lines from the log that
738 were already printed on stdout.
739 (test_selector): Make the compiler flags pattern usable as a
740 substring selector.
741 (toplevel): Trap on SIGINT and remove the log and sum files.
742 Call timout with --foreground to quickly terminate on SIGINT.
743 * testsuite/experimental/simd/generate_makefile.sh: Simplify run
744 targets via target patterns. Default DRIVEROPTS to -v for run
745 targets. Remove log and sum files after completion of the run
746 target (so that it's always recompiled).
747 Place help text into text file for reasonable 'make help'
748 performance.
749
7502021-02-03 Matthias Kretz <kretz@kde.org>
751
752 * include/experimental/bits/simd.h: Remove unnecessary static
753 assertion. Allow sizeof(8) integer __intrinsic_type to enable
754 the necessary mask type.
755
7562021-02-03 Matthias Kretz <kretz@kde.org>
757
758 * include/experimental/bits/simd.h: Let __intrinsic_type<long
759 double, N> be valid if sizeof(long double) == sizeof(double) and
760 use a __vector double as member type.
761
7622021-02-03 Matthias Kretz <kretz@kde.org>
763
764 * include/experimental/bits/simd.h (__is_intrinsic_type): New
765 internal type trait. Alias for __is_vector_type on x86.
766 (_VectorTraitsImpl): Enable for __intrinsic_type in addition for
767 __vector_type.
768 (__intrin_bitcast): Allow casting to & from vector & intrinsic
769 types.
770 (__intrinsic_type): Explicitly specialize for NEON intrinsic
771 vector types.
772
7732021-02-03 Matthias Kretz <kretz@kde.org>
774
775 * testsuite/experimental/simd/driver.sh: Implement skip, only,
776 expensive, and xfail markers. They can select on type, ABI tag
777 subset number, target-triplet, and compiler flags.
778 * testsuite/experimental/simd/generate_makefile.sh: The summary
779 now includes lines for unexpected passes and expected failures.
780 If the skip or only markers are only conditional on the type, do
781 not generate rules for those types.
782 * testsuite/experimental/simd/tests/abs.cc: Mark test expensive
783 for ABI tag subsets 1-9.
784 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
785 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
786 * testsuite/experimental/simd/tests/casts.cc: Ditto.
787 * testsuite/experimental/simd/tests/generator.cc: Ditto.
788 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
789 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
790 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
791 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
792 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
793 * testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto.
794 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
795 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
796 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
797 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
798 * testsuite/experimental/simd/tests/operators.cc: Ditto.
799 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
800 * testsuite/experimental/simd/tests/simd.cc: Ditto.
801 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
802 * testsuite/experimental/simd/tests/splits.cc: Ditto.
803 * testsuite/experimental/simd/tests/where.cc: Ditto.
804 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In
805 addition replace "test only floattypes" marker by unconditional
806 "float|double|ldouble" only marker.
807 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
808 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
809 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
810 Ditto.
811 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
812 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
813 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
814 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
815 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
816 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
817 * testsuite/experimental/simd/tests/sincos.cc: Ditto. In
818 addition, xfail on run because the reference data is missing.
819
548b75d8
GA
8202021-02-02 Jonathan Wakely <jwakely@redhat.com>
821
822 * doc/xml/manual/status_cxx2011.xml: Remove stray table cell.
823 * doc/xml/manual/status_cxx2014.xml: Likewise.
824 * doc/xml/manual/status_cxx2017.xml: Likewise.
825 * doc/html/manual/status.html: Regenerate.
826
f7884fb1
GA
8272021-02-01 François Dumont <fdumont@gcc.gnu.org>
828
829 PR libstdc++/70303
830 * include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)):
831 Return 0 if both iterators are value-initialized.
832 * testsuite/23_containers/deque/70303.cc: New test.
833 * testsuite/23_containers/vector/70303.cc: New test.
834
8352021-02-01 Jonathan Wakely <jwakely@redhat.com>
836
837 * doc/xml/manual/status_cxx2011.xml: Update std::call_once
838 status.
839 * doc/xml/manual/status_cxx2014.xml: Likewise.
840 * doc/xml/manual/status_cxx2017.xml: Likewise. Update
841 std::from_chars and std::to_chars status. Fix formatting.
842 * doc/html/manual/status.html: Regenerate.
843
85d04a2e
GA
8442021-01-28 Jonathan Wakely <jwakely@redhat.com>
845
846 * include/experimental/bits/numeric_traits.h: Update copyright
847 dates.
848 * include/experimental/bits/simd.h: Likewise.
849 * include/experimental/bits/simd_builtin.h: Likewise.
850 * include/experimental/bits/simd_converter.h: Likewise.
851 * include/experimental/bits/simd_detail.h: Likewise.
852 * include/experimental/bits/simd_fixed_size.h: Likewise.
853 * include/experimental/bits/simd_math.h: Likewise.
854 * include/experimental/bits/simd_neon.h: Likewise.
855 * include/experimental/bits/simd_ppc.h: Likewise.
856 * include/experimental/bits/simd_scalar.h: Likewise.
857 * include/experimental/bits/simd_x86.h: Likewise.
858 * include/experimental/bits/simd_x86_conversions.h: Likewise.
859 * include/experimental/simd: Likewise.
860 * testsuite/experimental/simd/*: Likewise.
861
aa69f0a8
GA
8622021-01-27 Jonathan Wakely <jwakely@redhat.com>
863
864 * doc/xml/manual/status_cxx2017.xml: Replace invalid entity.
865 * doc/html/*: Regenerate.
866
8672021-01-27 Jonathan Wakely <jwakely@redhat.com>
868
869 * testsuite/experimental/simd/generate_makefile.sh: Use printf
870 instead of echo when printing escape characters.
871
8722021-01-27 Matthias Kretz <kretz@kde.org>
873
874 * scripts/check_simd: New file. This script is called from the
875 the check-simd target. It determines a set of compiler flags and
876 simulator setups for calling generate_makefile.sh and passes the
877 information back to the check-simd target, which recurses to the
878 generated Makefiles.
879 * scripts/create_testsuite_files: Remove files below simd/tests/
880 from testsuite_files and place them in testsuite_files_simd.
881 * testsuite/Makefile.am: Add testsuite_files_simd. Add
882 check-simd target.
883 * testsuite/Makefile.in: Regenerate.
884 * testsuite/experimental/simd/driver.sh: New file. This script
885 compiles and runs a given simd test, logging its output and
886 status. It uses the timeout command to implement compile and
887 test timeouts.
888 * testsuite/experimental/simd/generate_makefile.sh: New file.
889 This script generates a Makefile which uses driver.sh to compile
890 and run the tests and collect the logs into a single log file.
891 * testsuite/experimental/simd/tests/abs.cc: New file. Tests
892 abs(simd).
893 * testsuite/experimental/simd/tests/algorithms.cc: New file.
894 Tests min/max(simd, simd).
895 * testsuite/experimental/simd/tests/bits/conversions.h: New
896 file. Contains functions to support tests involving conversions.
897 * testsuite/experimental/simd/tests/bits/make_vec.h: New file.
898 Support functions make_mask and make_vec.
899 * testsuite/experimental/simd/tests/bits/mathreference.h: New
900 file. Support functions to supply precomputed math function
901 reference data.
902 * testsuite/experimental/simd/tests/bits/metahelpers.h: New
903 file. Support code for SFINAE testing.
904 * testsuite/experimental/simd/tests/bits/simd_view.h: New file.
905 * testsuite/experimental/simd/tests/bits/test_values.h: New
906 file. Test functions to easily drive a test with simd objects
907 initialized from a given list of values and a range of random
908 values.
909 * testsuite/experimental/simd/tests/bits/ulp.h: New file.
910 Support code to determine the ULP distance of simd objects.
911 * testsuite/experimental/simd/tests/bits/verify.h: New file.
912 Test framework for COMPARE'ing simd objects and instantiating
913 the test templates with value_type and ABI tag.
914 * testsuite/experimental/simd/tests/broadcast.cc: New file. Test
915 simd broadcasts.
916 * testsuite/experimental/simd/tests/casts.cc: New file. Test
917 simd casts.
918 * testsuite/experimental/simd/tests/fpclassify.cc: New file.
919 Test floating-point classification functions.
920 * testsuite/experimental/simd/tests/frexp.cc: New file. Test
921 frexp(simd).
922 * testsuite/experimental/simd/tests/generator.cc: New file. Test
923 simd generator constructor.
924 * testsuite/experimental/simd/tests/hypot3_fma.cc: New file.
925 Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim).
926 * testsuite/experimental/simd/tests/integer_operators.cc: New
927 file. Test integer operators.
928 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
929 New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and
930 modf(simd).
931 * testsuite/experimental/simd/tests/loadstore.cc: New file. Test
932 (converting) simd loads and stores.
933 * testsuite/experimental/simd/tests/logarithm.cc: New file. Test
934 log*(simd).
935 * testsuite/experimental/simd/tests/mask_broadcast.cc: New file.
936 Test simd_mask broadcasts.
937 * testsuite/experimental/simd/tests/mask_conversions.cc: New
938 file. Test simd_mask conversions.
939 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New
940 file. Test simd_mask implicit conversions.
941 * testsuite/experimental/simd/tests/mask_loadstore.cc: New file.
942 Test simd_mask loads and stores.
943 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: New
944 file. Test simd_mask operators convert as specified.
945 * testsuite/experimental/simd/tests/mask_operators.cc: New file.
946 Test simd_mask compares, subscripts, and negation.
947 * testsuite/experimental/simd/tests/mask_reductions.cc: New
948 file. Test simd_mask reductions.
949 * testsuite/experimental/simd/tests/math_1arg.cc: New file. Test
950 1-arg math functions on simd.
951 * testsuite/experimental/simd/tests/math_2arg.cc: New file. Test
952 2-arg math functions on simd.
953 * testsuite/experimental/simd/tests/operator_cvt.cc: New file.
954 Test implicit conversions on simd binary operators behave as
955 specified.
956 * testsuite/experimental/simd/tests/operators.cc: New file. Test
957 simd compares, subscripts, not, unary minus, plus, minus,
958 multiplies, divides, increment, and decrement.
959 * testsuite/experimental/simd/tests/reductions.cc: New file.
960 Test reduce(simd).
961 * testsuite/experimental/simd/tests/remqo.cc: New file. Test
962 remqo(simd).
963 * testsuite/experimental/simd/tests/simd.cc: New file. Basic
964 sanity checks of simd types.
965 * testsuite/experimental/simd/tests/sincos.cc: New file. Test
966 sin(simd) and cos(simd).
967 * testsuite/experimental/simd/tests/split_concat.cc: New file.
968 Test split(simd) and concat(simd, simd).
969 * testsuite/experimental/simd/tests/splits.cc: New file. Test
970 split(simd_mask).
971 * testsuite/experimental/simd/tests/trigonometric.cc: New file.
972 Test remaining trigonometric functions on simd.
973 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New
974 file. Test trunc(simd), ceil(simd), and floor(simd).
975 * testsuite/experimental/simd/tests/where.cc: New file. Test
976 masked operations using where.
977
9782021-01-27 Matthias Kretz <kretz@kde.org>
979
980 * doc/xml/manual/status_cxx2017.xml: Add implementation status
981 of the Parallelism TS 2. Document implementation-defined types
982 and behavior.
983 * include/Makefile.am: Add new headers.
984 * include/Makefile.in: Regenerate.
985 * include/experimental/simd: New file. New header for
986 Parallelism TS 2.
987 * include/experimental/bits/numeric_traits.h: New file.
988 Implementation of P1841R1 using internal naming. Addition of
989 missing IEC559 functionality query.
990 * include/experimental/bits/simd.h: New file. Definition of the
991 public simd interfaces and general implementation helpers.
992 * include/experimental/bits/simd_builtin.h: New file.
993 Implementation of the _VecBuiltin simd_abi.
994 * include/experimental/bits/simd_converter.h: New file. Generic
995 simd conversions.
996 * include/experimental/bits/simd_detail.h: New file. Internal
997 macros for the simd implementation.
998 * include/experimental/bits/simd_fixed_size.h: New file. Simd
999 fixed_size ABI specific implementations.
1000 * include/experimental/bits/simd_math.h: New file. Math
1001 overloads for simd.
1002 * include/experimental/bits/simd_neon.h: New file. Simd NEON
1003 specific implementations.
1004 * include/experimental/bits/simd_ppc.h: New file. Implement bit
1005 shifts to avoid invalid results for integral types smaller than
1006 int.
1007 * include/experimental/bits/simd_scalar.h: New file. Simd scalar
1008 ABI specific implementations.
1009 * include/experimental/bits/simd_x86.h: New file. Simd x86
1010 specific implementations.
1011 * include/experimental/bits/simd_x86_conversions.h: New file.
1012 x86 specific conversion optimizations. The conversion patterns
1013 work around missing conversion patterns in the compiler and
1014 should be removed as soon as PR85048 is resolved.
1015 * testsuite/experimental/simd/standard_abi_usable.cc: New file.
1016 Test that all (not all fixed_size<N>, though) standard simd and
1017 simd_mask types are usable.
1018 * testsuite/experimental/simd/standard_abi_usable_2.cc: New
1019 file. As above but with -ffast-math.
1020 * testsuite/libstdc++-dg/conformance.exp: Don't build simd tests
1021 from the standard test loop. Instead use
1022 check_vect_support_and_set_flags to build simd tests with the
1023 relevant machine flags.
1024
10252021-01-27 Jonathan Wakely <jwakely@redhat.com>
1026
1027 PR libstdc++/66414
1028 * include/bits/string_view.tcc
1029 (basic_string_view::find(const CharT*, size_type, size_type)):
1030 Optimize.
1031
10322021-01-27 Paul Fee <paul.f.fee@gmail.com>
1033
1034 * include/bits/basic_string.h (basic_string::contains): New
1035 member functions.
1036 * include/std/string_view (basic_string_view::contains):
1037 Likewise.
1038 * include/std/version (__cpp_lib_string_contains): Define.
1039 * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
1040 Remove trailing whitespace.
1041 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
1042 Likewise.
1043 * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test.
1044 * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test.
1045 * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test.
1046 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test.
1047 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test.
1048
7559d465
GA
10492021-01-21 Jonathan Wakely <jwakely@redhat.com>
1050
1051 * src/c++17/Makefile.in: Regenerate.
1052
b93d0e36
GA
10532021-01-20 David Edelsohn <dje.gcc@gmail.com>
1054
1055 * config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast
1056 _OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to
1057 __lc_type.
1058 (const char* ctype<char>:: is): Same.
1059
ef1f8ee6
GA
10602021-01-18 Jonathan Wakely <jwakely@redhat.com>
1061
1062 PR libstdc++/98725
1063 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Do not try to
1064 write to a wide character stream if wide character support is
1065 disabled in the library.
1066
10672021-01-18 Jonathan Wakely <jwakely@redhat.com>
1068
1069 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Use
1070 stringbuf not wstringbuf.
1071
10722021-01-18 Jakub Jelinek <jakub@redhat.com>
1073
1074 PR debug/98708
1075 * src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s):
1076 Compile with -gno-as-loc-support.
1077 * src/c++11/Makefile.in: Regenerated.
1078
59cf67d1
GA
10792021-01-16 H.J. Lu <hjl.tools@gmail.com>
1080
1081 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1082 Add -fcf-protection=none to -march=i486.
1083
5fff80fd
GA
10842021-01-14 François Dumont <fdumont@gcc.gnu.org>
1085
1086 * testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11
1087 compliant.
1088
10892021-01-14 Alexandre Oliva <oliva@adacore.com>
1090
1091 * testsuite/30_threads/future/members/poll.cc: Calibrate
1092 iteration count.
1093
10942021-01-14 François Dumont <fdumont@gcc.gnu.org>
1095
1096 PR libstdc++/98466
1097 * include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr.
1098 (_Node_iterator()): Make default.
1099 (_Node_const_iterator()): Make default.
1100 * include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular
1101 iterator checks.
1102 * include/debug/safe_iterator.h
1103 (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized.
1104 * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
1105 Likewise.
1106 * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add
1107 _M_singular checks on input iterators.
1108 * src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular
1109 checks.
1110 * testsuite/23_containers/deque/debug/98466.cc: New test.
1111 * testsuite/23_containers/unordered_map/debug/98466.cc: New test.
1112
11132021-01-14 Jonathan Wakely <jwakely@redhat.com>
1114
1115 PR libstdc++/98471
1116 * include/bits/fs_path.h (__throw_conversion_error): New
1117 function to throw or abort on character conversion errors.
1118 (__wstr_from_utf8): Move definition after filesystem_error has
1119 been defined. Use __throw_conversion_error.
1120 (path::_S_convert<_EcharT>): Use __throw_conversion_error.
1121 (path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise.
1122 (path::u8string): Likewise.
1123
11242021-01-14 Jonathan Wakely <jwakely@redhat.com>
1125
1126 * include/std/barrier: Update copyright years. Fix whitespace.
1127 * include/std/version: Fix whitespace.
1128 * testsuite/30_threads/barrier/1.cc: Update copyright years.
1129 * testsuite/30_threads/barrier/2.cc: Likewise.
1130 * testsuite/30_threads/barrier/arrive.cc: Likewise.
1131 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
1132 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
1133 * testsuite/30_threads/barrier/completion.cc: Likewise.
1134
be0851b8
GA
11352021-01-13 Jonathan Wakely <jwakely@redhat.com>
1136
1137 * doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array.
1138
366f86bd
GA
11392021-01-10 David Edelsohn <dje.gcc@gmail.com>
1140
1141 PR libstdc++/98613
1142 * testsuite/ext/vstring/cons/moveable.cc: Suppress false positive
1143 warning.
1144 * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same.
1145
bf5cbb9e
GA
11462021-01-08 Olivier Hainque <hainque@adacore.com>
1147
1148 * testsuite/20_util/bind/ref_neg.cc: Tweak the
1149 dg-prune-output regex for out-of-build-tree contexts.
1150
7d187e4f
GA
11512021-01-07 Thomas Rodgers <trodgers@redhat.com>
1152
1153 * doc/doxygen/user.cfg.in: Add new header.
1154 * include/Makefile.am (std_headers): likewise.
1155 * include/Makefile.in: Regenerate.
1156 * include/precompiled/stdc++.h: Add new header.
1157 * include/std/barrier: New file.
1158 * include/std/version: Add __cpp_lib_barrier feature test macro.
1159 * testsuite/30_threads/barrier/1.cc: New test.
1160 * testsuite/30_threads/barrier/2.cc: Likewise.
1161 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
1162 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
1163 * testsuite/30_threads/barrier/arrive.cc: Likewise.
1164 * testsuite/30_threads/barrier/completion.cc: Likewise.
1165
11662021-01-07 Patrick Palka <ppalka@redhat.com>
1167
1168 PR libstdc++/98384
1169 * testsuite/20_util/to_chars/long_double.cc: Use nexttowardl
1170 instead of the non-standard nextupl and nextdownl.
1171
651b8a50
GA
11722021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
1173
1174 * configure: Re-generate.
1175
11762021-01-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1177
1178 * include/precompiled/stdc++.h: Add <source_location> to C++20 section.
1179
b6dd195a
GA
11802021-01-01 Jakub Jelinek <jakub@redhat.com>
1181
1182 * ChangeLog-2020: Rotate ChangeLog. New file.
1183
b4df5e92 1184\f
618e665a 1185Copyright (C) 2021 Free Software Foundation, Inc.
b4df5e92
JW
1186
1187Copying and distribution of this file, with or without modification,
1188are permitted in any medium without royalty provided the copyright
1189notice and this notice are preserved.
This page took 1.043695 seconds and 5 git commands to generate.