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