]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
testsuite: Compile gcc.target/i386/pr103861-3.c with -fno-vect-cost-model [PR103941]
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
01a254e3
GA
12022-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
102022-01-11 Jonathan Wakely <jwakely@redhat.com>
11
12 * include/std/ranges (ranges::lazy_split_view::_InnerIter::end()):
13 Add neoxcept (LWG 3593).
14
152022-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
222022-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
322022-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
382022-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
482022-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
562022-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
952022-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
1212022-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
1292022-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
1352022-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
1412022-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
1462022-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
1542022-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
1592022-01-06 Jonathan Wakely <jwakely@redhat.com>
160
161 * testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor.
162
1632022-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
1722022-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
1992022-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
2082022-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
2242022-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
2342022-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
2392022-01-05 Jonathan Wakely <jwakely@redhat.com>
240
241 * python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New
242 printer for std::regex NFA states.
243
2442022-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
2612022-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
2672022-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
2722022-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
2782022-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
2952022-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
3002022-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 312Copyright (C) 2022 Free Software Foundation, Inc.
b4df5e92
JW
313
314Copying and distribution of this file, with or without modification,
315are permitted in any medium without royalty provided the copyright
316notice and this notice are preserved.