]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/ChangeLog
056174caf12b9ef699cc80cc8644eee363bed428
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
1 2024-01-08 Jonathan Wakely <jwakely@redhat.com>
2
3 * include/bits/unicode.h (__null_sentinel): Remove.
4 * testsuite/17_intro/names.cc: Add __null_sentinel.
5
6 2024-01-08 Jonathan Wakely <jwakely@redhat.com>
7
8 * include/std/format (__format::_Runtime_format_string): Define
9 new class template.
10 (basic_format_string): Add non-consteval constructor for runtime
11 format strings.
12 (runtime_format): Define new function for C++26.
13 * testsuite/std/format/runtime_format.cc: New test.
14
15 2024-01-08 Jonathan Wakely <jwakely@redhat.com>
16
17 * include/bits/chrono_io.h (__formatter_chrono): Always use
18 lvalue arguments to make_format_args.
19 * include/std/format (make_format_args): Change parameter pack
20 from forwarding references to lvalue references. Remove use of
21 remove_reference_t which is now unnecessary.
22 (format_to, formatted_size): Remove incorrect forwarding of
23 arguments.
24 * include/std/ostream (print): Remove forwarding of arguments.
25 * include/std/print (print): Likewise.
26 * testsuite/20_util/duration/io.cc: Use lvalues as arguments to
27 make_format_args.
28 * testsuite/std/format/arguments/args.cc: Likewise.
29 * testsuite/std/format/arguments/lwg3810.cc: Likewise.
30 * testsuite/std/format/functions/format.cc: Likewise.
31 * testsuite/std/format/functions/vformat_to.cc: Likewise.
32 * testsuite/std/format/string.cc: Likewise.
33 * testsuite/std/time/day/io.cc: Likewise.
34 * testsuite/std/time/month/io.cc: Likewise.
35 * testsuite/std/time/weekday/io.cc: Likewise.
36 * testsuite/std/time/year/io.cc: Likewise.
37 * testsuite/std/time/year_month_day/io.cc: Likewise.
38 * testsuite/std/format/arguments/args_neg.cc: New test.
39
40 2024-01-08 Jonathan Wakely <jwakely@redhat.com>
41
42 * include/Makefile.am: Add new headers.
43 * include/Makefile.in: Regenerate.
44 * include/bits/unicode.h: New file.
45 * include/bits/unicode-data.h: New file.
46 * include/std/format: Include <bits/unicode.h>.
47 (__literal_encoding_is_utf8): Move to <bits/unicode.h>.
48 (_Spec::_M_fill): Change type to char32_t.
49 (_Spec::_M_parse_fill_and_align): Read a Unicode scalar value
50 instead of a single character.
51 (__write_padded): Change __fill_char parameter to char32_t and
52 encode it into the output.
53 (__formatter_str::format): Use new __unicode::__field_width and
54 __unicode::__truncate functions.
55 * include/std/ostream: Adjust namespace qualification for
56 __literal_encoding_is_utf8.
57 * include/std/print: Likewise.
58 * src/c++23/print.cc: Add [[unlikely]] attribute to error path.
59 * testsuite/ext/unicode/view.cc: New test.
60 * testsuite/std/format/functions/format.cc: Add missing examples
61 from the standard demonstrating alignment with non-ASCII
62 characters. Add examples checking correct handling of extended
63 grapheme clusters.
64
65 2024-01-08 Jonathan Wakely <jwakely@redhat.com>
66
67 * include/bits/version.def (format_uchar): Define.
68 * include/bits/version.h: Regenerate.
69 * include/std/format (formatter<C, C>::format): Check for
70 _Pres_c and call _M_format_character directly. Cast C to its
71 unsigned equivalent for formatting as an integer.
72 (formatter<char, wchar_t>::format): Likewise.
73 (basic_format_arg(T&)): Store char arguments as unsigned char
74 for formatting to a wide string.
75 * testsuite/std/format/functions/format.cc: Adjust test. Check
76 formatting of
77
78 2024-01-07 Jonathan Wakely <jwakely@redhat.com>
79
80 PR libstdc++/112997
81 * libsupc++/unwind-cxx.h (__cxa_call_terminate): Change first
82 parameter to void*.
83
84 2024-01-07 Jonathan Wakely <jwakely@redhat.com>
85
86 * testsuite/20_util/variant/87619.cc: Remove dg-timeout-factor.
87
88 2024-01-07 Jonathan Wakely <jwakely@redhat.com>
89
90 * include/std/type_traits (is_trivially_destructible_v): Use
91 built-in directly when concepts are supported.
92 * testsuite/20_util/is_trivially_destructible/value_v.cc: New
93 test.
94
95 2024-01-06 Gwenole Beauchesne <gb.devel@gmail.com>
96
97 * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Use
98 nonnull arguments to strtoimax() and wcstoimax() functions.
99
100 2024-01-05 Jonathan Wakely <jwakely@redhat.com>
101
102 * src/c++17/fs_path.cc (path::_List::reserve): Limit maximum
103 size and check for overflows in arithmetic.
104 (path::operator/=(const path&)): Remove redundant exponential
105 growth calculation.
106
107 2024-01-05 Martin Küttler <martin.kuettler@kernkonzept.com>
108
109 * src/c++17/fs_path.cc (path::_List::reserve): Avoid
110 floating-point arithmetic.
111
112 2024-01-05 Jonathan Wakely <jwakely@redhat.com>
113
114 PR libstdc++/113241
115 * include/std/type_traits (is_convertible_v): Guard use of
116 built-in with preprocessor check.
117
118 2024-01-05 Jonathan Wakely <jwakely@redhat.com>
119
120 PR libstdc++/113200
121 * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use
122 __builtin_constant_p to check for unrelated pointers that cannot
123 be compared during constant evaluation.
124 * testsuite/21_strings/char_traits/requirements/113200.cc: New
125 test.
126
127 2024-01-05 Cassio Neri <cassio.neri@gmail.com>
128
129 * include/std/chrono: Fix + and - for months and weekdays.
130 * testsuite/std/time/month/1.cc: Add constexpr tests against overflow.
131 * testsuite/std/time/month/2.cc: New test for extreme values.
132 * testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow.
133 * testsuite/std/time/weekday/2.cc: New test for extreme values.
134
135 2024-01-05 Jonathan Wakely <jwakely@redhat.com>
136
137 PR libstdc++/113099
138 * include/bits/locale_classes.tcc (__try_use_facet): Use
139 if-constexpr for C++11 and up.
140
141 2024-01-05 Ken Matsui <kmatsui@gcc.gnu.org>
142
143 * include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT.
144
145 2024-01-04 Arsen Arsenović <arsen@aarsen.me>
146
147 * include/std/generator (_Subyield_state::_M_jump_in): Fix typo
148 reported by Will Hawkins <hawkinsw@obs.cr>.
149
150 2024-01-04 Arsen Arsenović <arsen@aarsen.me>
151
152 * include/std/generator (_Stateless_alloc): Rename typename _A
153 to _All.
154
155 2024-01-03 Patrick Palka <ppalka@redhat.com>
156
157 PR testsuite/113175
158 * testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce
159 'limit' to 100 from 1000 and adjust 'log2_limit' accordingly.
160 (test03): Likewise.
161
162 \f
163 Copyright (C) 2024 Free Software Foundation, Inc.
164
165 Copying and distribution of this file, with or without modification,
166 are permitted in any medium without royalty provided the copyright
167 notice and this notice are preserved.