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