]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
1 2023-03-07 Jakub Jelinek <jakub@redhat.com>
2
3 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
4 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
5 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
6 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
8
9 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
10
11 PR libstdc++/108882
12 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
13 not match symbols in namespace std::__gnu_cxx11_ieee128.
14 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
15 std::__gnu_cxx11_ieee128::money_{get,put}.
16
17 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
18
19 * libsupc++/eh_personality.cc: Fix spelling in comment.
20
21 2023-03-03 Alexandre Oliva <oliva@adacore.com>
22
23 * testsuite/30_threads/async/async.cc (test04): Initialize
24 steady_start, renamed from steady_begin, next to slow_start.
25 Increase tolerance for final wait.
26
27 2023-03-03 Alexandre Oliva <oliva@adacore.com>
28
29 * testsuite/libstdc++-prettyprinters/80276.cc: Add
30 std::string to debug info.
31 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
32
33 2023-03-03 Alexandre Oliva <oliva@adacore.com>
34
35 PR libstdc++/104852
36 PR libstdc++/95989
37 PR libstdc++/52590
38 * include/bits/std_thread.h (thread::_M_thread_deps): New
39 static implicitly-inline member function.
40 (std::thread template ctor): Pass it to _M_start_thread.
41 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
42 parameter, force it live on entry.
43
44 2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
45
46 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
47 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
48 Likewise.
49 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
50 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
51 Likewise.
52
53 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
54
55 * include/bits/cow_string.h: Fix typo in comment.
56
57 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
58
59 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
60 current time zone cannot be determined.
61 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
62 HAVE_TZDB macro and test all members unconditionally.
63
64 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
65
66 PR libstdc++/108952
67 * include/bits/uses_allocator_args.h
68 (uses_allocator_construction_args): Implement LWG 3527.
69 * testsuite/20_util/pair/astuple/get-2.cc: New test.
70 * testsuite/20_util/scoped_allocator/108952.cc: New test.
71 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
72
73 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
74
75 PR libstdc++/108846
76 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
77 Add __assign_one static member function.
78 (__copy_move<true, false, RA>): Likewise.
79 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
80 value.
81 (__copy_move_backward<IsMove, true, RA>): Likewise.
82 * testsuite/25_algorithms/copy/108846.cc: New test.
83 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
84 * testsuite/25_algorithms/copy_n/108846.cc: New test.
85 * testsuite/25_algorithms/move/108846.cc: New test.
86 * testsuite/25_algorithms/move_backward/108846.cc: New test.
87
88 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
89
90 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
91 attributes.
92
93 2023-02-27 Jonathan Wakely <jwakely@redhat.com>
94
95 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
96 caveat to comment.
97 * include/bits/basic_string.h (resize_and_overwrite): Add
98 doxygen comment.
99
100 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
101
102 * include/experimental/bits/simd.h: Line breaks and indenting
103 fixed to follow the libstdc++ standard.
104 * include/experimental/bits/simd_builtin.h: Likewise.
105 * include/experimental/bits/simd_fixed_size.h: Likewise.
106 * include/experimental/bits/simd_neon.h: Likewise.
107 * include/experimental/bits/simd_ppc.h: Likewise.
108 * include/experimental/bits/simd_scalar.h: Likewise.
109 * include/experimental/bits/simd_x86.h: Likewise.
110
111 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
112
113 PR libstdc++/108030
114 * include/experimental/bits/simd_fixed_size.h
115 (_SimdImplFixedSize::_S_broadcast): Replace inline with
116 _GLIBCXX_SIMD_INTRINSIC.
117 (_SimdImplFixedSize::_S_generate): Likewise.
118 (_SimdImplFixedSize::_S_load): Likewise.
119 (_SimdImplFixedSize::_S_masked_load): Likewise.
120 (_SimdImplFixedSize::_S_store): Likewise.
121 (_SimdImplFixedSize::_S_masked_store): Likewise.
122 (_SimdImplFixedSize::_S_min): Likewise.
123 (_SimdImplFixedSize::_S_max): Likewise.
124 (_SimdImplFixedSize::_S_complement): Likewise.
125 (_SimdImplFixedSize::_S_unary_minus): Likewise.
126 (_SimdImplFixedSize::_S_plus): Likewise.
127 (_SimdImplFixedSize::_S_minus): Likewise.
128 (_SimdImplFixedSize::_S_multiplies): Likewise.
129 (_SimdImplFixedSize::_S_divides): Likewise.
130 (_SimdImplFixedSize::_S_modulus): Likewise.
131 (_SimdImplFixedSize::_S_bit_and): Likewise.
132 (_SimdImplFixedSize::_S_bit_or): Likewise.
133 (_SimdImplFixedSize::_S_bit_xor): Likewise.
134 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
135 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
136 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
137 explicit about not always-inline, yet).
138 (_SimdImplFixedSize::_S_isinf): Likewise.
139 (_SimdImplFixedSize::_S_isfinite): Likewise.
140 (_SimdImplFixedSize::_S_isnan): Likewise.
141 (_SimdImplFixedSize::_S_isnormal): Likewise.
142 (_SimdImplFixedSize::_S_signbit): Likewise.
143
144 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
145
146 PR libstdc++/108856
147 * include/experimental/bits/simd_builtin.h
148 (_SimdImplBuiltin::_S_masked_unary): More efficient
149 implementation of masked inc-/decrement for integers and floats
150 without AVX2.
151 * include/experimental/bits/simd_x86.h
152 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
153 builtins for masked inc-/decrement.
154
155 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
156
157 * include/experimental/executor (executor): Constrain template
158 constructors.
159
160 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
161
162 * include/experimental/internet (basic_endpoint): Add missing
163 constexpr to comparison operators.
164 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
165
166 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
167
168 * include/experimental/internet (network_v4::netmask()): Avoid
169 undefined shift.
170 (network_v4::broadcast()): Optimize and fix for targets with
171 uint_least32_t wider than 32 bits.
172 (network_v4::to_string(const Allocator&)): Fix for custom
173 allocators and optimize using to_chars.
174 (operator==(const network_v4&, const network_v4&)): Add missing
175 constexpr.
176 (operator==(const network_v6&, const network_v6&)): Likewise.
177 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
178 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
179
180 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
181
182 * include/experimental/internet (address_4(const bytes_type&)):
183 Use __builtin_bit_cast if available, otherwise convert to
184 network byte order.
185 (address_v4::to_bytes()): Likewise, but convert from network
186 byte order.
187 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
188 incorrect tests. Check for constexpr too.
189 * testsuite/experimental/net/internet/address/v4/creation.cc:
190 Likewise.
191 * testsuite/experimental/net/internet/address/v4/members.cc:
192 Check that bytes_type is a standard-layout type.
193
194 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
195
196 * include/experimental/internet (address_v4::to_string):
197 Optimize.
198 * testsuite/experimental/net/internet/address/v4/members.cc:
199 Check more addresses.
200
201 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
202
203 * include/ext/aligned_buffer.h (__aligned_buffer): Add
204 diagnostic pragmas.
205
206 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
207
208 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
209 before dg-do.
210
211 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
212
213 * testsuite/experimental/simd/tests/reductions.cc: Introduce
214 max_distance as the type-dependent max error.
215
216 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
217
218 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
219 int. The actual range of these indexes is very small.
220
221 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
222
223 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
224 (_S_bit_shift_right): Declare constexpr. The implementation was
225 already expecting constexpr evaluation.
226
227 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
228
229 PR libstdc++/108030
230 * include/experimental/bits/simd_detail.h
231 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
232 __clang__.
233
234 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
235
236 PR libstdc++/108030
237 * include/experimental/bits/simd.h (__vector_broadcast):
238 Implement via __vector_broadcast_impl instead of
239 __call_with_n_evaluations + 2 lambdas.
240 (__vector_broadcast_impl): New.
241
242 2023-02-22 Alexandre Oliva <oliva@adacore.com>
243
244 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
245 Avoid destruction of the mutex pool.
246
247 2023-02-22 Alexandre Oliva <oliva@adacore.com>
248
249 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
250 on vxworks.
251 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
252 Likewise.
253
254 2023-02-22 Alexandre Oliva <oliva@adacore.com>
255
256 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
257 kernel mode.
258
259 2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
260
261 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
262
263 2023-02-20 Matthias Kretz <m.kretz@gsi.de>
264
265 * include/experimental/bits/simd.h (__extract_part, split):
266 Use reserved name for template parameter.
267
268 2023-02-20 Andreas Schwab <schwab@suse.de>
269
270 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
271
272 2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
273
274 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
275 * doc/html/faq.html: Regenerate.
276
277 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
278
279 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
280 between scalars requires the __bit_cast helper function instead
281 of simd_bit_cast.
282
283 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
284
285 * include/experimental/bits/simd_x86.h
286 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
287 (_SimdImplX86::_S_less_equal): Do not call
288 __builtin_is_constant_evaluated in constexpr-if.
289
290 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
291
292 * testsuite/experimental/simd/tests/bits/verify.h
293 (verify::verify): Use %zx for size_t in format string.
294
295 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
296
297 * testsuite/experimental/simd/generate_makefile.sh: Generate and
298 pre-compile pch.h, which includes all headers that do not depend
299 on command-line macros.
300 * testsuite/experimental/simd/tests/bits/main.h: New file.
301 (iterate_abis, main): Moved from verify.h.
302 * testsuite/experimental/simd/tests/bits/verify.h
303 (iterate_abis, main): Moved to main.h.
304 * testsuite/experimental/simd/tests/bits/conversions.h: Add
305 include guard.
306 (genHalfBits): Simplify.
307 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
308 guard.
309 (make_alternating_mask): Moved from mask_loadstore.
310 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
311 include guard.
312 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
313 * testsuite/experimental/simd/tests/mask_loadstore.cc
314 (make_mask, make_alternating_mask): Removed.
315 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
316 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
317 Removed.
318 * testsuite/experimental/simd/tests/abs.cc: Only include
319 bits/main.h.
320 Ditto.
321 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
322 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
323 * testsuite/experimental/simd/tests/casts.cc: Ditto.
324 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
325 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
326 * testsuite/experimental/simd/tests/generator.cc: Ditto.
327 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
328 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
329 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
330 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
331 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
332 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
333 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
334 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
335 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
336 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
337 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
338 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
339 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
340 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
341 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
342 * testsuite/experimental/simd/tests/simd.cc: Ditto.
343 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
344 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
345 * testsuite/experimental/simd/tests/splits.cc: Ditto.
346 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
347 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
348 * testsuite/experimental/simd/tests/where.cc: Ditto.
349
350 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
351
352 * testsuite/experimental/simd/README.md: Document the timeout
353 and timeout-factor directives. Minor typo fixed.
354
355 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
356
357 PR libstdc++/108030
358 * include/experimental/bits/simd_detail.h: Define
359 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
360 * include/experimental/bits/simd.h: Annotate lambdas with
361 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
362 * include/experimental/bits/simd_builtin.h: Ditto.
363 * include/experimental/bits/simd_converter.h: Ditto.
364 * include/experimental/bits/simd_fixed_size.h: Ditto.
365 * include/experimental/bits/simd_math.h: Ditto.
366 * include/experimental/bits/simd_neon.h: Ditto.
367 * include/experimental/bits/simd_x86.h: Ditto.
368
369 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
370
371 * include/experimental/bits/simd.h
372 (_SimdWrapper::_M_is_constprop_none_of)
373 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
374 computed result still satisfies __builtin_constant_p.
375
376 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
377
378 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
379 ellipsis character.
380
381 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
382
383 * include/Makefile.am: Add new header.
384 * include/Makefile.in: Regenerate.
385 * include/experimental/synchronized_value: New file.
386 * testsuite/experimental/synchronized_value.cc: New test.
387
388 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
389
390 * include/experimental/optional: Fix header name in comment.
391
392 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
393
394 * include/std/format (__format::_Arg_store): New class template.
395 (basic_format_args): Remove nested type _Store and add deduction
396 guide from _Arg_store.
397 (basic_format_arg, make_format_args): Adjust.
398 * testsuite/std/format/arguments/lwg3810.cc: New test.
399
400 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
401
402 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
403 constraints to constructors and add deleted overloads for the
404 dangling cases, as per P2255R2.
405 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
406 make dangling cases ill-formed.
407 * testsuite/20_util/pair/dangling_ref.cc: New test.
408
409 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
410
411 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
412
413 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
414
415 * include/ext/throw_allocator.h: Use reserved names for
416 parameters.
417
418 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
419
420 * testsuite/17_intro/names_pstl.cc: Add space after effective
421 target name.
422
423 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
424
425 * include/pstl/algorithm_fwd.h (__pattern_search_n)
426 (__brick_unique_copy, __brick_adjacent_find)
427 (__brick_generate_n, __pattern_generate_n): Use reserved names
428 for parameters.
429 * include/pstl/algorithm_impl.h (__brick_unique_copy)
430 (__pattern_reverse, __brick_generate_n): Likewise.
431 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
432 (__prefer_parallel_tag): Likewise.
433 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
434 * include/pstl/glue_numeric_defs.h (adjacent_difference):
435 Likewise.
436 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
437 Likewise.
438 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
439 * include/pstl/unseq_backend_simd.h (_Combiner)
440 (__simd_min_element, __simd_minmax_element): Likewise.
441 * testsuite/17_intro/names_pstl.cc: New test.
442
443 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
444
445 * include/bits/fs_ops.h (create_directory): Use reserved name
446 for parameter.
447 * include/bits/ranges_algo.h (__contains_subrange_fn):
448 Likewise.
449 * include/bits/regex_automaton.h (_State_base::_M_print):
450 Likewise.
451 * include/bits/regex_automaton.tcc(_State_base::_M_print):
452 Likewise.
453 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
454 * include/experimental/bits/fs_ops.h (create_directory):
455 Likewise.
456 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
457 (recursive_timed_mutex:_M_clocklock): Likewise.
458 * include/std/tuple (basic_common_reference): Likewise.
459 * libsupc++/cxxabi_init_exception.h
460 (__cxa_init_primary_exception): Likewise.
461 * testsuite/17_intro/names.cc: Add checks.
462
463 2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
464
465 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
466 to www.open-std.org and https.
467 * doc/html/manual/status.html: Regenerate.
468
469 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
470
471 PR libstdc++/103934
472 * include/std/atomic (atomic_flag_wait): Add.
473 (atomic_flag_wait_explicit): Add.
474 (atomic_flag_notify): Add.
475 (atomic_flag_notify_explicit): Add.
476 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
477 Add test case to cover missing atomic_flag free functions.
478
479 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
480
481 PR libstdc++/103934
482 * include/std/atomic (atomic_flag_test): Add.
483 (atomic_flag_test_explicit): Add.
484 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
485 test case to cover missing atomic_flag free functions.
486 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
487 Likewise.
488
489 2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
490
491 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
492 "The Component Object Model" reference.
493 * doc/html/manual/policy_data_structures.html: Regenerate.
494
495 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
496
497 * doc/xml/manual/containers.xml: Tweak a link to N1780
498 (C++ standard).
499 * doc/html/manual/associative.html: Regenerate.
500
501 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
502
503 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
504 * doc/html/manual/facets.html: Regenerate.
505
506 2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
507
508 * doc/xml/manual/policy_data_structures_biblio.xml: Update
509 link to "Worst-case efficient priority queues".
510 * doc/html/manual/policy_data_structures.html: Regenerate.
511
512 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
513
514 * doc/xml/manual/using.xml: Document newly-freestanding
515 headers and the effect of the -ffreestanding flag.
516 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
517 completed.
518 * doc/xml/manual/configure.xml: Document that hosted installs
519 respect __STDC_HOSTED__.
520 * doc/xml/manual/test.xml: Document how to run tests in
521 freestanding mode.
522 * doc/html/*: Regenerate.
523
524 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
525
526 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
527 (__find_last_if_fn): Likewise.
528
529 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
530
531 * include/std/type_traits: Add diagnostic pragmas around
532 references to deprecated std::aligned_storage and
533 std::aligned_union traits.
534 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
535 Add dg-warning for et c++23.
536 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
537 Likewise.
538 * testsuite/20_util/aligned_storage/value.cc: Likewise.
539 * testsuite/20_util/aligned_union/1.cc: Likewise.
540 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
541 Likewise.
542
543 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
544
545 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
546 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
547 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
548 * include/std/type_traits (aligned_storage, aligned_union)
549 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
550 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
551 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
552
553 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
554
555 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
556 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
557 consistent with other 'deprecated' macros.
558 * include/std/type_traits (is_pod, is_pod_v): Use
559 _GLIBCXX20_DEPRECATED_SUGGEST instead.
560
561 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
562
563 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
564 * Makefile.in: Regenerate.
565 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
566 There's no history to be compatible with.
567 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
568 source files from the build.
569 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
570 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
571 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
572 * src/Makefile.in: Regenerate.
573 * src/c++11/Makefile.in: Regenerate.
574 * src/c++17/Makefile.in: Regenerate.
575 * src/c++20/Makefile.in: Regenerate.
576 * src/c++98/Makefile.in: Regenerate.
577
578 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
579
580 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
581 filesystem, libbacktrace and experimental.
582 * src/Makefile.in: Regenerate.
583
584 2023-02-04 Hans-Peter Nilsson <hp@axis.com>
585
586 PR libstdc++/108672
587 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
588 instead of int32_t.
589
590 2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
591
592 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
593 * doc/html/manual/documentation_hacking.html: Regenerate.
594
595 2023-02-04 François Dumont <fdumont@gcc.gnu.org>
596
597 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
598 storage to the move-from instance when allocators are equal.
599 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
600 New test case.
601
602 2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
603
604 * config/os/gnu-linux/os_defines.h [!__linux__]
605 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
606
607 2023-02-03 Patrick Palka <ppalka@redhat.com>
608
609 * include/bits/ranges_algo.h (__find_last_fn, find_last):
610 Define.
611 (__find_last_if_fn, find_last_if): Define.
612 (__find_last_if_not_fn, find_last_if_not): Define.
613 * testsuite/25_algorithms/find_last/1.cc: New test.
614 * testsuite/25_algorithms/find_last_if/1.cc: New test.
615 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
616
617 2023-02-03 Patrick Palka <ppalka@redhat.com>
618
619 * include/bits/ranges_algo.h (out_value_result): Define.
620 (iota_result): Define.
621 (__iota_fn, iota): Define.
622 * testsuite/25_algorithms/iota/1.cc: New test.
623
624 2023-02-03 Patrick Palka <ppalka@redhat.com>
625
626 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
627 (__contains_subrange_fn, contains_subrange): Define.
628 * testsuite/25_algorithms/contains/1.cc: New test.
629 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
630
631 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
632
633 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
634 * doc/html/manual/abi.html: Regenerate.
635
636 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
637
638 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
639 errc::function_not_supported instead of errc::not_supported.
640
641 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
642
643 * include/std/sstream (basic_stringbuf::view): Define for old
644 std::string ABI.
645 (basic_istringstream::view, basic_0stringstream::view)
646 (basic_stringstream::view): Likewise.
647 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
648 { dg-require-effective-target cxx11_abi }.
649 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
650 Likewise.
651 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
652 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
653 Likewise.
654 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
655 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
656 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
657 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
658 Likewise.
659
660 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
661
662 PR libstdc++/108636
663 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
664 conversion operators for directory iterator comparisons with
665 std::default_sentinel_t.
666 * include/bits/fs_path.h (path::path(string_view, _Type))
667 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
668 definitions to ...
669 * src/c++17/fs_path.cc: ... here.
670 * testsuite/27_io/filesystem/path/108636.cc: New test.
671
672 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
673
674 * include/std/variant (variant::operator=): Implement resolution
675 of LWG 3585.
676 * testsuite/20_util/variant/lwg3585.cc: New test.
677
678 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
679
680 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
681 link to https.
682 * doc/html/manual/using_exceptions.html: Regenerate.
683
684 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
685
686 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
687 * doc/html/manual/debug.html: Regenerate.
688
689 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
690
691 * src/c++11/random.cc (random_device::_M_fini): Do not try to
692 close the file handle if the target doesn't support the
693 /dev/random and /dev/urandom files.
694
695 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
696
697 * config/os/generic/error_constants.h (errc::value_too_large)
698 [__AVR__]: Define.
699 * src/c++11/system_error.cc
700 (system_category::default_error_condition) [__AVR__]: Only match
701 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
702 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
703 for ENOENT etc. in switch.
704 (fs::remove_all) [__AVR__]: Likewise.
705 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
706 close etc.
707
708 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
709
710 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
711 embed_zoneinfo=no
712 * configure: Regenerate.
713
714 2023-02-01 Hans-Peter Nilsson <hp@axis.com>
715
716 PR testsuite/108632
717 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
718 struct at end of S0.
719
720 2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
721
722 * doc/xml/manual/shared_ptr.xml: Move links from both
723 http://open-std.org and http://www.open-std.org to
724 https://www.open-std.org.
725 * doc/html/manual/memory.html: Regenerate.
726
727 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
728
729 * doc/xml/manual/appendix_contributing.xml: Adjust link to
730 ISO C++ standard at ANSI.
731 Move link to www.open-std.org to https.
732 * doc/html/manual/appendix_contributing.html: Regenerate.
733
734 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
735
736 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
737 links to https.
738 * doc/html/manual/documentation_hacking.html: Regenerate.
739
740 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
741
742 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
743 * doc/html/manual/abi.html: Regenerate.
744
745 2023-01-27 Jakub Jelinek <jakub@redhat.com>
746
747 PR libstdc++/108568
748 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
749 include features.h if present and then check __GLIBC__ and
750 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
751 __GLIBC_PREREQ which isn't defined yet.
752
753 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
754
755 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
756 string literal.
757
758 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
759
760 PR libstdc++/108554
761 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
762
763 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
764
765 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
766 rules named "+" for compatibility with older tzdata.zi files.
767
768 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
769
770 PR libstdc++/108554
771 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
772 nonnull attribute.
773 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
774 attributes.
775 * testsuite/23_containers/map/modifiers/108554.cc: New test.
776
777 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
778
779 PR libstdc++/108530
780 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
781 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
782
783 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
784
785 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
786 use https.
787 * doc/html/manual/bugs.html: Regenerate.
788
789 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
790
791 PR libstdc++/108530
792 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
793 /etc/sysconfig/clock.
794
795 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
796
797 PR libstdc++/102301
798 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
799 std::make_reverse_iterator.
800 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
801 (make_from_tuple): Add static assertion from P2255 to diagnose
802 dangling references.
803 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
804 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
805
806 2023-01-23 François Dumont <fdumont@gcc.gnu.org>
807
808 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
809 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
810 (_Safe_iterator::operator++(int)): Use latter.
811 (_Safe_iterator::operator--(int)): Likewise.
812 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
813 check.
814 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
815 New.
816 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
817 (_Safe_local_iterator::operator++(int)): Use latter.
818 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
819 entry associated to the array entry.
820
821 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
822
823 * include/bits/fs_path.h (u8path): Add deprecated attribute.
824 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
825 -Wno-deprecated-declarations for C++20 and later.
826 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
827 Likewise.
828 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
829 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
830 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
831
832 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
833
834 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
835 Always call _M_fini and _M_getentropy.
836
837 2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
838
839 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
840 to www.open-std.org to use https.
841 (COM: Component Model Object Technologies): Rename from...
842 (The Component Object Model): ...to.
843 * doc/html/manual/policy_data_structures.html: Regenerate.
844
845 2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
846
847 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
848 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
849 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
850
851 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
852
853 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
854 of $host. Fix check for file being present during native build.
855 * configure: Regenerate.
856
857 2023-01-17 Martin Liska <mliska@suse.cz>
858
859 * src/libbacktrace/Makefile.in: Regenerate.
860
861 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
862
863 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
864
865 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
866
867 PR libstdc++/108413
868 * include/c_compatibility/stdatomic.h: Change copyright line to
869 be consistent with other headers contributed under DCO terms.
870 * include/std/expected: Add full stop to copyright line.
871 * src/c++20/tzdb.cc: Likewise.
872
873 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
874
875 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
876 https.
877 * doc/xml/manual/status_cxx2017.xml: Ditto.
878 * doc/xml/manual/status_cxx2020.xml: Ditto.
879 * doc/xml/manual/status_cxx2023.xml: Ditto.
880 * doc/html/manual/status.html: Regenerate.
881
882 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
883
884 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
885 and fail gracefully if defining the weak symbol doesn't work.
886
887 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
888
889 PR libstdc++/108288
890 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
891 fix to other iterator category.
892 (_Safe_iterator<>::operator--(int)): Likewise.
893 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
894 Fix deadlock.
895 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
896 (invalid_local_iterator_post_increment): New.
897 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
898 New test.
899 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
900 New test.
901
902 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
903
904 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
905 dg-options.
906
907 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
908
909 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
910
911 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
912
913 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
914 windows.h. Add pecoff as FORMAT_FILE.
915 * config.h.in: Regenerate.
916 * configure: Regenerate.
917 * src/libbacktrace/Makefile.am: Regenerate.
918 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
919
920 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
921
922 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
923 raw __name if __cxa_demangle could not demangle it.
924
925 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
926
927 PR libstdc++/108409
928 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
929 variable.
930
931 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
932
933 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
934 loading tzdb.
935 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
936 effective target.
937 * testsuite/std/time/tzdb_list/1.cc: Likewise.
938
939 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
940
941 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
942 --with-libstdcxx-zoneinfo-dir configure option with
943 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
944 a directory.
945 * config.h.in: Regenerate.
946 * configure: Regenerate.
947 * doc/xml/manual/configure.xml: Document configure option.
948 * doc/html/manual/configure.html: Regenerate.
949 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
950 * src/c++20/Makefile.in: Regenerate.
951 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
952 null pointer if no directory is configured.
953 (zoneinfo_dir): Replace with ...
954 (zoneinfo_file): New function.
955 (tzdata_stream): New istream class.
956 (remote_version, reload_tzdb): Use tzdata_stream.
957 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
958 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
959 tzdata.zi file in default location.
960 * src/c++20/tzdata.zi: New file.
961
962 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
963
964 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
965 * testsuite/std/time/month_day/io.cc: New test.
966 * testsuite/std/time/month_day_last/io.cc: New test.
967 * testsuite/std/time/month_weekday/io.cc: New test.
968 * testsuite/std/time/month_weekday_last/io.cc: New test.
969 * testsuite/std/time/weekday_indexed/io.cc: New test.
970 * testsuite/std/time/weekday_last/io.cc: New test.
971 * testsuite/std/time/year_month/io.cc: New test.
972 * testsuite/std/time/year_month_day_last/io.cc: New test.
973 * testsuite/std/time/year_month_weekday/io.cc: New test.
974 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
975
976 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
977
978 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
979 specifications.
980 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
981 export.
982
983 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
984
985 * include/bits/std_mutex.h: Include <errno.h>.
986
987 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
988
989 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
990 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
991 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
992 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
993 std::make_unique with a freestanding-compatible wrapper around
994 unique_ptr.
995 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
996 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
997 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
998 Ditto.
999 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
1000 of __cpp_lib_ranges in !HOSTED.
1001
1002 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
1003
1004 * include/Makefile.am: Install bits/char_traits.h,
1005 std/string_view
1006 * include/Makefile.in: Regenerate.
1007 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
1008 mbstate-only bits behind appropriate #ifs.
1009 * include/std/string_view: Gate <iostream> functionality behind
1010 HOSTED.
1011 * include/std/version: Enable __cpp_lib_constexpr_string_view
1012 and __cpp_lib_starts_ends_with in !HOSTED.
1013 * include/std/ranges: Re-enable __is_basic_string_view on
1014 freestanding, include <string_view> directly.
1015 * include/precompiled/stdc++.h: Include <string_view> when
1016 !HOSTED too.
1017 * testsuite/20_util/function_objects/searchers.cc: Skip testing
1018 boyer_moore searchers on freestanding
1019 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
1020 <string>-related tests behind __STDC_HOSTED__.
1021 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
1022 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
1023 unused <stdexcept> include.
1024 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
1025 unused <vector> include.
1026 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
1027 Guard <string> related testing behind __STDC_HOSTED__.
1028 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
1029 Guard <stdexcept> related tests behind __STDC_HOSTED__.
1030 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1031 Ditto.
1032 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1033 Guard <stdexcept> tests behind __STDC_HOSTED__.
1034 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
1035 Enable test on freestanding, guard <stdexcept> bits behind
1036 __STDC_HOSTED__.
1037 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
1038 Guard <stdexcept> bits behind __STDC_HOSTED__.
1039 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
1040 Ditto.
1041
1042 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
1043
1044 PR libstdc++/86419
1045 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
1046 errors in incomplete multibyte sequences.
1047 (utf16_in): Remove surrogates parameter. Fix conditions for
1048 returning partial.
1049 (utf16_out): Fix condition for returning partial.
1050 (ucs2_in): Do not pass surrogates argument to utf16_in.
1051 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
1052 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
1053 tests.
1054 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
1055 test.
1056
1057 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1058
1059 PR libstdc++/108331
1060 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
1061 __GTHREAD_LEGACY_MUTEX_T if defined.
1062
1063 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1064
1065 PR libstdc++/108327
1066 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
1067 Export __try_use_facet specializations for facets in namespace
1068 __gnu_cxx_ldbl128.
1069 * config/os/gnu-linux/ldbl-ieee128-extra.ver
1070 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
1071 __gnu_cxx_ieee128.
1072 * testsuite/util/testsuite_abi.cc: Add to lists of known and
1073 latest versions.
1074
1075 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1076
1077 * include/bits/std_mutex.h: Remove <system_error> include.
1078 * include/std/condition_variable: Add <bits/error_constants.h>
1079 include.
1080 * include/std/mutex: Likewise.
1081 * include/std/shared_mutex: Likewise.
1082
1083 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1084
1085 PR libstdc++/77691
1086 * include/experimental/memory_resource
1087 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
1088 (do_allocate, do_deallocate): Check it.
1089 * testsuite/experimental/memory_resource/new_delete_resource.cc:
1090 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
1091
1092 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1093
1094 * doc/xml/manual/abi.xml: Add latest library versions.
1095 * doc/html/manual/abi.html: Regenerate.
1096
1097 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
1098
1099 PR libstdc++/107189
1100 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
1101 unused _Alloc_node instance.
1102
1103 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1104
1105 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
1106 Define as unsigned long if always lock-free, and unsigned int
1107 otherwise.
1108
1109 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
1110
1111 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
1112 __catch macros for exception handling.
1113
1114 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
1115
1116 PR libstdc++/108221
1117 * include/bits/stl_algobase.h (__lg): Replace six overloads with
1118 a single function template for all integer types.
1119 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
1120 arithmetic results back to _Distance.
1121
1122 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
1123
1124 PR libstdc++/108221
1125 * include/std/span (span::span()): Un-simplify constraint to
1126 work for size_t of lesser rank than int.
1127
1128 2023-01-07 LIU Hao <lh_mouse@126.com>
1129
1130 PR middle-end/108300
1131 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
1132 <windows.h>.
1133 * src/c++11/thread.cc: Likewise.
1134 * src/c++17/fs_ops.cc: Likewise.
1135 * src/filesystem/ops.cc: Likewise.
1136
1137 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1138
1139 PR libstdc++/108228
1140 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
1141
1142 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1143
1144 PR libstdc++/108235
1145 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
1146 template and partial specialization for synchronizing access to
1147 time_zone::_Impl::infos.
1148 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
1149 rules_counter.
1150
1151 2023-01-06 Patrick Palka <ppalka@redhat.com>
1152
1153 PR libstdc++/108260
1154 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
1155 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
1156 (__cpp_lib_ranges_chunk): Likewise.
1157 (__cpp_lib_ranges_slide): Likewise.
1158 (__cpp_lib_ranges_chunk_by): Likewise.
1159 (__cpp_lib_ranges_join_with): Likewise.
1160 (__cpp_lib_ranges_repeat): Likewise.
1161 (__cpp_lib_ranges_stride): Likewise.
1162 (__cpp_lib_ranges_cartesian_product): Likewise.
1163 (__cpp_lib_ranges_as_rvalue): Likewise.
1164 * include/std/version: Ditto.
1165 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
1166 feature-test macro.
1167 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
1168 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
1169 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
1170 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
1171 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
1172 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
1173 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
1174 * testsuite/std/ranges/repeat/1.cc: Likewise.
1175 * testsuite/std/ranges/zip/1.cc: Likewise.
1176 * testsuite/std/ranges/version_c++23.cc: New test.
1177
1178 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1179
1180 PR libstdc++/108214
1181 * include/std/bitset (operator>>): Use alloca in the right
1182 scope, not in a constructor.
1183 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
1184
1185 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1186
1187 PR libstdc++/108221
1188 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
1189 Disable visiting floating-point types.
1190
1191 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1192
1193 PR libstdc++/108288
1194 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
1195 (_Safe_iterator::operator--(int)): Do not hold lock around
1196 construction of return value.
1197
1198 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
1199
1200 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
1201 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
1202 lock release. Revise loop.
1203 (__atomic_add): Likewise.
1204
1205 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1206
1207 PR libstdc++/108212
1208 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
1209 variable.
1210 (StdChronoTimePointPrinter::to_string): Use it.
1211
1212 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1213
1214 PR libstdc++/108290
1215 * include/std/functional (_Bind_front): Add no_unique_address
1216 attribute to data members.
1217 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
1218 size of call wrappers with empty types for targets and bound
1219 arguments.
1220
1221 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1222
1223 PR libstdc++/108211
1224 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
1225 using only last component of the name.
1226
1227 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1228
1229 PR libstdc++/108228
1230 PR libstdc++/108235
1231 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
1232 the latest symbol version.
1233 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
1234 atomic<_Node*> is not always lock free.
1235 (USE_ATOMIC_LIST_HEAD): New macro.
1236 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
1237 definition of weak symbol.
1238 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
1239 (tzdb_list::_Node::_S_list_head): New function for accessing
1240 list head efficiently.
1241 (tzdb_list::_Node::_S_cache_list_head): New function for
1242 updating _S_list_head.
1243
1244 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1245
1246 PR libstdc++/108265
1247 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
1248 duration rep is unsigned.
1249 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
1250
1251 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
1252
1253 PR libstdc++/108228
1254 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
1255 Add __gnu_cxx::zoneinfo_dir_override().
1256
1257 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
1258
1259 PR libstdc++/108258
1260 * include/std/array (__array_traits<T, 0>::operator T*()): Add
1261 constexpr.
1262 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
1263 std::array<T, 0>::data().
1264
1265 \f
1266 Copyright (C) 2023 Free Software Foundation, Inc.
1267
1268 Copying and distribution of this file, with or without modification,
1269 are permitted in any medium without royalty provided the copyright
1270 notice and this notice are preserved.