]>
Commit | Line | Data |
---|---|---|
dd3455f6 GA |
1 | 2024-01-31 Jonathan Wakely <jwakely@redhat.com> |
2 | ||
3 | * acinclude.m4 (GLIBCXX_CHECK_TEXT_ENCODING): Use <xlocale.h> if | |
4 | needed for newlocale. | |
5 | * configure: Regenerate. | |
6 | * src/c++26/text_encoding.cc: Use <xlocale.h>. | |
7 | ||
8 | 2024-01-31 Jonathan Wakely <jwakely@redhat.com> | |
9 | Ewan Higgs <ewan.higgs@gmail.com> | |
10 | ||
11 | * include/bits/text_encoding-data.h: Regenerate. | |
12 | * scripts/gen_text_encoding_data.py: Add extra_aliases dict | |
13 | containing "ASCII". | |
14 | * testsuite/std/text_encoding/cons.cc: Check "ascii" is known. | |
15 | ||
16 | 2024-01-31 Jonathan Wakely <jwakely@redhat.com> | |
17 | ||
18 | * doc/xml/manual/using.xml: Update tables of supported headers. | |
19 | * doc/html/*: Regenerate. | |
20 | ||
21 | 2024-01-31 Jonathan Wakely <jwakely@redhat.com> | |
22 | ||
23 | * include/std/bitset (_Base_bitset::_M_do_to_ullong): Avoid | |
24 | -Wshift-count-overflow warning. | |
25 | ||
097ddd55 GA |
26 | 2024-01-30 Jonathan Wakely <jwakely@redhat.com> |
27 | ||
28 | * testsuite/std/time/clock/gps/io.cc: Fix expected result in | |
29 | assertion and call test_format() from main. | |
30 | ||
f0706819 GA |
31 | 2024-01-29 François Dumont <fdumont@gcc.gnu.org> |
32 | ||
33 | * doc/xml/manual/debug_mode.xml: Link against libstdc++exp.a to use | |
34 | _GLIBCXX_DEBUG_BACKTRACE macro. | |
35 | ||
2a9637b2 GA |
36 | 2024-01-24 Huanghui Nie <nnnjkk@gmail.com> |
37 | Théo Papadopoulo <papadopoulo@gmail.com> | |
38 | ||
39 | * include/bits/hashtable.h (_Hahstable<>::_M_remove_bucket_begin): Remove | |
40 | _M_before_begin check and cleanup implementation. | |
41 | ||
e2d1f858 GA |
42 | 2024-01-22 Jonathan Wakely <jwakely@redhat.com> |
43 | ||
44 | * testsuite/std/time/clock/file/io.cc: Fix expected result in | |
45 | assertion and call test_format() from main. | |
46 | ||
d9ed3ac2 GA |
47 | 2024-01-21 Jonathan Wakely <jwakely@redhat.com> |
48 | ||
49 | PR libstdc++/113500 | |
50 | * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix | |
51 | printing of subseconds with floating-point rep. | |
52 | (__formatter_chrono::_M_format_to_ostream): Do not write | |
53 | time_point specializations directly to the ostream. | |
54 | (formatter<chrono::sys_time<D>, C>::parse): Do not allow an | |
55 | empty chrono-spec if the type fails to meet the constraints for | |
56 | writing to an ostream with operator<<. | |
57 | * testsuite/std/time/clock/file/io.cc: Check formatting | |
58 | non-integral times with empty chrono-specs. | |
59 | * testsuite/std/time/clock/gps/io.cc: Likewise. | |
60 | * testsuite/std/time/clock/utc/io.cc: Likewise. | |
61 | * testsuite/std/time/hh_mm_ss/io.cc: Likewise. | |
62 | ||
63 | 2024-01-21 Jonathan Wakely <jwakely@redhat.com> | |
64 | ||
65 | * include/bits/chrono.h (__file_clock::from_sys) | |
66 | (__file_clock::to_sys, __file_clock::_S_from_sys) | |
67 | (__file_clock::_S_to_sys): Use common_type for return type. | |
68 | * testsuite/std/time/clock/file/members.cc: Check round trip | |
69 | conversion for time with lower precision that seconds. | |
70 | ||
71 | 2024-01-21 Jonathan Wakely <jwakely@redhat.com> | |
72 | ||
73 | PR libstdc++/113512 | |
74 | * include/std/format (__formatter_fp::format): Fix logic for | |
75 | alternate forms. | |
76 | * testsuite/std/format/functions/format.cc: Check buggy cases of | |
77 | alternate forms with g presentation type. | |
78 | ||
11a5f26c GA |
79 | 2024-01-20 Marek Polacek <polacek@redhat.com> |
80 | ||
81 | PR c++/111410 | |
82 | * include/std/ranges: Add #pragma to disable -Wdangling-reference with | |
83 | std::ranges::views::__adaptor::operator|. | |
84 | ||
c2544854 GA |
85 | 2024-01-19 Jonathan Wakely <jwakely@redhat.com> |
86 | ||
87 | * include/std/format (_Spec::_M_parse_fill_and_align): Do not | |
88 | use CTAD for _Utf32_view. | |
89 | ||
90 | 2024-01-19 Jonathan Wakely <jwakely@redhat.com> | |
91 | ||
92 | PR libstdc++/108822 | |
93 | * include/std/tuple (__glibcxx_no_dangling_refs) [C++17]: Fix | |
94 | wrong fold-operator. | |
95 | * testsuite/20_util/tuple/dangling_ref.cc: Check tuples with one | |
96 | element and three elements. Check allocator-extended | |
97 | constructors. | |
98 | ||
99 | 2024-01-19 Patrick Palka <ppalka@redhat.com> | |
100 | ||
101 | * include/precompiled/stdc++.h [_GLIBCXX_HOSTED]: Include | |
102 | <print> and <text_encoding> for C++23 and C++26 respectively. | |
103 | ||
bb0f96ab GA |
104 | 2024-01-18 Patrick Palka <ppalka@redhat.com> |
105 | ||
106 | * include/bits/stl_pair.h [__cplusplus > 202002L]: | |
107 | Guard P2321R2 changes with __glibcxx_ranges_zip instead. | |
108 | ||
109 | 2024-01-18 Patrick Palka <ppalka@redhat.com> | |
110 | ||
111 | * include/std/tuple [__cplusplus > 202002L]: Guard P2321R2 | |
112 | changes with __cpp_lib_ranges_zip instead. | |
113 | ||
114 | 2024-01-18 Patrick Palka <ppalka@redhat.com> | |
115 | ||
116 | PR libstdc++/109536 | |
117 | * include/debug/safe_base.h (_Safe_sequence_base::_M_swap): | |
118 | Remove _GLIBCXX20_CONSTEXPR from non-inline member function. | |
119 | * include/debug/safe_iterator.h | |
120 | (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_BEGIN): Define. | |
121 | (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_END): Define. | |
122 | (_Safe_iterator::operator=): Use them around the code path that | |
123 | defines a variable of type __gnu_cxx::__scoped_lock. | |
124 | (_Safe_iterator::operator++): Likewise. | |
125 | (_Safe_iterator::operator--): Likewise. | |
126 | (_Safe_iterator::operator+=): Likewise. | |
127 | (_Safe_iterator::operator-=): Likewise. | |
128 | * testsuite/23_containers/vector/element_access/constexpr.cc | |
129 | (test_iterators): Test more iterator operations. | |
130 | * testsuite/23_containers/vector/bool/element_access/constexpr.cc | |
131 | (test_iterators): Likewise. | |
132 | * testsuite/std/ranges/adaptors/all.cc (test08) [_GLIBCXX_DEBUG]: | |
133 | Remove. | |
134 | ||
135 | 2024-01-18 Jonathan Wakely <jwakely@redhat.com> | |
136 | ||
137 | * include/bits/unicode.h (__charset_alias_match): Initialize | |
138 | __var_a and __var_b. | |
139 | ||
140 | 2024-01-18 Jonathan Wakely <jwakely@redhat.com> | |
141 | ||
142 | PR libstdc++/113450 | |
143 | * testsuite/std/format/functions/format.cc: Use signed char | |
144 | instead of int8_t. | |
145 | ||
2c213ac9 GA |
146 | 2024-01-17 Jonathan Wakely <jwakely@redhat.com> |
147 | ||
148 | PR libstdc++/113318 | |
149 | * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++26 directory. | |
150 | (GLIBCXX_CHECK_TEXT_ENCODING): Define. | |
151 | * config.h.in: Regenerate. | |
152 | * configure: Regenerate. | |
153 | * configure.ac: Use GLIBCXX_CHECK_TEXT_ENCODING. | |
154 | * include/Makefile.am: Add new headers. | |
155 | * include/Makefile.in: Regenerate. | |
156 | * include/bits/locale_classes.h (locale::encoding): Declare new | |
157 | member function. | |
158 | * include/bits/unicode.h (__charset_alias_match): New function. | |
159 | * include/bits/text_encoding-data.h: New file. | |
160 | * include/bits/version.def (text_encoding): Define. | |
161 | * include/bits/version.h: Regenerate. | |
162 | * include/std/text_encoding: New file. | |
163 | * src/Makefile.am: Add new subdirectory. | |
164 | * src/Makefile.in: Regenerate. | |
165 | * src/c++26/Makefile.am: New file. | |
166 | * src/c++26/Makefile.in: New file. | |
167 | * src/c++26/text_encoding.cc: New file. | |
168 | * src/experimental/Makefile.am: Include c++26 convenience | |
169 | library. | |
170 | * src/experimental/Makefile.in: Regenerate. | |
171 | * python/libstdcxx/v6/printers.py (StdTextEncodingPrinter): New | |
172 | printer. | |
173 | * scripts/gen_text_encoding_data.py: New file. | |
174 | * testsuite/22_locale/locale/encoding.cc: New test. | |
175 | * testsuite/ext/unicode/charset_alias_match.cc: New test. | |
176 | * testsuite/std/text_encoding/cons.cc: New test. | |
177 | * testsuite/std/text_encoding/members.cc: New test. | |
178 | * testsuite/std/text_encoding/requirements.cc: New test. | |
179 | ||
180 | 2024-01-17 Jonathan Wakely <jwakely@redhat.com> | |
181 | ||
182 | * include/bits/unicode.h (_Grapheme_cluster_view): Require view. | |
183 | Do not use CTAD for _Utf32_view. | |
184 | (__format_width, __truncate): Do not use CTAD. | |
185 | (enable_borrowed_range<_Utf_view<T, R>>): Define specialization. | |
186 | (enable_borrowed_range<_Grapheme_cluster_view<R>>): Likewise. | |
187 | ||
188 | 2024-01-17 Patrick Palka <ppalka@redhat.com> | |
189 | ||
190 | * include/std/ranges (views::_CartesianProduct::operator()): | |
191 | Adjust identity case as per P2540R1. | |
192 | * testsuite/std/ranges/cartesian_product/1.cc (test01): | |
193 | Adjust expected result of the identity case. | |
194 | ||
be035ec4 GA |
195 | 2024-01-15 Patrick Palka <ppalka@redhat.com> |
196 | ||
197 | * include/std/variant (__detail::__variant::_Variadic_union): | |
198 | Add bool __trivially_destructible template parameter. | |
199 | (__detail::__variant::_Variadic_union::~_Variadic_union): | |
200 | Use __trivially_destructible in constraints instead. | |
201 | (__detail::__variant::_Variant_storage): Pass | |
202 | __trivially_destructible value to _Variadic_union. | |
203 | ||
204 | 2024-01-15 Patrick Palka <ppalka@redhat.com> | |
205 | ||
206 | * include/bits/stl_iterator.h (const_iterator): Define conversion | |
207 | operators as per P2836R1. | |
208 | * include/bits/version.def (ranges_as_const): Update value. | |
209 | * include/bits/version.h: Regenerate. | |
210 | * testsuite/24_iterators/const_iterator/1.cc (test04): New test. | |
211 | * testsuite/std/ranges/adaptors/as_const/1.cc: Adjust expected | |
212 | value of __cpp_lib_ranges_as_const. | |
213 | * testsuite/std/ranges/version_c++23.cc: Likewise. | |
214 | ||
215 | 2024-01-15 Jonathan Wakely <jwakely@redhat.com> | |
216 | ||
217 | PR libstdc++/108822 | |
218 | * include/std/tuple (__assignable, __is_nothrow_assignable): | |
219 | Move pre-C++20 definitions adjacent to their use. | |
220 | ||
221 | 2024-01-15 Jonathan Wakely <jwakely@redhat.com> | |
222 | ||
223 | PR testsuite/113366 | |
224 | * include/std/format (basic_format_arg): Use __formattable | |
225 | variable template instead of __format::__formattable_with | |
226 | concept. | |
227 | ||
228 | 2024-01-15 Jonathan Wakely <jwakely@redhat.com> | |
229 | ||
230 | * src/c++20/tzdata.zi: Import new file from 2023d release. | |
231 | * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds) | |
232 | Update expiry date for leap seconds list. | |
233 | ||
ed5bf208 GA |
234 | 2024-01-13 Jonathan Wakely <jwakely@redhat.com> |
235 | ||
236 | PR libstdc++/108822 | |
237 | * include/std/tuple (tuple): Add checks for dangling references. | |
238 | Reimplement constraints and constant expressions using C++20 | |
239 | features. | |
240 | * include/std/type_traits [C++20] | |
241 | (__is_implicitly_default_constructible_v): Define. | |
242 | (__is_implicitly_default_constructible): Use variable template. | |
243 | * testsuite/20_util/tuple/dangling_ref.cc: New test. | |
244 | ||
245 | 2024-01-13 Patrick Palka <ppalka@redhat.com> | |
246 | ||
247 | PR libstdc++/108827 | |
248 | PR libstdc++/111327 | |
249 | * include/bits/version.def (bind_back): Define. | |
250 | * include/bits/version.h: Regenerate. | |
251 | * include/std/functional (_Bind_back): Define for C++23. | |
252 | (bind_back): Likewise. | |
253 | * testsuite/20_util/function_objects/bind_back/1.cc: New test | |
254 | (adapted from corresponding bind_front test). | |
255 | * testsuite/20_util/function_objects/bind_back/111327.cc: Likewise. | |
256 | ||
257 | 2024-01-13 Patrick Palka <ppalka@redhat.com> | |
258 | ||
259 | * include/std/functional (_Bind_front): Remove =default special | |
260 | member function declarations. | |
261 | (_Bind_front::operator()): Implement using C++23 deducing this | |
262 | when available. | |
263 | * testsuite/20_util/function_objects/bind_front/111327.cc: | |
264 | Adjust testcase to expect better errors in C++23 mode. | |
265 | ||
266 | 2024-01-13 Patrick Palka <ppalka@redhat.com> | |
267 | ||
268 | * include/std/ranges (views::__adaptor::operator|): Perform | |
269 | perfect forwarding of arguments. | |
270 | (views::__adaptor::_RangeAdaptor::operator()): Pass dummy | |
271 | first argument to _Partial. | |
272 | (views::__adaptor::_Partial::_Partial): Likewise. Add dummy | |
273 | first parameter. | |
274 | (views::__adaptor::_Pipe::_Pipe): Perform perfect forwarding | |
275 | of arguments. | |
276 | (to): Pass dummy first argument to _Partial. | |
277 | ||
444a31f3 GA |
278 | 2024-01-13 Jonathan Wakely <jwakely@redhat.com> |
279 | ||
280 | PR libstdc++/107466 | |
281 | * include/bits/random.tcc (subtract_with_carry_engine::seed): | |
282 | Implement proposed resolution of LWG 4014. | |
283 | * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error | |
284 | line number. | |
285 | * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc: | |
286 | Check for expected result of 64-bit engine with seed that | |
287 | doesn't fit in 32-bits. | |
288 | ||
289 | 2024-01-12 Jonathan Wakely <jwakely@redhat.com> | |
290 | ||
291 | PR libstdc++/113320 | |
292 | * include/std/format (__format::_Runtime_format_string): Add | |
293 | constructor and disable copy operations. | |
294 | (basic_format_string(_Runtime_format_string)): Add noexcept and | |
295 | take parameter by value not rvalue reference. | |
296 | (runtime_format): Add noexcept. | |
297 | * testsuite/std/format/runtime_format.cc: Check noexcept. Check | |
298 | that construction is only possible from prvalues, not xvalues. | |
299 | ||
300 | 2024-01-12 Jonathan Wakely <jwakely@redhat.com> | |
301 | ||
302 | PR libstdc++/105505 | |
303 | * include/bits/stl_pair.h (pair::pair(U1&&, U2&&)) [C++23]: Add | |
304 | default template arguments, as per P1951R1. | |
305 | * testsuite/20_util/pair/cons/default_tmpl_args.cc: New test. | |
306 | ||
307 | 2024-01-12 Jonathan Wakely <jwakely@redhat.com> | |
308 | ||
309 | * include/std/format (__format::_Arg_store): Fix PR number in | |
310 | comment. Simplify preprocessor code. | |
311 | ||
1a80e955 GA |
312 | 2024-01-11 Jonathan Wakely <jwakely@redhat.com> |
313 | ||
314 | * doc/xml/manual/evolution.xml: Fix spelling. | |
315 | * doc/html/manual/api.html: Regenerate. | |
316 | ||
317 | 2024-01-11 Jonathan Wakely <jwakely@redhat.com> | |
318 | ||
319 | * doc/xml/manual/evolution.xml: Document addition of | |
320 | libstdc++exp.a. | |
321 | * doc/html/*: Regenerate. | |
322 | ||
323 | 2024-01-11 Marcus Haehnel <marcus.haehnel@kernkonzept.com> | |
324 | ||
325 | * libsupc++/eh_unex_handler.cc: Adjust definition type to | |
326 | declaration. | |
327 | ||
328 | 2024-01-11 Michael Levine <mlevine55@bloomberg.net> | |
329 | ||
330 | * include/std/ranges (__glibcxx_want_ranges_iota): Remove | |
331 | duplicate definition. | |
332 | ||
333 | 2024-01-11 François Dumont <fdumont@gcc.gnu.org> | |
334 | ||
335 | PR libstdc++/112477 | |
336 | * src/c++11/debug.cc | |
337 | (_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null | |
338 | sequence. | |
339 | (_Safe_iterator_base::_M_attach_single): Likewise. | |
340 | (_Safe_local_iterator_base::_M_attach): Likewise. | |
341 | (_Safe_local_iterator_base::_M_attach_single): Likewise. | |
342 | * testsuite/23_containers/map/debug/112477.cc: New test case. | |
343 | ||
344 | 2024-01-11 Patrick Palka <ppalka@redhat.com> | |
345 | ||
346 | * include/bits/move.h (__like_t): Define in C++23 mode. | |
347 | * include/std/ranges (views::__adaptor::Partial::operator()): | |
348 | Implement using C++23 deducing this when available. | |
349 | (views::__adaptor::_Pipe::operator()): Likewise. | |
350 | * testsuite/std/ranges/adaptors/100577.cc: Adjust testcase to | |
351 | accept new "no match for call" errors issued in C++23 mode. | |
352 | * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise. | |
353 | ||
354 | 2024-01-11 Jonathan Wakely <jwakely@redhat.com> | |
355 | ||
356 | * python/libstdcxx/v6/printers.py (StdIntegralConstantPrinter): | |
357 | Add printer for std::integral_constant. | |
358 | * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it. | |
359 | ||
360 | 2024-01-11 Jonathan Wakely <jwakely@redhat.com> | |
361 | ||
362 | PR libstdc++/113258 | |
363 | * libsupc++/new_opa.cc: Prefer to use posix_memalign if | |
364 | available. | |
365 | ||
366 | 2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> | |
367 | ||
368 | * src/filesystem/ops-common.h (stat_type): Use using. | |
369 | ||
370 | 2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> | |
371 | ||
372 | PR libstdc++/113250 | |
373 | * src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&. | |
374 | * src/filesystem/ops.cc (fs::equivalent): Likewise. | |
375 | * testsuite/27_io/filesystem/operations/equivalent.cc: Handle | |
376 | error codes. | |
377 | * testsuite/experimental/filesystem/operations/equivalent.cc: | |
378 | Likewise. | |
379 | ||
380 | 2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> | |
381 | ||
382 | * include/std/type_traits (is_compound): Do not use __not_. | |
383 | (is_compound_v): Use is_fundamental_v instead. | |
384 | ||
45af8962 GA |
385 | 2024-01-11 Patrick Palka <ppalka@redhat.com> |
386 | ||
387 | * include/bits/utility.h (_Nth_type): Use | |
388 | _GLIBCXX_USE_BUILTIN_TRAIT instead of __has_builtin. | |
389 | ||
73ce73fc GA |
390 | 2024-01-09 Jonathan Wakely <jwakely@redhat.com> |
391 | ||
392 | * include/bits/unicode-data.h: Regenerate. | |
393 | * include/bits/unicode.h (_Utf_iterator::operator++()): Fix off | |
394 | by one error. | |
395 | (__incb_property): Add missing check for values before the | |
396 | first edge. | |
397 | (__is_extended_pictographic): Invert return values to fix | |
398 | copy&pasted logic. | |
399 | (_Grapheme_cluster_view::_Iterator): Remove second iterator | |
400 | member and find end of cluster lazily. | |
401 | * testsuite/ext/unicode/grapheme_view.cc: New test. | |
402 | * testsuite/ext/unicode/properties.cc: New test. | |
403 | * testsuite/ext/unicode/view.cc: New test. | |
404 | ||
405 | 2024-01-09 Andreas Schwab <schwab@linux-m68k.org> | |
406 | ||
407 | * scripts/extract_symvers.in: Require final colon to only match | |
408 | .dsynsym in the header of the dynamic symtab. | |
409 | ||
410 | 2024-01-09 Jonathan Wakely <jwakely@redhat.com> | |
411 | ||
412 | * include/bits/chrono_io.h (__formatter_chrono::_M_F): Simplify | |
413 | handling of string returned from std::format. | |
414 | (__formatter_chrono::_M_R_T): Likewise. | |
415 | ||
6b1d6a2d GA |
416 | 2024-01-08 Jonathan Wakely <jwakely@redhat.com> |
417 | ||
418 | * include/bits/unicode.h (__null_sentinel): Remove. | |
419 | * testsuite/17_intro/names.cc: Add __null_sentinel. | |
420 | ||
421 | 2024-01-08 Jonathan Wakely <jwakely@redhat.com> | |
422 | ||
423 | * include/std/format (__format::_Runtime_format_string): Define | |
424 | new class template. | |
425 | (basic_format_string): Add non-consteval constructor for runtime | |
426 | format strings. | |
427 | (runtime_format): Define new function for C++26. | |
428 | * testsuite/std/format/runtime_format.cc: New test. | |
429 | ||
430 | 2024-01-08 Jonathan Wakely <jwakely@redhat.com> | |
431 | ||
432 | * include/bits/chrono_io.h (__formatter_chrono): Always use | |
433 | lvalue arguments to make_format_args. | |
434 | * include/std/format (make_format_args): Change parameter pack | |
435 | from forwarding references to lvalue references. Remove use of | |
436 | remove_reference_t which is now unnecessary. | |
437 | (format_to, formatted_size): Remove incorrect forwarding of | |
438 | arguments. | |
439 | * include/std/ostream (print): Remove forwarding of arguments. | |
440 | * include/std/print (print): Likewise. | |
441 | * testsuite/20_util/duration/io.cc: Use lvalues as arguments to | |
442 | make_format_args. | |
443 | * testsuite/std/format/arguments/args.cc: Likewise. | |
444 | * testsuite/std/format/arguments/lwg3810.cc: Likewise. | |
445 | * testsuite/std/format/functions/format.cc: Likewise. | |
446 | * testsuite/std/format/functions/vformat_to.cc: Likewise. | |
447 | * testsuite/std/format/string.cc: Likewise. | |
448 | * testsuite/std/time/day/io.cc: Likewise. | |
449 | * testsuite/std/time/month/io.cc: Likewise. | |
450 | * testsuite/std/time/weekday/io.cc: Likewise. | |
451 | * testsuite/std/time/year/io.cc: Likewise. | |
452 | * testsuite/std/time/year_month_day/io.cc: Likewise. | |
453 | * testsuite/std/format/arguments/args_neg.cc: New test. | |
454 | ||
455 | 2024-01-08 Jonathan Wakely <jwakely@redhat.com> | |
456 | ||
457 | * include/Makefile.am: Add new headers. | |
458 | * include/Makefile.in: Regenerate. | |
459 | * include/bits/unicode.h: New file. | |
460 | * include/bits/unicode-data.h: New file. | |
461 | * include/std/format: Include <bits/unicode.h>. | |
462 | (__literal_encoding_is_utf8): Move to <bits/unicode.h>. | |
463 | (_Spec::_M_fill): Change type to char32_t. | |
464 | (_Spec::_M_parse_fill_and_align): Read a Unicode scalar value | |
465 | instead of a single character. | |
466 | (__write_padded): Change __fill_char parameter to char32_t and | |
467 | encode it into the output. | |
468 | (__formatter_str::format): Use new __unicode::__field_width and | |
469 | __unicode::__truncate functions. | |
470 | * include/std/ostream: Adjust namespace qualification for | |
471 | __literal_encoding_is_utf8. | |
472 | * include/std/print: Likewise. | |
473 | * src/c++23/print.cc: Add [[unlikely]] attribute to error path. | |
474 | * testsuite/ext/unicode/view.cc: New test. | |
475 | * testsuite/std/format/functions/format.cc: Add missing examples | |
476 | from the standard demonstrating alignment with non-ASCII | |
477 | characters. Add examples checking correct handling of extended | |
478 | grapheme clusters. | |
479 | ||
480 | 2024-01-08 Jonathan Wakely <jwakely@redhat.com> | |
481 | ||
482 | * include/bits/version.def (format_uchar): Define. | |
483 | * include/bits/version.h: Regenerate. | |
484 | * include/std/format (formatter<C, C>::format): Check for | |
485 | _Pres_c and call _M_format_character directly. Cast C to its | |
486 | unsigned equivalent for formatting as an integer. | |
487 | (formatter<char, wchar_t>::format): Likewise. | |
488 | (basic_format_arg(T&)): Store char arguments as unsigned char | |
489 | for formatting to a wide string. | |
490 | * testsuite/std/format/functions/format.cc: Adjust test. Check | |
491 | formatting of | |
492 | ||
59e0c218 GA |
493 | 2024-01-07 Jonathan Wakely <jwakely@redhat.com> |
494 | ||
495 | PR libstdc++/112997 | |
496 | * libsupc++/unwind-cxx.h (__cxa_call_terminate): Change first | |
497 | parameter to void*. | |
498 | ||
499 | 2024-01-07 Jonathan Wakely <jwakely@redhat.com> | |
500 | ||
501 | * testsuite/20_util/variant/87619.cc: Remove dg-timeout-factor. | |
502 | ||
503 | 2024-01-07 Jonathan Wakely <jwakely@redhat.com> | |
504 | ||
505 | * include/std/type_traits (is_trivially_destructible_v): Use | |
506 | built-in directly when concepts are supported. | |
507 | * testsuite/20_util/is_trivially_destructible/value_v.cc: New | |
508 | test. | |
509 | ||
b368d799 GA |
510 | 2024-01-06 Gwenole Beauchesne <gb.devel@gmail.com> |
511 | ||
512 | * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Use | |
513 | nonnull arguments to strtoimax() and wcstoimax() functions. | |
514 | ||
f38103f5 GA |
515 | 2024-01-05 Jonathan Wakely <jwakely@redhat.com> |
516 | ||
517 | * src/c++17/fs_path.cc (path::_List::reserve): Limit maximum | |
518 | size and check for overflows in arithmetic. | |
519 | (path::operator/=(const path&)): Remove redundant exponential | |
520 | growth calculation. | |
521 | ||
522 | 2024-01-05 Martin Küttler <martin.kuettler@kernkonzept.com> | |
523 | ||
524 | * src/c++17/fs_path.cc (path::_List::reserve): Avoid | |
525 | floating-point arithmetic. | |
526 | ||
527 | 2024-01-05 Jonathan Wakely <jwakely@redhat.com> | |
528 | ||
529 | PR libstdc++/113241 | |
530 | * include/std/type_traits (is_convertible_v): Guard use of | |
531 | built-in with preprocessor check. | |
532 | ||
533 | 2024-01-05 Jonathan Wakely <jwakely@redhat.com> | |
534 | ||
535 | PR libstdc++/113200 | |
536 | * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use | |
537 | __builtin_constant_p to check for unrelated pointers that cannot | |
538 | be compared during constant evaluation. | |
539 | * testsuite/21_strings/char_traits/requirements/113200.cc: New | |
540 | test. | |
541 | ||
542 | 2024-01-05 Cassio Neri <cassio.neri@gmail.com> | |
543 | ||
544 | * include/std/chrono: Fix + and - for months and weekdays. | |
545 | * testsuite/std/time/month/1.cc: Add constexpr tests against overflow. | |
546 | * testsuite/std/time/month/2.cc: New test for extreme values. | |
547 | * testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow. | |
548 | * testsuite/std/time/weekday/2.cc: New test for extreme values. | |
549 | ||
550 | 2024-01-05 Jonathan Wakely <jwakely@redhat.com> | |
551 | ||
552 | PR libstdc++/113099 | |
553 | * include/bits/locale_classes.tcc (__try_use_facet): Use | |
554 | if-constexpr for C++11 and up. | |
555 | ||
81d1a6e9 GA |
556 | 2024-01-05 Ken Matsui <kmatsui@gcc.gnu.org> |
557 | ||
558 | * include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT. | |
559 | ||
560 | 2024-01-04 Arsen Arsenović <arsen@aarsen.me> | |
561 | ||
562 | * include/std/generator (_Subyield_state::_M_jump_in): Fix typo | |
563 | reported by Will Hawkins <hawkinsw@obs.cr>. | |
564 | ||
565 | 2024-01-04 Arsen Arsenović <arsen@aarsen.me> | |
566 | ||
567 | * include/std/generator (_Stateless_alloc): Rename typename _A | |
568 | to _All. | |
569 | ||
eb84e8d3 GA |
570 | 2024-01-03 Patrick Palka <ppalka@redhat.com> |
571 | ||
572 | PR testsuite/113175 | |
573 | * testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce | |
574 | 'limit' to 100 from 1000 and adjust 'log2_limit' accordingly. | |
575 | (test03): Likewise. | |
576 | ||
b4df5e92 | 577 | \f |
8c22aed4 | 578 | Copyright (C) 2024 Free Software Foundation, Inc. |
b4df5e92 JW |
579 | |
580 | Copying and distribution of this file, with or without modification, | |
581 | are permitted in any medium without royalty provided the copyright | |
582 | notice and this notice are preserved. |