]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
bf074ee4
GA
12024-02-12 Paul Keir <paul.keir@uws.ac.uk>
2
3 PR libstdc++/113294
4 * include/bits/basic_string.h (basic_string::operator=): Use
5 _M_use_local_data() instead of _M_local_buf on the moved-from
6 string.
7 * testsuite/21_strings/basic_string/modifiers/constexpr.cc
8 (test_move): New test.
9
2523654a
GA
102024-02-09 Ken Matsui <kmatsui@gcc.gnu.org>
11
12 * include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_IS_SAME):
13 Removed.
14 * include/std/type_traits (is_same): Use
15 _GLIBCXX_USE_BUILTIN_TRAIT instead of
16 _GLIBCXX_HAVE_BUILTIN_IS_SAME.
17 (is_same_v): Likewise.
18
90586e27
GA
192024-02-08 Jonathan Wakely <jwakely@redhat.com>
20
21 * include/bits/shared_ptr_atomic.h: Fix typo in comment.
22
232024-02-08 Jonathan Wakely <jwakely@redhat.com>
24
25 PR libstdc++/100147
26 * include/bits/gslice.h (operator=): Add comment about lack of
27 self-assignment check.
28
292024-02-08 Jonathan Wakely <jwakely@redhat.com>
30
31 * include/tr2/type_traits (bases, direct_bases): Use
32 __has_builtin to check if required built-ins are supported.
33
0535c203
GA
342024-02-07 Patrick Palka <ppalka@redhat.com>
35
36 PR testsuite/113710
37 PR c++/113814
38 * include/bits/stl_pair.h (tuple_element): Add forward
39 declaration of the partial specialization for tuple.
40
3e4c4c5e
GA
412024-02-06 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
42
43 * testsuite/lib/libstdc++.exp: Use "nul" for Windows, "/dev/null"
44 for other environments.
45
72319171
GA
462024-02-04 Jonathan Wakely <jwakely@redhat.com>
47
48 * include/std/format (__format::_Spec::_M_reserved): Define new
49 bit-field members to reserve padding bits for future extensions.
50
512024-02-04 Jonathan Wakely <jwakely@redhat.com>
52
53 * src/experimental/Makefile.am: Use libstdc++fsconvenience.a
54 instead of libstdc++fs.a.
55 * src/experimental/Makefile.in: Regenerate.
56 * src/filesystem/Makefile.am: Build libstdc++fsconvenience.a as
57 well.
58 * src/filesystem/Makefile.in: Regenerate.
59
602024-02-04 Jonathan Wakely <jwakely@redhat.com>
61
62 * include/bits/text_encoding-data.h: Regenerate.
63 * include/bits/unicode-data.h: Regenerate.
64 * scripts/gen_text_encoding_data.py: Add copyright and license
65 text to the output.
66
4b7d4d8a
GA
672024-02-02 Jonathan Wakely <jwakely@redhat.com>
68
69 PR libstdc++/113335
70 * include/bits/std_function.h (__function_guide_helper): Add
71 partial specialization for explicit object member functions, as
72 per LWG 3617.
73 * testsuite/20_util/function/cons/deduction_c++23.cc: Check
74 explicit object member functions.
75 * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
76 Likewise.
77
782024-02-02 Jonathan Wakely <jwakely@redhat.com>
79
80 * testsuite/17_intro/names.cc [_AIX]: Undefine "u".
81
822024-02-02 Jonathan Wakely <jwakely@redhat.com>
83
84 * include/experimental/internet (network_v6::network): Define.
85 (network_v6::hosts): Finish implementing.
86 (network_v6::to_string): Do not concatenate std::string to
87 arbitrary std::basic_string specialization.
88 * testsuite/experimental/net/internet/network/v6/cons.cc: New
89 test.
90
912024-02-02 Jonathan Wakely <jwakely@redhat.com>
92
93 PR libstdc++/90276
94 * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: Fix
95 comparison function to use less-than instead of equality.
96
972024-02-02 Jonathan Wakely <jwakely@redhat.com>
98
99 PR libstdc++/90276
100 * testsuite/util/pstl/test_utils.h (reverse_invoker): Do not use
101 perfect forwarding for iterator arguments.
102
1032024-02-02 Jonathan Wakely <jwakely@redhat.com>
104
105 * include/std/string_view (basic_string_view(R&&)): Remove
106 constraint that traits_type must be the same, as per LWG 3857.
107 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc:
108 Explicit conversion between different specializations should be
109 allowed.
110 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc:
111 Likewise.
112
1132024-02-02 Jonathan Wakely <jwakely@redhat.com>
114
115 * include/std/syncstream (basic_osyncstream::operator=): Remove
116 noexcept, as per LWG 3867.
117
1182024-02-02 Jonathan Wakely <jwakely@redhat.com>
119
120 * include/std/generator (promise_type::yield_value): Remove
121 noexcept from fourth overload, as per LWG 3894.
122
e2554540
GA
1232024-02-01 Patrick Palka <ppalka@redhat.com>
124
125 PR libstdc++/113309
126 PR libstdc++/109203
127 * include/bits/ranges_util.h (__detail::__pair_like): Don't
128 define in C++23 mode.
129 (__detail::__pair_like_convertible_from): Adjust as per P2165R4.
130 (__detail::__is_subrange<subrange>): Moved from <ranges>.
131 (__detail::__is_tuple_like_v<subrange>): Likewise.
132 * include/bits/stl_iterator.h: Include <bits/utility.h> for
133 C++23.
134 (__different_from): Move to <concepts>.
135 (__iter_key_t): Adjust for C++23 as per P2165R4.
136 (__iter_val_t): Likewise.
137 * include/bits/stl_pair.h (pair, array): Forward declare.
138 (get): Forward declare all overloads relevant to P2165R4
139 tuple-like constructors.
140 (__is_tuple_v): Define for C++23.
141 (__is_tuple_like_v): Define for C++23.
142 (__tuple_like): Define for C++23 as per P2165R4.
143 (__pair_like): Define for C++23 as per P2165R4.
144 (__eligibile_tuple_like): Define for C++23.
145 (__eligibile_pair_like): Define for C++23.
146 (pair::_S_constructible_from_pair_like): Define for C++23.
147 (pair::_S_convertible_from_pair_like): Define for C++23.
148 (pair::_S_dangles_from_pair_like): Define for C++23.
149 (pair::pair): Define overloads taking a tuple-like type for
150 C++23 as per P2165R4.
151 (pair::_S_assignable_from_tuple_like): Define for C++23.
152 (pair::_S_const_assignable_from_tuple_like): Define for C++23.
153 (pair::operator=): Define overloads taking a tuple-like type for
154 C++23 as per P2165R4.
155 * include/bits/utility.h (ranges::__detail::__is_subrange):
156 Moved from <ranges>.
157 * include/bits/version.def (tuple_like): Define for C++23.
158 * include/bits/version.h: Regenerate.
159 * include/std/concepts (__different_from): Moved from
160 <bits/stl_iterator.h>.
161 (ranges::__swap::__adl_swap): Clarify which __detail namespace.
162 * include/std/map (__cpp_lib_tuple_like): Define C++23.
163 * include/std/ranges (__detail::__is_subrange): Moved to
164 <bits/utility.h>.
165 (__detail::__is_subrange<subrange>): Moved to <bits/ranges_util.h>
166 (__detail::__has_tuple_element): Adjust for C++23 as per P2165R4.
167 (__detail::__tuple_or_pair): Remove as per P2165R4. Replace all
168 uses with plain tuple as per P2165R4.
169 * include/std/tuple (__cpp_lib_tuple_like): Define for C++23.
170 (__tuple_like_tag_t): Define for C++23.
171 (__tuple_cmp): Forward declare for C++23.
172 (_Tuple_impl::_Tuple_impl): Define overloads taking
173 __tuple_like_tag_t and a tuple-like type for C++23.
174 (_Tuple_impl::_M_assign): Likewise.
175 (tuple::__constructible_from_tuple_like): Define for C++23.
176 (tuple::__convertible_from_tuple_like): Define for C++23.
177 (tuple::__dangles_from_tuple_like): Define for C++23.
178 (tuple::tuple): Define overloads taking a tuple-like type for
179 C++23 as per P2165R4.
180 (tuple::__assignable_from_tuple_like): Define for C++23.
181 (tuple::__const_assignable_from_tuple_like): Define for C++23.
182 (tuple::operator=): Define overloads taking a tuple-like type
183 for C++23 as per P2165R4.
184 (tuple::__tuple_like_common_comparison_category): Define for C++23.
185 (tuple::operator<=>): Define overload taking a tuple-like type
186 for C++23 as per P2165R4.
187 (array, get): Forward declarations moved to <bits/stl_pair.h>.
188 (tuple_cat): Constrain with __tuple_like for C++23 as per P2165R4.
189 (apply): Likewise.
190 (make_from_tuple): Likewise.
191 (__tuple_like_common_reference): Define for C++23.
192 (basic_common_reference): Adjust as per P2165R4.
193 (__tuple_like_common_type): Define for C++23.
194 (common_type): Adjust as per P2165R4.
195 * include/std/unordered_map (__cpp_lib_tuple_like): Define for
196 C++23.
197 * include/std/utility (__cpp_lib_tuple_like): Define for C++23.
198 * testsuite/std/ranges/zip/1.cc (test01): Adjust to handle pair
199 and 2-tuple interchangeably.
200 (test05): New test.
201 * testsuite/20_util/pair/p2165r4.cc: New test.
202 * testsuite/20_util/tuple/p2165r4.cc: New test.
203
2042024-02-01 Patrick Palka <ppalka@redhat.com>
205
206 * include/bits/stl_pair.h (pair::_S_const_assignable): Define,
207 factored out from ...
208 (pair::operator=): ... the constraints of the const overloads.
209
2102024-02-01 Jonathan Wakely <jwakely@redhat.com>
211
212 * include/bits/version.tpl: Do not use def-file-line for each
213 macro being defined.
214 * include/bits/version.h: Regenerate.
215
2162024-02-01 Jonathan Wakely <jwakely@redhat.com>
217
218 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust
219 dg-error pattern.
220 * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
221 Likewise.
222 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
223 Likewise.
224 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
225 Likewise.
226 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
227 Likewise.
228 * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
229 Likewise.
230 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
231 Likewise.
232 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
233 Likewise.
234 * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
235 Likewise.
236
2372024-02-01 Jonathan Wakely <jwakely@redhat.com>
238
239 * include/experimental/internet (network_v4::to_string()):
240 Remove lambda and use of resize_and_overwrite.
241
dd3455f6
GA
2422024-01-31 Jonathan Wakely <jwakely@redhat.com>
243
244 * acinclude.m4 (GLIBCXX_CHECK_TEXT_ENCODING): Use <xlocale.h> if
245 needed for newlocale.
246 * configure: Regenerate.
247 * src/c++26/text_encoding.cc: Use <xlocale.h>.
248
2492024-01-31 Jonathan Wakely <jwakely@redhat.com>
250 Ewan Higgs <ewan.higgs@gmail.com>
251
252 * include/bits/text_encoding-data.h: Regenerate.
253 * scripts/gen_text_encoding_data.py: Add extra_aliases dict
254 containing "ASCII".
255 * testsuite/std/text_encoding/cons.cc: Check "ascii" is known.
256
2572024-01-31 Jonathan Wakely <jwakely@redhat.com>
258
259 * doc/xml/manual/using.xml: Update tables of supported headers.
260 * doc/html/*: Regenerate.
261
2622024-01-31 Jonathan Wakely <jwakely@redhat.com>
263
264 * include/std/bitset (_Base_bitset::_M_do_to_ullong): Avoid
265 -Wshift-count-overflow warning.
266
097ddd55
GA
2672024-01-30 Jonathan Wakely <jwakely@redhat.com>
268
269 * testsuite/std/time/clock/gps/io.cc: Fix expected result in
270 assertion and call test_format() from main.
271
f0706819
GA
2722024-01-29 François Dumont <fdumont@gcc.gnu.org>
273
274 * doc/xml/manual/debug_mode.xml: Link against libstdc++exp.a to use
275 _GLIBCXX_DEBUG_BACKTRACE macro.
276
2a9637b2
GA
2772024-01-24 Huanghui Nie <nnnjkk@gmail.com>
278 Théo Papadopoulo <papadopoulo@gmail.com>
279
280 * include/bits/hashtable.h (_Hahstable<>::_M_remove_bucket_begin): Remove
281 _M_before_begin check and cleanup implementation.
282
e2d1f858
GA
2832024-01-22 Jonathan Wakely <jwakely@redhat.com>
284
285 * testsuite/std/time/clock/file/io.cc: Fix expected result in
286 assertion and call test_format() from main.
287
d9ed3ac2
GA
2882024-01-21 Jonathan Wakely <jwakely@redhat.com>
289
290 PR libstdc++/113500
291 * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix
292 printing of subseconds with floating-point rep.
293 (__formatter_chrono::_M_format_to_ostream): Do not write
294 time_point specializations directly to the ostream.
295 (formatter<chrono::sys_time<D>, C>::parse): Do not allow an
296 empty chrono-spec if the type fails to meet the constraints for
297 writing to an ostream with operator<<.
298 * testsuite/std/time/clock/file/io.cc: Check formatting
299 non-integral times with empty chrono-specs.
300 * testsuite/std/time/clock/gps/io.cc: Likewise.
301 * testsuite/std/time/clock/utc/io.cc: Likewise.
302 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
303
3042024-01-21 Jonathan Wakely <jwakely@redhat.com>
305
306 * include/bits/chrono.h (__file_clock::from_sys)
307 (__file_clock::to_sys, __file_clock::_S_from_sys)
308 (__file_clock::_S_to_sys): Use common_type for return type.
309 * testsuite/std/time/clock/file/members.cc: Check round trip
310 conversion for time with lower precision that seconds.
311
3122024-01-21 Jonathan Wakely <jwakely@redhat.com>
313
314 PR libstdc++/113512
315 * include/std/format (__formatter_fp::format): Fix logic for
316 alternate forms.
317 * testsuite/std/format/functions/format.cc: Check buggy cases of
318 alternate forms with g presentation type.
319
11a5f26c
GA
3202024-01-20 Marek Polacek <polacek@redhat.com>
321
322 PR c++/111410
323 * include/std/ranges: Add #pragma to disable -Wdangling-reference with
324 std::ranges::views::__adaptor::operator|.
325
c2544854
GA
3262024-01-19 Jonathan Wakely <jwakely@redhat.com>
327
328 * include/std/format (_Spec::_M_parse_fill_and_align): Do not
329 use CTAD for _Utf32_view.
330
3312024-01-19 Jonathan Wakely <jwakely@redhat.com>
332
333 PR libstdc++/108822
334 * include/std/tuple (__glibcxx_no_dangling_refs) [C++17]: Fix
335 wrong fold-operator.
336 * testsuite/20_util/tuple/dangling_ref.cc: Check tuples with one
337 element and three elements. Check allocator-extended
338 constructors.
339
3402024-01-19 Patrick Palka <ppalka@redhat.com>
341
342 * include/precompiled/stdc++.h [_GLIBCXX_HOSTED]: Include
343 <print> and <text_encoding> for C++23 and C++26 respectively.
344
bb0f96ab
GA
3452024-01-18 Patrick Palka <ppalka@redhat.com>
346
347 * include/bits/stl_pair.h [__cplusplus > 202002L]:
348 Guard P2321R2 changes with __glibcxx_ranges_zip instead.
349
3502024-01-18 Patrick Palka <ppalka@redhat.com>
351
352 * include/std/tuple [__cplusplus > 202002L]: Guard P2321R2
353 changes with __cpp_lib_ranges_zip instead.
354
3552024-01-18 Patrick Palka <ppalka@redhat.com>
356
357 PR libstdc++/109536
358 * include/debug/safe_base.h (_Safe_sequence_base::_M_swap):
359 Remove _GLIBCXX20_CONSTEXPR from non-inline member function.
360 * include/debug/safe_iterator.h
361 (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_BEGIN): Define.
362 (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_END): Define.
363 (_Safe_iterator::operator=): Use them around the code path that
364 defines a variable of type __gnu_cxx::__scoped_lock.
365 (_Safe_iterator::operator++): Likewise.
366 (_Safe_iterator::operator--): Likewise.
367 (_Safe_iterator::operator+=): Likewise.
368 (_Safe_iterator::operator-=): Likewise.
369 * testsuite/23_containers/vector/element_access/constexpr.cc
370 (test_iterators): Test more iterator operations.
371 * testsuite/23_containers/vector/bool/element_access/constexpr.cc
372 (test_iterators): Likewise.
373 * testsuite/std/ranges/adaptors/all.cc (test08) [_GLIBCXX_DEBUG]:
374 Remove.
375
3762024-01-18 Jonathan Wakely <jwakely@redhat.com>
377
378 * include/bits/unicode.h (__charset_alias_match): Initialize
379 __var_a and __var_b.
380
3812024-01-18 Jonathan Wakely <jwakely@redhat.com>
382
383 PR libstdc++/113450
384 * testsuite/std/format/functions/format.cc: Use signed char
385 instead of int8_t.
386
2c213ac9
GA
3872024-01-17 Jonathan Wakely <jwakely@redhat.com>
388
389 PR libstdc++/113318
390 * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++26 directory.
391 (GLIBCXX_CHECK_TEXT_ENCODING): Define.
392 * config.h.in: Regenerate.
393 * configure: Regenerate.
394 * configure.ac: Use GLIBCXX_CHECK_TEXT_ENCODING.
395 * include/Makefile.am: Add new headers.
396 * include/Makefile.in: Regenerate.
397 * include/bits/locale_classes.h (locale::encoding): Declare new
398 member function.
399 * include/bits/unicode.h (__charset_alias_match): New function.
400 * include/bits/text_encoding-data.h: New file.
401 * include/bits/version.def (text_encoding): Define.
402 * include/bits/version.h: Regenerate.
403 * include/std/text_encoding: New file.
404 * src/Makefile.am: Add new subdirectory.
405 * src/Makefile.in: Regenerate.
406 * src/c++26/Makefile.am: New file.
407 * src/c++26/Makefile.in: New file.
408 * src/c++26/text_encoding.cc: New file.
409 * src/experimental/Makefile.am: Include c++26 convenience
410 library.
411 * src/experimental/Makefile.in: Regenerate.
412 * python/libstdcxx/v6/printers.py (StdTextEncodingPrinter): New
413 printer.
414 * scripts/gen_text_encoding_data.py: New file.
415 * testsuite/22_locale/locale/encoding.cc: New test.
416 * testsuite/ext/unicode/charset_alias_match.cc: New test.
417 * testsuite/std/text_encoding/cons.cc: New test.
418 * testsuite/std/text_encoding/members.cc: New test.
419 * testsuite/std/text_encoding/requirements.cc: New test.
420
4212024-01-17 Jonathan Wakely <jwakely@redhat.com>
422
423 * include/bits/unicode.h (_Grapheme_cluster_view): Require view.
424 Do not use CTAD for _Utf32_view.
425 (__format_width, __truncate): Do not use CTAD.
426 (enable_borrowed_range<_Utf_view<T, R>>): Define specialization.
427 (enable_borrowed_range<_Grapheme_cluster_view<R>>): Likewise.
428
4292024-01-17 Patrick Palka <ppalka@redhat.com>
430
431 * include/std/ranges (views::_CartesianProduct::operator()):
432 Adjust identity case as per P2540R1.
433 * testsuite/std/ranges/cartesian_product/1.cc (test01):
434 Adjust expected result of the identity case.
435
be035ec4
GA
4362024-01-15 Patrick Palka <ppalka@redhat.com>
437
438 * include/std/variant (__detail::__variant::_Variadic_union):
439 Add bool __trivially_destructible template parameter.
440 (__detail::__variant::_Variadic_union::~_Variadic_union):
441 Use __trivially_destructible in constraints instead.
442 (__detail::__variant::_Variant_storage): Pass
443 __trivially_destructible value to _Variadic_union.
444
4452024-01-15 Patrick Palka <ppalka@redhat.com>
446
447 * include/bits/stl_iterator.h (const_iterator): Define conversion
448 operators as per P2836R1.
449 * include/bits/version.def (ranges_as_const): Update value.
450 * include/bits/version.h: Regenerate.
451 * testsuite/24_iterators/const_iterator/1.cc (test04): New test.
452 * testsuite/std/ranges/adaptors/as_const/1.cc: Adjust expected
453 value of __cpp_lib_ranges_as_const.
454 * testsuite/std/ranges/version_c++23.cc: Likewise.
455
4562024-01-15 Jonathan Wakely <jwakely@redhat.com>
457
458 PR libstdc++/108822
459 * include/std/tuple (__assignable, __is_nothrow_assignable):
460 Move pre-C++20 definitions adjacent to their use.
461
4622024-01-15 Jonathan Wakely <jwakely@redhat.com>
463
464 PR testsuite/113366
465 * include/std/format (basic_format_arg): Use __formattable
466 variable template instead of __format::__formattable_with
467 concept.
468
4692024-01-15 Jonathan Wakely <jwakely@redhat.com>
470
471 * src/c++20/tzdata.zi: Import new file from 2023d release.
472 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
473 Update expiry date for leap seconds list.
474
ed5bf208
GA
4752024-01-13 Jonathan Wakely <jwakely@redhat.com>
476
477 PR libstdc++/108822
478 * include/std/tuple (tuple): Add checks for dangling references.
479 Reimplement constraints and constant expressions using C++20
480 features.
481 * include/std/type_traits [C++20]
482 (__is_implicitly_default_constructible_v): Define.
483 (__is_implicitly_default_constructible): Use variable template.
484 * testsuite/20_util/tuple/dangling_ref.cc: New test.
485
4862024-01-13 Patrick Palka <ppalka@redhat.com>
487
488 PR libstdc++/108827
489 PR libstdc++/111327
490 * include/bits/version.def (bind_back): Define.
491 * include/bits/version.h: Regenerate.
492 * include/std/functional (_Bind_back): Define for C++23.
493 (bind_back): Likewise.
494 * testsuite/20_util/function_objects/bind_back/1.cc: New test
495 (adapted from corresponding bind_front test).
496 * testsuite/20_util/function_objects/bind_back/111327.cc: Likewise.
497
4982024-01-13 Patrick Palka <ppalka@redhat.com>
499
500 * include/std/functional (_Bind_front): Remove =default special
501 member function declarations.
502 (_Bind_front::operator()): Implement using C++23 deducing this
503 when available.
504 * testsuite/20_util/function_objects/bind_front/111327.cc:
505 Adjust testcase to expect better errors in C++23 mode.
506
5072024-01-13 Patrick Palka <ppalka@redhat.com>
508
509 * include/std/ranges (views::__adaptor::operator|): Perform
510 perfect forwarding of arguments.
511 (views::__adaptor::_RangeAdaptor::operator()): Pass dummy
512 first argument to _Partial.
513 (views::__adaptor::_Partial::_Partial): Likewise. Add dummy
514 first parameter.
515 (views::__adaptor::_Pipe::_Pipe): Perform perfect forwarding
516 of arguments.
517 (to): Pass dummy first argument to _Partial.
518
444a31f3
GA
5192024-01-13 Jonathan Wakely <jwakely@redhat.com>
520
521 PR libstdc++/107466
522 * include/bits/random.tcc (subtract_with_carry_engine::seed):
523 Implement proposed resolution of LWG 4014.
524 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
525 line number.
526 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
527 Check for expected result of 64-bit engine with seed that
528 doesn't fit in 32-bits.
529
5302024-01-12 Jonathan Wakely <jwakely@redhat.com>
531
532 PR libstdc++/113320
533 * include/std/format (__format::_Runtime_format_string): Add
534 constructor and disable copy operations.
535 (basic_format_string(_Runtime_format_string)): Add noexcept and
536 take parameter by value not rvalue reference.
537 (runtime_format): Add noexcept.
538 * testsuite/std/format/runtime_format.cc: Check noexcept. Check
539 that construction is only possible from prvalues, not xvalues.
540
5412024-01-12 Jonathan Wakely <jwakely@redhat.com>
542
543 PR libstdc++/105505
544 * include/bits/stl_pair.h (pair::pair(U1&&, U2&&)) [C++23]: Add
545 default template arguments, as per P1951R1.
546 * testsuite/20_util/pair/cons/default_tmpl_args.cc: New test.
547
5482024-01-12 Jonathan Wakely <jwakely@redhat.com>
549
550 * include/std/format (__format::_Arg_store): Fix PR number in
551 comment. Simplify preprocessor code.
552
1a80e955
GA
5532024-01-11 Jonathan Wakely <jwakely@redhat.com>
554
555 * doc/xml/manual/evolution.xml: Fix spelling.
556 * doc/html/manual/api.html: Regenerate.
557
5582024-01-11 Jonathan Wakely <jwakely@redhat.com>
559
560 * doc/xml/manual/evolution.xml: Document addition of
561 libstdc++exp.a.
562 * doc/html/*: Regenerate.
563
5642024-01-11 Marcus Haehnel <marcus.haehnel@kernkonzept.com>
565
566 * libsupc++/eh_unex_handler.cc: Adjust definition type to
567 declaration.
568
5692024-01-11 Michael Levine <mlevine55@bloomberg.net>
570
571 * include/std/ranges (__glibcxx_want_ranges_iota): Remove
572 duplicate definition.
573
5742024-01-11 François Dumont <fdumont@gcc.gnu.org>
575
576 PR libstdc++/112477
577 * src/c++11/debug.cc
578 (_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null
579 sequence.
580 (_Safe_iterator_base::_M_attach_single): Likewise.
581 (_Safe_local_iterator_base::_M_attach): Likewise.
582 (_Safe_local_iterator_base::_M_attach_single): Likewise.
583 * testsuite/23_containers/map/debug/112477.cc: New test case.
584
5852024-01-11 Patrick Palka <ppalka@redhat.com>
586
587 * include/bits/move.h (__like_t): Define in C++23 mode.
588 * include/std/ranges (views::__adaptor::Partial::operator()):
589 Implement using C++23 deducing this when available.
590 (views::__adaptor::_Pipe::operator()): Likewise.
591 * testsuite/std/ranges/adaptors/100577.cc: Adjust testcase to
592 accept new "no match for call" errors issued in C++23 mode.
593 * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
594
5952024-01-11 Jonathan Wakely <jwakely@redhat.com>
596
597 * python/libstdcxx/v6/printers.py (StdIntegralConstantPrinter):
598 Add printer for std::integral_constant.
599 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it.
600
6012024-01-11 Jonathan Wakely <jwakely@redhat.com>
602
603 PR libstdc++/113258
604 * libsupc++/new_opa.cc: Prefer to use posix_memalign if
605 available.
606
6072024-01-11 Ken Matsui <kmatsui@gcc.gnu.org>
608
609 * src/filesystem/ops-common.h (stat_type): Use using.
610
6112024-01-11 Ken Matsui <kmatsui@gcc.gnu.org>
612
613 PR libstdc++/113250
614 * src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&.
615 * src/filesystem/ops.cc (fs::equivalent): Likewise.
616 * testsuite/27_io/filesystem/operations/equivalent.cc: Handle
617 error codes.
618 * testsuite/experimental/filesystem/operations/equivalent.cc:
619 Likewise.
620
6212024-01-11 Ken Matsui <kmatsui@gcc.gnu.org>
622
623 * include/std/type_traits (is_compound): Do not use __not_.
624 (is_compound_v): Use is_fundamental_v instead.
625
45af8962
GA
6262024-01-11 Patrick Palka <ppalka@redhat.com>
627
628 * include/bits/utility.h (_Nth_type): Use
629 _GLIBCXX_USE_BUILTIN_TRAIT instead of __has_builtin.
630
73ce73fc
GA
6312024-01-09 Jonathan Wakely <jwakely@redhat.com>
632
633 * include/bits/unicode-data.h: Regenerate.
634 * include/bits/unicode.h (_Utf_iterator::operator++()): Fix off
635 by one error.
636 (__incb_property): Add missing check for values before the
637 first edge.
638 (__is_extended_pictographic): Invert return values to fix
639 copy&pasted logic.
640 (_Grapheme_cluster_view::_Iterator): Remove second iterator
641 member and find end of cluster lazily.
642 * testsuite/ext/unicode/grapheme_view.cc: New test.
643 * testsuite/ext/unicode/properties.cc: New test.
644 * testsuite/ext/unicode/view.cc: New test.
645
6462024-01-09 Andreas Schwab <schwab@linux-m68k.org>
647
648 * scripts/extract_symvers.in: Require final colon to only match
649 .dsynsym in the header of the dynamic symtab.
650
6512024-01-09 Jonathan Wakely <jwakely@redhat.com>
652
653 * include/bits/chrono_io.h (__formatter_chrono::_M_F): Simplify
654 handling of string returned from std::format.
655 (__formatter_chrono::_M_R_T): Likewise.
656
6b1d6a2d
GA
6572024-01-08 Jonathan Wakely <jwakely@redhat.com>
658
659 * include/bits/unicode.h (__null_sentinel): Remove.
660 * testsuite/17_intro/names.cc: Add __null_sentinel.
661
6622024-01-08 Jonathan Wakely <jwakely@redhat.com>
663
664 * include/std/format (__format::_Runtime_format_string): Define
665 new class template.
666 (basic_format_string): Add non-consteval constructor for runtime
667 format strings.
668 (runtime_format): Define new function for C++26.
669 * testsuite/std/format/runtime_format.cc: New test.
670
6712024-01-08 Jonathan Wakely <jwakely@redhat.com>
672
673 * include/bits/chrono_io.h (__formatter_chrono): Always use
674 lvalue arguments to make_format_args.
675 * include/std/format (make_format_args): Change parameter pack
676 from forwarding references to lvalue references. Remove use of
677 remove_reference_t which is now unnecessary.
678 (format_to, formatted_size): Remove incorrect forwarding of
679 arguments.
680 * include/std/ostream (print): Remove forwarding of arguments.
681 * include/std/print (print): Likewise.
682 * testsuite/20_util/duration/io.cc: Use lvalues as arguments to
683 make_format_args.
684 * testsuite/std/format/arguments/args.cc: Likewise.
685 * testsuite/std/format/arguments/lwg3810.cc: Likewise.
686 * testsuite/std/format/functions/format.cc: Likewise.
687 * testsuite/std/format/functions/vformat_to.cc: Likewise.
688 * testsuite/std/format/string.cc: Likewise.
689 * testsuite/std/time/day/io.cc: Likewise.
690 * testsuite/std/time/month/io.cc: Likewise.
691 * testsuite/std/time/weekday/io.cc: Likewise.
692 * testsuite/std/time/year/io.cc: Likewise.
693 * testsuite/std/time/year_month_day/io.cc: Likewise.
694 * testsuite/std/format/arguments/args_neg.cc: New test.
695
6962024-01-08 Jonathan Wakely <jwakely@redhat.com>
697
698 * include/Makefile.am: Add new headers.
699 * include/Makefile.in: Regenerate.
700 * include/bits/unicode.h: New file.
701 * include/bits/unicode-data.h: New file.
702 * include/std/format: Include <bits/unicode.h>.
703 (__literal_encoding_is_utf8): Move to <bits/unicode.h>.
704 (_Spec::_M_fill): Change type to char32_t.
705 (_Spec::_M_parse_fill_and_align): Read a Unicode scalar value
706 instead of a single character.
707 (__write_padded): Change __fill_char parameter to char32_t and
708 encode it into the output.
709 (__formatter_str::format): Use new __unicode::__field_width and
710 __unicode::__truncate functions.
711 * include/std/ostream: Adjust namespace qualification for
712 __literal_encoding_is_utf8.
713 * include/std/print: Likewise.
714 * src/c++23/print.cc: Add [[unlikely]] attribute to error path.
715 * testsuite/ext/unicode/view.cc: New test.
716 * testsuite/std/format/functions/format.cc: Add missing examples
717 from the standard demonstrating alignment with non-ASCII
718 characters. Add examples checking correct handling of extended
719 grapheme clusters.
720
7212024-01-08 Jonathan Wakely <jwakely@redhat.com>
722
723 * include/bits/version.def (format_uchar): Define.
724 * include/bits/version.h: Regenerate.
725 * include/std/format (formatter<C, C>::format): Check for
726 _Pres_c and call _M_format_character directly. Cast C to its
727 unsigned equivalent for formatting as an integer.
728 (formatter<char, wchar_t>::format): Likewise.
729 (basic_format_arg(T&)): Store char arguments as unsigned char
730 for formatting to a wide string.
731 * testsuite/std/format/functions/format.cc: Adjust test. Check
732 formatting of
733
59e0c218
GA
7342024-01-07 Jonathan Wakely <jwakely@redhat.com>
735
736 PR libstdc++/112997
737 * libsupc++/unwind-cxx.h (__cxa_call_terminate): Change first
738 parameter to void*.
739
7402024-01-07 Jonathan Wakely <jwakely@redhat.com>
741
742 * testsuite/20_util/variant/87619.cc: Remove dg-timeout-factor.
743
7442024-01-07 Jonathan Wakely <jwakely@redhat.com>
745
746 * include/std/type_traits (is_trivially_destructible_v): Use
747 built-in directly when concepts are supported.
748 * testsuite/20_util/is_trivially_destructible/value_v.cc: New
749 test.
750
b368d799
GA
7512024-01-06 Gwenole Beauchesne <gb.devel@gmail.com>
752
753 * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Use
754 nonnull arguments to strtoimax() and wcstoimax() functions.
755
f38103f5
GA
7562024-01-05 Jonathan Wakely <jwakely@redhat.com>
757
758 * src/c++17/fs_path.cc (path::_List::reserve): Limit maximum
759 size and check for overflows in arithmetic.
760 (path::operator/=(const path&)): Remove redundant exponential
761 growth calculation.
762
7632024-01-05 Martin Küttler <martin.kuettler@kernkonzept.com>
764
765 * src/c++17/fs_path.cc (path::_List::reserve): Avoid
766 floating-point arithmetic.
767
7682024-01-05 Jonathan Wakely <jwakely@redhat.com>
769
770 PR libstdc++/113241
771 * include/std/type_traits (is_convertible_v): Guard use of
772 built-in with preprocessor check.
773
7742024-01-05 Jonathan Wakely <jwakely@redhat.com>
775
776 PR libstdc++/113200
777 * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use
778 __builtin_constant_p to check for unrelated pointers that cannot
779 be compared during constant evaluation.
780 * testsuite/21_strings/char_traits/requirements/113200.cc: New
781 test.
782
7832024-01-05 Cassio Neri <cassio.neri@gmail.com>
784
785 * include/std/chrono: Fix + and - for months and weekdays.
786 * testsuite/std/time/month/1.cc: Add constexpr tests against overflow.
787 * testsuite/std/time/month/2.cc: New test for extreme values.
788 * testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow.
789 * testsuite/std/time/weekday/2.cc: New test for extreme values.
790
7912024-01-05 Jonathan Wakely <jwakely@redhat.com>
792
793 PR libstdc++/113099
794 * include/bits/locale_classes.tcc (__try_use_facet): Use
795 if-constexpr for C++11 and up.
796
81d1a6e9
GA
7972024-01-05 Ken Matsui <kmatsui@gcc.gnu.org>
798
799 * include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT.
800
8012024-01-04 Arsen Arsenović <arsen@aarsen.me>
802
803 * include/std/generator (_Subyield_state::_M_jump_in): Fix typo
804 reported by Will Hawkins <hawkinsw@obs.cr>.
805
8062024-01-04 Arsen Arsenović <arsen@aarsen.me>
807
808 * include/std/generator (_Stateless_alloc): Rename typename _A
809 to _All.
810
eb84e8d3
GA
8112024-01-03 Patrick Palka <ppalka@redhat.com>
812
813 PR testsuite/113175
814 * testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce
815 'limit' to 100 from 1000 and adjust 'log2_limit' accordingly.
816 (test03): Likewise.
817
b4df5e92 818\f
8c22aed4 819Copyright (C) 2024 Free Software Foundation, Inc.
b4df5e92
JW
820
821Copying and distribution of this file, with or without modification,
822are permitted in any medium without royalty provided the copyright
823notice and this notice are preserved.