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