1 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
3 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
4 of $host. Fix check for file being present during native build.
5 * configure: Regenerate.
7 2023-01-17 Martin Liska <mliska@suse.cz>
9 * src/libbacktrace/Makefile.in: Regenerate.
11 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
13 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
15 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
18 * include/c_compatibility/stdatomic.h: Change copyright line to
19 be consistent with other headers contributed under DCO terms.
20 * include/std/expected: Add full stop to copyright line.
21 * src/c++20/tzdb.cc: Likewise.
23 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
25 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
27 * doc/xml/manual/status_cxx2017.xml: Ditto.
28 * doc/xml/manual/status_cxx2020.xml: Ditto.
29 * doc/xml/manual/status_cxx2023.xml: Ditto.
30 * doc/html/manual/status.html: Regenerate.
32 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
34 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
35 and fail gracefully if defining the weak symbol doesn't work.
37 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
40 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
41 fix to other iterator category.
42 (_Safe_iterator<>::operator--(int)): Likewise.
43 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
45 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
46 (invalid_local_iterator_post_increment): New.
47 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
49 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
52 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
54 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
57 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
59 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
61 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
63 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
64 windows.h. Add pecoff as FORMAT_FILE.
65 * config.h.in: Regenerate.
66 * configure: Regenerate.
67 * src/libbacktrace/Makefile.am: Regenerate.
68 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
70 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
72 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
73 raw __name if __cxa_demangle could not demangle it.
75 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
78 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
81 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
83 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
85 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
87 * testsuite/std/time/tzdb_list/1.cc: Likewise.
89 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
91 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
92 --with-libstdcxx-zoneinfo-dir configure option with
93 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
95 * config.h.in: Regenerate.
96 * configure: Regenerate.
97 * doc/xml/manual/configure.xml: Document configure option.
98 * doc/html/manual/configure.html: Regenerate.
99 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
100 * src/c++20/Makefile.in: Regenerate.
101 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
102 null pointer if no directory is configured.
103 (zoneinfo_dir): Replace with ...
104 (zoneinfo_file): New function.
105 (tzdata_stream): New istream class.
106 (remote_version, reload_tzdb): Use tzdata_stream.
107 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
108 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
109 tzdata.zi file in default location.
110 * src/c++20/tzdata.zi: New file.
112 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
114 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
115 * testsuite/std/time/month_day/io.cc: New test.
116 * testsuite/std/time/month_day_last/io.cc: New test.
117 * testsuite/std/time/month_weekday/io.cc: New test.
118 * testsuite/std/time/month_weekday_last/io.cc: New test.
119 * testsuite/std/time/weekday_indexed/io.cc: New test.
120 * testsuite/std/time/weekday_last/io.cc: New test.
121 * testsuite/std/time/year_month/io.cc: New test.
122 * testsuite/std/time/year_month_day_last/io.cc: New test.
123 * testsuite/std/time/year_month_weekday/io.cc: New test.
124 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
126 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
128 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
130 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
133 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
135 * include/bits/std_mutex.h: Include <errno.h>.
137 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
139 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
140 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
141 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
142 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
143 std::make_unique with a freestanding-compatible wrapper around
145 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
146 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
147 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
149 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
150 of __cpp_lib_ranges in !HOSTED.
152 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
154 * include/Makefile.am: Install bits/char_traits.h,
156 * include/Makefile.in: Regenerate.
157 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
158 mbstate-only bits behind appropriate #ifs.
159 * include/std/string_view: Gate <iostream> functionality behind
161 * include/std/version: Enable __cpp_lib_constexpr_string_view
162 and __cpp_lib_starts_ends_with in !HOSTED.
163 * include/std/ranges: Re-enable __is_basic_string_view on
164 freestanding, include <string_view> directly.
165 * include/precompiled/stdc++.h: Include <string_view> when
167 * testsuite/20_util/function_objects/searchers.cc: Skip testing
168 boyer_moore searchers on freestanding
169 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
170 <string>-related tests behind __STDC_HOSTED__.
171 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
172 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
173 unused <stdexcept> include.
174 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
175 unused <vector> include.
176 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
177 Guard <string> related testing behind __STDC_HOSTED__.
178 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
179 Guard <stdexcept> related tests behind __STDC_HOSTED__.
180 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
182 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
183 Guard <stdexcept> tests behind __STDC_HOSTED__.
184 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
185 Enable test on freestanding, guard <stdexcept> bits behind
187 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
188 Guard <stdexcept> bits behind __STDC_HOSTED__.
189 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
192 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
195 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
196 errors in incomplete multibyte sequences.
197 (utf16_in): Remove surrogates parameter. Fix conditions for
199 (utf16_out): Fix condition for returning partial.
200 (ucs2_in): Do not pass surrogates argument to utf16_in.
201 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
202 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
204 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
207 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
210 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
211 __GTHREAD_LEGACY_MUTEX_T if defined.
213 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
216 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
217 Export __try_use_facet specializations for facets in namespace
219 * config/os/gnu-linux/ldbl-ieee128-extra.ver
220 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
222 * testsuite/util/testsuite_abi.cc: Add to lists of known and
225 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
227 * include/bits/std_mutex.h: Remove <system_error> include.
228 * include/std/condition_variable: Add <bits/error_constants.h>
230 * include/std/mutex: Likewise.
231 * include/std/shared_mutex: Likewise.
233 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
236 * include/experimental/memory_resource
237 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
238 (do_allocate, do_deallocate): Check it.
239 * testsuite/experimental/memory_resource/new_delete_resource.cc:
240 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
242 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
244 * doc/xml/manual/abi.xml: Add latest library versions.
245 * doc/html/manual/abi.html: Regenerate.
247 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
250 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
251 unused _Alloc_node instance.
253 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
255 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
256 Define as unsigned long if always lock-free, and unsigned int
259 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
261 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
262 __catch macros for exception handling.
264 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
267 * include/bits/stl_algobase.h (__lg): Replace six overloads with
268 a single function template for all integer types.
269 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
270 arithmetic results back to _Distance.
272 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
275 * include/std/span (span::span()): Un-simplify constraint to
276 work for size_t of lesser rank than int.
278 2023-01-07 LIU Hao <lh_mouse@126.com>
281 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
283 * src/c++11/thread.cc: Likewise.
284 * src/c++17/fs_ops.cc: Likewise.
285 * src/filesystem/ops.cc: Likewise.
287 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
290 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
292 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
295 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
296 template and partial specialization for synchronizing access to
297 time_zone::_Impl::infos.
298 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
301 2023-01-06 Patrick Palka <ppalka@redhat.com>
304 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
305 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
306 (__cpp_lib_ranges_chunk): Likewise.
307 (__cpp_lib_ranges_slide): Likewise.
308 (__cpp_lib_ranges_chunk_by): Likewise.
309 (__cpp_lib_ranges_join_with): Likewise.
310 (__cpp_lib_ranges_repeat): Likewise.
311 (__cpp_lib_ranges_stride): Likewise.
312 (__cpp_lib_ranges_cartesian_product): Likewise.
313 (__cpp_lib_ranges_as_rvalue): Likewise.
314 * include/std/version: Ditto.
315 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
317 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
318 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
319 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
320 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
321 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
322 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
323 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
324 * testsuite/std/ranges/repeat/1.cc: Likewise.
325 * testsuite/std/ranges/zip/1.cc: Likewise.
326 * testsuite/std/ranges/version_c++23.cc: New test.
328 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
331 * include/std/bitset (operator>>): Use alloca in the right
332 scope, not in a constructor.
333 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
335 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
338 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
339 Disable visiting floating-point types.
341 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
344 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
345 (_Safe_iterator::operator--(int)): Do not hold lock around
346 construction of return value.
348 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
350 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
351 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
352 lock release. Revise loop.
353 (__atomic_add): Likewise.
355 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
358 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
360 (StdChronoTimePointPrinter::to_string): Use it.
362 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
365 * include/std/functional (_Bind_front): Add no_unique_address
366 attribute to data members.
367 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
368 size of call wrappers with empty types for targets and bound
371 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
374 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
375 using only last component of the name.
377 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
381 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
382 the latest symbol version.
383 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
384 atomic<_Node*> is not always lock free.
385 (USE_ATOMIC_LIST_HEAD): New macro.
386 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
387 definition of weak symbol.
388 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
389 (tzdb_list::_Node::_S_list_head): New function for accessing
390 list head efficiently.
391 (tzdb_list::_Node::_S_cache_list_head): New function for
392 updating _S_list_head.
394 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
397 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
398 duration rep is unsigned.
399 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
401 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
404 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
405 Add __gnu_cxx::zoneinfo_dir_override().
407 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
410 * include/std/array (__array_traits<T, 0>::operator T*()): Add
412 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
413 std::array<T, 0>::data().
416 Copyright (C) 2023 Free Software Foundation, Inc.
418 Copying and distribution of this file, with or without modification,
419 are permitted in any medium without royalty provided the copyright
420 notice and this notice are preserved.