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