]> gcc.gnu.org Git - gcc.git/blame - libstdc++-v3/ChangeLog
Daily bump.
[gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
65744764
GA
12024-02-16 Paul Keir <paul.keir@uws.ac.uk>
2
3 Backported from master:
4 2024-02-12 Paul Keir <paul.keir@uws.ac.uk>
5
6 PR libstdc++/113294
7 * include/bits/basic_string.h (basic_string::operator=): Use
8 _M_use_local_data() instead of _M_local_buf on the moved-from
9 string.
10 * testsuite/21_strings/basic_string/modifiers/constexpr.cc
11 (test_move): New test.
12
132024-02-16 Jonathan Wakely <jwakely@redhat.com>
14
15 Backported from master:
16 2024-02-15 Jonathan Wakely <jwakely@redhat.com>
17
18 PR libstdc++/99117
19 * include/std/valarray (valarray::operator=(const _Expr&)):
20 Use loop to copy instead of __valarray_copy with _Array.
21 * testsuite/26_numerics/valarray/99117.cc: New test.
22
232024-02-16 Jonathan Wakely <jwakely@redhat.com>
24
25 Backported from master:
26 2024-02-15 Jonathan Wakely <jwakely@redhat.com>
27
28 * src/c++20/tzdata.zi: Import new file from 2024a release.
29 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
30 Update expiry date for leap seconds list.
31
322024-02-16 Jonathan Wakely <jwakely@redhat.com>
33
34 Backported from master:
35 2024-02-08 Jonathan Wakely <jwakely@redhat.com>
36
37 * include/tr2/type_traits (bases, direct_bases): Use
38 __has_builtin to check if required built-ins are supported.
39
9ae91c7e
GA
402024-02-09 Jonathan Wakely <jwakely@redhat.com>
41
42 Backported from master:
43 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
44
45 PR libstdc++/112467
46 * include/bits/stl_bvector.h (_M_assume_normalized): Do not use
47 statement form of assume attribute for Clang.
48
492024-02-09 Alexandre Oliva <oliva@adacore.com>
50
51 Backported from master:
52 2023-11-09 Alexandre Oliva <oliva@adacore.com>
53
54 PR libstdc++/110807
55 * include/bits/stl_bvector.h (_Bit_iterator_base): Add
56 _M_assume_normalized member function. Call it in _M_bump_up,
57 _M_bump_down, _M_incr, operator==, operator<=>, operator<, and
58 operator-.
59 (_Bit_iterator): Also call it in operator*.
60 (_Bit_const_iterator): Likewise.
61
e780a046
GA
622024-02-08 Jonathan Wakely <jwakely@redhat.com>
63
64 Backported from master:
65 2024-01-11 Jonathan Wakely <jwakely@redhat.com>
66
67 PR libstdc++/113258
68 * libsupc++/new_opa.cc: Prefer to use posix_memalign if
69 available.
70
712024-02-08 Jonathan Wakely <jwakely@redhat.com>
72
73 Backported from master:
74 2024-01-13 Jonathan Wakely <jwakely@redhat.com>
75
76 PR libstdc++/107466
77 * include/bits/random.tcc (subtract_with_carry_engine::seed):
78 Implement proposed resolution of LWG 4014.
79 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
80 line number.
81 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
82 Check for expected result of 64-bit engine with seed that
83 doesn't fit in 32-bits.
84
852024-02-08 Jonathan Wakely <jwakely@redhat.com>
86
87 Backported from master:
88 2024-02-02 Jonathan Wakely <jwakely@redhat.com>
89
90 * include/experimental/internet (network_v6::network): Define.
91 (network_v6::hosts): Finish implementing.
92 (network_v6::to_string): Do not concatenate std::string to
93 arbitrary std::basic_string specialization.
94 * testsuite/experimental/net/internet/network/v6/cons.cc: New
95 test.
96
972024-02-08 Jonathan Wakely <jwakely@redhat.com>
98
99 Backported from master:
100 2024-02-02 Jonathan Wakely <jwakely@redhat.com>
101
102 PR libstdc++/90276
103 * testsuite/util/pstl/test_utils.h (reverse_invoker): Do not use
104 perfect forwarding for iterator arguments.
105
1062024-02-08 Jonathan Wakely <jwakely@redhat.com>
107
108 Backported from master:
109 2024-02-02 Jonathan Wakely <jwakely@redhat.com>
110
111 * include/std/syncstream (basic_osyncstream::operator=): Remove
112 noexcept, as per LWG 3867.
113
1142024-02-08 Jonathan Wakely <jwakely@redhat.com>
115
116 Backported from master:
117 2024-02-02 Jonathan Wakely <jwakely@redhat.com>
118
119 * include/std/string_view (basic_string_view(R&&)): Remove
120 constraint that traits_type must be the same, as per LWG 3857.
121 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc:
122 Explicit conversion between different specializations should be
123 allowed.
124 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc:
125 Likewise.
126
9720449a
GA
1272024-02-07 Hans-Peter Nilsson <hp@axis.com>
128
129 Backported from master:
130 2023-10-13 Hans-Peter Nilsson <hp@axis.com>
131
132 * testsuite/29_atomics/atomic/compare_exchange_padding.cc,
133 testsuite/29_atomics/atomic_flag/clear/1.cc,
134 testsuite/29_atomics/atomic_flag/cons/value_init.cc,
135 testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc,
136 testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc,
137 testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc,
138 testsuite/29_atomics/atomic_ref/generic.cc,
139 testsuite/29_atomics/atomic_ref/integral.cc,
140 testsuite/29_atomics/atomic_ref/pointer.cc: Replace
141 dg-require-thread-fence with dg-require-atomic-cmpxchg-word.
142
1432024-02-07 Hans-Peter Nilsson <hp@axis.com>
144
145 Backported from master:
146 2023-10-13 Hans-Peter Nilsson <hp@axis.com>
147
148 * testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word):
149 New proc.
150 * testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word):
151 Ditto.
152
1532024-02-07 Christophe Lyon <christophe.lyon@linaro.org>
154
155 Backported from master:
156 2023-09-14 Christophe Lyon <christophe.lyon@linaro.org>
157
158 * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise.
159 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
160 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
161 * testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise.
162 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise.
163 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
164 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
165 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
166
9a6afdff
GA
1672024-02-06 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
168
169 Backported from master:
170 2024-02-06 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
171
172 * testsuite/lib/libstdc++.exp: Use "nul" for Windows, "/dev/null"
173 for other environments.
174
d8779811
GA
1752024-01-30 Jonathan Wakely <jwakely@redhat.com>
176
177 Backported from master:
178 2024-01-21 Jonathan Wakely <jwakely@redhat.com>
179
180 PR libstdc++/113500
181 * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix
182 printing of subseconds with floating-point rep.
183 (__formatter_chrono::_M_format_to_ostream): Do not write
184 time_point specializations directly to the ostream.
185 (formatter<chrono::sys_time<D>, C>::parse): Do not allow an
186 empty chrono-spec if the type fails to meet the constraints for
187 writing to an ostream with operator<<.
188 * testsuite/std/time/clock/file/io.cc: Check formatting
189 non-integral times with empty chrono-specs.
190 * testsuite/std/time/clock/gps/io.cc: Likewise.
191 * testsuite/std/time/clock/utc/io.cc: Likewise.
192 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
193
1942024-01-30 Jonathan Wakely <jwakely@redhat.com>
195
196 Backported from master:
197 2024-01-21 Jonathan Wakely <jwakely@redhat.com>
198
199 * include/bits/chrono.h (__file_clock::from_sys)
200 (__file_clock::to_sys, __file_clock::_S_from_sys)
201 (__file_clock::_S_to_sys): Use common_type for return type.
202 * testsuite/std/time/clock/file/members.cc: Check round trip
203 conversion for time with lower precision that seconds.
204
2052024-01-30 Jonathan Wakely <jwakely@redhat.com>
206
207 Backported from master:
208 2024-01-21 Jonathan Wakely <jwakely@redhat.com>
209
210 PR libstdc++/113512
211 * include/std/format (__formatter_fp::format): Fix logic for
212 alternate forms.
213 * testsuite/std/format/functions/format.cc: Check buggy cases of
214 alternate forms with g presentation type.
215
e3d4ebdc
GA
2162024-01-18 Jonathan Wakely <jwakely@redhat.com>
217
218 Backported from master:
219 2024-01-18 Jonathan Wakely <jwakely@redhat.com>
220
221 PR libstdc++/113450
222 * testsuite/std/format/functions/format.cc: Use signed char
223 instead of int8_t.
224
2252024-01-18 Jonathan Wakely <jwakely@redhat.com>
226
227 Backported from master:
228 2024-01-15 Jonathan Wakely <jwakely@redhat.com>
229
230 PR testsuite/113366
231 * include/std/format (basic_format_arg): Use __formattable
232 variable template instead of __format::__formattable_with
233 concept.
234
2352024-01-18 Jonathan Wakely <jwakely@redhat.com>
236
237 Backported from master:
238 2024-01-15 Jonathan Wakely <jwakely@redhat.com>
239
240 * src/c++20/tzdata.zi: Import new file from 2023d release.
241 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
242 Update expiry date for leap seconds list.
243
2d5b852b
GA
2442024-01-12 Jonathan Wakely <jwakely@redhat.com>
245
246 Backported from master:
247 2024-01-12 Jonathan Wakely <jwakely@redhat.com>
248
249 * include/std/format (__format::_Arg_store): Fix PR number in
250 comment. Simplify preprocessor code.
251
32162518
GA
2522024-01-11 Jonathan Wakely <jwakely@redhat.com>
253
254 Backported from master:
255 2024-01-11 Jonathan Wakely <jwakely@redhat.com>
256
257 * doc/xml/manual/evolution.xml: Fix spelling.
258 * doc/html/manual/api.html: Regenerate.
259
2602024-01-11 François Dumont <fdumont@gcc.gnu.org>
261
262 PR libstdc++/112477
263 * src/c++11/debug.cc
264 (_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null
265 sequence.
266 (_Safe_iterator_base::_M_attach_single): Likewise.
267 (_Safe_local_iterator_base::_M_attach): Likewise.
268 (_Safe_local_iterator_base::_M_attach_single): Likewise.
269 * testsuite/23_containers/map/debug/112477.cc: New test case.
270
2712024-01-11 Jonathan Wakely <jwakely@redhat.com>
272
273 Backported from master:
274 2024-01-11 Jonathan Wakely <jwakely@redhat.com>
275
276 * doc/xml/manual/evolution.xml: Document addition of
277 libstdc++exp.a.
278 * doc/html/*: Regenerate.
279
2802024-01-11 Ken Matsui <kmatsui@gcc.gnu.org>
281
282 Backported from master:
283 2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org>
284
285 PR libstdc++/113250
286 * src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&.
287 * src/filesystem/ops.cc (fs::equivalent): Likewise.
288 * testsuite/27_io/filesystem/operations/equivalent.cc: Handle
289 error codes.
290 * testsuite/experimental/filesystem/operations/equivalent.cc:
291 Likewise.
292
c9c80446
GA
2932024-01-10 Jonathan Wakely <jwakely@redhat.com>
294
295 Backported from master:
296 2023-09-08 Jonathan Wakely <jwakely@redhat.com>
297
298 * doc/html/manual/*: Regenerate.
299 * doc/xml/manual/using.xml: Update documentation on linking.
300 * scripts/testsuite_flags.in: Adjust LDFLAGS to find
301 libstdc++exp instead of libstdc++_libbacktrace.
302 * src/c++20/Makefile.am: Fix comment.
303 * src/c++20/Makefile.in: Regenerate.
304 * src/experimental/Makefile.am: Use LIBADD to include other
305 libraries.
306 * src/experimental/Makefile.in: Regenerate.
307 * testsuite/19_diagnostics/stacktrace/current.cc: Adjust
308 dg-options to use -lstdc++exp.
309 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
310 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
311 * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc:
312 Likewise.
313
d4905489
GA
3142024-01-08 Jonathan Wakely <jwakely@redhat.com>
315
316 * testsuite/std/format/functions/format.cc: Add more checks for
317 wstring formatting of arithmetic types.
318
3192024-01-08 Jonathan Wakely <jwakely@redhat.com>
320
321 Backported from master:
322 2024-01-08 Jonathan Wakely <jwakely@redhat.com>
323
324 * include/std/format (formatter<C, C>::format): Check for
325 _Pres_c and call _M_format_character directly. Cast C to its
326 unsigned equivalent for formatting as an integer.
327 (formatter<char, wchar_t>::format): Likewise.
328 (basic_format_arg(T&)): Store char arguments as unsigned char
329 for formatting to a wide string.
330 (__cpp_lib_format_uchar): Define.
331 * include/std/version (__cpp_lib_format_uchar): Define.
332 * testsuite/std/format/functions/format.cc: Adjust test. Check
333 formatting of characters using all integer presentation types.
334
d6f4912f
GA
3352024-01-06 Jonathan Wakely <jwakely@redhat.com>
336
337 Backported from master:
338 2024-01-05 Jonathan Wakely <jwakely@redhat.com>
339
340 PR libstdc++/113241
341 * include/std/type_traits (is_convertible_v): Guard use of
342 built-in with preprocessor check.
343
3442024-01-06 Jonathan Wakely <jwakely@redhat.com>
345
346 Backported from master:
347 2024-01-05 Jonathan Wakely <jwakely@redhat.com>
348
349 PR libstdc++/113200
350 * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use
351 __builtin_constant_p to check for unrelated pointers that cannot
352 be compared during constant evaluation.
353 * testsuite/21_strings/char_traits/requirements/113200.cc: New
354 test.
355
69417f84
GA
3562024-01-03 Patrick Palka <ppalka@redhat.com>
357
358 Backported from master:
359 2024-01-03 Patrick Palka <ppalka@redhat.com>
360
361 PR testsuite/113175
362 * testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce
363 'limit' to 100 from 1000 and adjust 'log2_limit' accordingly.
364 (test03): Likewise.
365
3d00aa17
GA
3662023-12-15 Jonathan Wakely <jwakely@redhat.com>
367
368 Backported from master:
369 2023-12-14 Jonathan Wakely <jwakely@redhat.com>
370
371 * testsuite/27_io/objects/char/2.cc: Use dg-output.
372 * testsuite/27_io/objects/wchar_t/2.cc: Use dg-output.
373
3742023-12-15 Jonathan Wakely <jwakely@redhat.com>
375
376 Backported from master:
377 2023-12-14 Jonathan Wakely <jwakely@redhat.com>
378
379 * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix order
380 of arguments to std::format_to.
381 * testsuite/20_util/duration/io.cc: Test subsecond duration with
382 floating-point rep.
383
562e3b35
GA
3842023-12-13 Jonathan Wakely <jwakely@redhat.com>
385
386 Backported from master:
387 2023-12-13 Jonathan Wakely <jwakely@redhat.com>
388
389 * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Do
390 not round century down for %Y formats.
391
3922023-12-13 Jonathan Wakely <jwakely@redhat.com>
393
394 Backported from master:
395 2023-12-12 Jonathan Wakely <jwakely@redhat.com>
396
397 * testsuite/std/format/functions/format.cc: Check for expected
398 output for char and bool arguments.
399 * testsuite/std/format/string.cc: Check that 0 filling is
400 rejected for character and string formats.
401
4022023-12-13 Jonathan Wakely <jwakely@redhat.com>
403
404 Backported from master:
405 2023-12-12 Jonathan Wakely <jwakely@redhat.com>
406
407 * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Fix
408 rounding for negative centuries.
409 * testsuite/std/time/year/io.cc: Check %C for negative years.
410
78a14003
GA
4112023-12-09 Jonathan Wakely <jwakely@redhat.com>
412
413 Backported from master:
414 2023-12-09 Jonathan Wakely <jwakely@redhat.com>
415
416 PR libstdc++/111826
417 * include/std/format (__cpp_lib_format): Update value.
418 * include/std/version (__cpp_lib_format): Likewise.
419 * testsuite/std/format/functions/format.cc: Update expected
420 value.
421
4222023-12-09 Jonathan Wakely <jwakely@redhat.com>
423
424 Backported from master:
425 2023-12-07 Jonathan Wakely <jwakely@redhat.com>
426
427 * include/std/format (_Iter_sink<charT, contiguous_iterator>):
428 Remove uint64_t local type.
429
4302023-12-09 Jonathan Wakely <jwakely@redhat.com>
431
432 Backported from master:
433 2023-12-07 Jonathan Wakely <jwakely@redhat.com>
434
435 * include/bits/atomic_wait.h: Include <cstdint> instead of
436 <stdint.h>.
437
94f51fcd
GA
4382023-12-06 Jonathan Wakely <jwakely@redhat.com>
439
440 Backported from master:
441 2023-12-05 Jonathan Wakely <jwakely@redhat.com>
442
443 PR libstdc++/111948
444 * include/bits/ranges_util.h (subrange): Add constructor to
445 _Size to avoid setting member in constructor.
446 * testsuite/std/ranges/subrange/111948.cc: New test.
447
4482023-12-06 Jonathan Wakely <jwakely@redhat.com>
449
450 Backported from master:
451 2023-11-13 Jonathan Wakely <jwakely@redhat.com>
452
453 PR libstdc++/112480
454 * include/std/optional (_Optional_payload_base::_M_reset): Set
455 _M_engaged to false unconditionally.
456
4572023-12-06 Jonathan Wakely <jwakely@redhat.com>
458
459 Backported from master:
460 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
461
462 PR libstdc++/112473
463 * include/bits/utility.h (integer_sequence): Add static_assert.
464 * testsuite/20_util/integer_sequence/112473.cc: New test.
465
4662023-12-06 Jonathan Wakely <jwakely@redhat.com>
467
468 Backported from master:
469 2023-12-05 Jonathan Wakely <jwakely@redhat.com>
470
471 PR libstdc++/112832
472 * include/std/format (formatter::set_debug_format): Ensure this
473 member is defined conditionally for all specializations.
474 * testsuite/std/format/formatter/112832.cc: New test.
475
4762023-12-06 Jonathan Wakely <jwakely@redhat.com>
477
478 Backported from master:
479 2023-11-04 Jonathan Wakely <jwakely@redhat.com>
480
481 PR libstdc++/110133
482 * include/std/system_error (system_error::system_error): Group
483 arguments so that concatenation can reuse rvalue's capacity.
484 * src/c++11/system_error.cc (strerror_string): New function.
485 [_GLIBCXX_HAVE_STRERROR_R] (use_strerror_result): New functions.
486 (generic_error_category::message): Use strerror_string.
487 (system_error_category::message): Likewise.
488
ad80a69d
GA
4892023-12-05 Jakub Jelinek <jakub@redhat.com>
490
491 Backported from master:
492 2023-10-13 Jakub Jelinek <jakub@redhat.com>
493
494 * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01):
495 Initialize stream to va_arg(ap, FILE*) rather than 0.
496 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01):
497 Likewise.
498
e5ca9fec
GA
4992023-11-28 Jonathan Wakely <jwakely@redhat.com>
500
501 Backported from master:
502 2023-11-18 Jonathan Wakely <jwakely@redhat.com>
503
504 PR libstdc++/112607
505 * include/std/format (basic_format_arg::_S_to_arg_type): Check
506 value_type for basic_string_view and basic_string
507 specializations.
508 * testsuite/std/format/arguments/112607.cc: New test.
509
5102023-11-28 Jonathan Wakely <jwakely@redhat.com>
511
512 Backported from master:
513 2023-11-28 Jonathan Wakely <jwakely@redhat.com>
514
515 * include/bits/atomic_wait.h: Include <stdint.h>.
516
5172023-11-28 Jonathan Wakely <jwakely@redhat.com>
518
519 Backported from master:
520 2023-11-17 Jonathan Wakely <jwakely@redhat.com>
521
522 * include/std/utility (in_range): Rename _Up parameter to _Res.
523
f14c5337
GA
5242023-11-15 Jonathan Wakely <jwakely@redhat.com>
525
526 Backported from master:
527 2023-11-15 Jonathan Wakely <jwakely@redhat.com>
528
529 PR libstdc++/112491
530 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index):
531 Correctly handle unused capacity at the start of the first node.
532 * testsuite/libstdc++-xmethods/deque.cc: Check index operator
533 when elements have been removed from the front.
534
5352023-11-15 Jonathan Wakely <jwakely@redhat.com>
536
537 Backported from master:
538 2023-11-15 Jonathan Wakely <jwakely@redhat.com>
539
540 * include/std/stacktrace (basic_stacktrace::at): Fix class name
541 in exception message.
542 * testsuite/19_diagnostics/stacktrace/hash.cc: Do not fail if
543 current() returns a non-empty stacktrace.
544
79bde979
GA
5452023-11-14 Jonathan Wakely <jwakely@redhat.com>
546
547 Backported from master:
548 2023-11-14 Jonathan Wakely <jwakely@redhat.com>
549
550 PR libstdc++/112348
551 * include/std/stacktrace (hash<basic_stacktrace<Alloc>>): Fix
552 type of hash function for entries.
553 * testsuite/19_diagnostics/stacktrace/hash.cc: New test.
554
5552023-11-14 Jonathan Wakely <jwakely@redhat.com>
556
557 Backported from master:
558 2023-11-14 Jonathan Wakely <jwakely@redhat.com>
559
560 PR libstdc++/112491
561 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.size): Fix
562 calculation to use _M_start._M_cur.
563 * testsuite/libstdc++-xmethods/deque.cc: Check failing cases.
564
5652023-11-14 Jonathan Wakely <jwakely@redhat.com>
566
567 Backported from master:
568 2023-11-13 Jonathan Wakely <jwakely@redhat.com>
569
570 * testsuite/std/time/clock/file/io.cc: Double timeout using
571 dg-timeout-factor.
572 * testsuite/std/time/clock/gps/io.cc: Likewise.
573 * testsuite/std/time/clock/system/io.cc: Likewise.
574 * testsuite/std/time/clock/tai/io.cc: Likewise.
575 * testsuite/std/time/clock/utc/io.cc: Likewise.
576
84e81b30
GA
5772023-11-13 Tom Tromey <tromey@adacore.com>
578
579 Backported from master:
580 2023-10-04 Tom Tromey <tromey@adacore.com>
581
582 * python/libstdcxx/v6/printers.py
583 (StdExpAnyPrinter.__init__): Qualify call to
584 _string_types.
585
5862023-11-13 Tom Tromey <tromey@adacore.com>
587
588 Backported from master:
589 2023-10-04 Tom Tromey <tromey@adacore.com>
590
591 * python/libstdcxx/v6/printers.py: Assume that
592 _versioned_namespace is non-None.
593 * python/libstdcxx/v6/xmethods.py (is_specialization_of):
594 Assume that _versioned_namespace is non-None.
595
5962023-11-13 Tom Tromey <tromey@adacore.com>
597
598 Backported from master:
599 2023-10-04 Tom Tromey <tromey@adacore.com>
600
601 * python/libstdcxx/v6/xmethods.py (_versioned_namespace):
602 Define.
603
6042023-11-13 Tom Tromey <tromey@adacore.com>
605
606 Backported from master:
607 2023-09-28 Tom Tromey <tromey@adacore.com>
608
609 * python/libstdcxx/v6/printers.py (Printer.add_version)
610 (add_one_template_type_printer)
611 (FilteringTypePrinter.add_one_type_printer): Use Python
612 "not in" operator.
613
6142023-11-13 Tom Tromey <tromey@adacore.com>
615
616 Backported from master:
617 2023-09-28 Tom Tromey <tromey@adacore.com>
618
619 * python/libstdcxx/v6/printers.py (std_ratio_t_tuple):
620 Remove.
621
6222023-11-13 Tom Tromey <tromey@adacore.com>
623
624 Backported from master:
625 2023-09-28 Tom Tromey <tromey@adacore.com>
626
627 * python/libstdcxx/v6/printers.py
628 (StdExpOptionalPrinter.__init__, lookup_node_type):
629 Remove unused variables.
630
6312023-11-13 Tom Tromey <tromey@adacore.com>
632
633 Backported from master:
634 2023-09-28 Tom Tromey <tromey@adacore.com>
635
636 * python/libstdcxx/v6/printers.py: Don't import 'os'.
637 * python/libstdcxx/v6/__init__.py: Don't import 'gdb'.
638
6392023-11-13 Tom Tromey <tromey@adacore.com>
640
641 Backported from master:
642 2023-09-28 Tom Tromey <tromey@adacore.com>
643
644 * python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter
645 everywhere. Rename members to start with "_".
646
6472023-11-13 Jonathan Wakely <jwakely@redhat.com>
648
649 Backported from master:
650 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
651
652 * python/libstdcxx/v6/xmethods.py (is_specialization_of): Define
653 new function.
654 (ArrayMethodsMatcher, DequeMethodsMatcher)
655 (ForwardListMethodsMatcher, ListMethodsMatcher)
656 (VectorMethodsMatcher, AssociativeContainerMethodsMatcher)
657 (UniquePtrGetWorker, UniquePtrMethodsMatcher)
658 (SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use
659 is_specialization_of instead of re.match.
660
6612023-11-13 Jonathan Wakely <jwakely@redhat.com>
662
663 Backported from master:
664 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
665
666 * python/libstdcxx/v6/printers.py: Break long lines. Use raw
667 strings for regular expressions. Add whitespace around
668 operators.
669 (is_member_of_namespace): Use isinstance to check type.
670 (is_specialization_of): Likewise. Adjust template_name
671 for versioned namespace instead of duplicating the re.match
672 call.
673 (StdExpAnyPrinter._string_types): New static method.
674 (StdExpAnyPrinter.to_string): Use _string_types.
675
6762023-11-13 Jonathan Wakely <jwakely@redhat.com>
677
678 Backported from master:
679 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
680
681 * python/libstdcxx/v6/printers.py: Format docstrings according
682 to PEP 257.
683 * python/libstdcxx/v6/xmethods.py: Likewise.
684
6852023-11-13 Jonathan Wakely <jwakely@redhat.com>
686
687 Backported from master:
688 2023-09-27 Jonathan Wakely <jwakely@redhat.com>
689
690 * python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter):
691 Fix incorrect number of replacement fields.
692
6932023-11-13 Jonathan Wakely <jwakely@redhat.com>
694
695 Backported from master:
696 2023-09-12 Jonathan Wakely <jwakely@redhat.com>
697
698 * python/libstdcxx/v6/printers.py: Reformat.
699 * python/libstdcxx/v6/xmethods.py: Likewise.
700
7012023-11-13 Jonathan Wakely <jwakely@redhat.com>
702
703 Backported from master:
704 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
705
706 * python/libstdcxx/v6/printers.py (StdLocalePrinter): New
707 printer class.
708 * testsuite/libstdc++-prettyprinters/locale.cc: New test.
709
7102023-11-13 Jonathan Wakely <jwakely@redhat.com>
711
712 Backported from master:
713 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
714
715 PR libstdc++/110944
716 * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do
717 not show template arguments.
718 (StdVariantPrinter): Likewise.
719 * testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected
720 output.
721 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
722 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
723
88a40b43
GA
7242023-11-09 Jonathan Wakely <jwakely@redhat.com>
725
726 Backported from master:
727 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
728
729 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
730 Fix test to work for C++23 and C++26 too.
731
7322023-11-09 Jonathan Wakely <jwakely@redhat.com>
733
734 Backported from master:
735 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
736
737 * testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch.
738 * testsuite/std/format/functions/format.cc: Likewise.
739 * testsuite/std/format/functions/format_c++23.cc: Likewise.
740
7412023-11-09 Jonathan Wakely <jwakely@redhat.com>
742
743 Backported from master:
744 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
745
746 * include/bits/basic_string.tcc (resize_and_overwrite): Invoke
747 the callable with the same size as resize_and_overwrite was
748 called with.
749 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
750 Check with small values for the new size.
751 * testsuite/std/format/functions/format.cc: Check wide
752 formatting of double values that produce small strings.
753 * testsuite/std/format/functions/format_c++23.cc: New test.
754
7552023-11-09 Jonathan Wakely <jwakely@redhat.com>
756
757 Backported from master:
758 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
759
760 * testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove
761 any "-include bits/stdc++.h" from options and add the macro to
762 the existing options instead of replacing them.
763
7642023-11-09 Jonathan Wakely <jwakely@redhat.com>
765
766 Backported from master:
767 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
768
769 * include/bits/shared_ptr_atomic.h (atomic): Change class-head
770 to struct.
771 * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change
772 class-head to struct in friend declaration.
773 * include/std/chrono (tzdb_list::_Node): Likewise.
774 * include/std/future (_Task_state_base, _Task_state): Likewise.
775 * include/std/scoped_allocator (__inner_type_impl): Likewise.
776 * include/std/valarray (_BinClos, _SClos, _GClos, _IClos)
777 (_ValFunClos, _RefFunClos): Change class-head to struct.
778
7792023-11-09 Jonathan Wakely <jwakely@redhat.com>
780
781 Backported from master:
782 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
783
784 * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]]
785 attribute.
786 * include/bits/regex_executor.tcc: Remove name of unused
787 parameter.
788 * include/bits/shared_ptr_atomic.h (atomic_is_lock_free):
789 Likewise.
790 * include/bits/stl_uninitialized.h: Likewise.
791 * include/bits/streambuf_iterator.h (operator==): Likewise.
792 * include/bits/uses_allocator.h: Likewise.
793 * include/c_global/cmath (isfinite, isinf, isnan): Likewise.
794 * include/std/chrono (zoned_time): Likewise.
795 * include/std/future (__future_base::_S_allocate_result):
796 Likewise.
797 (packaged_task): Likewise.
798 * include/std/optional (_Optional_payload_base): Likewise.
799 * include/std/scoped_allocator (__inner_type_impl): Likewise.
800 * include/std/tuple (_Tuple_impl): Likewise.
801
8022023-11-09 Pekka Seppänen <pexu@gcc.mail.kapsi.fi>
803
804 Backported from master:
805 2023-09-11 Pekka Seppänen <pexu@gcc.mail.kapsi.fi>
806
807 * src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute.
808 * src/c++17/fs_path.cc (path::_S_convert_loc): Likewise.
809 * src/filesystem/path.cc (path::_S_convert_loc): Likewise.
810
8112023-11-09 Alexey Lapshin <alexey.lapshin@espressif.com>
812
813 Backported from master:
814 2023-09-08 Alexey Lapshin <alexey.lapshin@espressif.com>
815
816 * src/libbacktrace/Makefile.am: Remove -Werror.
817 * src/libbacktrace/Makefile.in: Regenerate.
818
8192023-11-09 Jonathan Wakely <jwakely@redhat.com>
820
821 Backported from master:
822 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
823
824 * testsuite/23_containers/unordered_map/operations/1.cc: Add
825 dg-options for C++20 mode.
826 * testsuite/23_containers/unordered_multimap/operations/1.cc:
827 Likewise.
828 * testsuite/23_containers/unordered_multiset/operations/1.cc:
829 Likewise.
830 * testsuite/23_containers/unordered_set/operations/1.cc:
831 Likewise.
832
8332023-11-09 Jonathan Wakely <jwakely@redhat.com>
834
835 Backported from master:
836 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
837
838 * include/bits/new_allocator.h (__new_allocator): Define copy
839 assignment operator as defaulted.
840 * include/std/complex (complex<float>, complex<double>)
841 (complex<long double>): Define copy constructor as defaulted.
842
8432023-11-09 Jonathan Wakely <jwakely@redhat.com>
844
845 Backported from master:
846 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
847
848 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir,
849 chmod, chdir, and getcwd.
850 * config.h.in: Regenerate.
851 * configure: Regenerate.
852 * src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro.
853 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
854 (fs::permissions): Use USE_CHMOD macro.
855 * src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS]
856 (chmod, mkdir, getcwd, chdir): Define new macros.
857 [FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use
858 new macros.
859 * src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro.
860 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
861 (fs::permissions): Use USE_CHMOD macro.
862
8632023-11-09 Jonathan Wakely <jwakely@redhat.com>
864
865 Backported from master:
866 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
867
868 PR libstdc++/111172
869 * include/std/variant (get<T>): Remove !is_void static
870 assertions.
871
8722023-11-09 Jonathan Wakely <jwakely@redhat.com>
873
874 Backported from master:
875 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
876
877 * src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New
878 function.
879 (reset_sequence_ptr): New function.
880 (_Safe_iterator_base::_M_detach)
881 (_Safe_local_iterator_base::_M_detach): Replace bare atomic_load
882 with acquire_sequence_ptr_for_lock.
883 (_Safe_iterator_base::_M_reset): Replace bare atomic_store with
884 reset_sequence_ptr.
885
8862023-11-09 Jonathan Wakely <jwakely@redhat.com>
887
888 Backported from master:
889 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
890
891 * src/c++11/Makefile.am: Add new file.
892 * src/c++11/Makefile.in: Regenerate.
893 * src/c++11/debug.cc (__glibcxx_assert_fail): Move to ...
894 * src/c++11/assert_fail.cc: New file.
895
6dafb7d9
GA
8962023-11-08 Jonathan Wakely <jwakely@redhat.com>
897
898 Backported from master:
899 2023-11-06 Jonathan Wakely <jwakely@redhat.com>
900
901 * include/std/expected (expected::and_then, expected::or_else):
902 Add string literals to static assertions.
903 * include/std/optional (optional::and_then, optional::or_else):
904 Likewise.
905
9062023-11-08 Feng Jisen <J1senn@outlook.com>
907
908 Backported from master:
909 2023-11-04 Feng Jisen <J1senn@outlook.com>
910
911 * include/bits/utility.h (_Nth_type): Remove redundant partial
912 specialization.
913
9142023-11-08 Jonathan Wakely <jwakely@redhat.com>
915
916 Backported from master:
917 2023-11-02 Jonathan Wakely <jwakely@redhat.com>
918
919 PR libstdc++/112314
920 * include/std/string_view (string_view::remove_suffix): Add
921 debug assertion.
922 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc:
923 New test.
924 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc:
925 New test.
926
9272023-11-08 Jonathan Wakely <jwakely@redhat.com>
928
929 Backported from master:
930 2023-11-02 Jonathan Wakely <jwakely@redhat.com>
931
932 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks.
933 * configure: Regenerate.
934
9352023-11-08 Jonathan Wakely <jwakely@redhat.com>
936
937 Backported from master:
938 2023-10-26 Jonathan Wakely <jwakely@redhat.com>
939
940 PR libstdc++/112089
941 * include/std/shared_mutex (shared_lock::unlock): Change errc
942 constant to operation_not_permitted.
943 * testsuite/30_threads/shared_lock/locking/112089.cc: New test.
944
9452023-11-08 Jonathan Wakely <jwakely@redhat.com>
946
947 Backported from master:
948 2023-10-26 Jonathan Wakely <jwakely@redhat.com>
949
950 * testsuite/20_util/duration/io.cc: Double timeout using
951 dg-timeout-factor.
952 * testsuite/std/time/day/io.cc: Likewise.
953 * testsuite/std/time/format.cc: Likewise.
954 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
955 * testsuite/std/time/month/io.cc: Likewise.
956 * testsuite/std/time/month_day/io.cc: Likewise.
957 * testsuite/std/time/month_day_last/io.cc: Likewise.
958 * testsuite/std/time/month_weekday/io.cc: Likewise.
959 * testsuite/std/time/month_weekday_last/io.cc: Likewise.
960 * testsuite/std/time/weekday/io.cc: Likewise.
961 * testsuite/std/time/weekday_indexed/io.cc: Likewise.
962 * testsuite/std/time/weekday_last/io.cc: Likewise.
963 * testsuite/std/time/year/io.cc: Likewise.
964 * testsuite/std/time/year_month/io.cc: Likewise.
965 * testsuite/std/time/year_month_day/io.cc: Likewise.
966 * testsuite/std/time/year_month_day_last/io.cc: Likewise.
967 * testsuite/std/time/year_month_weekday/io.cc: Likewise.
968 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
969 * testsuite/std/time/zoned_time/io.cc: Likewise.
970
9712023-11-08 Jonathan Wakely <jwakely@redhat.com>
972
973 Backported from master:
974 2023-10-21 Jonathan Wakely <jwakely@redhat.com>
975
976 * include/bits/basic_string.h (_M_init_local_buf()): New
977 function.
978 (_M_use_local_data()): Use _M_init_local_buf.
979 (basic_string(), basic_string(const Alloc&))
980 (basic_string(basic_string&&))
981 (basic_string(basic_string&&, const Alloc&)): Use
982 _M_init_local_buf instead of _M_use_local_data().
983 * include/bits/basic_string.tcc (swap(basic_string&))
984 (_M_construct(InIter, InIter, input_iterator_tag))
985 (_M_construct(InIter, InIter, forward_iterator_tag))
986 (_M_construct(size_type, CharT), reserve()): Likewise.
987
47e40beb
GA
9882023-11-06 Ian Lance Taylor <iant@golang.org>
989
990 PR libbacktrace/111315
991 PR libbacktrace/112263
992 * acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when
993 grepping link.h for dl_iterate_phdr.
994 * configure: Regenerate.
995
f32c132a
GA
9962023-10-30 François Dumont <fdumont@gcc.gnu.org>
997
998 * src/experimental/contract.cc
999 [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol
1000 without version namespace decoration for gcc.
1001
b5201aee
GA
10022023-10-25 Jonathan Wakely <jwakely@redhat.com>
1003
1004 Backported from master:
1005 2023-10-25 Jonathan Wakely <jwakely@redhat.com>
1006
1007 PR libstdc++/111936
1008 * src/libbacktrace/Makefile.am: Add -prefer-pic to libtool
1009 compile commands.
1010 * src/libbacktrace/Makefile.in: Regenerate.
1011
10122023-10-25 Paul M. Bendixen <paulbendixen@gmail.com>
1013
1014 Backported from master:
1015 2023-10-24 Paul M. Bendixen <paulbendixen@gmail.com>
1016
1017 * include/Makefile.am: Move cstdarg, cstdalign and cstdbool to
1018 freestanding.
1019 * include/Makefile.in: Regenerate.
1020
9481a1f7
GA
10212023-10-23 François Dumont <fdumont@gcc.gnu.org>
1022
1023 * include/bits/hashtable_policy.h
1024 (_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove.
1025 (_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove.
1026 * include/bits/hashtable.h
1027 (_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New.
1028 (_M_merge_unique<>, _M_merge_multi<>): Use latter.
1029 * testsuite/23_containers/unordered_map/modifiers/merge.cc
1030 (test04, test05, test06): New test cases.
1031
db1eba7f
GA
10322023-10-21 Benjamin Brock <brock@cs.berkeley.edu>
1033
1034 Backported from master:
1035 2023-10-21 Benjamin Brock <brock@cs.berkeley.edu>
1036
1037 * include/std/ranges (zip_view, adjacent_view): Implement
1038 workaround for LLVM-61763.
1039
10402023-10-21 Jonathan Wakely <jwakely@redhat.com>
1041
1042 Backported from master:
1043 2023-10-21 Jonathan Wakely <jwakely@redhat.com>
1044
1045 * include/bits/fs_dir.h (operator==(default_sentinel_t)): Fix
1046 indentation.
1047
10482023-10-21 Nathaniel Shead <nathanieloshead@gmail.com>
1049
1050 Backported from master:
1051 2023-09-29 Nathaniel Shead <nathanieloshead@gmail.com>
1052
1053 * include/bits/basic_string.h: (basic_string(basic_string&&)):
1054 Activate _M_local_buf when needed.
1055 (basic_string(basic_string&&, const _Alloc&)): Likewise.
1056 * include/bits/basic_string.tcc: (basic_string::swap): Likewise.
1057 * include/std/variant: (__detail::__variant::__construct_n): New.
1058 (__detail::__variant::__emplace): Use __construct_n.
1059
5fb5e2fa
GA
10602023-10-02 Tim Song <t.canens.cpp@gmail.com>
1061
1062 Backported from master:
1063 2023-09-28 Tim Song <t.canens.cpp@gmail.com>
1064
1065 PR libstdc++/111050
1066 * include/bits/hashtable_policy.h
1067 (_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v())
1068 Add [[__gnu__::__always_inline__]].
1069
0b804b32
GA
10702023-09-27 Paul Dreik <gccpatches@pauldreik.se>
1071
1072 Backported from master:
1073 2023-08-24 Paul Dreik <gccpatches@pauldreik.se>
1074
1075 PR libstdc++/111102
1076 * testsuite/std/format/string.cc: Check wide character format
1077 strings with out-of-range widths.
1078
10792023-09-27 François Dumont <fdumont@gcc.gnu.org>
1080
1081 Backported from master:
1082 2023-09-13 François Dumont <fdumont@gcc.gnu.org>
1083
1084 * include/std/format (std::__format::_Arg_store): Explicit version
1085 namespace on make_format_args friend declaration.
1086
10872023-09-27 Paul Dreik <gccpatches@pauldreik.se>
1088
1089 Backported from master:
1090 2023-08-24 Paul Dreik <gccpatches@pauldreik.se>
1091
1092 PR libstdc++/111102
1093 * include/std/format (__format::__parse_integer): Check for
1094 non-null pointer.
1095
10962023-09-27 Jonathan Wakely <jwakely@redhat.com>
1097
1098 Backported from master:
1099 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
1100
1101 * include/std/format: Fix some warnings.
1102 (__format::__write(Ctx&, basic_string_view<CharT>)): Remove
1103 unused function template.
1104
11052023-09-27 Jonathan Wakely <jwakely@redhat.com>
1106
1107 Backported from master:
1108 2023-07-27 Jonathan Wakely <jwakely@redhat.com>
1109
1110 PR libstdc++/108046
1111 * include/std/format (__formatter_fp::format): Ensure __expc is
1112 always set for all presentation types. Set __z correctly for
1113 zero precision.
1114 * testsuite/std/format/functions/format.cc: Check problem cases.
1115
11162023-09-27 Jonathan Wakely <jwakely@redhat.com>
1117
1118 Backported from master:
1119 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
1120
1121 * include/bits/chrono.h (duration_cast): Do not use braces
1122 around statements for C++11 constexpr rules.
1123 * include/bits/stl_algobase.h (__lg): Rewrite as a single
1124 statement for C++11 constexpr rules.
1125 * include/experimental/bits/fs_path.h (path::string): Use
1126 _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'.
1127 * include/std/charconv (__to_chars_8): Initialize variable for
1128 C++17 constexpr rules.
1129
11302023-09-26 Jonathan Wakely <jwakely@redhat.com>
1131
1132 Backported from master:
1133 2023-09-25 Jonathan Wakely <jwakely@redhat.com>
1134
1135 PR libstdc++/111511
1136 PR c++/111512
1137 * include/std/array (to_array): Qualify calls to __to_array.
1138 * testsuite/23_containers/array/creation/111512.cc: New test.
1139
ea98e4c8
GA
11402023-09-18 Jonathan Wakely <jwakely@redhat.com>
1141
1142 Backported from master:
1143 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
1144
1145 * doc/xml/manual/configure.xml: Use conventional option name.
1146 * doc/xml/manual/status_cxx2020.xml: Update.
1147 * doc/xml/manual/status_cxx2023.xml: Update.
1148 * doc/html/*: Regenerate.
1149
0480a8ee
GA
11502023-09-14 Jonathan Wakely <jwakely@redhat.com>
1151
1152 PR c++/111357
1153 * include/bits/utility.h (make_integer_sequence): Add cast.
1154 * testsuite/20_util/integer_sequence/pr111357.cc: New test.
1155
5d950cc6
GA
11562023-09-08 Jonathan Wakely <jwakely@redhat.com>
1157
1158 * doc/xml/manual/test.xml: Update reference to -std=gnu++14 as
1159 the default.
1160 * doc/html/manual/test.html: Regenerate.
1161
11622023-09-08 Jonathan Wakely <jwakely@redhat.com>
1163
1164 * testsuite/20_util/uses_allocator/lwg3677.cc: Fix -std in
1165 dg-options.
1166
11672023-09-08 Jonathan Wakely <jwakely@redhat.com>
1168
1169 Backported from master:
1170 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
1171
1172 * testsuite/27_io/filesystem/path/108636.cc: Add dg-require for
1173 filesystem support.
1174
11752023-09-08 Jonathan Wakely <jwakely@redhat.com>
1176
1177 Backported from master:
1178 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
1179
1180 * src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros
1181 for POSIX readlink before using filesystem::read_symlink.
1182
11832023-09-08 Jonathan Wakely <jwakely@redhat.com>
1184
1185 Backported from master:
1186 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
1187
1188 * include/std/format (__format::_Sink::_M_reset): Change second
1189 argument from iterator to offset.
1190
63252696
GA
11912023-08-22 Jonathan Wakely <jwakely@redhat.com>
1192
1193 Backported from master:
1194 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
1195
1196 * include/std/format (__format::_Pres_type): Add _Pres_F.
1197 (__formatter_fp::parse): Use _Pres_F for 'F'.
1198 (__formatter_fp::format): Set __upper for _Pres_F.
1199 * testsuite/std/format/functions/format.cc: Check formatting of
1200 infinity and NaN for each presentation type.
1201
12022023-08-22 Jonathan Wakely <jwakely@redhat.com>
1203
1204 Backported from master:
1205 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
1206
1207 * src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to
1208 std::string_view.
1209
12102023-08-22 Jonathan Wakely <jwakely@redhat.com>
1211
1212 Backported from master:
1213 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
1214
1215 * include/experimental/internet (address_v4::to_string): Remove
1216 unused parameter name.
1217
12182023-08-22 Jonathan Wakely <jwakely@redhat.com>
1219
1220 Backported from master:
1221 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
1222
1223 * libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval.
1224 * testsuite/18_support/comparisons/categories/zero_neg.cc: Prune
1225 excess errors caused by invalid consteval calls.
1226
fea39dd3
GA
12272023-08-14 Jonathan Wakely <jwakely@redhat.com>
1228
1229 Backported from master:
331d8a9e 1230 2023-08-14 Paul Dreik <gccpatches@pauldreik.se>
fea39dd3
GA
1231
1232 PR libstdc++/110860
1233 * include/std/format (__formatter_fp::format): Use frexp instead
1234 of log10.
1235
12362023-08-14 Jonathan Wakely <jwakely@redhat.com>
1237
1238 Backported from master:
1239 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
1240
1241 PR libstdc++/110990
1242 * include/std/format (_Seq_sink::get): Only call _M_overflow if
1243 its precondition is met.
1244 (_Iter_sink::_M_finish): Likewise.
1245 (_Iter_sink<C, ContigIter>::_M_overflow): Only switch to the
1246 internal buffer after running out of space.
1247 (_Iter_sink<C, ContigIter>::_M_finish): Do not use _M_overflow.
1248 (_Counting_sink::count): Likewise.
1249 * testsuite/std/format/functions/format_to_n.cc: Check cases
1250 where the output fits into the buffer.
1251
2ae860e9
GA
12522023-08-11 Jonathan Wakely <jwakely@redhat.com>
1253
1254 Backported from master:
1255 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
1256
1257 * python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter):
1258 Check for out-of-range month an weekday indices.
1259 * testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid
1260 month and weekday values.
1261
12622023-08-11 Jonathan Wakely <jwakely@redhat.com>
1263
1264 Backported from master:
1265 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
1266
1267 PR libstdc++/110970
1268 * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use
1269 __iter_category_t.
1270 (iterator_traits<common_iterator<I, S>>::_S_iter_cat): Likewise.
1271 (__detail::__basic_const_iterator_iter_cat): Likewise.
1272 * include/bits/stl_iterator_base_types.h (__iterator_category_t):
1273 Rename to __iter_category_t.
1274
5bd351bb
GA
12752023-08-11 Jonathan Wakely <jwakely@redhat.com>
1276
1277 Backported from master:
1278 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
1279
1280 PR libstdc++/110974
1281 * include/std/format (_Spec::_M_parse_precision): Check for
1282 empty range before dereferencing iterator.
1283 * testsuite/std/format/string.cc: Check for expected exception.
1284 Fix expected exception message in test_pr110862() and actually
1285 call it.
1286
12872023-08-11 Jonathan Wakely <jwakely@redhat.com>
1288
1289 Backported from master:
1290 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
1291
1292 PR libstdc++/110968
1293 * include/std/format (__formatter_fp::format): Check return
1294 value of _M_localize.
1295 * testsuite/std/format/functions/format.cc: Check classic
1296 locale.
1297
1df6f858
GA
12982023-08-08 Jonathan Wakely <jwakely@redhat.com>
1299
1300 Backported from master:
1301 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
1302
1303 PR libstdc++/110860
1304 * include/std/format (__formatter_fp::format): Do not use
1305 __builtin_abs and __builtin_log10 with arbitrary floating-point
1306 types.
1307
13082023-08-08 Jonathan Wakely <jwakely@redhat.com>
1309
1310 Backported from master:
1311 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
1312
1313 PR libstdc++/110917
1314 * include/std/format (__format::_Iter_sink<CharT, OutIter>):
1315 Constrain partial specialization for contiguous iterators to
1316 require the value type to be CharT.
1317 * testsuite/std/format/functions/format_to.cc: New test.
1318
13192023-08-08 Jonathan Wakely <jwakely@redhat.com>
1320
1321 Backported from master:
1322 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
1323
1324 PR libstdc++/110862
1325 * include/std/format (_Scanner::_M_on_replacement_field):
1326 Check for expected '}' before incrementing iterator.
1327 * testsuite/std/format/string.cc: Check "{0:{0}" format string.
1328
446bf8fc
GA
13292023-07-28 Jonathan Wakely <jwakely@redhat.com>
1330
1331 Backported from master:
1332 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
1333
1334 * include/bits/chrono_io.h (__formatter_chrono::_M_format):
1335 Do not set __is_neg for hh_mm_ss before calling
1336 _M_format_to_ostream. Change __print_sign lambda to only check
1337 __is_neg for durations and hh_mm_ss types.
1338 (__formatter_chrono::_M_format_to_ostream): Only check __is_neg
1339 for duration types.
1340 * testsuite/std/time/hh_mm_ss/io.cc: Check negative values.
1341
13422023-07-28 Jonathan Wakely <jwakely@redhat.com>
1343
1344 Backported from master:
1345 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
1346
1347 PR libstdc++/110719
1348 * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds):
1349 Handle duration and hh_mm_ss.
1350 * testsuite/20_util/duration/io.cc: Check locale-specific
1351 formats.
1352 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
1353
13542023-07-28 Jonathan Wakely <jwakely@redhat.com>
1355
1356 Backported from master:
1357 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
1358
1359 PR libstdc++/110719
1360 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix
1361 allowed modifiers for %z and %Z. Fix -Wparentheses and
1362 -Wnarrowing warnings.
1363 (__formatter_chrono::_M_format): Call new functions for %d, %e,
1364 %H, %I, %m and %M.
1365 (__formatter_chrono::_M_c): Use _S_floor_seconds to remove
1366 subsecond precision.
1367 (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle
1368 modifiers.
1369 (__formatter_chrono::_M_e): Replace with _M_d_e and use
1370 _M_locale_fmt.
1371 (__formatter_chrono::_M_I): Replace with _M_H_I and use
1372 _M_locale_fmt.
1373 (__formatter_chrono::_M_m): New function.
1374 (__formatter_chrono::_M_M): New function.
1375 (__formatter_chrono::_M_r): Use _M_locale_fmt.
1376 (__formatter_chrono::_M_S): Likewise.
1377 (__formatter_chrono::_M_u_w): Likewise.
1378 (__formatter_chrono::_M_U_V_W): Likewise.
1379 (__formatter_chrono::_M_X): Use _S_floor_seconds.
1380 (__formatter_chrono::_M_Z): Fix untested branch for wchar_t.
1381 (__formatter_chrono::_S_altnum): Remove function.
1382 (__formatter_chrono::_S_dd_zero_fill): Remove function.
1383 (__formatter_chrono::_S_floor_seconds): New function.
1384 (__formatter_chrono::_M_locale_fmt): New function.
1385 * testsuite/std/time/clock/system/io.cc: Adjust expected output
1386 for locale-specific formats and check modified formats.
1387 * testsuite/std/time/clock/utc/io.cc: Likewise.
1388 * testsuite/std/time/zoned_time/io.cc: New test.
1389
13902023-07-28 Jonathan Wakely <jwakely@redhat.com>
1391
1392 Backported from master:
1393 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
1394
1395 PR libstdc++/110708
1396 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only
1397 allow a single modifier.
1398 * testsuite/std/time/format.cc: Check multiple modifiers.
1399
14002023-07-28 Jonathan Wakely <jwakely@redhat.com>
1401
1402 Backported from master:
1403 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
1404
1405 * include/std/format (__write_padded): Initialize first element
1406 of array to avoid a -Wmaybe-uninitialized warning.
1407
14082023-07-28 Jonathan Wakely <jwakely@redhat.com>
1409
1410 Backported from master:
1411 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
1412
1413 PR libstdc++/110593
1414 * include/bits/chrono.h (duration): Improve static assert
1415 messages.
1416 (__is_ratio): Move to ...
1417 * include/std/ratio (__is_ratio): ... here.
1418 (__is_ratio_v): New variable template and partial
1419 specialization.
1420 (__are_both_ratios): New function template.
1421 (__ratio_multiply, ratio_equal, ratio_less, __ratio_add):
1422 Add static assertion.
1423 * testsuite/20_util/ratio/requirements/type_constraints.cc:
1424 New test.
1425 * testsuite/20_util/duration/requirements/typedefs_neg1.cc:
1426 Adjust expected error.
1427 * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
1428 Likewise.
1429
14302023-07-28 Deev Patel <pateldeev@nevada.unr.edu>
1431
1432 Backported from master:
1433 2023-07-24 Deev Patel <pateldeev@nevada.unr.edu>
1434
1435 * include/std/format (_Formatting_scanner::_M_on_chars): Add
1436 missing constexpr specifier.
1437 (_Formatting_scanner::_M_format_arg): Likewise.
1438
14392023-07-28 Jonathan Wakely <jwakely@redhat.com>
1440
1441 Backported from master:
1442 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
1443
1444 PR libstdc++/110807
1445 * include/bits/stl_bvector.h (vector(const vector&)): Access
1446 iterators before allocating.
1447 * include/bits/vector.tcc (vector<bool>::_M_insert_range):
1448 Likewise.
1449 * testsuite/23_containers/vector/bool/110807.cc: New test.
1450
14512023-07-28 Jonathan Wakely <jwakely@redhat.com>
1452
1453 Backported from master:
1454 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
1455
1456 * include/bits/algorithmfwd.h (random_shuffle): Add deprecated
1457 attribute.
1458 * include/bits/stl_algo.h (random_shuffle): Correct comments.
1459 * testsuite/25_algorithms/random_shuffle/1.cc: Disable
1460 deprecated warnings.
1461 * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
1462 * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
1463 * testsuite/25_algorithms/random_shuffle/deprecated.cc: New
1464 test.
1465
c891d8dc
JJ
14662023-07-27 Release Manager
1467
1468 * GCC 13.2.0 released.
1469
a5aac58f
GA
14702023-07-19 Jonathan Wakely <jwakely@redhat.com>
1471
1472 PR libstdc++/109921
1473 * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS):
1474 Only define when USE_STRTOD_FOR_FROM_CHARS is also defined.
1475 (USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is
1476 binary64.
1477 (from_chars(const char*, const char*, double&, chars_format)):
1478 Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here.
1479
14802023-07-19 Jonathan Wakely <jwakely@redhat.com>
1481
1482 Backported from master:
1483 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
1484
1485 PR libstdc++/110432
1486 * acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New.
1487 * config.h.in: Regenerate.
1488 * configure: Regenerate.
1489 * configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY.
1490 * include/std/iostream: Use new autoconf macro as well as
1491 __has_attribute.
1492 * src/c++98/ios_base_init.h: Use new autoconf macro instead of
1493 __has_attribute.
1494
14952023-07-19 Iain Sandoe <iain@sandoe.co.uk>
1496
1497 Backported from master:
1498 2023-07-03 Iain Sandoe <iain@sandoe.co.uk>
1499
1500 * testsuite/lib/libstdc++.exp: Remove additional flag handled
1501 by Darwin specs.
1502
220275a2
GA
15032023-07-18 Jonathan Wakely <jwakely@redhat.com>
1504
1505 Backported from master:
1506 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
1507
1508 PR libstdc++/110542
1509 * include/bits/stl_uninitialized.h (__uninitialized_default_n):
1510 Do not use std::fill_n during constant evaluation.
1511
15122023-07-18 Jonathan Wakely <jwakely@redhat.com>
1513
1514 Backported from master:
1515 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
1516
1517 * include/bits/iterator_concepts.h (projected): Replace class
1518 template with alias template denoting an ADL-proofed helper.
1519 (incremental_traits<projected<Iter, Proj>>): Remove.
1520 * testsuite/24_iterators/indirect_callable/projected-adl.cc:
1521 New test.
1522
15232023-07-18 Jonathan Wakely <jwakely@redhat.com>
1524
1525 Backported from master:
1526 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
1527
1528 PR libstdc++/110574
1529 * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello
1530 and define _GLIBCXX_USE_FSEEKO_FTELLO.
1531 * config.h.in: Regenerate.
1532 * configure: Regenerate.
1533 * config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]:
1534 Check for fwrite error correctly.
1535 (__basic_file<char>::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for
1536 fread error correctly.
1537 (get_file_offset): New function.
1538 (__basic_file<char>::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use
1539 fseeko if available. Use get_file_offset instead of return value
1540 of fseek.
1541 (__basic_file<char>::showmanyc): Use get_file_offset.
1542
15432023-07-18 Tianqiang Shuai <1101282468@qq.com>
1544
1545 Backported from master:
1546 2023-07-06 Tianqiang Shuai <1101282468@qq.com>
1547
1548 * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix
1549 first argument.
1550
15512023-07-18 Jonathan Wakely <jwakely@redhat.com>
1552
1553 Backported from master:
1554 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
1555
1556 * testsuite/23_containers/forward_list/debug/iterator1_neg.cc:
1557 Skip as UNSUPPORTED for C++98 mode.
1558 * testsuite/23_containers/forward_list/debug/iterator3_neg.cc:
1559 Likewise.
1560
15612023-07-18 Jonathan Wakely <jwakely@redhat.com>
1562
1563 Backported from master:
1564 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
1565
1566 * testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and
1567 wosyncstream depend on _GLIBCXX_USE_CXX11_ABI.
1568
15692023-07-18 Jonathan Wakely <jwakely@redhat.com>
1570
1571 Backported from master:
1572 2023-06-29 Jonathan Wakely <jwakely@redhat.com>
1573
1574 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently
1575 with USE_ATOMIC_LIST_HEAD.
1576 (list_mutex): Replace global object with function. Use local
1577 static object when std::mutex constructor isn't constexpr.
1578
15792023-07-18 Jonathan Wakely <jwakely@redhat.com>
1580
1581 Backported from master:
1582 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
1583
1584 * include/bits/alloc_traits.h (_Destroy): Qualify call.
1585 * include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise.
1586 * testsuite/23_containers/vector/cons/destroy-adl.cc: New test.
1587
15882023-07-18 Jonathan Wakely <jwakely@redhat.com>
1589
1590 Backported from master:
1591 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
1592
1593 * include/debug/helper_functions.h (__get_distance)
1594 (__check_singular, __valid_range_aux, __valid_range): Qualify
1595 calls to disable ADL.
1596 (__check_singular_aux(const _Safe_iterator_base*)): Declare
1597 overload that was previously found via ADL.
1598
04a3fa22
GA
15992023-07-12 Jonathan Wakely <jwakely@redhat.com>
1600
1601 Backported from master:
1602 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
1603
1604 PR libstdc++/95048
1605 * testsuite/27_io/filesystem/path/construct/95048.cc: Check
1606 conversions to wide strings.
1607 * testsuite/experimental/filesystem/path/construct/95048.cc:
1608 Likewise.
1609
4a158c09
GA
16102023-07-06 Jonathan Wakely <jwakely@redhat.com>
1611
1612 Backported from master:
1613 2023-07-06 Jonathan Wakely <jwakely@redhat.com>
1614
1615 PR libstdc++/104299
1616 * doc/xml/manual/configure.xml: Describe stdio_pure argument to
1617 --enable-cstdio.
1618 * doc/html/manual/configure.html: Regenerate.
1619
e2dd8e42
GA
16202023-06-29 Jonathan Wakely <jwakely@redhat.com>
1621
1622 Backported from master:
1623 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
1624
1625 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers
1626 to check __INT_PTR_WIDTH__ instead of sizeof(void*).
1627 * configure: Regenerate.
1628
16292023-06-29 Jonathan Wakely <jwakely@redhat.com>
1630
1631 Backported from master:
1632 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
1633
1634 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and
1635 msp430 to all 16-bit targets.
1636 * configure: Regenerate.
1637
16382023-06-29 Jonathan Wakely <jwakely@redhat.com>
1639
1640 Backported from master:
1641 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
1642
1643 PR libstdc++/110239
1644 * include/std/format (__format::__parse_integer): Fix buffer
1645 overflow for wide chars.
1646 (formatter<const void*, C>::format): Cast to uintptr_t instead
1647 of uint64_t.
1648 * testsuite/std/format/string.cc: Test too-large widths.
1649
16502023-06-29 Jonathan Wakely <jwakely@redhat.com>
1651
1652 Backported from master:
1653 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
1654
1655 PR libstdc++/110149
1656 * include/std/format (formatter<const void*, charT>::parse):
1657 Only alow 0 and P for C++26 and non-strict modes.
1658 (formatter<const void*, charT>::format): Use toupper for P
1659 type, and insert zero-fill characters for 0 option.
1660 * testsuite/std/format/functions/format.cc: Check pointer
1661 formatting. Only check P2510R3 extensions conditionally.
1662 * testsuite/std/format/parse_ctx.cc: Only check P2510R3
1663 extensions conditionally.
1664
16652023-06-29 Jonathan Wakely <jwakely@redhat.com>
1666
1667 Backported from master:
1668 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
1669
1670 PR libstdc++/109741
1671 * acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define.
1672 * config.h.in: Regenerate.
1673 * configure: Regenerate.
1674 * configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE.
1675 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not
1676 align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE
1677 instead of hardcoded 64.
1678
16792023-06-29 Jonathan Wakely <jwakely@redhat.com>
1680
1681 Backported from master:
1682 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
1683
1684 PR libstdc++/100285
1685 * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
1686 (basic_endpoint, basic_resolver_entry, resolver_base)
1687 (basic_resolver_results, basic_resolver): Only define if the tcp
1688 or udp protocols will be defined.
1689
16902023-06-29 Jonathan Wakely <jwakely@redhat.com>
1691
1692 Backported from master:
1693 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
1694
1695 * testsuite/20_util/duration/cons/2.cc: Use values that aren't
1696 affected by rounding.
1697 * testsuite/20_util/from_chars/5.cc: Cast arithmetic result to
1698 double before comparing for equality.
1699 * testsuite/20_util/from_chars/6.cc: Likewise.
1700 * testsuite/20_util/variant/86874.cc: Use values that aren't
1701 affected by rounding.
1702 * testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to
1703 original value instead of to floating-point-literal.
1704 * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
1705 Cast arithmetic result to double before comparing for equality.
1706 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc:
1707 Likewise.
1708 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc:
1709 Likewise.
1710 * testsuite/26_numerics/valarray/transcend.cc (eq): Check that
1711 the absolute difference is less than 0.01 instead of comparing
1712 to two decimal places.
1713 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1714 Cast arithmetic result to double before comparing for equality.
1715 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1716 Likewise.
1717 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1718 Likewise.
1719 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
1720 Likewise.
1721 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
1722 Likewise.
1723 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1724 Likewise.
1725 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
1726
17272023-06-29 Jonathan Wakely <jwakely@redhat.com>
1728
1729 Backported from master:
1730 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
1731
1732 * include/std/scoped_allocator (scoped_allocator_adaptor): Add
1733 noexcept to all constructors except the default constructor.
1734 (scoped_allocator_adaptor::inner_allocator): Add noexcept.
1735 (scoped_allocator_adaptor::outer_allocator): Likewise.
1736 * testsuite/20_util/scoped_allocator/noexcept.cc: New test.
1737
17382023-06-29 Jonathan Wakely <jwakely@redhat.com>
1739
1740 Backported from master:
1741 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
1742
1743 * testsuite/23_containers/deque/modifiers/emplace/52799.cc:
1744 Removed.
1745 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
1746 Removed.
1747 * testsuite/23_containers/list/modifiers/emplace/52799.cc:
1748 Removed.
1749 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
1750 Removed.
1751 * testsuite/23_containers/vector/modifiers/emplace/52799.cc:
1752 Removed.
1753 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
1754 Removed.
1755 * testsuite/23_containers/deque/modifiers/emplace/1.cc: New
1756 test.
1757 * testsuite/23_containers/list/modifiers/emplace/1.cc: New
1758 test.
1759 * testsuite/23_containers/vector/modifiers/emplace/1.cc: New
1760 test.
1761
4513d0a2
GA
17622023-06-06 Jonathan Wakely <jwakely@redhat.com>
1763
1764 Backported from master:
1765 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
1766
1767 * include/std/expected (expected::and_then, expected::or_else)
1768 (expected::transform_error): Use _M_val and _M_unex instead of
1769 calling value() and error(), as per LWG 3938.
1770 (expected::transform): Likewise. Remove incorrect std::move
1771 calls from lvalue overloads.
1772 (expected<void, E>::and_then, expected<void, E>::or_else)
1773 (expected<void, E>::transform): Use _M_unex instead of calling
1774 error().
1775 * testsuite/20_util/expected/lwg3877.cc: Add checks for and_then
1776 and transform, and for std::expected<void, E>.
1777 * testsuite/20_util/expected/lwg3938.cc: New test.
1778
17792023-06-06 Jonathan Wakely <jwakely@redhat.com>
1780
1781 Backported from master:
1782 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
1783
1784 * include/std/expected (expected::and_then, expected::or_else)
1785 (expected::transform, expected::transform_error): Fix exception
1786 specifications as per LWG 3877.
1787 (expected<void, E>::and_then, expected<void, E>::transform):
1788 Likewise.
1789 * testsuite/20_util/expected/lwg3877.cc: New test.
1790
17912023-06-06 Jonathan Wakely <jwakely@redhat.com>
1792
1793 Backported from master:
1794 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
1795
1796 PR libstdc++/108178
1797 * src/filesystem/ops-common.h (do_copy_file): Check for empty
1798 files by trying to read a character.
1799 * testsuite/27_io/filesystem/operations/copy_file_108178.cc:
1800 New test.
1801
18022023-06-06 Jonathan Wakely <jwakely@redhat.com>
1803
1804 Backported from master:
1805 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
1806
1807 * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set
1808 close-on-exec flag on file descriptors.
1809
18102023-06-06 Jonathan Wakely <jwakely@redhat.com>
1811
1812 Backported from master:
1813 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
1814
1815 PR libstdc++/110139
1816 * include/std/array (__array_traits<T, 0>::operator T*()): Make
1817 conversion operator explicit.
1818 (array::front): Use size_type as subscript operand.
1819 (array::data): Use static_cast to make conversion explicit.
1820 * testsuite/23_containers/array/element_access/110139.cc: New
1821 test.
1822
18232023-06-06 Joseph Faulls <Joseph.Faulls@imgtec.com>
1824
1825 Backported from master:
1826 2023-06-06 Joseph Faulls <Joseph.Faulls@imgtec.com>
1827
1828 * include/bits/locale_classes.tcc: Remove check for
1829 codecvt<char8_t, char, mbstate_t> facet.
1830
c3e954f9
GA
18312023-06-01 Jonathan Wakely <jwakely@redhat.com>
1832
1833 Backported from master:
1834 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
1835
1836 PR libstdc++/109758
1837 * include/bits/std_abs.h (abs(__float128)): Handle negative NaN
1838 and negative zero correctly.
1839 * testsuite/26_numerics/headers/cmath/109758.cc: New test.
1840
18412023-06-01 Jonathan Wakely <jwakely@redhat.com>
1842
1843 Backported from master:
1844 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
1845
1846 * testsuite/experimental/feat-cxx14.cc: Remove dependency on
1847 _GLIBCXX_USE_C99_STDINT_TR1.
1848
18492023-06-01 Jonathan Wakely <jwakely@redhat.com>
1850
1851 Backported from master:
1852 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
1853
1854 * testsuite/21_strings/basic_string_view/typedefs.cc: Remove
1855 dependency on _GLIBCXX_USE_C99_STDINT_TR1.
1856 * testsuite/experimental/string_view/typedefs.cc: Likewise.
1857
18582023-06-01 Jonathan Wakely <jwakely@redhat.com>
1859
1860 Backported from master:
1861 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
1862
1863 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
1864 Add const to equality operator.
1865
18662023-06-01 Jonathan Wakely <jwakely@redhat.com>
1867
1868 Backported from master:
1869 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
1870
1871 * doc/xml/manual/evolution.xml: Document removal of implicit
1872 allocator rebinding extensions in strict mode and for C++20.
1873 * doc/html/*: Regenerate.
1874
18752023-06-01 Jonathan Wakely <jwakely@redhat.com>
1876
1877 Backported from master:
1878 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
1879
1880 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer
1881 to check for nan, nanf, and nanl.
1882 * configure: Regenerate.
1883
18842023-06-01 Jonathan Wakely <jwakely@redhat.com>
1885
1886 Backported from master:
1887 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
1888
1889 * testsuite/libstdc++-prettyprinters/chrono.cc: Only test
1890 printer for chrono::zoned_time for cx11 ABI and tzdb effective
1891 target.
1892
18932023-06-01 Jonathan Wakely <jwakely@redhat.com>
1894
1895 Backported from master:
1896 2023-05-09 Jonathan Wakely <jwakely@redhat.com>
1897
1898 * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter):
1899 Print floating-point durations correctly.
1900 (StdChronoTimePointPrinter): Support printing only the value,
1901 not the type name. Uncomment handling for known clocks.
1902 (StdChronoZonedTimePrinter): Remove type names from output.
1903 (StdChronoCalendarPrinter): Fix hh_mm_ss member access.
1904 (StdChronoTimeZonePrinter): Add equals sign to output.
1905 * testsuite/libstdc++-prettyprinters/chrono.cc: New test.
1906
c9e208b2
GA
19072023-05-30 Alexandre Oliva <oliva@adacore.com>
1908
1909 Backported from master:
1910 2023-05-30 Alexandre Oliva <oliva@adacore.com>
1911
1912 * testsuite/20_util/from_chars/4.cc: Skip long double test06
1913 on x86_64-vxworks.
1914 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
1915 x86_64-vxworks.
1916
19172023-05-30 Matthias Kretz <m.kretz@gsi.de>
1918
1919 Backported from master:
1920 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
1921
1922 PR libstdc++/109822
1923 * include/experimental/bits/simd.h (to_native): Use int NTTP
1924 as specified in PTS2.
1925 (to_compatible): Likewise. Add missing tag to call mask
1926 generator ctor.
1927 * testsuite/experimental/simd/pr109822_cast_functions.cc: New
1928 test.
1929
19302023-05-30 Matthias Kretz <m.kretz@gsi.de>
1931
1932 Backported from master:
1933 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
1934
1935 * testsuite/experimental/simd/tests/integer_operators.cc:
1936 Compute expected value differently to avoid getting turned into
1937 a vector shift.
1938
19392023-05-30 Matthias Kretz <m.kretz@gsi.de>
1940
1941 Backported from master:
1942 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
1943
1944 * testsuite/experimental/simd/tests/operator_cvt.cc: Make long
1945 double <-> (u)long conversion tests conditional on sizeof(long
1946 double) and sizeof(long).
1947
19482023-05-30 Matthias Kretz <m.kretz@gsi.de>
1949
1950 Backported from master:
1951 2023-05-26 Matthias Kretz <m.kretz@gsi.de>
1952
1953 * include/experimental/bits/simd_ppc.h (_S_bit_shift_left):
1954 Negative __y is UB, so prefer signed compare.
1955
845135fd
GA
19562023-05-25 Alexandre Oliva <oliva@adacore.com>
1957
1958 Backported from master:
1959 2023-05-25 Alexandre Oliva <oliva@adacore.com>
1960
1961 * testsuite/20_util/to_chars/long_double.cc: Expect execution
1962 fail on x86-vxworks.
1963
19642023-05-25 Matthias Kretz <m.kretz@gsi.de>
1965
1966 Backported from master:
1967 2023-05-23 Matthias Kretz <m.kretz@gsi.de>
1968
1969 PR libstdc++/109261
1970 * include/experimental/bits/simd.h (_SimdWrapper::_M_set):
1971 Avoid vector builtin subscripting in constant expressions.
1972 (resizing_simd_cast): Avoid memcpy if constant_evaluated.
1973 (const_where_expression, where_expression, where)
1974 (__extract_part, simd_mask, _SimdIntOperators, simd): Add either
1975 _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on
1976 internal APIs).
1977 * include/experimental/bits/simd_builtin.h (__vector_permute)
1978 (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1)
1979 (_GnuTraits::_SimdCastType2, _SimdImplBuiltin)
1980 (_MaskImplBuiltin::_S_store): Add constexpr.
1981 (_CommonImplBuiltin::_S_store_bool_array)
1982 (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store)
1983 (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add
1984 constant_evaluated case.
1985 * include/experimental/bits/simd_fixed_size.h
1986 (_S_masked_load): Reword comment.
1987 (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r)
1988 (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write)
1989 (__make_simd_tuple, __optimize_simd_tuple, __extract_part)
1990 (__autocvt_to_simd, _Fixed::__traits::_SimdBase)
1991 (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add
1992 constexpr.
1993 (_SimdTuple::operator[], _M_set): Add constexpr and add
1994 constant_evaluated case.
1995 (_MaskImplFixedSize::_S_load): Add constant_evaluated case.
1996 * include/experimental/bits/simd_scalar.h: Add constexpr.
1997 * include/experimental/bits/simd_x86.h (_CommonImplX86): Add
1998 constexpr and add constant_evaluated case.
1999 (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less)
2000 (_S_less_equal): Value-initialize to satisfy constexpr
2001 evaluation.
2002 (_MaskImplX86::_S_load): Add constant_evaluated case.
2003 (_MaskImplX86::_S_store): Add constexpr and constant_evaluated
2004 case. Value-initialize local variables.
2005 (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not)
2006 (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated
2007 case.
2008 * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New
2009 test.
2010
20112023-05-25 Matthias Kretz <m.kretz@gsi.de>
2012
2013 Backported from master:
2014 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
2015
2016 PR libstdc++/109949
2017 * include/experimental/bits/simd.h (__intrinsic_type): If
2018 __ALTIVEC__ is defined, map gnu::vector_size types to their
2019 corresponding __vector T types without losing unsignedness of
2020 integer types. Also prefer long long over long.
2021 * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask
2022 object to the expected unsigned vector type.
2023
20242023-05-25 Matthias Kretz <m.kretz@gsi.de>
2025
2026 Backported from master:
2027 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
2028
2029 PR libstdc++/109261
2030 * include/experimental/bits/simd_neon.h (_S_reduce): Add
2031 constexpr and make NEON implementation conditional on
2032 not __builtin_is_constant_evaluated.
2033
20342023-05-25 Matthias Kretz <m.kretz@gsi.de>
2035
2036 Backported from master:
2037 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
2038
2039 PR libstdc++/109261
2040 * include/experimental/bits/simd.h (__intrinsic_type):
2041 Specialize __intrinsic_type<double, 8> and
2042 __intrinsic_type<double, 16> in any case, but provide the member
2043 type only with __aarch64__.
2044
20452023-05-25 Matthias Kretz <m.kretz@gsi.de>
2046
2047 Backported from master:
2048 2023-05-22 Matthias Kretz <m.kretz@gsi.de>
2049
2050 * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move
2051 __infn into #ifdef'ed block.
2052 * testsuite/experimental/simd/tests/fpclassify.cc: Declare
2053 constants only when used.
2054 * testsuite/experimental/simd/tests/frexp.cc: Likewise.
2055 * testsuite/experimental/simd/tests/logarithm.cc: Likewise.
2056 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc:
2057 Likewise.
2058 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
2059 Move totest and expect1 into #ifdef'ed block.
2060
4dfdae79
GA
20612023-05-17 Jakub Jelinek <jakub@redhat.com>
2062
2063 Backported from master:
2064 2023-05-17 Jakub Jelinek <jakub@redhat.com>
2065
2066 PR libstdc++/109883
2067 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test.
2068
20692023-05-17 Jakub Jelinek <jakub@redhat.com>
2070
2071 Backported from master:
2072 2023-05-17 Jakub Jelinek <jakub@redhat.com>
2073
2074 PR libstdc++/109883
2075 * include/c_global/cmath (atan2, fmod, pow): Move
2076 __gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and
2077 __gnu_cxx::__bfloat16_t overloads.
2078 (copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo):
2079 Likewise.
2080 (fma): Move __gnu_cxx::__promote_3 using template after
2081 _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads.
2082
7e0e213f
GA
20832023-05-11 Jonathan Wakely <jwakely@redhat.com>
2084
2085 Backported from master:
2086 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
2087
2088 * config/abi/pre/gnu.ver: Export basic_string::_S_allocate.
2089 * include/bits/basic_string.h: (basic_string::_Alloc_traits_impl):
2090 Remove class template.
2091 (basic_string::_S_allocate): New static member function.
2092 (basic_string::assign): Use _S_allocate.
2093 * include/bits/basic_string.tcc (basic_string::_M_create)
2094 (basic_string::reserve, basic_string::_M_replace): Likewise.
2095
843854ac
GA
20962023-05-05 Alexandre Oliva <oliva@adacore.com>
2097
2098 Backported from master:
2099 2023-05-05 Alexandre Oliva <oliva@adacore.com>
2100
2101 * testsuite/20_util/from_chars/4.cc: Skip long double test06
2102 on aarch64-vxworks.
2103 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
2104 aarch64-vxworks.
2105
d2244f9f
GA
21062023-05-04 Jonathan Wakely <jwakely@redhat.com>
2107
2108 Backported from master:
2109 2023-05-04 Jonathan Wakely <jwakely@redhat.com>
2110
2111 * doc/xml/manual/abi.xml (abi.versioning.history): Document
2112 libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version.
2113 * doc/html/manual/abi.html: Regenerate.
2114
21152023-05-04 Florian Weimer <fweimer@redhat.com>
2116
2117 Backported from master:
2118 2023-05-04 Florian Weimer <fweimer@redhat.com>
2119
2120 * doc/xml/manual/abi.xml (abi.versioning.history): Add
2121 GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for
2122 libgcc_s.
2123
21242023-05-04 Jakub Jelinek <jakub@redhat.com>
2125
2126 Backported from master:
2127 2023-05-03 Jakub Jelinek <jakub@redhat.com>
2128
2129 * src/c++17/floating_from_chars.cc
2130 (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to
2131 _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format.
2132 * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to
2133 _ZSt8to_charsPcS_u9__ieee128.
2134 (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to
2135 _ZSt8to_charsPcS_u9__ieee128St12chars_format.
2136 (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to
2137 _ZSt8to_charsPcS_u9__ieee128St12chars_formati.
2138 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated.
2139
21402023-05-04 Jakub Jelinek <jakub@redhat.com>
2141
2142 Backported from master:
2143 2023-05-03 Jakub Jelinek <jakub@redhat.com>
2144
2145 * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu
2146 rather than powerpc64-linux-gnu for powerpc64le*-linux*.
2147 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove
2148 _ZTI*DF128_, _ZTI*DF64x symbols and symbols in
2149 GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol
2150 versions.
2151 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New
2152 file.
2153
21542023-05-04 Jakub Jelinek <jakub@redhat.com>
2155
2156 Backported from master:
2157 2023-05-02 Jakub Jelinek <jakub@redhat.com>
2158
2159 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
2160 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
2161 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
2162 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2163 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
2164 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
2165 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
2166 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
2167
21682023-05-04 Jakub Jelinek <jakub@redhat.com>
2169
2170 Backported from master:
2171 2023-05-02 Jakub Jelinek <jakub@redhat.com>
2172
2173 PR libstdc++/109694
2174 * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
2175 -Wattribute-alias.
2176
21772023-05-04 Jakub Jelinek <jakub@redhat.com>
2178
2179 Backported from master:
2180 2023-04-28 Jakub Jelinek <jakub@redhat.com>
2181
2182 PR libstdc++/108969
2183 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export
2184 _ZSt21ios_base_library_initv.
2185 * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32
2186 symver and make it the latestp.
2187 * src/c++98/ios_init.cc (ios_base_library_init): New alias.
2188 * acinclude.m4 (libtool_VERSION): Change to 6:32:0.
2189 * include/std/iostream: If init_priority attribute is supported
2190 and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv
2191 symbol into the object.
2192 * configure: Regenerated.
2193
b366c9fe
GA
21942023-05-03 Kefu Chai <kefu.chai@scylladb.com>
2195
2196 Backported from master:
2197 2023-05-03 Kefu Chai <kefu.chai@scylladb.com>
2198 Jonathan Wakely <jwakely@redhat.com>
2199
2200 PR libstdc++/109703
2201 * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
2202 Initialize _M_string_length.
2203
9a167ee2
GA
22042023-04-28 Patrick Palka <ppalka@redhat.com>
2205
2206 Backported from master:
2207 2023-04-24 Patrick Palka <ppalka@redhat.com>
2208
2209 * include/bits/max_size_type.h (__max_diff_type::operator>>=):
2210 Fix propagation of sign bit.
2211 * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
2212 non-standard 'signed typedef-name'. Add some compile-time tests
2213 for right-shifting a negative __max_diff_type value by more than
2214 one.
2215
22162023-04-28 Jonathan Wakely <jwakely@redhat.com>
2217
2218 Backported from master:
2219 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
2220
2221 * include/bits/random.h (gamma_distribution): Add to the right
2222 doxygen group.
2223 (discrete_distribution, piecewise_constant_distribution)
2224 (piecewise_linear_distribution): Create a new doxygen group and
2225 fix the incomplete doxygen comments.
2226 * include/bits/uniform_int_dist.h (uniform_int_distribution):
2227 Add to doxygen group.
2228
22292023-04-28 Jonathan Wakely <jwakely@redhat.com>
2230
2231 Backported from master:
2232 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
2233
2234 * include/bits/uses_allocator.h: Add missing @file comment.
2235 * include/bits/regex.tcc: Remove stray doxygen comments.
2236 * include/experimental/memory_resource: Likewise.
2237 * include/std/bit: Tweak doxygen @cond comments.
2238 * include/std/expected: Likewise.
2239 * include/std/numbers: Likewise.
2240
22412023-04-28 Jonathan Wakely <jwakely@redhat.com>
2242
2243 Backported from master:
2244 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
2245
2246 * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
2247 from header paths.
2248
22492023-04-28 Jonathan Wakely <jwakely@redhat.com>
2250
2251 Backported from master:
2252 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
2253
2254 * include/bits/move.h: Simplify opening/closing namespace std.
2255
22562023-04-28 Jonathan Wakely <jwakely@redhat.com>
2257
2258 Backported from master:
2259 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
2260
2261 * include/bits/memory_resource.h: Improve doxygen comments.
2262 * include/std/memory_resource: Likewise.
2263
22642023-04-28 Jonathan Wakely <jwakely@redhat.com>
2265
2266 Backported from master:
2267 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
2268
2269 PR libstdc++/40380
2270 * include/bits/basic_string.h: Improve doxygen comments.
2271 * include/bits/cow_string.h: Likewise.
2272 * include/bits/forward_list.h: Likewise.
2273 * include/bits/fs_dir.h: Likewise.
2274 * include/bits/fs_path.h: Likewise.
2275 * include/bits/quoted_string.h: Likewise.
2276 * include/bits/stl_bvector.h: Likewise.
2277 * include/bits/stl_map.h: Likewise.
2278 * include/bits/stl_multimap.h: Likewise.
2279 * include/bits/stl_multiset.h: Likewise.
2280 * include/bits/stl_set.h: Likewise.
2281 * include/bits/stl_vector.h: Likewise.
2282 * include/bits/unordered_map.h: Likewise.
2283 * include/bits/unordered_set.h: Likewise.
2284 * include/std/filesystem: Likewise.
2285 * include/std/iomanip: Likewise.
2286
45b94986
GA
22872023-04-27 Jonathan Wakely <jwakely@redhat.com>
2288
2289 Backported from master:
2290 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
2291
2292 * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
2293 * include/std/format: Likewise.
2294
22952023-04-27 Jonathan Wakely <jwakely@redhat.com>
2296
2297 Backported from master:
2298 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
2299
2300 * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
2301 HTML docs.
2302 * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
2303 from doxygen docs.
2304 * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
2305 Likewise.
2306 * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
2307 Likewise.
2308 * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
2309 Likewise.
2310 * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
2311 (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
2312 (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
2313 (_DEFINE_BINARY_OPERATOR): Likewise.
2314
cc035c5d
JJ
23152023-04-26 Release Manager
2316
2317 * GCC 13.1.0 released.
2318
2a93e388
GA
23192023-04-19 Jonathan Wakely <jwakely@redhat.com>
2320
2321 Revert:
2322 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
2323
2324 PR libstdc++/108969
2325 * src/Makefile.am: Move globals_io.cc to here.
2326 * src/Makefile.in: Regenerate.
2327 * src/c++98/Makefile.am: Remove globals_io.cc from here.
2328 * src/c++98/Makefile.in: Regenerate.
2329 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
2330 symbol name and then export with GLIBCXX_3.4.31 symver.
2331 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
2332 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
2333 Regenerate.
2334 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
2335 Regenerate.
2336 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
2337 Regenerate.
2338 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
2339 Regenerate.
2340 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
2341 Regenerate.
2342 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2343 Regenerate.
2344 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
2345 Regenerate.
2346 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
2347 Regenerate.
2348 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
2349
23502023-04-19 Jonathan Wakely <jwakely@redhat.com>
2351
2352 Revert:
2353 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
2354
2355 PR libstdc++/108969
2356 * config/abi/pre/gnu.ver: Fix preprocessor condition.
2357
9df40c4b
GA
23582023-04-18 Jonathan Wakely <jwakely@redhat.com>
2359
2360 Backported from master:
2361 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
2362
2363 PR libstdc++/108969
2364 * config/abi/pre/gnu.ver: Fix preprocessor condition.
2365
23662023-04-18 Jonathan Wakely <jwakely@redhat.com>
2367
2368 PR libstdc++/108969
2369 * src/Makefile.am: Move globals_io.cc to here.
2370 * src/Makefile.in: Regenerate.
2371 * src/c++98/Makefile.am: Remove globals_io.cc from here.
2372 * src/c++98/Makefile.in: Regenerate.
2373 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
2374 symbol name and then export with GLIBCXX_3.4.31 symver.
2375 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
2376 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
2377 Regenerate.
2378 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
2379 Regenerate.
2380 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
2381 Regenerate.
2382 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
2383 Regenerate.
2384 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
2385 Regenerate.
2386 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2387 Regenerate.
2388 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
2389 Regenerate.
2390 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
2391 Regenerate.
2392 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
2393
23942023-04-18 Patrick Palka <ppalka@redhat.com>
2395
2396 Backported from master:
2397 2023-04-18 Patrick Palka <ppalka@redhat.com>
2398
2399 PR libstdc++/108827
2400 * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value
2401 for C++23.
2402 * include/std/ranges (range_adaptor_closure): Define for C++23.
2403 * include/std/version (__cpp_lib_ranges): Bump value for
2404 C++23.
2405 * testsuite/std/ranges/version_c++23.cc: Bump expected value
2406 of __cpp_lib_ranges.
2407 * testsuite/std/ranges/range_adaptor_closure.cc: New test.
2408
24092023-04-18 Patrick Palka <ppalka@redhat.com>
2410
2411 Backported from master:
2412 2023-04-18 Patrick Palka <ppalka@redhat.com>
2413
2414 * include/bits/ranges_algo.h (__cpp_lib_ranges_contains):
2415 Define for C++23.
2416 (__cpp_lib_ranges_iota): Likewise.
2417 (__cpp_lib_ranges_find_last): Likewise.
2418 (__cpp_lib_fold): Rename to ...
2419 (__cpp_lib_ranges_fold): ... this.
2420 * include/std/version: As above.
2421 * testsuite/25_algorithms/fold_left/1.cc: Adjust after
2422 renaming __cpp_lib_fold.
2423 * testsuite/std/ranges/version_c++23.cc: Verify values
2424 of the above feature-test macros.
2425
24262023-04-18 Patrick Palka <ppalka@redhat.com>
2427
2428 Backported from master:
2429 2023-04-18 Patrick Palka <ppalka@redhat.com>
2430
2431 PR libstdc++/109525
2432 * include/std/ranges (views::_AsConst::operator()): Add
2433 missing const to constant_range test.
2434 * testsuite/std/ranges/adaptors/as_const/1.cc (test02):
2435 Improve formatting. Adjust expected type of v2.
2436 (test03): New test.
2437
1aee19f9
GA
24382023-04-14 Patrick Palka <ppalka@redhat.com>
2439
2440 * include/bits/ranges_base.h (const_iterator_t): Define for C++23.
2441 (const_sentinel_t): Likewise.
2442 (range_const_reference_t): Likewise.
2443 (constant_range): Likewise.
2444 (__cust_access::__possibly_const_range): Likewise, replacing ...
2445 (__cust_access::__as_const): ... this.
2446 (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4.
2447 (__cust_access::_CEnd::operator()): Likewise.
2448 (__cust_access::_CRBegin::operator()): Likewise.
2449 (__cust_access::_CREnd::operator()): Likewise.
2450 (__cust_access::_CData::operator()): Likewise.
2451 * include/bits/ranges_util.h (ranges::__detail::__different_from):
2452 Make it an alias of std::__detail::__different_from.
2453 (view_interface::cbegin): Define for C++23.
2454 (view_interface::cend): Likewise.
2455 * include/bits/stl_iterator.h (__detail::__different_from): Define.
2456 (iter_const_reference_t): Define for C++23.
2457 (__detail::__constant_iterator): Likewise.
2458 (__detail::__is_const_iterator): Likewise.
2459 (__detail::__not_a_const_iterator): Likewise.
2460 (__detail::__iter_const_rvalue_reference_t): Likewise.
2461 (__detail::__basic_const_iter_cat):: Likewise.
2462 (const_iterator): Likewise.
2463 (__detail::__const_sentinel): Likewise.
2464 (const_sentinel): Likewise.
2465 (basic_const_iterator): Likewise.
2466 (common_type<basic_const_iterator<_Tp>, _Up>): Likewise.
2467 (common_type<_Up, basic_const_iterator<_Tp>>): Likewise.
2468 (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>):
2469 Likewise.
2470 (make_const_iterator): Define for C++23.
2471 (make_const_sentinel): Likewise.
2472 * include/std/ranges (__cpp_lib_ranges_as_const): Likewise.
2473 (as_const_view): Likewise.
2474 (enable_borrowed_range<as_const_view>): Likewise.
2475 (views::__detail::__is_ref_view): Likewise.
2476 (views::__detail::__can_is_const_view): Likewise.
2477 (views::_AsConst, views::as_const): Likewise.
2478 * include/std/span (span::const_iterator): Likewise.
2479 (span::const_reverse_iterator): Likewise.
2480 (span::cbegin): Likewise.
2481 (span::cend): Likewise.
2482 (span::crbegin): Likewise.
2483 (span::crend): Likewise.
2484 * include/std/version (__cpp_lib_ranges_as_const): Likewise.
2485 * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to
2486 behave independently of C++20 vs C++23.
2487 * testsuite/std/ranges/version_c++23.cc: Verify value of
2488 __cpp_lib_ranges_as_const macro.
2489 * testsuite/24_iterators/const_iterator/1.cc: New test.
2490 * testsuite/std/ranges/adaptors/as_const/1.cc: New test.
2491
24922023-04-14 Patrick Palka <ppalka@redhat.com>
2493
2494 * include/bits/ranges_base.h (__cust_access::__as_const)
2495 (__cust_access::_CBegin, __cust::cbegin)
2496 (__cust_access::_CEnd, __cust::cend)
2497 (__cust_access::_CRBegin, __cust::crbegin)
2498 (__cust_access::_CREnd, __cust::crend)
2499 (__cust_access::_CData, __cust::cdata): Move down definitions to
2500 shortly after the definition of input_range.
2501
25022023-04-14 Patrick Palka <ppalka@redhat.com>
2503
2504 * include/bits/ranges_algo.h: Include <optional> for C++23.
2505 (__cpp_lib_fold): Define for C++23.
2506 (in_value_result): Likewise.
2507 (__detail::__flipped): Likewise.
2508 (__detail::__indirectly_binary_left_foldable_impl): Likewise.
2509 (__detail::__indirectly_binary_left_foldable): Likewise.
2510 (___detail:__indirectly_binary_right_foldable): Likewise.
2511 (fold_left_with_iter_result): Likewise.
2512 (__fold_left_with_iter_fn, fold_left_with_iter): Likewise.
2513 (__fold_left_fn, fold_left): Likewise.
2514 (__fold_left_first_with_iter_fn, fold_left_first_with_iter):
2515 Likewise.
2516 (__fold_left_first_fn, fold_left_first): Likewise.
2517 (__fold_right_fn, fold_right): Likewise.
2518 (__fold_right_last_fn, fold_right_last): Likewise.
2519 * include/std/version (__cpp_lib_fold): Likewise.
2520 * testsuite/25_algorithms/fold_left/1.cc: New test.
2521 * testsuite/25_algorithms/fold_right/1.cc: New test.
2522
25232023-04-14 Jonathan Wakely <jwakely@redhat.com>
2524
2525 * include/std/format (formatter): Add comment to deleted default
2526 constructor of primary template.
2527 (_Checking_scanner): Add static_assert.
2528
66c7257b
GA
25292023-04-12 Jonathan Wakely <jwakely@redhat.com>
2530
2531 * doc/xml/manual/using.xml: Document libstdc++exp.a library.
2532 * doc/html/*: Regenerate.
2533
25342023-04-12 Jonathan Wakely <jwakely@redhat.com>
2535
2536 * testsuite/17_intro/names.cc [_AIX]: Do not define policy.
2537 * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
2538 namespace to avoid clashing with libc struct.
2539 * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
2540 Likewise.
2541 * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
2542 * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
2543 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
2544 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
2545 * testsuite/experimental/synchronized_value.cc: Require gthreads
2546 and add missing option for pthreads targets.
2547
25482023-04-12 Patrick Palka <ppalka@redhat.com>
2549
2550 * include/std/ranges (__cpp_lib_ranges_enumerate): Define
2551 for C++23.
2552 (__detail::__range_with_movable_reference): Likewise.
2553 (enumerate_view): Likewise.
2554 (enumerate_view::_Iterator): Likewise.
2555 (enumerate_view::_Sentinel): Likewise.
2556 (views::__detail::__can_enumerate_view): Likewise.
2557 (views::_Enumerate, views::enumerate): Likewise.
2558 * include/std/version (__cpp_lib_ranges_enumerate): Likewise.
2559 * testsuite/std/ranges/version_c++23.cc: Verify value of
2560 __cpp_lib_ranges_enumerate.
2561 * testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
2562
25632023-04-12 Patrick Palka <ppalka@redhat.com>
2564
2565 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
2566 Propagate _M_trailing_empty in the const-converting constructor
2567 as per LWG 3904.
2568 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
2569 assertion.
2570 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
2571
25722023-04-12 Patrick Palka <ppalka@redhat.com>
2573
2574 * src/c++17/floating_from_chars.cc: Include <algorithm>,
2575 <iterator>, <limits> and <cstdint>.
2576
25772023-04-12 Patrick Palka <ppalka@redhat.com>
2578
2579 PR libstdc++/108291
2580 * include/std/ranges (chunk_by_view::_M_find_next): Generalize
2581 parameter types of the lambda wrapper passed to adjacent_find.
2582 (chunk_by_view::_M_find_prev): Likewise.
2583 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
2584 New tests.
2585
25862023-04-12 Jonathan Wakely <jwakely@redhat.com>
2587
2588 PR libstdc++/109482
2589 * include/experimental/internet (basic_endpoint::basic_endpoint()):
2590 Ensure that the required union members are active. Only define
2591 as constexpr for C++20 and later.
2592 (basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
2593 Likewise.
2594 * testsuite/experimental/net/internet/endpoint/cons.cc: Only
2595 check constexpr default constructor for C++20 and later.
2596 * testsuite/experimental/net/internet/endpoint/extensible.cc:
2597 Likewise.
2598
25992023-04-12 Jonathan Wakely <jwakely@redhat.com>
2600
2601 * src/c++20/tzdata.zi: Import new file from 2023c release.
2602
5229788d
GA
26032023-04-05 Arsen Arsenović <arsen@aarsen.me>
2604
2605 * include/precompiled/stdc++.h (C++17): Don't double-include
2606 <charconv>, once with wrong conditions.
2607 * testsuite/18_support/96817.cc: Require hosted.
2608 * testsuite/18_support/bad_exception/59392.cc: Ditto.
2609 * testsuite/20_util/scoped_allocator/108952.cc: Ditto.
2610 * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
2611 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
2612 Ditto.
2613
26142023-04-05 Arsen Arsenović <arsen@aarsen.me>
2615
2616 * include/bits/c++config: When __STDC_HOSTED__ is zero,
2617 disable _GLIBCXX_DEBUG and, if it was set, enable
2618 _GLIBCXX_ASSERTIONS.
2619 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
2620 Include <bits/c++config.h> when determining whether debug is
2621 set, in order to inherit the logic from above
2622
26232023-04-05 Arsen Arsenović <arsen@aarsen.me>
2624
2625 * testsuite/17_intro/versionconflict.cc: New test.
2626 * include/std/version: Allow disabling the system_header pragma
2627 via _GLIBCXX_TESTING_SYSHDR.
2628
26292023-04-05 Arsen Arsenović <arsen@aarsen.me>
2630
2631 * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
2632 Synchronize the definition block with...
2633 * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
2634 ... this one here. Also define the 202202L value, rather than
2635 leaving it up to purely unique_ptr.h, so that the value is
2636 synchronized across all headers.
2637 (__gnu_debug::_Safe_iterator_base): Move into new conditional
2638 block.
2639 * include/std/memory (__cpp_lib_atomic_value_initialization):
2640 Define on freestanding under the same conditions as in
2641 atomic_base.h.
2642 * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
2643 Also define on freestanding.
2644 (__cpp_lib_to_chars): Ditto.
2645 (__cpp_lib_gcd): Ditto.
2646 (__cpp_lib_gcd_lcm): Ditto.
2647 (__cpp_lib_raw_memory_algorithms): Ditto.
2648 (__cpp_lib_array_constexpr): Ditto.
2649 (__cpp_lib_nonmember_container_access): Ditto.
2650 (__cpp_lib_clamp): Ditto.
2651 (__cpp_lib_constexpr_char_traits): Ditto.
2652 (__cpp_lib_constexpr_string): Ditto.
2653 (__cpp_lib_sample): Ditto.
2654 (__cpp_lib_lcm): Ditto.
2655 (__cpp_lib_constexpr_iterator): Ditto.
2656 (__cpp_lib_constexpr_char_traits): Ditto.
2657 (__cpp_lib_interpolate): Ditto.
2658 (__cpp_lib_constexpr_utility): Ditto.
2659 (__cpp_lib_shift): Ditto.
2660 (__cpp_lib_ranges): Ditto.
2661 (__cpp_lib_move_iterator_concept): Ditto.
2662 (__cpp_lib_constexpr_numeric): Ditto.
2663 (__cpp_lib_constexpr_functional): Ditto.
2664 (__cpp_lib_constexpr_algorithms): Ditto.
2665 (__cpp_lib_constexpr_tuple): Ditto.
2666 (__cpp_lib_constexpr_memory): Ditto.
2667
26682023-04-05 John David Anglin <danglin@gcc.gnu.org>
2669
2670 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
2671 timeout factor on hppa*-*-*.
2672
26732023-04-05 Jonathan Wakely <jwakely@redhat.com>
2674
2675 * include/bits/regex.h (sub_match::swap): New function.
2676 * testsuite/28_regex/sub_match/lwg3204.cc: New test.
2677
645b1362
GA
26782023-04-04 Jonathan Wakely <jwakely@redhat.com>
2679
2680 * doc/xml/manual/extensions.xml: Remove std::bad_exception from
2681 example program.
2682 * doc/html/manual/ext_demangling.html: Regenerate.
2683
e11cde03
GA
26842023-03-31 Jonathan Wakely <jwakely@redhat.com>
2685
2686 PR tree-optimization/107087
2687 * include/bits/cow_string.h (basic_string::size()): Add
2688 optimizer hint that _S_empty_rep()._M_length is always zero.
2689 (basic_string::length()): Call size().
2690
26912023-03-31 Jonathan Wakely <jwakely@redhat.com>
2692
2693 PR libstdc++/109339
2694 * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
2695 Add attribute access with access-mode 'none'.
2696 * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
2697
26982023-03-31 Jonathan Wakely <jwakely@redhat.com>
2699
2700 * include/experimental/internet (ip::basic_endpoint::_M_if_v6):
2701 Revert change from member function to data member. Fix for
2702 constant evaluation by detecting which union member is active.
2703 (ip::basic_endpoint::resize): Revert changes to update _M_is_v6
2704 flag.
2705
00908886
GA
27062023-03-29 Jonathan Wakely <jwakely@redhat.com>
2707
2708 PR libstdc++/109242
2709 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
2710 * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
2711
27122023-03-29 Jonathan Wakely <jwakely@redhat.com>
2713
2714 * include/experimental/internet (ip::make_address): Implement
2715 missing overload.
2716 (ip::address_v4::broadcast()): Avoid undefined shift.
2717 (ip::basic_endpoint): Fix member functions for constexpr.
2718 (ip::basic_endpoint::_M_is_v6): Replace member function with
2719 data member, adjust member functions using it.
2720 (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
2721 content.
2722 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
2723 constexpr checks to work in C++14.
2724 * testsuite/experimental/net/internet/address/v4/creation.cc:
2725 Likewise.
2726 * testsuite/experimental/net/internet/endpoint/cons.cc:
2727 Likewise.
2728 * testsuite/experimental/net/internet/network/v4/cons.cc:
2729 Likewise.
2730 * testsuite/experimental/net/internet/network/v4/members.cc:
2731 Likewise.
2732 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
2733
27342023-03-29 Jonathan Wakely <jwakely@redhat.com>
2735
2736 * include/std/expected (expected::value() &): Use const lvalue
2737 for unex member passed to bad_expected_access constructor, as
2738 per LWG 3843.
2739
27402023-03-29 Jonathan Wakely <jwakely@redhat.com>
2741
2742 PR libstdc++/109340
2743 * include/std/expected (expected::transform): Use
2744 std::remove_cv_t instead of std::remove_cvref_t.
2745 (expected::transform_error): Likewise.
2746 (expected<cv void, E>::transform): Likewise.
2747 (expected<cv void, E>::transform_error): Likewise.
2748 * include/std/optional (transform): Use std::remove_cv_t.
2749 * testsuite/20_util/optional/monadic/pr109340.cc: New test.
2750
27512023-03-29 Jonathan Wakely <jwakely@redhat.com>
2752
2753 * include/std/optional (optional): Adjust static assertion to
2754 reject arrays and functions as well as references.
2755 * testsuite/20_util/optional/requirements_neg.cc: New test.
2756
579cdc1e
GA
27572023-03-28 Jonathan Wakely <jwakely@redhat.com>
2758
2759 PR libstdc++/103387
2760 * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
2761 std::use_facet instead of cached _M_num_get facet.
2762 (istream::operator>>(short&)): Likewise.
2763 (istream::operator>>(int&)): Likewise.
2764 * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
2765 std::use_facet instead of cached _M_num_put facet.
2766
27672023-03-28 Jonathan Wakely <jwakely@redhat.com>
2768
2769 * include/bits/char_traits.h (char_traits::copy): Return without
2770 using memcpy if n==0.
2771 (char_traits::assign): Likewise for memset.
2772
27732023-03-28 Jonathan Wakely <jwakely@redhat.com>
2774
2775 PR libstdc++/109299
2776 * include/bits/basic_string.h (basic_string::_M_is_local()): Add
2777 hint for compiler that local strings fit in the local buffer.
2778
27792023-03-28 Jonathan Wakely <jwakely@redhat.com>
2780
2781 PR libstdc++/109288
2782 * include/std/chrono (__detail::__get_leap_second_info): Update
2783 expiry date of hardcoded leapseconds list.
2784 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
2785 Likewise.
2786 * src/c++20/tzdata.zi: Import new file from 2023a release.
2787 * testsuite/std/time/time_zone/get_info_local.cc: Only check
2788 transitions for Egypt up to 2014.
2789
27902023-03-28 Matthias Kretz <m.kretz@gsi.de>
2791
2792 * include/experimental/bits/simd.h (is_simd_flag_type): New.
2793 (_IsSimdFlagType): New.
2794 (copy_from, copy_to, load ctors): Constrain _Flags using
2795 _IsSimdFlagType.
2796
27972023-03-28 Matthias Kretz <m.kretz@gsi.de>
2798
2799 * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
2800 _Base::_S_divides if the optimized _S_divides function is hidden
2801 via the preprocessor.
2802
ffcdac4f
GA
28032023-03-27 Jakub Jelinek <jakub@redhat.com>
2804
2805 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
2806 warning if size_t is not unsigned long.
2807
50bd9c41
GA
28082023-03-22 Jonathan Wakely <jwakely@redhat.com>
2809
2810 * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
2811 Add overload, as per LWG 3893.
2812 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
2813 Check assignment from nullptr.
2814
28152023-03-22 Jonathan Wakely <jwakely@redhat.com>
2816
2817 * include/std/format (formatter<const charT[N], charT>): Do not
2818 define partial speclialization, as per LWG 3833.
2819 * testsuite/std/format/formatter/requirements.cc: Check it.
2820
28212023-03-22 Jonathan Wakely <jwakely@redhat.com>
2822
2823 * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
2824 as per LWG 3792.
2825 * testsuite/20_util/exchange/constexpr.cc: Check for it.
2826
28272023-03-22 Jonathan Wakely <jwakely@redhat.com>
2828
2829 * include/std/version (__cpp_lib_format): Define.
2830 * testsuite/std/format/functions/format.cc: Check it.
2831
28322023-03-22 Jonathan Wakely <jwakely@redhat.com>
2833
2834 * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
2835 Pass rvalues to the callback, as now allowed by LWG 3645.
2836 Enforce preconditions on the return value.
2837 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
2838 Adjust.
2839
28402023-03-22 Jonathan Wakely <jwakely@redhat.com>
2841
2842 * include/std/format: Add a comment noting that the resolution
2843 of LWG 3720 has been applied..
2844
28452023-03-22 Jonathan Wakely <jwakely@redhat.com>
2846
2847 * include/bits/regex.h (match_results): Add allocator-extended
2848 copy and move constructors, as per LWG 2195.
2849 * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
2850
28512023-03-22 Jonathan Wakely <jwakely@redhat.com>
2852
2853 * include/bits/stream_iterator.h (istream_iterator): Add
2854 constexpr to copy constructor, as per LWG 3600.
2855 * testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
2856 Check copy construction.
2857
03178527
GA
28582023-03-21 Matthias Kretz <m.kretz@gsi.de>
2859
2860 * include/experimental/bits/simd_x86.h
2861 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
2862 with __RECIPROCAL_MATH__.
2863
28642023-03-21 Matthias Kretz <m.kretz@gsi.de>
2865
2866 * include/experimental/bits/simd_detail.h: Don't define
2867 _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
2868 * include/experimental/bits/simd_x86.h (_S_divides): Remove
2869 check for __clang__.
2870
28712023-03-21 Matthias Kretz <m.kretz@gsi.de>
2872
2873 * include/experimental/bits/simd_detail.h: Don't declare the
2874 simd API as constexpr with Clang.
2875 * include/experimental/bits/simd_x86.h (__movm): New.
2876 (_S_blend_avx512): Resolve FIXME. Implement blend using __movm
2877 and ?:.
2878 (_SimdImplX86::_S_masked_unary): Clang does not implement the
2879 same builtins. Implement the function using __movm, ?:, and -
2880 operators on vector_size types instead.
2881
28822023-03-21 Matthias Kretz <m.kretz@gsi.de>
2883
2884 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
2885 define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
2886
582f246b
GA
28872023-03-20 Jonathan Wakely <jwakely@redhat.com>
2888
2889 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
2890 formatting.
2891
28922023-03-20 Marek Polacek <polacek@redhat.com>
2893
2894 PR c++/109159
2895 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
2896 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
2897 * testsuite/23_containers/span/explicit.cc: Likewise.
2898
28992023-03-20 Jonathan Wakely <jwakely@redhat.com>
2900
2901 PR libstdc++/109182
2902 * include/std/expected (expected<void>::expected(in_place_t)):
2903 Remove template-head.
2904
cffcb774
GA
29052023-03-18 Jonathan Wakely <jwakely@redhat.com>
2906
2907 PR libstdc++/109165
2908 * testsuite/18_support/coroutines/hash.cc: Use const object
2909 in second call.
2910
454a4d50
GA
29112023-03-17 Jonathan Wakely <jwakely@redhat.com>
2912
2913 PR libstdc++/109165
2914 * include/std/coroutine (hash<>::operator()): Add const.
2915 * testsuite/18_support/coroutines/hash.cc: New test.
2916
fd42a8fa
GA
29172023-03-14 Patrick Palka <ppalka@redhat.com>
2918
2919 PR libstdc++/109111
2920 * include/std/ranges (repeat_view): Remove redundant parentheses
2921 in requires-clause.
2922 (repeat_view::_Iterator): Correct the requires-clause.
2923
29242023-03-14 Patrick Palka <ppalka@redhat.com>
2925
2926 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
2927 Define.
2928 (__cpp_lib_move_iterator_concept): Define for C++20.
2929 (move_iterator::iterator_concept): Strengthen as per P2520R0.
2930 * include/std/version (__cpp_lib_move_iterator_concept): Define
2931 for C++20.
2932 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
2933
29342023-03-14 Patrick Palka <ppalka@redhat.com>
2935
2936 * include/bits/ranges_util.h (view_interface::empty): Add
2937 preferred overloads that use ranges::size when the range is
2938 sized as per LWG 3715.
2939 * testsuite/std/ranges/adaptors/lwg3715.cc: New test.
2940
29412023-03-14 Jonathan Wakely <jwakely@redhat.com>
2942
2943 * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
2944 Only define for C++17 and later.
2945
29462023-03-14 Jonathan Wakely <jwakely@redhat.com>
2947
2948 * src/Makefile.am: Add comment about linker script fragments.
2949 * src/Makefile.in: Regenerate.
2950
29512023-03-14 Jonathan Wakely <jwakely@redhat.com>
2952
2953 PR libstdc++/62196
2954 * include/bits/mask_array.h (mask_array): Add assertions to
2955 assignment operators.
2956 * include/std/valarray (valarray::operator[](valarray<bool>)):
2957 Add assertions.
2958 * testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
2959 * testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
2960 * testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
2961 * testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
2962 * testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
2963 * testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
2964 * testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
2965 * testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
2966 * testsuite/26_numerics/valarray/mask.cc: New test.
2967
a9835599
GA
29682023-03-13 Jakub Jelinek <jakub@redhat.com>
2969
2970 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
2971 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2972
29732023-03-13 Jonathan Wakely <jwakely@redhat.com>
2974
2975 * doc/Makefile.am: Add comment referring to documentation.
2976 * doc/Makefile.in: Regenerate.
2977
29782023-03-13 Jonathan Wakely <jwakely@redhat.com>
2979
2980 * doc/html/*: Regenerate.
2981
29822023-03-13 Jonny Grant <jg@jguk.org>
2983
2984 * doc/xml/faq.xml: Update copyright year.
2985
29862023-03-13 Jonathan Wakely <jwakely@redhat.com>
2987
2988 * include/bits/allocator.h: Fix typo in comment.
2989
44ea7318
GA
29902023-03-12 Jakub Jelinek <jakub@redhat.com>
2991
2992 * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
2993 if it isn't mangled as DF16b but u6__bf16.
2994
29952023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
2996
2997 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
2998 to https.
2999 * doc/html/manual/documentation_hacking.html: Regenerate.
3000
c8065441
GA
30012023-03-10 Jonathan Wakely <jwakely@redhat.com>
3002
3003 PR libstdc++/109064
3004 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
3005 Remove self-recursion in __init__. Add missing _supports.
3006 * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
3007 and unique().
3008
da2b9c6e
GA
30092023-03-09 Patrick Palka <ppalka@redhat.com>
3010
3011 * include/std/ranges
3012 (cartesian_product_view::_Iterator::_Iterator): Remove
3013 constraint on default constructor as per LWG 3849.
3014 (cartesian_product_view::_Iterator::_M_prev): Adjust position
3015 of _Nm > 0 test as per LWG 3820.
3016 (cartesian_product_view::_Iterator::_M_advance): Perform bounds
3017 checking only on sized cartesian products.
3018 * testsuite/std/ranges/cartesian_product/1.cc (test08): New test.
3019
30202023-03-09 Patrick Palka <ppalka@redhat.com>
3021
3022 PR libstdc++/109024
3023 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
3024 LWG 3796.
3025 (repeat_view::_M_pred): Likewise.
3026 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
3027 * testsuite/std/ranges/repeat/1.cc (test05): New test.
3028
30292023-03-09 Patrick Palka <ppalka@redhat.com>
3030
3031 PR libstdc++/108362
3032 * include/std/ranges (__detail::__can_single_view): New concept.
3033 (_Single::operator()): Constrain it. Move [[nodiscard]] to the
3034 end of the function declarator.
3035 (__detail::__can_iota_view): New concept.
3036 (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
3037 end of the function declarator.
3038 (__detail::__can_istream_view): New concept.
3039 (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
3040 end of the function declarator.
3041 * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
3042 * testsuite/std/ranges/istream_view.cc (test08): New test.
3043 * testsuite/std/ranges/single_view.cc (test07): New test.
3044
30452023-03-09 Patrick Palka <ppalka@redhat.com>
3046
3047 PR libstdc++/107572
3048 * include/std/ranges (cartesian_product_view::end): When
3049 building the tuple of iterators, avoid calling ranges::begin on
3050 the first range if __empty_tail is false.
3051 * testsuite/std/ranges/cartesian_product/1.cc (test07): New test.
3052
30532023-03-09 Jonathan Wakely <jwakely@redhat.com>
3054
3055 PR libstdc++/108882
3056 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
3057 patterns.
3058
af320a16
GA
30592023-03-07 Jakub Jelinek <jakub@redhat.com>
3060
3061 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
3062 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
3063 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
3064 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
3065 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
3066
30672023-03-07 Jonathan Wakely <jwakely@redhat.com>
3068
3069 PR libstdc++/108882
3070 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
3071 not match symbols in namespace std::__gnu_cxx11_ieee128.
3072 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
3073 std::__gnu_cxx11_ieee128::money_{get,put}.
3074
30752023-03-07 Jonathan Wakely <jwakely@redhat.com>
3076
3077 * libsupc++/eh_personality.cc: Fix spelling in comment.
3078
2aa6673e
GA
30792023-03-03 Alexandre Oliva <oliva@adacore.com>
3080
3081 * testsuite/30_threads/async/async.cc (test04): Initialize
3082 steady_start, renamed from steady_begin, next to slow_start.
3083 Increase tolerance for final wait.
3084
30852023-03-03 Alexandre Oliva <oliva@adacore.com>
3086
3087 * testsuite/libstdc++-prettyprinters/80276.cc: Add
3088 std::string to debug info.
3089 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
3090
30912023-03-03 Alexandre Oliva <oliva@adacore.com>
3092
3093 PR libstdc++/104852
3094 PR libstdc++/95989
3095 PR libstdc++/52590
3096 * include/bits/std_thread.h (thread::_M_thread_deps): New
3097 static implicitly-inline member function.
3098 (std::thread template ctor): Pass it to _M_start_thread.
3099 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
3100 parameter, force it live on entry.
3101
31022023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3103
3104 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
3105 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
3106 Likewise.
3107 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
3108 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
3109 Likewise.
3110
c88a7c63
GA
31112023-03-01 Jonathan Wakely <jwakely@redhat.com>
3112
3113 * include/bits/cow_string.h: Fix typo in comment.
3114
31152023-03-01 Jonathan Wakely <jwakely@redhat.com>
3116
3117 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
3118 current time zone cannot be determined.
3119 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
3120 HAVE_TZDB macro and test all members unconditionally.
3121
6f9e2f14
GA
31222023-02-28 Jonathan Wakely <jwakely@redhat.com>
3123
3124 PR libstdc++/108952
3125 * include/bits/uses_allocator_args.h
3126 (uses_allocator_construction_args): Implement LWG 3527.
3127 * testsuite/20_util/pair/astuple/get-2.cc: New test.
3128 * testsuite/20_util/scoped_allocator/108952.cc: New test.
3129 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
3130
31312023-02-28 Jonathan Wakely <jwakely@redhat.com>
3132
3133 PR libstdc++/108846
3134 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
3135 Add __assign_one static member function.
3136 (__copy_move<true, false, RA>): Likewise.
3137 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
3138 value.
3139 (__copy_move_backward<IsMove, true, RA>): Likewise.
3140 * testsuite/25_algorithms/copy/108846.cc: New test.
3141 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
3142 * testsuite/25_algorithms/copy_n/108846.cc: New test.
3143 * testsuite/25_algorithms/move/108846.cc: New test.
3144 * testsuite/25_algorithms/move_backward/108846.cc: New test.
3145
31462023-02-28 Jonathan Wakely <jwakely@redhat.com>
3147
3148 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
3149 attributes.
3150
bf0e0fc0
GA
31512023-02-27 Jonathan Wakely <jwakely@redhat.com>
3152
3153 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
3154 caveat to comment.
3155 * include/bits/basic_string.h (resize_and_overwrite): Add
3156 doxygen comment.
3157
43411063
GA
31582023-02-24 Matthias Kretz <m.kretz@gsi.de>
3159
3160 * include/experimental/bits/simd.h: Line breaks and indenting
3161 fixed to follow the libstdc++ standard.
3162 * include/experimental/bits/simd_builtin.h: Likewise.
3163 * include/experimental/bits/simd_fixed_size.h: Likewise.
3164 * include/experimental/bits/simd_neon.h: Likewise.
3165 * include/experimental/bits/simd_ppc.h: Likewise.
3166 * include/experimental/bits/simd_scalar.h: Likewise.
3167 * include/experimental/bits/simd_x86.h: Likewise.
3168
31692023-02-24 Matthias Kretz <m.kretz@gsi.de>
3170
3171 PR libstdc++/108030
3172 * include/experimental/bits/simd_fixed_size.h
3173 (_SimdImplFixedSize::_S_broadcast): Replace inline with
3174 _GLIBCXX_SIMD_INTRINSIC.
3175 (_SimdImplFixedSize::_S_generate): Likewise.
3176 (_SimdImplFixedSize::_S_load): Likewise.
3177 (_SimdImplFixedSize::_S_masked_load): Likewise.
3178 (_SimdImplFixedSize::_S_store): Likewise.
3179 (_SimdImplFixedSize::_S_masked_store): Likewise.
3180 (_SimdImplFixedSize::_S_min): Likewise.
3181 (_SimdImplFixedSize::_S_max): Likewise.
3182 (_SimdImplFixedSize::_S_complement): Likewise.
3183 (_SimdImplFixedSize::_S_unary_minus): Likewise.
3184 (_SimdImplFixedSize::_S_plus): Likewise.
3185 (_SimdImplFixedSize::_S_minus): Likewise.
3186 (_SimdImplFixedSize::_S_multiplies): Likewise.
3187 (_SimdImplFixedSize::_S_divides): Likewise.
3188 (_SimdImplFixedSize::_S_modulus): Likewise.
3189 (_SimdImplFixedSize::_S_bit_and): Likewise.
3190 (_SimdImplFixedSize::_S_bit_or): Likewise.
3191 (_SimdImplFixedSize::_S_bit_xor): Likewise.
3192 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
3193 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
3194 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
3195 explicit about not always-inline, yet).
3196 (_SimdImplFixedSize::_S_isinf): Likewise.
3197 (_SimdImplFixedSize::_S_isfinite): Likewise.
3198 (_SimdImplFixedSize::_S_isnan): Likewise.
3199 (_SimdImplFixedSize::_S_isnormal): Likewise.
3200 (_SimdImplFixedSize::_S_signbit): Likewise.
3201
32022023-02-24 Matthias Kretz <m.kretz@gsi.de>
3203
3204 PR libstdc++/108856
3205 * include/experimental/bits/simd_builtin.h
3206 (_SimdImplBuiltin::_S_masked_unary): More efficient
3207 implementation of masked inc-/decrement for integers and floats
3208 without AVX2.
3209 * include/experimental/bits/simd_x86.h
3210 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
3211 builtins for masked inc-/decrement.
3212
32132023-02-24 Jonathan Wakely <jwakely@redhat.com>
3214
3215 * include/experimental/executor (executor): Constrain template
3216 constructors.
3217
32182023-02-24 Jonathan Wakely <jwakely@redhat.com>
3219
3220 * include/experimental/internet (basic_endpoint): Add missing
3221 constexpr to comparison operators.
3222 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
3223
32242023-02-24 Jonathan Wakely <jwakely@redhat.com>
3225
3226 * include/experimental/internet (network_v4::netmask()): Avoid
3227 undefined shift.
3228 (network_v4::broadcast()): Optimize and fix for targets with
3229 uint_least32_t wider than 32 bits.
3230 (network_v4::to_string(const Allocator&)): Fix for custom
3231 allocators and optimize using to_chars.
3232 (operator==(const network_v4&, const network_v4&)): Add missing
3233 constexpr.
3234 (operator==(const network_v6&, const network_v6&)): Likewise.
3235 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
3236 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
3237
32382023-02-24 Jonathan Wakely <jwakely@redhat.com>
3239
3240 * include/experimental/internet (address_4(const bytes_type&)):
3241 Use __builtin_bit_cast if available, otherwise convert to
3242 network byte order.
3243 (address_v4::to_bytes()): Likewise, but convert from network
3244 byte order.
3245 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
3246 incorrect tests. Check for constexpr too.
3247 * testsuite/experimental/net/internet/address/v4/creation.cc:
3248 Likewise.
3249 * testsuite/experimental/net/internet/address/v4/members.cc:
3250 Check that bytes_type is a standard-layout type.
3251
32522023-02-24 Jonathan Wakely <jwakely@redhat.com>
3253
3254 * include/experimental/internet (address_v4::to_string):
3255 Optimize.
3256 * testsuite/experimental/net/internet/address/v4/members.cc:
3257 Check more addresses.
3258
32592023-02-24 Jonathan Wakely <jwakely@redhat.com>
3260
3261 * include/ext/aligned_buffer.h (__aligned_buffer): Add
3262 diagnostic pragmas.
3263
32642023-02-24 Jonathan Wakely <jwakely@redhat.com>
3265
3266 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
3267 before dg-do.
3268
e2b20ed3
GA
32692023-02-23 Matthias Kretz <m.kretz@gsi.de>
3270
3271 * testsuite/experimental/simd/tests/reductions.cc: Introduce
3272 max_distance as the type-dependent max error.
3273
32742023-02-23 Matthias Kretz <m.kretz@gsi.de>
3275
3276 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
3277 int. The actual range of these indexes is very small.
3278
32792023-02-23 Matthias Kretz <m.kretz@gsi.de>
3280
3281 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
3282 (_S_bit_shift_right): Declare constexpr. The implementation was
3283 already expecting constexpr evaluation.
3284
32852023-02-23 Matthias Kretz <m.kretz@gsi.de>
3286
3287 PR libstdc++/108030
3288 * include/experimental/bits/simd_detail.h
3289 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
3290 __clang__.
3291
32922023-02-23 Matthias Kretz <m.kretz@gsi.de>
3293
3294 PR libstdc++/108030
3295 * include/experimental/bits/simd.h (__vector_broadcast):
3296 Implement via __vector_broadcast_impl instead of
3297 __call_with_n_evaluations + 2 lambdas.
3298 (__vector_broadcast_impl): New.
3299
b6f98991
GA
33002023-02-22 Alexandre Oliva <oliva@adacore.com>
3301
3302 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
3303 Avoid destruction of the mutex pool.
3304
33052023-02-22 Alexandre Oliva <oliva@adacore.com>
3306
3307 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
3308 on vxworks.
3309 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
3310 Likewise.
3311
33122023-02-22 Alexandre Oliva <oliva@adacore.com>
3313
3314 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
3315 kernel mode.
3316
65c64105
GA
33172023-02-20 Andreas Schwab <schwab@linux-m68k.org>
3318
3319 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
3320
33212023-02-20 Matthias Kretz <m.kretz@gsi.de>
3322
3323 * include/experimental/bits/simd.h (__extract_part, split):
3324 Use reserved name for template parameter.
3325
33262023-02-20 Andreas Schwab <schwab@suse.de>
3327
3328 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
3329
0263e9d5
GA
33302023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
3331
3332 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
3333 * doc/html/faq.html: Regenerate.
3334
88cc4495
GA
33352023-02-16 Matthias Kretz <m.kretz@gsi.de>
3336
3337 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
3338 between scalars requires the __bit_cast helper function instead
3339 of simd_bit_cast.
3340
33412023-02-16 Matthias Kretz <m.kretz@gsi.de>
3342
3343 * include/experimental/bits/simd_x86.h
3344 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
3345 (_SimdImplX86::_S_less_equal): Do not call
3346 __builtin_is_constant_evaluated in constexpr-if.
3347
33482023-02-16 Matthias Kretz <m.kretz@gsi.de>
3349
3350 * testsuite/experimental/simd/tests/bits/verify.h
3351 (verify::verify): Use %zx for size_t in format string.
3352
33532023-02-16 Matthias Kretz <m.kretz@gsi.de>
3354
3355 * testsuite/experimental/simd/generate_makefile.sh: Generate and
3356 pre-compile pch.h, which includes all headers that do not depend
3357 on command-line macros.
3358 * testsuite/experimental/simd/tests/bits/main.h: New file.
3359 (iterate_abis, main): Moved from verify.h.
3360 * testsuite/experimental/simd/tests/bits/verify.h
3361 (iterate_abis, main): Moved to main.h.
3362 * testsuite/experimental/simd/tests/bits/conversions.h: Add
3363 include guard.
3364 (genHalfBits): Simplify.
3365 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
3366 guard.
3367 (make_alternating_mask): Moved from mask_loadstore.
3368 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
3369 include guard.
3370 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
3371 * testsuite/experimental/simd/tests/mask_loadstore.cc
3372 (make_mask, make_alternating_mask): Removed.
3373 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
3374 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
3375 Removed.
3376 * testsuite/experimental/simd/tests/abs.cc: Only include
3377 bits/main.h.
3378 Ditto.
3379 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
3380 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
3381 * testsuite/experimental/simd/tests/casts.cc: Ditto.
3382 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
3383 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
3384 * testsuite/experimental/simd/tests/generator.cc: Ditto.
3385 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
3386 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
3387 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
3388 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
3389 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
3390 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
3391 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
3392 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
3393 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
3394 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
3395 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
3396 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
3397 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
3398 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
3399 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
3400 * testsuite/experimental/simd/tests/simd.cc: Ditto.
3401 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
3402 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
3403 * testsuite/experimental/simd/tests/splits.cc: Ditto.
3404 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
3405 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
3406 * testsuite/experimental/simd/tests/where.cc: Ditto.
3407
34082023-02-16 Matthias Kretz <m.kretz@gsi.de>
3409
3410 * testsuite/experimental/simd/README.md: Document the timeout
3411 and timeout-factor directives. Minor typo fixed.
3412
34132023-02-16 Matthias Kretz <m.kretz@gsi.de>
3414
3415 PR libstdc++/108030
3416 * include/experimental/bits/simd_detail.h: Define
3417 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
3418 * include/experimental/bits/simd.h: Annotate lambdas with
3419 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
3420 * include/experimental/bits/simd_builtin.h: Ditto.
3421 * include/experimental/bits/simd_converter.h: Ditto.
3422 * include/experimental/bits/simd_fixed_size.h: Ditto.
3423 * include/experimental/bits/simd_math.h: Ditto.
3424 * include/experimental/bits/simd_neon.h: Ditto.
3425 * include/experimental/bits/simd_x86.h: Ditto.
3426
34272023-02-16 Matthias Kretz <m.kretz@gsi.de>
3428
3429 * include/experimental/bits/simd.h
3430 (_SimdWrapper::_M_is_constprop_none_of)
3431 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
3432 computed result still satisfies __builtin_constant_p.
3433
34342023-02-16 Jonathan Wakely <jwakely@redhat.com>
3435
3436 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
3437 ellipsis character.
3438
34392023-02-16 Jonathan Wakely <jwakely@redhat.com>
3440
3441 * include/Makefile.am: Add new header.
3442 * include/Makefile.in: Regenerate.
3443 * include/experimental/synchronized_value: New file.
3444 * testsuite/experimental/synchronized_value.cc: New test.
3445
34462023-02-16 Jonathan Wakely <jwakely@redhat.com>
3447
3448 * include/experimental/optional: Fix header name in comment.
3449
34502023-02-16 Jonathan Wakely <jwakely@redhat.com>
3451
3452 * include/std/format (__format::_Arg_store): New class template.
3453 (basic_format_args): Remove nested type _Store and add deduction
3454 guide from _Arg_store.
3455 (basic_format_arg, make_format_args): Adjust.
3456 * testsuite/std/format/arguments/lwg3810.cc: New test.
3457
34582023-02-16 Jonathan Wakely <jwakely@redhat.com>
3459
3460 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
3461 constraints to constructors and add deleted overloads for the
3462 dangling cases, as per P2255R2.
3463 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
3464 make dangling cases ill-formed.
3465 * testsuite/20_util/pair/dangling_ref.cc: New test.
3466
34672023-02-16 Jonathan Wakely <jwakely@redhat.com>
3468
3469 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
3470
34712023-02-16 Jonathan Wakely <jwakely@redhat.com>
3472
3473 * include/ext/throw_allocator.h: Use reserved names for
3474 parameters.
3475
34762023-02-16 Jonathan Wakely <jwakely@redhat.com>
3477
3478 * testsuite/17_intro/names_pstl.cc: Add space after effective
3479 target name.
3480
34812023-02-16 Jonathan Wakely <jwakely@redhat.com>
3482
3483 * include/pstl/algorithm_fwd.h (__pattern_search_n)
3484 (__brick_unique_copy, __brick_adjacent_find)
3485 (__brick_generate_n, __pattern_generate_n): Use reserved names
3486 for parameters.
3487 * include/pstl/algorithm_impl.h (__brick_unique_copy)
3488 (__pattern_reverse, __brick_generate_n): Likewise.
3489 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
3490 (__prefer_parallel_tag): Likewise.
3491 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
3492 * include/pstl/glue_numeric_defs.h (adjacent_difference):
3493 Likewise.
3494 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
3495 Likewise.
3496 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
3497 * include/pstl/unseq_backend_simd.h (_Combiner)
3498 (__simd_min_element, __simd_minmax_element): Likewise.
3499 * testsuite/17_intro/names_pstl.cc: New test.
3500
35012023-02-16 Jonathan Wakely <jwakely@redhat.com>
3502
3503 * include/bits/fs_ops.h (create_directory): Use reserved name
3504 for parameter.
3505 * include/bits/ranges_algo.h (__contains_subrange_fn):
3506 Likewise.
3507 * include/bits/regex_automaton.h (_State_base::_M_print):
3508 Likewise.
3509 * include/bits/regex_automaton.tcc(_State_base::_M_print):
3510 Likewise.
3511 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
3512 * include/experimental/bits/fs_ops.h (create_directory):
3513 Likewise.
3514 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
3515 (recursive_timed_mutex:_M_clocklock): Likewise.
3516 * include/std/tuple (basic_common_reference): Likewise.
3517 * libsupc++/cxxabi_init_exception.h
3518 (__cxa_init_primary_exception): Likewise.
3519 * testsuite/17_intro/names.cc: Add checks.
3520
05467d08
GA
35212023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
3522
3523 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
3524 to www.open-std.org and https.
3525 * doc/html/manual/status.html: Regenerate.
3526
35272023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
3528
3529 PR libstdc++/103934
3530 * include/std/atomic (atomic_flag_wait): Add.
3531 (atomic_flag_wait_explicit): Add.
3532 (atomic_flag_notify): Add.
3533 (atomic_flag_notify_explicit): Add.
3534 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
3535 Add test case to cover missing atomic_flag free functions.
3536
35372023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
3538
3539 PR libstdc++/103934
3540 * include/std/atomic (atomic_flag_test): Add.
3541 (atomic_flag_test_explicit): Add.
3542 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
3543 test case to cover missing atomic_flag free functions.
3544 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
3545 Likewise.
3546
ae719781
GA
35472023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
3548
3549 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
3550 "The Component Object Model" reference.
3551 * doc/html/manual/policy_data_structures.html: Regenerate.
3552
22ba8570
GA
35532023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
3554
3555 * doc/xml/manual/containers.xml: Tweak a link to N1780
3556 (C++ standard).
3557 * doc/html/manual/associative.html: Regenerate.
3558
35592023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
3560
3561 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
3562 * doc/html/manual/facets.html: Regenerate.
3563
ee117887
GA
35642023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
3565
3566 * doc/xml/manual/policy_data_structures_biblio.xml: Update
3567 link to "Worst-case efficient priority queues".
3568 * doc/html/manual/policy_data_structures.html: Regenerate.
3569
f0e73dd0
GA
35702023-02-06 Arsen Arsenović <arsen@aarsen.me>
3571
3572 * doc/xml/manual/using.xml: Document newly-freestanding
3573 headers and the effect of the -ffreestanding flag.
3574 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
3575 completed.
3576 * doc/xml/manual/configure.xml: Document that hosted installs
3577 respect __STDC_HOSTED__.
3578 * doc/xml/manual/test.xml: Document how to run tests in
3579 freestanding mode.
3580 * doc/html/*: Regenerate.
3581
35822023-02-06 Jonathan Wakely <jwakely@redhat.com>
3583
3584 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
3585 (__find_last_if_fn): Likewise.
3586
35872023-02-06 Jonathan Wakely <jwakely@redhat.com>
3588
3589 * include/std/type_traits: Add diagnostic pragmas around
3590 references to deprecated std::aligned_storage and
3591 std::aligned_union traits.
3592 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
3593 Add dg-warning for et c++23.
3594 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
3595 Likewise.
3596 * testsuite/20_util/aligned_storage/value.cc: Likewise.
3597 * testsuite/20_util/aligned_union/1.cc: Likewise.
3598 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
3599 Likewise.
3600
36012023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
3602
3603 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
3604 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
3605 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
3606 * include/std/type_traits (aligned_storage, aligned_union)
3607 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
3608 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
3609 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
3610
36112023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
3612
3613 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
3614 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
3615 consistent with other 'deprecated' macros.
3616 * include/std/type_traits (is_pod, is_pod_v): Use
3617 _GLIBCXX20_DEPRECATED_SUGGEST instead.
3618
36192023-02-06 Arsen Arsenović <arsen@aarsen.me>
3620
3621 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
3622 * Makefile.in: Regenerate.
3623 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
3624 There's no history to be compatible with.
3625 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
3626 source files from the build.
3627 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
3628 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
3629 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
3630 * src/Makefile.in: Regenerate.
3631 * src/c++11/Makefile.in: Regenerate.
3632 * src/c++17/Makefile.in: Regenerate.
3633 * src/c++20/Makefile.in: Regenerate.
3634 * src/c++98/Makefile.in: Regenerate.
3635
36362023-02-06 Jonathan Wakely <jwakely@redhat.com>
3637
3638 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
3639 filesystem, libbacktrace and experimental.
3640 * src/Makefile.in: Regenerate.
3641
057eb31b
GA
36422023-02-04 Hans-Peter Nilsson <hp@axis.com>
3643
3644 PR libstdc++/108672
3645 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
3646 instead of int32_t.
3647
36482023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
3649
3650 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
3651 * doc/html/manual/documentation_hacking.html: Regenerate.
3652
36532023-02-04 François Dumont <fdumont@gcc.gnu.org>
3654
3655 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
3656 storage to the move-from instance when allocators are equal.
3657 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
3658 New test case.
3659
49e52115
GA
36602023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
3661
3662 * config/os/gnu-linux/os_defines.h [!__linux__]
3663 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
3664
36652023-02-03 Patrick Palka <ppalka@redhat.com>
3666
3667 * include/bits/ranges_algo.h (__find_last_fn, find_last):
3668 Define.
3669 (__find_last_if_fn, find_last_if): Define.
3670 (__find_last_if_not_fn, find_last_if_not): Define.
3671 * testsuite/25_algorithms/find_last/1.cc: New test.
3672 * testsuite/25_algorithms/find_last_if/1.cc: New test.
3673 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
3674
36752023-02-03 Patrick Palka <ppalka@redhat.com>
3676
3677 * include/bits/ranges_algo.h (out_value_result): Define.
3678 (iota_result): Define.
3679 (__iota_fn, iota): Define.
3680 * testsuite/25_algorithms/iota/1.cc: New test.
3681
36822023-02-03 Patrick Palka <ppalka@redhat.com>
3683
3684 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
3685 (__contains_subrange_fn, contains_subrange): Define.
3686 * testsuite/25_algorithms/contains/1.cc: New test.
3687 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
3688
a37a0cb3
GA
36892023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
3690
3691 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
3692 * doc/html/manual/abi.html: Regenerate.
3693
36942023-02-02 Jonathan Wakely <jwakely@redhat.com>
3695
3696 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
3697 errc::function_not_supported instead of errc::not_supported.
3698
36992023-02-02 Jonathan Wakely <jwakely@redhat.com>
3700
3701 * include/std/sstream (basic_stringbuf::view): Define for old
3702 std::string ABI.
3703 (basic_istringstream::view, basic_0stringstream::view)
3704 (basic_stringstream::view): Likewise.
3705 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
3706 { dg-require-effective-target cxx11_abi }.
3707 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
3708 Likewise.
3709 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
3710 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
3711 Likewise.
3712 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
3713 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
3714 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
3715 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
3716 Likewise.
3717
37182023-02-02 Jonathan Wakely <jwakely@redhat.com>
3719
3720 PR libstdc++/108636
3721 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
3722 conversion operators for directory iterator comparisons with
3723 std::default_sentinel_t.
3724 * include/bits/fs_path.h (path::path(string_view, _Type))
3725 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
3726 definitions to ...
3727 * src/c++17/fs_path.cc: ... here.
3728 * testsuite/27_io/filesystem/path/108636.cc: New test.
3729
37302023-02-02 Jonathan Wakely <jwakely@redhat.com>
3731
3732 * include/std/variant (variant::operator=): Implement resolution
3733 of LWG 3585.
3734 * testsuite/20_util/variant/lwg3585.cc: New test.
3735
37362023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
3737
3738 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
3739 link to https.
3740 * doc/html/manual/using_exceptions.html: Regenerate.
3741
37422023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
3743
3744 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
3745 * doc/html/manual/debug.html: Regenerate.
3746
0a251e74
GA
37472023-02-01 Jonathan Wakely <jwakely@redhat.com>
3748
3749 * src/c++11/random.cc (random_device::_M_fini): Do not try to
3750 close the file handle if the target doesn't support the
3751 /dev/random and /dev/urandom files.
3752
37532023-02-01 Jonathan Wakely <jwakely@redhat.com>
3754
3755 * config/os/generic/error_constants.h (errc::value_too_large)
3756 [__AVR__]: Define.
3757 * src/c++11/system_error.cc
3758 (system_category::default_error_condition) [__AVR__]: Only match
3759 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
3760 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
3761 for ENOENT etc. in switch.
3762 (fs::remove_all) [__AVR__]: Likewise.
3763 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
3764 close etc.
3765
37662023-02-01 Jonathan Wakely <jwakely@redhat.com>
3767
3768 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
3769 embed_zoneinfo=no
3770 * configure: Regenerate.
3771
37722023-02-01 Hans-Peter Nilsson <hp@axis.com>
3773
3774 PR testsuite/108632
3775 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
3776 struct at end of S0.
3777
897a0502
GA
37782023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
3779
3780 * doc/xml/manual/shared_ptr.xml: Move links from both
3781 http://open-std.org and http://www.open-std.org to
3782 https://www.open-std.org.
3783 * doc/html/manual/memory.html: Regenerate.
3784
ee2c965e
GA
37852023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
3786
3787 * doc/xml/manual/appendix_contributing.xml: Adjust link to
3788 ISO C++ standard at ANSI.
3789 Move link to www.open-std.org to https.
3790 * doc/html/manual/appendix_contributing.html: Regenerate.
3791
37922023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
3793
3794 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
3795 links to https.
3796 * doc/html/manual/documentation_hacking.html: Regenerate.
3797
37982023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
3799
3800 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
3801 * doc/html/manual/abi.html: Regenerate.
3802
338eb0f0
GA
38032023-01-27 Jakub Jelinek <jakub@redhat.com>
3804
3805 PR libstdc++/108568
3806 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
3807 include features.h if present and then check __GLIBC__ and
3808 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
3809 __GLIBC_PREREQ which isn't defined yet.
3810
38112023-01-27 Jonathan Wakely <jwakely@redhat.com>
3812
3813 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
3814 string literal.
3815
38162023-01-27 Jonathan Wakely <jwakely@redhat.com>
3817
3818 PR libstdc++/108554
3819 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
3820
2371d100
GA
38212023-01-26 Jonathan Wakely <jwakely@redhat.com>
3822
3823 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
3824 rules named "+" for compatibility with older tzdata.zi files.
3825
38262023-01-26 Jonathan Wakely <jwakely@redhat.com>
3827
3828 PR libstdc++/108554
3829 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
3830 nonnull attribute.
3831 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
3832 attributes.
3833 * testsuite/23_containers/map/modifiers/108554.cc: New test.
3834
38352023-01-26 Jonathan Wakely <jwakely@redhat.com>
3836
3837 PR libstdc++/108530
3838 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
3839 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
3840
38412023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
3842
3843 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
3844 use https.
3845 * doc/html/manual/bugs.html: Regenerate.
3846
0fa22168
GA
38472023-01-24 Jonathan Wakely <jwakely@redhat.com>
3848
3849 PR libstdc++/108530
3850 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
3851 /etc/sysconfig/clock.
3852
38532023-01-24 Jonathan Wakely <jwakely@redhat.com>
3854
3855 PR libstdc++/102301
3856 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
3857 std::make_reverse_iterator.
3858 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
3859 (make_from_tuple): Add static assertion from P2255 to diagnose
3860 dangling references.
3861 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
3862 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
3863
607f278a
GA
38642023-01-23 François Dumont <fdumont@gcc.gnu.org>
3865
3866 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
3867 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
3868 (_Safe_iterator::operator++(int)): Use latter.
3869 (_Safe_iterator::operator--(int)): Likewise.
3870 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
3871 check.
3872 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
3873 New.
3874 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
3875 (_Safe_local_iterator::operator++(int)): Use latter.
3876 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
3877 entry associated to the array entry.
3878
9f98cfa5
GA
38792023-01-18 Jonathan Wakely <jwakely@redhat.com>
3880
3881 * include/bits/fs_path.h (u8path): Add deprecated attribute.
3882 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
3883 -Wno-deprecated-declarations for C++20 and later.
3884 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
3885 Likewise.
3886 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
3887 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
3888 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
3889
38902023-01-18 Jonathan Wakely <jwakely@redhat.com>
3891
3892 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
3893 Always call _M_fini and _M_getentropy.
3894
38952023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
3896
3897 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
3898 to www.open-std.org to use https.
3899 (COM: Component Model Object Technologies): Rename from...
3900 (The Component Object Model): ...to.
3901 * doc/html/manual/policy_data_structures.html: Regenerate.
3902
39032023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
3904
3905 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
3906 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
3907 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
3908
8d07b193
GA
39092023-01-17 Jonathan Wakely <jwakely@redhat.com>
3910
3911 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
3912 of $host. Fix check for file being present during native build.
3913 * configure: Regenerate.
3914
39152023-01-17 Martin Liska <mliska@suse.cz>
3916
3917 * src/libbacktrace/Makefile.in: Regenerate.
3918
f457a62e
GA
39192023-01-16 Jonathan Wakely <jwakely@redhat.com>
3920
3921 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
3922
39232023-01-16 Jonathan Wakely <jwakely@redhat.com>
3924
3925 PR libstdc++/108413
3926 * include/c_compatibility/stdatomic.h: Change copyright line to
3927 be consistent with other headers contributed under DCO terms.
3928 * include/std/expected: Add full stop to copyright line.
3929 * src/c++20/tzdb.cc: Likewise.
3930
cc44e55e
GA
39312023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
3932
3933 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
3934 https.
3935 * doc/xml/manual/status_cxx2017.xml: Ditto.
3936 * doc/xml/manual/status_cxx2020.xml: Ditto.
3937 * doc/xml/manual/status_cxx2023.xml: Ditto.
3938 * doc/html/manual/status.html: Regenerate.
3939
39402023-01-15 Jonathan Wakely <jwakely@redhat.com>
3941
3942 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
3943 and fail gracefully if defining the weak symbol doesn't work.
3944
39452023-01-15 François Dumont <fdumont@gcc.gnu.org>
3946
3947 PR libstdc++/108288
3948 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
3949 fix to other iterator category.
3950 (_Safe_iterator<>::operator--(int)): Likewise.
3951 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
3952 Fix deadlock.
3953 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
3954 (invalid_local_iterator_post_increment): New.
3955 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
3956 New test.
3957 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
3958 New test.
3959
39602023-01-15 Jonathan Wakely <jwakely@redhat.com>
3961
3962 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
3963 dg-options.
3964
39652023-01-15 Jonathan Wakely <jwakely@redhat.com>
3966
3967 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
3968
5013c3bb
GA
39692023-01-14 Björn Schäpers <bjoern@hazardy.de>
3970
3971 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
3972 windows.h. Add pecoff as FORMAT_FILE.
3973 * config.h.in: Regenerate.
3974 * configure: Regenerate.
3975 * src/libbacktrace/Makefile.am: Regenerate.
3976 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
3977
39782023-01-14 Björn Schäpers <bjoern@hazardy.de>
3979
3980 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
3981 raw __name if __cxa_demangle could not demangle it.
3982
39832023-01-14 Jonathan Wakely <jwakely@redhat.com>
3984
3985 PR libstdc++/108409
3986 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
3987 variable.
3988
39892023-01-14 Jonathan Wakely <jwakely@redhat.com>
3990
3991 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
3992 loading tzdb.
3993 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
3994 effective target.
3995 * testsuite/std/time/tzdb_list/1.cc: Likewise.
3996
39972023-01-14 Jonathan Wakely <jwakely@redhat.com>
3998
3999 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
4000 --with-libstdcxx-zoneinfo-dir configure option with
4001 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
4002 a directory.
4003 * config.h.in: Regenerate.
4004 * configure: Regenerate.
4005 * doc/xml/manual/configure.xml: Document configure option.
4006 * doc/html/manual/configure.html: Regenerate.
4007 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
4008 * src/c++20/Makefile.in: Regenerate.
4009 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
4010 null pointer if no directory is configured.
4011 (zoneinfo_dir): Replace with ...
4012 (zoneinfo_file): New function.
4013 (tzdata_stream): New istream class.
4014 (remote_version, reload_tzdb): Use tzdata_stream.
4015 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
4016 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
4017 tzdata.zi file in default location.
4018 * src/c++20/tzdata.zi: New file.
4019
40202023-01-14 Jonathan Wakely <jwakely@redhat.com>
4021
4022 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
4023 * testsuite/std/time/month_day/io.cc: New test.
4024 * testsuite/std/time/month_day_last/io.cc: New test.
4025 * testsuite/std/time/month_weekday/io.cc: New test.
4026 * testsuite/std/time/month_weekday_last/io.cc: New test.
4027 * testsuite/std/time/weekday_indexed/io.cc: New test.
4028 * testsuite/std/time/weekday_last/io.cc: New test.
4029 * testsuite/std/time/year_month/io.cc: New test.
4030 * testsuite/std/time/year_month_day_last/io.cc: New test.
4031 * testsuite/std/time/year_month_weekday/io.cc: New test.
4032 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
4033
40342023-01-14 François Dumont <fdumont@gcc.gnu.org>
4035
4036 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
4037 specifications.
4038 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
4039 export.
4040
40412023-01-13 Jonathan Wakely <jwakely@redhat.com>
4042
4043 * include/bits/std_mutex.h: Include <errno.h>.
4044
40452023-01-13 Arsen Arsenović <arsen@aarsen.me>
4046
4047 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
4048 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
4049 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
4050 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
4051 std::make_unique with a freestanding-compatible wrapper around
4052 unique_ptr.
4053 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
4054 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
4055 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
4056 Ditto.
4057 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
4058 of __cpp_lib_ranges in !HOSTED.
4059
40602023-01-13 Arsen Arsenović <arsen@aarsen.me>
4061
4062 * include/Makefile.am: Install bits/char_traits.h,
4063 std/string_view
4064 * include/Makefile.in: Regenerate.
4065 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
4066 mbstate-only bits behind appropriate #ifs.
4067 * include/std/string_view: Gate <iostream> functionality behind
4068 HOSTED.
4069 * include/std/version: Enable __cpp_lib_constexpr_string_view
4070 and __cpp_lib_starts_ends_with in !HOSTED.
4071 * include/std/ranges: Re-enable __is_basic_string_view on
4072 freestanding, include <string_view> directly.
4073 * include/precompiled/stdc++.h: Include <string_view> when
4074 !HOSTED too.
4075 * testsuite/20_util/function_objects/searchers.cc: Skip testing
4076 boyer_moore searchers on freestanding
4077 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
4078 <string>-related tests behind __STDC_HOSTED__.
4079 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
4080 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
4081 unused <stdexcept> include.
4082 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
4083 unused <vector> include.
4084 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
4085 Guard <string> related testing behind __STDC_HOSTED__.
4086 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
4087 Guard <stdexcept> related tests behind __STDC_HOSTED__.
4088 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
4089 Ditto.
4090 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
4091 Guard <stdexcept> tests behind __STDC_HOSTED__.
4092 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
4093 Enable test on freestanding, guard <stdexcept> bits behind
4094 __STDC_HOSTED__.
4095 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
4096 Guard <stdexcept> bits behind __STDC_HOSTED__.
4097 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
4098 Ditto.
4099
41002023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
4101
4102 PR libstdc++/86419
4103 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
4104 errors in incomplete multibyte sequences.
4105 (utf16_in): Remove surrogates parameter. Fix conditions for
4106 returning partial.
4107 (utf16_out): Fix condition for returning partial.
4108 (ucs2_in): Do not pass surrogates argument to utf16_in.
4109 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
4110 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
4111 tests.
4112 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
4113 test.
4114
41152023-01-13 Jonathan Wakely <jwakely@redhat.com>
4116
4117 PR libstdc++/108331
4118 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
4119 __GTHREAD_LEGACY_MUTEX_T if defined.
4120
ecd637e9
GA
41212023-01-13 Jonathan Wakely <jwakely@redhat.com>
4122
4123 PR libstdc++/108327
4124 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
4125 Export __try_use_facet specializations for facets in namespace
4126 __gnu_cxx_ldbl128.
4127 * config/os/gnu-linux/ldbl-ieee128-extra.ver
4128 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
4129 __gnu_cxx_ieee128.
4130 * testsuite/util/testsuite_abi.cc: Add to lists of known and
4131 latest versions.
4132
41332023-01-13 Jonathan Wakely <jwakely@redhat.com>
4134
4135 * include/bits/std_mutex.h: Remove <system_error> include.
4136 * include/std/condition_variable: Add <bits/error_constants.h>
4137 include.
4138 * include/std/mutex: Likewise.
4139 * include/std/shared_mutex: Likewise.
4140
41412023-01-12 Jonathan Wakely <jwakely@redhat.com>
4142
4143 PR libstdc++/77691
4144 * include/experimental/memory_resource
4145 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
4146 (do_allocate, do_deallocate): Check it.
4147 * testsuite/experimental/memory_resource/new_delete_resource.cc:
4148 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
4149
41502023-01-12 Jonathan Wakely <jwakely@redhat.com>
4151
4152 * doc/xml/manual/abi.xml: Add latest library versions.
4153 * doc/html/manual/abi.html: Regenerate.
4154
41552023-01-12 François Dumont <fdumont@gcc.gnu.org>
4156
4157 PR libstdc++/107189
4158 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
4159 unused _Alloc_node instance.
4160
41612023-01-12 Jonathan Wakely <jwakely@redhat.com>
4162
4163 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
4164 Define as unsigned long if always lock-free, and unsigned int
4165 otherwise.
4166
f432ad09
GA
41672023-01-10 Jonathan Wakely <jwakely@redhat.com>
4168
4169 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
4170 __catch macros for exception handling.
4171
41722023-01-10 Jonathan Wakely <jwakely@redhat.com>
4173
4174 PR libstdc++/108221
4175 * include/bits/stl_algobase.h (__lg): Replace six overloads with
4176 a single function template for all integer types.
4177 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
4178 arithmetic results back to _Distance.
4179
41802023-01-10 Jonathan Wakely <jwakely@redhat.com>
4181
4182 PR libstdc++/108221
4183 * include/std/span (span::span()): Un-simplify constraint to
4184 work for size_t of lesser rank than int.
4185
d901bf8a
GA
41862023-01-07 LIU Hao <lh_mouse@126.com>
4187
4188 PR middle-end/108300
4189 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
4190 <windows.h>.
4191 * src/c++11/thread.cc: Likewise.
4192 * src/c++17/fs_ops.cc: Likewise.
4193 * src/filesystem/ops.cc: Likewise.
4194
d808db1f
GA
41952023-01-06 Jonathan Wakely <jwakely@redhat.com>
4196
4197 PR libstdc++/108228
4198 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
4199
42002023-01-06 Jonathan Wakely <jwakely@redhat.com>
4201
4202 PR libstdc++/108235
4203 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
4204 template and partial specialization for synchronizing access to
4205 time_zone::_Impl::infos.
4206 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
4207 rules_counter.
4208
42092023-01-06 Patrick Palka <ppalka@redhat.com>
4210
4211 PR libstdc++/108260
4212 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
4213 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
4214 (__cpp_lib_ranges_chunk): Likewise.
4215 (__cpp_lib_ranges_slide): Likewise.
4216 (__cpp_lib_ranges_chunk_by): Likewise.
4217 (__cpp_lib_ranges_join_with): Likewise.
4218 (__cpp_lib_ranges_repeat): Likewise.
4219 (__cpp_lib_ranges_stride): Likewise.
4220 (__cpp_lib_ranges_cartesian_product): Likewise.
4221 (__cpp_lib_ranges_as_rvalue): Likewise.
4222 * include/std/version: Ditto.
4223 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
4224 feature-test macro.
4225 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
4226 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
4227 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
4228 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
4229 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
4230 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
4231 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
4232 * testsuite/std/ranges/repeat/1.cc: Likewise.
4233 * testsuite/std/ranges/zip/1.cc: Likewise.
4234 * testsuite/std/ranges/version_c++23.cc: New test.
4235
42362023-01-06 Jonathan Wakely <jwakely@redhat.com>
4237
4238 PR libstdc++/108214
4239 * include/std/bitset (operator>>): Use alloca in the right
4240 scope, not in a constructor.
4241 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
4242
42432023-01-06 Jonathan Wakely <jwakely@redhat.com>
4244
4245 PR libstdc++/108221
4246 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
4247 Disable visiting floating-point types.
4248
42492023-01-06 Jonathan Wakely <jwakely@redhat.com>
4250
4251 PR libstdc++/108288
4252 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
4253 (_Safe_iterator::operator--(int)): Do not hold lock around
4254 construction of return value.
4255
53ef7c1d
GA
42562023-01-05 John David Anglin <danglin@gcc.gnu.org>
4257
4258 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
4259 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
4260 lock release. Revise loop.
4261 (__atomic_add): Likewise.
4262
42632023-01-05 Jonathan Wakely <jwakely@redhat.com>
4264
4265 PR libstdc++/108212
4266 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
4267 variable.
4268 (StdChronoTimePointPrinter::to_string): Use it.
4269
42702023-01-05 Jonathan Wakely <jwakely@redhat.com>
4271
4272 PR libstdc++/108290
4273 * include/std/functional (_Bind_front): Add no_unique_address
4274 attribute to data members.
4275 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
4276 size of call wrappers with empty types for targets and bound
4277 arguments.
4278
42792023-01-05 Jonathan Wakely <jwakely@redhat.com>
4280
4281 PR libstdc++/108211
4282 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
4283 using only last component of the name.
4284
42852023-01-05 Jonathan Wakely <jwakely@redhat.com>
4286
4287 PR libstdc++/108228
4288 PR libstdc++/108235
4289 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
4290 the latest symbol version.
4291 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
4292 atomic<_Node*> is not always lock free.
4293 (USE_ATOMIC_LIST_HEAD): New macro.
4294 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
4295 definition of weak symbol.
4296 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
4297 (tzdb_list::_Node::_S_list_head): New function for accessing
4298 list head efficiently.
4299 (tzdb_list::_Node::_S_cache_list_head): New function for
4300 updating _S_list_head.
4301
43022023-01-05 Jonathan Wakely <jwakely@redhat.com>
4303
4304 PR libstdc++/108265
4305 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
4306 duration rep is unsigned.
4307 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
4308
faccda27
GA
43092023-01-04 Iain Sandoe <iain@sandoe.co.uk>
4310
4311 PR libstdc++/108228
4312 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
4313 Add __gnu_cxx::zoneinfo_dir_override().
4314
43152023-01-04 Jonathan Wakely <jwakely@redhat.com>
4316
4317 PR libstdc++/108258
4318 * include/std/array (__array_traits<T, 0>::operator T*()): Add
4319 constexpr.
4320 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
4321 std::array<T, 0>::data().
4322
b4df5e92 4323\f
d64f8779 4324Copyright (C) 2023 Free Software Foundation, Inc.
b4df5e92
JW
4325
4326Copying and distribution of this file, with or without modification,
4327are permitted in any medium without royalty provided the copyright
4328notice and this notice are preserved.
This page took 1.739872 seconds and 5 git commands to generate.