]>
Commit | Line | Data |
---|---|---|
9248ee41 GA |
1 | 2022-01-15 Matthias Kretz <m.kretz@gsi.de> |
2 | ||
3 | * include/experimental/bits/simd.h: Move feature detection bools | |
4 | and add __have_avx512bitalg, __have_avx512vbmi2, | |
5 | __have_avx512vbmi, __have_avx512ifma, __have_avx512cd, | |
6 | __have_avx512vnni, __have_avx512vpopcntdq. | |
7 | (__detail::__machine_flags): New function which returns a unique | |
8 | uint64 depending on relevant -m and -f flags. | |
9 | (__detail::__odr_helper): New type alias for either an anonymous | |
10 | type or a type specialized with the __machine_flags number. | |
11 | (_SimdIntOperators): Change template parameters from _Impl to | |
12 | _Tp, _Abi because _Impl now has an __odr_helper parameter which | |
13 | may be _OdrEnforcer from the anonymous namespace, which makes | |
14 | for a bad base class. | |
15 | (many): Either add __odr_helper template parameter or mark as | |
16 | always_inline. | |
17 | * include/experimental/bits/simd_detail.h: Add defines for | |
18 | AVX512BITALG, AVX512VBMI2, AVX512VBMI, AVX512IFMA, AVX512CD, | |
19 | AVX512VNNI, AVX512VPOPCNTDQ, and AVX512VP2INTERSECT. | |
20 | * include/experimental/bits/simd_builtin.h: Add __odr_helper | |
21 | template parameter or mark as always_inline. | |
22 | * include/experimental/bits/simd_fixed_size.h: Ditto. | |
23 | * include/experimental/bits/simd_math.h: Ditto. | |
24 | * include/experimental/bits/simd_scalar.h: Ditto. | |
25 | * include/experimental/bits/simd_neon.h: Add __odr_helper | |
26 | template parameter. | |
27 | * include/experimental/bits/simd_ppc.h: Ditto. | |
28 | * include/experimental/bits/simd_x86.h: Ditto. | |
29 | ||
617db51d GA |
30 | 2022-01-14 Uroš Bizjak <ubizjak@gmail.com> |
31 | ||
32 | * testsuite/22_locale/numpunct/members/char/3.cc: | |
33 | Require pt_PT locale instead of nl_NL. | |
34 | (test02): Use pt_PT locale instead of nl_NL. | |
35 | ||
36 | 2022-01-14 Jonathan Wakely <jwakely@redhat.com> | |
37 | ||
38 | PR libstdc++/91260 | |
39 | PR libstdc++/91383 | |
40 | PR libstdc++/95065 | |
41 | * include/backward/binders.h (bind1st, bind2nd): Add deprecated | |
42 | attribute. | |
43 | * include/bits/refwrap.h (_Maybe_unary_or_binary_function): | |
44 | Disable deprecated warnings for base classes. | |
45 | (_Reference_wrapper_base): Likewise. | |
46 | * include/bits/shared_ptr_base.h (_Sp_owner_less): Likewise. | |
47 | * include/bits/stl_bvector.h (_Bit_iterator_base): Likewise. | |
48 | * include/bits/stl_function.h (unary_function, binary_function): | |
49 | Add deprecated attribute. | |
50 | (unary_negate, not1, binary_negate, not2, ptr_fun) | |
51 | (pointer_to_unary_function, pointer_to_binary_function) | |
52 | (mem_fun_t, const_mem_fun_t, mem_fun_ref_t, const_mem_fun_ref_t) | |
53 | (mem_fun1_t, const_mem_fun1_t, mem_fun_ref1_t) | |
54 | (const_mem_fun1_ref_t, mem_fun, mem_fun_ref): Add deprecated | |
55 | attributes. | |
56 | * include/bits/stl_iterator.h: Disable deprecated warnings for | |
57 | std::iterator base classes. | |
58 | * include/bits/stl_iterator_base_types.h (iterator): Add | |
59 | deprecated attribute. | |
60 | * include/bits/stl_map.h (map::value_compare): Disable | |
61 | deprecated warnings for base class. | |
62 | * include/bits/stl_multimap.h (multimap::value_compare): | |
63 | Likewise. | |
64 | * include/bits/stl_raw_storage_iter.h (raw_storage_iterator): | |
65 | Add deprecated attribute. | |
66 | * include/bits/stl_tempbuf.h (get_temporary_buffer): Likewise. | |
67 | * include/bits/stream_iterator.h: Disable deprecated warnings. | |
68 | * include/bits/streambuf_iterator.h: Likewise. | |
69 | * include/ext/bitmap_allocator.h: Remove unary_function base | |
70 | classes. | |
71 | * include/ext/functional: Disable deprecated warnings. | |
72 | * include/ext/rope: Likewise. | |
73 | * include/ext/throw_allocator.h: Likewise. | |
74 | * include/std/type_traits (result_of): Add deprecated attribute. | |
75 | * include/tr1/functional: Disable deprecated warnings. | |
76 | * include/tr1/functional_hash.h: Likewise. | |
77 | * testsuite/20_util/function_objects/binders/1.cc: Add | |
78 | -Wno-disable-deprecations. | |
79 | * testsuite/20_util/function_objects/binders/3113.cc: Likewise. | |
80 | * testsuite/20_util/function_objects/constexpr.cc: Add | |
81 | dg-warning. | |
82 | * testsuite/20_util/raw_storage_iterator/base.cc: Likewise. | |
83 | * testsuite/20_util/raw_storage_iterator/dr2127.cc: Likewise. | |
84 | * testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc: | |
85 | Likewise. | |
86 | * testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc: | |
87 | Likewise. | |
88 | * testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc: | |
89 | Likewise. | |
90 | * testsuite/20_util/reference_wrapper/24803.cc: | |
91 | Likewise. | |
92 | * testsuite/20_util/reference_wrapper/typedefs.cc: Enable for | |
93 | C++20 and check for absence of nested types. | |
94 | * testsuite/20_util/shared_ptr/comparison/less.cc: Remove | |
95 | std::binary_function base class. | |
96 | * testsuite/20_util/temporary_buffer.cc: Add dg-warning. | |
97 | * testsuite/21_strings/basic_string/cons/char/69092.cc: Remove | |
98 | std::iterator base class. | |
99 | * testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc: | |
100 | Likewise. | |
101 | * testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc: | |
102 | Likewise. | |
103 | * testsuite/24_iterators/insert_iterator/requirements/base_classes.cc: | |
104 | Likewise. | |
105 | * testsuite/24_iterators/istream_iterator/requirements/base_classes.cc: | |
106 | Likewise. | |
107 | * testsuite/24_iterators/istreambuf_iterator/92285.cc: | |
108 | Likewise. | |
109 | * testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc: | |
110 | Likewise. | |
111 | * testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc: | |
112 | Likewise. | |
113 | * testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc: | |
114 | Likewise. | |
115 | * testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc: | |
116 | Likewise. | |
117 | * testsuite/25_algorithms/copy/34595.cc: | |
118 | Likewise. | |
119 | * testsuite/25_algorithms/minmax/3.cc: Remove std::binary_function | |
120 | base class. | |
121 | * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc: | |
122 | Disable deprecated warnings. | |
123 | * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc: | |
124 | Likewise. | |
125 | * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc: | |
126 | Likewise. | |
127 | * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc: | |
128 | Likewise. | |
129 | * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc: | |
130 | Likewise. | |
131 | * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc: | |
132 | Likewise. | |
133 | * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc: | |
134 | Likewise. | |
135 | * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc: | |
136 | Likewise. | |
137 | * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc: | |
138 | Likewise. | |
139 | * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc: | |
140 | Likewise. | |
141 | * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc: | |
142 | Likewise. | |
143 | * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc: | |
144 | Likewise. | |
145 | * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc: | |
146 | Likewise. | |
147 | * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc: | |
148 | Likewise. | |
149 | * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc: | |
150 | Likewise. | |
151 | * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc: | |
152 | Likewise. | |
153 | * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc: | |
154 | Likewise. | |
155 | * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc: | |
156 | Likewise. | |
157 | * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc: | |
158 | Likewise. | |
159 | * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc: | |
160 | Likewise. | |
161 | * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc: | |
162 | Likewise. | |
163 | * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc: | |
164 | Likewise. | |
165 | * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc: | |
166 | Likewise. | |
167 | * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc: | |
168 | Likewise. | |
169 | * testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc: | |
170 | Likewise. | |
171 | * testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc: | |
172 | Likewise. | |
173 | * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc: | |
174 | Likewise. | |
175 | * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc: | |
176 | Likewise. | |
177 | * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc: | |
178 | Likewise. | |
179 | * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc: | |
180 | Likewise. | |
181 | * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: | |
182 | Likewise. | |
183 | * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc: | |
184 | Likewise. | |
185 | * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc: | |
186 | Likewise. | |
187 | * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc: | |
188 | Likewise. | |
189 | * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc: | |
190 | Likewise. | |
191 | * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc: | |
192 | Likewise. | |
193 | * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc: | |
194 | Likewise. | |
195 | * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc: | |
196 | Likewise. | |
197 | * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc: | |
198 | Likewise. | |
199 | * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc: | |
200 | Likewise. | |
201 | * testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc: | |
202 | Likewise. | |
203 | * testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc: | |
204 | Likewise. | |
205 | * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc: | |
206 | Likewise. | |
207 | * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc: | |
208 | Likewise. | |
209 | * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc: | |
210 | Likewise. | |
211 | * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc: | |
212 | Likewise. | |
213 | * testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc: | |
214 | Likewise. | |
215 | * testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc: | |
216 | Likewise. | |
217 | * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Add | |
218 | dg-warning. | |
219 | * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc: | |
220 | Likewise. | |
221 | * testsuite/ext/pb_ds/example/priority_queue_split_join.cc: | |
222 | Likewise. | |
223 | * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc: | |
224 | Disable deprecated warnings. | |
225 | * testsuite/tr1/6_containers/hash/requirements/base_classes.cc: | |
226 | Likewise. | |
227 | * testsuite/util/regression/trait/erase_if_fn.hpp: Remove | |
228 | std::unary_function base classes. | |
229 | * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): | |
230 | Remove std::iterator base classes. | |
231 | ||
232 | 2022-01-14 Jonathan Wakely <jwakely@redhat.com> | |
233 | ||
234 | * include/bits/shared_ptr.h (__cpp_lib_shared_ptr_weak_type): | |
235 | Correct type of macro value. | |
236 | (shared_ptr): Add additional friend declarations. | |
237 | (make_shared, allocate_shared): Constrain existing overloads and | |
238 | remove static_assert. | |
239 | * include/bits/shared_ptr_base.h (__cpp_lib_smart_ptr_for_overwrite): | |
240 | New macro. | |
241 | (_Sp_counted_ptr_inplace<T, Alloc, Lp>): New partial | |
242 | specialization for use with make_shared_for_overwrite. | |
243 | (__cpp_lib_shared_ptr_arrays): Update value for C++20. | |
244 | (_Sp_counted_array_base): New class template. | |
245 | (_Sp_counted_array): New class template. | |
246 | (__shared_count(_Tp*&, const _Sp_counted_array_base&, _Init)): | |
247 | New constructor for allocating shared arrays. | |
248 | (__shared_ptr(const _Sp_counted_array_base&, _Init)): Likewise. | |
249 | * include/std/version (__cpp_lib_shared_ptr_weak_type): Correct | |
250 | type. | |
251 | (__cpp_lib_shared_ptr_arrays): Update value for C++20. | |
252 | (__cpp_lib_smart_ptr_for_overwrite): New macro. | |
253 | * testsuite/20_util/shared_ptr/creation/99006.cc: Adjust | |
254 | expected errors. | |
255 | * testsuite/20_util/shared_ptr/creation/array.cc: New test. | |
256 | * testsuite/20_util/shared_ptr/creation/overwrite.cc: New test. | |
257 | * testsuite/20_util/shared_ptr/creation/version.cc: New test. | |
258 | * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Check | |
259 | feature test macro. Test non-trivial default-initialization. | |
260 | ||
261 | 2022-01-14 Jonathan Wakely <jwakely@redhat.com> | |
262 | ||
263 | * include/bits/stl_construct.h (_Construct, _Construct_novalue): | |
264 | Also cast away cv-qualifiers when converting pointer to void. | |
265 | * testsuite/20_util/allocator/void.cc: Test construct function | |
266 | with cv-qualified types. | |
267 | ||
268 | 2022-01-14 Jonathan Wakely <jwakely@redhat.com> | |
269 | ||
270 | PR libstdc++/103992 | |
271 | * include/bits/stl_iterator.h (common_iterator): Use | |
272 | std::construct_at instead of placement new. | |
273 | * testsuite/24_iterators/common_iterator/1.cc: Check copy | |
274 | construction is usable in constant expressions. | |
275 | ||
276 | 2022-01-14 Jonathan Wakely <jwakely@redhat.com> | |
277 | ||
278 | * doc/xml/manual/status_cxx2011.xml: Document new tokens | |
279 | accepted by std::random_device constructor. | |
280 | * doc/html/manual/status.html: Regenerate. | |
281 | ||
02a8a01b GA |
282 | 2022-01-12 Patrick Palka <ppalka@redhat.com> |
283 | ||
284 | * testsuite/20_util/to_chars/103955.cc: Add explicit dg-do | |
285 | directive. | |
286 | ||
287 | 2022-01-12 Patrick Palka <ppalka@redhat.com> | |
288 | ||
289 | PR libstdc++/103955 | |
290 | * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): | |
291 | Track the excess precision separately from the effective | |
292 | precision. Avoid overflow in bounds check by splitting it into | |
293 | two checks. | |
294 | (__floating_to_chars_precision): Avoid overflow in bounds checks | |
295 | similarly. | |
296 | * testsuite/20_util/to_chars/103955.cc: New test. | |
297 | ||
01a254e3 GA |
298 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> |
299 | ||
300 | PR libstdc++/103726 | |
301 | * include/Makefile.am: Install <source_location> for | |
302 | freestanding. | |
303 | * include/Makefile.in: Regenerate. | |
304 | * include/std/version (__cpp_lib_source_location): Define for | |
305 | freestanding. | |
306 | ||
307 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
308 | ||
309 | * include/std/ranges (ranges::lazy_split_view::_InnerIter::end()): | |
310 | Add neoxcept (LWG 3593). | |
311 | ||
312 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
313 | ||
314 | * include/std/ranges (ranges::__detail::__box): Add constexpr to | |
315 | assignment operators (LWG 3572). | |
316 | * testsuite/std/ranges/adaptors/filter.cc: Check assignment of a | |
317 | view that uses copyable-box. | |
318 | ||
319 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
320 | ||
321 | PR libstdc++/103726 | |
322 | * include/Makefile.am: Install <coroutine> for freestanding. | |
323 | * include/Makefile.in: Regenerate. | |
324 | * include/std/coroutine: Adjust headers and preprocessor | |
325 | conditions. | |
326 | (__coroutine_traits_impl): Use concepts when available. | |
327 | [_GLIBCXX_HOSTED] (hash<coroutine_handle>): Define. | |
328 | ||
329 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
330 | ||
331 | * include/std/ostream (operator<<(basic_ostream&, charT)): | |
332 | Use unformatted input if no padding is needed. | |
333 | (operator<<(basic_ostream<char>&, char)): Likewise. | |
334 | ||
335 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
336 | ||
337 | PR libstdc++/103891 | |
338 | * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS): | |
339 | Define. | |
340 | * include/std/variant (__cpp_lib_variant): Only define C++20 | |
341 | value when the compiler is known to support conditionally | |
342 | trivial destructors. | |
343 | * include/std/version (__cpp_lib_variant): Likewise. | |
344 | ||
345 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
346 | ||
347 | * include/bits/stl_iterator.h (common_iterator): Add constexpr | |
348 | to all member functions (LWG 3574). | |
349 | * testsuite/24_iterators/common_iterator/1.cc: Evaluate some | |
350 | tests as constant expressions. | |
351 | * testsuite/24_iterators/common_iterator/2.cc: Likewise. | |
352 | ||
d9450aa0 GA |
353 | 2022-01-10 Jakub Jelinek <jakub@redhat.com> |
354 | ||
355 | PR libstdc++/77760 | |
356 | * include/bits/locale_facets_nonio.h (__time_get_state): New struct. | |
357 | (time_get::_M_extract_via_format): Declare new method with | |
358 | __time_get_state& as an extra argument. | |
359 | * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Add | |
360 | __state argument, set various fields in it while parsing. Handle %j, | |
361 | %U, %w and %W, fix up handling of %y, %Y and %C, don't adjust tm_hour | |
362 | for %p immediately. Add a wrapper around the method without the | |
363 | __state argument for backwards compatibility. | |
364 | (_M_extract_num): Remove all __len == 4 special cases. | |
365 | (time_get::do_get_time, time_get::do_get_date, time_get::do_get): Zero | |
366 | initialize __state, pass it to _M_extract_via_format and finalize it | |
367 | at the end. | |
368 | (do_get_year): For 1-2 digit parsed years, map 0-68 to 2000-2068, | |
369 | 69-99 to 1969-1999. For 3-4 digit parsed years use that as year. | |
370 | (get): If do_get isn't overloaded from the locale_facets_nonio.tcc | |
371 | version, don't call do_get but call _M_extract_via_format instead to | |
372 | pass around state. | |
373 | * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_extract_via_format | |
374 | with extra __time_get_state and __time_get_state::_M_finalize_state. | |
375 | * src/c++98/locale_facets.cc (is_leap, day_of_the_week, | |
376 | day_of_the_year): New functions in anon namespace. | |
377 | (mon_yday): New var in anon namespace. | |
378 | (__time_get_state::_M_finalize_state): Define. | |
379 | * testsuite/22_locale/time_get/get/char/4.cc: New test. | |
380 | * testsuite/22_locale/time_get/get/wchar_t/4.cc: New test. | |
381 | * testsuite/22_locale/time_get/get_year/char/1.cc (test01): Parse 197 | |
382 | as year 197AD instead of error. | |
383 | * testsuite/22_locale/time_get/get_year/char/5.cc (test01): Parse 1 as | |
384 | year 2001 instead of error. | |
385 | * testsuite/22_locale/time_get/get_year/char/6.cc: New test. | |
386 | * testsuite/22_locale/time_get/get_year/wchar_t/1.cc (test01): Parse | |
387 | 197 as year 197AD instead of error. | |
388 | * testsuite/22_locale/time_get/get_year/wchar_t/5.cc (test01): Parse | |
389 | 1 as year 2001 instead of error. | |
390 | * testsuite/22_locale/time_get/get_year/wchar_t/6.cc: New test. | |
391 | ||
392 | 2022-01-10 Jonathan Wakely <jwakely@redhat.com> | |
393 | ||
394 | PR libstdc++/103866 | |
395 | * acinclude.m4 (GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS): Do | |
396 | nothing for freestanding builds. | |
397 | (GLIBCXX_ENABLE_HOSTED): Define FREESTANDING_FLAGS. | |
398 | * configure.ac: Do not use AC_LIBTOOL_DLOPEN when configured | |
399 | with --without-headers. Do not use GCC_HEADER_STDINT for | |
400 | freestanding builds. | |
401 | * libsupc++/Makefile.am (HOSTED_CXXFLAGS): Use -ffreestanding | |
402 | for freestanding builds. | |
403 | * configure: Regenerate. | |
404 | * Makefile.in: Regenerate. | |
405 | * doc/Makefile.in: Regenerate. | |
406 | * include/Makefile.in: Regenerate. | |
407 | * libsupc++/Makefile.in: Regenerate. | |
408 | * po/Makefile.in: Regenerate. | |
409 | * python/Makefile.in: Regenerate. | |
410 | * src/Makefile.in: Regenerate. | |
411 | * src/c++11/Makefile.in: Regenerate. | |
412 | * src/c++17/Makefile.in: Regenerate. | |
413 | * src/c++20/Makefile.in: Regenerate. | |
414 | * src/c++98/Makefile.in: Regenerate. | |
415 | * src/filesystem/Makefile.in: Regenerate. | |
416 | * testsuite/Makefile.in: Regenerate. | |
417 | ||
418 | 2022-01-10 Jonathan Wakely <jwakely@redhat.com> | |
419 | ||
420 | * testsuite/28_regex/algorithms/regex_replace/char/103664.cc: | |
421 | Add dg-timeout-factor directive. | |
422 | * testsuite/28_regex/basic_regex/84110.cc: Likewise. | |
423 | * testsuite/28_regex/basic_regex/ctors/char/other.cc: Likewise. | |
424 | * testsuite/28_regex/match_results/102667.cc: Likewise. | |
425 | ||
426 | 2022-01-10 Jonathan Wakely <jwakely@redhat.com> | |
427 | ||
428 | * doc/xml/manual/using.xml: Update documentation around default | |
429 | -std option. | |
430 | * doc/html/*: Regenerate. | |
431 | ||
432 | 2022-01-10 Jonathan Wakely <jwakely@redhat.com> | |
433 | ||
434 | PR libstdc++/100017 | |
435 | * src/c++17/Makefile.am (AM_CXXFLAGS): Add -nostdinc++. | |
436 | * src/c++17/Makefile.in: Regenerate. | |
437 | ||
3a5702df GA |
438 | 2022-01-09 Sandra Loosemore <sandra@codesourcery.com> |
439 | ||
440 | * testsuite/18_support/type_info/constexpr.cc: Add explicit | |
441 | -fdelete-null-pointer-checks option. | |
442 | ||
11ce8d04 GA |
443 | 2022-01-06 Pavel I. Kryukov <pavel.kryukov@phystech.edu> |
444 | Jonathan Wakely <jwakely@redhat.com> | |
445 | ||
446 | PR libstdc++/103853 | |
447 | * include/bits/forward_list.tcc (forward_list::merge): Check for | |
448 | self-merge. | |
449 | * testsuite/23_containers/forward_list/operations/merge.cc: New test. | |
450 | ||
451 | 2022-01-06 Jonathan Wakely <jwakely@redhat.com> | |
452 | ||
453 | * include/bits/regex.h (basic_regex, match_results): Qualify | |
454 | name in friend declaration, to work around Clang bug. | |
455 | ||
456 | 2022-01-06 Jonathan Wakely <jwakely@redhat.com> | |
457 | ||
458 | * testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor. | |
459 | ||
460 | 2022-01-06 Jonathan Wakely <jwakely@redhat.com> | |
461 | ||
462 | PR libstdc++/103911 | |
463 | * include/std/charconv (__from_chars_alpha_to_num): Return | |
464 | char instead of unsigned char. Change invalid return value to | |
465 | 127 instead of using numeric trait. | |
466 | (__from_chars_alnum): Fix comment. Do not use std::isdigit. | |
467 | Change type of variable to char. | |
468 | ||
0fbefa25 GA |
469 | 2022-01-05 François Dumont <fdumont@gcc.gnu.org> |
470 | ||
471 | PR libstdc++/68303 | |
472 | * include/bits/hashtable_policy.h | |
473 | (_Hashtable_hash_traits<_Hash>): New. | |
474 | (_Hash_code_base<>::_M_hash_code(const _Hash_node_value<>&)): New. | |
475 | (_Hashtable_base<>::_M_key_equals): New. | |
476 | (_Hashtable_base<>::_M_equals): Use latter. | |
477 | (_Hashtable_base<>::_M_key_equals_tr): New. | |
478 | (_Hashtable_base<>::_M_equals_tr): Use latter. | |
479 | * include/bits/hashtable.h | |
480 | (_Hashtable<>::__small_size_threshold()): New, use _Hashtable_hash_traits. | |
481 | (_Hashtable<>::find): Loop through elements to look for key if size is lower | |
482 | than __small_size_threshold(). | |
483 | (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise. | |
484 | (_Hashtable<>::_M_insert_unique(_Kt&&, _Args&&, const _NodeGenerator&)): Likewise. | |
485 | (_Hashtable<>::_M_compute_hash_code(const_iterator, const key_type&)): New. | |
486 | (_Hashtable<>::_M_emplace(const_iterator, false_type, _Args&&...)): Use latter. | |
487 | (_Hashtable<>::_M_find_before_node(const key_type&)): New. | |
488 | (_Hashtable<>::_M_erase(true_type, const key_type&)): Use latter. | |
489 | (_Hashtable<>::_M_erase(false_type, const key_type&)): Likewise. | |
490 | * src/c++11/hashtable_c++0x.cc: Include <bits/functional_hash.h>. | |
491 | * testsuite/util/testsuite_performance.h | |
492 | (report_performance): Use 9 width to display memory. | |
493 | * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: | |
494 | New performance test case. | |
495 | ||
496 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
497 | ||
498 | PR libstdc++/103919 | |
499 | * include/bits/basic_string.h (basic_string(const T&, size_t, size_t)): | |
500 | Relax constraints on string_view parameter. | |
501 | * include/bits/cow_string.h (basic_string(const T&, size_t, size_t)): | |
502 | Likewise. | |
503 | * testsuite/21_strings/basic_string/cons/char/103919.cc: New test. | |
504 | ||
505 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
506 | ||
507 | * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export new symbol for | |
508 | ARM EABI. | |
509 | * include/bits/c++config (_GLIBCXX23_CONSTEXPR): Define. | |
510 | * include/std/version (__cpp_lib_constexpr_typeinfo): Define. | |
511 | * libsupc++/tinfo.cc: Add #error to ensure non-inline definition | |
512 | is emitted. | |
513 | (type_info::__equal): Define alias symbol. | |
514 | * libsupc++/typeinfo (type_info::before): Combine different | |
515 | implementations into one. | |
516 | (type_info::operator==): Likewise. Use address equality for | |
517 | constant evaluation. Call __equal for targets that require the | |
518 | definition to be non-inline. | |
519 | * testsuite/18_support/type_info/constexpr.cc: New test. | |
520 | ||
521 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
522 | ||
523 | * src/c++11/cxx11-ios_failure.cc (io_error_category): Define | |
524 | class and virtual functions as 'final'. | |
525 | (io_category_instance): Use constinit union to make the object | |
526 | immortal. | |
527 | * src/c++11/future.cc (future_error_category): Define class and | |
528 | virtual functions as 'final'. | |
529 | (future_category_instance): Use constinit union. | |
530 | ||
531 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
532 | ||
533 | * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip | |
534 | versioned namespace from the type name that is printed. | |
535 | ||
536 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
537 | ||
538 | * python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New | |
539 | printer for std::regex NFA states. | |
540 | ||
541 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
542 | ||
543 | * testsuite/23_containers/forward_list/operations/1.cc: Fill in | |
544 | placeholders in comments. | |
545 | * testsuite/23_containers/forward_list/operations/2.cc: | |
546 | Likewise. | |
547 | * testsuite/23_containers/forward_list/operations/3.cc: | |
548 | Likewise. | |
549 | * testsuite/23_containers/forward_list/operations/4.cc: | |
550 | Likewise. | |
551 | * testsuite/23_containers/forward_list/operations/5.cc: | |
552 | Likewise. | |
553 | * testsuite/23_containers/forward_list/operations/6.cc: | |
554 | Likewise. | |
555 | * testsuite/23_containers/forward_list/operations/7.cc: | |
556 | Likewise. | |
557 | ||
558 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
559 | ||
560 | PR libstdc++/103848 | |
561 | * include/bits/stl_deque.h (operator-): Do not use 0 as null | |
562 | pointer constant. | |
563 | ||
564 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
565 | ||
566 | * include/bits/alloc_traits.h (allocator_traits<allocator<void>>): | |
567 | Use std::_Construct for construct. | |
568 | ||
569 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
570 | ||
571 | PR libstdc++/103877 | |
572 | * doc/xml/faq.xml: Add '-x c++' to preprocessor command. | |
573 | * doc/html/faq.html: Regenerate. | |
574 | ||
575 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
576 | ||
577 | * include/bits/regex.h (__regex_algo_impl): Change __policy and | |
578 | __match_mode template parameters to be function parameters. | |
579 | (regex_match, regex_search): Pass policy and match mode as | |
580 | function arguments. | |
581 | * include/bits/regex.tcc (__regex_algo_impl): Change template | |
582 | parameters to function parameters. | |
583 | * include/bits/regex_compiler.h (_RegexTranslatorBase): Use | |
584 | 'if constexpr' for conditions using template parameters. | |
585 | (_RegexTranslator): Likewise. | |
586 | * include/bits/regex_executor.tcc (_Executor::_M_handle_accept): | |
587 | Likewise. | |
588 | * testsuite/util/testsuite_regex.h (regex_match_debug) | |
589 | (regex_search_debug): Move template arguments to function | |
590 | arguments. | |
591 | ||
592 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
593 | ||
594 | * testsuite/util/testsuite_regex.h (regex_match_debug): Compare | |
595 | results even if the match failed. | |
596 | ||
597 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
598 | ||
599 | * include/bits/regex_compiler.tcc: Adjust all calls to | |
600 | __throw_regex_error. | |
601 | * include/bits/regex_error.h (__throw_regex_error): Add noreturn | |
602 | attribute. | |
603 | * include/bits/regex_scanner.tcc: Likewise. | |
604 | * src/c++11/regex.cc (desc): New helper function. | |
605 | (regex_error::regex_error(error_type)): Use desc to get a string | |
606 | corresponding to the error code. | |
607 | ||
b4df5e92 | 608 | \f |
6123f29a | 609 | Copyright (C) 2022 Free Software Foundation, Inc. |
b4df5e92 JW |
610 | |
611 | Copying and distribution of this file, with or without modification, | |
612 | are permitted in any medium without royalty provided the copyright | |
613 | notice and this notice are preserved. |