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