]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
fde093b7
GA
12023-05-04 Jonathan Wakely <jwakely@redhat.com>
2
3 * doc/xml/manual/abi.xml (abi.versioning.history): Document
4 libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version.
5 * doc/html/manual/abi.html: Regenerate.
6
72023-05-04 Florian Weimer <fweimer@redhat.com>
8
9 * doc/xml/manual/abi.xml (abi.versioning.history): Add
10 GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for
11 libgcc_s.
12
257df676
GA
132023-05-03 Jakub Jelinek <jakub@redhat.com>
14
15 * src/c++17/floating_from_chars.cc
16 (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to
17 _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format.
18 * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to
19 _ZSt8to_charsPcS_u9__ieee128.
20 (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to
21 _ZSt8to_charsPcS_u9__ieee128St12chars_format.
22 (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to
23 _ZSt8to_charsPcS_u9__ieee128St12chars_formati.
24 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated.
25
262023-05-03 Jakub Jelinek <jakub@redhat.com>
27
28 * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu
29 rather than powerpc64-linux-gnu for powerpc64le*-linux*.
30 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove
31 _ZTI*DF128_, _ZTI*DF64x symbols and symbols in
32 GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol
33 versions.
34 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New
35 file.
36
372023-05-03 Kefu Chai <kefu.chai@scylladb.com>
38 Jonathan Wakely <jwakely@redhat.com>
39
40 PR libstdc++/109703
41 * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
42 Initialize _M_string_length.
43
d7cb9720
GA
442023-05-02 Jakub Jelinek <jakub@redhat.com>
45
46 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
47 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
48 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
49 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
50 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
51 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
52 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
53 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
54
552023-05-02 Jakub Jelinek <jakub@redhat.com>
56
57 PR libstdc++/109694
58 * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
59 -Wattribute-alias.
60
50205195
GA
612023-04-28 Jonathan Wakely <jwakely@redhat.com>
62
63 * include/bits/random.h (gamma_distribution): Add to the right
64 doxygen group.
65 (discrete_distribution, piecewise_constant_distribution)
66 (piecewise_linear_distribution): Create a new doxygen group and
67 fix the incomplete doxygen comments.
68 * include/bits/uniform_int_dist.h (uniform_int_distribution):
69 Add to doxygen group.
70
712023-04-28 Jonathan Wakely <jwakely@redhat.com>
72
73 * include/bits/uses_allocator.h: Add missing @file comment.
74 * include/bits/regex.tcc: Remove stray doxygen comments.
75 * include/experimental/memory_resource: Likewise.
76 * include/std/bit: Tweak doxygen @cond comments.
77 * include/std/expected: Likewise.
78 * include/std/numbers: Likewise.
79
802023-04-28 Jonathan Wakely <jwakely@redhat.com>
81
82 * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
83 from header paths.
84
852023-04-28 Jonathan Wakely <jwakely@redhat.com>
86
87 * include/bits/move.h: Simplify opening/closing namespace std.
88
892023-04-28 Jakub Jelinek <jakub@redhat.com>
90
91 PR libstdc++/108969
92 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export
93 _ZSt21ios_base_library_initv.
94 * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32
95 symver and make it the latestp.
96 * src/c++98/ios_init.cc (ios_base_library_init): New alias.
97 * acinclude.m4 (libtool_VERSION): Change to 6:32:0.
98 * include/std/iostream: If init_priority attribute is supported
99 and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv
100 symbol into the object.
101 * configure: Regenerated.
102
32a98ccd
GA
1032023-04-27 Jonathan Wakely <jwakely@redhat.com>
104
105 * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
106 * include/std/format: Likewise.
107
1082023-04-27 Jonathan Wakely <jwakely@redhat.com>
109
110 * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
111 (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.
112
1132023-04-27 Jonathan Wakely <jwakely@redhat.com>
114
115 * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
116 HTML docs.
117 * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
118 from doxygen docs.
119 * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
120 Likewise.
121 * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
122 Likewise.
123 * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
124 Likewise.
125 * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
126 (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
127 (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
128 (_DEFINE_BINARY_OPERATOR): Likewise.
129
1302023-04-27 Jonathan Wakely <jwakely@redhat.com>
131
132 * include/bits/memory_resource.h: Improve doxygen comments.
133 * include/std/memory_resource: Likewise.
134
1352023-04-27 Jonathan Wakely <jwakely@redhat.com>
136
137 PR libstdc++/40380
138 * include/bits/basic_string.h: Improve doxygen comments.
139 * include/bits/cow_string.h: Likewise.
140 * include/bits/forward_list.h: Likewise.
141 * include/bits/fs_dir.h: Likewise.
142 * include/bits/fs_path.h: Likewise.
143 * include/bits/quoted_string.h: Likewise.
144 * include/bits/stl_bvector.h: Likewise.
145 * include/bits/stl_map.h: Likewise.
146 * include/bits/stl_multimap.h: Likewise.
147 * include/bits/stl_multiset.h: Likewise.
148 * include/bits/stl_set.h: Likewise.
149 * include/bits/stl_vector.h: Likewise.
150 * include/bits/unordered_map.h: Likewise.
151 * include/bits/unordered_set.h: Likewise.
152 * include/std/filesystem: Likewise.
153 * include/std/iomanip: Likewise.
154
1552023-04-27 Jonathan Wakely <jwakely@redhat.com>
156
157 PR libstdc++/105081
158 * src/c++11/random.cc (__throw_syserr): New function.
159 (random_device::_M_init, random_device::_M_init_pretr1): Use new
160 function for bad tokens.
161 (random_device::_M_getval): Use new function for read errors.
162 * testsuite/util/testsuite_random.h (random_device_available):
163 Change catch handler to use std::system_error.
164
aeaf9426
GA
1652023-04-24 Patrick Palka <ppalka@redhat.com>
166
167 * include/bits/max_size_type.h (__max_diff_type::operator>>=):
168 Fix propagation of sign bit.
169 * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
170 non-standard 'signed typedef-name'. Add some compile-time tests
171 for right-shifting a negative __max_diff_type value by more than
172 one.
173
cf0d9dbc
GA
1742023-04-19 Patrick Palka <ppalka@redhat.com>
175 Jonathan Wakely <jwakely@redhat.com>
176
177 PR c++/100157
178 * include/bits/utility.h (_Nth_type): Conditionally define in
179 terms of __type_pack_element if available.
180 * testsuite/20_util/tuple/element_access/get_neg.cc: Prune
181 additional errors from the new built-in.
182
1832023-04-19 Jonathan Wakely <jwakely@redhat.com>
184
185 Revert:
186 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
187
188 PR libstdc++/108969
189 * src/Makefile.am: Move globals_io.cc to here.
190 * src/Makefile.in: Regenerate.
191 * src/c++98/Makefile.am: Remove globals_io.cc from here.
192 * src/c++98/Makefile.in: Regenerate.
193 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
194 symbol name and then export with GLIBCXX_3.4.31 symver.
195 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
196 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
197 Regenerate.
198 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
199 Regenerate.
200 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
201 Regenerate.
202 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
203 Regenerate.
204 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
205 Regenerate.
206 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
207 Regenerate.
208 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
209 Regenerate.
210 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
211 Regenerate.
212 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
213
2142023-04-19 Jonathan Wakely <jwakely@redhat.com>
215
216 Revert:
217 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
218
219 PR libstdc++/108969
220 * config/abi/pre/gnu.ver: Fix preprocessor condition.
221
d5cd3ead
GA
2222023-04-18 Jonathan Wakely <jwakely@redhat.com>
223
224 * doc/xml/manual/extensions.xml: Fix example to declare and
225 qualify std::free, and use NULL instead of 0.
226 * doc/html/manual/ext_demangling.html: Regenerate.
227 * libsupc++/cxxabi.h: Adjust doxygen comments.
228
2292023-04-18 Jonathan Wakely <jwakely@redhat.com>
230
231 PR libstdc++/108969
232 * config/abi/pre/gnu.ver: Fix preprocessor condition.
233
2342023-04-18 Jonathan Wakely <jwakely@redhat.com>
235
236 PR libstdc++/108969
237 * src/Makefile.am: Move globals_io.cc to here.
238 * src/Makefile.in: Regenerate.
239 * src/c++98/Makefile.am: Remove globals_io.cc from here.
240 * src/c++98/Makefile.in: Regenerate.
241 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
242 symbol name and then export with GLIBCXX_3.4.31 symver.
243 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
244 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
245 Regenerate.
246 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
247 Regenerate.
248 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
249 Regenerate.
250 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
251 Regenerate.
252 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
253 Regenerate.
254 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
255 Regenerate.
256 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
257 Regenerate.
258 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
259 Regenerate.
260 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
261
2622023-04-18 Patrick Palka <ppalka@redhat.com>
263
264 PR libstdc++/108827
265 * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value
266 for C++23.
267 * include/std/ranges (range_adaptor_closure): Define for C++23.
268 * include/std/version (__cpp_lib_ranges): Bump value for
269 C++23.
270 * testsuite/std/ranges/version_c++23.cc: Bump expected value
271 of __cpp_lib_ranges.
272 * testsuite/std/ranges/range_adaptor_closure.cc: New test.
273
2742023-04-18 Patrick Palka <ppalka@redhat.com>
275
276 * include/bits/ranges_algo.h (__cpp_lib_ranges_contains):
277 Define for C++23.
278 (__cpp_lib_ranges_iota): Likewise.
279 (__cpp_lib_ranges_find_last): Likewise.
280 (__cpp_lib_fold): Rename to ...
281 (__cpp_lib_ranges_fold): ... this.
282 * include/std/version: As above.
283 * testsuite/25_algorithms/fold_left/1.cc: Adjust after
284 renaming __cpp_lib_fold.
285 * testsuite/std/ranges/version_c++23.cc: Verify values
286 of the above feature-test macros.
287
2882023-04-18 Patrick Palka <ppalka@redhat.com>
289
290 PR libstdc++/109525
291 * include/std/ranges (views::_AsConst::operator()): Add
292 missing const to constant_range test.
293 * testsuite/std/ranges/adaptors/as_const/1.cc (test02):
294 Improve formatting. Adjust expected type of v2.
295 (test03): New test.
296
1aee19f9
GA
2972023-04-14 Patrick Palka <ppalka@redhat.com>
298
299 * include/bits/ranges_base.h (const_iterator_t): Define for C++23.
300 (const_sentinel_t): Likewise.
301 (range_const_reference_t): Likewise.
302 (constant_range): Likewise.
303 (__cust_access::__possibly_const_range): Likewise, replacing ...
304 (__cust_access::__as_const): ... this.
305 (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4.
306 (__cust_access::_CEnd::operator()): Likewise.
307 (__cust_access::_CRBegin::operator()): Likewise.
308 (__cust_access::_CREnd::operator()): Likewise.
309 (__cust_access::_CData::operator()): Likewise.
310 * include/bits/ranges_util.h (ranges::__detail::__different_from):
311 Make it an alias of std::__detail::__different_from.
312 (view_interface::cbegin): Define for C++23.
313 (view_interface::cend): Likewise.
314 * include/bits/stl_iterator.h (__detail::__different_from): Define.
315 (iter_const_reference_t): Define for C++23.
316 (__detail::__constant_iterator): Likewise.
317 (__detail::__is_const_iterator): Likewise.
318 (__detail::__not_a_const_iterator): Likewise.
319 (__detail::__iter_const_rvalue_reference_t): Likewise.
320 (__detail::__basic_const_iter_cat):: Likewise.
321 (const_iterator): Likewise.
322 (__detail::__const_sentinel): Likewise.
323 (const_sentinel): Likewise.
324 (basic_const_iterator): Likewise.
325 (common_type<basic_const_iterator<_Tp>, _Up>): Likewise.
326 (common_type<_Up, basic_const_iterator<_Tp>>): Likewise.
327 (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>):
328 Likewise.
329 (make_const_iterator): Define for C++23.
330 (make_const_sentinel): Likewise.
331 * include/std/ranges (__cpp_lib_ranges_as_const): Likewise.
332 (as_const_view): Likewise.
333 (enable_borrowed_range<as_const_view>): Likewise.
334 (views::__detail::__is_ref_view): Likewise.
335 (views::__detail::__can_is_const_view): Likewise.
336 (views::_AsConst, views::as_const): Likewise.
337 * include/std/span (span::const_iterator): Likewise.
338 (span::const_reverse_iterator): Likewise.
339 (span::cbegin): Likewise.
340 (span::cend): Likewise.
341 (span::crbegin): Likewise.
342 (span::crend): Likewise.
343 * include/std/version (__cpp_lib_ranges_as_const): Likewise.
344 * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to
345 behave independently of C++20 vs C++23.
346 * testsuite/std/ranges/version_c++23.cc: Verify value of
347 __cpp_lib_ranges_as_const macro.
348 * testsuite/24_iterators/const_iterator/1.cc: New test.
349 * testsuite/std/ranges/adaptors/as_const/1.cc: New test.
350
3512023-04-14 Patrick Palka <ppalka@redhat.com>
352
353 * include/bits/ranges_base.h (__cust_access::__as_const)
354 (__cust_access::_CBegin, __cust::cbegin)
355 (__cust_access::_CEnd, __cust::cend)
356 (__cust_access::_CRBegin, __cust::crbegin)
357 (__cust_access::_CREnd, __cust::crend)
358 (__cust_access::_CData, __cust::cdata): Move down definitions to
359 shortly after the definition of input_range.
360
3612023-04-14 Patrick Palka <ppalka@redhat.com>
362
363 * include/bits/ranges_algo.h: Include <optional> for C++23.
364 (__cpp_lib_fold): Define for C++23.
365 (in_value_result): Likewise.
366 (__detail::__flipped): Likewise.
367 (__detail::__indirectly_binary_left_foldable_impl): Likewise.
368 (__detail::__indirectly_binary_left_foldable): Likewise.
369 (___detail:__indirectly_binary_right_foldable): Likewise.
370 (fold_left_with_iter_result): Likewise.
371 (__fold_left_with_iter_fn, fold_left_with_iter): Likewise.
372 (__fold_left_fn, fold_left): Likewise.
373 (__fold_left_first_with_iter_fn, fold_left_first_with_iter):
374 Likewise.
375 (__fold_left_first_fn, fold_left_first): Likewise.
376 (__fold_right_fn, fold_right): Likewise.
377 (__fold_right_last_fn, fold_right_last): Likewise.
378 * include/std/version (__cpp_lib_fold): Likewise.
379 * testsuite/25_algorithms/fold_left/1.cc: New test.
380 * testsuite/25_algorithms/fold_right/1.cc: New test.
381
3822023-04-14 Jonathan Wakely <jwakely@redhat.com>
383
384 * include/std/format (formatter): Add comment to deleted default
385 constructor of primary template.
386 (_Checking_scanner): Add static_assert.
387
66c7257b
GA
3882023-04-12 Jonathan Wakely <jwakely@redhat.com>
389
390 * doc/xml/manual/using.xml: Document libstdc++exp.a library.
391 * doc/html/*: Regenerate.
392
3932023-04-12 Jonathan Wakely <jwakely@redhat.com>
394
395 * testsuite/17_intro/names.cc [_AIX]: Do not define policy.
396 * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
397 namespace to avoid clashing with libc struct.
398 * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
399 Likewise.
400 * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
401 * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
402 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
403 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
404 * testsuite/experimental/synchronized_value.cc: Require gthreads
405 and add missing option for pthreads targets.
406
4072023-04-12 Patrick Palka <ppalka@redhat.com>
408
409 * include/std/ranges (__cpp_lib_ranges_enumerate): Define
410 for C++23.
411 (__detail::__range_with_movable_reference): Likewise.
412 (enumerate_view): Likewise.
413 (enumerate_view::_Iterator): Likewise.
414 (enumerate_view::_Sentinel): Likewise.
415 (views::__detail::__can_enumerate_view): Likewise.
416 (views::_Enumerate, views::enumerate): Likewise.
417 * include/std/version (__cpp_lib_ranges_enumerate): Likewise.
418 * testsuite/std/ranges/version_c++23.cc: Verify value of
419 __cpp_lib_ranges_enumerate.
420 * testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
421
4222023-04-12 Patrick Palka <ppalka@redhat.com>
423
424 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
425 Propagate _M_trailing_empty in the const-converting constructor
426 as per LWG 3904.
427 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
428 assertion.
429 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
430
4312023-04-12 Patrick Palka <ppalka@redhat.com>
432
433 * src/c++17/floating_from_chars.cc: Include <algorithm>,
434 <iterator>, <limits> and <cstdint>.
435
4362023-04-12 Patrick Palka <ppalka@redhat.com>
437
438 PR libstdc++/108291
439 * include/std/ranges (chunk_by_view::_M_find_next): Generalize
440 parameter types of the lambda wrapper passed to adjacent_find.
441 (chunk_by_view::_M_find_prev): Likewise.
442 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
443 New tests.
444
4452023-04-12 Jonathan Wakely <jwakely@redhat.com>
446
447 PR libstdc++/109482
448 * include/experimental/internet (basic_endpoint::basic_endpoint()):
449 Ensure that the required union members are active. Only define
450 as constexpr for C++20 and later.
451 (basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
452 Likewise.
453 * testsuite/experimental/net/internet/endpoint/cons.cc: Only
454 check constexpr default constructor for C++20 and later.
455 * testsuite/experimental/net/internet/endpoint/extensible.cc:
456 Likewise.
457
4582023-04-12 Jonathan Wakely <jwakely@redhat.com>
459
460 * src/c++20/tzdata.zi: Import new file from 2023c release.
461
5229788d
GA
4622023-04-05 Arsen Arsenović <arsen@aarsen.me>
463
464 * include/precompiled/stdc++.h (C++17): Don't double-include
465 <charconv>, once with wrong conditions.
466 * testsuite/18_support/96817.cc: Require hosted.
467 * testsuite/18_support/bad_exception/59392.cc: Ditto.
468 * testsuite/20_util/scoped_allocator/108952.cc: Ditto.
469 * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
470 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
471 Ditto.
472
4732023-04-05 Arsen Arsenović <arsen@aarsen.me>
474
475 * include/bits/c++config: When __STDC_HOSTED__ is zero,
476 disable _GLIBCXX_DEBUG and, if it was set, enable
477 _GLIBCXX_ASSERTIONS.
478 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
479 Include <bits/c++config.h> when determining whether debug is
480 set, in order to inherit the logic from above
481
4822023-04-05 Arsen Arsenović <arsen@aarsen.me>
483
484 * testsuite/17_intro/versionconflict.cc: New test.
485 * include/std/version: Allow disabling the system_header pragma
486 via _GLIBCXX_TESTING_SYSHDR.
487
4882023-04-05 Arsen Arsenović <arsen@aarsen.me>
489
490 * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
491 Synchronize the definition block with...
492 * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
493 ... this one here. Also define the 202202L value, rather than
494 leaving it up to purely unique_ptr.h, so that the value is
495 synchronized across all headers.
496 (__gnu_debug::_Safe_iterator_base): Move into new conditional
497 block.
498 * include/std/memory (__cpp_lib_atomic_value_initialization):
499 Define on freestanding under the same conditions as in
500 atomic_base.h.
501 * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
502 Also define on freestanding.
503 (__cpp_lib_to_chars): Ditto.
504 (__cpp_lib_gcd): Ditto.
505 (__cpp_lib_gcd_lcm): Ditto.
506 (__cpp_lib_raw_memory_algorithms): Ditto.
507 (__cpp_lib_array_constexpr): Ditto.
508 (__cpp_lib_nonmember_container_access): Ditto.
509 (__cpp_lib_clamp): Ditto.
510 (__cpp_lib_constexpr_char_traits): Ditto.
511 (__cpp_lib_constexpr_string): Ditto.
512 (__cpp_lib_sample): Ditto.
513 (__cpp_lib_lcm): Ditto.
514 (__cpp_lib_constexpr_iterator): Ditto.
515 (__cpp_lib_constexpr_char_traits): Ditto.
516 (__cpp_lib_interpolate): Ditto.
517 (__cpp_lib_constexpr_utility): Ditto.
518 (__cpp_lib_shift): Ditto.
519 (__cpp_lib_ranges): Ditto.
520 (__cpp_lib_move_iterator_concept): Ditto.
521 (__cpp_lib_constexpr_numeric): Ditto.
522 (__cpp_lib_constexpr_functional): Ditto.
523 (__cpp_lib_constexpr_algorithms): Ditto.
524 (__cpp_lib_constexpr_tuple): Ditto.
525 (__cpp_lib_constexpr_memory): Ditto.
526
5272023-04-05 John David Anglin <danglin@gcc.gnu.org>
528
529 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
530 timeout factor on hppa*-*-*.
531
5322023-04-05 Jonathan Wakely <jwakely@redhat.com>
533
534 * include/bits/regex.h (sub_match::swap): New function.
535 * testsuite/28_regex/sub_match/lwg3204.cc: New test.
536
645b1362
GA
5372023-04-04 Jonathan Wakely <jwakely@redhat.com>
538
539 * doc/xml/manual/extensions.xml: Remove std::bad_exception from
540 example program.
541 * doc/html/manual/ext_demangling.html: Regenerate.
542
e11cde03
GA
5432023-03-31 Jonathan Wakely <jwakely@redhat.com>
544
545 PR tree-optimization/107087
546 * include/bits/cow_string.h (basic_string::size()): Add
547 optimizer hint that _S_empty_rep()._M_length is always zero.
548 (basic_string::length()): Call size().
549
5502023-03-31 Jonathan Wakely <jwakely@redhat.com>
551
552 PR libstdc++/109339
553 * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
554 Add attribute access with access-mode 'none'.
555 * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
556
5572023-03-31 Jonathan Wakely <jwakely@redhat.com>
558
559 * include/experimental/internet (ip::basic_endpoint::_M_if_v6):
560 Revert change from member function to data member. Fix for
561 constant evaluation by detecting which union member is active.
562 (ip::basic_endpoint::resize): Revert changes to update _M_is_v6
563 flag.
564
00908886
GA
5652023-03-29 Jonathan Wakely <jwakely@redhat.com>
566
567 PR libstdc++/109242
568 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
569 * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
570
5712023-03-29 Jonathan Wakely <jwakely@redhat.com>
572
573 * include/experimental/internet (ip::make_address): Implement
574 missing overload.
575 (ip::address_v4::broadcast()): Avoid undefined shift.
576 (ip::basic_endpoint): Fix member functions for constexpr.
577 (ip::basic_endpoint::_M_is_v6): Replace member function with
578 data member, adjust member functions using it.
579 (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
580 content.
581 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
582 constexpr checks to work in C++14.
583 * testsuite/experimental/net/internet/address/v4/creation.cc:
584 Likewise.
585 * testsuite/experimental/net/internet/endpoint/cons.cc:
586 Likewise.
587 * testsuite/experimental/net/internet/network/v4/cons.cc:
588 Likewise.
589 * testsuite/experimental/net/internet/network/v4/members.cc:
590 Likewise.
591 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
592
5932023-03-29 Jonathan Wakely <jwakely@redhat.com>
594
595 * include/std/expected (expected::value() &): Use const lvalue
596 for unex member passed to bad_expected_access constructor, as
597 per LWG 3843.
598
5992023-03-29 Jonathan Wakely <jwakely@redhat.com>
600
601 PR libstdc++/109340
602 * include/std/expected (expected::transform): Use
603 std::remove_cv_t instead of std::remove_cvref_t.
604 (expected::transform_error): Likewise.
605 (expected<cv void, E>::transform): Likewise.
606 (expected<cv void, E>::transform_error): Likewise.
607 * include/std/optional (transform): Use std::remove_cv_t.
608 * testsuite/20_util/optional/monadic/pr109340.cc: New test.
609
6102023-03-29 Jonathan Wakely <jwakely@redhat.com>
611
612 * include/std/optional (optional): Adjust static assertion to
613 reject arrays and functions as well as references.
614 * testsuite/20_util/optional/requirements_neg.cc: New test.
615
579cdc1e
GA
6162023-03-28 Jonathan Wakely <jwakely@redhat.com>
617
618 PR libstdc++/103387
619 * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
620 std::use_facet instead of cached _M_num_get facet.
621 (istream::operator>>(short&)): Likewise.
622 (istream::operator>>(int&)): Likewise.
623 * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
624 std::use_facet instead of cached _M_num_put facet.
625
6262023-03-28 Jonathan Wakely <jwakely@redhat.com>
627
628 * include/bits/char_traits.h (char_traits::copy): Return without
629 using memcpy if n==0.
630 (char_traits::assign): Likewise for memset.
631
6322023-03-28 Jonathan Wakely <jwakely@redhat.com>
633
634 PR libstdc++/109299
635 * include/bits/basic_string.h (basic_string::_M_is_local()): Add
636 hint for compiler that local strings fit in the local buffer.
637
6382023-03-28 Jonathan Wakely <jwakely@redhat.com>
639
640 PR libstdc++/109288
641 * include/std/chrono (__detail::__get_leap_second_info): Update
642 expiry date of hardcoded leapseconds list.
643 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
644 Likewise.
645 * src/c++20/tzdata.zi: Import new file from 2023a release.
646 * testsuite/std/time/time_zone/get_info_local.cc: Only check
647 transitions for Egypt up to 2014.
648
6492023-03-28 Matthias Kretz <m.kretz@gsi.de>
650
651 * include/experimental/bits/simd.h (is_simd_flag_type): New.
652 (_IsSimdFlagType): New.
653 (copy_from, copy_to, load ctors): Constrain _Flags using
654 _IsSimdFlagType.
655
6562023-03-28 Matthias Kretz <m.kretz@gsi.de>
657
658 * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
659 _Base::_S_divides if the optimized _S_divides function is hidden
660 via the preprocessor.
661
ffcdac4f
GA
6622023-03-27 Jakub Jelinek <jakub@redhat.com>
663
664 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
665 warning if size_t is not unsigned long.
666
50bd9c41
GA
6672023-03-22 Jonathan Wakely <jwakely@redhat.com>
668
669 * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
670 Add overload, as per LWG 3893.
671 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
672 Check assignment from nullptr.
673
6742023-03-22 Jonathan Wakely <jwakely@redhat.com>
675
676 * include/std/format (formatter<const charT[N], charT>): Do not
677 define partial speclialization, as per LWG 3833.
678 * testsuite/std/format/formatter/requirements.cc: Check it.
679
6802023-03-22 Jonathan Wakely <jwakely@redhat.com>
681
682 * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
683 as per LWG 3792.
684 * testsuite/20_util/exchange/constexpr.cc: Check for it.
685
6862023-03-22 Jonathan Wakely <jwakely@redhat.com>
687
688 * include/std/version (__cpp_lib_format): Define.
689 * testsuite/std/format/functions/format.cc: Check it.
690
6912023-03-22 Jonathan Wakely <jwakely@redhat.com>
692
693 * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
694 Pass rvalues to the callback, as now allowed by LWG 3645.
695 Enforce preconditions on the return value.
696 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
697 Adjust.
698
6992023-03-22 Jonathan Wakely <jwakely@redhat.com>
700
701 * include/std/format: Add a comment noting that the resolution
702 of LWG 3720 has been applied..
703
7042023-03-22 Jonathan Wakely <jwakely@redhat.com>
705
706 * include/bits/regex.h (match_results): Add allocator-extended
707 copy and move constructors, as per LWG 2195.
708 * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
709
7102023-03-22 Jonathan Wakely <jwakely@redhat.com>
711
712 * include/bits/stream_iterator.h (istream_iterator): Add
713 constexpr to copy constructor, as per LWG 3600.
714 * testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
715 Check copy construction.
716
03178527
GA
7172023-03-21 Matthias Kretz <m.kretz@gsi.de>
718
719 * include/experimental/bits/simd_x86.h
720 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
721 with __RECIPROCAL_MATH__.
722
7232023-03-21 Matthias Kretz <m.kretz@gsi.de>
724
725 * include/experimental/bits/simd_detail.h: Don't define
726 _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
727 * include/experimental/bits/simd_x86.h (_S_divides): Remove
728 check for __clang__.
729
7302023-03-21 Matthias Kretz <m.kretz@gsi.de>
731
732 * include/experimental/bits/simd_detail.h: Don't declare the
733 simd API as constexpr with Clang.
734 * include/experimental/bits/simd_x86.h (__movm): New.
735 (_S_blend_avx512): Resolve FIXME. Implement blend using __movm
736 and ?:.
737 (_SimdImplX86::_S_masked_unary): Clang does not implement the
738 same builtins. Implement the function using __movm, ?:, and -
739 operators on vector_size types instead.
740
7412023-03-21 Matthias Kretz <m.kretz@gsi.de>
742
743 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
744 define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
745
582f246b
GA
7462023-03-20 Jonathan Wakely <jwakely@redhat.com>
747
748 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
749 formatting.
750
7512023-03-20 Marek Polacek <polacek@redhat.com>
752
753 PR c++/109159
754 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
755 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
756 * testsuite/23_containers/span/explicit.cc: Likewise.
757
7582023-03-20 Jonathan Wakely <jwakely@redhat.com>
759
760 PR libstdc++/109182
761 * include/std/expected (expected<void>::expected(in_place_t)):
762 Remove template-head.
763
cffcb774
GA
7642023-03-18 Jonathan Wakely <jwakely@redhat.com>
765
766 PR libstdc++/109165
767 * testsuite/18_support/coroutines/hash.cc: Use const object
768 in second call.
769
454a4d50
GA
7702023-03-17 Jonathan Wakely <jwakely@redhat.com>
771
772 PR libstdc++/109165
773 * include/std/coroutine (hash<>::operator()): Add const.
774 * testsuite/18_support/coroutines/hash.cc: New test.
775
fd42a8fa
GA
7762023-03-14 Patrick Palka <ppalka@redhat.com>
777
778 PR libstdc++/109111
779 * include/std/ranges (repeat_view): Remove redundant parentheses
780 in requires-clause.
781 (repeat_view::_Iterator): Correct the requires-clause.
782
7832023-03-14 Patrick Palka <ppalka@redhat.com>
784
785 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
786 Define.
787 (__cpp_lib_move_iterator_concept): Define for C++20.
788 (move_iterator::iterator_concept): Strengthen as per P2520R0.
789 * include/std/version (__cpp_lib_move_iterator_concept): Define
790 for C++20.
791 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
792
7932023-03-14 Patrick Palka <ppalka@redhat.com>
794
795 * include/bits/ranges_util.h (view_interface::empty): Add
796 preferred overloads that use ranges::size when the range is
797 sized as per LWG 3715.
798 * testsuite/std/ranges/adaptors/lwg3715.cc: New test.
799
8002023-03-14 Jonathan Wakely <jwakely@redhat.com>
801
802 * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
803 Only define for C++17 and later.
804
8052023-03-14 Jonathan Wakely <jwakely@redhat.com>
806
807 * src/Makefile.am: Add comment about linker script fragments.
808 * src/Makefile.in: Regenerate.
809
8102023-03-14 Jonathan Wakely <jwakely@redhat.com>
811
812 PR libstdc++/62196
813 * include/bits/mask_array.h (mask_array): Add assertions to
814 assignment operators.
815 * include/std/valarray (valarray::operator[](valarray<bool>)):
816 Add assertions.
817 * testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
818 * testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
819 * testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
820 * testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
821 * testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
822 * testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
823 * testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
824 * testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
825 * testsuite/26_numerics/valarray/mask.cc: New test.
826
a9835599
GA
8272023-03-13 Jakub Jelinek <jakub@redhat.com>
828
829 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
830 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
831
8322023-03-13 Jonathan Wakely <jwakely@redhat.com>
833
834 * doc/Makefile.am: Add comment referring to documentation.
835 * doc/Makefile.in: Regenerate.
836
8372023-03-13 Jonathan Wakely <jwakely@redhat.com>
838
839 * doc/html/*: Regenerate.
840
8412023-03-13 Jonny Grant <jg@jguk.org>
842
843 * doc/xml/faq.xml: Update copyright year.
844
8452023-03-13 Jonathan Wakely <jwakely@redhat.com>
846
847 * include/bits/allocator.h: Fix typo in comment.
848
44ea7318
GA
8492023-03-12 Jakub Jelinek <jakub@redhat.com>
850
851 * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
852 if it isn't mangled as DF16b but u6__bf16.
853
8542023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
855
856 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
857 to https.
858 * doc/html/manual/documentation_hacking.html: Regenerate.
859
c8065441
GA
8602023-03-10 Jonathan Wakely <jwakely@redhat.com>
861
862 PR libstdc++/109064
863 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
864 Remove self-recursion in __init__. Add missing _supports.
865 * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
866 and unique().
867
da2b9c6e
GA
8682023-03-09 Patrick Palka <ppalka@redhat.com>
869
870 * include/std/ranges
871 (cartesian_product_view::_Iterator::_Iterator): Remove
872 constraint on default constructor as per LWG 3849.
873 (cartesian_product_view::_Iterator::_M_prev): Adjust position
874 of _Nm > 0 test as per LWG 3820.
875 (cartesian_product_view::_Iterator::_M_advance): Perform bounds
876 checking only on sized cartesian products.
877 * testsuite/std/ranges/cartesian_product/1.cc (test08): New test.
878
8792023-03-09 Patrick Palka <ppalka@redhat.com>
880
881 PR libstdc++/109024
882 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
883 LWG 3796.
884 (repeat_view::_M_pred): Likewise.
885 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
886 * testsuite/std/ranges/repeat/1.cc (test05): New test.
887
8882023-03-09 Patrick Palka <ppalka@redhat.com>
889
890 PR libstdc++/108362
891 * include/std/ranges (__detail::__can_single_view): New concept.
892 (_Single::operator()): Constrain it. Move [[nodiscard]] to the
893 end of the function declarator.
894 (__detail::__can_iota_view): New concept.
895 (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
896 end of the function declarator.
897 (__detail::__can_istream_view): New concept.
898 (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
899 end of the function declarator.
900 * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
901 * testsuite/std/ranges/istream_view.cc (test08): New test.
902 * testsuite/std/ranges/single_view.cc (test07): New test.
903
9042023-03-09 Patrick Palka <ppalka@redhat.com>
905
906 PR libstdc++/107572
907 * include/std/ranges (cartesian_product_view::end): When
908 building the tuple of iterators, avoid calling ranges::begin on
909 the first range if __empty_tail is false.
910 * testsuite/std/ranges/cartesian_product/1.cc (test07): New test.
911
9122023-03-09 Jonathan Wakely <jwakely@redhat.com>
913
914 PR libstdc++/108882
915 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
916 patterns.
917
af320a16
GA
9182023-03-07 Jakub Jelinek <jakub@redhat.com>
919
920 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
921 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
922 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
923 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
924 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
925
9262023-03-07 Jonathan Wakely <jwakely@redhat.com>
927
928 PR libstdc++/108882
929 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
930 not match symbols in namespace std::__gnu_cxx11_ieee128.
931 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
932 std::__gnu_cxx11_ieee128::money_{get,put}.
933
9342023-03-07 Jonathan Wakely <jwakely@redhat.com>
935
936 * libsupc++/eh_personality.cc: Fix spelling in comment.
937
2aa6673e
GA
9382023-03-03 Alexandre Oliva <oliva@adacore.com>
939
940 * testsuite/30_threads/async/async.cc (test04): Initialize
941 steady_start, renamed from steady_begin, next to slow_start.
942 Increase tolerance for final wait.
943
9442023-03-03 Alexandre Oliva <oliva@adacore.com>
945
946 * testsuite/libstdc++-prettyprinters/80276.cc: Add
947 std::string to debug info.
948 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
949
9502023-03-03 Alexandre Oliva <oliva@adacore.com>
951
952 PR libstdc++/104852
953 PR libstdc++/95989
954 PR libstdc++/52590
955 * include/bits/std_thread.h (thread::_M_thread_deps): New
956 static implicitly-inline member function.
957 (std::thread template ctor): Pass it to _M_start_thread.
958 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
959 parameter, force it live on entry.
960
9612023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
962
963 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
964 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
965 Likewise.
966 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
967 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
968 Likewise.
969
c88a7c63
GA
9702023-03-01 Jonathan Wakely <jwakely@redhat.com>
971
972 * include/bits/cow_string.h: Fix typo in comment.
973
9742023-03-01 Jonathan Wakely <jwakely@redhat.com>
975
976 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
977 current time zone cannot be determined.
978 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
979 HAVE_TZDB macro and test all members unconditionally.
980
6f9e2f14
GA
9812023-02-28 Jonathan Wakely <jwakely@redhat.com>
982
983 PR libstdc++/108952
984 * include/bits/uses_allocator_args.h
985 (uses_allocator_construction_args): Implement LWG 3527.
986 * testsuite/20_util/pair/astuple/get-2.cc: New test.
987 * testsuite/20_util/scoped_allocator/108952.cc: New test.
988 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
989
9902023-02-28 Jonathan Wakely <jwakely@redhat.com>
991
992 PR libstdc++/108846
993 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
994 Add __assign_one static member function.
995 (__copy_move<true, false, RA>): Likewise.
996 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
997 value.
998 (__copy_move_backward<IsMove, true, RA>): Likewise.
999 * testsuite/25_algorithms/copy/108846.cc: New test.
1000 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
1001 * testsuite/25_algorithms/copy_n/108846.cc: New test.
1002 * testsuite/25_algorithms/move/108846.cc: New test.
1003 * testsuite/25_algorithms/move_backward/108846.cc: New test.
1004
10052023-02-28 Jonathan Wakely <jwakely@redhat.com>
1006
1007 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
1008 attributes.
1009
bf0e0fc0
GA
10102023-02-27 Jonathan Wakely <jwakely@redhat.com>
1011
1012 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
1013 caveat to comment.
1014 * include/bits/basic_string.h (resize_and_overwrite): Add
1015 doxygen comment.
1016
43411063
GA
10172023-02-24 Matthias Kretz <m.kretz@gsi.de>
1018
1019 * include/experimental/bits/simd.h: Line breaks and indenting
1020 fixed to follow the libstdc++ standard.
1021 * include/experimental/bits/simd_builtin.h: Likewise.
1022 * include/experimental/bits/simd_fixed_size.h: Likewise.
1023 * include/experimental/bits/simd_neon.h: Likewise.
1024 * include/experimental/bits/simd_ppc.h: Likewise.
1025 * include/experimental/bits/simd_scalar.h: Likewise.
1026 * include/experimental/bits/simd_x86.h: Likewise.
1027
10282023-02-24 Matthias Kretz <m.kretz@gsi.de>
1029
1030 PR libstdc++/108030
1031 * include/experimental/bits/simd_fixed_size.h
1032 (_SimdImplFixedSize::_S_broadcast): Replace inline with
1033 _GLIBCXX_SIMD_INTRINSIC.
1034 (_SimdImplFixedSize::_S_generate): Likewise.
1035 (_SimdImplFixedSize::_S_load): Likewise.
1036 (_SimdImplFixedSize::_S_masked_load): Likewise.
1037 (_SimdImplFixedSize::_S_store): Likewise.
1038 (_SimdImplFixedSize::_S_masked_store): Likewise.
1039 (_SimdImplFixedSize::_S_min): Likewise.
1040 (_SimdImplFixedSize::_S_max): Likewise.
1041 (_SimdImplFixedSize::_S_complement): Likewise.
1042 (_SimdImplFixedSize::_S_unary_minus): Likewise.
1043 (_SimdImplFixedSize::_S_plus): Likewise.
1044 (_SimdImplFixedSize::_S_minus): Likewise.
1045 (_SimdImplFixedSize::_S_multiplies): Likewise.
1046 (_SimdImplFixedSize::_S_divides): Likewise.
1047 (_SimdImplFixedSize::_S_modulus): Likewise.
1048 (_SimdImplFixedSize::_S_bit_and): Likewise.
1049 (_SimdImplFixedSize::_S_bit_or): Likewise.
1050 (_SimdImplFixedSize::_S_bit_xor): Likewise.
1051 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
1052 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
1053 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
1054 explicit about not always-inline, yet).
1055 (_SimdImplFixedSize::_S_isinf): Likewise.
1056 (_SimdImplFixedSize::_S_isfinite): Likewise.
1057 (_SimdImplFixedSize::_S_isnan): Likewise.
1058 (_SimdImplFixedSize::_S_isnormal): Likewise.
1059 (_SimdImplFixedSize::_S_signbit): Likewise.
1060
10612023-02-24 Matthias Kretz <m.kretz@gsi.de>
1062
1063 PR libstdc++/108856
1064 * include/experimental/bits/simd_builtin.h
1065 (_SimdImplBuiltin::_S_masked_unary): More efficient
1066 implementation of masked inc-/decrement for integers and floats
1067 without AVX2.
1068 * include/experimental/bits/simd_x86.h
1069 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
1070 builtins for masked inc-/decrement.
1071
10722023-02-24 Jonathan Wakely <jwakely@redhat.com>
1073
1074 * include/experimental/executor (executor): Constrain template
1075 constructors.
1076
10772023-02-24 Jonathan Wakely <jwakely@redhat.com>
1078
1079 * include/experimental/internet (basic_endpoint): Add missing
1080 constexpr to comparison operators.
1081 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
1082
10832023-02-24 Jonathan Wakely <jwakely@redhat.com>
1084
1085 * include/experimental/internet (network_v4::netmask()): Avoid
1086 undefined shift.
1087 (network_v4::broadcast()): Optimize and fix for targets with
1088 uint_least32_t wider than 32 bits.
1089 (network_v4::to_string(const Allocator&)): Fix for custom
1090 allocators and optimize using to_chars.
1091 (operator==(const network_v4&, const network_v4&)): Add missing
1092 constexpr.
1093 (operator==(const network_v6&, const network_v6&)): Likewise.
1094 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
1095 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
1096
10972023-02-24 Jonathan Wakely <jwakely@redhat.com>
1098
1099 * include/experimental/internet (address_4(const bytes_type&)):
1100 Use __builtin_bit_cast if available, otherwise convert to
1101 network byte order.
1102 (address_v4::to_bytes()): Likewise, but convert from network
1103 byte order.
1104 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
1105 incorrect tests. Check for constexpr too.
1106 * testsuite/experimental/net/internet/address/v4/creation.cc:
1107 Likewise.
1108 * testsuite/experimental/net/internet/address/v4/members.cc:
1109 Check that bytes_type is a standard-layout type.
1110
11112023-02-24 Jonathan Wakely <jwakely@redhat.com>
1112
1113 * include/experimental/internet (address_v4::to_string):
1114 Optimize.
1115 * testsuite/experimental/net/internet/address/v4/members.cc:
1116 Check more addresses.
1117
11182023-02-24 Jonathan Wakely <jwakely@redhat.com>
1119
1120 * include/ext/aligned_buffer.h (__aligned_buffer): Add
1121 diagnostic pragmas.
1122
11232023-02-24 Jonathan Wakely <jwakely@redhat.com>
1124
1125 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
1126 before dg-do.
1127
e2b20ed3
GA
11282023-02-23 Matthias Kretz <m.kretz@gsi.de>
1129
1130 * testsuite/experimental/simd/tests/reductions.cc: Introduce
1131 max_distance as the type-dependent max error.
1132
11332023-02-23 Matthias Kretz <m.kretz@gsi.de>
1134
1135 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
1136 int. The actual range of these indexes is very small.
1137
11382023-02-23 Matthias Kretz <m.kretz@gsi.de>
1139
1140 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
1141 (_S_bit_shift_right): Declare constexpr. The implementation was
1142 already expecting constexpr evaluation.
1143
11442023-02-23 Matthias Kretz <m.kretz@gsi.de>
1145
1146 PR libstdc++/108030
1147 * include/experimental/bits/simd_detail.h
1148 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
1149 __clang__.
1150
11512023-02-23 Matthias Kretz <m.kretz@gsi.de>
1152
1153 PR libstdc++/108030
1154 * include/experimental/bits/simd.h (__vector_broadcast):
1155 Implement via __vector_broadcast_impl instead of
1156 __call_with_n_evaluations + 2 lambdas.
1157 (__vector_broadcast_impl): New.
1158
b6f98991
GA
11592023-02-22 Alexandre Oliva <oliva@adacore.com>
1160
1161 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
1162 Avoid destruction of the mutex pool.
1163
11642023-02-22 Alexandre Oliva <oliva@adacore.com>
1165
1166 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
1167 on vxworks.
1168 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
1169 Likewise.
1170
11712023-02-22 Alexandre Oliva <oliva@adacore.com>
1172
1173 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
1174 kernel mode.
1175
65c64105
GA
11762023-02-20 Andreas Schwab <schwab@linux-m68k.org>
1177
1178 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1179
11802023-02-20 Matthias Kretz <m.kretz@gsi.de>
1181
1182 * include/experimental/bits/simd.h (__extract_part, split):
1183 Use reserved name for template parameter.
1184
11852023-02-20 Andreas Schwab <schwab@suse.de>
1186
1187 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
1188
0263e9d5
GA
11892023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
1190
1191 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
1192 * doc/html/faq.html: Regenerate.
1193
88cc4495
GA
11942023-02-16 Matthias Kretz <m.kretz@gsi.de>
1195
1196 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
1197 between scalars requires the __bit_cast helper function instead
1198 of simd_bit_cast.
1199
12002023-02-16 Matthias Kretz <m.kretz@gsi.de>
1201
1202 * include/experimental/bits/simd_x86.h
1203 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
1204 (_SimdImplX86::_S_less_equal): Do not call
1205 __builtin_is_constant_evaluated in constexpr-if.
1206
12072023-02-16 Matthias Kretz <m.kretz@gsi.de>
1208
1209 * testsuite/experimental/simd/tests/bits/verify.h
1210 (verify::verify): Use %zx for size_t in format string.
1211
12122023-02-16 Matthias Kretz <m.kretz@gsi.de>
1213
1214 * testsuite/experimental/simd/generate_makefile.sh: Generate and
1215 pre-compile pch.h, which includes all headers that do not depend
1216 on command-line macros.
1217 * testsuite/experimental/simd/tests/bits/main.h: New file.
1218 (iterate_abis, main): Moved from verify.h.
1219 * testsuite/experimental/simd/tests/bits/verify.h
1220 (iterate_abis, main): Moved to main.h.
1221 * testsuite/experimental/simd/tests/bits/conversions.h: Add
1222 include guard.
1223 (genHalfBits): Simplify.
1224 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
1225 guard.
1226 (make_alternating_mask): Moved from mask_loadstore.
1227 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
1228 include guard.
1229 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
1230 * testsuite/experimental/simd/tests/mask_loadstore.cc
1231 (make_mask, make_alternating_mask): Removed.
1232 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
1233 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
1234 Removed.
1235 * testsuite/experimental/simd/tests/abs.cc: Only include
1236 bits/main.h.
1237 Ditto.
1238 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
1239 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
1240 * testsuite/experimental/simd/tests/casts.cc: Ditto.
1241 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
1242 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
1243 * testsuite/experimental/simd/tests/generator.cc: Ditto.
1244 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
1245 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
1246 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
1247 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
1248 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
1249 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
1250 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
1251 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
1252 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
1253 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
1254 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
1255 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
1256 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
1257 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
1258 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
1259 * testsuite/experimental/simd/tests/simd.cc: Ditto.
1260 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
1261 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
1262 * testsuite/experimental/simd/tests/splits.cc: Ditto.
1263 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
1264 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
1265 * testsuite/experimental/simd/tests/where.cc: Ditto.
1266
12672023-02-16 Matthias Kretz <m.kretz@gsi.de>
1268
1269 * testsuite/experimental/simd/README.md: Document the timeout
1270 and timeout-factor directives. Minor typo fixed.
1271
12722023-02-16 Matthias Kretz <m.kretz@gsi.de>
1273
1274 PR libstdc++/108030
1275 * include/experimental/bits/simd_detail.h: Define
1276 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
1277 * include/experimental/bits/simd.h: Annotate lambdas with
1278 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
1279 * include/experimental/bits/simd_builtin.h: Ditto.
1280 * include/experimental/bits/simd_converter.h: Ditto.
1281 * include/experimental/bits/simd_fixed_size.h: Ditto.
1282 * include/experimental/bits/simd_math.h: Ditto.
1283 * include/experimental/bits/simd_neon.h: Ditto.
1284 * include/experimental/bits/simd_x86.h: Ditto.
1285
12862023-02-16 Matthias Kretz <m.kretz@gsi.de>
1287
1288 * include/experimental/bits/simd.h
1289 (_SimdWrapper::_M_is_constprop_none_of)
1290 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
1291 computed result still satisfies __builtin_constant_p.
1292
12932023-02-16 Jonathan Wakely <jwakely@redhat.com>
1294
1295 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
1296 ellipsis character.
1297
12982023-02-16 Jonathan Wakely <jwakely@redhat.com>
1299
1300 * include/Makefile.am: Add new header.
1301 * include/Makefile.in: Regenerate.
1302 * include/experimental/synchronized_value: New file.
1303 * testsuite/experimental/synchronized_value.cc: New test.
1304
13052023-02-16 Jonathan Wakely <jwakely@redhat.com>
1306
1307 * include/experimental/optional: Fix header name in comment.
1308
13092023-02-16 Jonathan Wakely <jwakely@redhat.com>
1310
1311 * include/std/format (__format::_Arg_store): New class template.
1312 (basic_format_args): Remove nested type _Store and add deduction
1313 guide from _Arg_store.
1314 (basic_format_arg, make_format_args): Adjust.
1315 * testsuite/std/format/arguments/lwg3810.cc: New test.
1316
13172023-02-16 Jonathan Wakely <jwakely@redhat.com>
1318
1319 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
1320 constraints to constructors and add deleted overloads for the
1321 dangling cases, as per P2255R2.
1322 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
1323 make dangling cases ill-formed.
1324 * testsuite/20_util/pair/dangling_ref.cc: New test.
1325
13262023-02-16 Jonathan Wakely <jwakely@redhat.com>
1327
1328 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
1329
13302023-02-16 Jonathan Wakely <jwakely@redhat.com>
1331
1332 * include/ext/throw_allocator.h: Use reserved names for
1333 parameters.
1334
13352023-02-16 Jonathan Wakely <jwakely@redhat.com>
1336
1337 * testsuite/17_intro/names_pstl.cc: Add space after effective
1338 target name.
1339
13402023-02-16 Jonathan Wakely <jwakely@redhat.com>
1341
1342 * include/pstl/algorithm_fwd.h (__pattern_search_n)
1343 (__brick_unique_copy, __brick_adjacent_find)
1344 (__brick_generate_n, __pattern_generate_n): Use reserved names
1345 for parameters.
1346 * include/pstl/algorithm_impl.h (__brick_unique_copy)
1347 (__pattern_reverse, __brick_generate_n): Likewise.
1348 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
1349 (__prefer_parallel_tag): Likewise.
1350 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
1351 * include/pstl/glue_numeric_defs.h (adjacent_difference):
1352 Likewise.
1353 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
1354 Likewise.
1355 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
1356 * include/pstl/unseq_backend_simd.h (_Combiner)
1357 (__simd_min_element, __simd_minmax_element): Likewise.
1358 * testsuite/17_intro/names_pstl.cc: New test.
1359
13602023-02-16 Jonathan Wakely <jwakely@redhat.com>
1361
1362 * include/bits/fs_ops.h (create_directory): Use reserved name
1363 for parameter.
1364 * include/bits/ranges_algo.h (__contains_subrange_fn):
1365 Likewise.
1366 * include/bits/regex_automaton.h (_State_base::_M_print):
1367 Likewise.
1368 * include/bits/regex_automaton.tcc(_State_base::_M_print):
1369 Likewise.
1370 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
1371 * include/experimental/bits/fs_ops.h (create_directory):
1372 Likewise.
1373 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
1374 (recursive_timed_mutex:_M_clocklock): Likewise.
1375 * include/std/tuple (basic_common_reference): Likewise.
1376 * libsupc++/cxxabi_init_exception.h
1377 (__cxa_init_primary_exception): Likewise.
1378 * testsuite/17_intro/names.cc: Add checks.
1379
05467d08
GA
13802023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
1381
1382 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
1383 to www.open-std.org and https.
1384 * doc/html/manual/status.html: Regenerate.
1385
13862023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
1387
1388 PR libstdc++/103934
1389 * include/std/atomic (atomic_flag_wait): Add.
1390 (atomic_flag_wait_explicit): Add.
1391 (atomic_flag_notify): Add.
1392 (atomic_flag_notify_explicit): Add.
1393 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
1394 Add test case to cover missing atomic_flag free functions.
1395
13962023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
1397
1398 PR libstdc++/103934
1399 * include/std/atomic (atomic_flag_test): Add.
1400 (atomic_flag_test_explicit): Add.
1401 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
1402 test case to cover missing atomic_flag free functions.
1403 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
1404 Likewise.
1405
ae719781
GA
14062023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
1407
1408 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
1409 "The Component Object Model" reference.
1410 * doc/html/manual/policy_data_structures.html: Regenerate.
1411
22ba8570
GA
14122023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1413
1414 * doc/xml/manual/containers.xml: Tweak a link to N1780
1415 (C++ standard).
1416 * doc/html/manual/associative.html: Regenerate.
1417
14182023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1419
1420 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
1421 * doc/html/manual/facets.html: Regenerate.
1422
ee117887
GA
14232023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
1424
1425 * doc/xml/manual/policy_data_structures_biblio.xml: Update
1426 link to "Worst-case efficient priority queues".
1427 * doc/html/manual/policy_data_structures.html: Regenerate.
1428
f0e73dd0
GA
14292023-02-06 Arsen Arsenović <arsen@aarsen.me>
1430
1431 * doc/xml/manual/using.xml: Document newly-freestanding
1432 headers and the effect of the -ffreestanding flag.
1433 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
1434 completed.
1435 * doc/xml/manual/configure.xml: Document that hosted installs
1436 respect __STDC_HOSTED__.
1437 * doc/xml/manual/test.xml: Document how to run tests in
1438 freestanding mode.
1439 * doc/html/*: Regenerate.
1440
14412023-02-06 Jonathan Wakely <jwakely@redhat.com>
1442
1443 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
1444 (__find_last_if_fn): Likewise.
1445
14462023-02-06 Jonathan Wakely <jwakely@redhat.com>
1447
1448 * include/std/type_traits: Add diagnostic pragmas around
1449 references to deprecated std::aligned_storage and
1450 std::aligned_union traits.
1451 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
1452 Add dg-warning for et c++23.
1453 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
1454 Likewise.
1455 * testsuite/20_util/aligned_storage/value.cc: Likewise.
1456 * testsuite/20_util/aligned_union/1.cc: Likewise.
1457 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
1458 Likewise.
1459
14602023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
1461
1462 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
1463 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
1464 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
1465 * include/std/type_traits (aligned_storage, aligned_union)
1466 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
1467 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
1468 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
1469
14702023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
1471
1472 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
1473 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
1474 consistent with other 'deprecated' macros.
1475 * include/std/type_traits (is_pod, is_pod_v): Use
1476 _GLIBCXX20_DEPRECATED_SUGGEST instead.
1477
14782023-02-06 Arsen Arsenović <arsen@aarsen.me>
1479
1480 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
1481 * Makefile.in: Regenerate.
1482 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
1483 There's no history to be compatible with.
1484 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
1485 source files from the build.
1486 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1487 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1488 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1489 * src/Makefile.in: Regenerate.
1490 * src/c++11/Makefile.in: Regenerate.
1491 * src/c++17/Makefile.in: Regenerate.
1492 * src/c++20/Makefile.in: Regenerate.
1493 * src/c++98/Makefile.in: Regenerate.
1494
14952023-02-06 Jonathan Wakely <jwakely@redhat.com>
1496
1497 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
1498 filesystem, libbacktrace and experimental.
1499 * src/Makefile.in: Regenerate.
1500
057eb31b
GA
15012023-02-04 Hans-Peter Nilsson <hp@axis.com>
1502
1503 PR libstdc++/108672
1504 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
1505 instead of int32_t.
1506
15072023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
1508
1509 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
1510 * doc/html/manual/documentation_hacking.html: Regenerate.
1511
15122023-02-04 François Dumont <fdumont@gcc.gnu.org>
1513
1514 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
1515 storage to the move-from instance when allocators are equal.
1516 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
1517 New test case.
1518
49e52115
GA
15192023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
1520
1521 * config/os/gnu-linux/os_defines.h [!__linux__]
1522 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
1523
15242023-02-03 Patrick Palka <ppalka@redhat.com>
1525
1526 * include/bits/ranges_algo.h (__find_last_fn, find_last):
1527 Define.
1528 (__find_last_if_fn, find_last_if): Define.
1529 (__find_last_if_not_fn, find_last_if_not): Define.
1530 * testsuite/25_algorithms/find_last/1.cc: New test.
1531 * testsuite/25_algorithms/find_last_if/1.cc: New test.
1532 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
1533
15342023-02-03 Patrick Palka <ppalka@redhat.com>
1535
1536 * include/bits/ranges_algo.h (out_value_result): Define.
1537 (iota_result): Define.
1538 (__iota_fn, iota): Define.
1539 * testsuite/25_algorithms/iota/1.cc: New test.
1540
15412023-02-03 Patrick Palka <ppalka@redhat.com>
1542
1543 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
1544 (__contains_subrange_fn, contains_subrange): Define.
1545 * testsuite/25_algorithms/contains/1.cc: New test.
1546 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
1547
a37a0cb3
GA
15482023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1549
1550 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
1551 * doc/html/manual/abi.html: Regenerate.
1552
15532023-02-02 Jonathan Wakely <jwakely@redhat.com>
1554
1555 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
1556 errc::function_not_supported instead of errc::not_supported.
1557
15582023-02-02 Jonathan Wakely <jwakely@redhat.com>
1559
1560 * include/std/sstream (basic_stringbuf::view): Define for old
1561 std::string ABI.
1562 (basic_istringstream::view, basic_0stringstream::view)
1563 (basic_stringstream::view): Likewise.
1564 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
1565 { dg-require-effective-target cxx11_abi }.
1566 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
1567 Likewise.
1568 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
1569 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
1570 Likewise.
1571 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
1572 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
1573 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
1574 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
1575 Likewise.
1576
15772023-02-02 Jonathan Wakely <jwakely@redhat.com>
1578
1579 PR libstdc++/108636
1580 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
1581 conversion operators for directory iterator comparisons with
1582 std::default_sentinel_t.
1583 * include/bits/fs_path.h (path::path(string_view, _Type))
1584 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
1585 definitions to ...
1586 * src/c++17/fs_path.cc: ... here.
1587 * testsuite/27_io/filesystem/path/108636.cc: New test.
1588
15892023-02-02 Jonathan Wakely <jwakely@redhat.com>
1590
1591 * include/std/variant (variant::operator=): Implement resolution
1592 of LWG 3585.
1593 * testsuite/20_util/variant/lwg3585.cc: New test.
1594
15952023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1596
1597 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
1598 link to https.
1599 * doc/html/manual/using_exceptions.html: Regenerate.
1600
16012023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1602
1603 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
1604 * doc/html/manual/debug.html: Regenerate.
1605
0a251e74
GA
16062023-02-01 Jonathan Wakely <jwakely@redhat.com>
1607
1608 * src/c++11/random.cc (random_device::_M_fini): Do not try to
1609 close the file handle if the target doesn't support the
1610 /dev/random and /dev/urandom files.
1611
16122023-02-01 Jonathan Wakely <jwakely@redhat.com>
1613
1614 * config/os/generic/error_constants.h (errc::value_too_large)
1615 [__AVR__]: Define.
1616 * src/c++11/system_error.cc
1617 (system_category::default_error_condition) [__AVR__]: Only match
1618 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
1619 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
1620 for ENOENT etc. in switch.
1621 (fs::remove_all) [__AVR__]: Likewise.
1622 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
1623 close etc.
1624
16252023-02-01 Jonathan Wakely <jwakely@redhat.com>
1626
1627 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
1628 embed_zoneinfo=no
1629 * configure: Regenerate.
1630
16312023-02-01 Hans-Peter Nilsson <hp@axis.com>
1632
1633 PR testsuite/108632
1634 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
1635 struct at end of S0.
1636
897a0502
GA
16372023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
1638
1639 * doc/xml/manual/shared_ptr.xml: Move links from both
1640 http://open-std.org and http://www.open-std.org to
1641 https://www.open-std.org.
1642 * doc/html/manual/memory.html: Regenerate.
1643
ee2c965e
GA
16442023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1645
1646 * doc/xml/manual/appendix_contributing.xml: Adjust link to
1647 ISO C++ standard at ANSI.
1648 Move link to www.open-std.org to https.
1649 * doc/html/manual/appendix_contributing.html: Regenerate.
1650
16512023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1652
1653 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
1654 links to https.
1655 * doc/html/manual/documentation_hacking.html: Regenerate.
1656
16572023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1658
1659 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
1660 * doc/html/manual/abi.html: Regenerate.
1661
338eb0f0
GA
16622023-01-27 Jakub Jelinek <jakub@redhat.com>
1663
1664 PR libstdc++/108568
1665 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
1666 include features.h if present and then check __GLIBC__ and
1667 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
1668 __GLIBC_PREREQ which isn't defined yet.
1669
16702023-01-27 Jonathan Wakely <jwakely@redhat.com>
1671
1672 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
1673 string literal.
1674
16752023-01-27 Jonathan Wakely <jwakely@redhat.com>
1676
1677 PR libstdc++/108554
1678 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
1679
2371d100
GA
16802023-01-26 Jonathan Wakely <jwakely@redhat.com>
1681
1682 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
1683 rules named "+" for compatibility with older tzdata.zi files.
1684
16852023-01-26 Jonathan Wakely <jwakely@redhat.com>
1686
1687 PR libstdc++/108554
1688 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
1689 nonnull attribute.
1690 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
1691 attributes.
1692 * testsuite/23_containers/map/modifiers/108554.cc: New test.
1693
16942023-01-26 Jonathan Wakely <jwakely@redhat.com>
1695
1696 PR libstdc++/108530
1697 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
1698 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
1699
17002023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
1701
1702 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
1703 use https.
1704 * doc/html/manual/bugs.html: Regenerate.
1705
0fa22168
GA
17062023-01-24 Jonathan Wakely <jwakely@redhat.com>
1707
1708 PR libstdc++/108530
1709 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
1710 /etc/sysconfig/clock.
1711
17122023-01-24 Jonathan Wakely <jwakely@redhat.com>
1713
1714 PR libstdc++/102301
1715 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
1716 std::make_reverse_iterator.
1717 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
1718 (make_from_tuple): Add static assertion from P2255 to diagnose
1719 dangling references.
1720 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
1721 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
1722
607f278a
GA
17232023-01-23 François Dumont <fdumont@gcc.gnu.org>
1724
1725 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
1726 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
1727 (_Safe_iterator::operator++(int)): Use latter.
1728 (_Safe_iterator::operator--(int)): Likewise.
1729 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
1730 check.
1731 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
1732 New.
1733 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
1734 (_Safe_local_iterator::operator++(int)): Use latter.
1735 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
1736 entry associated to the array entry.
1737
9f98cfa5
GA
17382023-01-18 Jonathan Wakely <jwakely@redhat.com>
1739
1740 * include/bits/fs_path.h (u8path): Add deprecated attribute.
1741 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
1742 -Wno-deprecated-declarations for C++20 and later.
1743 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
1744 Likewise.
1745 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
1746 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
1747 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
1748
17492023-01-18 Jonathan Wakely <jwakely@redhat.com>
1750
1751 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
1752 Always call _M_fini and _M_getentropy.
1753
17542023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
1755
1756 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
1757 to www.open-std.org to use https.
1758 (COM: Component Model Object Technologies): Rename from...
1759 (The Component Object Model): ...to.
1760 * doc/html/manual/policy_data_structures.html: Regenerate.
1761
17622023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
1763
1764 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
1765 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
1766 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
1767
8d07b193
GA
17682023-01-17 Jonathan Wakely <jwakely@redhat.com>
1769
1770 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
1771 of $host. Fix check for file being present during native build.
1772 * configure: Regenerate.
1773
17742023-01-17 Martin Liska <mliska@suse.cz>
1775
1776 * src/libbacktrace/Makefile.in: Regenerate.
1777
f457a62e
GA
17782023-01-16 Jonathan Wakely <jwakely@redhat.com>
1779
1780 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
1781
17822023-01-16 Jonathan Wakely <jwakely@redhat.com>
1783
1784 PR libstdc++/108413
1785 * include/c_compatibility/stdatomic.h: Change copyright line to
1786 be consistent with other headers contributed under DCO terms.
1787 * include/std/expected: Add full stop to copyright line.
1788 * src/c++20/tzdb.cc: Likewise.
1789
cc44e55e
GA
17902023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
1791
1792 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
1793 https.
1794 * doc/xml/manual/status_cxx2017.xml: Ditto.
1795 * doc/xml/manual/status_cxx2020.xml: Ditto.
1796 * doc/xml/manual/status_cxx2023.xml: Ditto.
1797 * doc/html/manual/status.html: Regenerate.
1798
17992023-01-15 Jonathan Wakely <jwakely@redhat.com>
1800
1801 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
1802 and fail gracefully if defining the weak symbol doesn't work.
1803
18042023-01-15 François Dumont <fdumont@gcc.gnu.org>
1805
1806 PR libstdc++/108288
1807 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
1808 fix to other iterator category.
1809 (_Safe_iterator<>::operator--(int)): Likewise.
1810 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
1811 Fix deadlock.
1812 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
1813 (invalid_local_iterator_post_increment): New.
1814 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
1815 New test.
1816 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
1817 New test.
1818
18192023-01-15 Jonathan Wakely <jwakely@redhat.com>
1820
1821 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
1822 dg-options.
1823
18242023-01-15 Jonathan Wakely <jwakely@redhat.com>
1825
1826 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
1827
5013c3bb
GA
18282023-01-14 Björn Schäpers <bjoern@hazardy.de>
1829
1830 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
1831 windows.h. Add pecoff as FORMAT_FILE.
1832 * config.h.in: Regenerate.
1833 * configure: Regenerate.
1834 * src/libbacktrace/Makefile.am: Regenerate.
1835 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
1836
18372023-01-14 Björn Schäpers <bjoern@hazardy.de>
1838
1839 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
1840 raw __name if __cxa_demangle could not demangle it.
1841
18422023-01-14 Jonathan Wakely <jwakely@redhat.com>
1843
1844 PR libstdc++/108409
1845 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
1846 variable.
1847
18482023-01-14 Jonathan Wakely <jwakely@redhat.com>
1849
1850 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
1851 loading tzdb.
1852 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
1853 effective target.
1854 * testsuite/std/time/tzdb_list/1.cc: Likewise.
1855
18562023-01-14 Jonathan Wakely <jwakely@redhat.com>
1857
1858 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
1859 --with-libstdcxx-zoneinfo-dir configure option with
1860 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
1861 a directory.
1862 * config.h.in: Regenerate.
1863 * configure: Regenerate.
1864 * doc/xml/manual/configure.xml: Document configure option.
1865 * doc/html/manual/configure.html: Regenerate.
1866 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
1867 * src/c++20/Makefile.in: Regenerate.
1868 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
1869 null pointer if no directory is configured.
1870 (zoneinfo_dir): Replace with ...
1871 (zoneinfo_file): New function.
1872 (tzdata_stream): New istream class.
1873 (remote_version, reload_tzdb): Use tzdata_stream.
1874 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
1875 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
1876 tzdata.zi file in default location.
1877 * src/c++20/tzdata.zi: New file.
1878
18792023-01-14 Jonathan Wakely <jwakely@redhat.com>
1880
1881 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
1882 * testsuite/std/time/month_day/io.cc: New test.
1883 * testsuite/std/time/month_day_last/io.cc: New test.
1884 * testsuite/std/time/month_weekday/io.cc: New test.
1885 * testsuite/std/time/month_weekday_last/io.cc: New test.
1886 * testsuite/std/time/weekday_indexed/io.cc: New test.
1887 * testsuite/std/time/weekday_last/io.cc: New test.
1888 * testsuite/std/time/year_month/io.cc: New test.
1889 * testsuite/std/time/year_month_day_last/io.cc: New test.
1890 * testsuite/std/time/year_month_weekday/io.cc: New test.
1891 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
1892
18932023-01-14 François Dumont <fdumont@gcc.gnu.org>
1894
1895 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
1896 specifications.
1897 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
1898 export.
1899
19002023-01-13 Jonathan Wakely <jwakely@redhat.com>
1901
1902 * include/bits/std_mutex.h: Include <errno.h>.
1903
19042023-01-13 Arsen Arsenović <arsen@aarsen.me>
1905
1906 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
1907 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
1908 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
1909 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
1910 std::make_unique with a freestanding-compatible wrapper around
1911 unique_ptr.
1912 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
1913 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
1914 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
1915 Ditto.
1916 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
1917 of __cpp_lib_ranges in !HOSTED.
1918
19192023-01-13 Arsen Arsenović <arsen@aarsen.me>
1920
1921 * include/Makefile.am: Install bits/char_traits.h,
1922 std/string_view
1923 * include/Makefile.in: Regenerate.
1924 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
1925 mbstate-only bits behind appropriate #ifs.
1926 * include/std/string_view: Gate <iostream> functionality behind
1927 HOSTED.
1928 * include/std/version: Enable __cpp_lib_constexpr_string_view
1929 and __cpp_lib_starts_ends_with in !HOSTED.
1930 * include/std/ranges: Re-enable __is_basic_string_view on
1931 freestanding, include <string_view> directly.
1932 * include/precompiled/stdc++.h: Include <string_view> when
1933 !HOSTED too.
1934 * testsuite/20_util/function_objects/searchers.cc: Skip testing
1935 boyer_moore searchers on freestanding
1936 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
1937 <string>-related tests behind __STDC_HOSTED__.
1938 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
1939 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
1940 unused <stdexcept> include.
1941 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
1942 unused <vector> include.
1943 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
1944 Guard <string> related testing behind __STDC_HOSTED__.
1945 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
1946 Guard <stdexcept> related tests behind __STDC_HOSTED__.
1947 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1948 Ditto.
1949 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1950 Guard <stdexcept> tests behind __STDC_HOSTED__.
1951 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
1952 Enable test on freestanding, guard <stdexcept> bits behind
1953 __STDC_HOSTED__.
1954 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
1955 Guard <stdexcept> bits behind __STDC_HOSTED__.
1956 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
1957 Ditto.
1958
19592023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
1960
1961 PR libstdc++/86419
1962 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
1963 errors in incomplete multibyte sequences.
1964 (utf16_in): Remove surrogates parameter. Fix conditions for
1965 returning partial.
1966 (utf16_out): Fix condition for returning partial.
1967 (ucs2_in): Do not pass surrogates argument to utf16_in.
1968 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
1969 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
1970 tests.
1971 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
1972 test.
1973
19742023-01-13 Jonathan Wakely <jwakely@redhat.com>
1975
1976 PR libstdc++/108331
1977 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
1978 __GTHREAD_LEGACY_MUTEX_T if defined.
1979
ecd637e9
GA
19802023-01-13 Jonathan Wakely <jwakely@redhat.com>
1981
1982 PR libstdc++/108327
1983 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
1984 Export __try_use_facet specializations for facets in namespace
1985 __gnu_cxx_ldbl128.
1986 * config/os/gnu-linux/ldbl-ieee128-extra.ver
1987 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
1988 __gnu_cxx_ieee128.
1989 * testsuite/util/testsuite_abi.cc: Add to lists of known and
1990 latest versions.
1991
19922023-01-13 Jonathan Wakely <jwakely@redhat.com>
1993
1994 * include/bits/std_mutex.h: Remove <system_error> include.
1995 * include/std/condition_variable: Add <bits/error_constants.h>
1996 include.
1997 * include/std/mutex: Likewise.
1998 * include/std/shared_mutex: Likewise.
1999
20002023-01-12 Jonathan Wakely <jwakely@redhat.com>
2001
2002 PR libstdc++/77691
2003 * include/experimental/memory_resource
2004 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
2005 (do_allocate, do_deallocate): Check it.
2006 * testsuite/experimental/memory_resource/new_delete_resource.cc:
2007 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
2008
20092023-01-12 Jonathan Wakely <jwakely@redhat.com>
2010
2011 * doc/xml/manual/abi.xml: Add latest library versions.
2012 * doc/html/manual/abi.html: Regenerate.
2013
20142023-01-12 François Dumont <fdumont@gcc.gnu.org>
2015
2016 PR libstdc++/107189
2017 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
2018 unused _Alloc_node instance.
2019
20202023-01-12 Jonathan Wakely <jwakely@redhat.com>
2021
2022 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
2023 Define as unsigned long if always lock-free, and unsigned int
2024 otherwise.
2025
f432ad09
GA
20262023-01-10 Jonathan Wakely <jwakely@redhat.com>
2027
2028 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
2029 __catch macros for exception handling.
2030
20312023-01-10 Jonathan Wakely <jwakely@redhat.com>
2032
2033 PR libstdc++/108221
2034 * include/bits/stl_algobase.h (__lg): Replace six overloads with
2035 a single function template for all integer types.
2036 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
2037 arithmetic results back to _Distance.
2038
20392023-01-10 Jonathan Wakely <jwakely@redhat.com>
2040
2041 PR libstdc++/108221
2042 * include/std/span (span::span()): Un-simplify constraint to
2043 work for size_t of lesser rank than int.
2044
d901bf8a
GA
20452023-01-07 LIU Hao <lh_mouse@126.com>
2046
2047 PR middle-end/108300
2048 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
2049 <windows.h>.
2050 * src/c++11/thread.cc: Likewise.
2051 * src/c++17/fs_ops.cc: Likewise.
2052 * src/filesystem/ops.cc: Likewise.
2053
d808db1f
GA
20542023-01-06 Jonathan Wakely <jwakely@redhat.com>
2055
2056 PR libstdc++/108228
2057 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
2058
20592023-01-06 Jonathan Wakely <jwakely@redhat.com>
2060
2061 PR libstdc++/108235
2062 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
2063 template and partial specialization for synchronizing access to
2064 time_zone::_Impl::infos.
2065 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
2066 rules_counter.
2067
20682023-01-06 Patrick Palka <ppalka@redhat.com>
2069
2070 PR libstdc++/108260
2071 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
2072 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
2073 (__cpp_lib_ranges_chunk): Likewise.
2074 (__cpp_lib_ranges_slide): Likewise.
2075 (__cpp_lib_ranges_chunk_by): Likewise.
2076 (__cpp_lib_ranges_join_with): Likewise.
2077 (__cpp_lib_ranges_repeat): Likewise.
2078 (__cpp_lib_ranges_stride): Likewise.
2079 (__cpp_lib_ranges_cartesian_product): Likewise.
2080 (__cpp_lib_ranges_as_rvalue): Likewise.
2081 * include/std/version: Ditto.
2082 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
2083 feature-test macro.
2084 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
2085 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
2086 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
2087 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
2088 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
2089 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
2090 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
2091 * testsuite/std/ranges/repeat/1.cc: Likewise.
2092 * testsuite/std/ranges/zip/1.cc: Likewise.
2093 * testsuite/std/ranges/version_c++23.cc: New test.
2094
20952023-01-06 Jonathan Wakely <jwakely@redhat.com>
2096
2097 PR libstdc++/108214
2098 * include/std/bitset (operator>>): Use alloca in the right
2099 scope, not in a constructor.
2100 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
2101
21022023-01-06 Jonathan Wakely <jwakely@redhat.com>
2103
2104 PR libstdc++/108221
2105 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
2106 Disable visiting floating-point types.
2107
21082023-01-06 Jonathan Wakely <jwakely@redhat.com>
2109
2110 PR libstdc++/108288
2111 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
2112 (_Safe_iterator::operator--(int)): Do not hold lock around
2113 construction of return value.
2114
53ef7c1d
GA
21152023-01-05 John David Anglin <danglin@gcc.gnu.org>
2116
2117 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
2118 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
2119 lock release. Revise loop.
2120 (__atomic_add): Likewise.
2121
21222023-01-05 Jonathan Wakely <jwakely@redhat.com>
2123
2124 PR libstdc++/108212
2125 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
2126 variable.
2127 (StdChronoTimePointPrinter::to_string): Use it.
2128
21292023-01-05 Jonathan Wakely <jwakely@redhat.com>
2130
2131 PR libstdc++/108290
2132 * include/std/functional (_Bind_front): Add no_unique_address
2133 attribute to data members.
2134 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
2135 size of call wrappers with empty types for targets and bound
2136 arguments.
2137
21382023-01-05 Jonathan Wakely <jwakely@redhat.com>
2139
2140 PR libstdc++/108211
2141 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
2142 using only last component of the name.
2143
21442023-01-05 Jonathan Wakely <jwakely@redhat.com>
2145
2146 PR libstdc++/108228
2147 PR libstdc++/108235
2148 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
2149 the latest symbol version.
2150 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
2151 atomic<_Node*> is not always lock free.
2152 (USE_ATOMIC_LIST_HEAD): New macro.
2153 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
2154 definition of weak symbol.
2155 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
2156 (tzdb_list::_Node::_S_list_head): New function for accessing
2157 list head efficiently.
2158 (tzdb_list::_Node::_S_cache_list_head): New function for
2159 updating _S_list_head.
2160
21612023-01-05 Jonathan Wakely <jwakely@redhat.com>
2162
2163 PR libstdc++/108265
2164 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
2165 duration rep is unsigned.
2166 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
2167
faccda27
GA
21682023-01-04 Iain Sandoe <iain@sandoe.co.uk>
2169
2170 PR libstdc++/108228
2171 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
2172 Add __gnu_cxx::zoneinfo_dir_override().
2173
21742023-01-04 Jonathan Wakely <jwakely@redhat.com>
2175
2176 PR libstdc++/108258
2177 * include/std/array (__array_traits<T, 0>::operator T*()): Add
2178 constexpr.
2179 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
2180 std::array<T, 0>::data().
2181
b4df5e92 2182\f
d64f8779 2183Copyright (C) 2023 Free Software Foundation, Inc.
b4df5e92
JW
2184
2185Copying and distribution of this file, with or without modification,
2186are permitted in any medium without royalty provided the copyright
2187notice and this notice are preserved.