Daily bump.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobe311d7c940417677f9537ddc00c10af15d13d8bf
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>
17         PR libstdc++/108413
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
26         https.
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>
39         PR libstdc++/108288
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)):
44         Fix deadlock.
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:
48         New test.
49         * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
50         New test.
52 2023-01-15  Jonathan Wakely  <jwakely@redhat.com>
54         * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
55         dg-options.
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>
77         PR libstdc++/108409
78         * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
79         variable.
81 2023-01-14  Jonathan Wakely  <jwakely@redhat.com>
83         * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
84         loading tzdb.
85         * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
86         effective target.
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
94         a directory.
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
129         specifications.
130         * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
131         export.
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
144         unique_ptr.
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:
148         Ditto.
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,
155         std/string_view
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
160         HOSTED.
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
166         !HOSTED too.
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:
181         Ditto.
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
186         __STDC_HOSTED__.
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:
190         Ditto.
192 2023-01-13  Dimitrij Mijoski  <dmjpp@hotmail.com>
194         PR libstdc++/86419
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
198         returning partial.
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
203         tests.
204         * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
205         test.
207 2023-01-13  Jonathan Wakely  <jwakely@redhat.com>
209         PR libstdc++/108331
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>
215         PR libstdc++/108327
216         * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
217         Export __try_use_facet specializations for facets in namespace
218         __gnu_cxx_ldbl128.
219         * config/os/gnu-linux/ldbl-ieee128-extra.ver
220         (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
221         __gnu_cxx_ieee128.
222         * testsuite/util/testsuite_abi.cc: Add to lists of known and
223         latest versions.
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>
229         include.
230         * include/std/mutex: Likewise.
231         * include/std/shared_mutex: Likewise.
233 2023-01-12  Jonathan Wakely  <jwakely@redhat.com>
235         PR libstdc++/77691
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>
249         PR libstdc++/107189
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
257         otherwise.
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>
266         PR libstdc++/108221
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>
274         PR libstdc++/108221
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>
280         PR middle-end/108300
281         * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
282         <windows.h>.
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>
289         PR libstdc++/108228
290         * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
292 2023-01-06  Jonathan Wakely  <jwakely@redhat.com>
294         PR libstdc++/108235
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
299         rules_counter.
301 2023-01-06  Patrick Palka  <ppalka@redhat.com>
303         PR libstdc++/108260
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
316         feature-test macro.
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>
330         PR libstdc++/108214
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>
337         PR libstdc++/108221
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>
343         PR libstdc++/108288
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>
357         PR libstdc++/108212
358         * python/libstdcxx/v6/printers.py (_utc_timezone): New global
359         variable.
360         (StdChronoTimePointPrinter::to_string): Use it.
362 2023-01-05  Jonathan Wakely  <jwakely@redhat.com>
364         PR libstdc++/108290
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
369         arguments.
371 2023-01-05  Jonathan Wakely  <jwakely@redhat.com>
373         PR libstdc++/108211
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>
379         PR libstdc++/108228
380         PR libstdc++/108235
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>
396         PR libstdc++/108265
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>
403         PR libstdc++/108228
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>
409         PR libstdc++/108258
410         * include/std/array (__array_traits<T, 0>::operator T*()): Add
411         constexpr.
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.