]>
Commit | Line | Data |
---|---|---|
a91c0d05 GA |
1 | 2023-02-02 Jonathan Wakely <jwakely@redhat.com> |
2 | ||
3 | Backported from master: | |
4 | 2023-02-01 Jonathan Wakely <jwakely@redhat.com> | |
5 | ||
6 | * src/c++11/random.cc (random_device::_M_fini): Do not try to | |
7 | close the file handle if the target doesn't support the | |
8 | /dev/random and /dev/urandom files. | |
9 | ||
10 | 2023-02-02 Jonathan Wakely <jwakely@redhat.com> | |
11 | ||
12 | Backported from master: | |
13 | 2023-02-01 Jonathan Wakely <jwakely@redhat.com> | |
14 | ||
15 | * config/os/generic/error_constants.h (errc::value_too_large) | |
16 | [__AVR__]: Define. | |
17 | * src/c++11/system_error.cc | |
18 | (system_category::default_error_condition) [__AVR__]: Only match | |
19 | recognize values equal to EDOM, ERANGE, ENOSYS and EINTR. | |
20 | * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check | |
21 | for ENOENT etc. in switch. | |
22 | (fs::remove_all) [__AVR__]: Likewise. | |
23 | * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open, | |
24 | close etc. | |
25 | ||
26 | 2023-02-02 Patrick Palka <ppalka@redhat.com> | |
27 | ||
28 | Backported from master: | |
29 | 2022-11-06 Patrick Palka <ppalka@redhat.com> | |
30 | ||
31 | * include/bits/atomic_wait.h (_detail::__platform_wait_alignment): | |
32 | Declare inline. Remove redundant static specifier. | |
33 | (__detail::__atomic_spin_count_relax): Declare inline. | |
34 | (__detail::__atomic_spin_count): Likewise. | |
35 | * include/bits/regex_automaton.h (__detail::_S_invalid_state_id): | |
36 | Declare inline for C++17. Declare constexpr. Remove | |
37 | redundant const and static specifiers. | |
38 | * include/bits/regex_error.h (regex_constants::error_collate): | |
39 | Declare inline for C++17 as per P0607R0. | |
40 | (regex_constants::error_ctype): Likewise. | |
41 | (regex_constants::error_escape): Likewise. | |
42 | (regex_constants::error_backref): Likewise. | |
43 | (regex_constants::error_brack): Likewise. | |
44 | (regex_constants::error_paren): Likewise. | |
45 | (regex_constants::error_brace): Likewise. | |
46 | (regex_constants::error_badbrace): Likewise. | |
47 | (regex_constants::error_range): Likewise. | |
48 | (regex_constants::error_space): Likewise. | |
49 | (regex_constants::error_badrepeat): Likewise. | |
50 | (regex_constants::error_complexity): Likewise. | |
51 | (regex_constants::error_stack): Likewise. | |
52 | * include/ext/concurrence.h (__gnu_cxx::__default_lock_policy): | |
53 | Likewise. Remove redundant static specifier. | |
54 | * include/pstl/execution_defs.h (execution::seq): Declare inline | |
55 | for C++17 as per P0607R0. | |
56 | (execution::par): Likewise. | |
57 | (execution::par_unseq): Likewise. | |
58 | (execution::unseq): Likewise. | |
59 | ||
61ef24af GA |
60 | 2023-01-18 Jonathan Wakely <jwakely@redhat.com> |
61 | ||
62 | Backported from master: | |
63 | 2022-12-22 Jonathan Wakely <jwakely@redhat.com> | |
64 | ||
65 | PR libstdc++/105730 | |
66 | * src/c++11/compatibility-condvar.cc (__nothrow_wait_cv::wait): | |
67 | Access private data member of base class and call its wait | |
68 | member. | |
69 | ||
e95fa8c0 GA |
70 | 2023-01-16 Jonathan Wakely <jwakely@redhat.com> |
71 | ||
72 | Backported from master: | |
73 | 2022-08-04 Jonathan Wakely <jwakely@redhat.com> | |
74 | ||
75 | PR libstdc++/106183 | |
76 | * include/bits/atomic_wait.h (__waiter_pool_base::_M_notify): | |
77 | Move increment of _M_ver here. | |
78 | [!_GLIBCXX_HAVE_PLATFORM_WAIT]: Lock mutex around increment. | |
79 | Use relaxed memory order and always notify all waiters. | |
80 | (__waiter_base::_M_do_wait) [!_GLIBCXX_HAVE_PLATFORM_WAIT]: | |
81 | Check value again after locking mutex. | |
82 | (__waiter_base::_M_notify): Remove increment of _M_ver. | |
83 | ||
e824a270 GA |
84 | 2023-01-05 Jonathan Wakely <jwakely@redhat.com> |
85 | ||
86 | Backported from master: | |
87 | 2023-01-05 Jonathan Wakely <jwakely@redhat.com> | |
88 | ||
89 | PR libstdc++/108265 | |
90 | * include/std/chrono (hh_mm_ss): Do not use chrono::abs if | |
91 | duration rep is unsigned. Remove incorrect noexcept-specifier. | |
92 | * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep. Check | |
93 | floating-point representations. Check default construction. | |
94 | ||
df5fb956 GA |
95 | 2022-12-21 Jonathan Wakely <jwakely@redhat.com> |
96 | ||
97 | Backported from master: | |
98 | 2022-11-23 Jonathan Wakely <jwakely@redhat.com> | |
99 | ||
100 | PR libstdc++/107814 | |
101 | * testsuite/experimental/filesystem/iterators/error_reporting.cc: | |
102 | Use a static buffer with space after it. | |
103 | ||
104 | 2022-12-21 Jonathan Wakely <jwakely@redhat.com> | |
105 | ||
106 | Backported from master: | |
107 | 2022-12-16 Jonathan Wakely <jwakely@redhat.com> | |
108 | ||
109 | * include/std/expected (expected::_M_swap_val_unex): Guard the | |
110 | correct object. | |
111 | (expected::swap): Move is_swappable | |
112 | requirement from static_assert to constraint. | |
113 | (swap): Likewise. | |
114 | (operator==): Remove noexcept-specifier. | |
115 | * testsuite/20_util/expected/swap.cc: Check swapping of | |
116 | types without non-throwing move constructor. Check constraints | |
117 | on swap. | |
118 | * testsuite/20_util/expected/unexpected.cc: Check constraints on | |
119 | swap. | |
120 | * testsuite/20_util/expected/equality.cc: New test. | |
121 | ||
6b8f4f74 GA |
122 | 2022-12-14 Jonathan Wakely <jwakely@redhat.com> |
123 | ||
124 | Backported from master: | |
125 | 2022-12-14 Jonathan Wakely <jwakely@redhat.com> | |
126 | ||
127 | PR libstdc++/108097 | |
128 | * include/std/stacktrace (basic_stracktrace::_Impl): Do not | |
129 | multiply N by sizeof(value_type) when allocating. | |
130 | ||
ed8d7eca GA |
131 | 2022-11-24 Jonathan Wakely <jwakely@redhat.com> |
132 | ||
133 | Backported from master: | |
134 | 2022-09-15 Jonathan Wakely <jwakely@redhat.com> | |
135 | ||
136 | * include/std/memory: Do not include <bits/stl_algobase.h>. | |
137 | ||
138 | 2022-11-24 Jonathan Wakely <jwakely@redhat.com> | |
139 | ||
140 | Backported from master: | |
141 | 2022-11-11 Jonathan Wakely <jwakely@redhat.com> | |
142 | ||
143 | * testsuite/20_util/tuple/swap.cc (MoveOnly::operator==): Add | |
144 | const qualifier. | |
145 | * testsuite/26_numerics/valarray/87641.cc (X::operator==): | |
146 | Likewise. | |
147 | ||
148 | 2022-11-24 Jonathan Wakely <jwakely@redhat.com> | |
149 | ||
150 | Backported from master: | |
151 | 2022-11-02 Jonathan Wakely <jwakely@redhat.com> | |
152 | ||
153 | * include/std/expected (expected::_M_invalid): Remove. | |
154 | ||
155 | 2022-11-24 Jonathan Wakely <jwakely@redhat.com> | |
156 | ||
157 | Backported from master: | |
158 | 2022-11-21 Jonathan Wakely <jwakely@redhat.com> | |
159 | ||
160 | * include/bits/chrono.h (duration): Check preconditions on | |
161 | template arguments before using them. | |
162 | ||
163 | 2022-11-24 Jonathan Wakely <jwakely@redhat.com> | |
164 | ||
165 | Backported from master: | |
166 | 2022-10-28 Jonathan Wakely <jwakely@redhat.com> | |
167 | ||
168 | * include/bits/fs_path.h (path::filename()): Fix dangling | |
169 | reference. | |
170 | ||
171 | 2022-11-24 Jonathan Wakely <jwakely@redhat.com> | |
172 | ||
173 | Backported from master: | |
174 | 2022-09-14 Jonathan Wakely <jwakely@redhat.com> | |
175 | ||
176 | * doc/xml/manual/intro.xml: Document LWG 1203. | |
177 | * doc/html/*: Regenerate. | |
178 | ||
179 | 2022-11-24 Jonathan Wakely <jwakely@redhat.com> | |
180 | ||
181 | Backported from master: | |
182 | 2022-09-07 Jonathan Wakely <jwakely@redhat.com> | |
183 | ||
184 | * include/std/barrier: Add missing runtime exception. | |
185 | ||
186 | 2022-11-24 Jonathan Wakely <jwakely@redhat.com> | |
187 | ||
188 | Backported from master: | |
189 | 2022-08-04 Jonathan Wakely <jwakely@redhat.com> | |
190 | ||
191 | * include/bits/fs_dir.h (directory_iterator): Add comparison | |
192 | with std::default_sentinel_t. Remove redundant operator!= for | |
193 | C++20. | |
194 | * (recursive_directory_iterator): Likewise. | |
195 | * include/bits/iterator_concepts.h [!__cpp_lib_concepts] | |
196 | (default_sentinel_t, default_sentinel): Define even if concepts | |
197 | are not supported. | |
198 | * include/bits/regex.h (regex_iterator): Add comparison with | |
199 | std::default_sentinel_t. Remove redundant operator!= for C++20. | |
200 | (regex_token_iterator): Likewise. | |
201 | (regex_token_iterator::_M_end_of_seq()): Add noexcept. | |
202 | * testsuite/27_io/filesystem/iterators/lwg3719.cc: New test. | |
203 | * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc: | |
204 | New test. | |
205 | * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc: | |
206 | New test. | |
207 | ||
208 | 2022-11-24 Jonathan Wakely <jwakely@redhat.com> | |
209 | ||
210 | Backported from master: | |
211 | 2022-09-23 Jonathan Wakely <jwakely@redhat.com> | |
212 | ||
213 | PR libstdc++/91456 | |
214 | * include/std/type_traits (__is_nothrow_invocable): Remove. | |
215 | (__is_invocable_impl::__nothrow_type): New member type which | |
216 | checks if the conversion can throw. | |
217 | (__is_nt_invocable_impl): Replace class template with alias | |
218 | template to __is_nt_invocable_impl::__nothrow_type. | |
219 | * testsuite/20_util/is_nothrow_invocable/91456.cc: New test. | |
220 | * testsuite/20_util/is_nothrow_convertible/value.cc: Remove | |
221 | macro used by value_ext.cc test. | |
222 | * testsuite/20_util/is_nothrow_convertible/value_ext.cc: Remove | |
223 | test for non-standard __is_nothrow_invocable trait. | |
224 | ||
04126a40 GA |
225 | 2022-11-22 Jonathan Wakely <jwakely@redhat.com> |
226 | ||
227 | PR libstdc++/106201 | |
228 | * include/bits/fs_path.h (filesystem::swap(path&, path&)): | |
229 | Replace with abbreviated function template. | |
230 | * include/experimental/bits/fs_path.h (filesystem::swap): | |
231 | Likewise. | |
232 | * testsuite/27_io/filesystem/iterators/106201.cc: New test. | |
233 | * testsuite/experimental/filesystem/iterators/106201.cc: New test. | |
234 | ||
235 | 2022-11-22 Jonathan Wakely <jwakely@redhat.com> | |
236 | ||
237 | Backported from master: | |
238 | 2022-11-22 Jonathan Wakely <jwakely@redhat.com> | |
239 | ||
240 | PR libstdc++/107801 | |
241 | * src/c++17/memory_resource.cc (pool_sizes): Disable large pools | |
242 | for targets with 16-bit int. | |
243 | ||
964af399 GA |
244 | 2022-11-14 Jonathan Wakely <jwakely@redhat.com> |
245 | ||
246 | * include/bits/mofunc_impl.h (move_only_function::__param_t): | |
247 | Use __is_scalar instead of is_trivially_copyable. | |
248 | * testsuite/20_util/move_only_function/call.cc: Check parameters | |
249 | involving incomplete types. | |
250 | ||
251 | 2022-11-14 Jonathan Wakely <jwakely@redhat.com> | |
252 | ||
253 | Backported from master: | |
254 | 2022-11-11 Jonathan Wakely <jwakely@redhat.com> | |
255 | ||
256 | PR libstdc++/95048 | |
257 | * include/bits/fs_path.h (path::_Codecvt): New class template | |
258 | that selects the kind of code conversion done. | |
259 | (path::_Codecvt<wchar_t>): Select based on sizeof(wchar_t). | |
260 | (_GLIBCXX_CONV_FROM_UTF8): New macro to allow the same code to | |
261 | be used for Windows and POSIX. | |
262 | (path::_S_convert(const EcharT*, const EcharT*)): Simplify by | |
263 | using _Codecvt and _GLIBCXX_CONV_FROM_UTF8 abstractions. | |
264 | (path::_S_str_convert(basic_string_view<value_type>, const A&)): | |
265 | Simplify nested conditions. | |
266 | * include/experimental/bits/fs_path.h (path::_Cvt): Define | |
267 | nested typedef controlling type of code conversion done. | |
268 | (path::_Cvt::_S_wconvert): Use new typedef. | |
269 | (path::string(const A&)): Likewise. | |
270 | * testsuite/27_io/filesystem/path/construct/95048.cc: New test. | |
271 | * testsuite/experimental/filesystem/path/construct/95048.cc: New | |
272 | test. | |
273 | ||
274 | 2022-11-14 Nathaniel Shead <nathanieloshead@gmail.com> | |
275 | ||
276 | Backported from master: | |
277 | 2022-11-11 Nathaniel Shead <nathanieloshead@gmail.com> | |
278 | ||
279 | PR libstdc++/103295 | |
280 | * include/bits/basic_string.h (_M_use_local_data): Set active | |
281 | member to _M_local_buf. | |
282 | ||
253a85be GA |
283 | 2022-11-08 Jonathan Wakely <jwakely@redhat.com> |
284 | ||
285 | Backported from master: | |
286 | 2022-11-08 Jonathan Wakely <jwakely@redhat.com> | |
287 | ||
288 | * doc/xml/authors.xml: Remove empty author element. | |
289 | * doc/xml/manual/spine.xml: Likewise. | |
290 | * doc/html/manual/index.html: Regenerate. | |
291 | ||
0aaef833 GA |
292 | 2022-10-19 Alexandre Oliva <oliva@adacore.com> |
293 | ||
294 | Backported from master: | |
295 | 2022-06-22 Alexandre Oliva <oliva@adacore.com> | |
296 | ||
297 | * libsupc++/eh_globals.cc [!_GLIBCXX_HAVE_TLS] | |
298 | (__eh_globals_init::~__eh_globals_init): Clear _S_init first. | |
299 | ||
487307a1 GA |
300 | 2022-09-29 Jonathan Wakely <jwakely@redhat.com> |
301 | ||
302 | Backported from master: | |
303 | 2022-09-28 Jonathan Wakely <jwakely@redhat.com> | |
304 | ||
305 | * doc/xml/manual/evolution.xml: Document std::bind API | |
306 | changes. | |
307 | * doc/xml/manual/intro.xml: Document LWG 2487 status. | |
308 | * doc/xml/manual/using.xml: Clarify default value of | |
309 | _GLIBCXX_USE_DEPRECATED. | |
310 | * doc/html/*: Regenerate. | |
311 | * include/std/functional (_Bind::operator()(Args&&...) volatile) | |
312 | (_Bind::operator()(Args&&...) const volatile) | |
313 | (_Bind_result::operator()(Args&&...) volatile) | |
314 | (_Bind_result::operator()(Args&&...) const volatile): Replace | |
315 | with deleted overload for C++20 and later. | |
316 | * testsuite/20_util/bind/cv_quals.cc: Check for deprecated | |
317 | warnings in C++17. | |
318 | * testsuite/20_util/bind/cv_quals_2.cc: Likewise, and check for | |
319 | ill-formed in C++20. | |
320 | ||
7dc6d2f1 GA |
321 | 2022-09-16 Jonathan Wakely <jwakely@redhat.com> |
322 | ||
323 | * doc/xml/manual/abi.xml: Document GLIBCXX_3.4.30 version. | |
324 | * doc/html/manual/abi.html: Regenerate. | |
325 | ||
99c0c616 GA |
326 | 2022-09-12 Patrick Palka <ppalka@redhat.com> |
327 | ||
328 | Backported from master: | |
329 | 2022-09-12 Patrick Palka <ppalka@redhat.com> | |
330 | ||
331 | PR libstdc++/106320 | |
332 | * testsuite/std/ranges/adaptors/join.cc (test13): New test. | |
333 | ||
156607e5 GA |
334 | 2022-09-07 Jonathan Wakely <jwakely@redhat.com> |
335 | ||
336 | Backported from master: | |
337 | 2022-08-22 Jonathan Wakely <jwakely@redhat.com> | |
338 | ||
339 | PR libstdc++/106695 | |
340 | * include/bits/std_thread.h (thread::_State_impl): Forward | |
341 | individual arguments to _Invoker constructor. | |
342 | (thread::_Invoker): Add constructor. Delete copies. | |
343 | * include/std/future (__future_base::_Deferred_state): Forward | |
344 | individual arguments to _Invoker constructor. | |
345 | (__future_base::_Async_state_impl): Likewise. | |
346 | * testsuite/30_threads/async/106695.cc: New test. | |
347 | * testsuite/30_threads/thread/106695.cc: New test. | |
348 | ||
349 | 2022-09-07 Jonathan Wakely <jwakely@redhat.com> | |
350 | ||
351 | Backported from master: | |
352 | 2022-08-22 Jonathan Wakely <jwakely@redhat.com> | |
353 | ||
354 | PR libstdc++/106607 | |
355 | * include/bits/regex_compiler.tcc (_Compiler::_M_cur_int_value): | |
356 | Use built-ins to check for integer overflow in back-reference | |
357 | number. | |
358 | * testsuite/28_regex/basic_regex/106607.cc: New test. | |
359 | ||
cce15df5 GA |
360 | 2022-08-24 Jonathan Wakely <jwakely@redhat.com> |
361 | ||
362 | Backported from master: | |
363 | 2022-08-23 Jonathan Wakely <jwakely@redhat.com> | |
364 | ||
365 | PR libstdc++/106589 | |
366 | * include/std/variant (__do_visit): Handle is_void<R> for zero | |
367 | argument case. | |
368 | * testsuite/20_util/variant/visit_r.cc: Check std::visit<void>(v). | |
369 | ||
fdde00a9 GA |
370 | 2022-08-23 Jonathan Wakely <jwakely@redhat.com> |
371 | ||
372 | Backported from master: | |
373 | 2022-08-22 Jonathan Wakely <jwakely@redhat.com> | |
374 | ||
375 | PR libstdc++/105678 | |
376 | * doc/xml/manual/using.xml: Document -lstdc++_libbacktrace | |
377 | requirement for using std::stacktrace. Also adjust -frtti and | |
378 | -fexceptions to document non-default (i.e. negative) forms. | |
379 | * doc/html/*: Regenerate. | |
380 | ||
2ee5e430 RB |
381 | 2022-08-19 Release Manager |
382 | ||
383 | * GCC 12.2.0 released. | |
384 | ||
4178af1a GA |
385 | 2022-08-05 Jonathan Wakely <jwakely@redhat.com> |
386 | ||
387 | Backported from master: | |
388 | 2022-08-04 Jonathan Wakely <jwakely@redhat.com> | |
389 | ||
390 | * include/std/string_view (basic_string_view(Range&&)): Add | |
391 | explicit as per P2499R0. | |
392 | * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: | |
393 | Adjust implicit conversions. Check implicit conversions fail. | |
394 | * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: | |
395 | Likewise. | |
396 | ||
397 | 2022-08-05 Jonathan Wakely <jwakely@redhat.com> | |
398 | ||
399 | Backported from master: | |
400 | 2022-08-04 Jonathan Wakely <jwakely@redhat.com> | |
401 | ||
402 | * include/std/expected (unexpected::_M_val): Rename to _M_unex. | |
403 | (bad_expected_access::_M_val): Likewise. | |
404 | ||
405 | 2022-08-05 Jonathan Wakely <jwakely@redhat.com> | |
406 | ||
407 | Backported from master: | |
408 | 2022-08-04 Jonathan Wakely <jwakely@redhat.com> | |
409 | ||
410 | * include/bits/ios_base.h (__cpp_lib_ios_noreplace): Update | |
411 | value to 202207L. | |
412 | * include/std/version (__cpp_lib_ios_noreplace): Likewise. | |
413 | * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: Check | |
414 | for new value. | |
415 | * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: | |
416 | Likewise. | |
417 | ||
c749de49 GA |
418 | 2022-08-03 Jonathan Wakely <jwakely@redhat.com> |
419 | ||
420 | Backported from master: | |
421 | 2022-06-28 Jonathan Wakely <jwakely@redhat.com> | |
422 | ||
423 | * src/c++17/fs_dir.cc (_Dir::dir_and_pathname):: Replace with | |
424 | current() returning _At_path. | |
425 | (_Dir::_Dir, _Dir::open_subdir, _Dir::do_unlink): Adjust. | |
426 | * src/filesystem/dir-common.h (_Dir_base::_At_path): New class. | |
427 | (_Dir_base::_Dir_Base, _Dir_base::openat): Use _At_path. | |
428 | * src/filesystem/dir.cc (_Dir::dir_and_pathname): Replace with | |
429 | current() returning _At_path. | |
430 | (_Dir::_Dir, _Dir::open_subdir): Adjust. | |
431 | ||
432 | 2022-08-03 Jonathan Wakely <jwakely@redhat.com> | |
433 | ||
434 | Backported from master: | |
435 | 2022-07-29 Jonathan Wakely <jwakely@redhat.com> | |
436 | ||
437 | PR libstdc++/104443 | |
438 | * include/bits/stl_iterator.h (common_iterator::operator->): | |
439 | Change return type to just auto. | |
440 | ||
441 | 2022-08-03 Jonathan Wakely <jwakely@redhat.com> | |
442 | ||
443 | Backported from master: | |
444 | 2022-07-12 Jonathan Wakely <jwakely@redhat.com> | |
445 | ||
446 | PR libstdc++/106248 | |
447 | * include/std/istream [C++17] (operator>>(istream&, char*)): | |
448 | Set eofbit if we stopped extracting at EOF. | |
449 | * testsuite/27_io/basic_istream/extractors_character/char/pr106248.cc: | |
450 | New test. | |
451 | * testsuite/27_io/basic_istream/extractors_character/wchar_t/pr106248.cc: | |
452 | New test. | |
453 | ||
454 | 2022-08-03 Jonathan Wakely <jwakely@redhat.com> | |
455 | ||
456 | Backported from master: | |
457 | 2022-07-01 Jonathan Wakely <jwakely@redhat.com> | |
458 | ||
459 | * include/bits/fs_ops.h: Add nodiscard to all pure functions. | |
460 | * include/experimental/bits/fs_ops.h: Likewise. | |
461 | * testsuite/27_io/filesystem/operations/all.cc: Do not discard | |
462 | results of absolute and canonical. | |
463 | * testsuite/27_io/filesystem/operations/absolute.cc: Cast | |
464 | discarded result to void. | |
465 | * testsuite/27_io/filesystem/operations/canonical.cc: Likewise. | |
466 | * testsuite/27_io/filesystem/operations/exists.cc: Likewise. | |
467 | * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise. | |
468 | * testsuite/27_io/filesystem/operations/read_symlink.cc: | |
469 | Likewise. | |
470 | * testsuite/27_io/filesystem/operations/status.cc: Likewise. | |
471 | * testsuite/27_io/filesystem/operations/symlink_status.cc: | |
472 | Likewise. | |
473 | * testsuite/27_io/filesystem/operations/temp_directory_path.cc: | |
474 | Likewise. | |
475 | * testsuite/experimental/filesystem/operations/canonical.cc: | |
476 | Likewise. | |
477 | * testsuite/experimental/filesystem/operations/exists.cc: | |
478 | Likewise. | |
479 | * testsuite/experimental/filesystem/operations/is_empty.cc: | |
480 | Likewise. | |
481 | * testsuite/experimental/filesystem/operations/read_symlink.cc: | |
482 | Likewise. | |
483 | * testsuite/experimental/filesystem/operations/temp_directory_path.cc: | |
484 | Likewise. | |
485 | ||
486 | 2022-08-03 Jonathan Wakely <jwakely@redhat.com> | |
487 | ||
488 | Backported from master: | |
489 | 2022-06-16 Jonathan Wakely <jwakely@redhat.com> | |
490 | ||
491 | PR libstdc++/105995 | |
492 | * include/bits/basic_string.h (_M_use_local_data): Initialize | |
493 | the entire SSO buffer. | |
494 | * testsuite/21_strings/basic_string/cons/char/105995.cc: New test. | |
495 | ||
496 | 2022-08-03 Jonathan Wakely <jwakely@redhat.com> | |
497 | ||
498 | Backported from master: | |
499 | 2022-06-14 Jonathan Wakely <jwakely@redhat.com> | |
500 | ||
501 | * include/bits/new_allocator.h: Fix indentation. | |
502 | * include/ext/malloc_allocator.h: Likewise. | |
503 | ||
504 | 2022-08-03 Jonathan Wakely <jwakely@redhat.com> | |
505 | ||
506 | Backported from master: | |
507 | 2022-06-14 Jonathan Wakely <jwakely@redhat.com> | |
508 | ||
509 | PR libstdc++/105957 | |
510 | * include/bits/allocator.h (allocator::allocate): Check for | |
511 | overflow in constexpr allocation. | |
512 | * testsuite/20_util/allocator/105975.cc: New test. | |
513 | ||
514 | 2022-08-03 Jonathan Wakely <jwakely@redhat.com> | |
515 | ||
516 | Backported from master: | |
517 | 2022-06-10 Jonathan Wakely <jwakely@redhat.com> | |
518 | ||
519 | PR libstdc++/105844 | |
520 | * include/experimental/numeric (experimental::gcd): Simplify | |
521 | assertions. Use __abs_r instead of __absu. | |
522 | (experimental::lcm): Likewise. Remove use of __detail::__lcm so | |
523 | overflow can be detected. | |
524 | * include/std/numeric (__detail::__absu): Rename to __abs_r and | |
525 | change to allow signed result type, so overflow can be detected. | |
526 | (__detail::__lcm): Remove. | |
527 | (gcd): Simplify assertions. Use __abs_r instead of __absu. | |
528 | (lcm): Likewise. Remove use of __detail::__lcm so overflow can | |
529 | be detected. | |
530 | * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error lines. | |
531 | * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. | |
532 | * testsuite/26_numerics/gcd/105844.cc: New test. | |
533 | * testsuite/26_numerics/lcm/105844.cc: New test. | |
534 | ||
5e45d078 GA |
535 | 2022-07-26 Thomas Rodgers <trodgers@redhat.com> |
536 | ||
537 | Backported from master: | |
538 | 2022-07-26 Thomas Rodgers <trodgers@redhat.com> | |
539 | ||
540 | * include/bits/atomic_wait.h (__atomic_spin): Merge spin loops. | |
541 | ||
2a1263d3 GA |
542 | 2022-07-22 Jonathan Wakely <jwakely@redhat.com> |
543 | ||
544 | Backported from master: | |
545 | 2022-06-28 Jonathan Wakely <jwakely@redhat.com> | |
546 | ||
547 | * src/c++17/fs_dir.cc (_Dir::_Dir) [!_GLIBCXX_HAVE_OPENAT]: | |
548 | Always store pathname if we don't have openat or unlinkat, | |
549 | because the full path is needed to open sub-directories and | |
550 | remove entries. | |
551 | ||
552 | 2022-07-22 Alexandre Oliva <oliva@adacore.com> | |
553 | ||
554 | Backported from master: | |
555 | 2022-06-27 Alexandre Oliva <oliva@adacore.com> | |
556 | ||
557 | * src/c++17/fs_dir.cc (dir_and_pathname): Use dirfd if | |
558 | _GLIBCXX_HAVE_OPENAT. | |
559 | ||
560 | 2022-07-22 Alexandre Oliva <oliva@adacore.com> | |
561 | ||
562 | Backported from master: | |
563 | 2022-06-24 Alexandre Oliva <oliva@adacore.com> | |
564 | ||
565 | * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for | |
566 | openat. | |
567 | * configure, config.h.in: Rebuilt. | |
568 | * src/filesystem/dir-common.h (openat): Use ::openat if | |
569 | _GLIBCXX_HAVE_OPENAT. | |
570 | * src/filesystem/dir.cc (dir_and_pathname): Use dirfd if | |
571 | _GLIBCXX_HAVE_OPENAT. | |
572 | ||
573 | 2022-07-22 Jonathan Wakely <jwakely@redhat.com> | |
574 | ||
575 | Backported from master: | |
576 | 2022-05-06 Jonathan Wakely <jwakely@redhat.com> | |
577 | ||
578 | * include/std/stacktrace: Do not include <cxxabi.h>. | |
579 | (__cxa_demangle): Declare. | |
580 | ||
64edeadb GA |
581 | 2022-07-21 Jonathan Wakely <jwakely@redhat.com> |
582 | ||
583 | Backported from master: | |
584 | 2022-07-20 Jonathan Wakely <jwakely@redhat.com> | |
585 | ||
586 | PR libstdc++/100823 | |
587 | * include/bits/stl_iterator.h (common_iterator): Define move | |
588 | constructor and move assignment operator. | |
589 | (common_iterator::_M_assign): New function implementing | |
590 | assignment. | |
591 | (common_iterator::operator=): Use _M_assign. | |
592 | (common_iterator::_S_valueless): New constant. | |
593 | * testsuite/24_iterators/common_iterator/100823.cc: New test. | |
594 | ||
595 | 2022-07-21 Jonathan Wakely <jwakely@redhat.com> | |
596 | ||
597 | Backported from master: | |
598 | 2022-07-20 Jonathan Wakely <jwakely@redhat.com> | |
599 | ||
600 | * include/bits/stl_iterator.h (common_iterator): Fix incorrect | |
601 | uses of is_nothrow_assignable_v. Fix inconsistent constraints on | |
602 | friend declaration. Do not move argument in copy constructor. | |
603 | * testsuite/24_iterators/common_iterator/1.cc: Check for | |
604 | noexcept constructibnle/assignable. | |
605 | ||
606 | 2022-07-21 Nathan Sidwell <nathan@acm.org> | |
607 | ||
608 | Backported from master: | |
609 | 2022-05-26 Nathan Sidwell <nathan@acm.org> | |
610 | ||
611 | * include/bits/hashtable.h: Include required headers. | |
612 | * include/bits/hashtable_policy.h: Likewise. | |
613 | * include/bits/stl_heap.h: Likewise. | |
614 | * include/bits/stl_iterator_base_funcs.h: Likewise. | |
615 | ||
616 | 2022-07-21 Jonathan Wakely <jwakely@redhat.com> | |
617 | ||
618 | Backported from master: | |
619 | 2022-06-30 Jonathan Wakely <jwakely@redhat.com> | |
620 | ||
621 | * include/bits/utility.h: Fix comment typos. | |
622 | ||
623 | 2022-07-21 Jonathan Wakely <jwakely@redhat.com> | |
624 | ||
625 | Backported from master: | |
626 | 2022-06-28 Jonathan Wakely <jwakely@redhat.com> | |
627 | ||
628 | * testsuite/20_util/from_chars/4.cc: Only use log2 if C99 math | |
629 | functions are available. | |
630 | ||
631 | 2022-07-21 Jonathan Wakely <jwakely@redhat.com> | |
632 | ||
633 | Backported from master: | |
634 | 2022-06-23 Jonathan Wakely <jwakely@redhat.com> | |
635 | ||
636 | * testsuite/26_numerics/random/random_device/entropy.cc: Use | |
637 | numeric_limits<unsigned>::digits. | |
638 | ||
639 | 2022-07-21 Marco Falke <falke.marco@gmail.com> | |
640 | ||
641 | Backported from master: | |
642 | 2022-07-19 Marco Falke <falke.marco@gmail.com> | |
643 | ||
644 | * include/std/charconv (__from_chars_alnum_to_val): Replace | |
645 | implicit conversion from int to unsigned char with explicit | |
646 | cast. | |
647 | ||
648 | 2022-07-21 Jonathan Wakely <jwakely@redhat.com> | |
649 | ||
650 | Backported from master: | |
651 | 2022-06-30 Jonathan Wakely <jwakely@redhat.com> | |
652 | ||
653 | PR libstdc++/88881 | |
654 | * src/filesystem/ops.cc (has_trailing_slash): New helper | |
655 | function. | |
656 | (fs::status): Strip trailing slashes. | |
657 | (fs::symlink_status): Likewise. | |
658 | * testsuite/experimental/filesystem/operations/temp_directory_path.cc: | |
659 | Clean the environment before each test and use TMP instead of | |
660 | TMPDIR so the test passes on Windows. | |
661 | ||
662 | 2022-07-21 Jonathan Wakely <jwakely@redhat.com> | |
663 | ||
664 | Backported from master: | |
665 | 2022-06-10 Jonathan Wakely <jwakely@redhat.com> | |
666 | ||
667 | PR libstdc++/105880 | |
668 | * libsupc++/eh_globals.cc (eh_globals): Ensure constant init and | |
669 | prevent destruction during termination. | |
670 | (__eh_globals_init::_M_init): Replace with static member _S_init. | |
671 | (__cxxabiv1::__cxa_get_globals_fast): Update. | |
672 | (__cxxabiv1::__cxa_get_globals): Likewise. | |
673 | ||
e02edb33 GA |
674 | 2022-07-07 Jonathan Wakely <jwakely@redhat.com> |
675 | ||
676 | Backported from master: | |
677 | 2022-07-01 Jonathan Wakely <jwakely@redhat.com> | |
678 | ||
679 | PR libstdc++/106162 | |
680 | * include/Makefile.am (largefile-config.h): Add | |
681 | stamp-${host_alias} prerequisite. | |
682 | * include/Makefile.in: Regenerate. | |
683 | ||
684 | 2022-07-07 Jonathan Wakely <jwakely@redhat.com> | |
685 | ||
686 | Backported from master: | |
687 | 2022-06-23 Jonathan Wakely <jwakely@redhat.com> | |
688 | ||
689 | * testsuite/27_io/filesystem/iterators/error_reporting.cc: Use | |
690 | rmdir to remove directories. | |
691 | * testsuite/experimental/filesystem/iterators/error_reporting.cc: | |
692 | Likewise. | |
693 | ||
e1109101 GA |
694 | 2022-06-14 Jonathan Wakely <jwakely@redhat.com> |
695 | ||
696 | Backported from master: | |
697 | 2022-06-13 Jonathan Wakely <jwakely@redhat.com> | |
698 | ||
699 | * include/std/atomic (__atomic_val_t): Use __type_identity_t | |
700 | instead of atomic<T>::value_type, as per LWG 3220. | |
701 | * testsuite/29_atomics/atomic/lwg3220.cc: New test. | |
702 | ||
703 | 2022-06-14 Mark Mentovai <mark@mentovai.com> | |
704 | ||
705 | Backported from master: | |
706 | 2022-06-13 Mark Mentovai <mark@mentovai.com> | |
707 | ||
708 | * include/experimental/bits/fs_path.h (__detail::__null_terminated): | |
709 | Rename to __nul_terminated to avoid colliding with a macro in | |
710 | Apple's SDK. | |
711 | ||
669fc762 GA |
712 | 2022-06-08 Jonathan Wakely <jwakely@redhat.com> |
713 | ||
714 | Backported from master: | |
715 | 2022-05-27 Jonathan Wakely <jwakely@redhat.com> | |
716 | ||
717 | PR libstdc++/105671 | |
718 | * include/std/sstream (basic_stringbuf::_M_high_mark): Add | |
719 | always_inline attribute. | |
720 | ||
721 | 2022-06-08 Jonathan Wakely <jwakely@redhat.com> | |
722 | ||
723 | Backported from master: | |
724 | 2022-05-26 Jonathan Wakely <jwakely@redhat.com> | |
725 | ||
726 | PR libstdc++/105681 | |
727 | * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp: | |
728 | Limit ga_sizes array to values that fit in size_t. | |
729 | * include/ext/random [__SIZE_WIDTH < 32] (sfmt86243) | |
730 | (sfmt86243_64, sfmt132049, sfmt132049_64, sfmt216091) | |
731 | (sfmt216091_64): Do not declare. | |
732 | ||
733 | 2022-06-08 Jonathan Wakely <jwakely@redhat.com> | |
734 | ||
735 | Backported from master: | |
736 | 2022-05-19 Jonathan Wakely <jwakely@redhat.com> | |
737 | ||
738 | * include/bits/basic_string.h: Do not include <ext/atomicity.h> | |
739 | here. | |
740 | * include/bits/cow_string.h: Include it here. | |
741 | ||
c2476f7b GA |
742 | 2022-05-27 Jonathan Wakely <jwakely@redhat.com> |
743 | ||
744 | Backported from master: | |
745 | 2022-05-26 Jonathan Wakely <jwakely@redhat.com> | |
746 | ||
747 | * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Make | |
748 | lookup for ios_errc and future_errc check versioned namespace. | |
749 | (StdAtomicPrinter): Strip versioned namespace from typename. | |
750 | ||
751 | 2022-05-27 François Dumont <fdumont@gcc.gnu.org> | |
752 | ||
753 | Backported from master: | |
754 | 2022-05-26 François Dumont <fdumont@gcc.gnu.org> | |
755 | ||
756 | * python/libstdcxx/v6/printers.py (StdSpanPrinter.__init__): | |
757 | Strip typename from version namespace. | |
758 | ||
759 | 2022-05-27 Jonathan Wakely <jwakely@redhat.com> | |
760 | ||
761 | Backported from master: | |
762 | 2022-05-26 Jonathan Wakely <jwakely@redhat.com> | |
763 | ||
764 | * python/libstdcxx/v6/printers.py (SharedPointerPrinter): Strip | |
765 | versioned namespace from the template argument too. | |
766 | ||
767 | 2022-05-27 Jonathan Wakely <jwakely@redhat.com> | |
768 | ||
769 | Backported from master: | |
770 | 2022-05-26 Jonathan Wakely <jwakely@redhat.com> | |
771 | ||
772 | * include/bits/stl_iterator.h (counted_iterator::operator++(int)): | |
773 | Add 'constexpr' as per LWG 3643. | |
774 | * testsuite/24_iterators/counted_iterator/lwg3643.cc: New test. | |
775 | ||
776 | 2022-05-27 Jonathan Wakely <jwakely@redhat.com> | |
777 | ||
778 | Backported from master: | |
779 | 2022-05-19 Jonathan Wakely <jwakely@redhat.com> | |
780 | ||
781 | * include/std/memory_resource (polymorphic_allocator): Add | |
782 | non-template equality operator, as proposed for LWG 3683. | |
783 | * testsuite/20_util/polymorphic_allocator/lwg3683.cc: New test. | |
784 | ||
785 | 2022-05-27 Jonathan Wakely <jwakely@redhat.com> | |
786 | ||
787 | Backported from master: | |
788 | 2022-05-20 Jonathan Wakely <jwakely@redhat.com> | |
789 | ||
790 | * testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc: | |
791 | Run fewer iterations for simulator targets. | |
792 | * testsuite/26_numerics/random/binomial_distribution/operators/values.cc: | |
793 | Likewise. | |
794 | * testsuite/26_numerics/random/discrete_distribution/operators/values.cc: | |
795 | Likewise. | |
796 | * testsuite/26_numerics/random/geometric_distribution/operators/values.cc: | |
797 | Likewise. | |
798 | * testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc: | |
799 | Likewise. | |
800 | * testsuite/26_numerics/random/poisson_distribution/operators/values.cc: | |
801 | Likewise. | |
802 | * testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc: | |
803 | Likewise. | |
804 | ||
805 | 2022-05-27 Jonathan Wakely <jwakely@redhat.com> | |
806 | ||
807 | Backported from master: | |
808 | 2022-05-17 Jonathan Wakely <jwakely@redhat.com> | |
809 | ||
810 | * testsuite/20_util/expected/synopsis.cc: Skip for versioned | |
811 | namespace. | |
812 | * testsuite/27_io/headers/iosfwd/synopsis.cc: Likewise. | |
813 | ||
814 | 2022-05-27 Jonathan Wakely <jwakely@redhat.com> | |
815 | ||
816 | Backported from master: | |
817 | 2022-05-13 Jonathan Wakely <jwakely@redhat.com> | |
818 | ||
819 | * include/bits/mofunc_impl.h: Fix doxygen command. | |
820 | ||
821 | 2022-05-27 Jonathan Wakely <jwakely@redhat.com> | |
822 | ||
823 | Backported from master: | |
824 | 2022-05-13 Jonathan Wakely <jwakely@redhat.com> | |
825 | ||
826 | * include/std/future (launch): Make operators noexcept. | |
827 | ||
325d82b0 GA |
828 | 2022-05-16 Jonathan Wakely <jwakely@redhat.com> |
829 | ||
830 | Backported from master: | |
831 | 2022-05-16 Jonathan Wakely <jwakely@redhat.com> | |
832 | ||
833 | * doc/xml/manual/prerequisites.xml: Fix attributes for external | |
834 | hyperlink. | |
835 | * doc/html/manual/setup.html: Regenerate. | |
836 | ||
837 | 2022-05-16 Jonathan Wakely <jwakely@redhat.com> | |
838 | ||
839 | Backported from master: | |
840 | 2022-05-16 Jonathan Wakely <jwakely@redhat.com> | |
841 | ||
842 | * doc/xml/manual/status_cxx2023.xml: Update with gcc-12 support. | |
843 | * doc/html/*: Regenerate. | |
844 | ||
845 | 2022-05-16 Jonathan Wakely <jwakely@redhat.com> | |
846 | ||
847 | Backported from master: | |
848 | 2022-05-16 Jonathan Wakely <jwakely@redhat.com> | |
849 | ||
850 | * doc/xml/manual/intro.xml: Include new chapter. | |
851 | * doc/xml/manual/status_cxx2020.xml: Tweak release numbers. | |
852 | * doc/xml/manual/status_cxx2023.xml: New file. | |
853 | * doc/html/*: Regenerate. | |
854 | ||
855 | 2022-05-16 Jonathan Wakely <jwakely@redhat.com> | |
856 | ||
857 | Backported from master: | |
858 | 2022-05-16 Jonathan Wakely <jwakely@redhat.com> | |
859 | ||
860 | * doc/html/manual/status.html: Regenerate. | |
861 | * doc/xml/manual/status_cxx2020.xml: Fix supported version for | |
862 | C++20 bit operations. | |
863 | ||
52991af6 GA |
864 | 2022-05-13 Alexandre Oliva <oliva@adacore.com> |
865 | ||
866 | Backported from master: | |
867 | 2022-05-06 Alexandre Oliva <oliva@adacore.com> | |
868 | ||
869 | * include/experimental/bits/simd.h [__ALTIVEC__]: Require VSX | |
870 | for double, long long, and 64-bit long intrinsic types. | |
871 | [__ALTIVEC__] (__intrinsic_type): Mention 128-bit in | |
872 | preexisting long double diagnostic, adjust no-VSX double | |
873 | diagnostic to cover 64-bit long double as well. | |
874 | ||
d74cade6 GA |
875 | 2022-05-10 Jonathan Wakely <jwakely@redhat.com> |
876 | ||
877 | Backported from master: | |
878 | 2022-05-10 Jonathan Wakely <jwakely@redhat.com> | |
879 | ||
880 | PR libstdc++/105284 | |
881 | * include/std/iosfwd: Add declarations for <spanstream> class | |
882 | templates and typedefs. | |
883 | * include/std/spanstream (basic_spanbuf, basic_ispanstream) | |
884 | (basic_ospanstream, basic_spanstream): Remove default template | |
885 | arguments. | |
886 | * testsuite/27_io/headers/iosfwd/synopsis.cc: Add <spanstream> | |
887 | declarations. | |
888 | * testsuite/27_io/headers/iosfwd/types.cc: Check <spanstream> | |
889 | default arguments. | |
890 | ||
891 | 2022-05-10 Jonathan Wakely <jwakely@redhat.com> | |
892 | ||
893 | Backported from master: | |
894 | 2022-05-10 Jonathan Wakely <jwakely@redhat.com> | |
895 | ||
896 | PR libstdc++/105284 | |
897 | * include/std/iosfwd: Add declarations for <synstream> class | |
898 | templates and typedefs. | |
899 | * include/std/syncstream (basic_syncbuf, basic_osyncstream): | |
900 | Remove default template arguments. | |
901 | * testsuite/27_io/headers/iosfwd/synopsis.cc: New test. | |
902 | * testsuite/27_io/headers/iosfwd/types.cc: New test. | |
903 | ||
6d7d4f59 GA |
904 | 2022-05-09 Jonathan Wakely <jwakely@redhat.com> |
905 | ||
906 | Backported from master: | |
907 | 2022-05-06 Jonathan Wakely <jwakely@redhat.com> | |
908 | ||
909 | PR libstdc++/104731 | |
910 | * testsuite/27_io/filesystem/iterators/error_reporting.cc: | |
911 | Use a trailing char array as storage for dirent::d_name. | |
912 | ||
d413626f GA |
913 | 2022-05-06 Jonathan Wakely <jwakely@redhat.com> |
914 | ||
915 | Backported from master: | |
916 | 2022-05-06 Jonathan Wakely <jwakely@redhat.com> | |
917 | ||
918 | PR libstdc++/105502 | |
919 | * include/bits/random.tcc | |
920 | (operator>>(basic_istream<C,T>&, normal_distribution<R>&)): | |
921 | Update state when __state_avail is false. | |
922 | * testsuite/26_numerics/random/normal_distribution/operators/serialize.cc: | |
923 | Check that deserialized object equals serialized one. | |
924 | ||
925 | 2022-05-06 Patrick Palka <ppalka@redhat.com> | |
926 | ||
927 | Backported from master: | |
928 | 2022-05-02 Patrick Palka <ppalka@redhat.com> | |
929 | ||
930 | PR libstdc++/103911 | |
931 | * src/c++17/floating_from_chars.cc (find_end_of_float): Accept | |
932 | two delimeters for the exponent part in the form of a possibly | |
933 | NULL string of length two. Don't use std::tolower. | |
934 | (pattern): Adjust calls to find_end_of_float accordingly. | |
935 | ||
936 | 2022-05-06 Alexandre Oliva <oliva@adacore.com> | |
937 | ||
938 | Backported from master: | |
939 | 2022-05-03 Alexandre Oliva <oliva@adacore.com> | |
940 | ||
941 | PR c++/105324 | |
942 | * testsuite/20_util/from_chars/pr105324.cc: Guard test body | |
943 | with conditional for floating-point overloads of from_char. | |
944 | ||
1ea978e3 JJ |
945 | 2022-05-06 Release Manager |
946 | ||
947 | * GCC 12.1.0 released. | |
948 | ||
3d02d0a0 GA |
949 | 2022-05-02 Patrick Palka <ppalka@redhat.com> |
950 | ||
951 | Backported from master: | |
952 | 2022-05-02 Patrick Palka <ppalka@redhat.com> | |
953 | ||
954 | PR libstdc++/105441 | |
955 | * src/c++17/floating_from_chars.cc (__floating_from_chars_hex): | |
956 | Also accept 'P' as the start of the exponent. | |
957 | * testsuite/20_util/from_chars/7.cc: Add corresponding testcase. | |
958 | ||
0faf3a1e GA |
959 | 2022-04-29 Jonathan Wakely <jwakely@redhat.com> |
960 | ||
961 | Backported from master: | |
962 | 2022-04-29 Jonathan Wakely <jwakely@redhat.com> | |
963 | ||
964 | PR libstdc++/105417 | |
965 | * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: | |
966 | Regenerate. | |
967 | * src/c++11/compatibility-ldbl-alt128.cc [_GLIBCXX_USE_DUAL_ABI]: | |
968 | Define __gnu_ieee128::num_get<C>::_M_extract_int[abi:cxx11]<I> | |
969 | symbols as aliases for corresponding symbols without abi-tag. | |
970 | ||
971 | 2022-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
972 | ||
973 | * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. | |
974 | * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: | |
975 | Likewise. | |
976 | * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. | |
977 | * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: | |
978 | Likewise. | |
979 | ||
ab73f5b0 GA |
980 | 2022-04-28 Jonathan Wakely <jwakely@redhat.com> |
981 | ||
982 | * doc/xml/manual/status_cxx1998.xml: Refer to GCC 12 not | |
983 | mainline. | |
984 | * doc/xml/manual/status_cxx2011.xml: Likewise. | |
985 | * doc/xml/manual/status_cxx2014.xml: Likewise. | |
986 | * doc/xml/manual/status_cxx2017.xml: Likewise. | |
987 | * doc/xml/manual/status_cxx2020.xml: Likewise. | |
988 | * doc/xml/manual/status_cxxtr1.xml: Likewise. | |
989 | * doc/xml/manual/status_cxxtr24733.xml: Likewise. | |
990 | * doc/html/manual/status.html: Regenerate. | |
991 | ||
992 | 2022-04-28 Jonathan Wakely <jwakely@redhat.com> | |
993 | ||
994 | PR libstdc++/99290 | |
995 | * src/c++17/fs_ops.cc (fs::copy): Pass error_code to | |
996 | directory_iterator constructor, and check on each iteration. | |
997 | * src/filesystem/ops.cc (fs::copy): Likewise. | |
998 | * testsuite/27_io/filesystem/operations/copy.cc: Check for | |
999 | errors during recursion. | |
1000 | * testsuite/experimental/filesystem/operations/copy.cc: | |
1001 | Likewise. | |
1002 | ||
1003 | 2022-04-28 François Dumont <fdumont@gcc.gnu.org> | |
1004 | ||
1005 | * config/abi/pre/gnu-versioned-namespace.ver: Remove | |
1006 | std::random_device::* pattern. | |
1007 | ||
ba949a6a GA |
1008 | 2022-04-27 Jakub Jelinek <jakub@redhat.com> |
1009 | ||
1010 | * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. | |
1011 | * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. | |
1012 | * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. | |
1013 | * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. | |
1014 | * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. | |
1015 | * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. | |
1016 | * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. | |
1017 | * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. | |
1018 | ||
1019 | 2022-04-27 Jonathan Wakely <jwakely@redhat.com> | |
1020 | ||
1021 | * python/libstdcxx/v6/printers.py (SharedPointerPrinter): Add | |
1022 | support for atomic<shared_ptr<T>> and atomic<weak_ptr<T>>. | |
1023 | (StdAtomicPrinter): New printer. | |
1024 | (build_libstdcxx_dictionary): Register new printer. | |
1025 | * testsuite/libstdc++-prettyprinters/cxx11.cc: Test std::atomic. | |
1026 | * testsuite/libstdc++-prettyprinters/cxx20.cc: Test atomic smart | |
1027 | pointers. | |
1028 | ||
01ad093b GA |
1029 | 2022-04-26 Jonathan Wakely <jwakely@redhat.com> |
1030 | ||
1031 | * include/bits/shared_ptr_atomic.h (atomic<shared_ptr>): Add | |
1032 | constructor for constant initialization from nullptr_t. | |
1033 | * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: | |
1034 | Check for new constructor. | |
1035 | ||
1036 | 2022-04-26 Jonathan Wakely <jwakely@redhat.com> | |
1037 | ||
1038 | * include/bits/fs_path.h (hash<filesystem::path>): Define. | |
1039 | * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: | |
1040 | Check std::hash specialization. | |
1041 | ||
98de0da6 GA |
1042 | 2022-04-25 Jonathan Wakely <jwakely@redhat.com> |
1043 | ||
1044 | * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define | |
1045 | conditionally. | |
1046 | * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory): | |
1047 | Define for C++23. | |
1048 | (default_delete, default_delete<T[]>, __uniq_ptr_impl) | |
1049 | (unique_ptr, unique_ptr<T[], D>): Add constexpr to all member | |
1050 | functions. | |
1051 | * include/std/version (__cpp_lib_constexpr_memory): Define new | |
1052 | value for C++23. | |
1053 | * testsuite/20_util/unique_ptr/assign/constexpr.cc: New test. | |
1054 | * testsuite/20_util/unique_ptr/comparison/constexpr.cc: New test. | |
1055 | * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: New test. | |
1056 | * testsuite/20_util/unique_ptr/creation/constexpr.cc: New test. | |
1057 | * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: New test. | |
1058 | * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: | |
1059 | New test. | |
1060 | ||
1061 | 2022-04-25 Jonathan Wakely <jwakely@redhat.com> | |
1062 | ||
1063 | PR libstdc++/105375 | |
1064 | * include/std/future (packaged_task): Add deduction guides. | |
1065 | * testsuite/30_threads/packaged_task/cons/deduction.cc: New test. | |
1066 | ||
1067 | 2022-04-25 Philipp Fent <fent@in.tum.de> | |
1068 | ||
1069 | * python/libstdcxx/v6/printers.py (StdSpanPrinter._iterator): | |
1070 | Rename as iterator. | |
1071 | (StdInitializerListPrinter): Define new printer. | |
1072 | (build_libstdcxx_dictionary): Register new printer. | |
1073 | * testsuite/libstdc++-prettyprinters/cxx11.cc: Check printer for | |
1074 | initializer_list. | |
1075 | ||
ab54f600 GA |
1076 | 2022-04-22 Thomas W Rodgers <trodgers@redhat.com> |
1077 | ||
1078 | PR libstdc++/102994 | |
1079 | * include/bits/atomic_base.h (atomic_flag::notify_one, | |
1080 | notify_all): Remove const qualification. | |
1081 | (__atomic_base::notify_one, notify_all): Likewise. | |
1082 | * include/std/atomic (atomic<bool>::notify_one, notify_all): | |
1083 | Likewise. | |
1084 | (atomic::notify_one, notify_all): Likewise. | |
1085 | (atomic<T*>::notify_one, notify_all): Likewise. | |
1086 | (atomic_notify_one, atomic_notify_all): Likewise. | |
1087 | * testsuite/29_atomics/atomic/wait_notify/102994.cc: Adjust test | |
1088 | to account for change in notify_one/notify_all signature. | |
1089 | ||
c1a9cf67 GA |
1090 | 2022-04-21 Patrick Palka <ppalka@redhat.com> |
1091 | ||
1092 | * include/std/charconv (__from_chars_alnum_to_val_table): | |
1093 | Simplify initialization of __lower/__upper_letters. | |
1094 | (__from_chars_alnum_to_val): Default the template parameter to | |
1095 | false. | |
1096 | * src/c++17/floating_from_chars.cc (starts_with_ci): Don't | |
1097 | assume the uppercase and lowercase letters are contiguous. | |
1098 | (__floating_from_chars_hex): Likewise. | |
1099 | ||
1100 | 2022-04-21 Patrick Palka <ppalka@redhat.com> | |
1101 | ||
1102 | PR c++/105297 | |
1103 | PR c++/105322 | |
1104 | * include/std/charconv (__from_chars_alnum_to_val): Make | |
1105 | initializer for __table dependent in an artificial way. | |
1106 | ||
1107 | 2022-04-21 Jonathan Wakely <jwakely@redhat.com> | |
1108 | ||
1109 | PR libstdc++/105324 | |
1110 | * src/c++17/floating_from_chars.cc (buffer_resource::do_allocate): | |
1111 | Remove assertion. | |
1112 | * testsuite/20_util/from_chars/pr105324.cc: New test. | |
1113 | ||
29a25a60 GA |
1114 | 2022-04-20 Jonathan Wakely <jwakely@redhat.com> |
1115 | ||
1116 | * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: | |
1117 | Check correct feature test macro. | |
1118 | ||
1119 | 2022-04-20 Jonathan Wakely <jwakely@redhat.com> | |
1120 | ||
1121 | PR libstdc++/93602 | |
1122 | * doc/xml/manual/prerequisites.xml: Document libiconv | |
1123 | workarounds. | |
1124 | * doc/html/manual/setup.html: Regenerate. | |
1125 | * src/Makefile.am (CXXLINK): Add $(LTLIBICONV). | |
1126 | * src/Makefile.in: Regenerate. | |
1127 | ||
d1d57187 GA |
1128 | 2022-04-19 Patrick Palka <ppalka@redhat.com> |
1129 | ||
1130 | * src/c++17/floating_to_chars.cc (_GLIBCXX_ASSERTIONS): Don't | |
1131 | define. | |
1132 | (__floating_to_chars_shortest): Add __builtin_unreachable calls to | |
1133 | squelch false-positive -Wmaybe-uninitialized and -Wreturn-type | |
1134 | warnings. | |
1135 | (__floating_to_chars_precision): Likewise. | |
1136 | ||
1137 | 2022-04-19 Philipp Fent <fent@in.tum.de> | |
1138 | ||
1139 | * python/libstdcxx/v6/printers.py (StdSpanPrinter): Define. | |
1140 | * testsuite/libstdc++-prettyprinters/cxx20.cc: Test it. | |
1141 | ||
1142 | 2022-04-19 Jonathan Wakely <jwakely@redhat.com> | |
1143 | ||
1144 | * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Fix shell operators. | |
1145 | * configure: Regenerate. | |
1146 | ||
3f7c81ef GA |
1147 | 2022-04-18 Patrick Palka <ppalka@redhat.com> |
1148 | ||
1149 | * include/std/charconv (__from_chars_pow2_base): Manually | |
1150 | unroll the first iteration of the main loop and simplify | |
1151 | accordingly. | |
1152 | ||
587953f0 GA |
1153 | 2022-04-15 Patrick Palka <ppalka@redhat.com> |
1154 | ||
1155 | PR libstdc++/104858 | |
1156 | * include/bits/ranges_algo.h (__minmax_fn): Avoid dereferencing | |
1157 | __first twice at the start. | |
1158 | * testsuite/25_algorithms/minmax/constrained.cc (test06): New test. | |
1159 | ||
1160 | 2022-04-15 Patrick Palka <ppalka@redhat.com> | |
1161 | ||
1162 | * include/std/charconv (__from_chars_alnum_to_val_table): Define. | |
1163 | (__from_chars_alnum_to_val): Define. | |
1164 | (__from_chars_binary): Rename to ... | |
1165 | (__from_chars_pow2_base): ... this. Generalize to handle any | |
1166 | power-of-two base using __from_chars_alnum_to_val. | |
1167 | (__from_chars_digit): Optimize digit recognition to a single | |
1168 | test instead of two tests. Use [[__unlikely___]] attribute. | |
1169 | (__from_chars_alpha_to_num): Remove. | |
1170 | (__from_chars_alnum): Use __from_chars_alnum_to_val. Use a | |
1171 | nested loop for the overflow case. Maintain a lower bound | |
1172 | on the number of available bits in the result and use it to | |
1173 | omit the overflow check. | |
1174 | (from_chars): Adjust appropriately. | |
1175 | * src/c++17/floating_from_chars.cc (ascii_to_hexit): Remove. | |
1176 | (__floating_from_chars_hex): Use __from_chars_alnum_to_val | |
1177 | to recognize a hex digit instead. | |
1178 | ||
031bd52e GA |
1179 | 2022-04-14 Palmer Dabbelt <palmer@rivosinc.com> |
1180 | ||
1181 | * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Force auto to mutex | |
1182 | for RISC-V. | |
1183 | * configure: Regenerate. | |
1184 | ||
1185 | 2022-04-14 Jonathan Wakely <jwakely@redhat.com> | |
1186 | ||
1187 | * doc/xml/manual/intro.xml: Fix comment. | |
1188 | ||
1189 | 2022-04-14 Jonathan Wakely <jwakely@redhat.com> | |
1190 | ||
1191 | * include/precompiled/stdc++.h: Include <stacktrace> and | |
1192 | <stdatomic.h> for C++23. | |
1193 | ||
1194 | 2022-04-14 Jonathan Wakely <jwakely@redhat.com> | |
1195 | ||
1196 | PR libstdc++/105269 | |
1197 | * include/bits/stl_vector.h (__cpp_lib_constexpr_vector): | |
1198 | Define. | |
1199 | * include/c_compatibility/stdatomic.h (__cpp_lib_stdatomic_h): | |
1200 | Define. | |
1201 | * include/std/optional (__cpp_lib_optional): Define new value | |
1202 | for C++23. | |
1203 | (__cpp_lib_monadic_optional): Remove. | |
1204 | * include/std/version (__cpp_lib_constexpr_vector): Define. | |
1205 | (__cpp_lib_stdatomic_h): Define. | |
1206 | (__cpp_lib_optional): Define new value for C++23. | |
1207 | (__cpp_lib_monadic_optional): Remove. | |
1208 | * testsuite/20_util/optional/monadic/and_then.cc: Adjust. | |
1209 | * testsuite/20_util/optional/requirements.cc: Adjust for C++23. | |
1210 | * testsuite/20_util/optional/version.cc: Likewise. | |
1211 | * testsuite/23_containers/vector/cons/constexpr.cc: Check | |
1212 | feature test macro. | |
1213 | * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: | |
1214 | Likewise. | |
1215 | * testsuite/20_util/optional/monadic/version.cc: Removed. | |
1216 | * testsuite/23_containers/vector/requirements/version.cc: New test. | |
1217 | * testsuite/29_atomics/headers/stdatomic.h/version.cc: New test. | |
1218 | ||
504dae1d GA |
1219 | 2022-04-12 Jonathan Wakely <jwakely@redhat.com> |
1220 | ||
1221 | * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Check for mmap. | |
1222 | * config.h.in: Regenerate. | |
1223 | * configure: Regenerate. | |
1224 | ||
1225 | 2022-04-12 Jonathan Wakely <jwakely@redhat.com> | |
1226 | ||
1227 | * include/std/stacktrace (basic_stacktrace::current): Reallocate | |
1228 | a smaller container if the unused capacity is larger than the | |
1229 | used size. | |
1230 | ||
1231 | 2022-04-12 Jonathan Wakely <jwakely@redhat.com> | |
1232 | ||
1233 | * include/std/stacktrace (basic_stacktrace): Use _Impl::_M_clone | |
1234 | or _Impl::_M_assign to initialize elements in allocated storage. | |
1235 | (basic_stacktrace::_M_clear()): Use _Impl::_M_resize instead of | |
1236 | _Impl::_M_destroy. | |
1237 | (basic_stacktrace::_Impl::_M_destroy()): Replace with ... | |
1238 | (basic_stacktrace::_Impl::_M_resize(size_type, allocator&)): New | |
1239 | function. | |
1240 | (basic_stacktrace::_Impl::_M_push_back): Use _M_xclone. Construct | |
1241 | new element using allocator. | |
1242 | (basic_stacktrace::_Impl::_M_clone): New function. | |
1243 | (basic_stacktrace::_Impl::_M_xclone): New function. | |
1244 | (basic_stacktrace::_Impl::_M_assign): New function. | |
1245 | ||
1246 | 2022-04-12 Jonathan Wakely <jwakely@redhat.com> | |
1247 | ||
1248 | * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): | |
1249 | Use nothrow new instead of try block for std::allocator. | |
1250 | (basic_stacktrace::_Impl::_M_deallocate): Use delete for | |
1251 | std::allocator. | |
1252 | ||
1253 | 2022-04-12 Jonathan Wakely <jwakely@redhat.com> | |
1254 | ||
1255 | * include/std/stacktrace (basic_stacktrace::current): Replace | |
1256 | calls to _M_reserve and _S_curr_cb with call to _M_prepare. | |
1257 | Check return value of backtrace_simple when max depth given. | |
1258 | (basic_stacktrace::_M_reserve): Remove. | |
1259 | (basic_stacktrace::_S_curr_cb): Remove. | |
1260 | (basic_stacktrace::_M_prepare(size_type)): New function to | |
1261 | reserve initial capacity and return callback. | |
1262 | (basic_stacktrace::_Impl::_M_allocate): Remove check for 0 < n | |
1263 | and remove redundant zeroing of _M_frames and _M_capacity. | |
1264 | (basic_stacktrace::_Impl::_M_push_back): Add [[unlikely]] | |
1265 | attribute. Assign _Impl instead of swapping. | |
1266 | * testsuite/19_diagnostics/stacktrace/current.cc: New test. | |
1267 | ||
da066c42 GA |
1268 | 2022-04-11 Jonathan Wakely <jwakely@redhat.com> |
1269 | ||
1270 | * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): | |
1271 | Change [[unlikely]] attribute to [[likely]]. | |
1272 | ||
1273 | 2022-04-11 Jonathan Wakely <jwakely@redhat.com> | |
1274 | ||
1275 | PR libstdc++/105031 | |
1276 | * include/std/stacktrace (basic_stacktrace::basic_stacktrace): | |
1277 | Fix allocator usage in constructors. | |
1278 | (basic_stacktrace::operator=(const basic_stacktrace&)): Do not | |
1279 | try to reallocate using const allocator. | |
1280 | (basic_stacktrace::operator=(basic_stacktrace&&)): Fix | |
1281 | if-constexpr with non-constant condition. Do not allocate new | |
1282 | storage if allocator propagates. Do not set _M_size if | |
1283 | allocation fails. | |
1284 | (basic_stacktrace::swap(basic_stacktrace&)): Fix typo. Add | |
1285 | assertion that non-propagating allocators are equal. | |
1286 | * testsuite/19_diagnostics/stacktrace/stacktrace.cc: New test. | |
1287 | ||
1288 | 2022-04-11 Jonathan Wakely <jwakely@redhat.com> | |
1289 | ||
1290 | * include/std/stacktrace (basic_stacktrace::current): Duplicate | |
1291 | implementation into each overload. Add noinline attribute and | |
1292 | skip current frame. | |
1293 | (basic_stacktrace::max_size()): Call _Impl::_S_max_size. | |
1294 | (basic_stacktrace::_S_curr_cb()): New function defining lambda. | |
1295 | (basic_stacktrace::_Impl::_S_max_size): New function defining | |
1296 | maximum size in terms of allocator and size_type. | |
1297 | (basic_stacktrace::_Impl::_M_allocate): Check against | |
1298 | max_size(). | |
1299 | * testsuite/19_diagnostics/stacktrace/entry.cc: Call function | |
1300 | for non-constexpr checks. Check line number is correct. | |
1301 | ||
1302 | 2022-04-11 Jonathan Wakely <jwakely@redhat.com> | |
1303 | ||
1304 | * testsuite/20_util/stacktrace/entry.cc: Moved to... | |
1305 | * testsuite/19_diagnostics/stacktrace/entry.cc: ...here. | |
1306 | * testsuite/20_util/stacktrace/synopsis.cc: Moved to... | |
1307 | * testsuite/19_diagnostics/stacktrace/synopsis.cc: ...here. | |
1308 | * testsuite/20_util/stacktrace/version.cc: Moved to... | |
1309 | * testsuite/19_diagnostics/stacktrace/version.cc: ...here. | |
1310 | ||
1311 | 2022-04-11 Jonathan Wakely <jwakely@redhat.com> | |
1312 | ||
1313 | * include/experimental/bits/fs_path.h (path): Define special | |
1314 | members after path::_Cmpt is complete. | |
1315 | ||
405eda0d GA |
1316 | 2022-04-08 Jonathan Wakely <jwakely@redhat.com> |
1317 | ||
1318 | PR libstdc++/105153 | |
1319 | * include/std/expected | |
1320 | (expected<void,E>::expected(expected<U,G>&&)): Fix constraints. | |
1321 | * testsuite/20_util/expected/cons.cc: Check constructor. | |
1322 | ||
1323 | 2022-04-08 Jonathan Wakely <jwakely@redhat.com> | |
1324 | ||
1325 | PR libstdc++/105154 | |
1326 | * include/std/expected (expected<void, E>::swap): Set | |
1327 | _M_has_value to false for objects that previously had a value. | |
1328 | * testsuite/20_util/expected/swap.cc: Fix test to check void | |
1329 | specialization. | |
1330 | ||
1331 | 2022-04-08 Jonathan Wakely <jwakely@redhat.com> | |
1332 | ||
1333 | PR libstdc++/105146 | |
1334 | * include/std/expected (bad_expected_access): Move constructor | |
1335 | parameter. | |
1336 | * testsuite/20_util/expected/bad.cc: New test. | |
1337 | ||
df00d103 GA |
1338 | 2022-04-07 Hans-Peter Nilsson <hp@axis.com> |
1339 | ||
1340 | * testsuite/20_util/expected/requirements.cc: Correct minimal-size | |
1341 | test. | |
1342 | ||
8af4270d GA |
1343 | 2022-04-02 Jakub Jelinek <jakub@redhat.com> |
1344 | ||
1345 | PR libstdc++/105128 | |
1346 | * include/std/source_location (std::source_location::__impl): Move | |
1347 | definition before using __builtin_ret_type. | |
1348 | ||
1349 | 2022-04-01 Jonathan Wakely <jwakely@redhat.com> | |
1350 | ||
1351 | * include/std/utility (unreachable): Define for C++23. | |
1352 | * include/std/version (__cpp_lib_unreachable): Define. | |
1353 | * src/c++11/debug.cc (__glibcxx_assert_fail): Check for valid | |
1354 | arguments. Handle only the function being given. | |
1355 | * testsuite/20_util/unreachable/1.cc: New test. | |
1356 | * testsuite/20_util/unreachable/version.cc: New test. | |
1357 | ||
1358 | 2022-04-01 Jonathan Wakely <jwakely@redhat.com> | |
1359 | ||
1360 | * include/experimental/bits/fs_fwd.h (copy_file): Remove | |
1361 | incorrect noexcept from declaration. | |
1362 | * include/experimental/bits/fs_path.h (path::begin, path::end): | |
1363 | Add noexcept to declarations, to match definitions. | |
1364 | ||
1365 | 2022-04-01 Timm Bäder <tbaeder@redhat.com> | |
1366 | ||
1367 | * include/bits/fs_ops.h: Fix filename in Doxygen comment. | |
1368 | * include/experimental/bits/fs_ops.h: Likewise. | |
1369 | ||
57ad4462 GA |
1370 | 2022-03-31 Jonathan Wakely <jwakely@redhat.com> |
1371 | ||
1372 | * libsupc++/new_opa.cc (aligned_alloc): Add comment. | |
1373 | ||
9f774626 GA |
1374 | 2022-03-29 Jonathan Wakely <jwakely@redhat.com> |
1375 | ||
1376 | * testsuite/18_support/exception/38732.cc: Disable for C++23. | |
1377 | * testsuite/18_support/headers/exception/synopsis.cc: Likewise. | |
1378 | * testsuite/18_support/unexpected_handler.cc: Likewise. | |
1379 | ||
1380 | 2022-03-29 Jonathan Wakely <jwakely@redhat.com> | |
1381 | ||
1382 | * libsupc++/compare (_Strong_order) [!__cpp_using_enum]: Add | |
1383 | static data members for _Fp_fmt enumerators. | |
1384 | ||
1385 | 2022-03-29 Jonathan Wakely <jwakely@redhat.com> | |
1386 | ||
1387 | * include/std/version (__cpp_lib_variant): Fix conditions to | |
1388 | match <variant>. | |
1389 | (__cpp_lib_expected): Fix condition to match <expected>. | |
1390 | ||
aab0127d GA |
1391 | 2022-03-28 Jonathan Wakely <jwakely@redhat.com> |
1392 | ||
1393 | * testsuite/20_util/optional/monadic/and_then.cc: Fix typo. | |
1394 | * testsuite/20_util/optional/monadic/transform.cc: Likewise. | |
1395 | * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise. | |
1396 | * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise. | |
1397 | * testsuite/22_locale/codecvt/in/char/1.cc: Likewise. | |
1398 | * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise. | |
1399 | * testsuite/22_locale/codecvt/out/char/1.cc: Likewise. | |
1400 | * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise. | |
1401 | ||
2c1c55d7 GA |
1402 | 2022-03-27 Jonathan Wakely <jwakely@redhat.com> |
1403 | ||
1404 | * doc/doxygen/user.cfg.in: Add new header. | |
1405 | * include/Makefile.am: Likewise. | |
1406 | * include/Makefile.in: Regenerate. | |
1407 | * include/precompiled/stdc++.h: Add new header. | |
1408 | * include/std/version (__cpp_lib_expected): Define. | |
1409 | * libsupc++/exception [__cplusplus > 202002] (unexpected) | |
1410 | (unexpected_handler, set_unexpected): Do not declare for C++23. | |
1411 | * include/std/expected: New file. | |
1412 | * testsuite/20_util/expected/assign.cc: New test. | |
1413 | * testsuite/20_util/expected/cons.cc: New test. | |
1414 | * testsuite/20_util/expected/illformed_neg.cc: New test. | |
1415 | * testsuite/20_util/expected/observers.cc: New test. | |
1416 | * testsuite/20_util/expected/requirements.cc: New test. | |
1417 | * testsuite/20_util/expected/swap.cc: New test. | |
1418 | * testsuite/20_util/expected/synopsis.cc: New test. | |
1419 | * testsuite/20_util/expected/unexpected.cc: New test. | |
1420 | * testsuite/20_util/expected/version.cc: New test. | |
1421 | ||
31e989a2 GA |
1422 | 2022-03-25 Jonathan Wakely <jwakely@redhat.com> |
1423 | ||
1424 | * include/std/bit (bit_cast, byteswap, endian): Add doxygen | |
1425 | comments. | |
1426 | ||
d1ca63a1 GA |
1427 | 2022-03-23 Jonathan Wakely <jwakely@redhat.com> |
1428 | ||
1429 | PR libstdc++/105027 | |
1430 | * include/std/bit (bit_cast): Add constraints. | |
1431 | * testsuite/26_numerics/bit/bit.cast/105027.cc: New test. | |
1432 | ||
1433 | 2022-03-23 Jonathan Wakely <jwakely@redhat.com> | |
1434 | ||
1435 | * include/std/version [!_GLIBCXX_HOSTED] | |
1436 | (__cpp_lib_hardware_interference_size): Define for freestanding. | |
1437 | (__cpp_lib_bit_cast): Likewise. | |
1438 | (__cpp_lib_is_layout_compatible): Likewise. | |
1439 | (__cpp_lib_is_pointer_interconvertible): Likewise. | |
1440 | (__cpp_lib_adaptor_iterator_pair_constructor): Do not define for | |
1441 | freestanding. | |
1442 | (__cpp_lib_invoke_r): Likewise. | |
1443 | (__cpp_lib_ios_noreplace): Likewise. | |
1444 | (__cpp_lib_monadic_optional): Likewise. | |
1445 | (__cpp_lib_move_only_function): Likewise. | |
1446 | (__cpp_lib_spanstream): Likewise. | |
1447 | (__cpp_lib_stacktrace): Likewise. | |
1448 | (__cpp_lib_string_contains): Likewise. | |
1449 | (__cpp_lib_string_resize_and_overwrite): Likewise. | |
1450 | (__cpp_lib_to_underlying): Likewise. | |
1451 | ||
1452 | 2022-03-23 Jonathan Wakely <jwakely@redhat.com> | |
1453 | ||
1454 | PR libstdc++/105021 | |
1455 | * include/bits/atomic_base.h [!_GLIBCXX_HOSTED]: Do not include | |
1456 | <bits/atomic_wait.h> for freestanding. | |
1457 | ||
a2287813 GA |
1458 | 2022-03-22 Hans-Peter Nilsson <hp@axis.com> |
1459 | ||
1460 | * testsuite/20_util/from_chars/6.cc (test01) [FE_DOWNWARD]: | |
1461 | Conditionalize call to fesetround. | |
1462 | ||
d156bb87 GA |
1463 | 2022-03-21 Jakub Jelinek <jakub@redhat.com> |
1464 | ||
1465 | PR libstdc++/104990 | |
1466 | * include/bits/locale_facets_nonio.tcc (get): Don't check if do_get | |
1467 | isn't overloaded if __clang__ is defined. | |
1468 | ||
8ca61ad1 GA |
1469 | 2022-03-18 Jonathan Wakely <jwakely@redhat.com> |
1470 | ||
1471 | PR libstdc++/104242 | |
1472 | * include/std/any (any(T&&)): Revert change to constraints. | |
1473 | * testsuite/20_util/any/cons/104242.cc: New test. | |
1474 | ||
1475 | 2022-03-18 Jonathan Wakely <jwakely@redhat.com> | |
1476 | ||
1477 | PR libstdc++/92546 | |
1478 | * include/pstl/glue_algorithm_defs.h: Replace <functional> with | |
1479 | <bits/stl_pair.h>. | |
1480 | * include/pstl/utils.h: Replace <iterator> with <type_traits>. | |
1481 | (__pstl::__internal::__except_handler): Use std::__terminate | |
1482 | instead of std::terminate. | |
1483 | * src/c++17/fs_path.cc: Include <array>. | |
1484 | * testsuite/25_algorithms/adjacent_find/constexpr.cc: Include | |
1485 | <functional>. | |
1486 | * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise. | |
1487 | * testsuite/25_algorithms/clamp/constrained.cc: Likewise. | |
1488 | * testsuite/25_algorithms/equal/constrained.cc: Likewise. | |
1489 | * testsuite/25_algorithms/for_each/constrained.cc: Likewise. | |
1490 | * testsuite/25_algorithms/includes/constrained.cc: Likewise. | |
1491 | * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise. | |
1492 | * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise. | |
1493 | * testsuite/25_algorithms/is_permutation/constrained.cc: Include | |
1494 | <iterator>. | |
1495 | * testsuite/25_algorithms/is_sorted/constexpr.cc: Include | |
1496 | <functional>. | |
1497 | * testsuite/25_algorithms/is_sorted_until/constexpr.cc: | |
1498 | Likewise. | |
1499 | * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: | |
1500 | Likewise. | |
1501 | * testsuite/25_algorithms/lexicographical_compare/constrained.cc: | |
1502 | Likewise. | |
1503 | * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc: | |
1504 | Include <array>. | |
1505 | * testsuite/25_algorithms/lower_bound/constexpr.cc: Include | |
1506 | <functional>. | |
1507 | * testsuite/25_algorithms/max/constrained.cc: Likewise. | |
1508 | * testsuite/25_algorithms/max_element/constrained.cc: Likewise. | |
1509 | * testsuite/25_algorithms/min/constrained.cc: Likewise. | |
1510 | * testsuite/25_algorithms/min_element/constrained.cc: Likewise. | |
1511 | * testsuite/25_algorithms/minmax_element/constrained.cc: | |
1512 | Likewise. | |
1513 | * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise. | |
1514 | * testsuite/25_algorithms/move/93872.cc: Likewise. | |
1515 | * testsuite/25_algorithms/move_backward/93872.cc: Include | |
1516 | <iterator>. | |
1517 | * testsuite/25_algorithms/nth_element/constexpr.cc: Include | |
1518 | <functional>. | |
1519 | * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise. | |
1520 | * testsuite/25_algorithms/partial_sort_copy/constexpr.cc: | |
1521 | Likewise. | |
1522 | * testsuite/25_algorithms/search/constexpr.cc: Likewise. | |
1523 | * testsuite/25_algorithms/search_n/constrained.cc: Likewise. | |
1524 | * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise. | |
1525 | * testsuite/25_algorithms/set_difference/constrained.cc: | |
1526 | Likewise. | |
1527 | * testsuite/25_algorithms/set_intersection/constexpr.cc: | |
1528 | Likewise. | |
1529 | * testsuite/25_algorithms/set_intersection/constrained.cc: | |
1530 | Likewise. | |
1531 | * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: | |
1532 | Likewise. | |
1533 | * testsuite/25_algorithms/set_union/constexpr.cc: Likewise. | |
1534 | * testsuite/25_algorithms/set_union/constrained.cc: Likewise. | |
1535 | * testsuite/25_algorithms/sort/constexpr.cc: Likewise. | |
1536 | * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise. | |
1537 | * testsuite/25_algorithms/transform/constrained.cc: Likewise. | |
1538 | * testsuite/25_algorithms/unique/constexpr.cc: Likewise. | |
1539 | * testsuite/25_algorithms/unique/constrained.cc: Likewise. | |
1540 | * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise. | |
1541 | * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise. | |
1542 | * testsuite/std/ranges/adaptors/elements.cc: Include <vector>. | |
1543 | * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise. | |
1544 | * testsuite/std/ranges/adaptors/split.cc: Likewise. | |
1545 | ||
e9ea3016 GA |
1546 | 2022-03-17 Jonathan Wakely <jwakely@redhat.com> |
1547 | ||
1548 | PR libstdc++/92546 | |
1549 | * include/bits/fs_path.h (path::make_preferred): Use | |
1550 | handwritten loop instead of std::replace. | |
1551 | ||
1552 | 2022-03-17 Jonathan Wakely <jwakely@redhat.com> | |
1553 | ||
1554 | PR middle-end/104966 | |
1555 | * include/bits/locale_facets_nonio.tcc | |
1556 | (__moneypunct_cache::_M_cache): Replace try-catch with RAII and | |
1557 | make all string copies before any stores to *this. | |
1558 | ||
1559 | 2022-03-17 Jonathan Wakely <jwakely@redhat.com> | |
1560 | ||
1561 | * testsuite/util/testsuite_character.h: Fix comment. | |
1562 | ||
9fc8f278 GA |
1563 | 2022-03-16 Jonathan Wakely <jwakely@redhat.com> |
1564 | ||
1565 | PR libstdc++/103407 | |
1566 | * config/abi/pre/gnu.ver: Make version for std::from_chars | |
1567 | depend on HAVE_USELOCALE macro. | |
1568 | * testsuite/util/testsuite_abi.cc (compare_symbols): Treat | |
1569 | std::from_chars for floating-point types as undesignated if | |
1570 | not found in the baseline symbols file. | |
1571 | ||
1572 | 2022-03-16 Jonathan Wakely <jwakely@redhat.com> | |
1573 | ||
1574 | * include/std/charconv (__cpp_lib_to_chars): Only define when | |
1575 | both from_chars and to_chars are supported for floating-point | |
1576 | types. | |
1577 | (from_chars, to_chars): Adjust preprocessor conditions guarding | |
1578 | declarations. | |
1579 | * include/std/version (__cpp_lib_to_chars): Adjust condition to | |
1580 | match <charconv> definition. | |
1581 | * src/c++17/floating_from_chars.cc (from_chars_strtod): New | |
1582 | function template. | |
1583 | (from_chars): Simplify preprocessor checks and use | |
1584 | from_chars_strtod when appropriate. | |
1585 | ||
510613e7 GA |
1586 | 2022-03-14 Jonathan Wakely <jwakely@redhat.com> |
1587 | ||
1588 | PR libstdc++/104875 | |
1589 | * src/c++11/codecvt.cc (read_utf8_code_point): Use char32_t to | |
1590 | hold octets that will be left-shifted. | |
1591 | ||
5e28be89 GA |
1592 | 2022-03-10 Jonathan Wakely <jwakely@redhat.com> |
1593 | ||
1594 | PR libstdc++/104870 | |
1595 | * src/c++17/floating_from_chars.cc: Check __SIZE_WIDTH__ >= 32 | |
1596 | before using fast_float. | |
1597 | ||
1598 | 2022-03-10 Detlef Vollmann <dv@vollmann.ch> | |
1599 | ||
1600 | PR libstdc++/104866 | |
1601 | * include/bits/this_thread_sleep.h: Fix order of #endif and | |
1602 | closing brace of namespace. | |
1603 | ||
1604 | 2022-03-10 Jonathan Wakely <jwakely@redhat.com> | |
1605 | ||
1606 | * libsupc++/compare (_Strong_order::_S_fp_cmp) [__vax__]: | |
1607 | Handle NaN. | |
1608 | ||
1609 | 2022-03-10 Jonathan Wakely <jwakely@redhat.com> | |
1610 | ||
1611 | * libsupc++/compare (_Strong_ordering::_S_fp_cmp) [__vax__]: Use | |
1612 | <=> comparison. | |
1613 | ||
8cc4f9cd GA |
1614 | 2022-03-09 Patrick Palka <ppalka@redhat.com> |
1615 | ||
1616 | PR libstdc++/104859 | |
1617 | * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): | |
1618 | Be explicit when narrowing the shifted effective_mantissa, | |
1619 | since it may have an integer-class type. | |
1620 | ||
8d038a84 GA |
1621 | 2022-03-08 Jonathan Wakely <jwakely@redhat.com> |
1622 | ||
1623 | * include/bits/uses_allocator_args.h: Remove incorrect copyright | |
1624 | notice. | |
1625 | ||
e6533e2e GA |
1626 | 2022-03-07 Jonathan Wakely <jwakely@redhat.com> |
1627 | ||
1628 | PR libstdc++/104807 | |
1629 | * include/bits/c++config (__terminate, __glibcxx_assert_fail): | |
1630 | Replace _GLIBCXX_VISIBILITY on function with visibility pragma. | |
1631 | (__is_constant_evaluated): Add visibility pragma. | |
1632 | ||
1633 | 2022-03-07 Rasmus Villemoes <rasmus.villemoes@prevas.dk> | |
1634 | ||
1635 | * config/locale/vxworks/ctype_members.cc: Remove <iostream> | |
1636 | include. | |
1637 | ||
762181c5 GA |
1638 | 2022-03-05 Jonathan Wakely <jwakely@redhat.com> |
1639 | ||
1640 | * include/bits/c++config (__glibcxx_assert_fail): Add visibility | |
1641 | attribute. | |
1642 | (__terminate): Likewise. | |
1643 | ||
8d96e14c GA |
1644 | 2022-03-04 Jonathan Wakely <jwakely@redhat.com> |
1645 | ||
1646 | * libsupc++/compare (strong_order::_S_fp_cmp): Move typedef | |
1647 | inside #if condition. | |
1648 | ||
fc03ebdc GA |
1649 | 2022-03-03 Jonathan Wakely <jwakely@redhat.com> |
1650 | ||
1651 | PR libstdc++/104748 | |
1652 | * testsuite/std/ranges/adaptors/all.cc: Use non-debug vector for | |
1653 | constexpr test. | |
1654 | ||
1655 | 2022-03-03 Jonathan Wakely <jwakely@redhat.com> | |
1656 | ||
1657 | * testsuite/17_intro/names.cc (func): Undef on AIX. | |
1658 | ||
1659 | 2022-03-03 Jonathan Wakely <jwakely@redhat.com> | |
1660 | ||
1661 | PR libstdc++/96526 | |
1662 | * libsupc++/compare (strong_order): Add missing support for | |
1663 | floating-point types. | |
1664 | * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc: | |
1665 | New test. | |
1666 | ||
12d4552e GA |
1667 | 2022-03-01 Jonathan Wakely <jwakely@redhat.com> |
1668 | ||
1669 | PR middle-end/103984 | |
1670 | * include/bits/regex_compiler.h (_BracketMatcher::_M_char): Use | |
1671 | default member initializer. | |
1672 | ||
756a6185 GA |
1673 | 2022-02-24 Jonathan Wakely <jwakely@redhat.com> |
1674 | ||
1675 | PR libstdc++/104602 | |
1676 | * include/std/source_location (source_location::current): Use | |
1677 | deduced type of __builtin_source_location(). | |
1678 | ||
2cfb33fc GA |
1679 | 2022-02-22 Patrick Palka <ppalka@redhat.com> |
1680 | ||
1681 | * include/bits/ranges_base.h (__detail::__is_initializer_list): | |
1682 | Define. | |
1683 | (viewable_range): Adjust as per P2415R2. | |
1684 | * include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value. | |
1685 | * include/std/ranges (owning_view): Define as per P2415R2. | |
1686 | (enable_borrowed_range<owning_view>): Likewise. | |
1687 | (views::__detail::__can_subrange): Replace with ... | |
1688 | (views::__detail::__can_owning_view): ... this. | |
1689 | (views::_All::_S_noexcept): Sync with operator(). | |
1690 | (views::_All::operator()): Use owning_view instead of subrange | |
1691 | as per P2415R2. | |
1692 | * include/std/version (__cpp_lib_ranges): Adjust value. | |
1693 | * testsuite/std/ranges/adaptors/all.cc (test06): Adjust now that | |
1694 | views::all uses owning_view instead of subrange. | |
1695 | (test08): New test. | |
1696 | * testsuite/std/ranges/adaptors/lazy_split.cc (test09): Adjust | |
1697 | now that rvalue non-view non-borrowed ranges are viewable. | |
1698 | * testsuite/std/ranges/adaptors/split.cc (test06): Likewise. | |
1699 | ||
0bdb0498 GA |
1700 | 2022-02-17 Jonathan Wakely <jwakely@redhat.com> |
1701 | ||
1702 | PR libstdc++/104559 | |
1703 | * doc/xml/manual/evolution.xml: Document deprecation. | |
1704 | * doc/html/manual/api.html: Regenerate. | |
1705 | * include/bits/stl_bvector.h (insert(const_iterator, const bool&)): | |
1706 | Remove default argument. | |
1707 | (insert(const_iterator)): New overload with deprecated attribute. | |
1708 | * testsuite/23_containers/vector/bool/modifiers/insert/104559.cc: | |
1709 | New test. | |
1710 | ||
1711 | 2022-02-17 Jonathan Wakely <jwakely@redhat.com> | |
1712 | ||
1713 | * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Replace | |
1714 | code that call cat->name() on std::error_category objects. | |
1715 | Identify known categories by symbol name and use a hardcoded | |
1716 | name. Print error code values as enumerators where appopriate. | |
1717 | * testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected | |
1718 | name of custom category. Check io_errc and future_errc errors. | |
1719 | ||
875e493b GA |
1720 | 2022-02-15 Jonathan Wakely <jwakely@redhat.com> |
1721 | ||
1722 | PR libstdc++/104542 | |
1723 | * include/bits/uses_allocator_args.h (make_obj_using_allocator) | |
1724 | (uninitialized_construct_using_allocator): Add constexpr. | |
1725 | * testsuite/20_util/uses_allocator/make_obj.cc: Check constexpr. | |
1726 | * testsuite/20_util/uses_allocator/uninitialized_construct.cc: New test. | |
1727 | ||
1f8a09d2 GA |
1728 | 2022-02-14 Jonathan Wakely <jwakely@redhat.com> |
1729 | ||
1730 | PR libstdc++/100912 | |
1731 | * config/locale/gnu/c_locale.h (__convert_from_v): Use inline | |
1732 | namespace for IEEE128 long double mode. | |
1733 | * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add new symbol | |
1734 | version and export __gnu_cxx_ieee128::__convert_from_v. | |
1735 | * include/bits/locale_facets_nonio.tcc (money_put::__do_put): | |
1736 | Make __ibm128 overload use snprintf directly | |
1737 | * testsuite/util/testsuite_abi.cc: Add new symbol version. | |
1738 | Remove stable IEEE128/LDBL versions. | |
1739 | ||
1740 | 2022-02-14 Jonathan Wakely <jwakely@redhat.com> | |
1741 | ||
1742 | PR libstdc++/103891 | |
1743 | * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS): | |
1744 | Remove. | |
1745 | * include/std/variant: Check feature test macros instead. | |
1746 | * include/std/version: Likewise. | |
1747 | ||
1748 | 2022-02-14 Jonathan Wakely <jwakely@redhat.com> | |
1749 | ||
1750 | * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: | |
1751 | Fix typo. | |
1752 | ||
1753 | 2022-02-14 Jonathan Wakely <jwakely@redhat.com> | |
1754 | ||
1755 | * src/c++17/floating_to_chars.cc (FLOAT128_TO_CHARS): Depend on | |
1756 | LONG_DOUBLE_ALT128_COMPAT instead of USE_FLOAT128. | |
1757 | ||
e8d68f0a GA |
1758 | 2022-02-11 Jonathan Wakely <jwakely@redhat.com> |
1759 | ||
1760 | * testsuite/20_util/temporary_buffer.cc: Fix dg-warning target | |
1761 | selector. | |
1762 | ||
1763 | 2022-02-11 Jonathan Wakely <jwakely@redhat.com> | |
1764 | ||
1765 | * testsuite/20_util/monotonic_buffer_resource/allocate.cc: | |
1766 | Ignore -Walloc-larger-than warning. | |
1767 | * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: | |
1768 | Likewise. | |
1769 | * testsuite/29_atomics/atomic/cons/user_pod.cc: Compile with -O1 | |
1770 | to avoid linker error for __atomic_is_lock_free. | |
1771 | ||
a645583d GA |
1772 | 2022-02-10 Thomas Rodgers <rodgert@appliantology.com> |
1773 | ||
1774 | * include/bits/atomic_wait.h (__waiter_base::_S_do_spin, | |
1775 | __waiter_base::_S_do_spin_v): Change memory order from relaxed | |
1776 | to acquire. | |
1777 | ||
1778 | 2022-02-10 Jonathan Wakely <jwakely@redhat.com> | |
1779 | ||
1780 | * include/c_compatibility/stdatomic.h (atomic_fetch_xor): Add | |
1781 | using-declaration. | |
1782 | (atomic_fetch_xor_explicit): Likewise. | |
1783 | * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Check | |
1784 | arithmetic and logical operations for atomic_int. | |
1785 | ||
1786 | 2022-02-10 Jonathan Wakely <jwakely@redhat.com> | |
1787 | ||
1788 | * src/filesystem/dir-common.h (_GLIBCXX_HAVE_DIRFD): Undefine | |
1789 | when <dirent.h> is not available. | |
1790 | (_GLIBCXX_HAVE_UNLINKAT): Likewise. | |
1791 | ||
3adf509f GA |
1792 | 2022-02-09 Thomas Rodgers <rodgert@appliantology.com> |
1793 | ||
1794 | PR libstdc++/104442 | |
1795 | * include/bits/atomic_wait.h (__waiter::_M_do_wait_v): Move spin | |
1796 | loop inside do loop so that threads failing the wait, reload | |
1797 | _M_ver. | |
1798 | ||
2a2fda2d GA |
1799 | 2022-02-08 Jonathan Wakely <jwakely@redhat.com> |
1800 | ||
1801 | * src/c++17/fs_dir.cc (_Dir(DIR*, const path&)): Change first | |
1802 | parameter to _Dir_base&&. | |
1803 | * src/filesystem/dir-common.h (_Dir_base(DIR*)): Remove. | |
1804 | * src/filesystem/dir.cc (_Dir(DIR*, const path&)): Change first | |
1805 | parameter to _Dir_base&&. | |
1806 | ||
1807 | 2022-02-08 Jonathan Wakely <jwakely@redhat.com> | |
1808 | ||
1809 | * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Add comment about | |
1810 | checking for CAS on correct word size. | |
1811 | ||
1812 | 2022-02-08 Jonathan Wakely <jwakely@redhat.com> | |
1813 | ||
1814 | * testsuite/experimental/filesystem/operations/create_directories.cc: | |
1815 | Adjust expected results for Windows. | |
1816 | ||
1817 | 2022-02-08 Jonathan Wakely <jwakely@redhat.com> | |
1818 | ||
1819 | PR libstdc++/104161 | |
1820 | * src/c++17/fs_dir.cc (fs::recursive_directory_iterator::__erase): | |
1821 | [i_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Refresh entry._M_type member, | |
1822 | instead of checking for errno values indicating a directory. | |
1823 | * src/c++17/fs_ops.cc (fs::remove_all(const path&)): Use similar | |
1824 | logic to non-throwing overload. | |
1825 | (fs::remove_all(const path&, error_code&)): Add comments. | |
1826 | * src/filesystem/ops-common.h: Likewise. | |
1827 | ||
3c1cbde1 GA |
1828 | 2022-02-04 Jonathan Wakely <jwakely@redhat.com> |
1829 | ||
1830 | * src/filesystem/dir-common.h (_Dir_base::openat): Change return | |
1831 | type to use portable posix::DIR alias. | |
1832 | ||
1833 | 2022-02-04 Jonathan Wakely <jwakely@redhat.com> | |
1834 | ||
1835 | * include/c_compatibility/stdatomic.h [__clang__]: Use | |
1836 | #include_next <stdatomic.h>. | |
1837 | ||
1838 | 2022-02-04 Jonathan Wakely <jwakely@redhat.com> | |
1839 | ||
1840 | * include/experimental/bits/fs_ops.h (fs::copy_file): Remove | |
1841 | noexcept. | |
1842 | (fs::create_directories): Likewise. | |
1843 | (fs::remove_all): Likewise. | |
1844 | * src/filesystem/ops.cc (fs::copy_file): Remove noexcept. | |
1845 | (fs::create_directories): Likewise. | |
1846 | (fs::remove_all): Likewise. | |
1847 | ||
1848 | 2022-02-04 Jonathan Wakely <jwakely@redhat.com> | |
1849 | ||
1850 | PR libstdc++/104161 | |
1851 | * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for dirfd | |
1852 | and unlinkat. | |
1853 | * config.h.in: Regenerate. | |
1854 | * configure: Regenerate. | |
1855 | * include/bits/fs_dir.h (recursive_directory_iterator): Declare | |
1856 | remove_all overloads as friends. | |
1857 | (recursive_directory_iterator::__erase): Declare new member | |
1858 | function. | |
1859 | * include/bits/fs_fwd.h (remove, remove_all): Declare. | |
1860 | * src/c++17/fs_dir.cc (_Dir): Add filename_only parameter to | |
1861 | constructor. Pass file descriptor argument to base constructor. | |
1862 | (_Dir::dir_and_pathname, _Dir::open_subdir, _Dir::do_unlink) | |
1863 | (_Dir::unlink, _Dir::rmdir): Define new member functions. | |
1864 | (directory_iterator): Pass filename_only argument to _Dir | |
1865 | constructor. | |
1866 | (recursive_directory_iterator::_Dir_stack): Adjust constructor | |
1867 | parameters to take a _Dir rvalue instead of creating one. | |
1868 | (_Dir_stack::orig): Add data member for storing original path. | |
1869 | (_Dir_stack::report_error): Define new member function. | |
1870 | (__directory_iterator_nofollow): Move here from dir-common.h and | |
1871 | fix value to be a power of two. | |
1872 | (__directory_iterator_filename_only): Define new constant. | |
1873 | (recursive_directory_iterator): Construct _Dir object and move | |
1874 | into _M_dirs stack. Pass skip_permission_denied argument to first | |
1875 | advance call. | |
1876 | (recursive_directory_iterator::increment): Use _Dir::open_subdir. | |
1877 | (recursive_directory_iterator::__erase): Define new member | |
1878 | function. | |
1879 | * src/c++17/fs_ops.cc (ErrorReporter, do_remove_all): Remove. | |
1880 | (fs::remove_all): Use new recursive_directory_iterator::__erase | |
1881 | member function. | |
1882 | * src/filesystem/dir-common.h (_Dir_base): Add int parameter to | |
1883 | constructor and use openat to implement nofollow semantics. | |
1884 | (_Dir_base::fdcwd, _Dir_base::set_close_on_exec, _Dir_base::openat): | |
1885 | Define new member functions. | |
1886 | (__directory_iterator_nofollow): Move to fs_dir.cc. | |
1887 | * src/filesystem/dir.cc (_Dir): Pass file descriptor argument to | |
1888 | base constructor. | |
1889 | (_Dir::dir_and_pathname, _Dir::open_subdir): Define new member | |
1890 | functions. | |
1891 | (recursive_directory_iterator::_Dir_stack): Adjust constructor | |
1892 | parameters to take a _Dir rvalue instead of creating one. | |
1893 | (recursive_directory_iterator): Check for new nofollow option. | |
1894 | Construct _Dir object and move into _M_dirs stack. Pass | |
1895 | skip_permission_denied argument to first advance call. | |
1896 | (recursive_directory_iterator::increment): Use _Dir::open_subdir. | |
1897 | * src/filesystem/ops.cc (fs::remove_all): Use C++17 remove_all. | |
1898 | ||
1899 | 2022-02-04 Jonathan Wakely <jwakely@redhat.com> | |
1900 | ||
1901 | * include/bits/allocator.h: Qualify std::allocator_traits in | |
1902 | deprecated warnings. | |
1903 | * libsupc++/exception (uncaught_exception): Add suggestion to | |
1904 | deprecated warning. | |
1905 | ||
88944e13 GA |
1906 | 2022-02-02 Jonathan Wakely <jwakely@redhat.com> |
1907 | ||
1908 | * src/c++17/fs_dir.cc (fs::recursive_directory_iterator::pop): | |
1909 | Add [[maybe_unused]] attribute. | |
1910 | * src/filesystem/dir.cc (fs::recursive_directory_iterator::pop): | |
1911 | Likewise. | |
1912 | ||
1913 | 2022-02-02 Jonathan Wakely <jwakely@redhat.com> | |
1914 | ||
1915 | * testsuite/23_containers/multiset/operators/cmp_c++20.cc: Use | |
1916 | custom comparison function for multiset. | |
1917 | * testsuite/23_containers/set/operators/cmp_c++20.cc: Use custom | |
1918 | comparison function for set. | |
1919 | ||
1920 | 2022-02-02 Jonathan Wakely <jwakely@redhat.com> | |
1921 | ||
1922 | * include/bits/boost_concept_check.h (_OutputIteratorConcept): | |
1923 | Change member function to data member of function pointer type. | |
1924 | ||
1925 | 2022-02-02 Martin Sebor <msebor@redhat.com> | |
1926 | ||
1927 | PR libstdc++/101831 | |
1928 | * include/std/array (begin): Declare const member function attribute | |
1929 | const. | |
1930 | (end, rbegin, rend, size, max_size, empty, data): Same. | |
1931 | * testsuite/23_containers/array/capacity/empty.cc: Add test cases. | |
1932 | * testsuite/23_containers/array/capacity/max_size.cc: Same. | |
1933 | * testsuite/23_containers/array/capacity/size.cc: Same. | |
1934 | * testsuite/23_containers/array/iterators/begin_end.cc: New test. | |
1935 | ||
ae7e4af9 GA |
1936 | 2022-02-02 Jonathan Wakely <jwakely@redhat.com> |
1937 | ||
1938 | * testsuite/27_io/filesystem/iterators/error_reporting.cc: Use | |
1939 | autoconf macro to check whether d_type is present. | |
1940 | * testsuite/experimental/filesystem/iterators/error_reporting.cc: | |
1941 | Likewise. | |
1942 | ||
1943 | 2022-02-01 Jonathan Wakely <jwakely@redhat.com> | |
1944 | ||
1945 | * testsuite/27_io/filesystem/iterators/97731.cc: New test. | |
1946 | * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: | |
1947 | Check follow_directory_symlink option. | |
1948 | * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc: | |
1949 | Likewise. | |
1950 | ||
1951 | 2022-02-01 Jonathan Wakely <jwakely@redhat.com> | |
1952 | ||
1953 | * src/c++17/fs_dir.cc (recursive_directory_iterator::increment): | |
1954 | Reset state to past-the-end iterator on error. | |
1955 | (fs::recursive_directory_iterator::pop(error_code&)): Likewise. | |
1956 | (fs::recursive_directory_iterator::pop()): Check _M_dirs before | |
1957 | it might get reset. | |
1958 | * src/filesystem/dir.cc (recursive_directory_iterator): Likewise, | |
1959 | for the TS implementation. | |
1960 | * testsuite/27_io/filesystem/iterators/error_reporting.cc: New test. | |
1961 | * testsuite/experimental/filesystem/iterators/error_reporting.cc: New test. | |
1962 | ||
1963 | 2022-02-01 Jonathan Wakely <jwakely@redhat.com> | |
1964 | ||
1965 | * include/bits/fs_fwd.h (filesystem::perms): Fix comment. | |
1966 | ||
1967 | 2022-02-01 Jonathan Wakely <jwakely@redhat.com> | |
1968 | ||
1969 | PR libstdc++/104301 | |
1970 | * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Print different messages | |
1971 | for stdio_pure and stdio_posix options. | |
1972 | * configure: Regenerate. | |
1973 | ||
1974 | 2022-02-01 Thomas Rodgers <rodgert@appliantology.com> | |
1975 | ||
1976 | * include/bits/atomic_wait.h: Change memory order from | |
1977 | Acquire/Release with relaxed loads to SeqCst+Release for | |
1978 | accesses to the waiter's count. | |
1979 | ||
1bb52662 GA |
1980 | 2022-01-31 Martin Liska <mliska@suse.cz> |
1981 | ||
1982 | * acinclude.m4: Detect *_ld_is_mold and use it. | |
1983 | * configure: Regenerate. | |
1984 | ||
c67ffc25 GA |
1985 | 2022-01-30 Hans-Peter Nilsson <hp@axis.com> |
1986 | ||
1987 | * testsuite/27_io/basic_istream/get/char/lwg3464.cc: Don't run on | |
1988 | simulator targets. | |
1989 | * testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: Likewise. | |
1990 | ||
99f17e99 GA |
1991 | 2022-01-27 Jonathan Wakely <jwakely@redhat.com> |
1992 | ||
1993 | PR libstdc++/100516 | |
1994 | * include/bits/deque.tcc (_M_range_initialize<ForwardIterator>): | |
1995 | Add __builtin_unreachable to loop. | |
1996 | * testsuite/23_containers/deque/100516.cc: New test. | |
1997 | ||
1998 | 2022-01-27 Jonathan Wakely <jwakely@redhat.com> | |
1999 | ||
2000 | * include/bits/ranges_base.h (ranges::advance): Avoid signed | |
2001 | overflow. Do nothing if already equal to desired result. | |
2002 | * testsuite/24_iterators/range_operations/advance_overflow.cc: | |
2003 | New test. | |
2004 | ||
2005 | 2022-01-27 Martin Liska <mliska@suse.cz> | |
2006 | ||
2007 | PR libstdc++/104259 | |
2008 | * acinclude.m4: Fix typo. | |
2009 | * configure: Regenerate. | |
2010 | ||
e0b8716f GA |
2011 | 2022-01-25 Jonathan Wakely <jwakely@redhat.com> |
2012 | ||
2013 | PR libstdc++/104019 | |
2014 | * include/bits/istream.tcc (basic_istream::sentry): Add braces | |
2015 | around try-block. | |
2016 | * include/bits/shared_ptr_base.h (_Sp_counted_array_base::_M_init): | |
2017 | Add pragmas to disable bogus warnings from PR 61596. | |
2018 | ||
2019 | 2022-01-25 Jonathan Wakely <jwakely@redhat.com> | |
2020 | ||
2021 | PR libstdc++/104217 | |
2022 | * src/c++17/fs_ops.cc (_GNU_SOURCE): Define. | |
2023 | * src/filesystem/dir.cc (_GNU_SOURCE): Define. | |
2024 | * src/filesystem/ops.cc (_GNU_SOURCE): Define. | |
2025 | ||
2026 | 2022-01-25 Jonathan Wakely <jwakely@redhat.com> | |
2027 | ||
2028 | PR libstdc++/104161 | |
2029 | * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for | |
2030 | fdopendir. | |
2031 | * config.h.in: Regenerate. | |
2032 | * configure: Regenerate. | |
2033 | * src/c++17/fs_dir.cc (_Dir): Add nofollow flag to constructor | |
2034 | and pass it to base class constructor. | |
2035 | (directory_iterator): Pass nofollow flag to _Dir constructor. | |
2036 | (fs::recursive_directory_iterator::increment): Likewise. | |
2037 | * src/c++17/fs_ops.cc (do_remove_all): Use nofollow option for | |
2038 | directory_iterator constructor. Move error check outside loop. | |
2039 | * src/filesystem/dir-common.h (_Dir_base): Add nofollow flag to | |
2040 | constructor and when it's set use ::open with O_NOFOLLOW and | |
2041 | O_DIRECTORY. | |
2042 | * src/filesystem/dir.cc (_Dir): Add nofollow flag to constructor | |
2043 | and pass it to base class constructor. | |
2044 | (directory_iterator): Pass nofollow flag to _Dir constructor. | |
2045 | (fs::recursive_directory_iterator::increment): Likewise. | |
2046 | * src/filesystem/ops.cc (remove_all): Use nofollow option for | |
2047 | directory_iterator constructor. Move error check outside loop. | |
2048 | ||
0c940703 GA |
2049 | 2022-01-23 Jonathan Wakely <jwakely@redhat.com> |
2050 | ||
2051 | PR libstdc++/104032 | |
2052 | * include/std/spanstream (basic_spanbuf(basic_spanbuf&&)): Use | |
2053 | mem-initializer for _M_buf. | |
2054 | (basic_spanbuf::Operator=(basic_spanbuf&&)): Fix ill-formed | |
2055 | member access. | |
2056 | * testsuite/27_io/spanstream/2.cc: New test. | |
2057 | ||
2058 | 2022-01-23 Jonathan Wakely <jwakely@redhat.com> | |
2059 | ||
2060 | * src/c++17/floating_from_chars.cc (USE_STRTOD_FOR_FROM_CHARS): | |
2061 | Define macro for case where std::from_chars is implemented in | |
2062 | terms of strtod, strtof or strtold. | |
2063 | (buffer_resource, valid_fmt, find_end_of_float, pattern) | |
2064 | (from_chars_impl, make_result, reserve_string): Do not define | |
2065 | unless USE_STRTOD_FOR_FROM_CHARS is defined. | |
2066 | (from_chars): Define when at least one of USE_LIB_FAST_FLOAT and | |
2067 | USE_STRTOD_FOR_FROM_CHARS is defined, instead of | |
2068 | _GLIBCXX_HAVE_USELOCALE. Use fast_float for long double when it | |
2069 | is binary64. | |
2070 | ||
2071 | 2022-01-23 Jonathan Wakely <jwakely@redhat.com> | |
2072 | ||
2073 | PR libstdc++/104174 | |
2074 | * include/bits/hashtable_policy.h (_Map_base): Add partial | |
2075 | specialization for maps with const key types. | |
2076 | * testsuite/23_containers/unordered_map/104174.cc: New test. | |
2077 | ||
2078 | 2022-01-23 Jonathan Wakely <jwakely@redhat.com> | |
2079 | ||
2080 | PR libstdc++/104019 | |
2081 | * include/bits/shared_ptr_base.h (_Sp_counted_base<>::_M_release): | |
2082 | Set members to zero without type punning. | |
2083 | ||
9dd44357 GA |
2084 | 2022-01-21 Jonathan Wakely <jwakely@redhat.com> |
2085 | ||
2086 | * testsuite/20_util/shared_ptr/cons/array.cc: Fix comment. | |
2087 | ||
2088 | 2022-01-21 Jonathan Wakely <jwakely@redhat.com> | |
2089 | ||
2090 | PR libstdc++/87193 | |
2091 | PR libstdc++/104019 | |
2092 | * include/bits/alloc_traits.h (__cpp_lib_allocator_traits_is_always_equal): | |
2093 | Define as type long. | |
2094 | * include/bits/allocator.h (__cpp_lib_incomplete_container_elements): | |
2095 | Likewise. | |
2096 | * include/bits/basic_string.h (__cpp_lib_string_udls): Likewise. | |
2097 | * include/bits/chrono.h (__cpp_lib_chrono): Likewise. | |
2098 | (__cpp_lib_chrono_udls): Likewise. | |
2099 | * include/bits/move.h (__cpp_lib_addressof_constexpr): Likewise. | |
2100 | * include/bits/node_handle.h (__cpp_lib_node_extract): Likewise. | |
2101 | * include/bits/range_access.h (__cpp_lib_nonmember_container_access): | |
2102 | Likewise. | |
2103 | * include/bits/shared_ptr.h (__cpp_lib_enable_shared_from_this): | |
2104 | Likewise. | |
2105 | * include/bits/stl_algo.h (__cpp_lib_clamp): Likewise. | |
2106 | (__cpp_lib_sample): Likewise. | |
2107 | * include/bits/stl_algobase.h (__cpp_lib_robust_nonmodifying_seq_ops): | |
2108 | Likewise. | |
2109 | * include/bits/stl_function.h (__cpp_lib_transparent_operators): | |
2110 | Likewise. | |
2111 | * include/bits/stl_iterator.h (__cpp_lib_make_reverse_iterator): | |
2112 | Likewise. | |
2113 | * include/bits/stl_map.h (__cpp_lib_map_try_emplace): | |
2114 | Likewise. | |
2115 | * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup): | |
2116 | Likewise. | |
2117 | * include/bits/unique_ptr.h (__cpp_lib_make_unique): | |
2118 | Likewise. | |
2119 | * include/bits/unordered_map.h (__cpp_lib_unordered_map_try_emplace): | |
2120 | Likewise. | |
2121 | * include/c_global/cmath (__cpp_lib_hypot): Likewise. | |
2122 | * include/c_global/cstddef (__cpp_lib_byte): Likewise. | |
2123 | * include/std/atomic (__cpp_lib_atomic_is_always_lock_free): | |
2124 | Likewise. | |
2125 | * include/std/complex (__cpp_lib_complex_udls): Likewise. | |
2126 | * include/std/filesystem (__cpp_lib_filesystem): Likewise. | |
2127 | * include/std/functional (__cpp_lib_not_fn): Likewise. | |
2128 | (__cpp_lib_boyer_moore_searcher): Likewise. | |
2129 | * include/std/iomanip (__cpp_lib_quoted_string_io): Likewise. | |
2130 | * include/std/mutex (__cpp_lib_scoped_lock): Likewise. | |
2131 | * include/std/numeric (__cpp_lib_gcd_lcm): Likewise. | |
2132 | (__cpp_lib_gcd, __cpp_lib_lcm): Likewise. | |
2133 | * include/std/tuple (__cpp_lib_apply): Likewise. | |
2134 | (__cpp_lib_make_from_tuple): Likewise. | |
2135 | * include/std/type_traits (__cpp_lib_integral_constant_callable) | |
2136 | (__cpp_lib_bool_constant, __cpp_lib_logical_traits) | |
2137 | (__cpp_lib_is_null_pointer, __cpp_lib_transformation_trait_aliases) | |
2138 | (__cpp_lib_result_of_sfinae, __cpp_lib_void_t) | |
2139 | (__cpp_lib_is_swappable, __cpp_lib_is_invocable) | |
2140 | (__cpp_lib_has_unique_object_representations) | |
2141 | (__cpp_lib_is_aggregate): Likewise. | |
2142 | * include/std/version: Likewise. | |
2143 | * libsupc++/new (__cpp_lib_launder): Likewise. | |
2144 | ||
2145 | 2022-01-21 Jonathan Wakely <jwakely@redhat.com> | |
2146 | ||
2147 | * include/std/version (__cpp_lib_shared_ptr_arrays): Fix | |
2148 | condition for C++17 definition. | |
2149 | ||
2150 | 2022-01-21 Jonathan Wakely <jwakely@redhat.com> | |
2151 | ||
2152 | * include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count): | |
2153 | Add constexpr. | |
2154 | (_Sp_atomic::_M_ptr): Add default member-initializer. | |
2155 | * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: | |
2156 | Check constant initialization. | |
2157 | * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise. | |
2158 | ||
5fa55d55 GA |
2159 | 2022-01-20 Jonathan Wakely <jwakely@redhat.com> |
2160 | ||
2161 | * src/c++11/cxx11-ios_failure.cc (__constinit): Define as | |
2162 | equivalent attribute for Clang. | |
2163 | * src/c++11/future.cc (__constinit): Likewise. | |
2164 | * src/c++11/system_error.cc (__constinit): Likewise. | |
2165 | * src/c++17/memory_resource.cc (__constinit): Likewise. | |
2166 | ||
2167 | 2022-01-20 Jonathan Wakely <jwakely@redhat.com> | |
2168 | ||
2169 | * scripts/testsuite_flags.in: Only add src/filesystem/.libs and | |
2170 | src/libbacktrace/.libs to LDFLAGS if those directories exist. | |
2171 | ||
fe1ad141 GA |
2172 | 2022-01-19 Jonathan Wakely <jwakely@redhat.com> |
2173 | ||
2174 | * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Remove -gdwarf-4 | |
2175 | from default flags. | |
2176 | * configure: Regenerate. | |
2177 | ||
2178 | 2022-01-19 Jonathan Wakely <jwakely@redhat.com> | |
2179 | ||
2180 | PR libstdc++/104123 | |
2181 | * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Include | |
2182 | <stddef.h>. | |
2183 | ||
2184 | 2022-01-19 Jonathan Wakely <jwakely@redhat.com> | |
2185 | ||
2186 | * scripts/testsuite_flags.in: Add src/libbacktrace/.libs to | |
2187 | linker search paths. | |
2188 | * src/Makefile.am: Fix src/debug/libbacktrace build. | |
2189 | * src/Makefile.in: Regenerate. | |
2190 | * src/libbacktrace/Makefile.am: Use per-library CPPFLAGS | |
2191 | variable. Use symlinks for the source files. | |
2192 | * src/libbacktrace/Makefile.in: Regenerate. | |
2193 | ||
2194 | 2022-01-19 Matthias Kretz <m.kretz@gsi.de> | |
2195 | ||
2196 | * include/experimental/bits/simd.h (__floating_point_flags): Do | |
2197 | not rely on math_errhandling to expand to a constant expression. | |
2198 | ||
2199 | 2022-01-19 Jonathan Wakely <jwakely@redhat.com> | |
2200 | ||
2201 | * doc/xml/manual/evolution.xml: Document deprecations. | |
2202 | * doc/xml/manual/status_cxx2017.xml: Update status. | |
2203 | * doc/html/*: Regenerate. | |
2204 | ||
2205 | 2022-01-19 Jonathan Wakely <jwakely@redhat.com> | |
2206 | ||
2207 | * include/bits/stl_tempbuf.h (get_temporary_buffer): Change | |
2208 | _GLIBCXX14_DEPRECATED to _GLIBCXX17_DEPRECATED. | |
2209 | ||
2210 | 2022-01-19 Jonathan Wakely <jwakely@redhat.com> | |
2211 | ||
2212 | * include/bits/stl_pair.h (_PCC::_DeprConsPair): Remove unused | |
2213 | function. | |
2214 | ||
2215 | 2022-01-19 Jonathan Wakely <jwakely@redhat.com> | |
2216 | ||
2217 | PR libstdc++/104101 | |
2218 | * include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count::lock): | |
2219 | Only use __thread_relax if __cpp_lib_atomic_wait is defined. | |
2220 | ||
7a761ae6 GA |
2221 | 2022-01-18 Jonathan Wakely <jwakely@redhat.com> |
2222 | ||
2223 | PR libstdc++/104099 | |
2224 | * include/bits/basic_string.h (basic_string(nullptr_t)): Only | |
2225 | define for C++23. | |
2226 | (operator=(nullptr_t)): Likewise. | |
2227 | * include/bits/cow_string.h: Likewise. | |
2228 | * include/std/string_view (basic_string_view(nullptr_t)): | |
2229 | Likewise. | |
2230 | * testsuite/21_strings/basic_string/cons/char/nullptr.cc: Adjust | |
2231 | expected error. Add examples that become ill-formed in C++23. | |
2232 | * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: | |
2233 | Adjust expected errors. | |
2234 | * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc: | |
2235 | Likewise. | |
2236 | ||
2237 | 2022-01-18 Jonathan Wakely <jwakely@redhat.com> | |
2238 | ||
2239 | PR libstdc++/104098 | |
2240 | * include/bits/stl_iterator.h (reverse_iterator): Check | |
2241 | __cpp_lib_concepts instead of __cplusplus. | |
2242 | ||
2243 | 2022-01-18 Jonathan Wakely <jwakely@redhat.com> | |
2244 | ||
2245 | PR libstdc++/101124 | |
2246 | * include/bits/stl_pair.h (pair): Adjust constraints on | |
2247 | deprecated constructors accepting literal zero as null pointer | |
2248 | constant. Improve wording of deprecated attribute. | |
2249 | * testsuite/20_util/pair/cons/99957.cc: Check that deprecated | |
2250 | constructors do not cause ambiguities for copyable types. | |
2251 | ||
2252 | 2022-01-18 Jonathan Wakely <jwakely@redhat.com> | |
2253 | ||
2254 | * include/bits/stl_function.h (ptr_fun): Fix suggestion for | |
2255 | non-deprecated alternative. | |
2256 | ||
2257 | 2022-01-18 Tom Honermann <tom@honermann.net> | |
2258 | ||
2259 | * acinclude.m4: Define config macros if uchar.h provides | |
2260 | c8rtomb() and mbrtoc8(). | |
2261 | * config.h.in: Regenerate. | |
2262 | * configure: Regenerate. | |
2263 | * include/c_compatibility/uchar.h (c8rtomb, mbrtoc8): Define. | |
2264 | * include/c_global/cuchar (c8rtomb, mbrtoc8): Likewise. | |
2265 | * include/c_std/cuchar (c8rtomb, mbrtoc8): Likewise. | |
2266 | * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc: | |
2267 | New test. | |
2268 | * testsuite/21_strings/headers/cuchar/functions_std_fchar8_t.cc: | |
2269 | New test. | |
2270 | ||
2271 | 2022-01-18 Jonathan Wakely <jwakely@redhat.com> | |
2272 | ||
2273 | * include/Makefile.am: Install new header. | |
2274 | * include/Makefile.in: Regenerate. | |
2275 | * include/c_compatibility/stdatomic.h: New file. | |
2276 | * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: New test. | |
2277 | ||
2278 | 2022-01-18 Jonathan Wakely <jwakely@redhat.com> | |
2279 | ||
2280 | PR libstdc++/104080 | |
2281 | * src/c++17/fast_float/LOCAL_PATCHES: Update. | |
2282 | * src/c++17/fast_float/fast_float.h (FASTFLOAT_IS_BIG_ENDIAN): | |
2283 | Define in terms of __BYTE_ORDER__. | |
2284 | ||
2285 | 2022-01-18 Jonathan Wakely <jwakely@redhat.com> | |
2286 | ||
2287 | PR libstdc++/104080 | |
2288 | * src/c++17/fast_float/LOCAL_PATCHES: UPDATE. | |
2289 | * src/c++17/fast_float/fast_float.h (round): Use explicit | |
2290 | template argument list for std::min. | |
2291 | ||
2292 | 2022-01-18 Jonathan Wakely <jwakely@redhat.com> | |
2293 | ||
2294 | * doc/xml/manual/status_cxx2017.xml: Update C++17 status. | |
2295 | * doc/xml/manual/status_cxx2020.xml: Use 12.1 instead of 12 for | |
2296 | upcoming release. | |
2297 | * doc/html/manual/status.html: Regenerate. | |
2298 | ||
2299 | 2022-01-18 Jonathan Wakely <jwakely@redhat.com> | |
2300 | ||
2301 | * acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): Improve | |
2302 | comments. | |
2303 | * configure: Regenerate. | |
2304 | ||
fc829782 GA |
2305 | 2022-01-17 Patrick Palka <ppalka@redhat.com> |
2306 | ||
2307 | * src/c++17/floating_from_chars.cc: (USE_LIB_FAST_FLOAT): | |
2308 | Conditionally define, and use it to conditionally include | |
2309 | fast_float. | |
2310 | (from_chars): Use fast_float for float and double when | |
2311 | USE_LIB_FAST_FLOAT. | |
2312 | ||
2313 | 2022-01-17 Patrick Palka <ppalka@redhat.com> | |
2314 | ||
2315 | * src/c++17/fast_float/LOCAL_PATCHES: Update. | |
2316 | * src/c++17/fast_float/fast_float.h (from_chars_advanced): In | |
2317 | case of over/underflow, return errc::result_out_of_range and don't | |
2318 | modify 'value'. | |
2319 | ||
2320 | 2022-01-17 Patrick Palka <ppalka@redhat.com> | |
2321 | ||
2322 | * src/c++17/fast_float/LOCAL_PATCHES: Update. | |
2323 | * src/c++17/fast_float/fast_float.h: Apply local modifications. | |
2324 | ||
2325 | 2022-01-17 Patrick Palka <ppalka@redhat.com> | |
2326 | ||
2327 | * src/c++17/fast_float/LOCAL_PATCHES: New file. | |
2328 | * src/c++17/fast_float/MERGE: New file. | |
2329 | * src/c++17/fast_float/README.md: New file, copied from the | |
2330 | fast_float repository. | |
2331 | * src/c++17/fast_float/fast_float.h: New file, an amalgamation | |
2332 | of the fast_float library. | |
2333 | ||
2334 | 2022-01-17 Patrick Palka <ppalka@redhat.com> | |
2335 | ||
2336 | * src/c++17/floating_from_chars.cc: Include <bit>. | |
2337 | (ascii_to_hexit, starts_with_ci): Conditionally define. | |
2338 | (__floating_from_chars_hex): Conditionally define. | |
2339 | (from_chars): Use __floating_from_chars_hex for | |
2340 | chars_format::hex parsing of binary32/64 float/double. | |
2341 | (testsuite/20_util/from_chars/7.cc): New test. | |
2342 | * testsuite/20_util/from_chars/7.cc: New file. | |
2343 | ||
2344 | 2022-01-17 Jonathan Wakely <jwakely@redhat.com> | |
2345 | ||
2346 | * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): New macro. | |
2347 | * configure.ac: Use GLIBCXX_ENABLE_BACKTRACE. | |
2348 | * include/Makefile.am: Add new header. | |
2349 | * include/Makefile.in: Regenerate. | |
2350 | * include/std/stacktrace: New header. | |
2351 | * include/std/version (__cpp_lib_stacktrace): Define. | |
2352 | * Makefile.in: Regenerate. | |
2353 | * config.h.in: Regenerate. | |
2354 | * configure: Regenerate. | |
2355 | * doc/Makefile.in: Regenerate. | |
2356 | * libsupc++/Makefile.in: Regenerate. | |
2357 | * po/Makefile.in: Regenerate. | |
2358 | * python/Makefile.in: Regenerate. | |
2359 | * src/Makefile.am: Regenerate. | |
2360 | * src/Makefile.in: Regenerate. | |
2361 | * src/c++11/Makefile.in: Regenerate. | |
2362 | * src/c++17/Makefile.in: Regenerate. | |
2363 | * src/c++20/Makefile.in: Regenerate. | |
2364 | * src/c++98/Makefile.in: Regenerate. | |
2365 | * src/filesystem/Makefile.in: Regenerate. | |
2366 | * testsuite/Makefile.in: Regenerate. | |
2367 | * src/libbacktrace/Makefile.am: New file. | |
2368 | * src/libbacktrace/Makefile.in: New file. | |
2369 | * src/libbacktrace/backtrace-rename.h: New file. | |
2370 | * src/libbacktrace/backtrace-supported.h.in: New file. | |
2371 | * src/libbacktrace/config.h.in: New file. | |
2372 | * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): | |
2373 | New proc. | |
2374 | * testsuite/20_util/stacktrace/entry.cc: New test. | |
2375 | * testsuite/20_util/stacktrace/synopsis.cc: New test. | |
2376 | * testsuite/20_util/stacktrace/version.cc: New test. | |
2377 | ||
2378 | 2022-01-17 Jonathan Wakely <jwakely@redhat.com> | |
2379 | ||
2380 | * doc/xml/manual/status_cxx2020.xml: Use final C++20 option | |
2381 | names. | |
2382 | * doc/html/manual/status.html: Regenerate. | |
2383 | ||
2384 | 2022-01-17 Jonathan Wakely <jwakely@redhat.com> | |
2385 | ||
2386 | PR libstdc++/103650 | |
2387 | * include/Makefile.am: Rename LT_OBJDIR and STDC_HEADERS. | |
2388 | * include/Makefile.in: Regenerate. | |
2389 | * testsuite/17_intro/headers/c++1998/103650.cc: New test. | |
2390 | ||
2391 | 2022-01-17 Matthias Kretz <m.kretz@gsi.de> | |
2392 | ||
2393 | * include/experimental/bits/simd.h (__floating_point_flags): Do | |
2394 | not rely on the presence of the math_errhandling macro. | |
2395 | ||
2396 | 2022-01-17 Jonathan Wakely <jwakely@redhat.com> | |
2397 | ||
2398 | * include/bits/shared_ptr_atomic.h (_Sp_atomic): Add typename | |
2399 | to qualified-id for dependent type. | |
2400 | ||
1e942d7c GA |
2401 | 2022-01-17 Jonathan Wakely <jwakely@redhat.com> |
2402 | ||
2403 | * doc/xml/manual/status_cxx2020.xml: Update. | |
2404 | * doc/html/manual/status.html: Regenerate. | |
2405 | ||
2406 | 2022-01-17 Jonathan Wakely <jwakely@redhat.com> | |
2407 | Thomas Rodgers <trodgers@redhat.com> | |
2408 | ||
2409 | * include/bits/shared_ptr_atomic.h (__cpp_lib_atomic_shared_ptr): | |
2410 | New macro. | |
2411 | (_Sp_atomic): New class template. | |
2412 | (atomic<shared_ptr<T>>, atomic<weak_ptr<T>>): New partial | |
2413 | specializations. | |
2414 | * include/bits/shared_ptr_base.h (__shared_count, __weak_count) | |
2415 | (__shared_ptr, __weak_ptr): Declare _Sp_atomic as a friend. | |
2416 | * include/std/version (__cpp_lib_atomic_shared_ptr): New macro. | |
2417 | * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: New | |
2418 | test. | |
2419 | * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: New test. | |
2420 | ||
9248ee41 GA |
2421 | 2022-01-15 Matthias Kretz <m.kretz@gsi.de> |
2422 | ||
2423 | * include/experimental/bits/simd.h: Move feature detection bools | |
2424 | and add __have_avx512bitalg, __have_avx512vbmi2, | |
2425 | __have_avx512vbmi, __have_avx512ifma, __have_avx512cd, | |
2426 | __have_avx512vnni, __have_avx512vpopcntdq. | |
2427 | (__detail::__machine_flags): New function which returns a unique | |
2428 | uint64 depending on relevant -m and -f flags. | |
2429 | (__detail::__odr_helper): New type alias for either an anonymous | |
2430 | type or a type specialized with the __machine_flags number. | |
2431 | (_SimdIntOperators): Change template parameters from _Impl to | |
2432 | _Tp, _Abi because _Impl now has an __odr_helper parameter which | |
2433 | may be _OdrEnforcer from the anonymous namespace, which makes | |
2434 | for a bad base class. | |
2435 | (many): Either add __odr_helper template parameter or mark as | |
2436 | always_inline. | |
2437 | * include/experimental/bits/simd_detail.h: Add defines for | |
2438 | AVX512BITALG, AVX512VBMI2, AVX512VBMI, AVX512IFMA, AVX512CD, | |
2439 | AVX512VNNI, AVX512VPOPCNTDQ, and AVX512VP2INTERSECT. | |
2440 | * include/experimental/bits/simd_builtin.h: Add __odr_helper | |
2441 | template parameter or mark as always_inline. | |
2442 | * include/experimental/bits/simd_fixed_size.h: Ditto. | |
2443 | * include/experimental/bits/simd_math.h: Ditto. | |
2444 | * include/experimental/bits/simd_scalar.h: Ditto. | |
2445 | * include/experimental/bits/simd_neon.h: Add __odr_helper | |
2446 | template parameter. | |
2447 | * include/experimental/bits/simd_ppc.h: Ditto. | |
2448 | * include/experimental/bits/simd_x86.h: Ditto. | |
2449 | ||
617db51d GA |
2450 | 2022-01-14 Uroš Bizjak <ubizjak@gmail.com> |
2451 | ||
2452 | * testsuite/22_locale/numpunct/members/char/3.cc: | |
2453 | Require pt_PT locale instead of nl_NL. | |
2454 | (test02): Use pt_PT locale instead of nl_NL. | |
2455 | ||
2456 | 2022-01-14 Jonathan Wakely <jwakely@redhat.com> | |
2457 | ||
2458 | PR libstdc++/91260 | |
2459 | PR libstdc++/91383 | |
2460 | PR libstdc++/95065 | |
2461 | * include/backward/binders.h (bind1st, bind2nd): Add deprecated | |
2462 | attribute. | |
2463 | * include/bits/refwrap.h (_Maybe_unary_or_binary_function): | |
2464 | Disable deprecated warnings for base classes. | |
2465 | (_Reference_wrapper_base): Likewise. | |
2466 | * include/bits/shared_ptr_base.h (_Sp_owner_less): Likewise. | |
2467 | * include/bits/stl_bvector.h (_Bit_iterator_base): Likewise. | |
2468 | * include/bits/stl_function.h (unary_function, binary_function): | |
2469 | Add deprecated attribute. | |
2470 | (unary_negate, not1, binary_negate, not2, ptr_fun) | |
2471 | (pointer_to_unary_function, pointer_to_binary_function) | |
2472 | (mem_fun_t, const_mem_fun_t, mem_fun_ref_t, const_mem_fun_ref_t) | |
2473 | (mem_fun1_t, const_mem_fun1_t, mem_fun_ref1_t) | |
2474 | (const_mem_fun1_ref_t, mem_fun, mem_fun_ref): Add deprecated | |
2475 | attributes. | |
2476 | * include/bits/stl_iterator.h: Disable deprecated warnings for | |
2477 | std::iterator base classes. | |
2478 | * include/bits/stl_iterator_base_types.h (iterator): Add | |
2479 | deprecated attribute. | |
2480 | * include/bits/stl_map.h (map::value_compare): Disable | |
2481 | deprecated warnings for base class. | |
2482 | * include/bits/stl_multimap.h (multimap::value_compare): | |
2483 | Likewise. | |
2484 | * include/bits/stl_raw_storage_iter.h (raw_storage_iterator): | |
2485 | Add deprecated attribute. | |
2486 | * include/bits/stl_tempbuf.h (get_temporary_buffer): Likewise. | |
2487 | * include/bits/stream_iterator.h: Disable deprecated warnings. | |
2488 | * include/bits/streambuf_iterator.h: Likewise. | |
2489 | * include/ext/bitmap_allocator.h: Remove unary_function base | |
2490 | classes. | |
2491 | * include/ext/functional: Disable deprecated warnings. | |
2492 | * include/ext/rope: Likewise. | |
2493 | * include/ext/throw_allocator.h: Likewise. | |
2494 | * include/std/type_traits (result_of): Add deprecated attribute. | |
2495 | * include/tr1/functional: Disable deprecated warnings. | |
2496 | * include/tr1/functional_hash.h: Likewise. | |
2497 | * testsuite/20_util/function_objects/binders/1.cc: Add | |
2498 | -Wno-disable-deprecations. | |
2499 | * testsuite/20_util/function_objects/binders/3113.cc: Likewise. | |
2500 | * testsuite/20_util/function_objects/constexpr.cc: Add | |
2501 | dg-warning. | |
2502 | * testsuite/20_util/raw_storage_iterator/base.cc: Likewise. | |
2503 | * testsuite/20_util/raw_storage_iterator/dr2127.cc: Likewise. | |
2504 | * testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc: | |
2505 | Likewise. | |
2506 | * testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc: | |
2507 | Likewise. | |
2508 | * testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc: | |
2509 | Likewise. | |
2510 | * testsuite/20_util/reference_wrapper/24803.cc: | |
2511 | Likewise. | |
2512 | * testsuite/20_util/reference_wrapper/typedefs.cc: Enable for | |
2513 | C++20 and check for absence of nested types. | |
2514 | * testsuite/20_util/shared_ptr/comparison/less.cc: Remove | |
2515 | std::binary_function base class. | |
2516 | * testsuite/20_util/temporary_buffer.cc: Add dg-warning. | |
2517 | * testsuite/21_strings/basic_string/cons/char/69092.cc: Remove | |
2518 | std::iterator base class. | |
2519 | * testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc: | |
2520 | Likewise. | |
2521 | * testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc: | |
2522 | Likewise. | |
2523 | * testsuite/24_iterators/insert_iterator/requirements/base_classes.cc: | |
2524 | Likewise. | |
2525 | * testsuite/24_iterators/istream_iterator/requirements/base_classes.cc: | |
2526 | Likewise. | |
2527 | * testsuite/24_iterators/istreambuf_iterator/92285.cc: | |
2528 | Likewise. | |
2529 | * testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc: | |
2530 | Likewise. | |
2531 | * testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc: | |
2532 | Likewise. | |
2533 | * testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc: | |
2534 | Likewise. | |
2535 | * testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc: | |
2536 | Likewise. | |
2537 | * testsuite/25_algorithms/copy/34595.cc: | |
2538 | Likewise. | |
2539 | * testsuite/25_algorithms/minmax/3.cc: Remove std::binary_function | |
2540 | base class. | |
2541 | * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc: | |
2542 | Disable deprecated warnings. | |
2543 | * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc: | |
2544 | Likewise. | |
2545 | * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc: | |
2546 | Likewise. | |
2547 | * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc: | |
2548 | Likewise. | |
2549 | * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc: | |
2550 | Likewise. | |
2551 | * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc: | |
2552 | Likewise. | |
2553 | * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc: | |
2554 | Likewise. | |
2555 | * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc: | |
2556 | Likewise. | |
2557 | * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc: | |
2558 | Likewise. | |
2559 | * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc: | |
2560 | Likewise. | |
2561 | * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc: | |
2562 | Likewise. | |
2563 | * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc: | |
2564 | Likewise. | |
2565 | * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc: | |
2566 | Likewise. | |
2567 | * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc: | |
2568 | Likewise. | |
2569 | * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc: | |
2570 | Likewise. | |
2571 | * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc: | |
2572 | Likewise. | |
2573 | * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc: | |
2574 | Likewise. | |
2575 | * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc: | |
2576 | Likewise. | |
2577 | * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc: | |
2578 | Likewise. | |
2579 | * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc: | |
2580 | Likewise. | |
2581 | * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc: | |
2582 | Likewise. | |
2583 | * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc: | |
2584 | Likewise. | |
2585 | * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc: | |
2586 | Likewise. | |
2587 | * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc: | |
2588 | Likewise. | |
2589 | * testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc: | |
2590 | Likewise. | |
2591 | * testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc: | |
2592 | Likewise. | |
2593 | * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc: | |
2594 | Likewise. | |
2595 | * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc: | |
2596 | Likewise. | |
2597 | * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc: | |
2598 | Likewise. | |
2599 | * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc: | |
2600 | Likewise. | |
2601 | * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: | |
2602 | Likewise. | |
2603 | * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc: | |
2604 | Likewise. | |
2605 | * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc: | |
2606 | Likewise. | |
2607 | * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc: | |
2608 | Likewise. | |
2609 | * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc: | |
2610 | Likewise. | |
2611 | * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc: | |
2612 | Likewise. | |
2613 | * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc: | |
2614 | Likewise. | |
2615 | * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc: | |
2616 | Likewise. | |
2617 | * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc: | |
2618 | Likewise. | |
2619 | * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc: | |
2620 | Likewise. | |
2621 | * testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc: | |
2622 | Likewise. | |
2623 | * testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc: | |
2624 | Likewise. | |
2625 | * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc: | |
2626 | Likewise. | |
2627 | * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc: | |
2628 | Likewise. | |
2629 | * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc: | |
2630 | Likewise. | |
2631 | * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc: | |
2632 | Likewise. | |
2633 | * testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc: | |
2634 | Likewise. | |
2635 | * testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc: | |
2636 | Likewise. | |
2637 | * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Add | |
2638 | dg-warning. | |
2639 | * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc: | |
2640 | Likewise. | |
2641 | * testsuite/ext/pb_ds/example/priority_queue_split_join.cc: | |
2642 | Likewise. | |
2643 | * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc: | |
2644 | Disable deprecated warnings. | |
2645 | * testsuite/tr1/6_containers/hash/requirements/base_classes.cc: | |
2646 | Likewise. | |
2647 | * testsuite/util/regression/trait/erase_if_fn.hpp: Remove | |
2648 | std::unary_function base classes. | |
2649 | * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): | |
2650 | Remove std::iterator base classes. | |
2651 | ||
2652 | 2022-01-14 Jonathan Wakely <jwakely@redhat.com> | |
2653 | ||
2654 | * include/bits/shared_ptr.h (__cpp_lib_shared_ptr_weak_type): | |
2655 | Correct type of macro value. | |
2656 | (shared_ptr): Add additional friend declarations. | |
2657 | (make_shared, allocate_shared): Constrain existing overloads and | |
2658 | remove static_assert. | |
2659 | * include/bits/shared_ptr_base.h (__cpp_lib_smart_ptr_for_overwrite): | |
2660 | New macro. | |
2661 | (_Sp_counted_ptr_inplace<T, Alloc, Lp>): New partial | |
2662 | specialization for use with make_shared_for_overwrite. | |
2663 | (__cpp_lib_shared_ptr_arrays): Update value for C++20. | |
2664 | (_Sp_counted_array_base): New class template. | |
2665 | (_Sp_counted_array): New class template. | |
2666 | (__shared_count(_Tp*&, const _Sp_counted_array_base&, _Init)): | |
2667 | New constructor for allocating shared arrays. | |
2668 | (__shared_ptr(const _Sp_counted_array_base&, _Init)): Likewise. | |
2669 | * include/std/version (__cpp_lib_shared_ptr_weak_type): Correct | |
2670 | type. | |
2671 | (__cpp_lib_shared_ptr_arrays): Update value for C++20. | |
2672 | (__cpp_lib_smart_ptr_for_overwrite): New macro. | |
2673 | * testsuite/20_util/shared_ptr/creation/99006.cc: Adjust | |
2674 | expected errors. | |
2675 | * testsuite/20_util/shared_ptr/creation/array.cc: New test. | |
2676 | * testsuite/20_util/shared_ptr/creation/overwrite.cc: New test. | |
2677 | * testsuite/20_util/shared_ptr/creation/version.cc: New test. | |
2678 | * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Check | |
2679 | feature test macro. Test non-trivial default-initialization. | |
2680 | ||
2681 | 2022-01-14 Jonathan Wakely <jwakely@redhat.com> | |
2682 | ||
2683 | * include/bits/stl_construct.h (_Construct, _Construct_novalue): | |
2684 | Also cast away cv-qualifiers when converting pointer to void. | |
2685 | * testsuite/20_util/allocator/void.cc: Test construct function | |
2686 | with cv-qualified types. | |
2687 | ||
2688 | 2022-01-14 Jonathan Wakely <jwakely@redhat.com> | |
2689 | ||
2690 | PR libstdc++/103992 | |
2691 | * include/bits/stl_iterator.h (common_iterator): Use | |
2692 | std::construct_at instead of placement new. | |
2693 | * testsuite/24_iterators/common_iterator/1.cc: Check copy | |
2694 | construction is usable in constant expressions. | |
2695 | ||
2696 | 2022-01-14 Jonathan Wakely <jwakely@redhat.com> | |
2697 | ||
2698 | * doc/xml/manual/status_cxx2011.xml: Document new tokens | |
2699 | accepted by std::random_device constructor. | |
2700 | * doc/html/manual/status.html: Regenerate. | |
2701 | ||
02a8a01b GA |
2702 | 2022-01-12 Patrick Palka <ppalka@redhat.com> |
2703 | ||
2704 | * testsuite/20_util/to_chars/103955.cc: Add explicit dg-do | |
2705 | directive. | |
2706 | ||
2707 | 2022-01-12 Patrick Palka <ppalka@redhat.com> | |
2708 | ||
2709 | PR libstdc++/103955 | |
2710 | * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): | |
2711 | Track the excess precision separately from the effective | |
2712 | precision. Avoid overflow in bounds check by splitting it into | |
2713 | two checks. | |
2714 | (__floating_to_chars_precision): Avoid overflow in bounds checks | |
2715 | similarly. | |
2716 | * testsuite/20_util/to_chars/103955.cc: New test. | |
2717 | ||
01a254e3 GA |
2718 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> |
2719 | ||
2720 | PR libstdc++/103726 | |
2721 | * include/Makefile.am: Install <source_location> for | |
2722 | freestanding. | |
2723 | * include/Makefile.in: Regenerate. | |
2724 | * include/std/version (__cpp_lib_source_location): Define for | |
2725 | freestanding. | |
2726 | ||
2727 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
2728 | ||
2729 | * include/std/ranges (ranges::lazy_split_view::_InnerIter::end()): | |
2730 | Add neoxcept (LWG 3593). | |
2731 | ||
2732 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
2733 | ||
2734 | * include/std/ranges (ranges::__detail::__box): Add constexpr to | |
2735 | assignment operators (LWG 3572). | |
2736 | * testsuite/std/ranges/adaptors/filter.cc: Check assignment of a | |
2737 | view that uses copyable-box. | |
2738 | ||
2739 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
2740 | ||
2741 | PR libstdc++/103726 | |
2742 | * include/Makefile.am: Install <coroutine> for freestanding. | |
2743 | * include/Makefile.in: Regenerate. | |
2744 | * include/std/coroutine: Adjust headers and preprocessor | |
2745 | conditions. | |
2746 | (__coroutine_traits_impl): Use concepts when available. | |
2747 | [_GLIBCXX_HOSTED] (hash<coroutine_handle>): Define. | |
2748 | ||
2749 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
2750 | ||
2751 | * include/std/ostream (operator<<(basic_ostream&, charT)): | |
2752 | Use unformatted input if no padding is needed. | |
2753 | (operator<<(basic_ostream<char>&, char)): Likewise. | |
2754 | ||
2755 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
2756 | ||
2757 | PR libstdc++/103891 | |
2758 | * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS): | |
2759 | Define. | |
2760 | * include/std/variant (__cpp_lib_variant): Only define C++20 | |
2761 | value when the compiler is known to support conditionally | |
2762 | trivial destructors. | |
2763 | * include/std/version (__cpp_lib_variant): Likewise. | |
2764 | ||
2765 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
2766 | ||
2767 | * include/bits/stl_iterator.h (common_iterator): Add constexpr | |
2768 | to all member functions (LWG 3574). | |
2769 | * testsuite/24_iterators/common_iterator/1.cc: Evaluate some | |
2770 | tests as constant expressions. | |
2771 | * testsuite/24_iterators/common_iterator/2.cc: Likewise. | |
2772 | ||
d9450aa0 GA |
2773 | 2022-01-10 Jakub Jelinek <jakub@redhat.com> |
2774 | ||
2775 | PR libstdc++/77760 | |
2776 | * include/bits/locale_facets_nonio.h (__time_get_state): New struct. | |
2777 | (time_get::_M_extract_via_format): Declare new method with | |
2778 | __time_get_state& as an extra argument. | |
2779 | * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Add | |
2780 | __state argument, set various fields in it while parsing. Handle %j, | |
2781 | %U, %w and %W, fix up handling of %y, %Y and %C, don't adjust tm_hour | |
2782 | for %p immediately. Add a wrapper around the method without the | |
2783 | __state argument for backwards compatibility. | |
2784 | (_M_extract_num): Remove all __len == 4 special cases. | |
2785 | (time_get::do_get_time, time_get::do_get_date, time_get::do_get): Zero | |
2786 | initialize __state, pass it to _M_extract_via_format and finalize it | |
2787 | at the end. | |
2788 | (do_get_year): For 1-2 digit parsed years, map 0-68 to 2000-2068, | |
2789 | 69-99 to 1969-1999. For 3-4 digit parsed years use that as year. | |
2790 | (get): If do_get isn't overloaded from the locale_facets_nonio.tcc | |
2791 | version, don't call do_get but call _M_extract_via_format instead to | |
2792 | pass around state. | |
2793 | * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_extract_via_format | |
2794 | with extra __time_get_state and __time_get_state::_M_finalize_state. | |
2795 | * src/c++98/locale_facets.cc (is_leap, day_of_the_week, | |
2796 | day_of_the_year): New functions in anon namespace. | |
2797 | (mon_yday): New var in anon namespace. | |
2798 | (__time_get_state::_M_finalize_state): Define. | |
2799 | * testsuite/22_locale/time_get/get/char/4.cc: New test. | |
2800 | * testsuite/22_locale/time_get/get/wchar_t/4.cc: New test. | |
2801 | * testsuite/22_locale/time_get/get_year/char/1.cc (test01): Parse 197 | |
2802 | as year 197AD instead of error. | |
2803 | * testsuite/22_locale/time_get/get_year/char/5.cc (test01): Parse 1 as | |
2804 | year 2001 instead of error. | |
2805 | * testsuite/22_locale/time_get/get_year/char/6.cc: New test. | |
2806 | * testsuite/22_locale/time_get/get_year/wchar_t/1.cc (test01): Parse | |
2807 | 197 as year 197AD instead of error. | |
2808 | * testsuite/22_locale/time_get/get_year/wchar_t/5.cc (test01): Parse | |
2809 | 1 as year 2001 instead of error. | |
2810 | * testsuite/22_locale/time_get/get_year/wchar_t/6.cc: New test. | |
2811 | ||
2812 | 2022-01-10 Jonathan Wakely <jwakely@redhat.com> | |
2813 | ||
2814 | PR libstdc++/103866 | |
2815 | * acinclude.m4 (GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS): Do | |
2816 | nothing for freestanding builds. | |
2817 | (GLIBCXX_ENABLE_HOSTED): Define FREESTANDING_FLAGS. | |
2818 | * configure.ac: Do not use AC_LIBTOOL_DLOPEN when configured | |
2819 | with --without-headers. Do not use GCC_HEADER_STDINT for | |
2820 | freestanding builds. | |
2821 | * libsupc++/Makefile.am (HOSTED_CXXFLAGS): Use -ffreestanding | |
2822 | for freestanding builds. | |
2823 | * configure: Regenerate. | |
2824 | * Makefile.in: Regenerate. | |
2825 | * doc/Makefile.in: Regenerate. | |
2826 | * include/Makefile.in: Regenerate. | |
2827 | * libsupc++/Makefile.in: Regenerate. | |
2828 | * po/Makefile.in: Regenerate. | |
2829 | * python/Makefile.in: Regenerate. | |
2830 | * src/Makefile.in: Regenerate. | |
2831 | * src/c++11/Makefile.in: Regenerate. | |
2832 | * src/c++17/Makefile.in: Regenerate. | |
2833 | * src/c++20/Makefile.in: Regenerate. | |
2834 | * src/c++98/Makefile.in: Regenerate. | |
2835 | * src/filesystem/Makefile.in: Regenerate. | |
2836 | * testsuite/Makefile.in: Regenerate. | |
2837 | ||
2838 | 2022-01-10 Jonathan Wakely <jwakely@redhat.com> | |
2839 | ||
2840 | * testsuite/28_regex/algorithms/regex_replace/char/103664.cc: | |
2841 | Add dg-timeout-factor directive. | |
2842 | * testsuite/28_regex/basic_regex/84110.cc: Likewise. | |
2843 | * testsuite/28_regex/basic_regex/ctors/char/other.cc: Likewise. | |
2844 | * testsuite/28_regex/match_results/102667.cc: Likewise. | |
2845 | ||
2846 | 2022-01-10 Jonathan Wakely <jwakely@redhat.com> | |
2847 | ||
2848 | * doc/xml/manual/using.xml: Update documentation around default | |
2849 | -std option. | |
2850 | * doc/html/*: Regenerate. | |
2851 | ||
2852 | 2022-01-10 Jonathan Wakely <jwakely@redhat.com> | |
2853 | ||
2854 | PR libstdc++/100017 | |
2855 | * src/c++17/Makefile.am (AM_CXXFLAGS): Add -nostdinc++. | |
2856 | * src/c++17/Makefile.in: Regenerate. | |
2857 | ||
3a5702df GA |
2858 | 2022-01-09 Sandra Loosemore <sandra@codesourcery.com> |
2859 | ||
2860 | * testsuite/18_support/type_info/constexpr.cc: Add explicit | |
2861 | -fdelete-null-pointer-checks option. | |
2862 | ||
11ce8d04 GA |
2863 | 2022-01-06 Pavel I. Kryukov <pavel.kryukov@phystech.edu> |
2864 | Jonathan Wakely <jwakely@redhat.com> | |
2865 | ||
2866 | PR libstdc++/103853 | |
2867 | * include/bits/forward_list.tcc (forward_list::merge): Check for | |
2868 | self-merge. | |
2869 | * testsuite/23_containers/forward_list/operations/merge.cc: New test. | |
2870 | ||
2871 | 2022-01-06 Jonathan Wakely <jwakely@redhat.com> | |
2872 | ||
2873 | * include/bits/regex.h (basic_regex, match_results): Qualify | |
2874 | name in friend declaration, to work around Clang bug. | |
2875 | ||
2876 | 2022-01-06 Jonathan Wakely <jwakely@redhat.com> | |
2877 | ||
2878 | * testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor. | |
2879 | ||
2880 | 2022-01-06 Jonathan Wakely <jwakely@redhat.com> | |
2881 | ||
2882 | PR libstdc++/103911 | |
2883 | * include/std/charconv (__from_chars_alpha_to_num): Return | |
2884 | char instead of unsigned char. Change invalid return value to | |
2885 | 127 instead of using numeric trait. | |
2886 | (__from_chars_alnum): Fix comment. Do not use std::isdigit. | |
2887 | Change type of variable to char. | |
2888 | ||
0fbefa25 GA |
2889 | 2022-01-05 François Dumont <fdumont@gcc.gnu.org> |
2890 | ||
2891 | PR libstdc++/68303 | |
2892 | * include/bits/hashtable_policy.h | |
2893 | (_Hashtable_hash_traits<_Hash>): New. | |
2894 | (_Hash_code_base<>::_M_hash_code(const _Hash_node_value<>&)): New. | |
2895 | (_Hashtable_base<>::_M_key_equals): New. | |
2896 | (_Hashtable_base<>::_M_equals): Use latter. | |
2897 | (_Hashtable_base<>::_M_key_equals_tr): New. | |
2898 | (_Hashtable_base<>::_M_equals_tr): Use latter. | |
2899 | * include/bits/hashtable.h | |
2900 | (_Hashtable<>::__small_size_threshold()): New, use _Hashtable_hash_traits. | |
2901 | (_Hashtable<>::find): Loop through elements to look for key if size is lower | |
2902 | than __small_size_threshold(). | |
2903 | (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise. | |
2904 | (_Hashtable<>::_M_insert_unique(_Kt&&, _Args&&, const _NodeGenerator&)): Likewise. | |
2905 | (_Hashtable<>::_M_compute_hash_code(const_iterator, const key_type&)): New. | |
2906 | (_Hashtable<>::_M_emplace(const_iterator, false_type, _Args&&...)): Use latter. | |
2907 | (_Hashtable<>::_M_find_before_node(const key_type&)): New. | |
2908 | (_Hashtable<>::_M_erase(true_type, const key_type&)): Use latter. | |
2909 | (_Hashtable<>::_M_erase(false_type, const key_type&)): Likewise. | |
2910 | * src/c++11/hashtable_c++0x.cc: Include <bits/functional_hash.h>. | |
2911 | * testsuite/util/testsuite_performance.h | |
2912 | (report_performance): Use 9 width to display memory. | |
2913 | * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: | |
2914 | New performance test case. | |
2915 | ||
2916 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
2917 | ||
2918 | PR libstdc++/103919 | |
2919 | * include/bits/basic_string.h (basic_string(const T&, size_t, size_t)): | |
2920 | Relax constraints on string_view parameter. | |
2921 | * include/bits/cow_string.h (basic_string(const T&, size_t, size_t)): | |
2922 | Likewise. | |
2923 | * testsuite/21_strings/basic_string/cons/char/103919.cc: New test. | |
2924 | ||
2925 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
2926 | ||
2927 | * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export new symbol for | |
2928 | ARM EABI. | |
2929 | * include/bits/c++config (_GLIBCXX23_CONSTEXPR): Define. | |
2930 | * include/std/version (__cpp_lib_constexpr_typeinfo): Define. | |
2931 | * libsupc++/tinfo.cc: Add #error to ensure non-inline definition | |
2932 | is emitted. | |
2933 | (type_info::__equal): Define alias symbol. | |
2934 | * libsupc++/typeinfo (type_info::before): Combine different | |
2935 | implementations into one. | |
2936 | (type_info::operator==): Likewise. Use address equality for | |
2937 | constant evaluation. Call __equal for targets that require the | |
2938 | definition to be non-inline. | |
2939 | * testsuite/18_support/type_info/constexpr.cc: New test. | |
2940 | ||
2941 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
2942 | ||
2943 | * src/c++11/cxx11-ios_failure.cc (io_error_category): Define | |
2944 | class and virtual functions as 'final'. | |
2945 | (io_category_instance): Use constinit union to make the object | |
2946 | immortal. | |
2947 | * src/c++11/future.cc (future_error_category): Define class and | |
2948 | virtual functions as 'final'. | |
2949 | (future_category_instance): Use constinit union. | |
2950 | ||
2951 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
2952 | ||
2953 | * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip | |
2954 | versioned namespace from the type name that is printed. | |
2955 | ||
2956 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
2957 | ||
2958 | * python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New | |
2959 | printer for std::regex NFA states. | |
2960 | ||
2961 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
2962 | ||
2963 | * testsuite/23_containers/forward_list/operations/1.cc: Fill in | |
2964 | placeholders in comments. | |
2965 | * testsuite/23_containers/forward_list/operations/2.cc: | |
2966 | Likewise. | |
2967 | * testsuite/23_containers/forward_list/operations/3.cc: | |
2968 | Likewise. | |
2969 | * testsuite/23_containers/forward_list/operations/4.cc: | |
2970 | Likewise. | |
2971 | * testsuite/23_containers/forward_list/operations/5.cc: | |
2972 | Likewise. | |
2973 | * testsuite/23_containers/forward_list/operations/6.cc: | |
2974 | Likewise. | |
2975 | * testsuite/23_containers/forward_list/operations/7.cc: | |
2976 | Likewise. | |
2977 | ||
2978 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
2979 | ||
2980 | PR libstdc++/103848 | |
2981 | * include/bits/stl_deque.h (operator-): Do not use 0 as null | |
2982 | pointer constant. | |
2983 | ||
2984 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
2985 | ||
2986 | * include/bits/alloc_traits.h (allocator_traits<allocator<void>>): | |
2987 | Use std::_Construct for construct. | |
2988 | ||
2989 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
2990 | ||
2991 | PR libstdc++/103877 | |
2992 | * doc/xml/faq.xml: Add '-x c++' to preprocessor command. | |
2993 | * doc/html/faq.html: Regenerate. | |
2994 | ||
2995 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
2996 | ||
2997 | * include/bits/regex.h (__regex_algo_impl): Change __policy and | |
2998 | __match_mode template parameters to be function parameters. | |
2999 | (regex_match, regex_search): Pass policy and match mode as | |
3000 | function arguments. | |
3001 | * include/bits/regex.tcc (__regex_algo_impl): Change template | |
3002 | parameters to function parameters. | |
3003 | * include/bits/regex_compiler.h (_RegexTranslatorBase): Use | |
3004 | 'if constexpr' for conditions using template parameters. | |
3005 | (_RegexTranslator): Likewise. | |
3006 | * include/bits/regex_executor.tcc (_Executor::_M_handle_accept): | |
3007 | Likewise. | |
3008 | * testsuite/util/testsuite_regex.h (regex_match_debug) | |
3009 | (regex_search_debug): Move template arguments to function | |
3010 | arguments. | |
3011 | ||
3012 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
3013 | ||
3014 | * testsuite/util/testsuite_regex.h (regex_match_debug): Compare | |
3015 | results even if the match failed. | |
3016 | ||
3017 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
3018 | ||
3019 | * include/bits/regex_compiler.tcc: Adjust all calls to | |
3020 | __throw_regex_error. | |
3021 | * include/bits/regex_error.h (__throw_regex_error): Add noreturn | |
3022 | attribute. | |
3023 | * include/bits/regex_scanner.tcc: Likewise. | |
3024 | * src/c++11/regex.cc (desc): New helper function. | |
3025 | (regex_error::regex_error(error_type)): Use desc to get a string | |
3026 | corresponding to the error code. | |
3027 | ||
b4df5e92 | 3028 | \f |
6123f29a | 3029 | Copyright (C) 2022 Free Software Foundation, Inc. |
b4df5e92 JW |
3030 | |
3031 | Copying and distribution of this file, with or without modification, | |
3032 | are permitted in any medium without royalty provided the copyright | |
3033 | notice and this notice are preserved. |