1 2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
3 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
4 * doc/html/faq.html: Regenerate.
6 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
8 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
9 between scalars requires the __bit_cast helper function instead
12 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
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.
19 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
21 * testsuite/experimental/simd/tests/bits/verify.h
22 (verify::verify): Use %zx for size_t in format string.
24 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
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
35 (genHalfBits): Simplify.
36 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
38 (make_alternating_mask): Moved from mask_loadstore.
39 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
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):
47 * testsuite/experimental/simd/tests/abs.cc: Only include
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.
79 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
81 * testsuite/experimental/simd/README.md: Document the timeout
82 and timeout-factor directives. Minor typo fixed.
84 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
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.
98 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
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.
105 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
107 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
110 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
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.
117 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
119 * include/experimental/optional: Fix header name in comment.
121 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
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.
129 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
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.
138 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
140 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
142 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
144 * include/ext/throw_allocator.h: Use reserved names for
147 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
149 * testsuite/17_intro/names_pstl.cc: Add space after effective
152 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
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
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):
165 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
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.
172 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
174 * include/bits/fs_ops.h (create_directory): Use reserved name
176 * include/bits/ranges_algo.h (__contains_subrange_fn):
178 * include/bits/regex_automaton.h (_State_base::_M_print):
180 * include/bits/regex_automaton.tcc(_State_base::_M_print):
182 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
183 * include/experimental/bits/fs_ops.h (create_directory):
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.
192 2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
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.
198 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
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.
208 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
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:
218 2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
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.
224 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
226 * doc/xml/manual/containers.xml: Tweak a link to N1780
228 * doc/html/manual/associative.html: Regenerate.
230 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
232 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
233 * doc/html/manual/facets.html: Regenerate.
235 2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
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.
241 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
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
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
251 * doc/html/*: Regenerate.
253 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
255 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
256 (__find_last_if_fn): Likewise.
258 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
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:
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:
272 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
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.
282 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
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.
290 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
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.
307 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
309 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
310 filesystem, libbacktrace and experimental.
311 * src/Makefile.in: Regenerate.
313 2023-02-04 Hans-Peter Nilsson <hp@axis.com>
316 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
319 2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
321 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
322 * doc/html/manual/documentation_hacking.html: Regenerate.
324 2023-02-04 François Dumont <fdumont@gcc.gnu.org>
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):
331 2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
333 * config/os/gnu-linux/os_defines.h [!__linux__]
334 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
336 2023-02-03 Patrick Palka <ppalka@redhat.com>
338 * include/bits/ranges_algo.h (__find_last_fn, find_last):
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.
346 2023-02-03 Patrick Palka <ppalka@redhat.com>
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.
353 2023-02-03 Patrick Palka <ppalka@redhat.com>
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.
360 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
362 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
363 * doc/html/manual/abi.html: Regenerate.
365 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
367 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
368 errc::function_not_supported instead of errc::not_supported.
370 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
372 * include/std/sstream (basic_stringbuf::view): Define for old
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:
380 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
381 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
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:
389 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
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
398 * src/c++17/fs_path.cc: ... here.
399 * testsuite/27_io/filesystem/path/108636.cc: New test.
401 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
403 * include/std/variant (variant::operator=): Implement resolution
405 * testsuite/20_util/variant/lwg3585.cc: New test.
407 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
409 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
411 * doc/html/manual/using_exceptions.html: Regenerate.
413 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
415 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
416 * doc/html/manual/debug.html: Regenerate.
418 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
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.
424 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
426 * config/os/generic/error_constants.h (errc::value_too_large)
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,
437 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
439 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
441 * configure: Regenerate.
443 2023-02-01 Hans-Peter Nilsson <hp@axis.com>
446 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
449 2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
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.
456 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
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.
463 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
465 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
467 * doc/html/manual/documentation_hacking.html: Regenerate.
469 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
471 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
472 * doc/html/manual/abi.html: Regenerate.
474 2023-01-27 Jakub Jelinek <jakub@redhat.com>
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.
482 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
484 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
487 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
490 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
492 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
494 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
495 rules named "+" for compatibility with older tzdata.zi files.
497 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
500 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
502 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
504 * testsuite/23_containers/map/modifiers/108554.cc: New test.
506 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
509 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
510 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
512 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
514 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
516 * doc/html/manual/bugs.html: Regenerate.
518 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
521 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
522 /etc/sysconfig/clock.
524 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
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
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.
535 2023-01-23 François Dumont <fdumont@gcc.gnu.org>
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()
543 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
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.
550 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
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:
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.
561 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
563 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
564 Always call _M_fini and _M_getentropy.
566 2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
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.
574 2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
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.
580 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
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.
586 2023-01-17 Martin Liska <mliska@suse.cz>
588 * src/libbacktrace/Makefile.in: Regenerate.
590 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
592 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
594 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
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.
602 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
604 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
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.
611 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
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.
616 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
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)):
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:
628 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
631 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
633 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
636 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
638 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
640 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
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.
649 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
651 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
652 raw __name if __cxa_demangle could not demangle it.
654 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
657 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
660 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
662 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
664 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
666 * testsuite/std/time/tzdb_list/1.cc: Likewise.
668 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
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
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.
691 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
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.
705 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
707 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
709 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
712 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
714 * include/bits/std_mutex.h: Include <errno.h>.
716 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
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
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:
728 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
729 of __cpp_lib_ranges in !HOSTED.
731 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
733 * include/Makefile.am: Install bits/char_traits.h,
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
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
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:
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
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:
771 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
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
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
783 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
786 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
789 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
790 __GTHREAD_LEGACY_MUTEX_T if defined.
792 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
795 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
796 Export __try_use_facet specializations for facets in namespace
798 * config/os/gnu-linux/ldbl-ieee128-extra.ver
799 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
801 * testsuite/util/testsuite_abi.cc: Add to lists of known and
804 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
806 * include/bits/std_mutex.h: Remove <system_error> include.
807 * include/std/condition_variable: Add <bits/error_constants.h>
809 * include/std/mutex: Likewise.
810 * include/std/shared_mutex: Likewise.
812 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
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.
821 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
823 * doc/xml/manual/abi.xml: Add latest library versions.
824 * doc/html/manual/abi.html: Regenerate.
826 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
829 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
830 unused _Alloc_node instance.
832 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
834 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
835 Define as unsigned long if always lock-free, and unsigned int
838 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
840 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
841 __catch macros for exception handling.
843 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
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.
851 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
854 * include/std/span (span::span()): Un-simplify constraint to
855 work for size_t of lesser rank than int.
857 2023-01-07 LIU Hao <lh_mouse@126.com>
860 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
862 * src/c++11/thread.cc: Likewise.
863 * src/c++17/fs_ops.cc: Likewise.
864 * src/filesystem/ops.cc: Likewise.
866 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
869 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
871 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
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
880 2023-01-06 Patrick Palka <ppalka@redhat.com>
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
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.
907 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
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.
914 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
917 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
918 Disable visiting floating-point types.
920 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
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.
927 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
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.
934 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
937 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
939 (StdChronoTimePointPrinter::to_string): Use it.
941 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
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
950 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
953 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
954 using only last component of the name.
956 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
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.
973 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
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.
980 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
983 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
984 Add __gnu_cxx::zoneinfo_dir_override().
986 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
989 * include/std/array (__array_traits<T, 0>::operator T*()): Add
991 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
992 std::array<T, 0>::data().
995 Copyright (C) 2023 Free Software Foundation, Inc.
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.