]>
Commit | Line | Data |
---|---|---|
02a8a01b GA |
1 | 2022-01-12 Patrick Palka <ppalka@redhat.com> |
2 | ||
3 | * testsuite/20_util/to_chars/103955.cc: Add explicit dg-do | |
4 | directive. | |
5 | ||
6 | 2022-01-12 Patrick Palka <ppalka@redhat.com> | |
7 | ||
8 | PR libstdc++/103955 | |
9 | * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): | |
10 | Track the excess precision separately from the effective | |
11 | precision. Avoid overflow in bounds check by splitting it into | |
12 | two checks. | |
13 | (__floating_to_chars_precision): Avoid overflow in bounds checks | |
14 | similarly. | |
15 | * testsuite/20_util/to_chars/103955.cc: New test. | |
16 | ||
01a254e3 GA |
17 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> |
18 | ||
19 | PR libstdc++/103726 | |
20 | * include/Makefile.am: Install <source_location> for | |
21 | freestanding. | |
22 | * include/Makefile.in: Regenerate. | |
23 | * include/std/version (__cpp_lib_source_location): Define for | |
24 | freestanding. | |
25 | ||
26 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
27 | ||
28 | * include/std/ranges (ranges::lazy_split_view::_InnerIter::end()): | |
29 | Add neoxcept (LWG 3593). | |
30 | ||
31 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
32 | ||
33 | * include/std/ranges (ranges::__detail::__box): Add constexpr to | |
34 | assignment operators (LWG 3572). | |
35 | * testsuite/std/ranges/adaptors/filter.cc: Check assignment of a | |
36 | view that uses copyable-box. | |
37 | ||
38 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
39 | ||
40 | PR libstdc++/103726 | |
41 | * include/Makefile.am: Install <coroutine> for freestanding. | |
42 | * include/Makefile.in: Regenerate. | |
43 | * include/std/coroutine: Adjust headers and preprocessor | |
44 | conditions. | |
45 | (__coroutine_traits_impl): Use concepts when available. | |
46 | [_GLIBCXX_HOSTED] (hash<coroutine_handle>): Define. | |
47 | ||
48 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
49 | ||
50 | * include/std/ostream (operator<<(basic_ostream&, charT)): | |
51 | Use unformatted input if no padding is needed. | |
52 | (operator<<(basic_ostream<char>&, char)): Likewise. | |
53 | ||
54 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
55 | ||
56 | PR libstdc++/103891 | |
57 | * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS): | |
58 | Define. | |
59 | * include/std/variant (__cpp_lib_variant): Only define C++20 | |
60 | value when the compiler is known to support conditionally | |
61 | trivial destructors. | |
62 | * include/std/version (__cpp_lib_variant): Likewise. | |
63 | ||
64 | 2022-01-11 Jonathan Wakely <jwakely@redhat.com> | |
65 | ||
66 | * include/bits/stl_iterator.h (common_iterator): Add constexpr | |
67 | to all member functions (LWG 3574). | |
68 | * testsuite/24_iterators/common_iterator/1.cc: Evaluate some | |
69 | tests as constant expressions. | |
70 | * testsuite/24_iterators/common_iterator/2.cc: Likewise. | |
71 | ||
d9450aa0 GA |
72 | 2022-01-10 Jakub Jelinek <jakub@redhat.com> |
73 | ||
74 | PR libstdc++/77760 | |
75 | * include/bits/locale_facets_nonio.h (__time_get_state): New struct. | |
76 | (time_get::_M_extract_via_format): Declare new method with | |
77 | __time_get_state& as an extra argument. | |
78 | * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Add | |
79 | __state argument, set various fields in it while parsing. Handle %j, | |
80 | %U, %w and %W, fix up handling of %y, %Y and %C, don't adjust tm_hour | |
81 | for %p immediately. Add a wrapper around the method without the | |
82 | __state argument for backwards compatibility. | |
83 | (_M_extract_num): Remove all __len == 4 special cases. | |
84 | (time_get::do_get_time, time_get::do_get_date, time_get::do_get): Zero | |
85 | initialize __state, pass it to _M_extract_via_format and finalize it | |
86 | at the end. | |
87 | (do_get_year): For 1-2 digit parsed years, map 0-68 to 2000-2068, | |
88 | 69-99 to 1969-1999. For 3-4 digit parsed years use that as year. | |
89 | (get): If do_get isn't overloaded from the locale_facets_nonio.tcc | |
90 | version, don't call do_get but call _M_extract_via_format instead to | |
91 | pass around state. | |
92 | * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_extract_via_format | |
93 | with extra __time_get_state and __time_get_state::_M_finalize_state. | |
94 | * src/c++98/locale_facets.cc (is_leap, day_of_the_week, | |
95 | day_of_the_year): New functions in anon namespace. | |
96 | (mon_yday): New var in anon namespace. | |
97 | (__time_get_state::_M_finalize_state): Define. | |
98 | * testsuite/22_locale/time_get/get/char/4.cc: New test. | |
99 | * testsuite/22_locale/time_get/get/wchar_t/4.cc: New test. | |
100 | * testsuite/22_locale/time_get/get_year/char/1.cc (test01): Parse 197 | |
101 | as year 197AD instead of error. | |
102 | * testsuite/22_locale/time_get/get_year/char/5.cc (test01): Parse 1 as | |
103 | year 2001 instead of error. | |
104 | * testsuite/22_locale/time_get/get_year/char/6.cc: New test. | |
105 | * testsuite/22_locale/time_get/get_year/wchar_t/1.cc (test01): Parse | |
106 | 197 as year 197AD instead of error. | |
107 | * testsuite/22_locale/time_get/get_year/wchar_t/5.cc (test01): Parse | |
108 | 1 as year 2001 instead of error. | |
109 | * testsuite/22_locale/time_get/get_year/wchar_t/6.cc: New test. | |
110 | ||
111 | 2022-01-10 Jonathan Wakely <jwakely@redhat.com> | |
112 | ||
113 | PR libstdc++/103866 | |
114 | * acinclude.m4 (GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS): Do | |
115 | nothing for freestanding builds. | |
116 | (GLIBCXX_ENABLE_HOSTED): Define FREESTANDING_FLAGS. | |
117 | * configure.ac: Do not use AC_LIBTOOL_DLOPEN when configured | |
118 | with --without-headers. Do not use GCC_HEADER_STDINT for | |
119 | freestanding builds. | |
120 | * libsupc++/Makefile.am (HOSTED_CXXFLAGS): Use -ffreestanding | |
121 | for freestanding builds. | |
122 | * configure: Regenerate. | |
123 | * Makefile.in: Regenerate. | |
124 | * doc/Makefile.in: Regenerate. | |
125 | * include/Makefile.in: Regenerate. | |
126 | * libsupc++/Makefile.in: Regenerate. | |
127 | * po/Makefile.in: Regenerate. | |
128 | * python/Makefile.in: Regenerate. | |
129 | * src/Makefile.in: Regenerate. | |
130 | * src/c++11/Makefile.in: Regenerate. | |
131 | * src/c++17/Makefile.in: Regenerate. | |
132 | * src/c++20/Makefile.in: Regenerate. | |
133 | * src/c++98/Makefile.in: Regenerate. | |
134 | * src/filesystem/Makefile.in: Regenerate. | |
135 | * testsuite/Makefile.in: Regenerate. | |
136 | ||
137 | 2022-01-10 Jonathan Wakely <jwakely@redhat.com> | |
138 | ||
139 | * testsuite/28_regex/algorithms/regex_replace/char/103664.cc: | |
140 | Add dg-timeout-factor directive. | |
141 | * testsuite/28_regex/basic_regex/84110.cc: Likewise. | |
142 | * testsuite/28_regex/basic_regex/ctors/char/other.cc: Likewise. | |
143 | * testsuite/28_regex/match_results/102667.cc: Likewise. | |
144 | ||
145 | 2022-01-10 Jonathan Wakely <jwakely@redhat.com> | |
146 | ||
147 | * doc/xml/manual/using.xml: Update documentation around default | |
148 | -std option. | |
149 | * doc/html/*: Regenerate. | |
150 | ||
151 | 2022-01-10 Jonathan Wakely <jwakely@redhat.com> | |
152 | ||
153 | PR libstdc++/100017 | |
154 | * src/c++17/Makefile.am (AM_CXXFLAGS): Add -nostdinc++. | |
155 | * src/c++17/Makefile.in: Regenerate. | |
156 | ||
3a5702df GA |
157 | 2022-01-09 Sandra Loosemore <sandra@codesourcery.com> |
158 | ||
159 | * testsuite/18_support/type_info/constexpr.cc: Add explicit | |
160 | -fdelete-null-pointer-checks option. | |
161 | ||
11ce8d04 GA |
162 | 2022-01-06 Pavel I. Kryukov <pavel.kryukov@phystech.edu> |
163 | Jonathan Wakely <jwakely@redhat.com> | |
164 | ||
165 | PR libstdc++/103853 | |
166 | * include/bits/forward_list.tcc (forward_list::merge): Check for | |
167 | self-merge. | |
168 | * testsuite/23_containers/forward_list/operations/merge.cc: New test. | |
169 | ||
170 | 2022-01-06 Jonathan Wakely <jwakely@redhat.com> | |
171 | ||
172 | * include/bits/regex.h (basic_regex, match_results): Qualify | |
173 | name in friend declaration, to work around Clang bug. | |
174 | ||
175 | 2022-01-06 Jonathan Wakely <jwakely@redhat.com> | |
176 | ||
177 | * testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor. | |
178 | ||
179 | 2022-01-06 Jonathan Wakely <jwakely@redhat.com> | |
180 | ||
181 | PR libstdc++/103911 | |
182 | * include/std/charconv (__from_chars_alpha_to_num): Return | |
183 | char instead of unsigned char. Change invalid return value to | |
184 | 127 instead of using numeric trait. | |
185 | (__from_chars_alnum): Fix comment. Do not use std::isdigit. | |
186 | Change type of variable to char. | |
187 | ||
0fbefa25 GA |
188 | 2022-01-05 François Dumont <fdumont@gcc.gnu.org> |
189 | ||
190 | PR libstdc++/68303 | |
191 | * include/bits/hashtable_policy.h | |
192 | (_Hashtable_hash_traits<_Hash>): New. | |
193 | (_Hash_code_base<>::_M_hash_code(const _Hash_node_value<>&)): New. | |
194 | (_Hashtable_base<>::_M_key_equals): New. | |
195 | (_Hashtable_base<>::_M_equals): Use latter. | |
196 | (_Hashtable_base<>::_M_key_equals_tr): New. | |
197 | (_Hashtable_base<>::_M_equals_tr): Use latter. | |
198 | * include/bits/hashtable.h | |
199 | (_Hashtable<>::__small_size_threshold()): New, use _Hashtable_hash_traits. | |
200 | (_Hashtable<>::find): Loop through elements to look for key if size is lower | |
201 | than __small_size_threshold(). | |
202 | (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise. | |
203 | (_Hashtable<>::_M_insert_unique(_Kt&&, _Args&&, const _NodeGenerator&)): Likewise. | |
204 | (_Hashtable<>::_M_compute_hash_code(const_iterator, const key_type&)): New. | |
205 | (_Hashtable<>::_M_emplace(const_iterator, false_type, _Args&&...)): Use latter. | |
206 | (_Hashtable<>::_M_find_before_node(const key_type&)): New. | |
207 | (_Hashtable<>::_M_erase(true_type, const key_type&)): Use latter. | |
208 | (_Hashtable<>::_M_erase(false_type, const key_type&)): Likewise. | |
209 | * src/c++11/hashtable_c++0x.cc: Include <bits/functional_hash.h>. | |
210 | * testsuite/util/testsuite_performance.h | |
211 | (report_performance): Use 9 width to display memory. | |
212 | * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: | |
213 | New performance test case. | |
214 | ||
215 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
216 | ||
217 | PR libstdc++/103919 | |
218 | * include/bits/basic_string.h (basic_string(const T&, size_t, size_t)): | |
219 | Relax constraints on string_view parameter. | |
220 | * include/bits/cow_string.h (basic_string(const T&, size_t, size_t)): | |
221 | Likewise. | |
222 | * testsuite/21_strings/basic_string/cons/char/103919.cc: New test. | |
223 | ||
224 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
225 | ||
226 | * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export new symbol for | |
227 | ARM EABI. | |
228 | * include/bits/c++config (_GLIBCXX23_CONSTEXPR): Define. | |
229 | * include/std/version (__cpp_lib_constexpr_typeinfo): Define. | |
230 | * libsupc++/tinfo.cc: Add #error to ensure non-inline definition | |
231 | is emitted. | |
232 | (type_info::__equal): Define alias symbol. | |
233 | * libsupc++/typeinfo (type_info::before): Combine different | |
234 | implementations into one. | |
235 | (type_info::operator==): Likewise. Use address equality for | |
236 | constant evaluation. Call __equal for targets that require the | |
237 | definition to be non-inline. | |
238 | * testsuite/18_support/type_info/constexpr.cc: New test. | |
239 | ||
240 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
241 | ||
242 | * src/c++11/cxx11-ios_failure.cc (io_error_category): Define | |
243 | class and virtual functions as 'final'. | |
244 | (io_category_instance): Use constinit union to make the object | |
245 | immortal. | |
246 | * src/c++11/future.cc (future_error_category): Define class and | |
247 | virtual functions as 'final'. | |
248 | (future_category_instance): Use constinit union. | |
249 | ||
250 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
251 | ||
252 | * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip | |
253 | versioned namespace from the type name that is printed. | |
254 | ||
255 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
256 | ||
257 | * python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New | |
258 | printer for std::regex NFA states. | |
259 | ||
260 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
261 | ||
262 | * testsuite/23_containers/forward_list/operations/1.cc: Fill in | |
263 | placeholders in comments. | |
264 | * testsuite/23_containers/forward_list/operations/2.cc: | |
265 | Likewise. | |
266 | * testsuite/23_containers/forward_list/operations/3.cc: | |
267 | Likewise. | |
268 | * testsuite/23_containers/forward_list/operations/4.cc: | |
269 | Likewise. | |
270 | * testsuite/23_containers/forward_list/operations/5.cc: | |
271 | Likewise. | |
272 | * testsuite/23_containers/forward_list/operations/6.cc: | |
273 | Likewise. | |
274 | * testsuite/23_containers/forward_list/operations/7.cc: | |
275 | Likewise. | |
276 | ||
277 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
278 | ||
279 | PR libstdc++/103848 | |
280 | * include/bits/stl_deque.h (operator-): Do not use 0 as null | |
281 | pointer constant. | |
282 | ||
283 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
284 | ||
285 | * include/bits/alloc_traits.h (allocator_traits<allocator<void>>): | |
286 | Use std::_Construct for construct. | |
287 | ||
288 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
289 | ||
290 | PR libstdc++/103877 | |
291 | * doc/xml/faq.xml: Add '-x c++' to preprocessor command. | |
292 | * doc/html/faq.html: Regenerate. | |
293 | ||
294 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
295 | ||
296 | * include/bits/regex.h (__regex_algo_impl): Change __policy and | |
297 | __match_mode template parameters to be function parameters. | |
298 | (regex_match, regex_search): Pass policy and match mode as | |
299 | function arguments. | |
300 | * include/bits/regex.tcc (__regex_algo_impl): Change template | |
301 | parameters to function parameters. | |
302 | * include/bits/regex_compiler.h (_RegexTranslatorBase): Use | |
303 | 'if constexpr' for conditions using template parameters. | |
304 | (_RegexTranslator): Likewise. | |
305 | * include/bits/regex_executor.tcc (_Executor::_M_handle_accept): | |
306 | Likewise. | |
307 | * testsuite/util/testsuite_regex.h (regex_match_debug) | |
308 | (regex_search_debug): Move template arguments to function | |
309 | arguments. | |
310 | ||
311 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
312 | ||
313 | * testsuite/util/testsuite_regex.h (regex_match_debug): Compare | |
314 | results even if the match failed. | |
315 | ||
316 | 2022-01-05 Jonathan Wakely <jwakely@redhat.com> | |
317 | ||
318 | * include/bits/regex_compiler.tcc: Adjust all calls to | |
319 | __throw_regex_error. | |
320 | * include/bits/regex_error.h (__throw_regex_error): Add noreturn | |
321 | attribute. | |
322 | * include/bits/regex_scanner.tcc: Likewise. | |
323 | * src/c++11/regex.cc (desc): New helper function. | |
324 | (regex_error::regex_error(error_type)): Use desc to get a string | |
325 | corresponding to the error code. | |
326 | ||
b4df5e92 | 327 | \f |
6123f29a | 328 | Copyright (C) 2022 Free Software Foundation, Inc. |
b4df5e92 JW |
329 | |
330 | Copying and distribution of this file, with or without modification, | |
331 | are permitted in any medium without royalty provided the copyright | |
332 | notice and this notice are preserved. |