xfail all scan-tree-dump-times checks on hppa*64*-*-* in sra-17.c and sra-18.c
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobc2496d4014ad981e12e7d4662fa167a894f0ff11
1 2024-01-15  Patrick Palka  <ppalka@redhat.com>
3         * include/std/variant (__detail::__variant::_Variadic_union):
4         Add bool __trivially_destructible template parameter.
5         (__detail::__variant::_Variadic_union::~_Variadic_union):
6         Use __trivially_destructible in constraints instead.
7         (__detail::__variant::_Variant_storage): Pass
8         __trivially_destructible value to _Variadic_union.
10 2024-01-15  Patrick Palka  <ppalka@redhat.com>
12         * include/bits/stl_iterator.h (const_iterator): Define conversion
13         operators as per P2836R1.
14         * include/bits/version.def (ranges_as_const): Update value.
15         * include/bits/version.h: Regenerate.
16         * testsuite/24_iterators/const_iterator/1.cc (test04): New test.
17         * testsuite/std/ranges/adaptors/as_const/1.cc: Adjust expected
18         value of __cpp_lib_ranges_as_const.
19         * testsuite/std/ranges/version_c++23.cc: Likewise.
21 2024-01-15  Jonathan Wakely  <jwakely@redhat.com>
23         PR libstdc++/108822
24         * include/std/tuple (__assignable, __is_nothrow_assignable):
25         Move pre-C++20 definitions adjacent to their use.
27 2024-01-15  Jonathan Wakely  <jwakely@redhat.com>
29         PR testsuite/113366
30         * include/std/format (basic_format_arg): Use __formattable
31         variable template instead of __format::__formattable_with
32         concept.
34 2024-01-15  Jonathan Wakely  <jwakely@redhat.com>
36         * src/c++20/tzdata.zi: Import new file from 2023d release.
37         * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
38         Update expiry date for leap seconds list.
40 2024-01-13  Jonathan Wakely  <jwakely@redhat.com>
42         PR libstdc++/108822
43         * include/std/tuple (tuple): Add checks for dangling references.
44         Reimplement constraints and constant expressions using C++20
45         features.
46         * include/std/type_traits [C++20]
47         (__is_implicitly_default_constructible_v): Define.
48         (__is_implicitly_default_constructible): Use variable template.
49         * testsuite/20_util/tuple/dangling_ref.cc: New test.
51 2024-01-13  Patrick Palka  <ppalka@redhat.com>
53         PR libstdc++/108827
54         PR libstdc++/111327
55         * include/bits/version.def (bind_back): Define.
56         * include/bits/version.h: Regenerate.
57         * include/std/functional (_Bind_back): Define for C++23.
58         (bind_back): Likewise.
59         * testsuite/20_util/function_objects/bind_back/1.cc: New test
60         (adapted from corresponding bind_front test).
61         * testsuite/20_util/function_objects/bind_back/111327.cc: Likewise.
63 2024-01-13  Patrick Palka  <ppalka@redhat.com>
65         * include/std/functional (_Bind_front): Remove =default special
66         member function declarations.
67         (_Bind_front::operator()): Implement using C++23 deducing this
68         when available.
69         * testsuite/20_util/function_objects/bind_front/111327.cc:
70         Adjust testcase to expect better errors in C++23 mode.
72 2024-01-13  Patrick Palka  <ppalka@redhat.com>
74         * include/std/ranges (views::__adaptor::operator|): Perform
75         perfect forwarding of arguments.
76         (views::__adaptor::_RangeAdaptor::operator()): Pass dummy
77         first argument to _Partial.
78         (views::__adaptor::_Partial::_Partial): Likewise.  Add dummy
79         first parameter.
80         (views::__adaptor::_Pipe::_Pipe): Perform perfect forwarding
81         of arguments.
82         (to): Pass dummy first argument to _Partial.
84 2024-01-13  Jonathan Wakely  <jwakely@redhat.com>
86         PR libstdc++/107466
87         * include/bits/random.tcc (subtract_with_carry_engine::seed):
88         Implement proposed resolution of LWG 4014.
89         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
90         line number.
91         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
92         Check for expected result of 64-bit engine with seed that
93         doesn't fit in 32-bits.
95 2024-01-12  Jonathan Wakely  <jwakely@redhat.com>
97         PR libstdc++/113320
98         * include/std/format (__format::_Runtime_format_string): Add
99         constructor and disable copy operations.
100         (basic_format_string(_Runtime_format_string)): Add noexcept and
101         take parameter by value not rvalue reference.
102         (runtime_format): Add noexcept.
103         * testsuite/std/format/runtime_format.cc: Check noexcept. Check
104         that construction is only possible from prvalues, not xvalues.
106 2024-01-12  Jonathan Wakely  <jwakely@redhat.com>
108         PR libstdc++/105505
109         * include/bits/stl_pair.h (pair::pair(U1&&, U2&&)) [C++23]: Add
110         default template arguments, as per P1951R1.
111         * testsuite/20_util/pair/cons/default_tmpl_args.cc: New test.
113 2024-01-12  Jonathan Wakely  <jwakely@redhat.com>
115         * include/std/format (__format::_Arg_store): Fix PR number in
116         comment. Simplify preprocessor code.
118 2024-01-11  Jonathan Wakely  <jwakely@redhat.com>
120         * doc/xml/manual/evolution.xml: Fix spelling.
121         * doc/html/manual/api.html: Regenerate.
123 2024-01-11  Jonathan Wakely  <jwakely@redhat.com>
125         * doc/xml/manual/evolution.xml: Document addition of
126         libstdc++exp.a.
127         * doc/html/*: Regenerate.
129 2024-01-11  Marcus Haehnel  <marcus.haehnel@kernkonzept.com>
131         * libsupc++/eh_unex_handler.cc: Adjust definition type to
132         declaration.
134 2024-01-11  Michael Levine  <mlevine55@bloomberg.net>
136         * include/std/ranges (__glibcxx_want_ranges_iota): Remove
137         duplicate definition.
139 2024-01-11  François Dumont  <fdumont@gcc.gnu.org>
141         PR libstdc++/112477
142         * src/c++11/debug.cc
143         (_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null
144         sequence.
145         (_Safe_iterator_base::_M_attach_single): Likewise.
146         (_Safe_local_iterator_base::_M_attach): Likewise.
147         (_Safe_local_iterator_base::_M_attach_single): Likewise.
148         * testsuite/23_containers/map/debug/112477.cc: New test case.
150 2024-01-11  Patrick Palka  <ppalka@redhat.com>
152         * include/bits/move.h (__like_t): Define in C++23 mode.
153         * include/std/ranges (views::__adaptor::Partial::operator()):
154         Implement using C++23 deducing this when available.
155         (views::__adaptor::_Pipe::operator()): Likewise.
156         * testsuite/std/ranges/adaptors/100577.cc: Adjust testcase to
157         accept new "no match for call" errors issued in C++23 mode.
158         * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
160 2024-01-11  Jonathan Wakely  <jwakely@redhat.com>
162         * python/libstdcxx/v6/printers.py (StdIntegralConstantPrinter):
163         Add printer for std::integral_constant.
164         * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it.
166 2024-01-11  Jonathan Wakely  <jwakely@redhat.com>
168         PR libstdc++/113258
169         * libsupc++/new_opa.cc: Prefer to use posix_memalign if
170         available.
172 2024-01-11  Ken Matsui  <kmatsui@gcc.gnu.org>
174         * src/filesystem/ops-common.h (stat_type): Use using.
176 2024-01-11  Ken Matsui  <kmatsui@gcc.gnu.org>
178         PR libstdc++/113250
179         * src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&.
180         * src/filesystem/ops.cc (fs::equivalent): Likewise.
181         * testsuite/27_io/filesystem/operations/equivalent.cc: Handle
182         error codes.
183         * testsuite/experimental/filesystem/operations/equivalent.cc:
184         Likewise.
186 2024-01-11  Ken Matsui  <kmatsui@gcc.gnu.org>
188         * include/std/type_traits (is_compound): Do not use __not_.
189         (is_compound_v): Use is_fundamental_v instead.
191 2024-01-11  Patrick Palka  <ppalka@redhat.com>
193         * include/bits/utility.h (_Nth_type): Use
194         _GLIBCXX_USE_BUILTIN_TRAIT instead of __has_builtin.
196 2024-01-09  Jonathan Wakely  <jwakely@redhat.com>
198         * include/bits/unicode-data.h: Regenerate.
199         * include/bits/unicode.h (_Utf_iterator::operator++()): Fix off
200         by one error.
201         (__incb_property): Add missing check for values before the
202         first edge.
203         (__is_extended_pictographic): Invert return values to fix
204         copy&pasted logic.
205         (_Grapheme_cluster_view::_Iterator): Remove second iterator
206         member and find end of cluster lazily.
207         * testsuite/ext/unicode/grapheme_view.cc: New test.
208         * testsuite/ext/unicode/properties.cc: New test.
209         * testsuite/ext/unicode/view.cc: New test.
211 2024-01-09  Andreas Schwab  <schwab@linux-m68k.org>
213         * scripts/extract_symvers.in: Require final colon to only match
214         .dsynsym in the header of the dynamic symtab.
216 2024-01-09  Jonathan Wakely  <jwakely@redhat.com>
218         * include/bits/chrono_io.h (__formatter_chrono::_M_F): Simplify
219         handling of string returned from std::format.
220         (__formatter_chrono::_M_R_T): Likewise.
222 2024-01-08  Jonathan Wakely  <jwakely@redhat.com>
224         * include/bits/unicode.h (__null_sentinel): Remove.
225         * testsuite/17_intro/names.cc: Add __null_sentinel.
227 2024-01-08  Jonathan Wakely  <jwakely@redhat.com>
229         * include/std/format (__format::_Runtime_format_string): Define
230         new class template.
231         (basic_format_string): Add non-consteval constructor for runtime
232         format strings.
233         (runtime_format): Define new function for C++26.
234         * testsuite/std/format/runtime_format.cc: New test.
236 2024-01-08  Jonathan Wakely  <jwakely@redhat.com>
238         * include/bits/chrono_io.h (__formatter_chrono): Always use
239         lvalue arguments to make_format_args.
240         * include/std/format (make_format_args): Change parameter pack
241         from forwarding references to lvalue references. Remove use of
242         remove_reference_t which is now unnecessary.
243         (format_to, formatted_size): Remove incorrect forwarding of
244         arguments.
245         * include/std/ostream (print): Remove forwarding of arguments.
246         * include/std/print (print): Likewise.
247         * testsuite/20_util/duration/io.cc: Use lvalues as arguments to
248         make_format_args.
249         * testsuite/std/format/arguments/args.cc: Likewise.
250         * testsuite/std/format/arguments/lwg3810.cc: Likewise.
251         * testsuite/std/format/functions/format.cc: Likewise.
252         * testsuite/std/format/functions/vformat_to.cc: Likewise.
253         * testsuite/std/format/string.cc: Likewise.
254         * testsuite/std/time/day/io.cc: Likewise.
255         * testsuite/std/time/month/io.cc: Likewise.
256         * testsuite/std/time/weekday/io.cc: Likewise.
257         * testsuite/std/time/year/io.cc: Likewise.
258         * testsuite/std/time/year_month_day/io.cc: Likewise.
259         * testsuite/std/format/arguments/args_neg.cc: New test.
261 2024-01-08  Jonathan Wakely  <jwakely@redhat.com>
263         * include/Makefile.am: Add new headers.
264         * include/Makefile.in: Regenerate.
265         * include/bits/unicode.h: New file.
266         * include/bits/unicode-data.h: New file.
267         * include/std/format: Include <bits/unicode.h>.
268         (__literal_encoding_is_utf8): Move to <bits/unicode.h>.
269         (_Spec::_M_fill): Change type to char32_t.
270         (_Spec::_M_parse_fill_and_align): Read a Unicode scalar value
271         instead of a single character.
272         (__write_padded): Change __fill_char parameter to char32_t and
273         encode it into the output.
274         (__formatter_str::format): Use new __unicode::__field_width and
275         __unicode::__truncate functions.
276         * include/std/ostream: Adjust namespace qualification for
277         __literal_encoding_is_utf8.
278         * include/std/print: Likewise.
279         * src/c++23/print.cc: Add [[unlikely]] attribute to error path.
280         * testsuite/ext/unicode/view.cc: New test.
281         * testsuite/std/format/functions/format.cc: Add missing examples
282         from the standard demonstrating alignment with non-ASCII
283         characters. Add examples checking correct handling of extended
284         grapheme clusters.
286 2024-01-08  Jonathan Wakely  <jwakely@redhat.com>
288         * include/bits/version.def (format_uchar): Define.
289         * include/bits/version.h: Regenerate.
290         * include/std/format (formatter<C, C>::format): Check for
291         _Pres_c and call _M_format_character directly. Cast C to its
292         unsigned equivalent for formatting as an integer.
293         (formatter<char, wchar_t>::format): Likewise.
294         (basic_format_arg(T&)): Store char arguments as unsigned char
295         for formatting to a wide string.
296         * testsuite/std/format/functions/format.cc: Adjust test. Check
297         formatting of
299 2024-01-07  Jonathan Wakely  <jwakely@redhat.com>
301         PR libstdc++/112997
302         * libsupc++/unwind-cxx.h (__cxa_call_terminate): Change first
303         parameter to void*.
305 2024-01-07  Jonathan Wakely  <jwakely@redhat.com>
307         * testsuite/20_util/variant/87619.cc: Remove dg-timeout-factor.
309 2024-01-07  Jonathan Wakely  <jwakely@redhat.com>
311         * include/std/type_traits (is_trivially_destructible_v): Use
312         built-in directly when concepts are supported.
313         * testsuite/20_util/is_trivially_destructible/value_v.cc: New
314         test.
316 2024-01-06  Gwenole Beauchesne  <gb.devel@gmail.com>
318         * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Use
319         nonnull arguments to strtoimax() and wcstoimax() functions.
321 2024-01-05  Jonathan Wakely  <jwakely@redhat.com>
323         * src/c++17/fs_path.cc (path::_List::reserve): Limit maximum
324         size and check for overflows in arithmetic.
325         (path::operator/=(const path&)): Remove redundant exponential
326         growth calculation.
328 2024-01-05  Martin Küttler  <martin.kuettler@kernkonzept.com>
330         * src/c++17/fs_path.cc (path::_List::reserve): Avoid
331         floating-point arithmetic.
333 2024-01-05  Jonathan Wakely  <jwakely@redhat.com>
335         PR libstdc++/113241
336         * include/std/type_traits (is_convertible_v): Guard use of
337         built-in with preprocessor check.
339 2024-01-05  Jonathan Wakely  <jwakely@redhat.com>
341         PR libstdc++/113200
342         * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use
343         __builtin_constant_p to check for unrelated pointers that cannot
344         be compared during constant evaluation.
345         * testsuite/21_strings/char_traits/requirements/113200.cc: New
346         test.
348 2024-01-05  Cassio Neri  <cassio.neri@gmail.com>
350         * include/std/chrono: Fix + and - for months and weekdays.
351         * testsuite/std/time/month/1.cc: Add constexpr tests against overflow.
352         * testsuite/std/time/month/2.cc: New test for extreme values.
353         * testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow.
354         * testsuite/std/time/weekday/2.cc: New test for extreme values.
356 2024-01-05  Jonathan Wakely  <jwakely@redhat.com>
358         PR libstdc++/113099
359         * include/bits/locale_classes.tcc (__try_use_facet): Use
360         if-constexpr for C++11 and up.
362 2024-01-05  Ken Matsui  <kmatsui@gcc.gnu.org>
364         * include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT.
366 2024-01-04  Arsen Arsenović  <arsen@aarsen.me>
368         * include/std/generator (_Subyield_state::_M_jump_in): Fix typo
369         reported by Will Hawkins <hawkinsw@obs.cr>.
371 2024-01-04  Arsen Arsenović  <arsen@aarsen.me>
373         * include/std/generator (_Stateless_alloc): Rename typename _A
374         to _All.
376 2024-01-03  Patrick Palka  <ppalka@redhat.com>
378         PR testsuite/113175
379         * testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce
380         'limit' to 100 from 1000 and adjust 'log2_limit' accordingly.
381         (test03): Likewise.
384 Copyright (C) 2024 Free Software Foundation, Inc.
386 Copying and distribution of this file, with or without modification,
387 are permitted in any medium without royalty provided the copyright
388 notice and this notice are preserved.