ChangeLog revision 1.1.1.23 1 1.1.1.23 mrg 2023-05-08 Release Manager
2 1.1.1.22 mrg
3 1.1.1.23 mrg * GCC 12.3.0 released.
4 1.1.1.22 mrg
5 1.1.1.23 mrg 2023-05-03 Kefu Chai <kefu.chai (a] scylladb.com>
6 1.1.1.22 mrg
7 1.1.1.22 mrg Backported from master:
8 1.1.1.23 mrg 2023-05-03 Kefu Chai <kefu.chai (a] scylladb.com>
9 1.1.1.23 mrg Jonathan Wakely <jwakely (a] redhat.com>
10 1.1.1.22 mrg
11 1.1.1.23 mrg PR libstdc++/109703
12 1.1.1.23 mrg * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
13 1.1.1.23 mrg Initialize _M_string_length.
14 1.1.1.22 mrg
15 1.1.1.23 mrg 2023-05-03 Jonathan Wakely <jwakely (a] redhat.com>
16 1.1.1.22 mrg
17 1.1.1.22 mrg Backported from master:
18 1.1.1.23 mrg 2023-04-28 Jonathan Wakely <jwakely (a] redhat.com>
19 1.1.1.22 mrg
20 1.1.1.23 mrg * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
21 1.1.1.23 mrg from header paths.
22 1.1.1.22 mrg
23 1.1.1.23 mrg 2023-04-29 Patrick Palka <ppalka (a] redhat.com>
24 1.1.1.22 mrg
25 1.1.1.22 mrg Backported from master:
26 1.1.1.23 mrg 2023-04-12 Patrick Palka <ppalka (a] redhat.com>
27 1.1.1.22 mrg
28 1.1.1.23 mrg * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
29 1.1.1.23 mrg Propagate _M_trailing_empty in the const-converting constructor
30 1.1.1.23 mrg as per LWG 3904.
31 1.1.1.23 mrg * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
32 1.1.1.22 mrg
33 1.1.1.23 mrg 2023-04-29 Patrick Palka <ppalka (a] redhat.com>
34 1.1.1.22 mrg
35 1.1.1.22 mrg Backported from master:
36 1.1.1.23 mrg 2023-03-14 Patrick Palka <ppalka (a] redhat.com>
37 1.1.1.22 mrg
38 1.1.1.23 mrg * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
39 1.1.1.23 mrg Define.
40 1.1.1.23 mrg (__cpp_lib_move_iterator_concept): Define for C++20.
41 1.1.1.23 mrg (move_iterator::iterator_concept): Strengthen as per P2520R0.
42 1.1.1.23 mrg * include/std/version (__cpp_lib_move_iterator_concept): Define
43 1.1.1.23 mrg for C++20.
44 1.1.1.23 mrg * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
45 1.1.1.22 mrg
46 1.1.1.23 mrg 2023-04-29 Patrick Palka <ppalka (a] redhat.com>
47 1.1.1.22 mrg
48 1.1.1.22 mrg Backported from master:
49 1.1.1.23 mrg 2023-03-09 Patrick Palka <ppalka (a] redhat.com>
50 1.1.1.22 mrg
51 1.1.1.23 mrg PR libstdc++/108362
52 1.1.1.23 mrg * include/std/ranges (__detail::__can_single_view): New concept.
53 1.1.1.23 mrg (_Single::operator()): Constrain it. Move [[nodiscard]] to the
54 1.1.1.23 mrg end of the function declarator.
55 1.1.1.23 mrg (__detail::__can_iota_view): New concept.
56 1.1.1.23 mrg (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
57 1.1.1.23 mrg end of the function declarator.
58 1.1.1.23 mrg (__detail::__can_istream_view): New concept.
59 1.1.1.23 mrg (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
60 1.1.1.23 mrg end of the function declarator.
61 1.1.1.23 mrg * testsuite/std/ranges/iota/lwg3292_neg.cc: Prune "in
62 1.1.1.23 mrg requirements" diagnostic.
63 1.1.1.23 mrg * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
64 1.1.1.23 mrg * testsuite/std/ranges/istream_view.cc (test08): New test.
65 1.1.1.23 mrg * testsuite/std/ranges/single_view.cc (test07): New test.
66 1.1.1.23 mrg
67 1.1.1.23 mrg 2023-04-28 Patrick Palka <ppalka (a] redhat.com>
68 1.1.1.23 mrg
69 1.1.1.23 mrg Backported from master:
70 1.1.1.23 mrg 2023-04-24 Patrick Palka <ppalka (a] redhat.com>
71 1.1.1.23 mrg
72 1.1.1.23 mrg * include/bits/max_size_type.h (__max_diff_type::operator>>=):
73 1.1.1.23 mrg Fix propagation of sign bit.
74 1.1.1.23 mrg * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
75 1.1.1.23 mrg non-standard 'signed typedef-name'. Add some compile-time tests
76 1.1.1.23 mrg for right-shifting a negative __max_diff_type value by more than
77 1.1.1.23 mrg one.
78 1.1.1.22 mrg
79 1.1.1.23 mrg 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com>
80 1.1.1.22 mrg
81 1.1.1.23 mrg * include/std/atomic: Add missing @endcond doxygen comment.
82 1.1.1.22 mrg
83 1.1.1.23 mrg 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com>
84 1.1.1.22 mrg
85 1.1.1.22 mrg Backported from master:
86 1.1.1.23 mrg 2022-11-25 Jonathan Wakely <jwakely (a] redhat.com>
87 1.1.1.22 mrg
88 1.1.1.23 mrg PR libstdc++/107850
89 1.1.1.23 mrg * include/bits/erase_if.h (__erase_nodes_if): Use non-const
90 1.1.1.23 mrg reference to the container.
91 1.1.1.23 mrg * include/experimental/map (erase_if): Likewise.
92 1.1.1.23 mrg * include/experimental/set (erase_if): Likewise.
93 1.1.1.23 mrg * include/experimental/unordered_map (erase_if): Likewise.
94 1.1.1.23 mrg * include/experimental/unordered_set (erase_if): Likewise.
95 1.1.1.23 mrg * include/std/map (erase_if): Likewise.
96 1.1.1.23 mrg * include/std/set (erase_if): Likewise.
97 1.1.1.23 mrg * include/std/unordered_map (erase_if): Likewise.
98 1.1.1.23 mrg * include/std/unordered_set (erase_if): Likewise.
99 1.1.1.23 mrg * testsuite/23_containers/map/erasure.cc: Check with
100 1.1.1.23 mrg const-incorrect predicate.
101 1.1.1.23 mrg * testsuite/23_containers/set/erasure.cc: Likewise.
102 1.1.1.23 mrg * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
103 1.1.1.23 mrg * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
104 1.1.1.23 mrg * testsuite/experimental/map/erasure.cc: Likewise.
105 1.1.1.23 mrg * testsuite/experimental/set/erasure.cc: Likewise.
106 1.1.1.23 mrg * testsuite/experimental/unordered_map/erasure.cc: Likewise.
107 1.1.1.23 mrg * testsuite/experimental/unordered_set/erasure.cc: Likewise.
108 1.1.1.22 mrg
109 1.1.1.23 mrg 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com>
110 1.1.1.22 mrg
111 1.1.1.22 mrg Backported from master:
112 1.1.1.23 mrg 2022-11-28 Jonathan Wakely <jwakely (a] redhat.com>
113 1.1.1.22 mrg
114 1.1.1.23 mrg * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
115 1.1.1.23 mrg Replace non-ASCII character.
116 1.1.1.22 mrg
117 1.1.1.23 mrg 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com>
118 1.1.1.22 mrg
119 1.1.1.22 mrg Backported from master:
120 1.1.1.23 mrg 2023-02-28 Jonathan Wakely <jwakely (a] redhat.com>
121 1.1.1.22 mrg
122 1.1.1.23 mrg PR libstdc++/108952
123 1.1.1.23 mrg * include/bits/uses_allocator_args.h
124 1.1.1.23 mrg (uses_allocator_construction_args): Implement LWG 3527.
125 1.1.1.23 mrg * testsuite/20_util/pair/astuple/get-2.cc: New test.
126 1.1.1.23 mrg * testsuite/20_util/scoped_allocator/108952.cc: New test.
127 1.1.1.23 mrg * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
128 1.1.1.22 mrg
129 1.1.1.23 mrg 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com>
130 1.1.1.22 mrg
131 1.1.1.22 mrg Backported from master:
132 1.1.1.23 mrg 2023-03-31 Jonathan Wakely <jwakely (a] redhat.com>
133 1.1.1.22 mrg
134 1.1.1.23 mrg PR libstdc++/109339
135 1.1.1.23 mrg * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
136 1.1.1.23 mrg Add attribute access with access-mode 'none'.
137 1.1.1.23 mrg * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
138 1.1.1.22 mrg
139 1.1.1.23 mrg 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com>
140 1.1.1.22 mrg
141 1.1.1.22 mrg Backported from master:
142 1.1.1.23 mrg 2022-11-28 Jonathan Wakely <jwakely (a] redhat.com>
143 1.1.1.22 mrg
144 1.1.1.23 mrg PR libstdc++/107466
145 1.1.1.23 mrg * include/bits/random.h (subtract_with_carry_engine): Use 32-bit
146 1.1.1.23 mrg type for default seed. Use 0u as default argument for
147 1.1.1.23 mrg subtract_with_carry_engine(result_type) constructor and
148 1.1.1.23 mrg seed(result_type) member function.
149 1.1.1.23 mrg * include/bits/random.tcc (subtract_with_carry_engine): Use
150 1.1.1.23 mrg 32-bit type for default seed and engine used for initial state.
151 1.1.1.23 mrg * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
152 1.1.1.23 mrg New test.
153 1.1.1.22 mrg
154 1.1.1.22 mrg 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com>
155 1.1.1.22 mrg
156 1.1.1.22 mrg Backported from master:
157 1.1.1.23 mrg 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com>
158 1.1.1.22 mrg
159 1.1.1.23 mrg * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
160 1.1.1.22 mrg
161 1.1.1.22 mrg 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com>
162 1.1.1.22 mrg
163 1.1.1.22 mrg Backported from master:
164 1.1.1.22 mrg 2023-04-27 Jonathan Wakely <jwakely (a] redhat.com>
165 1.1.1.22 mrg
166 1.1.1.22 mrg * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
167 1.1.1.22 mrg HTML docs.
168 1.1.1.22 mrg * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
169 1.1.1.22 mrg from doxygen docs.
170 1.1.1.22 mrg * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
171 1.1.1.22 mrg Likewise.
172 1.1.1.22 mrg * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
173 1.1.1.22 mrg Likewise.
174 1.1.1.22 mrg * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
175 1.1.1.22 mrg Likewise.
176 1.1.1.22 mrg * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
177 1.1.1.22 mrg (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
178 1.1.1.22 mrg (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
179 1.1.1.22 mrg (_DEFINE_BINARY_OPERATOR): Likewise.
180 1.1.1.22 mrg
181 1.1.1.23 mrg 2023-04-21 Jonathan Wakely <jwakely (a] redhat.com>
182 1.1.1.23 mrg
183 1.1.1.23 mrg PR libstdc++/103755
184 1.1.1.23 mrg * include/bits/locale_classes.tcc (try_facet, use_facet): Do not
185 1.1.1.23 mrg check array index or dynamic type when accessing required
186 1.1.1.23 mrg specializations of std::ctype, std::num_get, or std::num_put.
187 1.1.1.23 mrg * testsuite/22_locale/ctype/is/string/89728_neg.cc: Adjust
188 1.1.1.23 mrg expected errors.
189 1.1.1.23 mrg
190 1.1.1.23 mrg 2023-04-20 Jonathan Wakely <jwakely (a] redhat.com>
191 1.1.1.22 mrg
192 1.1.1.22 mrg Backported from master:
193 1.1.1.23 mrg 2022-11-29 Jonathan Wakely <jwakely (a] redhat.com>
194 1.1.1.22 mrg
195 1.1.1.23 mrg PR libstdc++/107852
196 1.1.1.23 mrg PR libstdc++/106199
197 1.1.1.23 mrg PR libstdc++/100366
198 1.1.1.23 mrg * include/bits/vector.tcc (vector::_M_fill_insert): Copy
199 1.1.1.23 mrg _M_start and _M_finish members before allocating.
200 1.1.1.23 mrg (vector::_M_default_append): Likewise.
201 1.1.1.23 mrg (vector::_M_range_insert): Likewise.
202 1.1.1.22 mrg
203 1.1.1.23 mrg 2023-04-20 Jonathan Wakely <jwakely (a] redhat.com>
204 1.1.1.22 mrg
205 1.1.1.23 mrg Backported from master:
206 1.1.1.23 mrg 2023-04-04 Jonathan Wakely <jwakely (a] redhat.com>
207 1.1.1.22 mrg
208 1.1.1.23 mrg * doc/xml/manual/extensions.xml: Remove std::bad_exception from
209 1.1.1.23 mrg example program.
210 1.1.1.23 mrg * doc/html/manual/ext_demangling.html: Regenerate.
211 1.1.1.23 mrg
212 1.1.1.23 mrg 2023-04-20 Jonathan Wakely <jwakely (a] redhat.com>
213 1.1.1.22 mrg
214 1.1.1.22 mrg Backported from master:
215 1.1.1.23 mrg 2023-04-05 Jonathan Wakely <jwakely (a] redhat.com>
216 1.1.1.22 mrg
217 1.1.1.23 mrg * include/bits/regex.h (sub_match::swap): New function.
218 1.1.1.23 mrg * testsuite/28_regex/sub_match/lwg3204.cc: New test.
219 1.1.1.22 mrg
220 1.1.1.23 mrg 2023-04-20 Jonathan Wakely <jwakely (a] redhat.com>
221 1.1.1.22 mrg
222 1.1.1.22 mrg Backported from master:
223 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
224 1.1.1.22 mrg
225 1.1.1.23 mrg PR libstdc++/103387
226 1.1.1.23 mrg * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
227 1.1.1.23 mrg std::use_facet instead of cached _M_num_get facet.
228 1.1.1.23 mrg (istream::operator>>(short&)): Likewise.
229 1.1.1.23 mrg (istream::operator>>(int&)): Likewise.
230 1.1.1.23 mrg * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
231 1.1.1.23 mrg std::use_facet instead of cached _M_num_put facet.
232 1.1.1.22 mrg
233 1.1.1.23 mrg 2023-04-20 Jonathan Wakely <jwakely (a] redhat.com>
234 1.1.1.22 mrg
235 1.1.1.22 mrg Backported from master:
236 1.1.1.23 mrg 2023-01-15 Jonathan Wakely <jwakely (a] redhat.com>
237 1.1.1.22 mrg
238 1.1.1.23 mrg * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
239 1.1.1.23 mrg dg-options.
240 1.1.1.22 mrg
241 1.1.1.23 mrg 2023-04-20 Jonathan Wakely <jwakely (a] redhat.com>
242 1.1.1.22 mrg
243 1.1.1.22 mrg Backported from master:
244 1.1.1.23 mrg 2023-03-22 Jonathan Wakely <jwakely (a] redhat.com>
245 1.1.1.22 mrg
246 1.1.1.23 mrg * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
247 1.1.1.23 mrg Add overload, as per LWG 3893.
248 1.1.1.23 mrg * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
249 1.1.1.23 mrg Check assignment from nullptr.
250 1.1.1.22 mrg
251 1.1.1.23 mrg 2023-04-20 Jonathan Wakely <jwakely (a] redhat.com>
252 1.1.1.22 mrg
253 1.1.1.22 mrg Backported from master:
254 1.1.1.23 mrg 2023-03-29 Jonathan Wakely <jwakely (a] redhat.com>
255 1.1.1.22 mrg
256 1.1.1.23 mrg * include/std/expected (expected::value() &): Use const lvalue
257 1.1.1.23 mrg for unex member passed to bad_expected_access constructor, as
258 1.1.1.23 mrg per LWG 3843.
259 1.1.1.22 mrg
260 1.1.1.23 mrg 2023-04-20 Jonathan Wakely <jwakely (a] redhat.com>
261 1.1.1.22 mrg
262 1.1.1.22 mrg Backported from master:
263 1.1.1.22 mrg 2023-02-02 Jonathan Wakely <jwakely (a] redhat.com>
264 1.1.1.22 mrg
265 1.1.1.23 mrg * include/std/variant (variant::operator=): Implement resolution
266 1.1.1.23 mrg of LWG 3585.
267 1.1.1.23 mrg * testsuite/20_util/variant/lwg3585.cc: New test.
268 1.1.1.22 mrg
269 1.1.1.23 mrg 2023-04-12 Patrick Palka <ppalka (a] redhat.com>
270 1.1.1.22 mrg
271 1.1.1.22 mrg Backported from master:
272 1.1.1.23 mrg 2023-04-12 Patrick Palka <ppalka (a] redhat.com>
273 1.1.1.22 mrg
274 1.1.1.23 mrg * src/c++17/floating_from_chars.cc: Include <algorithm>,
275 1.1.1.23 mrg <iterator>, <limits> and <cstdint>.
276 1.1.1.22 mrg
277 1.1.1.23 mrg 2023-03-30 Jonathan Wakely <jwakely (a] redhat.com>
278 1.1.1.22 mrg
279 1.1.1.22 mrg Backported from master:
280 1.1.1.23 mrg 2023-03-29 Jonathan Wakely <jwakely (a] redhat.com>
281 1.1.1.22 mrg
282 1.1.1.23 mrg PR libstdc++/109242
283 1.1.1.23 mrg * include/std/optional (transform): Use std::remove_cv_t.
284 1.1.1.23 mrg * testsuite/20_util/optional/monadic/pr109242.cc: New test.
285 1.1.1.22 mrg
286 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
287 1.1.1.23 mrg
288 1.1.1.23 mrg Backported from master:
289 1.1.1.23 mrg 2022-12-16 Jonathan Wakely <jwakely (a] redhat.com>
290 1.1.1.22 mrg
291 1.1.1.23 mrg PR libstdc++/108118
292 1.1.1.23 mrg * include/bits/shared_ptr_base.h (weak_ptr::operator=):
293 1.1.1.23 mrg Implement as move-and-swap exactly as specified in the standard.
294 1.1.1.23 mrg * testsuite/20_util/weak_ptr/cons/self_move.cc: New test.
295 1.1.1.22 mrg
296 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
297 1.1.1.22 mrg
298 1.1.1.22 mrg Backported from master:
299 1.1.1.23 mrg 2022-11-03 Jonathan Wakely <jwakely (a] redhat.com>
300 1.1.1.22 mrg
301 1.1.1.23 mrg * include/bits/ranges_algobase.h (__detail::__copy_or_move):
302 1.1.1.23 mrg Move output iterator.
303 1.1.1.23 mrg * testsuite/25_algorithms/copy/constrained.cc: Check copying to
304 1.1.1.23 mrg move-only output iterator.
305 1.1.1.22 mrg
306 1.1.1.23 mrg 2023-03-28 Bjrn Schpers <bjoern (a] hazardy.de>
307 1.1.1.22 mrg
308 1.1.1.22 mrg Backported from master:
309 1.1.1.23 mrg 2023-01-14 Bjrn Schpers <bjoern (a] hazardy.de>
310 1.1.1.22 mrg
311 1.1.1.23 mrg * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
312 1.1.1.23 mrg raw __name if __cxa_demangle could not demangle it.
313 1.1.1.22 mrg
314 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
315 1.1.1.22 mrg
316 1.1.1.22 mrg Backported from master:
317 1.1.1.23 mrg 2022-12-12 Jonathan Wakely <jwakely (a] redhat.com>
318 1.1.1.22 mrg
319 1.1.1.23 mrg * include/std/stacktrace (operator<<): Only output to narrow
320 1.1.1.23 mrg ostreams (LWG 3515).
321 1.1.1.23 mrg * testsuite/19_diagnostics/stacktrace/synopsis.cc:
322 1.1.1.22 mrg
323 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
324 1.1.1.22 mrg
325 1.1.1.22 mrg Backported from master:
326 1.1.1.23 mrg 2022-12-09 Jonathan Wakely <jwakely (a] redhat.com>
327 1.1.1.22 mrg
328 1.1.1.23 mrg * include/bits/chrono.h (duration_cast, floor, round, abs, ceil)
329 1.1.1.23 mrg (time_point_cast): Add [[nodiscard]] attribute and doxygen
330 1.1.1.23 mrg comments.
331 1.1.1.23 mrg (treat_as_floating_point): Add doxygen commen.
332 1.1.1.22 mrg
333 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
334 1.1.1.22 mrg
335 1.1.1.22 mrg Backported from master:
336 1.1.1.23 mrg 2022-12-09 Jonathan Wakely <jwakely (a] redhat.com>
337 1.1.1.22 mrg
338 1.1.1.23 mrg * include/bits/chrono.h (duration, time_point): Change 'struct'
339 1.1.1.23 mrg to 'class'.
340 1.1.1.22 mrg
341 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
342 1.1.1.22 mrg
343 1.1.1.22 mrg Backported from master:
344 1.1.1.23 mrg 2023-01-26 Jonathan Wakely <jwakely (a] redhat.com>
345 1.1.1.22 mrg
346 1.1.1.23 mrg PR libstdc++/108554
347 1.1.1.23 mrg * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
348 1.1.1.23 mrg nonnull attribute.
349 1.1.1.23 mrg (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
350 1.1.1.23 mrg attributes.
351 1.1.1.23 mrg * testsuite/23_containers/map/modifiers/108554.cc: New test.
352 1.1.1.23 mrg
353 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
354 1.1.1.22 mrg
355 1.1.1.23 mrg Backported from master:
356 1.1.1.23 mrg 2022-09-23 Jonathan Wakely <jwakely (a] redhat.com>
357 1.1.1.21 mrg
358 1.1.1.23 mrg * include/std/bitset (bitset::_M_copy_to_string): Find set bits
359 1.1.1.23 mrg instead of iterating over individual bits.
360 1.1.1.21 mrg
361 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
362 1.1.1.21 mrg
363 1.1.1.21 mrg Backported from master:
364 1.1.1.23 mrg 2022-09-15 Jonathan Wakely <jwakely (a] redhat.com>
365 1.1.1.21 mrg
366 1.1.1.23 mrg * include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_PRE_LOCK):
367 1.1.1.23 mrg Replace with ...
368 1.1.1.23 mrg (_GLIBCXX_TSAN_MUTEX_TRY_LOCK): ... this, add try_lock flag.
369 1.1.1.23 mrg (_GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED): New macro using
370 1.1.1.23 mrg try_lock_failed flag
371 1.1.1.23 mrg (_GLIBCXX_TSAN_MUTEX_POST_LOCK): Rename to ...
372 1.1.1.23 mrg (_GLIBCXX_TSAN_MUTEX_LOCKED): ... this.
373 1.1.1.23 mrg (_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK): Remove invalid flag.
374 1.1.1.23 mrg (_GLIBCXX_TSAN_MUTEX_POST_UNLOCK): Remove invalid flag.
375 1.1.1.23 mrg (_Sp_atomic::_Atomic_count::lock): Use new macros.
376 1.1.1.21 mrg
377 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
378 1.1.1.21 mrg
379 1.1.1.21 mrg Backported from master:
380 1.1.1.23 mrg 2022-09-14 Jonathan Wakely <jwakely (a] redhat.com>
381 1.1.1.21 mrg
382 1.1.1.23 mrg * include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_DESTROY)
383 1.1.1.23 mrg (_GLIBCXX_TSAN_MUTEX_PRE_LOCK, _GLIBCXX_TSAN_MUTEX_POST_LOCK)
384 1.1.1.23 mrg (_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK, _GLIBCXX_TSAN_MUTEX_POST_UNLOCK)
385 1.1.1.23 mrg (_GLIBCXX_TSAN_MUTEX_PRE_SIGNAL, _GLIBCXX_TSAN_MUTEX_POST_SIGNAL):
386 1.1.1.23 mrg Define macros for TSan annotation functions.
387 1.1.1.23 mrg (_Sp_atomic::_Atomic_count): Add annotations.
388 1.1.1.21 mrg
389 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
390 1.1.1.21 mrg
391 1.1.1.21 mrg Backported from master:
392 1.1.1.23 mrg 2022-05-17 Jonathan Wakely <jwakely (a] redhat.com>
393 1.1.1.21 mrg
394 1.1.1.23 mrg * include/std/memory_resource (new_delete_resource): Add
395 1.1.1.23 mrg nodiscard, returns_nonnull and const attributes.
396 1.1.1.23 mrg (null_memory_resource): Likewise.
397 1.1.1.23 mrg (set_default_resource, get_default_resource): Add returns_nonnull
398 1.1.1.23 mrg attribute.
399 1.1.1.23 mrg (memory_resource::is_equal): Add nodiscard attribute.
400 1.1.1.23 mrg (operator==, operator!=): Likewise.
401 1.1.1.21 mrg
402 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
403 1.1.1.21 mrg
404 1.1.1.21 mrg Backported from master:
405 1.1.1.23 mrg 2022-09-14 Jonathan Wakely <jwakely (a] redhat.com>
406 1.1.1.21 mrg
407 1.1.1.23 mrg * include/std/future
408 1.1.1.23 mrg (_State_baseV2::__setter(exception_ptr&, promise&)): Add
409 1.1.1.23 mrg assertion for LWG 2276 precondition.
410 1.1.1.23 mrg * testsuite/30_threads/promise/members/set_exception_neg.cc:
411 1.1.1.23 mrg New test.
412 1.1.1.21 mrg
413 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
414 1.1.1.21 mrg
415 1.1.1.21 mrg Backported from master:
416 1.1.1.23 mrg 2022-09-08 Jonathan Wakely <jwakely (a] redhat.com>
417 1.1.1.21 mrg
418 1.1.1.23 mrg * include/c_global/cstddef (byte): Add always_inline attribute
419 1.1.1.23 mrg to all operator overloads.
420 1.1.1.23 mrg (to_integer): Add always_inline attribute.
421 1.1.1.23 mrg
422 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
423 1.1.1.21 mrg
424 1.1.1.23 mrg Backported from master:
425 1.1.1.23 mrg 2022-09-08 Jonathan Wakely <jwakely (a] redhat.com>
426 1.1.1.21 mrg
427 1.1.1.23 mrg * include/std/system_error (__adl_only::make_error_code): Add
428 1.1.1.23 mrg deleted function.
429 1.1.1.23 mrg (__adl_only::make_error_condition): Likewise.
430 1.1.1.23 mrg (error_code::error_code(ErrorCodeEnum)): Add using-declaration
431 1.1.1.23 mrg for deleted function.
432 1.1.1.23 mrg (error_condition::error_condition(ErrorConditionEnum)):
433 1.1.1.23 mrg Likewise.
434 1.1.1.23 mrg * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: New test.
435 1.1.1.23 mrg * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: New test.
436 1.1.1.21 mrg
437 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
438 1.1.1.21 mrg
439 1.1.1.21 mrg Backported from master:
440 1.1.1.23 mrg 2022-05-17 Jonathan Wakely <jwakely (a] redhat.com>
441 1.1.1.21 mrg
442 1.1.1.23 mrg * include/bits/ios_base.h (io_category): Add const and nodiscard
443 1.1.1.23 mrg attributes.
444 1.1.1.23 mrg (make_error_code, make_error_condition): Add nodiscard.
445 1.1.1.23 mrg * include/std/future (future_category): Add const and nodiscard.
446 1.1.1.23 mrg (make_error_code, make_error_condition): Add nodiscard.
447 1.1.1.23 mrg * include/std/system_error (generic_category system_category):
448 1.1.1.23 mrg Add nodiscard. Replace _GLIBCXX_CONST with C++11 attribute.
449 1.1.1.23 mrg (error_code::value, error_code::category, error_code::operator bool)
450 1.1.1.23 mrg (error_condition::value, error_condition::category)
451 1.1.1.23 mrg (error_condition::operator bool, make_error_code)
452 1.1.1.23 mrg (make_error_condition, operator==, operator!=, operator<=>): Add
453 1.1.1.23 mrg nodiscard.
454 1.1.1.21 mrg
455 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
456 1.1.1.23 mrg
457 1.1.1.23 mrg Backported from master:
458 1.1.1.23 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com>
459 1.1.1.21 mrg
460 1.1.1.23 mrg * include/bits/std_thread.h (thread, thread::id): Improve
461 1.1.1.23 mrg doxygen docs.
462 1.1.1.23 mrg * include/std/future: Likewise.
463 1.1.1.23 mrg * include/std/thread (jthread): Likewise.
464 1.1.1.21 mrg
465 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
466 1.1.1.21 mrg
467 1.1.1.21 mrg Backported from master:
468 1.1.1.23 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com>
469 1.1.1.21 mrg
470 1.1.1.23 mrg * include/std/system_error: Improve doxygen comments.
471 1.1.1.21 mrg
472 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
473 1.1.1.21 mrg
474 1.1.1.21 mrg Backported from master:
475 1.1.1.23 mrg 2023-02-16 Jonathan Wakely <jwakely (a] redhat.com>
476 1.1.1.21 mrg
477 1.1.1.23 mrg * include/ext/throw_allocator.h: Use reserved names for
478 1.1.1.23 mrg parameters.
479 1.1.1.21 mrg
480 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
481 1.1.1.21 mrg
482 1.1.1.21 mrg Backported from master:
483 1.1.1.23 mrg 2022-11-25 Jonathan Wakely <jwakely (a] redhat.com>
484 1.1.1.21 mrg
485 1.1.1.23 mrg * acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Don't use AC_MSG_RESULT
486 1.1.1.23 mrg unless the AC_MSG_CHECKING happened.
487 1.1.1.23 mrg * configure: Regenerate.
488 1.1.1.21 mrg
489 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
490 1.1.1.21 mrg
491 1.1.1.21 mrg Backported from master:
492 1.1.1.23 mrg 2023-01-12 Jonathan Wakely <jwakely (a] redhat.com>
493 1.1.1.21 mrg
494 1.1.1.23 mrg * doc/xml/manual/abi.xml: Add latest library versions.
495 1.1.1.23 mrg * doc/html/manual/abi.html: Regenerate.
496 1.1.1.21 mrg
497 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
498 1.1.1.21 mrg
499 1.1.1.21 mrg Backported from master:
500 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
501 1.1.1.21 mrg
502 1.1.1.23 mrg * include/bits/char_traits.h (char_traits::copy): Return without
503 1.1.1.23 mrg using memcpy if n==0.
504 1.1.1.23 mrg (char_traits::assign): Likewise for memset.
505 1.1.1.21 mrg
506 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
507 1.1.1.21 mrg
508 1.1.1.21 mrg Backported from master:
509 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
510 1.1.1.21 mrg
511 1.1.1.23 mrg PR libstdc++/109299
512 1.1.1.23 mrg * include/bits/basic_string.h (basic_string::_M_is_local()): Add
513 1.1.1.23 mrg hint for compiler that local strings fit in the local buffer.
514 1.1.1.21 mrg
515 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
516 1.1.1.21 mrg
517 1.1.1.21 mrg Backported from master:
518 1.1.1.23 mrg 2023-03-01 Jonathan Wakely <jwakely (a] redhat.com>
519 1.1.1.21 mrg
520 1.1.1.23 mrg * include/bits/cow_string.h: Fix typo in comment.
521 1.1.1.21 mrg
522 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
523 1.1.1.21 mrg
524 1.1.1.21 mrg Backported from master:
525 1.1.1.23 mrg 2023-02-16 Jonathan Wakely <jwakely (a] redhat.com>
526 1.1.1.21 mrg
527 1.1.1.23 mrg * include/experimental/optional: Fix header name in comment.
528 1.1.1.21 mrg
529 1.1.1.23 mrg 2023-03-28 Jonathan Wakely <jwakely (a] redhat.com>
530 1.1.1.21 mrg
531 1.1.1.21 mrg Backported from master:
532 1.1.1.23 mrg 2023-01-16 Jonathan Wakely <jwakely (a] redhat.com>
533 1.1.1.21 mrg
534 1.1.1.23 mrg PR libstdc++/108413
535 1.1.1.23 mrg * include/c_compatibility/stdatomic.h: Change copyright line to
536 1.1.1.23 mrg be consistent with other headers contributed under DCO terms.
537 1.1.1.23 mrg * include/std/expected: Add full stop to copyright line.
538 1.1.1.21 mrg
539 1.1.1.23 mrg 2023-03-21 Matthias Kretz <m.kretz (a] gsi.de>
540 1.1.1.21 mrg
541 1.1.1.21 mrg Backported from master:
542 1.1.1.23 mrg 2023-03-21 Matthias Kretz <m.kretz (a] gsi.de>
543 1.1.1.21 mrg
544 1.1.1.23 mrg * include/experimental/bits/simd_x86.h
545 1.1.1.23 mrg (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
546 1.1.1.23 mrg with __RECIPROCAL_MATH__.
547 1.1.1.21 mrg
548 1.1.1.23 mrg 2023-03-21 Matthias Kretz <m.kretz (a] gsi.de>
549 1.1.1.21 mrg
550 1.1.1.21 mrg Backported from master:
551 1.1.1.23 mrg 2023-03-21 Matthias Kretz <m.kretz (a] gsi.de>
552 1.1.1.21 mrg
553 1.1.1.23 mrg * include/experimental/bits/simd_detail.h: Don't define
554 1.1.1.23 mrg _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
555 1.1.1.23 mrg * include/experimental/bits/simd_x86.h (_S_divides): Remove
556 1.1.1.23 mrg check for __clang__.
557 1.1.1.21 mrg
558 1.1.1.23 mrg 2023-03-21 Matthias Kretz <m.kretz (a] gsi.de>
559 1.1.1.21 mrg
560 1.1.1.21 mrg Backported from master:
561 1.1.1.23 mrg 2023-03-21 Matthias Kretz <m.kretz (a] gsi.de>
562 1.1.1.21 mrg
563 1.1.1.23 mrg * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
564 1.1.1.23 mrg define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
565 1.1.1.21 mrg
566 1.1.1.23 mrg 2023-03-20 Franois Dumont <fdumont (a] gcc.gnu.org>
567 1.1.1.21 mrg
568 1.1.1.21 mrg Backported from master:
569 1.1.1.23 mrg 2022-11-16 Franois Dumont <fdumont (a] gcc.gnu.org>
570 1.1.1.21 mrg
571 1.1.1.23 mrg * python/libstdcxx/v6/printers.py (FilteringTypePrinter): Rename 'match' field
572 1.1.1.23 mrg 'template'. Add self.targ1 to specify the first template parameter of the instantiation
573 1.1.1.23 mrg to match.
574 1.1.1.23 mrg (add_one_type_printer): Add targ1 optional parameter, default to None.
575 1.1.1.23 mrg Use gdb.types.get_basic_type to compare the type to recognize and the type
576 1.1.1.23 mrg returned from the typedef lookup.
577 1.1.1.23 mrg (register_type_printers): Adapt calls to add_one_type_printers.
578 1.1.1.21 mrg
579 1.1.1.23 mrg 2023-03-20 Franois Dumont <fdumont (a] gcc.gnu.org>
580 1.1.1.21 mrg
581 1.1.1.21 mrg Backported from master:
582 1.1.1.23 mrg 2022-10-03 Franois Dumont <fdumont (a] gcc.gnu.org>
583 1.1.1.21 mrg
584 1.1.1.23 mrg * python/libstdcxx/v6/printers.py (Printer.add_version): Do not add version
585 1.1.1.23 mrg namespace for __cxx11 symbols.
586 1.1.1.23 mrg (add_one_template_type_printer): Likewise.
587 1.1.1.23 mrg (add_one_type_printer): Likewise.
588 1.1.1.23 mrg (FilteringTypePrinter._recognizer.recognize): Add a workaround for std::string & al
589 1.1.1.23 mrg ambiguous typedef matching both std:: and std::__cxx11:: symbols.
590 1.1.1.23 mrg * testsuite/libstdc++-prettyprinters/cxx17.cc: Remove obsolete
591 1.1.1.23 mrg \#define _GLIBCXX_USE_CXX11_ABI 0.
592 1.1.1.23 mrg * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. Adapt test to accept
593 1.1.1.23 mrg std::__cxx11::list.
594 1.1.1.23 mrg * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
595 1.1.1.23 mrg * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
596 1.1.1.23 mrg * testsuite/libstdc++-prettyprinters/80276.cc: Likewise and remove xfail for c++20
597 1.1.1.23 mrg and debug mode.
598 1.1.1.23 mrg * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
599 1.1.1.21 mrg
600 1.1.1.23 mrg 2023-03-20 Franois Dumont <fdumont (a] gcc.gnu.org>
601 1.1.1.21 mrg
602 1.1.1.23 mrg Backported from master:
603 1.1.1.23 mrg 2022-09-22 Franois Dumont <fdumont (a] gcc.gnu.org>
604 1.1.1.21 mrg
605 1.1.1.23 mrg * python/libstdcxx/v6/printers.py: Remove ptinter registration for non-existing
606 1.1.1.23 mrg types std::__debug::unique_ptr, std::__debug::stack, std::__debug::queue,
607 1.1.1.23 mrg std::__debug::priority_queue.
608 1.1.1.23 mrg
609 1.1.1.23 mrg 2023-03-20 Jonathan Wakely <jwakely (a] redhat.com>
610 1.1.1.21 mrg
611 1.1.1.21 mrg Backported from master:
612 1.1.1.23 mrg 2023-03-10 Jonathan Wakely <jwakely (a] redhat.com>
613 1.1.1.23 mrg
614 1.1.1.23 mrg PR libstdc++/109064
615 1.1.1.23 mrg * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
616 1.1.1.23 mrg Remove self-recursion in __init__. Add missing _supports.
617 1.1.1.23 mrg * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
618 1.1.1.23 mrg and unique().
619 1.1.1.21 mrg
620 1.1.1.23 mrg 2023-03-20 Jonathan Wakely <jwakely (a] redhat.com>
621 1.1.1.21 mrg
622 1.1.1.23 mrg PR libstdc++/109182
623 1.1.1.23 mrg * include/std/expected (expected<void>::expected(in_place_t)):
624 1.1.1.23 mrg Remove template-head.
625 1.1.1.21 mrg
626 1.1.1.23 mrg 2023-03-20 Jonathan Wakely <jwakely (a] redhat.com>
627 1.1.1.21 mrg
628 1.1.1.23 mrg PR libstdc++/109165
629 1.1.1.23 mrg * include/std/coroutine (hash<>::operator()): Add const.
630 1.1.1.23 mrg * testsuite/18_support/coroutines/hash.cc: New test.
631 1.1.1.21 mrg
632 1.1.1.23 mrg 2023-03-10 Thomas W Rodgers <rodgert (a] twrodgers.com>
633 1.1.1.21 mrg
634 1.1.1.21 mrg Backported from master:
635 1.1.1.23 mrg 2023-02-14 Thomas W Rodgers <rodgert (a] twrodgers.com>
636 1.1.1.21 mrg
637 1.1.1.23 mrg PR libstdc++/103934
638 1.1.1.23 mrg * include/std/atomic (atomic_flag_wait): Add.
639 1.1.1.23 mrg (atomic_flag_wait_explicit): Add.
640 1.1.1.23 mrg (atomic_flag_notify): Add.
641 1.1.1.23 mrg (atomic_flag_notify_explicit): Add.
642 1.1.1.23 mrg * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
643 1.1.1.23 mrg Add test case to cover missing atomic_flag free functions.
644 1.1.1.21 mrg
645 1.1.1.23 mrg 2023-02-23 Matthias Kretz <m.kretz (a] gsi.de>
646 1.1.1.21 mrg
647 1.1.1.21 mrg Backported from master:
648 1.1.1.23 mrg 2023-02-23 Matthias Kretz <m.kretz (a] gsi.de>
649 1.1.1.21 mrg
650 1.1.1.23 mrg PR libstdc++/108030
651 1.1.1.23 mrg * include/experimental/bits/simd.h (__vector_broadcast):
652 1.1.1.23 mrg Implement via __vector_broadcast_impl instead of
653 1.1.1.23 mrg __call_with_n_evaluations + 2 lambdas.
654 1.1.1.23 mrg (__vector_broadcast_impl): New.
655 1.1.1.21 mrg
656 1.1.1.23 mrg 2023-02-23 Matthias Kretz <m.kretz (a] gsi.de>
657 1.1.1.21 mrg
658 1.1.1.21 mrg Backported from master:
659 1.1.1.23 mrg 2023-02-23 Matthias Kretz <m.kretz (a] gsi.de>
660 1.1.1.21 mrg
661 1.1.1.23 mrg * include/experimental/bits/simd_builtin.h (_S_set): Compare as
662 1.1.1.23 mrg int. The actual range of these indexes is very small.
663 1.1.1.21 mrg
664 1.1.1.23 mrg 2023-02-23 Matthias Kretz <m.kretz (a] gsi.de>
665 1.1.1.21 mrg
666 1.1.1.21 mrg Backported from master:
667 1.1.1.23 mrg 2023-02-23 Matthias Kretz <m.kretz (a] gsi.de>
668 1.1.1.21 mrg
669 1.1.1.23 mrg * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
670 1.1.1.23 mrg (_S_bit_shift_right): Declare constexpr. The implementation was
671 1.1.1.23 mrg already expecting constexpr evaluation.
672 1.1.1.21 mrg
673 1.1.1.23 mrg 2023-02-23 Matthias Kretz <m.kretz (a] gsi.de>
674 1.1.1.21 mrg
675 1.1.1.21 mrg Backported from master:
676 1.1.1.23 mrg 2023-02-20 Matthias Kretz <m.kretz (a] gsi.de>
677 1.1.1.21 mrg
678 1.1.1.23 mrg * include/experimental/bits/simd.h (__extract_part, split):
679 1.1.1.23 mrg Use reserved name for template parameter.
680 1.1.1.21 mrg
681 1.1.1.23 mrg 2023-02-21 Jonathan Wakely <jwakely (a] redhat.com>
682 1.1.1.21 mrg
683 1.1.1.21 mrg Backported from master:
684 1.1.1.23 mrg 2022-08-31 Jonathan Wakely <jwakely (a] redhat.com>
685 1.1.1.21 mrg
686 1.1.1.23 mrg * include/bits/refwrap.h (reference_wrapper::operator()): Add
687 1.1.1.23 mrg noexcept-specifier and use __invoke_result instead of result_of.
688 1.1.1.23 mrg * testsuite/20_util/reference_wrapper/invoke-noexcept.cc: New test.
689 1.1.1.21 mrg
690 1.1.1.23 mrg 2023-02-21 Jonathan Wakely <jwakely (a] redhat.com>
691 1.1.1.21 mrg
692 1.1.1.21 mrg Backported from master:
693 1.1.1.23 mrg 2023-02-02 Jonathan Wakely <jwakely (a] redhat.com>
694 1.1.1.21 mrg
695 1.1.1.23 mrg PR libstdc++/108636
696 1.1.1.23 mrg * include/bits/fs_path.h (path::path(string_view, _Type))
697 1.1.1.23 mrg (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
698 1.1.1.23 mrg definitions to ...
699 1.1.1.23 mrg * src/c++17/fs_path.cc: ... here.
700 1.1.1.23 mrg * testsuite/27_io/filesystem/path/108636.cc: New test.
701 1.1.1.21 mrg
702 1.1.1.23 mrg 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de>
703 1.1.1.21 mrg
704 1.1.1.21 mrg Backported from master:
705 1.1.1.23 mrg 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de>
706 1.1.1.21 mrg
707 1.1.1.23 mrg * include/experimental/bits/simd_math.h (__hypot): Bitcasting
708 1.1.1.23 mrg between scalars requires the __bit_cast helper function instead
709 1.1.1.23 mrg of simd_bit_cast.
710 1.1.1.21 mrg
711 1.1.1.23 mrg 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de>
712 1.1.1.21 mrg
713 1.1.1.21 mrg Backported from master:
714 1.1.1.23 mrg 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de>
715 1.1.1.21 mrg
716 1.1.1.23 mrg * include/experimental/bits/simd_x86.h
717 1.1.1.23 mrg (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
718 1.1.1.23 mrg (_SimdImplX86::_S_less_equal): Do not call
719 1.1.1.23 mrg __builtin_is_constant_evaluated in constexpr-if.
720 1.1.1.21 mrg
721 1.1.1.23 mrg 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de>
722 1.1.1.21 mrg
723 1.1.1.21 mrg Backported from master:
724 1.1.1.23 mrg 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de>
725 1.1.1.21 mrg
726 1.1.1.23 mrg * testsuite/experimental/simd/tests/bits/verify.h
727 1.1.1.23 mrg (verify::verify): Use %zx for size_t in format string.
728 1.1.1.21 mrg
729 1.1.1.23 mrg 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de>
730 1.1.1.21 mrg
731 1.1.1.21 mrg Backported from master:
732 1.1.1.23 mrg 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de>
733 1.1.1.21 mrg
734 1.1.1.23 mrg * testsuite/experimental/simd/README.md: Document the timeout
735 1.1.1.23 mrg and timeout-factor directives. Minor typo fixed.
736 1.1.1.21 mrg
737 1.1.1.23 mrg 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de>
738 1.1.1.21 mrg
739 1.1.1.21 mrg Backported from master:
740 1.1.1.23 mrg 2023-02-16 Matthias Kretz <m.kretz (a] gsi.de>
741 1.1.1.21 mrg
742 1.1.1.23 mrg * include/experimental/bits/simd.h
743 1.1.1.23 mrg (_SimdWrapper::_M_is_constprop_none_of)
744 1.1.1.23 mrg (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
745 1.1.1.23 mrg computed result still satisfies __builtin_constant_p.
746 1.1.1.21 mrg
747 1.1.1.23 mrg 2023-02-14 Thomas W Rodgers <rodgert (a] twrodgers.com>
748 1.1.1.21 mrg
749 1.1.1.21 mrg Backported from master:
750 1.1.1.23 mrg 2023-02-14 Thomas W Rodgers <rodgert (a] twrodgers.com>
751 1.1.1.21 mrg
752 1.1.1.23 mrg PR libstdc++/103934
753 1.1.1.23 mrg * include/std/atomic (atomic_flag_test): Add.
754 1.1.1.23 mrg (atomic_flag_test_explicit): Add.
755 1.1.1.23 mrg * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
756 1.1.1.23 mrg test case to cover missing atomic_flag free functions.
757 1.1.1.23 mrg * testsuite/29_atomics/atomic_flag/test/implicit.cc:
758 1.1.1.23 mrg Likewise.
759 1.1.1.21 mrg
760 1.1.1.23 mrg 2023-02-10 Jakub Jelinek <jakub (a] redhat.com>
761 1.1.1.21 mrg
762 1.1.1.21 mrg Backported from master:
763 1.1.1.23 mrg 2022-11-24 Jakub Jelinek <jakub (a] redhat.com>
764 1.1.1.21 mrg
765 1.1.1.23 mrg PR libstdc++/107468
766 1.1.1.23 mrg * src/c++17/fast_float/fast_float.h: Partial merge from fast_float
767 1.1.1.23 mrg 2ef9abbcf6a11958b6fa685a89d0150022e82e78 commit.
768 1.1.1.21 mrg
769 1.1.1.23 mrg 2023-02-10 Jakub Jelinek <jakub (a] redhat.com>
770 1.1.1.21 mrg
771 1.1.1.21 mrg Backported from master:
772 1.1.1.23 mrg 2022-11-07 Jakub Jelinek <jakub (a] redhat.com>
773 1.1.1.21 mrg
774 1.1.1.23 mrg PR libstdc++/107468
775 1.1.1.23 mrg * src/c++17/fast_float/fast_float.h: Partial merge from fast_float
776 1.1.1.23 mrg 662497742fea7055f0e0ee27e5a7ddc382c2c38e commit.
777 1.1.1.23 mrg * testsuite/20_util/from_chars/pr107468.cc: New test.
778 1.1.1.21 mrg
779 1.1.1.23 mrg 2023-02-02 Jonathan Wakely <jwakely (a] redhat.com>
780 1.1.1.21 mrg
781 1.1.1.21 mrg Backported from master:
782 1.1.1.23 mrg 2023-02-01 Jonathan Wakely <jwakely (a] redhat.com>
783 1.1.1.21 mrg
784 1.1.1.23 mrg * src/c++11/random.cc (random_device::_M_fini): Do not try to
785 1.1.1.23 mrg close the file handle if the target doesn't support the
786 1.1.1.23 mrg /dev/random and /dev/urandom files.
787 1.1.1.21 mrg
788 1.1.1.23 mrg 2023-02-02 Jonathan Wakely <jwakely (a] redhat.com>
789 1.1.1.21 mrg
790 1.1.1.21 mrg Backported from master:
791 1.1.1.23 mrg 2023-02-01 Jonathan Wakely <jwakely (a] redhat.com>
792 1.1.1.21 mrg
793 1.1.1.23 mrg * config/os/generic/error_constants.h (errc::value_too_large)
794 1.1.1.23 mrg [__AVR__]: Define.
795 1.1.1.23 mrg * src/c++11/system_error.cc
796 1.1.1.23 mrg (system_category::default_error_condition) [__AVR__]: Only match
797 1.1.1.23 mrg recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
798 1.1.1.23 mrg * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
799 1.1.1.23 mrg for ENOENT etc. in switch.
800 1.1.1.23 mrg (fs::remove_all) [__AVR__]: Likewise.
801 1.1.1.23 mrg * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
802 1.1.1.23 mrg close etc.
803 1.1.1.23 mrg
804 1.1.1.23 mrg 2023-02-02 Patrick Palka <ppalka (a] redhat.com>
805 1.1.1.23 mrg
806 1.1.1.23 mrg Backported from master:
807 1.1.1.23 mrg 2022-11-06 Patrick Palka <ppalka (a] redhat.com>
808 1.1.1.23 mrg
809 1.1.1.23 mrg * include/bits/atomic_wait.h (_detail::__platform_wait_alignment):
810 1.1.1.23 mrg Declare inline. Remove redundant static specifier.
811 1.1.1.23 mrg (__detail::__atomic_spin_count_relax): Declare inline.
812 1.1.1.23 mrg (__detail::__atomic_spin_count): Likewise.
813 1.1.1.23 mrg * include/bits/regex_automaton.h (__detail::_S_invalid_state_id):
814 1.1.1.23 mrg Declare inline for C++17. Declare constexpr. Remove
815 1.1.1.23 mrg redundant const and static specifiers.
816 1.1.1.23 mrg * include/bits/regex_error.h (regex_constants::error_collate):
817 1.1.1.23 mrg Declare inline for C++17 as per P0607R0.
818 1.1.1.23 mrg (regex_constants::error_ctype): Likewise.
819 1.1.1.23 mrg (regex_constants::error_escape): Likewise.
820 1.1.1.23 mrg (regex_constants::error_backref): Likewise.
821 1.1.1.23 mrg (regex_constants::error_brack): Likewise.
822 1.1.1.23 mrg (regex_constants::error_paren): Likewise.
823 1.1.1.23 mrg (regex_constants::error_brace): Likewise.
824 1.1.1.23 mrg (regex_constants::error_badbrace): Likewise.
825 1.1.1.23 mrg (regex_constants::error_range): Likewise.
826 1.1.1.23 mrg (regex_constants::error_space): Likewise.
827 1.1.1.23 mrg (regex_constants::error_badrepeat): Likewise.
828 1.1.1.23 mrg (regex_constants::error_complexity): Likewise.
829 1.1.1.23 mrg (regex_constants::error_stack): Likewise.
830 1.1.1.23 mrg * include/ext/concurrence.h (__gnu_cxx::__default_lock_policy):
831 1.1.1.23 mrg Likewise. Remove redundant static specifier.
832 1.1.1.23 mrg * include/pstl/execution_defs.h (execution::seq): Declare inline
833 1.1.1.23 mrg for C++17 as per P0607R0.
834 1.1.1.23 mrg (execution::par): Likewise.
835 1.1.1.23 mrg (execution::par_unseq): Likewise.
836 1.1.1.23 mrg (execution::unseq): Likewise.
837 1.1.1.23 mrg
838 1.1.1.23 mrg 2023-01-18 Jonathan Wakely <jwakely (a] redhat.com>
839 1.1.1.23 mrg
840 1.1.1.23 mrg Backported from master:
841 1.1.1.23 mrg 2022-12-22 Jonathan Wakely <jwakely (a] redhat.com>
842 1.1.1.23 mrg
843 1.1.1.23 mrg PR libstdc++/105730
844 1.1.1.23 mrg * src/c++11/compatibility-condvar.cc (__nothrow_wait_cv::wait):
845 1.1.1.23 mrg Access private data member of base class and call its wait
846 1.1.1.23 mrg member.
847 1.1.1.23 mrg
848 1.1.1.23 mrg 2023-01-16 Jonathan Wakely <jwakely (a] redhat.com>
849 1.1.1.23 mrg
850 1.1.1.23 mrg Backported from master:
851 1.1.1.23 mrg 2022-08-04 Jonathan Wakely <jwakely (a] redhat.com>
852 1.1.1.23 mrg
853 1.1.1.23 mrg PR libstdc++/106183
854 1.1.1.23 mrg * include/bits/atomic_wait.h (__waiter_pool_base::_M_notify):
855 1.1.1.23 mrg Move increment of _M_ver here.
856 1.1.1.23 mrg [!_GLIBCXX_HAVE_PLATFORM_WAIT]: Lock mutex around increment.
857 1.1.1.23 mrg Use relaxed memory order and always notify all waiters.
858 1.1.1.23 mrg (__waiter_base::_M_do_wait) [!_GLIBCXX_HAVE_PLATFORM_WAIT]:
859 1.1.1.23 mrg Check value again after locking mutex.
860 1.1.1.23 mrg (__waiter_base::_M_notify): Remove increment of _M_ver.
861 1.1.1.23 mrg
862 1.1.1.23 mrg 2023-01-05 Jonathan Wakely <jwakely (a] redhat.com>
863 1.1.1.23 mrg
864 1.1.1.23 mrg Backported from master:
865 1.1.1.23 mrg 2023-01-05 Jonathan Wakely <jwakely (a] redhat.com>
866 1.1.1.23 mrg
867 1.1.1.23 mrg PR libstdc++/108265
868 1.1.1.23 mrg * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
869 1.1.1.23 mrg duration rep is unsigned. Remove incorrect noexcept-specifier.
870 1.1.1.23 mrg * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep. Check
871 1.1.1.23 mrg floating-point representations. Check default construction.
872 1.1.1.21 mrg
873 1.1.1.23 mrg 2022-12-21 Jonathan Wakely <jwakely (a] redhat.com>
874 1.1.1.21 mrg
875 1.1.1.23 mrg Backported from master:
876 1.1.1.23 mrg 2022-11-23 Jonathan Wakely <jwakely (a] redhat.com>
877 1.1.1.23 mrg
878 1.1.1.23 mrg PR libstdc++/107814
879 1.1.1.23 mrg * testsuite/experimental/filesystem/iterators/error_reporting.cc:
880 1.1.1.23 mrg Use a static buffer with space after it.
881 1.1.1.21 mrg
882 1.1.1.23 mrg 2022-12-21 Jonathan Wakely <jwakely (a] redhat.com>
883 1.1.1.21 mrg
884 1.1.1.21 mrg Backported from master:
885 1.1.1.23 mrg 2022-12-16 Jonathan Wakely <jwakely (a] redhat.com>
886 1.1.1.21 mrg
887 1.1.1.23 mrg * include/std/expected (expected::_M_swap_val_unex): Guard the
888 1.1.1.23 mrg correct object.
889 1.1.1.23 mrg (expected::swap): Move is_swappable
890 1.1.1.23 mrg requirement from static_assert to constraint.
891 1.1.1.23 mrg (swap): Likewise.
892 1.1.1.23 mrg (operator==): Remove noexcept-specifier.
893 1.1.1.23 mrg * testsuite/20_util/expected/swap.cc: Check swapping of
894 1.1.1.23 mrg types without non-throwing move constructor. Check constraints
895 1.1.1.23 mrg on swap.
896 1.1.1.23 mrg * testsuite/20_util/expected/unexpected.cc: Check constraints on
897 1.1.1.23 mrg swap.
898 1.1.1.23 mrg * testsuite/20_util/expected/equality.cc: New test.
899 1.1.1.21 mrg
900 1.1.1.23 mrg 2022-12-14 Jonathan Wakely <jwakely (a] redhat.com>
901 1.1.1.21 mrg
902 1.1.1.21 mrg Backported from master:
903 1.1.1.23 mrg 2022-12-14 Jonathan Wakely <jwakely (a] redhat.com>
904 1.1.1.21 mrg
905 1.1.1.23 mrg PR libstdc++/108097
906 1.1.1.23 mrg * include/std/stacktrace (basic_stracktrace::_Impl): Do not
907 1.1.1.23 mrg multiply N by sizeof(value_type) when allocating.
908 1.1.1.21 mrg
909 1.1.1.23 mrg 2022-11-24 Jonathan Wakely <jwakely (a] redhat.com>
910 1.1.1.21 mrg
911 1.1.1.21 mrg Backported from master:
912 1.1.1.23 mrg 2022-09-15 Jonathan Wakely <jwakely (a] redhat.com>
913 1.1.1.21 mrg
914 1.1.1.23 mrg * include/std/memory: Do not include <bits/stl_algobase.h>.
915 1.1.1.21 mrg
916 1.1.1.23 mrg 2022-11-24 Jonathan Wakely <jwakely (a] redhat.com>
917 1.1.1.21 mrg
918 1.1.1.21 mrg Backported from master:
919 1.1.1.23 mrg 2022-11-11 Jonathan Wakely <jwakely (a] redhat.com>
920 1.1.1.21 mrg
921 1.1.1.23 mrg * testsuite/20_util/tuple/swap.cc (MoveOnly::operator==): Add
922 1.1.1.23 mrg const qualifier.
923 1.1.1.23 mrg * testsuite/26_numerics/valarray/87641.cc (X::operator==):
924 1.1.1.23 mrg Likewise.
925 1.1.1.21 mrg
926 1.1.1.23 mrg 2022-11-24 Jonathan Wakely <jwakely (a] redhat.com>
927 1.1.1.21 mrg
928 1.1.1.21 mrg Backported from master:
929 1.1.1.23 mrg 2022-11-02 Jonathan Wakely <jwakely (a] redhat.com>
930 1.1.1.21 mrg
931 1.1.1.23 mrg * include/std/expected (expected::_M_invalid): Remove.
932 1.1.1.21 mrg
933 1.1.1.23 mrg 2022-11-24 Jonathan Wakely <jwakely (a] redhat.com>
934 1.1.1.21 mrg
935 1.1.1.21 mrg Backported from master:
936 1.1.1.23 mrg 2022-11-21 Jonathan Wakely <jwakely (a] redhat.com>
937 1.1.1.21 mrg
938 1.1.1.23 mrg * include/bits/chrono.h (duration): Check preconditions on
939 1.1.1.23 mrg template arguments before using them.
940 1.1.1.21 mrg
941 1.1.1.23 mrg 2022-11-24 Jonathan Wakely <jwakely (a] redhat.com>
942 1.1.1.21 mrg
943 1.1.1.21 mrg Backported from master:
944 1.1.1.23 mrg 2022-10-28 Jonathan Wakely <jwakely (a] redhat.com>
945 1.1.1.21 mrg
946 1.1.1.23 mrg * include/bits/fs_path.h (path::filename()): Fix dangling
947 1.1.1.23 mrg reference.
948 1.1.1.21 mrg
949 1.1.1.23 mrg 2022-11-24 Jonathan Wakely <jwakely (a] redhat.com>
950 1.1.1.21 mrg
951 1.1.1.21 mrg Backported from master:
952 1.1.1.23 mrg 2022-09-14 Jonathan Wakely <jwakely (a] redhat.com>
953 1.1.1.21 mrg
954 1.1.1.23 mrg * doc/xml/manual/intro.xml: Document LWG 1203.
955 1.1.1.23 mrg * doc/html/*: Regenerate.
956 1.1.1.21 mrg
957 1.1.1.23 mrg 2022-11-24 Jonathan Wakely <jwakely (a] redhat.com>
958 1.1.1.21 mrg
959 1.1.1.21 mrg Backported from master:
960 1.1.1.23 mrg 2022-09-07 Jonathan Wakely <jwakely (a] redhat.com>
961 1.1.1.21 mrg
962 1.1.1.23 mrg * include/std/barrier: Add missing runtime exception.
963 1.1.1.21 mrg
964 1.1.1.23 mrg 2022-11-24 Jonathan Wakely <jwakely (a] redhat.com>
965 1.1.1.21 mrg
966 1.1.1.21 mrg Backported from master:
967 1.1.1.23 mrg 2022-08-04 Jonathan Wakely <jwakely (a] redhat.com>
968 1.1.1.21 mrg
969 1.1.1.23 mrg * include/bits/fs_dir.h (directory_iterator): Add comparison
970 1.1.1.23 mrg with std::default_sentinel_t. Remove redundant operator!= for
971 1.1.1.23 mrg C++20.
972 1.1.1.23 mrg * (recursive_directory_iterator): Likewise.
973 1.1.1.23 mrg * include/bits/iterator_concepts.h [!__cpp_lib_concepts]
974 1.1.1.23 mrg (default_sentinel_t, default_sentinel): Define even if concepts
975 1.1.1.23 mrg are not supported.
976 1.1.1.23 mrg * include/bits/regex.h (regex_iterator): Add comparison with
977 1.1.1.23 mrg std::default_sentinel_t. Remove redundant operator!= for C++20.
978 1.1.1.23 mrg (regex_token_iterator): Likewise.
979 1.1.1.23 mrg (regex_token_iterator::_M_end_of_seq()): Add noexcept.
980 1.1.1.23 mrg * testsuite/27_io/filesystem/iterators/lwg3719.cc: New test.
981 1.1.1.23 mrg * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
982 1.1.1.23 mrg New test.
983 1.1.1.23 mrg * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
984 1.1.1.23 mrg New test.
985 1.1.1.21 mrg
986 1.1.1.23 mrg 2022-11-24 Jonathan Wakely <jwakely (a] redhat.com>
987 1.1.1.21 mrg
988 1.1.1.21 mrg Backported from master:
989 1.1.1.23 mrg 2022-09-23 Jonathan Wakely <jwakely (a] redhat.com>
990 1.1.1.23 mrg
991 1.1.1.23 mrg PR libstdc++/91456
992 1.1.1.23 mrg * include/std/type_traits (__is_nothrow_invocable): Remove.
993 1.1.1.23 mrg (__is_invocable_impl::__nothrow_type): New member type which
994 1.1.1.23 mrg checks if the conversion can throw.
995 1.1.1.23 mrg (__is_nt_invocable_impl): Replace class template with alias
996 1.1.1.23 mrg template to __is_nt_invocable_impl::__nothrow_type.
997 1.1.1.23 mrg * testsuite/20_util/is_nothrow_invocable/91456.cc: New test.
998 1.1.1.23 mrg * testsuite/20_util/is_nothrow_convertible/value.cc: Remove
999 1.1.1.23 mrg macro used by value_ext.cc test.
1000 1.1.1.23 mrg * testsuite/20_util/is_nothrow_convertible/value_ext.cc: Remove
1001 1.1.1.23 mrg test for non-standard __is_nothrow_invocable trait.
1002 1.1.1.23 mrg
1003 1.1.1.23 mrg 2022-11-22 Jonathan Wakely <jwakely (a] redhat.com>
1004 1.1.1.21 mrg
1005 1.1.1.23 mrg PR libstdc++/106201
1006 1.1.1.23 mrg * include/bits/fs_path.h (filesystem::swap(path&, path&)):
1007 1.1.1.23 mrg Replace with abbreviated function template.
1008 1.1.1.23 mrg * include/experimental/bits/fs_path.h (filesystem::swap):
1009 1.1.1.23 mrg Likewise.
1010 1.1.1.23 mrg * testsuite/27_io/filesystem/iterators/106201.cc: New test.
1011 1.1.1.23 mrg * testsuite/experimental/filesystem/iterators/106201.cc: New test.
1012 1.1.1.21 mrg
1013 1.1.1.23 mrg 2022-11-22 Jonathan Wakely <jwakely (a] redhat.com>
1014 1.1.1.21 mrg
1015 1.1.1.21 mrg Backported from master:
1016 1.1.1.23 mrg 2022-11-22 Jonathan Wakely <jwakely (a] redhat.com>
1017 1.1.1.21 mrg
1018 1.1.1.23 mrg PR libstdc++/107801
1019 1.1.1.23 mrg * src/c++17/memory_resource.cc (pool_sizes): Disable large pools
1020 1.1.1.23 mrg for targets with 16-bit int.
1021 1.1.1.21 mrg
1022 1.1.1.23 mrg 2022-11-14 Jonathan Wakely <jwakely (a] redhat.com>
1023 1.1.1.21 mrg
1024 1.1.1.23 mrg * include/bits/mofunc_impl.h (move_only_function::__param_t):
1025 1.1.1.23 mrg Use __is_scalar instead of is_trivially_copyable.
1026 1.1.1.23 mrg * testsuite/20_util/move_only_function/call.cc: Check parameters
1027 1.1.1.23 mrg involving incomplete types.
1028 1.1.1.21 mrg
1029 1.1.1.23 mrg 2022-11-14 Jonathan Wakely <jwakely (a] redhat.com>
1030 1.1.1.21 mrg
1031 1.1.1.21 mrg Backported from master:
1032 1.1.1.23 mrg 2022-11-11 Jonathan Wakely <jwakely (a] redhat.com>
1033 1.1.1.21 mrg
1034 1.1.1.23 mrg PR libstdc++/95048
1035 1.1.1.23 mrg * include/bits/fs_path.h (path::_Codecvt): New class template
1036 1.1.1.23 mrg that selects the kind of code conversion done.
1037 1.1.1.23 mrg (path::_Codecvt<wchar_t>): Select based on sizeof(wchar_t).
1038 1.1.1.23 mrg (_GLIBCXX_CONV_FROM_UTF8): New macro to allow the same code to
1039 1.1.1.23 mrg be used for Windows and POSIX.
1040 1.1.1.23 mrg (path::_S_convert(const EcharT*, const EcharT*)): Simplify by
1041 1.1.1.23 mrg using _Codecvt and _GLIBCXX_CONV_FROM_UTF8 abstractions.
1042 1.1.1.23 mrg (path::_S_str_convert(basic_string_view<value_type>, const A&)):
1043 1.1.1.23 mrg Simplify nested conditions.
1044 1.1.1.23 mrg * include/experimental/bits/fs_path.h (path::_Cvt): Define
1045 1.1.1.23 mrg nested typedef controlling type of code conversion done.
1046 1.1.1.23 mrg (path::_Cvt::_S_wconvert): Use new typedef.
1047 1.1.1.23 mrg (path::string(const A&)): Likewise.
1048 1.1.1.23 mrg * testsuite/27_io/filesystem/path/construct/95048.cc: New test.
1049 1.1.1.23 mrg * testsuite/experimental/filesystem/path/construct/95048.cc: New
1050 1.1.1.23 mrg test.
1051 1.1.1.21 mrg
1052 1.1.1.23 mrg 2022-11-14 Nathaniel Shead <nathanieloshead (a] gmail.com>
1053 1.1.1.21 mrg
1054 1.1.1.21 mrg Backported from master:
1055 1.1.1.23 mrg 2022-11-11 Nathaniel Shead <nathanieloshead (a] gmail.com>
1056 1.1.1.21 mrg
1057 1.1.1.23 mrg PR libstdc++/103295
1058 1.1.1.23 mrg * include/bits/basic_string.h (_M_use_local_data): Set active
1059 1.1.1.23 mrg member to _M_local_buf.
1060 1.1.1.21 mrg
1061 1.1.1.23 mrg 2022-11-08 Jonathan Wakely <jwakely (a] redhat.com>
1062 1.1.1.21 mrg
1063 1.1.1.21 mrg Backported from master:
1064 1.1.1.23 mrg 2022-11-08 Jonathan Wakely <jwakely (a] redhat.com>
1065 1.1.1.21 mrg
1066 1.1.1.23 mrg * doc/xml/authors.xml: Remove empty author element.
1067 1.1.1.23 mrg * doc/xml/manual/spine.xml: Likewise.
1068 1.1.1.23 mrg * doc/html/manual/index.html: Regenerate.
1069 1.1.1.21 mrg
1070 1.1.1.23 mrg 2022-10-19 Alexandre Oliva <oliva (a] adacore.com>
1071 1.1.1.21 mrg
1072 1.1.1.21 mrg Backported from master:
1073 1.1.1.23 mrg 2022-06-22 Alexandre Oliva <oliva (a] adacore.com>
1074 1.1.1.21 mrg
1075 1.1.1.23 mrg * libsupc++/eh_globals.cc [!_GLIBCXX_HAVE_TLS]
1076 1.1.1.23 mrg (__eh_globals_init::~__eh_globals_init): Clear _S_init first.
1077 1.1.1.21 mrg
1078 1.1.1.23 mrg 2022-09-29 Jonathan Wakely <jwakely (a] redhat.com>
1079 1.1.1.21 mrg
1080 1.1.1.21 mrg Backported from master:
1081 1.1.1.23 mrg 2022-09-28 Jonathan Wakely <jwakely (a] redhat.com>
1082 1.1.1.23 mrg
1083 1.1.1.23 mrg * doc/xml/manual/evolution.xml: Document std::bind API
1084 1.1.1.23 mrg changes.
1085 1.1.1.23 mrg * doc/xml/manual/intro.xml: Document LWG 2487 status.
1086 1.1.1.23 mrg * doc/xml/manual/using.xml: Clarify default value of
1087 1.1.1.23 mrg _GLIBCXX_USE_DEPRECATED.
1088 1.1.1.23 mrg * doc/html/*: Regenerate.
1089 1.1.1.23 mrg * include/std/functional (_Bind::operator()(Args&&...) volatile)
1090 1.1.1.23 mrg (_Bind::operator()(Args&&...) const volatile)
1091 1.1.1.23 mrg (_Bind_result::operator()(Args&&...) volatile)
1092 1.1.1.23 mrg (_Bind_result::operator()(Args&&...) const volatile): Replace
1093 1.1.1.23 mrg with deleted overload for C++20 and later.
1094 1.1.1.23 mrg * testsuite/20_util/bind/cv_quals.cc: Check for deprecated
1095 1.1.1.23 mrg warnings in C++17.
1096 1.1.1.23 mrg * testsuite/20_util/bind/cv_quals_2.cc: Likewise, and check for
1097 1.1.1.23 mrg ill-formed in C++20.
1098 1.1.1.23 mrg
1099 1.1.1.23 mrg 2022-09-16 Jonathan Wakely <jwakely (a] redhat.com>
1100 1.1.1.23 mrg
1101 1.1.1.23 mrg * doc/xml/manual/abi.xml: Document GLIBCXX_3.4.30 version.
1102 1.1.1.23 mrg * doc/html/manual/abi.html: Regenerate.
1103 1.1.1.21 mrg
1104 1.1.1.23 mrg 2022-09-12 Patrick Palka <ppalka (a] redhat.com>
1105 1.1.1.21 mrg
1106 1.1.1.23 mrg Backported from master:
1107 1.1.1.23 mrg 2022-09-12 Patrick Palka <ppalka (a] redhat.com>
1108 1.1.1.23 mrg
1109 1.1.1.23 mrg PR libstdc++/106320
1110 1.1.1.23 mrg * testsuite/std/ranges/adaptors/join.cc (test13): New test.
1111 1.1.1.23 mrg
1112 1.1.1.23 mrg 2022-09-07 Jonathan Wakely <jwakely (a] redhat.com>
1113 1.1.1.21 mrg
1114 1.1.1.21 mrg Backported from master:
1115 1.1.1.23 mrg 2022-08-22 Jonathan Wakely <jwakely (a] redhat.com>
1116 1.1.1.21 mrg
1117 1.1.1.23 mrg PR libstdc++/106695
1118 1.1.1.23 mrg * include/bits/std_thread.h (thread::_State_impl): Forward
1119 1.1.1.23 mrg individual arguments to _Invoker constructor.
1120 1.1.1.23 mrg (thread::_Invoker): Add constructor. Delete copies.
1121 1.1.1.23 mrg * include/std/future (__future_base::_Deferred_state): Forward
1122 1.1.1.23 mrg individual arguments to _Invoker constructor.
1123 1.1.1.23 mrg (__future_base::_Async_state_impl): Likewise.
1124 1.1.1.23 mrg * testsuite/30_threads/async/106695.cc: New test.
1125 1.1.1.23 mrg * testsuite/30_threads/thread/106695.cc: New test.
1126 1.1.1.21 mrg
1127 1.1.1.23 mrg 2022-09-07 Jonathan Wakely <jwakely (a] redhat.com>
1128 1.1.1.21 mrg
1129 1.1.1.23 mrg Backported from master:
1130 1.1.1.23 mrg 2022-08-22 Jonathan Wakely <jwakely (a] redhat.com>
1131 1.1.1.23 mrg
1132 1.1.1.23 mrg PR libstdc++/106607
1133 1.1.1.23 mrg * include/bits/regex_compiler.tcc (_Compiler::_M_cur_int_value):
1134 1.1.1.23 mrg Use built-ins to check for integer overflow in back-reference
1135 1.1.1.23 mrg number.
1136 1.1.1.23 mrg * testsuite/28_regex/basic_regex/106607.cc: New test.
1137 1.1.1.21 mrg
1138 1.1.1.23 mrg 2022-08-24 Jonathan Wakely <jwakely (a] redhat.com>
1139 1.1.1.21 mrg
1140 1.1.1.21 mrg Backported from master:
1141 1.1.1.23 mrg 2022-08-23 Jonathan Wakely <jwakely (a] redhat.com>
1142 1.1.1.23 mrg
1143 1.1.1.23 mrg PR libstdc++/106589
1144 1.1.1.23 mrg * include/std/variant (__do_visit): Handle is_void<R> for zero
1145 1.1.1.23 mrg argument case.
1146 1.1.1.23 mrg * testsuite/20_util/variant/visit_r.cc: Check std::visit<void>(v).
1147 1.1.1.21 mrg
1148 1.1.1.23 mrg 2022-08-23 Jonathan Wakely <jwakely (a] redhat.com>
1149 1.1.1.21 mrg
1150 1.1.1.23 mrg Backported from master:
1151 1.1.1.23 mrg 2022-08-22 Jonathan Wakely <jwakely (a] redhat.com>
1152 1.1.1.21 mrg
1153 1.1.1.23 mrg PR libstdc++/105678
1154 1.1.1.23 mrg * doc/xml/manual/using.xml: Document -lstdc++_libbacktrace
1155 1.1.1.23 mrg requirement for using std::stacktrace. Also adjust -frtti and
1156 1.1.1.23 mrg -fexceptions to document non-default (i.e. negative) forms.
1157 1.1.1.23 mrg * doc/html/*: Regenerate.
1158 1.1.1.21 mrg
1159 1.1.1.23 mrg 2022-08-19 Release Manager
1160 1.1.1.21 mrg
1161 1.1.1.23 mrg * GCC 12.2.0 released.
1162 1.1.1.21 mrg
1163 1.1.1.23 mrg 2022-08-05 Jonathan Wakely <jwakely (a] redhat.com>
1164 1.1.1.21 mrg
1165 1.1.1.21 mrg Backported from master:
1166 1.1.1.23 mrg 2022-08-04 Jonathan Wakely <jwakely (a] redhat.com>
1167 1.1.1.21 mrg
1168 1.1.1.23 mrg * include/std/string_view (basic_string_view(Range&&)): Add
1169 1.1.1.23 mrg explicit as per P2499R0.
1170 1.1.1.23 mrg * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc:
1171 1.1.1.23 mrg Adjust implicit conversions. Check implicit conversions fail.
1172 1.1.1.23 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc:
1173 1.1.1.23 mrg Likewise.
1174 1.1.1.21 mrg
1175 1.1.1.23 mrg 2022-08-05 Jonathan Wakely <jwakely (a] redhat.com>
1176 1.1.1.21 mrg
1177 1.1.1.21 mrg Backported from master:
1178 1.1.1.23 mrg 2022-08-04 Jonathan Wakely <jwakely (a] redhat.com>
1179 1.1.1.21 mrg
1180 1.1.1.23 mrg * include/std/expected (unexpected::_M_val): Rename to _M_unex.
1181 1.1.1.23 mrg (bad_expected_access::_M_val): Likewise.
1182 1.1.1.21 mrg
1183 1.1.1.23 mrg 2022-08-05 Jonathan Wakely <jwakely (a] redhat.com>
1184 1.1.1.21 mrg
1185 1.1.1.23 mrg Backported from master:
1186 1.1.1.23 mrg 2022-08-04 Jonathan Wakely <jwakely (a] redhat.com>
1187 1.1.1.23 mrg
1188 1.1.1.23 mrg * include/bits/ios_base.h (__cpp_lib_ios_noreplace): Update
1189 1.1.1.23 mrg value to 202207L.
1190 1.1.1.23 mrg * include/std/version (__cpp_lib_ios_noreplace): Likewise.
1191 1.1.1.23 mrg * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: Check
1192 1.1.1.23 mrg for new value.
1193 1.1.1.23 mrg * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
1194 1.1.1.23 mrg Likewise.
1195 1.1.1.21 mrg
1196 1.1.1.23 mrg 2022-08-03 Jonathan Wakely <jwakely (a] redhat.com>
1197 1.1.1.21 mrg
1198 1.1.1.21 mrg Backported from master:
1199 1.1.1.23 mrg 2022-06-28 Jonathan Wakely <jwakely (a] redhat.com>
1200 1.1.1.21 mrg
1201 1.1.1.23 mrg * src/c++17/fs_dir.cc (_Dir::dir_and_pathname):: Replace with
1202 1.1.1.23 mrg current() returning _At_path.
1203 1.1.1.23 mrg (_Dir::_Dir, _Dir::open_subdir, _Dir::do_unlink): Adjust.
1204 1.1.1.23 mrg * src/filesystem/dir-common.h (_Dir_base::_At_path): New class.
1205 1.1.1.23 mrg (_Dir_base::_Dir_Base, _Dir_base::openat): Use _At_path.
1206 1.1.1.23 mrg * src/filesystem/dir.cc (_Dir::dir_and_pathname): Replace with
1207 1.1.1.23 mrg current() returning _At_path.
1208 1.1.1.23 mrg (_Dir::_Dir, _Dir::open_subdir): Adjust.
1209 1.1.1.21 mrg
1210 1.1.1.23 mrg 2022-08-03 Jonathan Wakely <jwakely (a] redhat.com>
1211 1.1.1.21 mrg
1212 1.1.1.21 mrg Backported from master:
1213 1.1.1.23 mrg 2022-07-29 Jonathan Wakely <jwakely (a] redhat.com>
1214 1.1.1.23 mrg
1215 1.1.1.23 mrg PR libstdc++/104443
1216 1.1.1.23 mrg * include/bits/stl_iterator.h (common_iterator::operator->):
1217 1.1.1.23 mrg Change return type to just auto.
1218 1.1.1.21 mrg
1219 1.1.1.23 mrg 2022-08-03 Jonathan Wakely <jwakely (a] redhat.com>
1220 1.1.1.21 mrg
1221 1.1.1.23 mrg Backported from master:
1222 1.1.1.23 mrg 2022-07-12 Jonathan Wakely <jwakely (a] redhat.com>
1223 1.1.1.21 mrg
1224 1.1.1.23 mrg PR libstdc++/106248
1225 1.1.1.23 mrg * include/std/istream [C++17] (operator>>(istream&, char*)):
1226 1.1.1.23 mrg Set eofbit if we stopped extracting at EOF.
1227 1.1.1.23 mrg * testsuite/27_io/basic_istream/extractors_character/char/pr106248.cc:
1228 1.1.1.23 mrg New test.
1229 1.1.1.23 mrg * testsuite/27_io/basic_istream/extractors_character/wchar_t/pr106248.cc:
1230 1.1.1.23 mrg New test.
1231 1.1.1.21 mrg
1232 1.1.1.23 mrg 2022-08-03 Jonathan Wakely <jwakely (a] redhat.com>
1233 1.1.1.21 mrg
1234 1.1.1.21 mrg Backported from master:
1235 1.1.1.23 mrg 2022-07-01 Jonathan Wakely <jwakely (a] redhat.com>
1236 1.1.1.21 mrg
1237 1.1.1.23 mrg * include/bits/fs_ops.h: Add nodiscard to all pure functions.
1238 1.1.1.23 mrg * include/experimental/bits/fs_ops.h: Likewise.
1239 1.1.1.23 mrg * testsuite/27_io/filesystem/operations/all.cc: Do not discard
1240 1.1.1.23 mrg results of absolute and canonical.
1241 1.1.1.23 mrg * testsuite/27_io/filesystem/operations/absolute.cc: Cast
1242 1.1.1.23 mrg discarded result to void.
1243 1.1.1.23 mrg * testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
1244 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/exists.cc: Likewise.
1245 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
1246 1.1.1.23 mrg * testsuite/27_io/filesystem/operations/read_symlink.cc:
1247 1.1.1.23 mrg Likewise.
1248 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/status.cc: Likewise.
1249 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/symlink_status.cc:
1250 1.1.1.21 mrg Likewise.
1251 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/temp_directory_path.cc:
1252 1.1.1.21 mrg Likewise.
1253 1.1.1.23 mrg * testsuite/experimental/filesystem/operations/canonical.cc:
1254 1.1.1.21 mrg Likewise.
1255 1.1.1.21 mrg * testsuite/experimental/filesystem/operations/exists.cc:
1256 1.1.1.21 mrg Likewise.
1257 1.1.1.21 mrg * testsuite/experimental/filesystem/operations/is_empty.cc:
1258 1.1.1.21 mrg Likewise.
1259 1.1.1.23 mrg * testsuite/experimental/filesystem/operations/read_symlink.cc:
1260 1.1.1.21 mrg Likewise.
1261 1.1.1.21 mrg * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
1262 1.1.1.21 mrg Likewise.
1263 1.1.1.21 mrg
1264 1.1.1.23 mrg 2022-08-03 Jonathan Wakely <jwakely (a] redhat.com>
1265 1.1.1.21 mrg
1266 1.1.1.21 mrg Backported from master:
1267 1.1.1.23 mrg 2022-06-16 Jonathan Wakely <jwakely (a] redhat.com>
1268 1.1.1.21 mrg
1269 1.1.1.23 mrg PR libstdc++/105995
1270 1.1.1.23 mrg * include/bits/basic_string.h (_M_use_local_data): Initialize
1271 1.1.1.23 mrg the entire SSO buffer.
1272 1.1.1.23 mrg * testsuite/21_strings/basic_string/cons/char/105995.cc: New test.
1273 1.1.1.21 mrg
1274 1.1.1.23 mrg 2022-08-03 Jonathan Wakely <jwakely (a] redhat.com>
1275 1.1.1.21 mrg
1276 1.1.1.21 mrg Backported from master:
1277 1.1.1.23 mrg 2022-06-14 Jonathan Wakely <jwakely (a] redhat.com>
1278 1.1.1.21 mrg
1279 1.1.1.23 mrg * include/bits/new_allocator.h: Fix indentation.
1280 1.1.1.23 mrg * include/ext/malloc_allocator.h: Likewise.
1281 1.1.1.21 mrg
1282 1.1.1.23 mrg 2022-08-03 Jonathan Wakely <jwakely (a] redhat.com>
1283 1.1.1.21 mrg
1284 1.1.1.21 mrg Backported from master:
1285 1.1.1.23 mrg 2022-06-14 Jonathan Wakely <jwakely (a] redhat.com>
1286 1.1.1.21 mrg
1287 1.1.1.23 mrg PR libstdc++/105957
1288 1.1.1.23 mrg * include/bits/allocator.h (allocator::allocate): Check for
1289 1.1.1.23 mrg overflow in constexpr allocation.
1290 1.1.1.23 mrg * testsuite/20_util/allocator/105975.cc: New test.
1291 1.1.1.21 mrg
1292 1.1.1.23 mrg 2022-08-03 Jonathan Wakely <jwakely (a] redhat.com>
1293 1.1.1.21 mrg
1294 1.1.1.21 mrg Backported from master:
1295 1.1.1.23 mrg 2022-06-10 Jonathan Wakely <jwakely (a] redhat.com>
1296 1.1.1.21 mrg
1297 1.1.1.23 mrg PR libstdc++/105844
1298 1.1.1.23 mrg * include/experimental/numeric (experimental::gcd): Simplify
1299 1.1.1.23 mrg assertions. Use __abs_r instead of __absu.
1300 1.1.1.23 mrg (experimental::lcm): Likewise. Remove use of __detail::__lcm so
1301 1.1.1.23 mrg overflow can be detected.
1302 1.1.1.23 mrg * include/std/numeric (__detail::__absu): Rename to __abs_r and
1303 1.1.1.23 mrg change to allow signed result type, so overflow can be detected.
1304 1.1.1.23 mrg (__detail::__lcm): Remove.
1305 1.1.1.23 mrg (gcd): Simplify assertions. Use __abs_r instead of __absu.
1306 1.1.1.23 mrg (lcm): Likewise. Remove use of __detail::__lcm so overflow can
1307 1.1.1.23 mrg be detected.
1308 1.1.1.23 mrg * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error lines.
1309 1.1.1.23 mrg * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
1310 1.1.1.23 mrg * testsuite/26_numerics/gcd/105844.cc: New test.
1311 1.1.1.23 mrg * testsuite/26_numerics/lcm/105844.cc: New test.
1312 1.1.1.21 mrg
1313 1.1.1.23 mrg 2022-07-26 Thomas Rodgers <trodgers (a] redhat.com>
1314 1.1.1.21 mrg
1315 1.1.1.21 mrg Backported from master:
1316 1.1.1.23 mrg 2022-07-26 Thomas Rodgers <trodgers (a] redhat.com>
1317 1.1.1.21 mrg
1318 1.1.1.23 mrg * include/bits/atomic_wait.h (__atomic_spin): Merge spin loops.
1319 1.1.1.21 mrg
1320 1.1.1.23 mrg 2022-07-22 Jonathan Wakely <jwakely (a] redhat.com>
1321 1.1.1.21 mrg
1322 1.1.1.21 mrg Backported from master:
1323 1.1.1.23 mrg 2022-06-28 Jonathan Wakely <jwakely (a] redhat.com>
1324 1.1.1.21 mrg
1325 1.1.1.23 mrg * src/c++17/fs_dir.cc (_Dir::_Dir) [!_GLIBCXX_HAVE_OPENAT]:
1326 1.1.1.23 mrg Always store pathname if we don't have openat or unlinkat,
1327 1.1.1.23 mrg because the full path is needed to open sub-directories and
1328 1.1.1.23 mrg remove entries.
1329 1.1.1.21 mrg
1330 1.1.1.23 mrg 2022-07-22 Alexandre Oliva <oliva (a] adacore.com>
1331 1.1.1.21 mrg
1332 1.1.1.21 mrg Backported from master:
1333 1.1.1.23 mrg 2022-06-27 Alexandre Oliva <oliva (a] adacore.com>
1334 1.1.1.21 mrg
1335 1.1.1.23 mrg * src/c++17/fs_dir.cc (dir_and_pathname): Use dirfd if
1336 1.1.1.23 mrg _GLIBCXX_HAVE_OPENAT.
1337 1.1.1.21 mrg
1338 1.1.1.23 mrg 2022-07-22 Alexandre Oliva <oliva (a] adacore.com>
1339 1.1.1.21 mrg
1340 1.1.1.21 mrg Backported from master:
1341 1.1.1.23 mrg 2022-06-24 Alexandre Oliva <oliva (a] adacore.com>
1342 1.1.1.21 mrg
1343 1.1.1.23 mrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
1344 1.1.1.23 mrg openat.
1345 1.1.1.23 mrg * configure, config.h.in: Rebuilt.
1346 1.1.1.23 mrg * src/filesystem/dir-common.h (openat): Use ::openat if
1347 1.1.1.23 mrg _GLIBCXX_HAVE_OPENAT.
1348 1.1.1.23 mrg * src/filesystem/dir.cc (dir_and_pathname): Use dirfd if
1349 1.1.1.23 mrg _GLIBCXX_HAVE_OPENAT.
1350 1.1.1.21 mrg
1351 1.1.1.23 mrg 2022-07-22 Jonathan Wakely <jwakely (a] redhat.com>
1352 1.1.1.21 mrg
1353 1.1.1.21 mrg Backported from master:
1354 1.1.1.23 mrg 2022-05-06 Jonathan Wakely <jwakely (a] redhat.com>
1355 1.1.1.21 mrg
1356 1.1.1.23 mrg * include/std/stacktrace: Do not include <cxxabi.h>.
1357 1.1.1.23 mrg (__cxa_demangle): Declare.
1358 1.1.1.21 mrg
1359 1.1.1.23 mrg 2022-07-21 Jonathan Wakely <jwakely (a] redhat.com>
1360 1.1.1.21 mrg
1361 1.1.1.21 mrg Backported from master:
1362 1.1.1.23 mrg 2022-07-20 Jonathan Wakely <jwakely (a] redhat.com>
1363 1.1.1.21 mrg
1364 1.1.1.23 mrg PR libstdc++/100823
1365 1.1.1.23 mrg * include/bits/stl_iterator.h (common_iterator): Define move
1366 1.1.1.23 mrg constructor and move assignment operator.
1367 1.1.1.23 mrg (common_iterator::_M_assign): New function implementing
1368 1.1.1.23 mrg assignment.
1369 1.1.1.23 mrg (common_iterator::operator=): Use _M_assign.
1370 1.1.1.23 mrg (common_iterator::_S_valueless): New constant.
1371 1.1.1.23 mrg * testsuite/24_iterators/common_iterator/100823.cc: New test.
1372 1.1.1.21 mrg
1373 1.1.1.23 mrg 2022-07-21 Jonathan Wakely <jwakely (a] redhat.com>
1374 1.1.1.21 mrg
1375 1.1.1.21 mrg Backported from master:
1376 1.1.1.23 mrg 2022-07-20 Jonathan Wakely <jwakely (a] redhat.com>
1377 1.1.1.21 mrg
1378 1.1.1.23 mrg * include/bits/stl_iterator.h (common_iterator): Fix incorrect
1379 1.1.1.23 mrg uses of is_nothrow_assignable_v. Fix inconsistent constraints on
1380 1.1.1.23 mrg friend declaration. Do not move argument in copy constructor.
1381 1.1.1.23 mrg * testsuite/24_iterators/common_iterator/1.cc: Check for
1382 1.1.1.23 mrg noexcept constructibnle/assignable.
1383 1.1.1.21 mrg
1384 1.1.1.23 mrg 2022-07-21 Nathan Sidwell <nathan (a] acm.org>
1385 1.1.1.21 mrg
1386 1.1.1.21 mrg Backported from master:
1387 1.1.1.23 mrg 2022-05-26 Nathan Sidwell <nathan (a] acm.org>
1388 1.1.1.21 mrg
1389 1.1.1.23 mrg * include/bits/hashtable.h: Include required headers.
1390 1.1.1.23 mrg * include/bits/hashtable_policy.h: Likewise.
1391 1.1.1.23 mrg * include/bits/stl_heap.h: Likewise.
1392 1.1.1.23 mrg * include/bits/stl_iterator_base_funcs.h: Likewise.
1393 1.1.1.21 mrg
1394 1.1.1.23 mrg 2022-07-21 Jonathan Wakely <jwakely (a] redhat.com>
1395 1.1.1.21 mrg
1396 1.1.1.21 mrg Backported from master:
1397 1.1.1.23 mrg 2022-06-30 Jonathan Wakely <jwakely (a] redhat.com>
1398 1.1.1.21 mrg
1399 1.1.1.23 mrg * include/bits/utility.h: Fix comment typos.
1400 1.1.1.21 mrg
1401 1.1.1.23 mrg 2022-07-21 Jonathan Wakely <jwakely (a] redhat.com>
1402 1.1.1.21 mrg
1403 1.1.1.21 mrg Backported from master:
1404 1.1.1.23 mrg 2022-06-28 Jonathan Wakely <jwakely (a] redhat.com>
1405 1.1.1.21 mrg
1406 1.1.1.23 mrg * testsuite/20_util/from_chars/4.cc: Only use log2 if C99 math
1407 1.1.1.23 mrg functions are available.
1408 1.1.1.21 mrg
1409 1.1.1.23 mrg 2022-07-21 Jonathan Wakely <jwakely (a] redhat.com>
1410 1.1.1.21 mrg
1411 1.1.1.21 mrg Backported from master:
1412 1.1.1.23 mrg 2022-06-23 Jonathan Wakely <jwakely (a] redhat.com>
1413 1.1.1.21 mrg
1414 1.1.1.23 mrg * testsuite/26_numerics/random/random_device/entropy.cc: Use
1415 1.1.1.23 mrg numeric_limits<unsigned>::digits.
1416 1.1.1.21 mrg
1417 1.1.1.23 mrg 2022-07-21 Marco Falke <falke.marco (a] gmail.com>
1418 1.1.1.21 mrg
1419 1.1.1.21 mrg Backported from master:
1420 1.1.1.23 mrg 2022-07-19 Marco Falke <falke.marco (a] gmail.com>
1421 1.1.1.21 mrg
1422 1.1.1.23 mrg * include/std/charconv (__from_chars_alnum_to_val): Replace
1423 1.1.1.23 mrg implicit conversion from int to unsigned char with explicit
1424 1.1.1.23 mrg cast.
1425 1.1.1.21 mrg
1426 1.1.1.23 mrg 2022-07-21 Jonathan Wakely <jwakely (a] redhat.com>
1427 1.1.1.21 mrg
1428 1.1.1.21 mrg Backported from master:
1429 1.1.1.23 mrg 2022-06-30 Jonathan Wakely <jwakely (a] redhat.com>
1430 1.1.1.21 mrg
1431 1.1.1.23 mrg PR libstdc++/88881
1432 1.1.1.23 mrg * src/filesystem/ops.cc (has_trailing_slash): New helper
1433 1.1.1.23 mrg function.
1434 1.1.1.23 mrg (fs::status): Strip trailing slashes.
1435 1.1.1.23 mrg (fs::symlink_status): Likewise.
1436 1.1.1.23 mrg * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
1437 1.1.1.23 mrg Clean the environment before each test and use TMP instead of
1438 1.1.1.23 mrg TMPDIR so the test passes on Windows.
1439 1.1.1.21 mrg
1440 1.1.1.23 mrg 2022-07-21 Jonathan Wakely <jwakely (a] redhat.com>
1441 1.1.1.21 mrg
1442 1.1.1.21 mrg Backported from master:
1443 1.1.1.23 mrg 2022-06-10 Jonathan Wakely <jwakely (a] redhat.com>
1444 1.1.1.21 mrg
1445 1.1.1.23 mrg PR libstdc++/105880
1446 1.1.1.23 mrg * libsupc++/eh_globals.cc (eh_globals): Ensure constant init and
1447 1.1.1.23 mrg prevent destruction during termination.
1448 1.1.1.23 mrg (__eh_globals_init::_M_init): Replace with static member _S_init.
1449 1.1.1.23 mrg (__cxxabiv1::__cxa_get_globals_fast): Update.
1450 1.1.1.23 mrg (__cxxabiv1::__cxa_get_globals): Likewise.
1451 1.1.1.21 mrg
1452 1.1.1.23 mrg 2022-07-07 Jonathan Wakely <jwakely (a] redhat.com>
1453 1.1.1.21 mrg
1454 1.1.1.21 mrg Backported from master:
1455 1.1.1.23 mrg 2022-07-01 Jonathan Wakely <jwakely (a] redhat.com>
1456 1.1.1.21 mrg
1457 1.1.1.23 mrg PR libstdc++/106162
1458 1.1.1.23 mrg * include/Makefile.am (largefile-config.h): Add
1459 1.1.1.23 mrg stamp-${host_alias} prerequisite.
1460 1.1.1.23 mrg * include/Makefile.in: Regenerate.
1461 1.1.1.21 mrg
1462 1.1.1.23 mrg 2022-07-07 Jonathan Wakely <jwakely (a] redhat.com>
1463 1.1.1.21 mrg
1464 1.1.1.21 mrg Backported from master:
1465 1.1.1.23 mrg 2022-06-23 Jonathan Wakely <jwakely (a] redhat.com>
1466 1.1.1.21 mrg
1467 1.1.1.23 mrg * testsuite/27_io/filesystem/iterators/error_reporting.cc: Use
1468 1.1.1.23 mrg rmdir to remove directories.
1469 1.1.1.23 mrg * testsuite/experimental/filesystem/iterators/error_reporting.cc:
1470 1.1.1.23 mrg Likewise.
1471 1.1.1.21 mrg
1472 1.1.1.23 mrg 2022-06-14 Jonathan Wakely <jwakely (a] redhat.com>
1473 1.1.1.21 mrg
1474 1.1.1.21 mrg Backported from master:
1475 1.1.1.23 mrg 2022-06-13 Jonathan Wakely <jwakely (a] redhat.com>
1476 1.1.1.21 mrg
1477 1.1.1.23 mrg * include/std/atomic (__atomic_val_t): Use __type_identity_t
1478 1.1.1.23 mrg instead of atomic<T>::value_type, as per LWG 3220.
1479 1.1.1.23 mrg * testsuite/29_atomics/atomic/lwg3220.cc: New test.
1480 1.1.1.21 mrg
1481 1.1.1.23 mrg 2022-06-14 Mark Mentovai <mark (a] mentovai.com>
1482 1.1.1.21 mrg
1483 1.1.1.21 mrg Backported from master:
1484 1.1.1.23 mrg 2022-06-13 Mark Mentovai <mark (a] mentovai.com>
1485 1.1.1.21 mrg
1486 1.1.1.23 mrg * include/experimental/bits/fs_path.h (__detail::__null_terminated):
1487 1.1.1.23 mrg Rename to __nul_terminated to avoid colliding with a macro in
1488 1.1.1.23 mrg Apple's SDK.
1489 1.1.1.21 mrg
1490 1.1.1.23 mrg 2022-06-08 Jonathan Wakely <jwakely (a] redhat.com>
1491 1.1.1.21 mrg
1492 1.1.1.21 mrg Backported from master:
1493 1.1.1.23 mrg 2022-05-27 Jonathan Wakely <jwakely (a] redhat.com>
1494 1.1.1.21 mrg
1495 1.1.1.23 mrg PR libstdc++/105671
1496 1.1.1.23 mrg * include/std/sstream (basic_stringbuf::_M_high_mark): Add
1497 1.1.1.23 mrg always_inline attribute.
1498 1.1.1.21 mrg
1499 1.1.1.23 mrg 2022-06-08 Jonathan Wakely <jwakely (a] redhat.com>
1500 1.1.1.21 mrg
1501 1.1.1.21 mrg Backported from master:
1502 1.1.1.23 mrg 2022-05-26 Jonathan Wakely <jwakely (a] redhat.com>
1503 1.1.1.21 mrg
1504 1.1.1.23 mrg PR libstdc++/105681
1505 1.1.1.23 mrg * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp:
1506 1.1.1.23 mrg Limit ga_sizes array to values that fit in size_t.
1507 1.1.1.23 mrg * include/ext/random [__SIZE_WIDTH < 32] (sfmt86243)
1508 1.1.1.23 mrg (sfmt86243_64, sfmt132049, sfmt132049_64, sfmt216091)
1509 1.1.1.23 mrg (sfmt216091_64): Do not declare.
1510 1.1.1.21 mrg
1511 1.1.1.23 mrg 2022-06-08 Jonathan Wakely <jwakely (a] redhat.com>
1512 1.1.1.21 mrg
1513 1.1.1.21 mrg Backported from master:
1514 1.1.1.23 mrg 2022-05-19 Jonathan Wakely <jwakely (a] redhat.com>
1515 1.1.1.21 mrg
1516 1.1.1.23 mrg * include/bits/basic_string.h: Do not include <ext/atomicity.h>
1517 1.1.1.23 mrg here.
1518 1.1.1.23 mrg * include/bits/cow_string.h: Include it here.
1519 1.1.1.21 mrg
1520 1.1.1.23 mrg 2022-05-27 Jonathan Wakely <jwakely (a] redhat.com>
1521 1.1.1.21 mrg
1522 1.1.1.21 mrg Backported from master:
1523 1.1.1.23 mrg 2022-05-26 Jonathan Wakely <jwakely (a] redhat.com>
1524 1.1.1.21 mrg
1525 1.1.1.23 mrg * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Make
1526 1.1.1.23 mrg lookup for ios_errc and future_errc check versioned namespace.
1527 1.1.1.23 mrg (StdAtomicPrinter): Strip versioned namespace from typename.
1528 1.1.1.21 mrg
1529 1.1.1.23 mrg 2022-05-27 Franois Dumont <fdumont (a] gcc.gnu.org>
1530 1.1.1.21 mrg
1531 1.1.1.21 mrg Backported from master:
1532 1.1.1.23 mrg 2022-05-26 Franois Dumont <fdumont (a] gcc.gnu.org>
1533 1.1.1.21 mrg
1534 1.1.1.23 mrg * python/libstdcxx/v6/printers.py (StdSpanPrinter.__init__):
1535 1.1.1.23 mrg Strip typename from version namespace.
1536 1.1.1.21 mrg
1537 1.1.1.23 mrg 2022-05-27 Jonathan Wakely <jwakely (a] redhat.com>
1538 1.1.1.21 mrg
1539 1.1.1.21 mrg Backported from master:
1540 1.1.1.23 mrg 2022-05-26 Jonathan Wakely <jwakely (a] redhat.com>
1541 1.1.1.21 mrg
1542 1.1.1.23 mrg * python/libstdcxx/v6/printers.py (SharedPointerPrinter): Strip
1543 1.1.1.23 mrg versioned namespace from the template argument too.
1544 1.1.1.21 mrg
1545 1.1.1.23 mrg 2022-05-27 Jonathan Wakely <jwakely (a] redhat.com>
1546 1.1.1.21 mrg
1547 1.1.1.21 mrg Backported from master:
1548 1.1.1.23 mrg 2022-05-26 Jonathan Wakely <jwakely (a] redhat.com>
1549 1.1.1.21 mrg
1550 1.1.1.23 mrg * include/bits/stl_iterator.h (counted_iterator::operator++(int)):
1551 1.1.1.23 mrg Add 'constexpr' as per LWG 3643.
1552 1.1.1.23 mrg * testsuite/24_iterators/counted_iterator/lwg3643.cc: New test.
1553 1.1.1.21 mrg
1554 1.1.1.23 mrg 2022-05-27 Jonathan Wakely <jwakely (a] redhat.com>
1555 1.1.1.21 mrg
1556 1.1.1.21 mrg Backported from master:
1557 1.1.1.23 mrg 2022-05-19 Jonathan Wakely <jwakely (a] redhat.com>
1558 1.1.1.21 mrg
1559 1.1.1.23 mrg * include/std/memory_resource (polymorphic_allocator): Add
1560 1.1.1.23 mrg non-template equality operator, as proposed for LWG 3683.
1561 1.1.1.23 mrg * testsuite/20_util/polymorphic_allocator/lwg3683.cc: New test.
1562 1.1.1.21 mrg
1563 1.1.1.23 mrg 2022-05-27 Jonathan Wakely <jwakely (a] redhat.com>
1564 1.1.1.21 mrg
1565 1.1.1.21 mrg Backported from master:
1566 1.1.1.23 mrg 2022-05-20 Jonathan Wakely <jwakely (a] redhat.com>
1567 1.1.1.21 mrg
1568 1.1.1.23 mrg * testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc:
1569 1.1.1.23 mrg Run fewer iterations for simulator targets.
1570 1.1.1.23 mrg * testsuite/26_numerics/random/binomial_distribution/operators/values.cc:
1571 1.1.1.23 mrg Likewise.
1572 1.1.1.23 mrg * testsuite/26_numerics/random/discrete_distribution/operators/values.cc:
1573 1.1.1.23 mrg Likewise.
1574 1.1.1.23 mrg * testsuite/26_numerics/random/geometric_distribution/operators/values.cc:
1575 1.1.1.23 mrg Likewise.
1576 1.1.1.23 mrg * testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc:
1577 1.1.1.23 mrg Likewise.
1578 1.1.1.23 mrg * testsuite/26_numerics/random/poisson_distribution/operators/values.cc:
1579 1.1.1.23 mrg Likewise.
1580 1.1.1.23 mrg * testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc:
1581 1.1.1.21 mrg Likewise.
1582 1.1.1.21 mrg
1583 1.1.1.23 mrg 2022-05-27 Jonathan Wakely <jwakely (a] redhat.com>
1584 1.1.1.21 mrg
1585 1.1.1.21 mrg Backported from master:
1586 1.1.1.23 mrg 2022-05-17 Jonathan Wakely <jwakely (a] redhat.com>
1587 1.1.1.21 mrg
1588 1.1.1.23 mrg * testsuite/20_util/expected/synopsis.cc: Skip for versioned
1589 1.1.1.23 mrg namespace.
1590 1.1.1.23 mrg * testsuite/27_io/headers/iosfwd/synopsis.cc: Likewise.
1591 1.1.1.21 mrg
1592 1.1.1.23 mrg 2022-05-27 Jonathan Wakely <jwakely (a] redhat.com>
1593 1.1.1.21 mrg
1594 1.1.1.21 mrg Backported from master:
1595 1.1.1.23 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com>
1596 1.1.1.21 mrg
1597 1.1.1.23 mrg * include/bits/mofunc_impl.h: Fix doxygen command.
1598 1.1.1.21 mrg
1599 1.1.1.23 mrg 2022-05-27 Jonathan Wakely <jwakely (a] redhat.com>
1600 1.1.1.21 mrg
1601 1.1.1.21 mrg Backported from master:
1602 1.1.1.23 mrg 2022-05-13 Jonathan Wakely <jwakely (a] redhat.com>
1603 1.1.1.21 mrg
1604 1.1.1.23 mrg * include/std/future (launch): Make operators noexcept.
1605 1.1.1.21 mrg
1606 1.1.1.23 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com>
1607 1.1.1.21 mrg
1608 1.1.1.21 mrg Backported from master:
1609 1.1.1.23 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com>
1610 1.1.1.21 mrg
1611 1.1.1.23 mrg * doc/xml/manual/prerequisites.xml: Fix attributes for external
1612 1.1.1.23 mrg hyperlink.
1613 1.1.1.23 mrg * doc/html/manual/setup.html: Regenerate.
1614 1.1.1.21 mrg
1615 1.1.1.23 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com>
1616 1.1.1.21 mrg
1617 1.1.1.21 mrg Backported from master:
1618 1.1.1.23 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com>
1619 1.1.1.21 mrg
1620 1.1.1.23 mrg * doc/xml/manual/status_cxx2023.xml: Update with gcc-12 support.
1621 1.1.1.23 mrg * doc/html/*: Regenerate.
1622 1.1.1.21 mrg
1623 1.1.1.23 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com>
1624 1.1.1.21 mrg
1625 1.1.1.21 mrg Backported from master:
1626 1.1.1.23 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com>
1627 1.1.1.21 mrg
1628 1.1.1.23 mrg * doc/xml/manual/intro.xml: Include new chapter.
1629 1.1.1.23 mrg * doc/xml/manual/status_cxx2020.xml: Tweak release numbers.
1630 1.1.1.23 mrg * doc/xml/manual/status_cxx2023.xml: New file.
1631 1.1.1.23 mrg * doc/html/*: Regenerate.
1632 1.1.1.21 mrg
1633 1.1.1.23 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com>
1634 1.1.1.21 mrg
1635 1.1.1.21 mrg Backported from master:
1636 1.1.1.23 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com>
1637 1.1.1.21 mrg
1638 1.1.1.23 mrg * doc/html/manual/status.html: Regenerate.
1639 1.1.1.23 mrg * doc/xml/manual/status_cxx2020.xml: Fix supported version for
1640 1.1.1.23 mrg C++20 bit operations.
1641 1.1.1.21 mrg
1642 1.1.1.23 mrg 2022-05-13 Alexandre Oliva <oliva (a] adacore.com>
1643 1.1.1.21 mrg
1644 1.1.1.21 mrg Backported from master:
1645 1.1.1.23 mrg 2022-05-06 Alexandre Oliva <oliva (a] adacore.com>
1646 1.1.1.21 mrg
1647 1.1.1.23 mrg * include/experimental/bits/simd.h [__ALTIVEC__]: Require VSX
1648 1.1.1.23 mrg for double, long long, and 64-bit long intrinsic types.
1649 1.1.1.23 mrg [__ALTIVEC__] (__intrinsic_type): Mention 128-bit in
1650 1.1.1.23 mrg preexisting long double diagnostic, adjust no-VSX double
1651 1.1.1.23 mrg diagnostic to cover 64-bit long double as well.
1652 1.1.1.21 mrg
1653 1.1.1.23 mrg 2022-05-10 Jonathan Wakely <jwakely (a] redhat.com>
1654 1.1.1.21 mrg
1655 1.1.1.21 mrg Backported from master:
1656 1.1.1.23 mrg 2022-05-10 Jonathan Wakely <jwakely (a] redhat.com>
1657 1.1.1.21 mrg
1658 1.1.1.23 mrg PR libstdc++/105284
1659 1.1.1.23 mrg * include/std/iosfwd: Add declarations for <spanstream> class
1660 1.1.1.23 mrg templates and typedefs.
1661 1.1.1.23 mrg * include/std/spanstream (basic_spanbuf, basic_ispanstream)
1662 1.1.1.23 mrg (basic_ospanstream, basic_spanstream): Remove default template
1663 1.1.1.23 mrg arguments.
1664 1.1.1.23 mrg * testsuite/27_io/headers/iosfwd/synopsis.cc: Add <spanstream>
1665 1.1.1.23 mrg declarations.
1666 1.1.1.23 mrg * testsuite/27_io/headers/iosfwd/types.cc: Check <spanstream>
1667 1.1.1.23 mrg default arguments.
1668 1.1.1.21 mrg
1669 1.1.1.23 mrg 2022-05-10 Jonathan Wakely <jwakely (a] redhat.com>
1670 1.1.1.21 mrg
1671 1.1.1.21 mrg Backported from master:
1672 1.1.1.23 mrg 2022-05-10 Jonathan Wakely <jwakely (a] redhat.com>
1673 1.1.1.21 mrg
1674 1.1.1.23 mrg PR libstdc++/105284
1675 1.1.1.23 mrg * include/std/iosfwd: Add declarations for <synstream> class
1676 1.1.1.23 mrg templates and typedefs.
1677 1.1.1.23 mrg * include/std/syncstream (basic_syncbuf, basic_osyncstream):
1678 1.1.1.23 mrg Remove default template arguments.
1679 1.1.1.23 mrg * testsuite/27_io/headers/iosfwd/synopsis.cc: New test.
1680 1.1.1.23 mrg * testsuite/27_io/headers/iosfwd/types.cc: New test.
1681 1.1.1.21 mrg
1682 1.1.1.23 mrg 2022-05-09 Jonathan Wakely <jwakely (a] redhat.com>
1683 1.1.1.21 mrg
1684 1.1.1.21 mrg Backported from master:
1685 1.1.1.23 mrg 2022-05-06 Jonathan Wakely <jwakely (a] redhat.com>
1686 1.1.1.21 mrg
1687 1.1.1.23 mrg PR libstdc++/104731
1688 1.1.1.23 mrg * testsuite/27_io/filesystem/iterators/error_reporting.cc:
1689 1.1.1.23 mrg Use a trailing char array as storage for dirent::d_name.
1690 1.1.1.21 mrg
1691 1.1.1.23 mrg 2022-05-06 Jonathan Wakely <jwakely (a] redhat.com>
1692 1.1.1.21 mrg
1693 1.1.1.21 mrg Backported from master:
1694 1.1.1.23 mrg 2022-05-06 Jonathan Wakely <jwakely (a] redhat.com>
1695 1.1.1.21 mrg
1696 1.1.1.23 mrg PR libstdc++/105502
1697 1.1.1.23 mrg * include/bits/random.tcc
1698 1.1.1.23 mrg (operator>>(basic_istream<C,T>&, normal_distribution<R>&)):
1699 1.1.1.23 mrg Update state when __state_avail is false.
1700 1.1.1.23 mrg * testsuite/26_numerics/random/normal_distribution/operators/serialize.cc:
1701 1.1.1.23 mrg Check that deserialized object equals serialized one.
1702 1.1.1.21 mrg
1703 1.1.1.23 mrg 2022-05-06 Patrick Palka <ppalka (a] redhat.com>
1704 1.1.1.21 mrg
1705 1.1.1.21 mrg Backported from master:
1706 1.1.1.23 mrg 2022-05-02 Patrick Palka <ppalka (a] redhat.com>
1707 1.1.1.21 mrg
1708 1.1.1.23 mrg PR libstdc++/103911
1709 1.1.1.23 mrg * src/c++17/floating_from_chars.cc (find_end_of_float): Accept
1710 1.1.1.23 mrg two delimeters for the exponent part in the form of a possibly
1711 1.1.1.23 mrg NULL string of length two. Don't use std::tolower.
1712 1.1.1.23 mrg (pattern): Adjust calls to find_end_of_float accordingly.
1713 1.1.1.21 mrg
1714 1.1.1.23 mrg 2022-05-06 Alexandre Oliva <oliva (a] adacore.com>
1715 1.1.1.21 mrg
1716 1.1.1.21 mrg Backported from master:
1717 1.1.1.23 mrg 2022-05-03 Alexandre Oliva <oliva (a] adacore.com>
1718 1.1.1.21 mrg
1719 1.1.1.23 mrg PR c++/105324
1720 1.1.1.23 mrg * testsuite/20_util/from_chars/pr105324.cc: Guard test body
1721 1.1.1.23 mrg with conditional for floating-point overloads of from_char.
1722 1.1.1.21 mrg
1723 1.1.1.23 mrg 2022-05-06 Release Manager
1724 1.1.1.21 mrg
1725 1.1.1.23 mrg * GCC 12.1.0 released.
1726 1.1.1.21 mrg
1727 1.1.1.23 mrg 2022-05-02 Patrick Palka <ppalka (a] redhat.com>
1728 1.1.1.21 mrg
1729 1.1.1.21 mrg Backported from master:
1730 1.1.1.23 mrg 2022-05-02 Patrick Palka <ppalka (a] redhat.com>
1731 1.1.1.21 mrg
1732 1.1.1.23 mrg PR libstdc++/105441
1733 1.1.1.23 mrg * src/c++17/floating_from_chars.cc (__floating_from_chars_hex):
1734 1.1.1.23 mrg Also accept 'P' as the start of the exponent.
1735 1.1.1.23 mrg * testsuite/20_util/from_chars/7.cc: Add corresponding testcase.
1736 1.1.1.21 mrg
1737 1.1.1.23 mrg 2022-04-29 Jonathan Wakely <jwakely (a] redhat.com>
1738 1.1.1.21 mrg
1739 1.1.1.21 mrg Backported from master:
1740 1.1.1.23 mrg 2022-04-29 Jonathan Wakely <jwakely (a] redhat.com>
1741 1.1.1.21 mrg
1742 1.1.1.23 mrg PR libstdc++/105417
1743 1.1.1.23 mrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
1744 1.1.1.23 mrg Regenerate.
1745 1.1.1.23 mrg * src/c++11/compatibility-ldbl-alt128.cc [_GLIBCXX_USE_DUAL_ABI]:
1746 1.1.1.23 mrg Define __gnu_ieee128::num_get<C>::_M_extract_int[abi:cxx11]<I>
1747 1.1.1.23 mrg symbols as aliases for corresponding symbols without abi-tag.
1748 1.1.1.21 mrg
1749 1.1.1.23 mrg 2022-04-29 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
1750 1.1.1.21 mrg
1751 1.1.1.23 mrg * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
1752 1.1.1.23 mrg * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
1753 1.1.1.23 mrg Likewise.
1754 1.1.1.23 mrg * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
1755 1.1.1.23 mrg * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
1756 1.1.1.21 mrg Likewise.
1757 1.1.1.21 mrg
1758 1.1.1.23 mrg 2022-04-28 Jonathan Wakely <jwakely (a] redhat.com>
1759 1.1.1.21 mrg
1760 1.1.1.23 mrg * doc/xml/manual/status_cxx1998.xml: Refer to GCC 12 not
1761 1.1.1.23 mrg mainline.
1762 1.1.1.23 mrg * doc/xml/manual/status_cxx2011.xml: Likewise.
1763 1.1.1.23 mrg * doc/xml/manual/status_cxx2014.xml: Likewise.
1764 1.1.1.23 mrg * doc/xml/manual/status_cxx2017.xml: Likewise.
1765 1.1.1.23 mrg * doc/xml/manual/status_cxx2020.xml: Likewise.
1766 1.1.1.23 mrg * doc/xml/manual/status_cxxtr1.xml: Likewise.
1767 1.1.1.23 mrg * doc/xml/manual/status_cxxtr24733.xml: Likewise.
1768 1.1.1.23 mrg * doc/html/manual/status.html: Regenerate.
1769 1.1.1.21 mrg
1770 1.1.1.23 mrg 2022-04-28 Jonathan Wakely <jwakely (a] redhat.com>
1771 1.1.1.21 mrg
1772 1.1.1.23 mrg PR libstdc++/99290
1773 1.1.1.23 mrg * src/c++17/fs_ops.cc (fs::copy): Pass error_code to
1774 1.1.1.23 mrg directory_iterator constructor, and check on each iteration.
1775 1.1.1.23 mrg * src/filesystem/ops.cc (fs::copy): Likewise.
1776 1.1.1.23 mrg * testsuite/27_io/filesystem/operations/copy.cc: Check for
1777 1.1.1.23 mrg errors during recursion.
1778 1.1.1.23 mrg * testsuite/experimental/filesystem/operations/copy.cc:
1779 1.1.1.23 mrg Likewise.
1780 1.1.1.21 mrg
1781 1.1.1.23 mrg 2022-04-28 Franois Dumont <fdumont (a] gcc.gnu.org>
1782 1.1.1.21 mrg
1783 1.1.1.23 mrg * config/abi/pre/gnu-versioned-namespace.ver: Remove
1784 1.1.1.23 mrg std::random_device::* pattern.
1785 1.1.1.21 mrg
1786 1.1.1.23 mrg 2022-04-27 Jakub Jelinek <jakub (a] redhat.com>
1787 1.1.1.21 mrg
1788 1.1.1.23 mrg * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1789 1.1.1.23 mrg * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
1790 1.1.1.23 mrg * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
1791 1.1.1.23 mrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1792 1.1.1.23 mrg * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1793 1.1.1.23 mrg * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
1794 1.1.1.23 mrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1795 1.1.1.23 mrg * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1796 1.1.1.21 mrg
1797 1.1.1.23 mrg 2022-04-27 Jonathan Wakely <jwakely (a] redhat.com>
1798 1.1.1.21 mrg
1799 1.1.1.23 mrg * python/libstdcxx/v6/printers.py (SharedPointerPrinter): Add
1800 1.1.1.23 mrg support for atomic<shared_ptr<T>> and atomic<weak_ptr<T>>.
1801 1.1.1.23 mrg (StdAtomicPrinter): New printer.
1802 1.1.1.23 mrg (build_libstdcxx_dictionary): Register new printer.
1803 1.1.1.23 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Test std::atomic.
1804 1.1.1.23 mrg * testsuite/libstdc++-prettyprinters/cxx20.cc: Test atomic smart
1805 1.1.1.23 mrg pointers.
1806 1.1.1.21 mrg
1807 1.1.1.23 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
1808 1.1.1.21 mrg
1809 1.1.1.23 mrg * include/bits/shared_ptr_atomic.h (atomic<shared_ptr>): Add
1810 1.1.1.23 mrg constructor for constant initialization from nullptr_t.
1811 1.1.1.23 mrg * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
1812 1.1.1.23 mrg Check for new constructor.
1813 1.1.1.21 mrg
1814 1.1.1.23 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
1815 1.1.1.21 mrg
1816 1.1.1.23 mrg * include/bits/fs_path.h (hash<filesystem::path>): Define.
1817 1.1.1.23 mrg * testsuite/27_io/filesystem/path/nonmember/hash_value.cc:
1818 1.1.1.23 mrg Check std::hash specialization.
1819 1.1.1.21 mrg
1820 1.1.1.23 mrg 2022-04-25 Jonathan Wakely <jwakely (a] redhat.com>
1821 1.1.1.21 mrg
1822 1.1.1.23 mrg * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define
1823 1.1.1.23 mrg conditionally.
1824 1.1.1.23 mrg * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
1825 1.1.1.23 mrg Define for C++23.
1826 1.1.1.23 mrg (default_delete, default_delete<T[]>, __uniq_ptr_impl)
1827 1.1.1.23 mrg (unique_ptr, unique_ptr<T[], D>): Add constexpr to all member
1828 1.1.1.23 mrg functions.
1829 1.1.1.23 mrg * include/std/version (__cpp_lib_constexpr_memory): Define new
1830 1.1.1.23 mrg value for C++23.
1831 1.1.1.23 mrg * testsuite/20_util/unique_ptr/assign/constexpr.cc: New test.
1832 1.1.1.23 mrg * testsuite/20_util/unique_ptr/comparison/constexpr.cc: New test.
1833 1.1.1.23 mrg * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: New test.
1834 1.1.1.23 mrg * testsuite/20_util/unique_ptr/creation/constexpr.cc: New test.
1835 1.1.1.23 mrg * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: New test.
1836 1.1.1.23 mrg * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc:
1837 1.1.1.23 mrg New test.
1838 1.1.1.23 mrg
1839 1.1.1.23 mrg 2022-04-25 Jonathan Wakely <jwakely (a] redhat.com>
1840 1.1.1.23 mrg
1841 1.1.1.23 mrg PR libstdc++/105375
1842 1.1.1.23 mrg * include/std/future (packaged_task): Add deduction guides.
1843 1.1.1.23 mrg * testsuite/30_threads/packaged_task/cons/deduction.cc: New test.
1844 1.1.1.23 mrg
1845 1.1.1.23 mrg 2022-04-25 Philipp Fent <fent (a] in.tum.de>
1846 1.1.1.23 mrg
1847 1.1.1.23 mrg * python/libstdcxx/v6/printers.py (StdSpanPrinter._iterator):
1848 1.1.1.23 mrg Rename as iterator.
1849 1.1.1.23 mrg (StdInitializerListPrinter): Define new printer.
1850 1.1.1.23 mrg (build_libstdcxx_dictionary): Register new printer.
1851 1.1.1.23 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Check printer for
1852 1.1.1.23 mrg initializer_list.
1853 1.1.1.23 mrg
1854 1.1.1.23 mrg 2022-04-22 Thomas W Rodgers <trodgers (a] redhat.com>
1855 1.1.1.23 mrg
1856 1.1.1.23 mrg PR libstdc++/102994
1857 1.1.1.23 mrg * include/bits/atomic_base.h (atomic_flag::notify_one,
1858 1.1.1.23 mrg notify_all): Remove const qualification.
1859 1.1.1.23 mrg (__atomic_base::notify_one, notify_all): Likewise.
1860 1.1.1.23 mrg * include/std/atomic (atomic<bool>::notify_one, notify_all):
1861 1.1.1.23 mrg Likewise.
1862 1.1.1.23 mrg (atomic::notify_one, notify_all): Likewise.
1863 1.1.1.23 mrg (atomic<T*>::notify_one, notify_all): Likewise.
1864 1.1.1.23 mrg (atomic_notify_one, atomic_notify_all): Likewise.
1865 1.1.1.23 mrg * testsuite/29_atomics/atomic/wait_notify/102994.cc: Adjust test
1866 1.1.1.23 mrg to account for change in notify_one/notify_all signature.
1867 1.1.1.23 mrg
1868 1.1.1.23 mrg 2022-04-21 Patrick Palka <ppalka (a] redhat.com>
1869 1.1.1.23 mrg
1870 1.1.1.23 mrg * include/std/charconv (__from_chars_alnum_to_val_table):
1871 1.1.1.23 mrg Simplify initialization of __lower/__upper_letters.
1872 1.1.1.23 mrg (__from_chars_alnum_to_val): Default the template parameter to
1873 1.1.1.23 mrg false.
1874 1.1.1.23 mrg * src/c++17/floating_from_chars.cc (starts_with_ci): Don't
1875 1.1.1.23 mrg assume the uppercase and lowercase letters are contiguous.
1876 1.1.1.23 mrg (__floating_from_chars_hex): Likewise.
1877 1.1.1.23 mrg
1878 1.1.1.23 mrg 2022-04-21 Patrick Palka <ppalka (a] redhat.com>
1879 1.1.1.23 mrg
1880 1.1.1.23 mrg PR c++/105297
1881 1.1.1.23 mrg PR c++/105322
1882 1.1.1.23 mrg * include/std/charconv (__from_chars_alnum_to_val): Make
1883 1.1.1.23 mrg initializer for __table dependent in an artificial way.
1884 1.1.1.23 mrg
1885 1.1.1.23 mrg 2022-04-21 Jonathan Wakely <jwakely (a] redhat.com>
1886 1.1.1.23 mrg
1887 1.1.1.23 mrg PR libstdc++/105324
1888 1.1.1.23 mrg * src/c++17/floating_from_chars.cc (buffer_resource::do_allocate):
1889 1.1.1.23 mrg Remove assertion.
1890 1.1.1.23 mrg * testsuite/20_util/from_chars/pr105324.cc: New test.
1891 1.1.1.21 mrg
1892 1.1.1.23 mrg 2022-04-20 Jonathan Wakely <jwakely (a] redhat.com>
1893 1.1.1.21 mrg
1894 1.1.1.23 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
1895 1.1.1.23 mrg Check correct feature test macro.
1896 1.1.1.21 mrg
1897 1.1.1.23 mrg 2022-04-20 Jonathan Wakely <jwakely (a] redhat.com>
1898 1.1.1.21 mrg
1899 1.1.1.23 mrg PR libstdc++/93602
1900 1.1.1.23 mrg * doc/xml/manual/prerequisites.xml: Document libiconv
1901 1.1.1.23 mrg workarounds.
1902 1.1.1.23 mrg * doc/html/manual/setup.html: Regenerate.
1903 1.1.1.23 mrg * src/Makefile.am (CXXLINK): Add $(LTLIBICONV).
1904 1.1.1.23 mrg * src/Makefile.in: Regenerate.
1905 1.1.1.21 mrg
1906 1.1.1.23 mrg 2022-04-19 Patrick Palka <ppalka (a] redhat.com>
1907 1.1.1.21 mrg
1908 1.1.1.23 mrg * src/c++17/floating_to_chars.cc (_GLIBCXX_ASSERTIONS): Don't
1909 1.1.1.23 mrg define.
1910 1.1.1.23 mrg (__floating_to_chars_shortest): Add __builtin_unreachable calls to
1911 1.1.1.23 mrg squelch false-positive -Wmaybe-uninitialized and -Wreturn-type
1912 1.1.1.23 mrg warnings.
1913 1.1.1.23 mrg (__floating_to_chars_precision): Likewise.
1914 1.1.1.21 mrg
1915 1.1.1.23 mrg 2022-04-19 Philipp Fent <fent (a] in.tum.de>
1916 1.1.1.21 mrg
1917 1.1.1.23 mrg * python/libstdcxx/v6/printers.py (StdSpanPrinter): Define.
1918 1.1.1.23 mrg * testsuite/libstdc++-prettyprinters/cxx20.cc: Test it.
1919 1.1.1.21 mrg
1920 1.1.1.23 mrg 2022-04-19 Jonathan Wakely <jwakely (a] redhat.com>
1921 1.1.1.21 mrg
1922 1.1.1.23 mrg * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Fix shell operators.
1923 1.1.1.23 mrg * configure: Regenerate.
1924 1.1.1.21 mrg
1925 1.1.1.23 mrg 2022-04-18 Patrick Palka <ppalka (a] redhat.com>
1926 1.1.1.21 mrg
1927 1.1.1.23 mrg * include/std/charconv (__from_chars_pow2_base): Manually
1928 1.1.1.23 mrg unroll the first iteration of the main loop and simplify
1929 1.1.1.23 mrg accordingly.
1930 1.1.1.21 mrg
1931 1.1.1.23 mrg 2022-04-15 Patrick Palka <ppalka (a] redhat.com>
1932 1.1.1.21 mrg
1933 1.1.1.23 mrg PR libstdc++/104858
1934 1.1.1.23 mrg * include/bits/ranges_algo.h (__minmax_fn): Avoid dereferencing
1935 1.1.1.23 mrg __first twice at the start.
1936 1.1.1.23 mrg * testsuite/25_algorithms/minmax/constrained.cc (test06): New test.
1937 1.1.1.23 mrg
1938 1.1.1.23 mrg 2022-04-15 Patrick Palka <ppalka (a] redhat.com>
1939 1.1.1.23 mrg
1940 1.1.1.23 mrg * include/std/charconv (__from_chars_alnum_to_val_table): Define.
1941 1.1.1.23 mrg (__from_chars_alnum_to_val): Define.
1942 1.1.1.23 mrg (__from_chars_binary): Rename to ...
1943 1.1.1.23 mrg (__from_chars_pow2_base): ... this. Generalize to handle any
1944 1.1.1.23 mrg power-of-two base using __from_chars_alnum_to_val.
1945 1.1.1.23 mrg (__from_chars_digit): Optimize digit recognition to a single
1946 1.1.1.23 mrg test instead of two tests. Use [[__unlikely___]] attribute.
1947 1.1.1.23 mrg (__from_chars_alpha_to_num): Remove.
1948 1.1.1.23 mrg (__from_chars_alnum): Use __from_chars_alnum_to_val. Use a
1949 1.1.1.23 mrg nested loop for the overflow case. Maintain a lower bound
1950 1.1.1.23 mrg on the number of available bits in the result and use it to
1951 1.1.1.23 mrg omit the overflow check.
1952 1.1.1.23 mrg (from_chars): Adjust appropriately.
1953 1.1.1.23 mrg * src/c++17/floating_from_chars.cc (ascii_to_hexit): Remove.
1954 1.1.1.23 mrg (__floating_from_chars_hex): Use __from_chars_alnum_to_val
1955 1.1.1.23 mrg to recognize a hex digit instead.
1956 1.1.1.21 mrg
1957 1.1.1.23 mrg 2022-04-14 Palmer Dabbelt <palmer (a] rivosinc.com>
1958 1.1.1.21 mrg
1959 1.1.1.23 mrg * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Force auto to mutex
1960 1.1.1.23 mrg for RISC-V.
1961 1.1.1.23 mrg * configure: Regenerate.
1962 1.1.1.21 mrg
1963 1.1.1.23 mrg 2022-04-14 Jonathan Wakely <jwakely (a] redhat.com>
1964 1.1.1.21 mrg
1965 1.1.1.23 mrg * doc/xml/manual/intro.xml: Fix comment.
1966 1.1.1.21 mrg
1967 1.1.1.23 mrg 2022-04-14 Jonathan Wakely <jwakely (a] redhat.com>
1968 1.1.1.21 mrg
1969 1.1.1.23 mrg * include/precompiled/stdc++.h: Include <stacktrace> and
1970 1.1.1.23 mrg <stdatomic.h> for C++23.
1971 1.1.1.21 mrg
1972 1.1.1.23 mrg 2022-04-14 Jonathan Wakely <jwakely (a] redhat.com>
1973 1.1.1.21 mrg
1974 1.1.1.23 mrg PR libstdc++/105269
1975 1.1.1.23 mrg * include/bits/stl_vector.h (__cpp_lib_constexpr_vector):
1976 1.1.1.23 mrg Define.
1977 1.1.1.23 mrg * include/c_compatibility/stdatomic.h (__cpp_lib_stdatomic_h):
1978 1.1.1.23 mrg Define.
1979 1.1.1.23 mrg * include/std/optional (__cpp_lib_optional): Define new value
1980 1.1.1.23 mrg for C++23.
1981 1.1.1.23 mrg (__cpp_lib_monadic_optional): Remove.
1982 1.1.1.23 mrg * include/std/version (__cpp_lib_constexpr_vector): Define.
1983 1.1.1.23 mrg (__cpp_lib_stdatomic_h): Define.
1984 1.1.1.23 mrg (__cpp_lib_optional): Define new value for C++23.
1985 1.1.1.23 mrg (__cpp_lib_monadic_optional): Remove.
1986 1.1.1.23 mrg * testsuite/20_util/optional/monadic/and_then.cc: Adjust.
1987 1.1.1.23 mrg * testsuite/20_util/optional/requirements.cc: Adjust for C++23.
1988 1.1.1.23 mrg * testsuite/20_util/optional/version.cc: Likewise.
1989 1.1.1.23 mrg * testsuite/23_containers/vector/cons/constexpr.cc: Check
1990 1.1.1.23 mrg feature test macro.
1991 1.1.1.23 mrg * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
1992 1.1.1.23 mrg Likewise.
1993 1.1.1.23 mrg * testsuite/20_util/optional/monadic/version.cc: Removed.
1994 1.1.1.23 mrg * testsuite/23_containers/vector/requirements/version.cc: New test.
1995 1.1.1.23 mrg * testsuite/29_atomics/headers/stdatomic.h/version.cc: New test.
1996 1.1.1.21 mrg
1997 1.1.1.23 mrg 2022-04-12 Jonathan Wakely <jwakely (a] redhat.com>
1998 1.1.1.21 mrg
1999 1.1.1.23 mrg * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Check for mmap.
2000 1.1.1.23 mrg * config.h.in: Regenerate.
2001 1.1.1.23 mrg * configure: Regenerate.
2002 1.1.1.21 mrg
2003 1.1.1.23 mrg 2022-04-12 Jonathan Wakely <jwakely (a] redhat.com>
2004 1.1.1.21 mrg
2005 1.1.1.23 mrg * include/std/stacktrace (basic_stacktrace::current): Reallocate
2006 1.1.1.23 mrg a smaller container if the unused capacity is larger than the
2007 1.1.1.23 mrg used size.
2008 1.1.1.23 mrg
2009 1.1.1.23 mrg 2022-04-12 Jonathan Wakely <jwakely (a] redhat.com>
2010 1.1.1.23 mrg
2011 1.1.1.23 mrg * include/std/stacktrace (basic_stacktrace): Use _Impl::_M_clone
2012 1.1.1.23 mrg or _Impl::_M_assign to initialize elements in allocated storage.
2013 1.1.1.23 mrg (basic_stacktrace::_M_clear()): Use _Impl::_M_resize instead of
2014 1.1.1.23 mrg _Impl::_M_destroy.
2015 1.1.1.23 mrg (basic_stacktrace::_Impl::_M_destroy()): Replace with ...
2016 1.1.1.23 mrg (basic_stacktrace::_Impl::_M_resize(size_type, allocator&)): New
2017 1.1.1.23 mrg function.
2018 1.1.1.23 mrg (basic_stacktrace::_Impl::_M_push_back): Use _M_xclone. Construct
2019 1.1.1.23 mrg new element using allocator.
2020 1.1.1.23 mrg (basic_stacktrace::_Impl::_M_clone): New function.
2021 1.1.1.23 mrg (basic_stacktrace::_Impl::_M_xclone): New function.
2022 1.1.1.23 mrg (basic_stacktrace::_Impl::_M_assign): New function.
2023 1.1.1.23 mrg
2024 1.1.1.23 mrg 2022-04-12 Jonathan Wakely <jwakely (a] redhat.com>
2025 1.1.1.23 mrg
2026 1.1.1.23 mrg * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
2027 1.1.1.23 mrg Use nothrow new instead of try block for std::allocator.
2028 1.1.1.23 mrg (basic_stacktrace::_Impl::_M_deallocate): Use delete for
2029 1.1.1.23 mrg std::allocator.
2030 1.1.1.23 mrg
2031 1.1.1.23 mrg 2022-04-12 Jonathan Wakely <jwakely (a] redhat.com>
2032 1.1.1.23 mrg
2033 1.1.1.23 mrg * include/std/stacktrace (basic_stacktrace::current): Replace
2034 1.1.1.23 mrg calls to _M_reserve and _S_curr_cb with call to _M_prepare.
2035 1.1.1.23 mrg Check return value of backtrace_simple when max depth given.
2036 1.1.1.23 mrg (basic_stacktrace::_M_reserve): Remove.
2037 1.1.1.23 mrg (basic_stacktrace::_S_curr_cb): Remove.
2038 1.1.1.23 mrg (basic_stacktrace::_M_prepare(size_type)): New function to
2039 1.1.1.23 mrg reserve initial capacity and return callback.
2040 1.1.1.23 mrg (basic_stacktrace::_Impl::_M_allocate): Remove check for 0 < n
2041 1.1.1.23 mrg and remove redundant zeroing of _M_frames and _M_capacity.
2042 1.1.1.23 mrg (basic_stacktrace::_Impl::_M_push_back): Add [[unlikely]]
2043 1.1.1.23 mrg attribute. Assign _Impl instead of swapping.
2044 1.1.1.23 mrg * testsuite/19_diagnostics/stacktrace/current.cc: New test.
2045 1.1.1.23 mrg
2046 1.1.1.23 mrg 2022-04-11 Jonathan Wakely <jwakely (a] redhat.com>
2047 1.1.1.23 mrg
2048 1.1.1.23 mrg * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
2049 1.1.1.23 mrg Change [[unlikely]] attribute to [[likely]].
2050 1.1.1.23 mrg
2051 1.1.1.23 mrg 2022-04-11 Jonathan Wakely <jwakely (a] redhat.com>
2052 1.1.1.23 mrg
2053 1.1.1.23 mrg PR libstdc++/105031
2054 1.1.1.23 mrg * include/std/stacktrace (basic_stacktrace::basic_stacktrace):
2055 1.1.1.23 mrg Fix allocator usage in constructors.
2056 1.1.1.23 mrg (basic_stacktrace::operator=(const basic_stacktrace&)): Do not
2057 1.1.1.23 mrg try to reallocate using const allocator.
2058 1.1.1.23 mrg (basic_stacktrace::operator=(basic_stacktrace&&)): Fix
2059 1.1.1.23 mrg if-constexpr with non-constant condition. Do not allocate new
2060 1.1.1.23 mrg storage if allocator propagates. Do not set _M_size if
2061 1.1.1.23 mrg allocation fails.
2062 1.1.1.23 mrg (basic_stacktrace::swap(basic_stacktrace&)): Fix typo. Add
2063 1.1.1.23 mrg assertion that non-propagating allocators are equal.
2064 1.1.1.23 mrg * testsuite/19_diagnostics/stacktrace/stacktrace.cc: New test.
2065 1.1.1.23 mrg
2066 1.1.1.23 mrg 2022-04-11 Jonathan Wakely <jwakely (a] redhat.com>
2067 1.1.1.23 mrg
2068 1.1.1.23 mrg * include/std/stacktrace (basic_stacktrace::current): Duplicate
2069 1.1.1.23 mrg implementation into each overload. Add noinline attribute and
2070 1.1.1.23 mrg skip current frame.
2071 1.1.1.23 mrg (basic_stacktrace::max_size()): Call _Impl::_S_max_size.
2072 1.1.1.23 mrg (basic_stacktrace::_S_curr_cb()): New function defining lambda.
2073 1.1.1.23 mrg (basic_stacktrace::_Impl::_S_max_size): New function defining
2074 1.1.1.23 mrg maximum size in terms of allocator and size_type.
2075 1.1.1.23 mrg (basic_stacktrace::_Impl::_M_allocate): Check against
2076 1.1.1.23 mrg max_size().
2077 1.1.1.23 mrg * testsuite/19_diagnostics/stacktrace/entry.cc: Call function
2078 1.1.1.23 mrg for non-constexpr checks. Check line number is correct.
2079 1.1.1.23 mrg
2080 1.1.1.23 mrg 2022-04-11 Jonathan Wakely <jwakely (a] redhat.com>
2081 1.1.1.23 mrg
2082 1.1.1.23 mrg * testsuite/20_util/stacktrace/entry.cc: Moved to...
2083 1.1.1.23 mrg * testsuite/19_diagnostics/stacktrace/entry.cc: ...here.
2084 1.1.1.23 mrg * testsuite/20_util/stacktrace/synopsis.cc: Moved to...
2085 1.1.1.23 mrg * testsuite/19_diagnostics/stacktrace/synopsis.cc: ...here.
2086 1.1.1.23 mrg * testsuite/20_util/stacktrace/version.cc: Moved to...
2087 1.1.1.23 mrg * testsuite/19_diagnostics/stacktrace/version.cc: ...here.
2088 1.1.1.23 mrg
2089 1.1.1.23 mrg 2022-04-11 Jonathan Wakely <jwakely (a] redhat.com>
2090 1.1.1.23 mrg
2091 1.1.1.23 mrg * include/experimental/bits/fs_path.h (path): Define special
2092 1.1.1.23 mrg members after path::_Cmpt is complete.
2093 1.1.1.23 mrg
2094 1.1.1.23 mrg 2022-04-08 Jonathan Wakely <jwakely (a] redhat.com>
2095 1.1.1.23 mrg
2096 1.1.1.23 mrg PR libstdc++/105153
2097 1.1.1.23 mrg * include/std/expected
2098 1.1.1.23 mrg (expected<void,E>::expected(expected<U,G>&&)): Fix constraints.
2099 1.1.1.23 mrg * testsuite/20_util/expected/cons.cc: Check constructor.
2100 1.1.1.23 mrg
2101 1.1.1.23 mrg 2022-04-08 Jonathan Wakely <jwakely (a] redhat.com>
2102 1.1.1.23 mrg
2103 1.1.1.23 mrg PR libstdc++/105154
2104 1.1.1.23 mrg * include/std/expected (expected<void, E>::swap): Set
2105 1.1.1.23 mrg _M_has_value to false for objects that previously had a value.
2106 1.1.1.23 mrg * testsuite/20_util/expected/swap.cc: Fix test to check void
2107 1.1.1.23 mrg specialization.
2108 1.1.1.21 mrg
2109 1.1.1.23 mrg 2022-04-08 Jonathan Wakely <jwakely (a] redhat.com>
2110 1.1.1.21 mrg
2111 1.1.1.23 mrg PR libstdc++/105146
2112 1.1.1.23 mrg * include/std/expected (bad_expected_access): Move constructor
2113 1.1.1.23 mrg parameter.
2114 1.1.1.23 mrg * testsuite/20_util/expected/bad.cc: New test.
2115 1.1.1.21 mrg
2116 1.1.1.23 mrg 2022-04-07 Hans-Peter Nilsson <hp (a] axis.com>
2117 1.1.1.21 mrg
2118 1.1.1.23 mrg * testsuite/20_util/expected/requirements.cc: Correct minimal-size
2119 1.1.1.23 mrg test.
2120 1.1.1.21 mrg
2121 1.1.1.23 mrg 2022-04-02 Jakub Jelinek <jakub (a] redhat.com>
2122 1.1.1.21 mrg
2123 1.1.1.23 mrg PR libstdc++/105128
2124 1.1.1.23 mrg * include/std/source_location (std::source_location::__impl): Move
2125 1.1.1.23 mrg definition before using __builtin_ret_type.
2126 1.1.1.21 mrg
2127 1.1.1.23 mrg 2022-04-01 Jonathan Wakely <jwakely (a] redhat.com>
2128 1.1.1.21 mrg
2129 1.1.1.23 mrg * include/std/utility (unreachable): Define for C++23.
2130 1.1.1.23 mrg * include/std/version (__cpp_lib_unreachable): Define.
2131 1.1.1.23 mrg * src/c++11/debug.cc (__glibcxx_assert_fail): Check for valid
2132 1.1.1.23 mrg arguments. Handle only the function being given.
2133 1.1.1.23 mrg * testsuite/20_util/unreachable/1.cc: New test.
2134 1.1.1.23 mrg * testsuite/20_util/unreachable/version.cc: New test.
2135 1.1.1.21 mrg
2136 1.1.1.23 mrg 2022-04-01 Jonathan Wakely <jwakely (a] redhat.com>
2137 1.1.1.21 mrg
2138 1.1.1.23 mrg * include/experimental/bits/fs_fwd.h (copy_file): Remove
2139 1.1.1.23 mrg incorrect noexcept from declaration.
2140 1.1.1.23 mrg * include/experimental/bits/fs_path.h (path::begin, path::end):
2141 1.1.1.23 mrg Add noexcept to declarations, to match definitions.
2142 1.1.1.21 mrg
2143 1.1.1.23 mrg 2022-04-01 Timm Bder <tbaeder (a] redhat.com>
2144 1.1.1.21 mrg
2145 1.1.1.23 mrg * include/bits/fs_ops.h: Fix filename in Doxygen comment.
2146 1.1.1.23 mrg * include/experimental/bits/fs_ops.h: Likewise.
2147 1.1.1.21 mrg
2148 1.1.1.23 mrg 2022-03-31 Jonathan Wakely <jwakely (a] redhat.com>
2149 1.1.1.21 mrg
2150 1.1.1.23 mrg * libsupc++/new_opa.cc (aligned_alloc): Add comment.
2151 1.1.1.21 mrg
2152 1.1.1.23 mrg 2022-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2153 1.1.1.21 mrg
2154 1.1.1.23 mrg * testsuite/18_support/exception/38732.cc: Disable for C++23.
2155 1.1.1.23 mrg * testsuite/18_support/headers/exception/synopsis.cc: Likewise.
2156 1.1.1.23 mrg * testsuite/18_support/unexpected_handler.cc: Likewise.
2157 1.1.1.21 mrg
2158 1.1.1.23 mrg 2022-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2159 1.1.1.21 mrg
2160 1.1.1.23 mrg * libsupc++/compare (_Strong_order) [!__cpp_using_enum]: Add
2161 1.1.1.23 mrg static data members for _Fp_fmt enumerators.
2162 1.1.1.21 mrg
2163 1.1.1.23 mrg 2022-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2164 1.1.1.21 mrg
2165 1.1.1.23 mrg * include/std/version (__cpp_lib_variant): Fix conditions to
2166 1.1.1.23 mrg match <variant>.
2167 1.1.1.23 mrg (__cpp_lib_expected): Fix condition to match <expected>.
2168 1.1.1.21 mrg
2169 1.1.1.23 mrg 2022-03-28 Jonathan Wakely <jwakely (a] redhat.com>
2170 1.1.1.21 mrg
2171 1.1.1.23 mrg * testsuite/20_util/optional/monadic/and_then.cc: Fix typo.
2172 1.1.1.23 mrg * testsuite/20_util/optional/monadic/transform.cc: Likewise.
2173 1.1.1.23 mrg * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2174 1.1.1.23 mrg * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2175 1.1.1.23 mrg * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2176 1.1.1.23 mrg * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2177 1.1.1.23 mrg * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2178 1.1.1.23 mrg * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2179 1.1.1.21 mrg
2180 1.1.1.23 mrg 2022-03-27 Jonathan Wakely <jwakely (a] redhat.com>
2181 1.1.1.21 mrg
2182 1.1.1.23 mrg * doc/doxygen/user.cfg.in: Add new header.
2183 1.1.1.23 mrg * include/Makefile.am: Likewise.
2184 1.1.1.23 mrg * include/Makefile.in: Regenerate.
2185 1.1.1.23 mrg * include/precompiled/stdc++.h: Add new header.
2186 1.1.1.23 mrg * include/std/version (__cpp_lib_expected): Define.
2187 1.1.1.23 mrg * libsupc++/exception [__cplusplus > 202002] (unexpected)
2188 1.1.1.23 mrg (unexpected_handler, set_unexpected): Do not declare for C++23.
2189 1.1.1.23 mrg * include/std/expected: New file.
2190 1.1.1.23 mrg * testsuite/20_util/expected/assign.cc: New test.
2191 1.1.1.23 mrg * testsuite/20_util/expected/cons.cc: New test.
2192 1.1.1.23 mrg * testsuite/20_util/expected/illformed_neg.cc: New test.
2193 1.1.1.23 mrg * testsuite/20_util/expected/observers.cc: New test.
2194 1.1.1.23 mrg * testsuite/20_util/expected/requirements.cc: New test.
2195 1.1.1.23 mrg * testsuite/20_util/expected/swap.cc: New test.
2196 1.1.1.23 mrg * testsuite/20_util/expected/synopsis.cc: New test.
2197 1.1.1.23 mrg * testsuite/20_util/expected/unexpected.cc: New test.
2198 1.1.1.23 mrg * testsuite/20_util/expected/version.cc: New test.
2199 1.1.1.23 mrg
2200 1.1.1.23 mrg 2022-03-25 Jonathan Wakely <jwakely (a] redhat.com>
2201 1.1.1.23 mrg
2202 1.1.1.23 mrg * include/std/bit (bit_cast, byteswap, endian): Add doxygen
2203 1.1.1.23 mrg comments.
2204 1.1.1.23 mrg
2205 1.1.1.23 mrg 2022-03-23 Jonathan Wakely <jwakely (a] redhat.com>
2206 1.1.1.23 mrg
2207 1.1.1.23 mrg PR libstdc++/105027
2208 1.1.1.23 mrg * include/std/bit (bit_cast): Add constraints.
2209 1.1.1.23 mrg * testsuite/26_numerics/bit/bit.cast/105027.cc: New test.
2210 1.1.1.23 mrg
2211 1.1.1.23 mrg 2022-03-23 Jonathan Wakely <jwakely (a] redhat.com>
2212 1.1.1.23 mrg
2213 1.1.1.23 mrg * include/std/version [!_GLIBCXX_HOSTED]
2214 1.1.1.23 mrg (__cpp_lib_hardware_interference_size): Define for freestanding.
2215 1.1.1.23 mrg (__cpp_lib_bit_cast): Likewise.
2216 1.1.1.23 mrg (__cpp_lib_is_layout_compatible): Likewise.
2217 1.1.1.23 mrg (__cpp_lib_is_pointer_interconvertible): Likewise.
2218 1.1.1.23 mrg (__cpp_lib_adaptor_iterator_pair_constructor): Do not define for
2219 1.1.1.23 mrg freestanding.
2220 1.1.1.23 mrg (__cpp_lib_invoke_r): Likewise.
2221 1.1.1.23 mrg (__cpp_lib_ios_noreplace): Likewise.
2222 1.1.1.23 mrg (__cpp_lib_monadic_optional): Likewise.
2223 1.1.1.23 mrg (__cpp_lib_move_only_function): Likewise.
2224 1.1.1.23 mrg (__cpp_lib_spanstream): Likewise.
2225 1.1.1.23 mrg (__cpp_lib_stacktrace): Likewise.
2226 1.1.1.23 mrg (__cpp_lib_string_contains): Likewise.
2227 1.1.1.23 mrg (__cpp_lib_string_resize_and_overwrite): Likewise.
2228 1.1.1.23 mrg (__cpp_lib_to_underlying): Likewise.
2229 1.1.1.23 mrg
2230 1.1.1.23 mrg 2022-03-23 Jonathan Wakely <jwakely (a] redhat.com>
2231 1.1.1.23 mrg
2232 1.1.1.23 mrg PR libstdc++/105021
2233 1.1.1.23 mrg * include/bits/atomic_base.h [!_GLIBCXX_HOSTED]: Do not include
2234 1.1.1.23 mrg <bits/atomic_wait.h> for freestanding.
2235 1.1.1.23 mrg
2236 1.1.1.23 mrg 2022-03-22 Hans-Peter Nilsson <hp (a] axis.com>
2237 1.1.1.23 mrg
2238 1.1.1.23 mrg * testsuite/20_util/from_chars/6.cc (test01) [FE_DOWNWARD]:
2239 1.1.1.23 mrg Conditionalize call to fesetround.
2240 1.1.1.23 mrg
2241 1.1.1.23 mrg 2022-03-21 Jakub Jelinek <jakub (a] redhat.com>
2242 1.1.1.23 mrg
2243 1.1.1.23 mrg PR libstdc++/104990
2244 1.1.1.23 mrg * include/bits/locale_facets_nonio.tcc (get): Don't check if do_get
2245 1.1.1.23 mrg isn't overloaded if __clang__ is defined.
2246 1.1.1.23 mrg
2247 1.1.1.23 mrg 2022-03-18 Jonathan Wakely <jwakely (a] redhat.com>
2248 1.1.1.23 mrg
2249 1.1.1.23 mrg PR libstdc++/104242
2250 1.1.1.23 mrg * include/std/any (any(T&&)): Revert change to constraints.
2251 1.1.1.23 mrg * testsuite/20_util/any/cons/104242.cc: New test.
2252 1.1.1.21 mrg
2253 1.1.1.23 mrg 2022-03-18 Jonathan Wakely <jwakely (a] redhat.com>
2254 1.1.1.21 mrg
2255 1.1.1.23 mrg PR libstdc++/92546
2256 1.1.1.23 mrg * include/pstl/glue_algorithm_defs.h: Replace <functional> with
2257 1.1.1.23 mrg <bits/stl_pair.h>.
2258 1.1.1.23 mrg * include/pstl/utils.h: Replace <iterator> with <type_traits>.
2259 1.1.1.23 mrg (__pstl::__internal::__except_handler): Use std::__terminate
2260 1.1.1.23 mrg instead of std::terminate.
2261 1.1.1.23 mrg * src/c++17/fs_path.cc: Include <array>.
2262 1.1.1.23 mrg * testsuite/25_algorithms/adjacent_find/constexpr.cc: Include
2263 1.1.1.23 mrg <functional>.
2264 1.1.1.23 mrg * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
2265 1.1.1.23 mrg * testsuite/25_algorithms/clamp/constrained.cc: Likewise.
2266 1.1.1.23 mrg * testsuite/25_algorithms/equal/constrained.cc: Likewise.
2267 1.1.1.23 mrg * testsuite/25_algorithms/for_each/constrained.cc: Likewise.
2268 1.1.1.23 mrg * testsuite/25_algorithms/includes/constrained.cc: Likewise.
2269 1.1.1.23 mrg * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise.
2270 1.1.1.23 mrg * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise.
2271 1.1.1.23 mrg * testsuite/25_algorithms/is_permutation/constrained.cc: Include
2272 1.1.1.23 mrg <iterator>.
2273 1.1.1.23 mrg * testsuite/25_algorithms/is_sorted/constexpr.cc: Include
2274 1.1.1.23 mrg <functional>.
2275 1.1.1.23 mrg * testsuite/25_algorithms/is_sorted_until/constexpr.cc:
2276 1.1.1.21 mrg Likewise.
2277 1.1.1.23 mrg * testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
2278 1.1.1.21 mrg Likewise.
2279 1.1.1.23 mrg * testsuite/25_algorithms/lexicographical_compare/constrained.cc:
2280 1.1.1.21 mrg Likewise.
2281 1.1.1.23 mrg * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc:
2282 1.1.1.23 mrg Include <array>.
2283 1.1.1.23 mrg * testsuite/25_algorithms/lower_bound/constexpr.cc: Include
2284 1.1.1.23 mrg <functional>.
2285 1.1.1.23 mrg * testsuite/25_algorithms/max/constrained.cc: Likewise.
2286 1.1.1.23 mrg * testsuite/25_algorithms/max_element/constrained.cc: Likewise.
2287 1.1.1.23 mrg * testsuite/25_algorithms/min/constrained.cc: Likewise.
2288 1.1.1.23 mrg * testsuite/25_algorithms/min_element/constrained.cc: Likewise.
2289 1.1.1.23 mrg * testsuite/25_algorithms/minmax_element/constrained.cc:
2290 1.1.1.21 mrg Likewise.
2291 1.1.1.23 mrg * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
2292 1.1.1.23 mrg * testsuite/25_algorithms/move/93872.cc: Likewise.
2293 1.1.1.23 mrg * testsuite/25_algorithms/move_backward/93872.cc: Include
2294 1.1.1.23 mrg <iterator>.
2295 1.1.1.23 mrg * testsuite/25_algorithms/nth_element/constexpr.cc: Include
2296 1.1.1.23 mrg <functional>.
2297 1.1.1.23 mrg * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise.
2298 1.1.1.23 mrg * testsuite/25_algorithms/partial_sort_copy/constexpr.cc:
2299 1.1.1.23 mrg Likewise.
2300 1.1.1.23 mrg * testsuite/25_algorithms/search/constexpr.cc: Likewise.
2301 1.1.1.23 mrg * testsuite/25_algorithms/search_n/constrained.cc: Likewise.
2302 1.1.1.23 mrg * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
2303 1.1.1.23 mrg * testsuite/25_algorithms/set_difference/constrained.cc:
2304 1.1.1.23 mrg Likewise.
2305 1.1.1.23 mrg * testsuite/25_algorithms/set_intersection/constexpr.cc:
2306 1.1.1.23 mrg Likewise.
2307 1.1.1.23 mrg * testsuite/25_algorithms/set_intersection/constrained.cc:
2308 1.1.1.23 mrg Likewise.
2309 1.1.1.23 mrg * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
2310 1.1.1.23 mrg Likewise.
2311 1.1.1.23 mrg * testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
2312 1.1.1.23 mrg * testsuite/25_algorithms/set_union/constrained.cc: Likewise.
2313 1.1.1.23 mrg * testsuite/25_algorithms/sort/constexpr.cc: Likewise.
2314 1.1.1.23 mrg * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise.
2315 1.1.1.23 mrg * testsuite/25_algorithms/transform/constrained.cc: Likewise.
2316 1.1.1.23 mrg * testsuite/25_algorithms/unique/constexpr.cc: Likewise.
2317 1.1.1.23 mrg * testsuite/25_algorithms/unique/constrained.cc: Likewise.
2318 1.1.1.23 mrg * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
2319 1.1.1.23 mrg * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
2320 1.1.1.23 mrg * testsuite/std/ranges/adaptors/elements.cc: Include <vector>.
2321 1.1.1.23 mrg * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise.
2322 1.1.1.23 mrg * testsuite/std/ranges/adaptors/split.cc: Likewise.
2323 1.1.1.21 mrg
2324 1.1.1.23 mrg 2022-03-17 Jonathan Wakely <jwakely (a] redhat.com>
2325 1.1.1.21 mrg
2326 1.1.1.23 mrg PR libstdc++/92546
2327 1.1.1.23 mrg * include/bits/fs_path.h (path::make_preferred): Use
2328 1.1.1.23 mrg handwritten loop instead of std::replace.
2329 1.1.1.21 mrg
2330 1.1.1.23 mrg 2022-03-17 Jonathan Wakely <jwakely (a] redhat.com>
2331 1.1.1.21 mrg
2332 1.1.1.23 mrg PR middle-end/104966
2333 1.1.1.23 mrg * include/bits/locale_facets_nonio.tcc
2334 1.1.1.23 mrg (__moneypunct_cache::_M_cache): Replace try-catch with RAII and
2335 1.1.1.23 mrg make all string copies before any stores to *this.
2336 1.1.1.21 mrg
2337 1.1.1.23 mrg 2022-03-17 Jonathan Wakely <jwakely (a] redhat.com>
2338 1.1.1.21 mrg
2339 1.1.1.23 mrg * testsuite/util/testsuite_character.h: Fix comment.
2340 1.1.1.21 mrg
2341 1.1.1.23 mrg 2022-03-16 Jonathan Wakely <jwakely (a] redhat.com>
2342 1.1.1.21 mrg
2343 1.1.1.23 mrg PR libstdc++/103407
2344 1.1.1.23 mrg * config/abi/pre/gnu.ver: Make version for std::from_chars
2345 1.1.1.23 mrg depend on HAVE_USELOCALE macro.
2346 1.1.1.23 mrg * testsuite/util/testsuite_abi.cc (compare_symbols): Treat
2347 1.1.1.23 mrg std::from_chars for floating-point types as undesignated if
2348 1.1.1.23 mrg not found in the baseline symbols file.
2349 1.1.1.21 mrg
2350 1.1.1.23 mrg 2022-03-16 Jonathan Wakely <jwakely (a] redhat.com>
2351 1.1.1.21 mrg
2352 1.1.1.23 mrg * include/std/charconv (__cpp_lib_to_chars): Only define when
2353 1.1.1.23 mrg both from_chars and to_chars are supported for floating-point
2354 1.1.1.23 mrg types.
2355 1.1.1.23 mrg (from_chars, to_chars): Adjust preprocessor conditions guarding
2356 1.1.1.23 mrg declarations.
2357 1.1.1.23 mrg * include/std/version (__cpp_lib_to_chars): Adjust condition to
2358 1.1.1.23 mrg match <charconv> definition.
2359 1.1.1.23 mrg * src/c++17/floating_from_chars.cc (from_chars_strtod): New
2360 1.1.1.23 mrg function template.
2361 1.1.1.23 mrg (from_chars): Simplify preprocessor checks and use
2362 1.1.1.23 mrg from_chars_strtod when appropriate.
2363 1.1.1.21 mrg
2364 1.1.1.23 mrg 2022-03-14 Jonathan Wakely <jwakely (a] redhat.com>
2365 1.1.1.21 mrg
2366 1.1.1.23 mrg PR libstdc++/104875
2367 1.1.1.23 mrg * src/c++11/codecvt.cc (read_utf8_code_point): Use char32_t to
2368 1.1.1.23 mrg hold octets that will be left-shifted.
2369 1.1.1.21 mrg
2370 1.1.1.23 mrg 2022-03-10 Jonathan Wakely <jwakely (a] redhat.com>
2371 1.1.1.21 mrg
2372 1.1.1.23 mrg PR libstdc++/104870
2373 1.1.1.23 mrg * src/c++17/floating_from_chars.cc: Check __SIZE_WIDTH__ >= 32
2374 1.1.1.23 mrg before using fast_float.
2375 1.1.1.16 mrg
2376 1.1.1.23 mrg 2022-03-10 Detlef Vollmann <dv (a] vollmann.ch>
2377 1.1.1.19 mrg
2378 1.1.1.23 mrg PR libstdc++/104866
2379 1.1.1.23 mrg * include/bits/this_thread_sleep.h: Fix order of #endif and
2380 1.1.1.23 mrg closing brace of namespace.
2381 1.1.1.19 mrg
2382 1.1.1.23 mrg 2022-03-10 Jonathan Wakely <jwakely (a] redhat.com>
2383 1.1.1.19 mrg
2384 1.1.1.23 mrg * libsupc++/compare (_Strong_order::_S_fp_cmp) [__vax__]:
2385 1.1.1.23 mrg Handle NaN.
2386 1.1.1.19 mrg
2387 1.1.1.23 mrg 2022-03-10 Jonathan Wakely <jwakely (a] redhat.com>
2388 1.1.1.19 mrg
2389 1.1.1.23 mrg * libsupc++/compare (_Strong_ordering::_S_fp_cmp) [__vax__]: Use
2390 1.1.1.23 mrg <=> comparison.
2391 1.1.1.19 mrg
2392 1.1.1.23 mrg 2022-03-09 Patrick Palka <ppalka (a] redhat.com>
2393 1.1.1.19 mrg
2394 1.1.1.23 mrg PR libstdc++/104859
2395 1.1.1.23 mrg * src/c++17/floating_to_chars.cc (__floating_to_chars_hex):
2396 1.1.1.23 mrg Be explicit when narrowing the shifted effective_mantissa,
2397 1.1.1.23 mrg since it may have an integer-class type.
2398 1.1.1.19 mrg
2399 1.1.1.23 mrg 2022-03-08 Jonathan Wakely <jwakely (a] redhat.com>
2400 1.1.1.19 mrg
2401 1.1.1.23 mrg * include/bits/uses_allocator_args.h: Remove incorrect copyright
2402 1.1.1.23 mrg notice.
2403 1.1.1.19 mrg
2404 1.1.1.23 mrg 2022-03-07 Jonathan Wakely <jwakely (a] redhat.com>
2405 1.1.1.19 mrg
2406 1.1.1.23 mrg PR libstdc++/104807
2407 1.1.1.23 mrg * include/bits/c++config (__terminate, __glibcxx_assert_fail):
2408 1.1.1.23 mrg Replace _GLIBCXX_VISIBILITY on function with visibility pragma.
2409 1.1.1.23 mrg (__is_constant_evaluated): Add visibility pragma.
2410 1.1.1.19 mrg
2411 1.1.1.23 mrg 2022-03-07 Rasmus Villemoes <rasmus.villemoes (a] prevas.dk>
2412 1.1.1.19 mrg
2413 1.1.1.23 mrg * config/locale/vxworks/ctype_members.cc: Remove <iostream>
2414 1.1.1.23 mrg include.
2415 1.1.1.19 mrg
2416 1.1.1.23 mrg 2022-03-05 Jonathan Wakely <jwakely (a] redhat.com>
2417 1.1.1.19 mrg
2418 1.1.1.23 mrg * include/bits/c++config (__glibcxx_assert_fail): Add visibility
2419 1.1.1.23 mrg attribute.
2420 1.1.1.23 mrg (__terminate): Likewise.
2421 1.1.1.19 mrg
2422 1.1.1.23 mrg 2022-03-04 Jonathan Wakely <jwakely (a] redhat.com>
2423 1.1.1.19 mrg
2424 1.1.1.23 mrg * libsupc++/compare (strong_order::_S_fp_cmp): Move typedef
2425 1.1.1.23 mrg inside #if condition.
2426 1.1.1.19 mrg
2427 1.1.1.23 mrg 2022-03-03 Jonathan Wakely <jwakely (a] redhat.com>
2428 1.1.1.19 mrg
2429 1.1.1.23 mrg PR libstdc++/104748
2430 1.1.1.23 mrg * testsuite/std/ranges/adaptors/all.cc: Use non-debug vector for
2431 1.1.1.23 mrg constexpr test.
2432 1.1.1.18 mrg
2433 1.1.1.23 mrg 2022-03-03 Jonathan Wakely <jwakely (a] redhat.com>
2434 1.1.1.18 mrg
2435 1.1.1.23 mrg * testsuite/17_intro/names.cc (func): Undef on AIX.
2436 1.1.1.18 mrg
2437 1.1.1.23 mrg 2022-03-03 Jonathan Wakely <jwakely (a] redhat.com>
2438 1.1.1.18 mrg
2439 1.1.1.23 mrg PR libstdc++/96526
2440 1.1.1.23 mrg * libsupc++/compare (strong_order): Add missing support for
2441 1.1.1.23 mrg floating-point types.
2442 1.1.1.23 mrg * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc:
2443 1.1.1.23 mrg New test.
2444 1.1.1.18 mrg
2445 1.1.1.23 mrg 2022-03-01 Jonathan Wakely <jwakely (a] redhat.com>
2446 1.1.1.18 mrg
2447 1.1.1.23 mrg PR middle-end/103984
2448 1.1.1.23 mrg * include/bits/regex_compiler.h (_BracketMatcher::_M_char): Use
2449 1.1.1.23 mrg default member initializer.
2450 1.1.1.18 mrg
2451 1.1.1.23 mrg 2022-02-24 Jonathan Wakely <jwakely (a] redhat.com>
2452 1.1.1.18 mrg
2453 1.1.1.23 mrg PR libstdc++/104602
2454 1.1.1.23 mrg * include/std/source_location (source_location::current): Use
2455 1.1.1.23 mrg deduced type of __builtin_source_location().
2456 1.1.1.18 mrg
2457 1.1.1.23 mrg 2022-02-22 Patrick Palka <ppalka (a] redhat.com>
2458 1.1.1.18 mrg
2459 1.1.1.23 mrg * include/bits/ranges_base.h (__detail::__is_initializer_list):
2460 1.1.1.23 mrg Define.
2461 1.1.1.23 mrg (viewable_range): Adjust as per P2415R2.
2462 1.1.1.23 mrg * include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value.
2463 1.1.1.23 mrg * include/std/ranges (owning_view): Define as per P2415R2.
2464 1.1.1.23 mrg (enable_borrowed_range<owning_view>): Likewise.
2465 1.1.1.23 mrg (views::__detail::__can_subrange): Replace with ...
2466 1.1.1.23 mrg (views::__detail::__can_owning_view): ... this.
2467 1.1.1.23 mrg (views::_All::_S_noexcept): Sync with operator().
2468 1.1.1.23 mrg (views::_All::operator()): Use owning_view instead of subrange
2469 1.1.1.23 mrg as per P2415R2.
2470 1.1.1.23 mrg * include/std/version (__cpp_lib_ranges): Adjust value.
2471 1.1.1.23 mrg * testsuite/std/ranges/adaptors/all.cc (test06): Adjust now that
2472 1.1.1.23 mrg views::all uses owning_view instead of subrange.
2473 1.1.1.23 mrg (test08): New test.
2474 1.1.1.23 mrg * testsuite/std/ranges/adaptors/lazy_split.cc (test09): Adjust
2475 1.1.1.23 mrg now that rvalue non-view non-borrowed ranges are viewable.
2476 1.1.1.23 mrg * testsuite/std/ranges/adaptors/split.cc (test06): Likewise.
2477 1.1.1.18 mrg
2478 1.1.1.23 mrg 2022-02-17 Jonathan Wakely <jwakely (a] redhat.com>
2479 1.1.1.18 mrg
2480 1.1.1.23 mrg PR libstdc++/104559
2481 1.1.1.23 mrg * doc/xml/manual/evolution.xml: Document deprecation.
2482 1.1.1.23 mrg * doc/html/manual/api.html: Regenerate.
2483 1.1.1.23 mrg * include/bits/stl_bvector.h (insert(const_iterator, const bool&)):
2484 1.1.1.23 mrg Remove default argument.
2485 1.1.1.23 mrg (insert(const_iterator)): New overload with deprecated attribute.
2486 1.1.1.23 mrg * testsuite/23_containers/vector/bool/modifiers/insert/104559.cc:
2487 1.1.1.23 mrg New test.
2488 1.1.1.23 mrg
2489 1.1.1.23 mrg 2022-02-17 Jonathan Wakely <jwakely (a] redhat.com>
2490 1.1.1.23 mrg
2491 1.1.1.23 mrg * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Replace
2492 1.1.1.23 mrg code that call cat->name() on std::error_category objects.
2493 1.1.1.23 mrg Identify known categories by symbol name and use a hardcoded
2494 1.1.1.23 mrg name. Print error code values as enumerators where appopriate.
2495 1.1.1.23 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected
2496 1.1.1.23 mrg name of custom category. Check io_errc and future_errc errors.
2497 1.1.1.23 mrg
2498 1.1.1.23 mrg 2022-02-15 Jonathan Wakely <jwakely (a] redhat.com>
2499 1.1.1.23 mrg
2500 1.1.1.23 mrg PR libstdc++/104542
2501 1.1.1.23 mrg * include/bits/uses_allocator_args.h (make_obj_using_allocator)
2502 1.1.1.23 mrg (uninitialized_construct_using_allocator): Add constexpr.
2503 1.1.1.23 mrg * testsuite/20_util/uses_allocator/make_obj.cc: Check constexpr.
2504 1.1.1.23 mrg * testsuite/20_util/uses_allocator/uninitialized_construct.cc: New test.
2505 1.1.1.23 mrg
2506 1.1.1.23 mrg 2022-02-14 Jonathan Wakely <jwakely (a] redhat.com>
2507 1.1.1.23 mrg
2508 1.1.1.23 mrg PR libstdc++/100912
2509 1.1.1.23 mrg * config/locale/gnu/c_locale.h (__convert_from_v): Use inline
2510 1.1.1.23 mrg namespace for IEEE128 long double mode.
2511 1.1.1.23 mrg * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add new symbol
2512 1.1.1.23 mrg version and export __gnu_cxx_ieee128::__convert_from_v.
2513 1.1.1.23 mrg * include/bits/locale_facets_nonio.tcc (money_put::__do_put):
2514 1.1.1.23 mrg Make __ibm128 overload use snprintf directly
2515 1.1.1.23 mrg * testsuite/util/testsuite_abi.cc: Add new symbol version.
2516 1.1.1.23 mrg Remove stable IEEE128/LDBL versions.
2517 1.1.1.18 mrg
2518 1.1.1.23 mrg 2022-02-14 Jonathan Wakely <jwakely (a] redhat.com>
2519 1.1.1.18 mrg
2520 1.1.1.23 mrg PR libstdc++/103891
2521 1.1.1.23 mrg * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS):
2522 1.1.1.23 mrg Remove.
2523 1.1.1.23 mrg * include/std/variant: Check feature test macros instead.
2524 1.1.1.23 mrg * include/std/version: Likewise.
2525 1.1.1.19 mrg
2526 1.1.1.23 mrg 2022-02-14 Jonathan Wakely <jwakely (a] redhat.com>
2527 1.1.1.18 mrg
2528 1.1.1.23 mrg * testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
2529 1.1.1.23 mrg Fix typo.
2530 1.1.1.18 mrg
2531 1.1.1.23 mrg 2022-02-14 Jonathan Wakely <jwakely (a] redhat.com>
2532 1.1.1.18 mrg
2533 1.1.1.23 mrg * src/c++17/floating_to_chars.cc (FLOAT128_TO_CHARS): Depend on
2534 1.1.1.23 mrg LONG_DOUBLE_ALT128_COMPAT instead of USE_FLOAT128.
2535 1.1.1.18 mrg
2536 1.1.1.23 mrg 2022-02-11 Jonathan Wakely <jwakely (a] redhat.com>
2537 1.1.1.18 mrg
2538 1.1.1.23 mrg * testsuite/20_util/temporary_buffer.cc: Fix dg-warning target
2539 1.1.1.23 mrg selector.
2540 1.1.1.18 mrg
2541 1.1.1.23 mrg 2022-02-11 Jonathan Wakely <jwakely (a] redhat.com>
2542 1.1.1.18 mrg
2543 1.1.1.23 mrg * testsuite/20_util/monotonic_buffer_resource/allocate.cc:
2544 1.1.1.23 mrg Ignore -Walloc-larger-than warning.
2545 1.1.1.23 mrg * testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
2546 1.1.1.23 mrg Likewise.
2547 1.1.1.23 mrg * testsuite/29_atomics/atomic/cons/user_pod.cc: Compile with -O1
2548 1.1.1.23 mrg to avoid linker error for __atomic_is_lock_free.
2549 1.1.1.18 mrg
2550 1.1.1.23 mrg 2022-02-10 Thomas Rodgers <rodgert (a] appliantology.com>
2551 1.1.1.19 mrg
2552 1.1.1.23 mrg * include/bits/atomic_wait.h (__waiter_base::_S_do_spin,
2553 1.1.1.23 mrg __waiter_base::_S_do_spin_v): Change memory order from relaxed
2554 1.1.1.23 mrg to acquire.
2555 1.1.1.19 mrg
2556 1.1.1.23 mrg 2022-02-10 Jonathan Wakely <jwakely (a] redhat.com>
2557 1.1.1.18 mrg
2558 1.1.1.23 mrg * include/c_compatibility/stdatomic.h (atomic_fetch_xor): Add
2559 1.1.1.23 mrg using-declaration.
2560 1.1.1.23 mrg (atomic_fetch_xor_explicit): Likewise.
2561 1.1.1.23 mrg * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Check
2562 1.1.1.23 mrg arithmetic and logical operations for atomic_int.
2563 1.1.1.19 mrg
2564 1.1.1.23 mrg 2022-02-10 Jonathan Wakely <jwakely (a] redhat.com>
2565 1.1.1.19 mrg
2566 1.1.1.23 mrg * src/filesystem/dir-common.h (_GLIBCXX_HAVE_DIRFD): Undefine
2567 1.1.1.23 mrg when <dirent.h> is not available.
2568 1.1.1.23 mrg (_GLIBCXX_HAVE_UNLINKAT): Likewise.
2569 1.1.1.18 mrg
2570 1.1.1.23 mrg 2022-02-09 Thomas Rodgers <rodgert (a] appliantology.com>
2571 1.1.1.16 mrg
2572 1.1.1.23 mrg PR libstdc++/104442
2573 1.1.1.23 mrg * include/bits/atomic_wait.h (__waiter::_M_do_wait_v): Move spin
2574 1.1.1.23 mrg loop inside do loop so that threads failing the wait, reload
2575 1.1.1.23 mrg _M_ver.
2576 1.1.1.19 mrg
2577 1.1.1.23 mrg 2022-02-08 Jonathan Wakely <jwakely (a] redhat.com>
2578 1.1.1.19 mrg
2579 1.1.1.23 mrg * src/c++17/fs_dir.cc (_Dir(DIR*, const path&)): Change first
2580 1.1.1.23 mrg parameter to _Dir_base&&.
2581 1.1.1.23 mrg * src/filesystem/dir-common.h (_Dir_base(DIR*)): Remove.
2582 1.1.1.23 mrg * src/filesystem/dir.cc (_Dir(DIR*, const path&)): Change first
2583 1.1.1.23 mrg parameter to _Dir_base&&.
2584 1.1.1.19 mrg
2585 1.1.1.23 mrg 2022-02-08 Jonathan Wakely <jwakely (a] redhat.com>
2586 1.1.1.19 mrg
2587 1.1.1.23 mrg * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Add comment about
2588 1.1.1.23 mrg checking for CAS on correct word size.
2589 1.1.1.19 mrg
2590 1.1.1.23 mrg 2022-02-08 Jonathan Wakely <jwakely (a] redhat.com>
2591 1.1.1.19 mrg
2592 1.1.1.23 mrg * testsuite/experimental/filesystem/operations/create_directories.cc:
2593 1.1.1.23 mrg Adjust expected results for Windows.
2594 1.1.1.19 mrg
2595 1.1.1.23 mrg 2022-02-08 Jonathan Wakely <jwakely (a] redhat.com>
2596 1.1.1.19 mrg
2597 1.1.1.23 mrg PR libstdc++/104161
2598 1.1.1.23 mrg * src/c++17/fs_dir.cc (fs::recursive_directory_iterator::__erase):
2599 1.1.1.23 mrg [i_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Refresh entry._M_type member,
2600 1.1.1.23 mrg instead of checking for errno values indicating a directory.
2601 1.1.1.23 mrg * src/c++17/fs_ops.cc (fs::remove_all(const path&)): Use similar
2602 1.1.1.23 mrg logic to non-throwing overload.
2603 1.1.1.23 mrg (fs::remove_all(const path&, error_code&)): Add comments.
2604 1.1.1.23 mrg * src/filesystem/ops-common.h: Likewise.
2605 1.1.1.19 mrg
2606 1.1.1.23 mrg 2022-02-04 Jonathan Wakely <jwakely (a] redhat.com>
2607 1.1.1.19 mrg
2608 1.1.1.23 mrg * src/filesystem/dir-common.h (_Dir_base::openat): Change return
2609 1.1.1.23 mrg type to use portable posix::DIR alias.
2610 1.1.1.19 mrg
2611 1.1.1.23 mrg 2022-02-04 Jonathan Wakely <jwakely (a] redhat.com>
2612 1.1.1.19 mrg
2613 1.1.1.23 mrg * include/c_compatibility/stdatomic.h [__clang__]: Use
2614 1.1.1.23 mrg #include_next <stdatomic.h>.
2615 1.1.1.19 mrg
2616 1.1.1.23 mrg 2022-02-04 Jonathan Wakely <jwakely (a] redhat.com>
2617 1.1.1.19 mrg
2618 1.1.1.23 mrg * include/experimental/bits/fs_ops.h (fs::copy_file): Remove
2619 1.1.1.23 mrg noexcept.
2620 1.1.1.23 mrg (fs::create_directories): Likewise.
2621 1.1.1.23 mrg (fs::remove_all): Likewise.
2622 1.1.1.23 mrg * src/filesystem/ops.cc (fs::copy_file): Remove noexcept.
2623 1.1.1.23 mrg (fs::create_directories): Likewise.
2624 1.1.1.23 mrg (fs::remove_all): Likewise.
2625 1.1.1.16 mrg
2626 1.1.1.23 mrg 2022-02-04 Jonathan Wakely <jwakely (a] redhat.com>
2627 1.1.1.19 mrg
2628 1.1.1.23 mrg PR libstdc++/104161
2629 1.1.1.23 mrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for dirfd
2630 1.1.1.23 mrg and unlinkat.
2631 1.1.1.23 mrg * config.h.in: Regenerate.
2632 1.1.1.23 mrg * configure: Regenerate.
2633 1.1.1.23 mrg * include/bits/fs_dir.h (recursive_directory_iterator): Declare
2634 1.1.1.23 mrg remove_all overloads as friends.
2635 1.1.1.23 mrg (recursive_directory_iterator::__erase): Declare new member
2636 1.1.1.23 mrg function.
2637 1.1.1.23 mrg * include/bits/fs_fwd.h (remove, remove_all): Declare.
2638 1.1.1.23 mrg * src/c++17/fs_dir.cc (_Dir): Add filename_only parameter to
2639 1.1.1.23 mrg constructor. Pass file descriptor argument to base constructor.
2640 1.1.1.23 mrg (_Dir::dir_and_pathname, _Dir::open_subdir, _Dir::do_unlink)
2641 1.1.1.23 mrg (_Dir::unlink, _Dir::rmdir): Define new member functions.
2642 1.1.1.23 mrg (directory_iterator): Pass filename_only argument to _Dir
2643 1.1.1.23 mrg constructor.
2644 1.1.1.23 mrg (recursive_directory_iterator::_Dir_stack): Adjust constructor
2645 1.1.1.23 mrg parameters to take a _Dir rvalue instead of creating one.
2646 1.1.1.23 mrg (_Dir_stack::orig): Add data member for storing original path.
2647 1.1.1.23 mrg (_Dir_stack::report_error): Define new member function.
2648 1.1.1.23 mrg (__directory_iterator_nofollow): Move here from dir-common.h and
2649 1.1.1.23 mrg fix value to be a power of two.
2650 1.1.1.23 mrg (__directory_iterator_filename_only): Define new constant.
2651 1.1.1.23 mrg (recursive_directory_iterator): Construct _Dir object and move
2652 1.1.1.23 mrg into _M_dirs stack. Pass skip_permission_denied argument to first
2653 1.1.1.23 mrg advance call.
2654 1.1.1.23 mrg (recursive_directory_iterator::increment): Use _Dir::open_subdir.
2655 1.1.1.23 mrg (recursive_directory_iterator::__erase): Define new member
2656 1.1.1.23 mrg function.
2657 1.1.1.23 mrg * src/c++17/fs_ops.cc (ErrorReporter, do_remove_all): Remove.
2658 1.1.1.23 mrg (fs::remove_all): Use new recursive_directory_iterator::__erase
2659 1.1.1.23 mrg member function.
2660 1.1.1.23 mrg * src/filesystem/dir-common.h (_Dir_base): Add int parameter to
2661 1.1.1.23 mrg constructor and use openat to implement nofollow semantics.
2662 1.1.1.23 mrg (_Dir_base::fdcwd, _Dir_base::set_close_on_exec, _Dir_base::openat):
2663 1.1.1.23 mrg Define new member functions.
2664 1.1.1.23 mrg (__directory_iterator_nofollow): Move to fs_dir.cc.
2665 1.1.1.23 mrg * src/filesystem/dir.cc (_Dir): Pass file descriptor argument to
2666 1.1.1.23 mrg base constructor.
2667 1.1.1.23 mrg (_Dir::dir_and_pathname, _Dir::open_subdir): Define new member
2668 1.1.1.23 mrg functions.
2669 1.1.1.23 mrg (recursive_directory_iterator::_Dir_stack): Adjust constructor
2670 1.1.1.23 mrg parameters to take a _Dir rvalue instead of creating one.
2671 1.1.1.23 mrg (recursive_directory_iterator): Check for new nofollow option.
2672 1.1.1.23 mrg Construct _Dir object and move into _M_dirs stack. Pass
2673 1.1.1.23 mrg skip_permission_denied argument to first advance call.
2674 1.1.1.23 mrg (recursive_directory_iterator::increment): Use _Dir::open_subdir.
2675 1.1.1.23 mrg * src/filesystem/ops.cc (fs::remove_all): Use C++17 remove_all.
2676 1.1.1.19 mrg
2677 1.1.1.23 mrg 2022-02-04 Jonathan Wakely <jwakely (a] redhat.com>
2678 1.1.1.19 mrg
2679 1.1.1.23 mrg * include/bits/allocator.h: Qualify std::allocator_traits in
2680 1.1.1.23 mrg deprecated warnings.
2681 1.1.1.23 mrg * libsupc++/exception (uncaught_exception): Add suggestion to
2682 1.1.1.23 mrg deprecated warning.
2683 1.1.1.19 mrg
2684 1.1.1.23 mrg 2022-02-02 Jonathan Wakely <jwakely (a] redhat.com>
2685 1.1.1.19 mrg
2686 1.1.1.23 mrg * src/c++17/fs_dir.cc (fs::recursive_directory_iterator::pop):
2687 1.1.1.23 mrg Add [[maybe_unused]] attribute.
2688 1.1.1.23 mrg * src/filesystem/dir.cc (fs::recursive_directory_iterator::pop):
2689 1.1.1.19 mrg Likewise.
2690 1.1.1.18 mrg
2691 1.1.1.23 mrg 2022-02-02 Jonathan Wakely <jwakely (a] redhat.com>
2692 1.1.1.19 mrg
2693 1.1.1.23 mrg * testsuite/23_containers/multiset/operators/cmp_c++20.cc: Use
2694 1.1.1.23 mrg custom comparison function for multiset.
2695 1.1.1.23 mrg * testsuite/23_containers/set/operators/cmp_c++20.cc: Use custom
2696 1.1.1.23 mrg comparison function for set.
2697 1.1.1.19 mrg
2698 1.1.1.23 mrg 2022-02-02 Jonathan Wakely <jwakely (a] redhat.com>
2699 1.1.1.19 mrg
2700 1.1.1.23 mrg * include/bits/boost_concept_check.h (_OutputIteratorConcept):
2701 1.1.1.23 mrg Change member function to data member of function pointer type.
2702 1.1.1.19 mrg
2703 1.1.1.23 mrg 2022-02-02 Martin Sebor <msebor (a] redhat.com>
2704 1.1.1.23 mrg
2705 1.1.1.23 mrg PR libstdc++/101831
2706 1.1.1.23 mrg * include/std/array (begin): Declare const member function attribute
2707 1.1.1.23 mrg const.
2708 1.1.1.23 mrg (end, rbegin, rend, size, max_size, empty, data): Same.
2709 1.1.1.23 mrg * testsuite/23_containers/array/capacity/empty.cc: Add test cases.
2710 1.1.1.23 mrg * testsuite/23_containers/array/capacity/max_size.cc: Same.
2711 1.1.1.23 mrg * testsuite/23_containers/array/capacity/size.cc: Same.
2712 1.1.1.23 mrg * testsuite/23_containers/array/iterators/begin_end.cc: New test.
2713 1.1.1.18 mrg
2714 1.1.1.23 mrg 2022-02-02 Jonathan Wakely <jwakely (a] redhat.com>
2715 1.1.1.23 mrg
2716 1.1.1.23 mrg * testsuite/27_io/filesystem/iterators/error_reporting.cc: Use
2717 1.1.1.23 mrg autoconf macro to check whether d_type is present.
2718 1.1.1.23 mrg * testsuite/experimental/filesystem/iterators/error_reporting.cc:
2719 1.1.1.20 mrg Likewise.
2720 1.1.1.18 mrg
2721 1.1.1.23 mrg 2022-02-01 Jonathan Wakely <jwakely (a] redhat.com>
2722 1.1.1.18 mrg
2723 1.1.1.23 mrg * testsuite/27_io/filesystem/iterators/97731.cc: New test.
2724 1.1.1.23 mrg * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
2725 1.1.1.23 mrg Check follow_directory_symlink option.
2726 1.1.1.23 mrg * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc:
2727 1.1.1.23 mrg Likewise.
2728 1.1.1.16 mrg
2729 1.1.1.23 mrg 2022-02-01 Jonathan Wakely <jwakely (a] redhat.com>
2730 1.1.1.16 mrg
2731 1.1.1.23 mrg * src/c++17/fs_dir.cc (recursive_directory_iterator::increment):
2732 1.1.1.23 mrg Reset state to past-the-end iterator on error.
2733 1.1.1.23 mrg (fs::recursive_directory_iterator::pop(error_code&)): Likewise.
2734 1.1.1.23 mrg (fs::recursive_directory_iterator::pop()): Check _M_dirs before
2735 1.1.1.23 mrg it might get reset.
2736 1.1.1.23 mrg * src/filesystem/dir.cc (recursive_directory_iterator): Likewise,
2737 1.1.1.23 mrg for the TS implementation.
2738 1.1.1.23 mrg * testsuite/27_io/filesystem/iterators/error_reporting.cc: New test.
2739 1.1.1.23 mrg * testsuite/experimental/filesystem/iterators/error_reporting.cc: New test.
2740 1.1.1.19 mrg
2741 1.1.1.23 mrg 2022-02-01 Jonathan Wakely <jwakely (a] redhat.com>
2742 1.1.1.19 mrg
2743 1.1.1.23 mrg * include/bits/fs_fwd.h (filesystem::perms): Fix comment.
2744 1.1.1.19 mrg
2745 1.1.1.23 mrg 2022-02-01 Jonathan Wakely <jwakely (a] redhat.com>
2746 1.1.1.19 mrg
2747 1.1.1.23 mrg PR libstdc++/104301
2748 1.1.1.23 mrg * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Print different messages
2749 1.1.1.23 mrg for stdio_pure and stdio_posix options.
2750 1.1.1.23 mrg * configure: Regenerate.
2751 1.1.1.16 mrg
2752 1.1.1.23 mrg 2022-02-01 Thomas Rodgers <rodgert (a] appliantology.com>
2753 1.1.1.20 mrg
2754 1.1.1.23 mrg * include/bits/atomic_wait.h: Change memory order from
2755 1.1.1.23 mrg Acquire/Release with relaxed loads to SeqCst+Release for
2756 1.1.1.23 mrg accesses to the waiter's count.
2757 1.1.1.20 mrg
2758 1.1.1.23 mrg 2022-01-31 Martin Liska <mliska (a] suse.cz>
2759 1.1.1.20 mrg
2760 1.1.1.23 mrg * acinclude.m4: Detect *_ld_is_mold and use it.
2761 1.1.1.23 mrg * configure: Regenerate.
2762 1.1.1.20 mrg
2763 1.1.1.23 mrg 2022-01-30 Hans-Peter Nilsson <hp (a] axis.com>
2764 1.1.1.20 mrg
2765 1.1.1.23 mrg * testsuite/27_io/basic_istream/get/char/lwg3464.cc: Don't run on
2766 1.1.1.23 mrg simulator targets.
2767 1.1.1.23 mrg * testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: Likewise.
2768 1.1.1.20 mrg
2769 1.1.1.23 mrg 2022-01-27 Jonathan Wakely <jwakely (a] redhat.com>
2770 1.1.1.20 mrg
2771 1.1.1.23 mrg PR libstdc++/100516
2772 1.1.1.23 mrg * include/bits/deque.tcc (_M_range_initialize<ForwardIterator>):
2773 1.1.1.23 mrg Add __builtin_unreachable to loop.
2774 1.1.1.23 mrg * testsuite/23_containers/deque/100516.cc: New test.
2775 1.1.1.20 mrg
2776 1.1.1.23 mrg 2022-01-27 Jonathan Wakely <jwakely (a] redhat.com>
2777 1.1.1.20 mrg
2778 1.1.1.23 mrg * include/bits/ranges_base.h (ranges::advance): Avoid signed
2779 1.1.1.23 mrg overflow. Do nothing if already equal to desired result.
2780 1.1.1.23 mrg * testsuite/24_iterators/range_operations/advance_overflow.cc:
2781 1.1.1.20 mrg New test.
2782 1.1.1.16 mrg
2783 1.1.1.23 mrg 2022-01-27 Martin Liska <mliska (a] suse.cz>
2784 1.1.1.20 mrg
2785 1.1.1.23 mrg PR libstdc++/104259
2786 1.1.1.23 mrg * acinclude.m4: Fix typo.
2787 1.1.1.23 mrg * configure: Regenerate.
2788 1.1.1.20 mrg
2789 1.1.1.23 mrg 2022-01-25 Jonathan Wakely <jwakely (a] redhat.com>
2790 1.1.1.20 mrg
2791 1.1.1.23 mrg PR libstdc++/104019
2792 1.1.1.23 mrg * include/bits/istream.tcc (basic_istream::sentry): Add braces
2793 1.1.1.23 mrg around try-block.
2794 1.1.1.23 mrg * include/bits/shared_ptr_base.h (_Sp_counted_array_base::_M_init):
2795 1.1.1.23 mrg Add pragmas to disable bogus warnings from PR 61596.
2796 1.1.1.23 mrg
2797 1.1.1.23 mrg 2022-01-25 Jonathan Wakely <jwakely (a] redhat.com>
2798 1.1.1.23 mrg
2799 1.1.1.23 mrg PR libstdc++/104217
2800 1.1.1.23 mrg * src/c++17/fs_ops.cc (_GNU_SOURCE): Define.
2801 1.1.1.23 mrg * src/filesystem/dir.cc (_GNU_SOURCE): Define.
2802 1.1.1.23 mrg * src/filesystem/ops.cc (_GNU_SOURCE): Define.
2803 1.1.1.23 mrg
2804 1.1.1.23 mrg 2022-01-25 Jonathan Wakely <jwakely (a] redhat.com>
2805 1.1.1.23 mrg
2806 1.1.1.23 mrg PR libstdc++/104161
2807 1.1.1.23 mrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
2808 1.1.1.23 mrg fdopendir.
2809 1.1.1.23 mrg * config.h.in: Regenerate.
2810 1.1.1.23 mrg * configure: Regenerate.
2811 1.1.1.23 mrg * src/c++17/fs_dir.cc (_Dir): Add nofollow flag to constructor
2812 1.1.1.23 mrg and pass it to base class constructor.
2813 1.1.1.23 mrg (directory_iterator): Pass nofollow flag to _Dir constructor.
2814 1.1.1.23 mrg (fs::recursive_directory_iterator::increment): Likewise.
2815 1.1.1.23 mrg * src/c++17/fs_ops.cc (do_remove_all): Use nofollow option for
2816 1.1.1.23 mrg directory_iterator constructor. Move error check outside loop.
2817 1.1.1.23 mrg * src/filesystem/dir-common.h (_Dir_base): Add nofollow flag to
2818 1.1.1.23 mrg constructor and when it's set use ::open with O_NOFOLLOW and
2819 1.1.1.23 mrg O_DIRECTORY.
2820 1.1.1.23 mrg * src/filesystem/dir.cc (_Dir): Add nofollow flag to constructor
2821 1.1.1.23 mrg and pass it to base class constructor.
2822 1.1.1.23 mrg (directory_iterator): Pass nofollow flag to _Dir constructor.
2823 1.1.1.23 mrg (fs::recursive_directory_iterator::increment): Likewise.
2824 1.1.1.23 mrg * src/filesystem/ops.cc (remove_all): Use nofollow option for
2825 1.1.1.23 mrg directory_iterator constructor. Move error check outside loop.
2826 1.1.1.23 mrg
2827 1.1.1.23 mrg 2022-01-23 Jonathan Wakely <jwakely (a] redhat.com>
2828 1.1.1.23 mrg
2829 1.1.1.23 mrg PR libstdc++/104032
2830 1.1.1.23 mrg * include/std/spanstream (basic_spanbuf(basic_spanbuf&&)): Use
2831 1.1.1.23 mrg mem-initializer for _M_buf.
2832 1.1.1.23 mrg (basic_spanbuf::Operator=(basic_spanbuf&&)): Fix ill-formed
2833 1.1.1.23 mrg member access.
2834 1.1.1.23 mrg * testsuite/27_io/spanstream/2.cc: New test.
2835 1.1.1.23 mrg
2836 1.1.1.23 mrg 2022-01-23 Jonathan Wakely <jwakely (a] redhat.com>
2837 1.1.1.23 mrg
2838 1.1.1.23 mrg * src/c++17/floating_from_chars.cc (USE_STRTOD_FOR_FROM_CHARS):
2839 1.1.1.23 mrg Define macro for case where std::from_chars is implemented in
2840 1.1.1.23 mrg terms of strtod, strtof or strtold.
2841 1.1.1.23 mrg (buffer_resource, valid_fmt, find_end_of_float, pattern)
2842 1.1.1.23 mrg (from_chars_impl, make_result, reserve_string): Do not define
2843 1.1.1.23 mrg unless USE_STRTOD_FOR_FROM_CHARS is defined.
2844 1.1.1.23 mrg (from_chars): Define when at least one of USE_LIB_FAST_FLOAT and
2845 1.1.1.23 mrg USE_STRTOD_FOR_FROM_CHARS is defined, instead of
2846 1.1.1.23 mrg _GLIBCXX_HAVE_USELOCALE. Use fast_float for long double when it
2847 1.1.1.23 mrg is binary64.
2848 1.1.1.23 mrg
2849 1.1.1.23 mrg 2022-01-23 Jonathan Wakely <jwakely (a] redhat.com>
2850 1.1.1.23 mrg
2851 1.1.1.23 mrg PR libstdc++/104174
2852 1.1.1.23 mrg * include/bits/hashtable_policy.h (_Map_base): Add partial
2853 1.1.1.23 mrg specialization for maps with const key types.
2854 1.1.1.23 mrg * testsuite/23_containers/unordered_map/104174.cc: New test.
2855 1.1.1.23 mrg
2856 1.1.1.23 mrg 2022-01-23 Jonathan Wakely <jwakely (a] redhat.com>
2857 1.1.1.23 mrg
2858 1.1.1.23 mrg PR libstdc++/104019
2859 1.1.1.23 mrg * include/bits/shared_ptr_base.h (_Sp_counted_base<>::_M_release):
2860 1.1.1.23 mrg Set members to zero without type punning.
2861 1.1.1.23 mrg
2862 1.1.1.23 mrg 2022-01-21 Jonathan Wakely <jwakely (a] redhat.com>
2863 1.1.1.23 mrg
2864 1.1.1.23 mrg * testsuite/20_util/shared_ptr/cons/array.cc: Fix comment.
2865 1.1.1.23 mrg
2866 1.1.1.23 mrg 2022-01-21 Jonathan Wakely <jwakely (a] redhat.com>
2867 1.1.1.23 mrg
2868 1.1.1.23 mrg PR libstdc++/87193
2869 1.1.1.23 mrg PR libstdc++/104019
2870 1.1.1.23 mrg * include/bits/alloc_traits.h (__cpp_lib_allocator_traits_is_always_equal):
2871 1.1.1.23 mrg Define as type long.
2872 1.1.1.23 mrg * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
2873 1.1.1.23 mrg Likewise.
2874 1.1.1.23 mrg * include/bits/basic_string.h (__cpp_lib_string_udls): Likewise.
2875 1.1.1.23 mrg * include/bits/chrono.h (__cpp_lib_chrono): Likewise.
2876 1.1.1.23 mrg (__cpp_lib_chrono_udls): Likewise.
2877 1.1.1.23 mrg * include/bits/move.h (__cpp_lib_addressof_constexpr): Likewise.
2878 1.1.1.23 mrg * include/bits/node_handle.h (__cpp_lib_node_extract): Likewise.
2879 1.1.1.23 mrg * include/bits/range_access.h (__cpp_lib_nonmember_container_access):
2880 1.1.1.23 mrg Likewise.
2881 1.1.1.23 mrg * include/bits/shared_ptr.h (__cpp_lib_enable_shared_from_this):
2882 1.1.1.23 mrg Likewise.
2883 1.1.1.23 mrg * include/bits/stl_algo.h (__cpp_lib_clamp): Likewise.
2884 1.1.1.23 mrg (__cpp_lib_sample): Likewise.
2885 1.1.1.23 mrg * include/bits/stl_algobase.h (__cpp_lib_robust_nonmodifying_seq_ops):
2886 1.1.1.23 mrg Likewise.
2887 1.1.1.23 mrg * include/bits/stl_function.h (__cpp_lib_transparent_operators):
2888 1.1.1.23 mrg Likewise.
2889 1.1.1.23 mrg * include/bits/stl_iterator.h (__cpp_lib_make_reverse_iterator):
2890 1.1.1.23 mrg Likewise.
2891 1.1.1.23 mrg * include/bits/stl_map.h (__cpp_lib_map_try_emplace):
2892 1.1.1.23 mrg Likewise.
2893 1.1.1.23 mrg * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
2894 1.1.1.23 mrg Likewise.
2895 1.1.1.23 mrg * include/bits/unique_ptr.h (__cpp_lib_make_unique):
2896 1.1.1.23 mrg Likewise.
2897 1.1.1.23 mrg * include/bits/unordered_map.h (__cpp_lib_unordered_map_try_emplace):
2898 1.1.1.23 mrg Likewise.
2899 1.1.1.23 mrg * include/c_global/cmath (__cpp_lib_hypot): Likewise.
2900 1.1.1.23 mrg * include/c_global/cstddef (__cpp_lib_byte): Likewise.
2901 1.1.1.23 mrg * include/std/atomic (__cpp_lib_atomic_is_always_lock_free):
2902 1.1.1.23 mrg Likewise.
2903 1.1.1.23 mrg * include/std/complex (__cpp_lib_complex_udls): Likewise.
2904 1.1.1.23 mrg * include/std/filesystem (__cpp_lib_filesystem): Likewise.
2905 1.1.1.23 mrg * include/std/functional (__cpp_lib_not_fn): Likewise.
2906 1.1.1.23 mrg (__cpp_lib_boyer_moore_searcher): Likewise.
2907 1.1.1.23 mrg * include/std/iomanip (__cpp_lib_quoted_string_io): Likewise.
2908 1.1.1.23 mrg * include/std/mutex (__cpp_lib_scoped_lock): Likewise.
2909 1.1.1.23 mrg * include/std/numeric (__cpp_lib_gcd_lcm): Likewise.
2910 1.1.1.23 mrg (__cpp_lib_gcd, __cpp_lib_lcm): Likewise.
2911 1.1.1.23 mrg * include/std/tuple (__cpp_lib_apply): Likewise.
2912 1.1.1.23 mrg (__cpp_lib_make_from_tuple): Likewise.
2913 1.1.1.23 mrg * include/std/type_traits (__cpp_lib_integral_constant_callable)
2914 1.1.1.23 mrg (__cpp_lib_bool_constant, __cpp_lib_logical_traits)
2915 1.1.1.23 mrg (__cpp_lib_is_null_pointer, __cpp_lib_transformation_trait_aliases)
2916 1.1.1.23 mrg (__cpp_lib_result_of_sfinae, __cpp_lib_void_t)
2917 1.1.1.23 mrg (__cpp_lib_is_swappable, __cpp_lib_is_invocable)
2918 1.1.1.23 mrg (__cpp_lib_has_unique_object_representations)
2919 1.1.1.23 mrg (__cpp_lib_is_aggregate): Likewise.
2920 1.1.1.23 mrg * include/std/version: Likewise.
2921 1.1.1.23 mrg * libsupc++/new (__cpp_lib_launder): Likewise.
2922 1.1.1.20 mrg
2923 1.1.1.23 mrg 2022-01-21 Jonathan Wakely <jwakely (a] redhat.com>
2924 1.1.1.20 mrg
2925 1.1.1.23 mrg * include/std/version (__cpp_lib_shared_ptr_arrays): Fix
2926 1.1.1.23 mrg condition for C++17 definition.
2927 1.1.1.20 mrg
2928 1.1.1.23 mrg 2022-01-21 Jonathan Wakely <jwakely (a] redhat.com>
2929 1.1.1.19 mrg
2930 1.1.1.23 mrg * include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count):
2931 1.1.1.23 mrg Add constexpr.
2932 1.1.1.23 mrg (_Sp_atomic::_M_ptr): Add default member-initializer.
2933 1.1.1.23 mrg * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
2934 1.1.1.23 mrg Check constant initialization.
2935 1.1.1.23 mrg * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
2936 1.1.1.19 mrg
2937 1.1.1.23 mrg 2022-01-20 Jonathan Wakely <jwakely (a] redhat.com>
2938 1.1.1.19 mrg
2939 1.1.1.23 mrg * src/c++11/cxx11-ios_failure.cc (__constinit): Define as
2940 1.1.1.23 mrg equivalent attribute for Clang.
2941 1.1.1.23 mrg * src/c++11/future.cc (__constinit): Likewise.
2942 1.1.1.23 mrg * src/c++11/system_error.cc (__constinit): Likewise.
2943 1.1.1.23 mrg * src/c++17/memory_resource.cc (__constinit): Likewise.
2944 1.1.1.19 mrg
2945 1.1.1.23 mrg 2022-01-20 Jonathan Wakely <jwakely (a] redhat.com>
2946 1.1.1.19 mrg
2947 1.1.1.23 mrg * scripts/testsuite_flags.in: Only add src/filesystem/.libs and
2948 1.1.1.23 mrg src/libbacktrace/.libs to LDFLAGS if those directories exist.
2949 1.1.1.19 mrg
2950 1.1.1.23 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com>
2951 1.1.1.19 mrg
2952 1.1.1.23 mrg * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Remove -gdwarf-4
2953 1.1.1.23 mrg from default flags.
2954 1.1.1.23 mrg * configure: Regenerate.
2955 1.1.1.19 mrg
2956 1.1.1.23 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com>
2957 1.1.1.18 mrg
2958 1.1.1.23 mrg PR libstdc++/104123
2959 1.1.1.23 mrg * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Include
2960 1.1.1.23 mrg <stddef.h>.
2961 1.1.1.16 mrg
2962 1.1.1.23 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com>
2963 1.1.1.19 mrg
2964 1.1.1.23 mrg * scripts/testsuite_flags.in: Add src/libbacktrace/.libs to
2965 1.1.1.23 mrg linker search paths.
2966 1.1.1.23 mrg * src/Makefile.am: Fix src/debug/libbacktrace build.
2967 1.1.1.23 mrg * src/Makefile.in: Regenerate.
2968 1.1.1.23 mrg * src/libbacktrace/Makefile.am: Use per-library CPPFLAGS
2969 1.1.1.23 mrg variable. Use symlinks for the source files.
2970 1.1.1.23 mrg * src/libbacktrace/Makefile.in: Regenerate.
2971 1.1.1.19 mrg
2972 1.1.1.23 mrg 2022-01-19 Matthias Kretz <m.kretz (a] gsi.de>
2973 1.1.1.16 mrg
2974 1.1.1.23 mrg * include/experimental/bits/simd.h (__floating_point_flags): Do
2975 1.1.1.23 mrg not rely on math_errhandling to expand to a constant expression.
2976 1.1.1.16 mrg
2977 1.1.1.23 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com>
2978 1.1.1.19 mrg
2979 1.1.1.23 mrg * doc/xml/manual/evolution.xml: Document deprecations.
2980 1.1.1.23 mrg * doc/xml/manual/status_cxx2017.xml: Update status.
2981 1.1.1.23 mrg * doc/html/*: Regenerate.
2982 1.1.1.19 mrg
2983 1.1.1.23 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com>
2984 1.1.1.19 mrg
2985 1.1.1.23 mrg * include/bits/stl_tempbuf.h (get_temporary_buffer): Change
2986 1.1.1.23 mrg _GLIBCXX14_DEPRECATED to _GLIBCXX17_DEPRECATED.
2987 1.1.1.19 mrg
2988 1.1.1.23 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com>
2989 1.1.1.19 mrg
2990 1.1.1.23 mrg * include/bits/stl_pair.h (_PCC::_DeprConsPair): Remove unused
2991 1.1.1.23 mrg function.
2992 1.1.1.19 mrg
2993 1.1.1.23 mrg 2022-01-19 Jonathan Wakely <jwakely (a] redhat.com>
2994 1.1.1.19 mrg
2995 1.1.1.23 mrg PR libstdc++/104101
2996 1.1.1.23 mrg * include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count::lock):
2997 1.1.1.23 mrg Only use __thread_relax if __cpp_lib_atomic_wait is defined.
2998 1.1.1.23 mrg
2999 1.1.1.23 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com>
3000 1.1.1.23 mrg
3001 1.1.1.23 mrg PR libstdc++/104099
3002 1.1.1.23 mrg * include/bits/basic_string.h (basic_string(nullptr_t)): Only
3003 1.1.1.23 mrg define for C++23.
3004 1.1.1.23 mrg (operator=(nullptr_t)): Likewise.
3005 1.1.1.23 mrg * include/bits/cow_string.h: Likewise.
3006 1.1.1.23 mrg * include/std/string_view (basic_string_view(nullptr_t)):
3007 1.1.1.23 mrg Likewise.
3008 1.1.1.23 mrg * testsuite/21_strings/basic_string/cons/char/nullptr.cc: Adjust
3009 1.1.1.23 mrg expected error. Add examples that become ill-formed in C++23.
3010 1.1.1.23 mrg * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
3011 1.1.1.23 mrg Adjust expected errors.
3012 1.1.1.23 mrg * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
3013 1.1.1.20 mrg Likewise.
3014 1.1.1.19 mrg
3015 1.1.1.23 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com>
3016 1.1.1.19 mrg
3017 1.1.1.23 mrg PR libstdc++/104098
3018 1.1.1.23 mrg * include/bits/stl_iterator.h (reverse_iterator): Check
3019 1.1.1.23 mrg __cpp_lib_concepts instead of __cplusplus.
3020 1.1.1.19 mrg
3021 1.1.1.23 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com>
3022 1.1.1.19 mrg
3023 1.1.1.23 mrg PR libstdc++/101124
3024 1.1.1.23 mrg * include/bits/stl_pair.h (pair): Adjust constraints on
3025 1.1.1.23 mrg deprecated constructors accepting literal zero as null pointer
3026 1.1.1.23 mrg constant. Improve wording of deprecated attribute.
3027 1.1.1.23 mrg * testsuite/20_util/pair/cons/99957.cc: Check that deprecated
3028 1.1.1.23 mrg constructors do not cause ambiguities for copyable types.
3029 1.1.1.19 mrg
3030 1.1.1.23 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com>
3031 1.1.1.19 mrg
3032 1.1.1.23 mrg * include/bits/stl_function.h (ptr_fun): Fix suggestion for
3033 1.1.1.23 mrg non-deprecated alternative.
3034 1.1.1.19 mrg
3035 1.1.1.23 mrg 2022-01-18 Tom Honermann <tom (a] honermann.net>
3036 1.1.1.19 mrg
3037 1.1.1.23 mrg * acinclude.m4: Define config macros if uchar.h provides
3038 1.1.1.23 mrg c8rtomb() and mbrtoc8().
3039 1.1.1.23 mrg * config.h.in: Regenerate.
3040 1.1.1.23 mrg * configure: Regenerate.
3041 1.1.1.23 mrg * include/c_compatibility/uchar.h (c8rtomb, mbrtoc8): Define.
3042 1.1.1.23 mrg * include/c_global/cuchar (c8rtomb, mbrtoc8): Likewise.
3043 1.1.1.23 mrg * include/c_std/cuchar (c8rtomb, mbrtoc8): Likewise.
3044 1.1.1.23 mrg * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
3045 1.1.1.23 mrg New test.
3046 1.1.1.23 mrg * testsuite/21_strings/headers/cuchar/functions_std_fchar8_t.cc:
3047 1.1.1.20 mrg New test.
3048 1.1.1.19 mrg
3049 1.1.1.23 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com>
3050 1.1.1.19 mrg
3051 1.1.1.23 mrg * include/Makefile.am: Install new header.
3052 1.1.1.23 mrg * include/Makefile.in: Regenerate.
3053 1.1.1.23 mrg * include/c_compatibility/stdatomic.h: New file.
3054 1.1.1.23 mrg * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: New test.
3055 1.1.1.16 mrg
3056 1.1.1.23 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com>
3057 1.1.1.19 mrg
3058 1.1.1.23 mrg PR libstdc++/104080
3059 1.1.1.23 mrg * src/c++17/fast_float/LOCAL_PATCHES: Update.
3060 1.1.1.23 mrg * src/c++17/fast_float/fast_float.h (FASTFLOAT_IS_BIG_ENDIAN):
3061 1.1.1.23 mrg Define in terms of __BYTE_ORDER__.
3062 1.1.1.19 mrg
3063 1.1.1.23 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com>
3064 1.1.1.19 mrg
3065 1.1.1.23 mrg PR libstdc++/104080
3066 1.1.1.23 mrg * src/c++17/fast_float/LOCAL_PATCHES: UPDATE.
3067 1.1.1.23 mrg * src/c++17/fast_float/fast_float.h (round): Use explicit
3068 1.1.1.23 mrg template argument list for std::min.
3069 1.1.1.18 mrg
3070 1.1.1.23 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com>
3071 1.1.1.18 mrg
3072 1.1.1.23 mrg * doc/xml/manual/status_cxx2017.xml: Update C++17 status.
3073 1.1.1.23 mrg * doc/xml/manual/status_cxx2020.xml: Use 12.1 instead of 12 for
3074 1.1.1.23 mrg upcoming release.
3075 1.1.1.23 mrg * doc/html/manual/status.html: Regenerate.
3076 1.1.1.18 mrg
3077 1.1.1.23 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com>
3078 1.1.1.18 mrg
3079 1.1.1.23 mrg * acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): Improve
3080 1.1.1.23 mrg comments.
3081 1.1.1.23 mrg * configure: Regenerate.
3082 1.1.1.18 mrg
3083 1.1.1.23 mrg 2022-01-17 Patrick Palka <ppalka (a] redhat.com>
3084 1.1.1.18 mrg
3085 1.1.1.23 mrg * src/c++17/floating_from_chars.cc: (USE_LIB_FAST_FLOAT):
3086 1.1.1.23 mrg Conditionally define, and use it to conditionally include
3087 1.1.1.23 mrg fast_float.
3088 1.1.1.23 mrg (from_chars): Use fast_float for float and double when
3089 1.1.1.23 mrg USE_LIB_FAST_FLOAT.
3090 1.1.1.18 mrg
3091 1.1.1.23 mrg 2022-01-17 Patrick Palka <ppalka (a] redhat.com>
3092 1.1.1.16 mrg
3093 1.1.1.23 mrg * src/c++17/fast_float/LOCAL_PATCHES: Update.
3094 1.1.1.23 mrg * src/c++17/fast_float/fast_float.h (from_chars_advanced): In
3095 1.1.1.23 mrg case of over/underflow, return errc::result_out_of_range and don't
3096 1.1.1.23 mrg modify 'value'.
3097 1.1.1.16 mrg
3098 1.1.1.23 mrg 2022-01-17 Patrick Palka <ppalka (a] redhat.com>
3099 1.1.1.16 mrg
3100 1.1.1.23 mrg * src/c++17/fast_float/LOCAL_PATCHES: Update.
3101 1.1.1.23 mrg * src/c++17/fast_float/fast_float.h: Apply local modifications.
3102 1.1.1.16 mrg
3103 1.1.1.23 mrg 2022-01-17 Patrick Palka <ppalka (a] redhat.com>
3104 1.1.1.16 mrg
3105 1.1.1.23 mrg * src/c++17/fast_float/LOCAL_PATCHES: New file.
3106 1.1.1.23 mrg * src/c++17/fast_float/MERGE: New file.
3107 1.1.1.23 mrg * src/c++17/fast_float/README.md: New file, copied from the
3108 1.1.1.23 mrg fast_float repository.
3109 1.1.1.23 mrg * src/c++17/fast_float/fast_float.h: New file, an amalgamation
3110 1.1.1.23 mrg of the fast_float library.
3111 1.1.1.19 mrg
3112 1.1.1.23 mrg 2022-01-17 Patrick Palka <ppalka (a] redhat.com>
3113 1.1.1.19 mrg
3114 1.1.1.23 mrg * src/c++17/floating_from_chars.cc: Include <bit>.
3115 1.1.1.23 mrg (ascii_to_hexit, starts_with_ci): Conditionally define.
3116 1.1.1.23 mrg (__floating_from_chars_hex): Conditionally define.
3117 1.1.1.23 mrg (from_chars): Use __floating_from_chars_hex for
3118 1.1.1.23 mrg chars_format::hex parsing of binary32/64 float/double.
3119 1.1.1.23 mrg (testsuite/20_util/from_chars/7.cc): New test.
3120 1.1.1.23 mrg * testsuite/20_util/from_chars/7.cc: New file.
3121 1.1.1.19 mrg
3122 1.1.1.23 mrg 2022-01-17 Jonathan Wakely <jwakely (a] redhat.com>
3123 1.1.1.19 mrg
3124 1.1.1.23 mrg * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): New macro.
3125 1.1.1.23 mrg * configure.ac: Use GLIBCXX_ENABLE_BACKTRACE.
3126 1.1.1.23 mrg * include/Makefile.am: Add new header.
3127 1.1.1.23 mrg * include/Makefile.in: Regenerate.
3128 1.1.1.23 mrg * include/std/stacktrace: New header.
3129 1.1.1.23 mrg * include/std/version (__cpp_lib_stacktrace): Define.
3130 1.1.1.23 mrg * Makefile.in: Regenerate.
3131 1.1.1.23 mrg * config.h.in: Regenerate.
3132 1.1.1.23 mrg * configure: Regenerate.
3133 1.1.1.23 mrg * doc/Makefile.in: Regenerate.
3134 1.1.1.23 mrg * libsupc++/Makefile.in: Regenerate.
3135 1.1.1.23 mrg * po/Makefile.in: Regenerate.
3136 1.1.1.23 mrg * python/Makefile.in: Regenerate.
3137 1.1.1.23 mrg * src/Makefile.am: Regenerate.
3138 1.1.1.23 mrg * src/Makefile.in: Regenerate.
3139 1.1.1.23 mrg * src/c++11/Makefile.in: Regenerate.
3140 1.1.1.23 mrg * src/c++17/Makefile.in: Regenerate.
3141 1.1.1.23 mrg * src/c++20/Makefile.in: Regenerate.
3142 1.1.1.23 mrg * src/c++98/Makefile.in: Regenerate.
3143 1.1.1.23 mrg * src/filesystem/Makefile.in: Regenerate.
3144 1.1.1.23 mrg * testsuite/Makefile.in: Regenerate.
3145 1.1.1.23 mrg * src/libbacktrace/Makefile.am: New file.
3146 1.1.1.23 mrg * src/libbacktrace/Makefile.in: New file.
3147 1.1.1.23 mrg * src/libbacktrace/backtrace-rename.h: New file.
3148 1.1.1.23 mrg * src/libbacktrace/backtrace-supported.h.in: New file.
3149 1.1.1.23 mrg * src/libbacktrace/config.h.in: New file.
3150 1.1.1.23 mrg * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace):
3151 1.1.1.23 mrg New proc.
3152 1.1.1.23 mrg * testsuite/20_util/stacktrace/entry.cc: New test.
3153 1.1.1.23 mrg * testsuite/20_util/stacktrace/synopsis.cc: New test.
3154 1.1.1.23 mrg * testsuite/20_util/stacktrace/version.cc: New test.
3155 1.1.1.19 mrg
3156 1.1.1.23 mrg 2022-01-17 Jonathan Wakely <jwakely (a] redhat.com>
3157 1.1.1.19 mrg
3158 1.1.1.23 mrg * doc/xml/manual/status_cxx2020.xml: Use final C++20 option
3159 1.1.1.23 mrg names.
3160 1.1.1.23 mrg * doc/html/manual/status.html: Regenerate.
3161 1.1.1.19 mrg
3162 1.1.1.23 mrg 2022-01-17 Jonathan Wakely <jwakely (a] redhat.com>
3163 1.1.1.19 mrg
3164 1.1.1.23 mrg PR libstdc++/103650
3165 1.1.1.23 mrg * include/Makefile.am: Rename LT_OBJDIR and STDC_HEADERS.
3166 1.1.1.23 mrg * include/Makefile.in: Regenerate.
3167 1.1.1.23 mrg * testsuite/17_intro/headers/c++1998/103650.cc: New test.
3168 1.1.1.19 mrg
3169 1.1.1.23 mrg 2022-01-17 Matthias Kretz <m.kretz (a] gsi.de>
3170 1.1.1.19 mrg
3171 1.1.1.23 mrg * include/experimental/bits/simd.h (__floating_point_flags): Do
3172 1.1.1.23 mrg not rely on the presence of the math_errhandling macro.
3173 1.1.1.19 mrg
3174 1.1.1.23 mrg 2022-01-17 Jonathan Wakely <jwakely (a] redhat.com>
3175 1.1.1.19 mrg
3176 1.1.1.23 mrg * include/bits/shared_ptr_atomic.h (_Sp_atomic): Add typename
3177 1.1.1.23 mrg to qualified-id for dependent type.
3178 1.1.1.19 mrg
3179 1.1.1.23 mrg 2022-01-17 Jonathan Wakely <jwakely (a] redhat.com>
3180 1.1.1.19 mrg
3181 1.1.1.23 mrg * doc/xml/manual/status_cxx2020.xml: Update.
3182 1.1.1.23 mrg * doc/html/manual/status.html: Regenerate.
3183 1.1.1.19 mrg
3184 1.1.1.23 mrg 2022-01-17 Jonathan Wakely <jwakely (a] redhat.com>
3185 1.1.1.23 mrg Thomas Rodgers <trodgers (a] redhat.com>
3186 1.1.1.19 mrg
3187 1.1.1.23 mrg * include/bits/shared_ptr_atomic.h (__cpp_lib_atomic_shared_ptr):
3188 1.1.1.23 mrg New macro.
3189 1.1.1.23 mrg (_Sp_atomic): New class template.
3190 1.1.1.23 mrg (atomic<shared_ptr<T>>, atomic<weak_ptr<T>>): New partial
3191 1.1.1.23 mrg specializations.
3192 1.1.1.23 mrg * include/bits/shared_ptr_base.h (__shared_count, __weak_count)
3193 1.1.1.23 mrg (__shared_ptr, __weak_ptr): Declare _Sp_atomic as a friend.
3194 1.1.1.23 mrg * include/std/version (__cpp_lib_atomic_shared_ptr): New macro.
3195 1.1.1.23 mrg * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: New
3196 1.1.1.23 mrg test.
3197 1.1.1.23 mrg * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: New test.
3198 1.1.1.23 mrg
3199 1.1.1.23 mrg 2022-01-15 Matthias Kretz <m.kretz (a] gsi.de>
3200 1.1.1.23 mrg
3201 1.1.1.23 mrg * include/experimental/bits/simd.h: Move feature detection bools
3202 1.1.1.23 mrg and add __have_avx512bitalg, __have_avx512vbmi2,
3203 1.1.1.23 mrg __have_avx512vbmi, __have_avx512ifma, __have_avx512cd,
3204 1.1.1.23 mrg __have_avx512vnni, __have_avx512vpopcntdq.
3205 1.1.1.23 mrg (__detail::__machine_flags): New function which returns a unique
3206 1.1.1.23 mrg uint64 depending on relevant -m and -f flags.
3207 1.1.1.23 mrg (__detail::__odr_helper): New type alias for either an anonymous
3208 1.1.1.23 mrg type or a type specialized with the __machine_flags number.
3209 1.1.1.23 mrg (_SimdIntOperators): Change template parameters from _Impl to
3210 1.1.1.23 mrg _Tp, _Abi because _Impl now has an __odr_helper parameter which
3211 1.1.1.23 mrg may be _OdrEnforcer from the anonymous namespace, which makes
3212 1.1.1.23 mrg for a bad base class.
3213 1.1.1.23 mrg (many): Either add __odr_helper template parameter or mark as
3214 1.1.1.23 mrg always_inline.
3215 1.1.1.23 mrg * include/experimental/bits/simd_detail.h: Add defines for
3216 1.1.1.23 mrg AVX512BITALG, AVX512VBMI2, AVX512VBMI, AVX512IFMA, AVX512CD,
3217 1.1.1.23 mrg AVX512VNNI, AVX512VPOPCNTDQ, and AVX512VP2INTERSECT.
3218 1.1.1.23 mrg * include/experimental/bits/simd_builtin.h: Add __odr_helper
3219 1.1.1.23 mrg template parameter or mark as always_inline.
3220 1.1.1.23 mrg * include/experimental/bits/simd_fixed_size.h: Ditto.
3221 1.1.1.23 mrg * include/experimental/bits/simd_math.h: Ditto.
3222 1.1.1.23 mrg * include/experimental/bits/simd_scalar.h: Ditto.
3223 1.1.1.23 mrg * include/experimental/bits/simd_neon.h: Add __odr_helper
3224 1.1.1.23 mrg template parameter.
3225 1.1.1.23 mrg * include/experimental/bits/simd_ppc.h: Ditto.
3226 1.1.1.23 mrg * include/experimental/bits/simd_x86.h: Ditto.
3227 1.1.1.19 mrg
3228 1.1.1.23 mrg 2022-01-14 Uro Bizjak <ubizjak (a] gmail.com>
3229 1.1.1.16 mrg
3230 1.1.1.23 mrg * testsuite/22_locale/numpunct/members/char/3.cc:
3231 1.1.1.23 mrg Require pt_PT locale instead of nl_NL.
3232 1.1.1.23 mrg (test02): Use pt_PT locale instead of nl_NL.
3233 1.1.1.23 mrg
3234 1.1.1.23 mrg 2022-01-14 Jonathan Wakely <jwakely (a] redhat.com>
3235 1.1.1.23 mrg
3236 1.1.1.23 mrg PR libstdc++/91260
3237 1.1.1.23 mrg PR libstdc++/91383
3238 1.1.1.23 mrg PR libstdc++/95065
3239 1.1.1.23 mrg * include/backward/binders.h (bind1st, bind2nd): Add deprecated
3240 1.1.1.23 mrg attribute.
3241 1.1.1.23 mrg * include/bits/refwrap.h (_Maybe_unary_or_binary_function):
3242 1.1.1.23 mrg Disable deprecated warnings for base classes.
3243 1.1.1.23 mrg (_Reference_wrapper_base): Likewise.
3244 1.1.1.23 mrg * include/bits/shared_ptr_base.h (_Sp_owner_less): Likewise.
3245 1.1.1.23 mrg * include/bits/stl_bvector.h (_Bit_iterator_base): Likewise.
3246 1.1.1.23 mrg * include/bits/stl_function.h (unary_function, binary_function):
3247 1.1.1.23 mrg Add deprecated attribute.
3248 1.1.1.23 mrg (unary_negate, not1, binary_negate, not2, ptr_fun)
3249 1.1.1.23 mrg (pointer_to_unary_function, pointer_to_binary_function)
3250 1.1.1.23 mrg (mem_fun_t, const_mem_fun_t, mem_fun_ref_t, const_mem_fun_ref_t)
3251 1.1.1.23 mrg (mem_fun1_t, const_mem_fun1_t, mem_fun_ref1_t)
3252 1.1.1.23 mrg (const_mem_fun1_ref_t, mem_fun, mem_fun_ref): Add deprecated
3253 1.1.1.23 mrg attributes.
3254 1.1.1.23 mrg * include/bits/stl_iterator.h: Disable deprecated warnings for
3255 1.1.1.23 mrg std::iterator base classes.
3256 1.1.1.23 mrg * include/bits/stl_iterator_base_types.h (iterator): Add
3257 1.1.1.23 mrg deprecated attribute.
3258 1.1.1.23 mrg * include/bits/stl_map.h (map::value_compare): Disable
3259 1.1.1.23 mrg deprecated warnings for base class.
3260 1.1.1.23 mrg * include/bits/stl_multimap.h (multimap::value_compare):
3261 1.1.1.23 mrg Likewise.
3262 1.1.1.23 mrg * include/bits/stl_raw_storage_iter.h (raw_storage_iterator):
3263 1.1.1.23 mrg Add deprecated attribute.
3264 1.1.1.23 mrg * include/bits/stl_tempbuf.h (get_temporary_buffer): Likewise.
3265 1.1.1.23 mrg * include/bits/stream_iterator.h: Disable deprecated warnings.
3266 1.1.1.23 mrg * include/bits/streambuf_iterator.h: Likewise.
3267 1.1.1.23 mrg * include/ext/bitmap_allocator.h: Remove unary_function base
3268 1.1.1.23 mrg classes.
3269 1.1.1.23 mrg * include/ext/functional: Disable deprecated warnings.
3270 1.1.1.23 mrg * include/ext/rope: Likewise.
3271 1.1.1.23 mrg * include/ext/throw_allocator.h: Likewise.
3272 1.1.1.23 mrg * include/std/type_traits (result_of): Add deprecated attribute.
3273 1.1.1.23 mrg * include/tr1/functional: Disable deprecated warnings.
3274 1.1.1.23 mrg * include/tr1/functional_hash.h: Likewise.
3275 1.1.1.23 mrg * testsuite/20_util/function_objects/binders/1.cc: Add
3276 1.1.1.23 mrg -Wno-disable-deprecations.
3277 1.1.1.23 mrg * testsuite/20_util/function_objects/binders/3113.cc: Likewise.
3278 1.1.1.23 mrg * testsuite/20_util/function_objects/constexpr.cc: Add
3279 1.1.1.23 mrg dg-warning.
3280 1.1.1.23 mrg * testsuite/20_util/raw_storage_iterator/base.cc: Likewise.
3281 1.1.1.23 mrg * testsuite/20_util/raw_storage_iterator/dr2127.cc: Likewise.
3282 1.1.1.23 mrg * testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc:
3283 1.1.1.23 mrg Likewise.
3284 1.1.1.23 mrg * testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc:
3285 1.1.1.23 mrg Likewise.
3286 1.1.1.23 mrg * testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc:
3287 1.1.1.23 mrg Likewise.
3288 1.1.1.23 mrg * testsuite/20_util/reference_wrapper/24803.cc:
3289 1.1.1.23 mrg Likewise.
3290 1.1.1.23 mrg * testsuite/20_util/reference_wrapper/typedefs.cc: Enable for
3291 1.1.1.23 mrg C++20 and check for absence of nested types.
3292 1.1.1.23 mrg * testsuite/20_util/shared_ptr/comparison/less.cc: Remove
3293 1.1.1.23 mrg std::binary_function base class.
3294 1.1.1.23 mrg * testsuite/20_util/temporary_buffer.cc: Add dg-warning.
3295 1.1.1.23 mrg * testsuite/21_strings/basic_string/cons/char/69092.cc: Remove
3296 1.1.1.23 mrg std::iterator base class.
3297 1.1.1.23 mrg * testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc:
3298 1.1.1.23 mrg Likewise.
3299 1.1.1.23 mrg * testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc:
3300 1.1.1.23 mrg Likewise.
3301 1.1.1.23 mrg * testsuite/24_iterators/insert_iterator/requirements/base_classes.cc:
3302 1.1.1.23 mrg Likewise.
3303 1.1.1.23 mrg * testsuite/24_iterators/istream_iterator/requirements/base_classes.cc:
3304 1.1.1.23 mrg Likewise.
3305 1.1.1.23 mrg * testsuite/24_iterators/istreambuf_iterator/92285.cc:
3306 1.1.1.23 mrg Likewise.
3307 1.1.1.23 mrg * testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc:
3308 1.1.1.23 mrg Likewise.
3309 1.1.1.23 mrg * testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc:
3310 1.1.1.23 mrg Likewise.
3311 1.1.1.23 mrg * testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc:
3312 1.1.1.23 mrg Likewise.
3313 1.1.1.23 mrg * testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc:
3314 1.1.1.23 mrg Likewise.
3315 1.1.1.23 mrg * testsuite/25_algorithms/copy/34595.cc:
3316 1.1.1.23 mrg Likewise.
3317 1.1.1.23 mrg * testsuite/25_algorithms/minmax/3.cc: Remove std::binary_function
3318 1.1.1.23 mrg base class.
3319 1.1.1.23 mrg * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc:
3320 1.1.1.23 mrg Disable deprecated warnings.
3321 1.1.1.23 mrg * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc:
3322 1.1.1.23 mrg Likewise.
3323 1.1.1.23 mrg * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc:
3324 1.1.1.23 mrg Likewise.
3325 1.1.1.23 mrg * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc:
3326 1.1.1.23 mrg Likewise.
3327 1.1.1.23 mrg * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc:
3328 1.1.1.23 mrg Likewise.
3329 1.1.1.23 mrg * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc:
3330 1.1.1.23 mrg Likewise.
3331 1.1.1.23 mrg * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc:
3332 1.1.1.23 mrg Likewise.
3333 1.1.1.23 mrg * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc:
3334 1.1.1.23 mrg Likewise.
3335 1.1.1.23 mrg * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc:
3336 1.1.1.23 mrg Likewise.
3337 1.1.1.23 mrg * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc:
3338 1.1.1.23 mrg Likewise.
3339 1.1.1.23 mrg * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc:
3340 1.1.1.23 mrg Likewise.
3341 1.1.1.23 mrg * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc:
3342 1.1.1.23 mrg Likewise.
3343 1.1.1.23 mrg * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc:
3344 1.1.1.23 mrg Likewise.
3345 1.1.1.23 mrg * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc:
3346 1.1.1.23 mrg Likewise.
3347 1.1.1.23 mrg * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc:
3348 1.1.1.23 mrg Likewise.
3349 1.1.1.23 mrg * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc:
3350 1.1.1.23 mrg Likewise.
3351 1.1.1.23 mrg * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc:
3352 1.1.1.23 mrg Likewise.
3353 1.1.1.23 mrg * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc:
3354 1.1.1.23 mrg Likewise.
3355 1.1.1.23 mrg * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc:
3356 1.1.1.23 mrg Likewise.
3357 1.1.1.23 mrg * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc:
3358 1.1.1.23 mrg Likewise.
3359 1.1.1.23 mrg * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc:
3360 1.1.1.23 mrg Likewise.
3361 1.1.1.23 mrg * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc:
3362 1.1.1.23 mrg Likewise.
3363 1.1.1.23 mrg * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc:
3364 1.1.1.23 mrg Likewise.
3365 1.1.1.23 mrg * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc:
3366 1.1.1.23 mrg Likewise.
3367 1.1.1.23 mrg * testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc:
3368 1.1.1.23 mrg Likewise.
3369 1.1.1.23 mrg * testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc:
3370 1.1.1.23 mrg Likewise.
3371 1.1.1.23 mrg * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc:
3372 1.1.1.23 mrg Likewise.
3373 1.1.1.23 mrg * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc:
3374 1.1.1.23 mrg Likewise.
3375 1.1.1.23 mrg * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc:
3376 1.1.1.23 mrg Likewise.
3377 1.1.1.23 mrg * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc:
3378 1.1.1.23 mrg Likewise.
3379 1.1.1.23 mrg * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
3380 1.1.1.23 mrg Likewise.
3381 1.1.1.23 mrg * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc:
3382 1.1.1.23 mrg Likewise.
3383 1.1.1.23 mrg * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc:
3384 1.1.1.23 mrg Likewise.
3385 1.1.1.23 mrg * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc:
3386 1.1.1.23 mrg Likewise.
3387 1.1.1.23 mrg * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc:
3388 1.1.1.23 mrg Likewise.
3389 1.1.1.23 mrg * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc:
3390 1.1.1.23 mrg Likewise.
3391 1.1.1.23 mrg * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc:
3392 1.1.1.23 mrg Likewise.
3393 1.1.1.23 mrg * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc:
3394 1.1.1.23 mrg Likewise.
3395 1.1.1.23 mrg * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc:
3396 1.1.1.23 mrg Likewise.
3397 1.1.1.23 mrg * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc:
3398 1.1.1.23 mrg Likewise.
3399 1.1.1.23 mrg * testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc:
3400 1.1.1.23 mrg Likewise.
3401 1.1.1.23 mrg * testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc:
3402 1.1.1.23 mrg Likewise.
3403 1.1.1.23 mrg * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc:
3404 1.1.1.23 mrg Likewise.
3405 1.1.1.23 mrg * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc:
3406 1.1.1.23 mrg Likewise.
3407 1.1.1.23 mrg * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc:
3408 1.1.1.23 mrg Likewise.
3409 1.1.1.23 mrg * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc:
3410 1.1.1.23 mrg Likewise.
3411 1.1.1.23 mrg * testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc:
3412 1.1.1.23 mrg Likewise.
3413 1.1.1.23 mrg * testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc:
3414 1.1.1.23 mrg Likewise.
3415 1.1.1.23 mrg * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Add
3416 1.1.1.23 mrg dg-warning.
3417 1.1.1.23 mrg * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc:
3418 1.1.1.23 mrg Likewise.
3419 1.1.1.23 mrg * testsuite/ext/pb_ds/example/priority_queue_split_join.cc:
3420 1.1.1.23 mrg Likewise.
3421 1.1.1.23 mrg * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
3422 1.1.1.23 mrg Disable deprecated warnings.
3423 1.1.1.23 mrg * testsuite/tr1/6_containers/hash/requirements/base_classes.cc:
3424 1.1.1.23 mrg Likewise.
3425 1.1.1.23 mrg * testsuite/util/regression/trait/erase_if_fn.hpp: Remove
3426 1.1.1.23 mrg std::unary_function base classes.
3427 1.1.1.23 mrg * testsuite/util/testsuite_iterators.h (output_iterator_wrapper):
3428 1.1.1.23 mrg Remove std::iterator base classes.
3429 1.1.1.16 mrg
3430 1.1.1.23 mrg 2022-01-14 Jonathan Wakely <jwakely (a] redhat.com>
3431 1.1.1.16 mrg
3432 1.1.1.23 mrg * include/bits/shared_ptr.h (__cpp_lib_shared_ptr_weak_type):
3433 1.1.1.23 mrg Correct type of macro value.
3434 1.1.1.23 mrg (shared_ptr): Add additional friend declarations.
3435 1.1.1.23 mrg (make_shared, allocate_shared): Constrain existing overloads and
3436 1.1.1.23 mrg remove static_assert.
3437 1.1.1.23 mrg * include/bits/shared_ptr_base.h (__cpp_lib_smart_ptr_for_overwrite):
3438 1.1.1.23 mrg New macro.
3439 1.1.1.23 mrg (_Sp_counted_ptr_inplace<T, Alloc, Lp>): New partial
3440 1.1.1.23 mrg specialization for use with make_shared_for_overwrite.
3441 1.1.1.23 mrg (__cpp_lib_shared_ptr_arrays): Update value for C++20.
3442 1.1.1.23 mrg (_Sp_counted_array_base): New class template.
3443 1.1.1.23 mrg (_Sp_counted_array): New class template.
3444 1.1.1.23 mrg (__shared_count(_Tp*&, const _Sp_counted_array_base&, _Init)):
3445 1.1.1.23 mrg New constructor for allocating shared arrays.
3446 1.1.1.23 mrg (__shared_ptr(const _Sp_counted_array_base&, _Init)): Likewise.
3447 1.1.1.23 mrg * include/std/version (__cpp_lib_shared_ptr_weak_type): Correct
3448 1.1.1.23 mrg type.
3449 1.1.1.23 mrg (__cpp_lib_shared_ptr_arrays): Update value for C++20.
3450 1.1.1.23 mrg (__cpp_lib_smart_ptr_for_overwrite): New macro.
3451 1.1.1.23 mrg * testsuite/20_util/shared_ptr/creation/99006.cc: Adjust
3452 1.1.1.23 mrg expected errors.
3453 1.1.1.23 mrg * testsuite/20_util/shared_ptr/creation/array.cc: New test.
3454 1.1.1.23 mrg * testsuite/20_util/shared_ptr/creation/overwrite.cc: New test.
3455 1.1.1.23 mrg * testsuite/20_util/shared_ptr/creation/version.cc: New test.
3456 1.1.1.23 mrg * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Check
3457 1.1.1.23 mrg feature test macro. Test non-trivial default-initialization.
3458 1.1.1.23 mrg
3459 1.1.1.23 mrg 2022-01-14 Jonathan Wakely <jwakely (a] redhat.com>
3460 1.1.1.23 mrg
3461 1.1.1.23 mrg * include/bits/stl_construct.h (_Construct, _Construct_novalue):
3462 1.1.1.23 mrg Also cast away cv-qualifiers when converting pointer to void.
3463 1.1.1.23 mrg * testsuite/20_util/allocator/void.cc: Test construct function
3464 1.1.1.23 mrg with cv-qualified types.
3465 1.1.1.23 mrg
3466 1.1.1.23 mrg 2022-01-14 Jonathan Wakely <jwakely (a] redhat.com>
3467 1.1.1.23 mrg
3468 1.1.1.23 mrg PR libstdc++/103992
3469 1.1.1.23 mrg * include/bits/stl_iterator.h (common_iterator): Use
3470 1.1.1.23 mrg std::construct_at instead of placement new.
3471 1.1.1.23 mrg * testsuite/24_iterators/common_iterator/1.cc: Check copy
3472 1.1.1.23 mrg construction is usable in constant expressions.
3473 1.1.1.19 mrg
3474 1.1.1.23 mrg 2022-01-14 Jonathan Wakely <jwakely (a] redhat.com>
3475 1.1.1.16 mrg
3476 1.1.1.23 mrg * doc/xml/manual/status_cxx2011.xml: Document new tokens
3477 1.1.1.23 mrg accepted by std::random_device constructor.
3478 1.1.1.23 mrg * doc/html/manual/status.html: Regenerate.
3479 1.1.1.16 mrg
3480 1.1.1.23 mrg 2022-01-12 Patrick Palka <ppalka (a] redhat.com>
3481 1.1.1.16 mrg
3482 1.1.1.23 mrg * testsuite/20_util/to_chars/103955.cc: Add explicit dg-do
3483 1.1.1.23 mrg directive.
3484 1.1.1.16 mrg
3485 1.1.1.23 mrg 2022-01-12 Patrick Palka <ppalka (a] redhat.com>
3486 1.1.1.18 mrg
3487 1.1.1.23 mrg PR libstdc++/103955
3488 1.1.1.23 mrg * src/c++17/floating_to_chars.cc (__floating_to_chars_hex):
3489 1.1.1.23 mrg Track the excess precision separately from the effective
3490 1.1.1.23 mrg precision. Avoid overflow in bounds check by splitting it into
3491 1.1.1.23 mrg two checks.
3492 1.1.1.23 mrg (__floating_to_chars_precision): Avoid overflow in bounds checks
3493 1.1.1.23 mrg similarly.
3494 1.1.1.23 mrg * testsuite/20_util/to_chars/103955.cc: New test.
3495 1.1.1.23 mrg
3496 1.1.1.23 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com>
3497 1.1.1.23 mrg
3498 1.1.1.23 mrg PR libstdc++/103726
3499 1.1.1.23 mrg * include/Makefile.am: Install <source_location> for
3500 1.1.1.23 mrg freestanding.
3501 1.1.1.23 mrg * include/Makefile.in: Regenerate.
3502 1.1.1.23 mrg * include/std/version (__cpp_lib_source_location): Define for
3503 1.1.1.23 mrg freestanding.
3504 1.1.1.18 mrg
3505 1.1.1.23 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com>
3506 1.1.1.18 mrg
3507 1.1.1.23 mrg * include/std/ranges (ranges::lazy_split_view::_InnerIter::end()):
3508 1.1.1.23 mrg Add neoxcept (LWG 3593).
3509 1.1.1.18 mrg
3510 1.1.1.23 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com>
3511 1.1.1.19 mrg
3512 1.1.1.23 mrg * include/std/ranges (ranges::__detail::__box): Add constexpr to
3513 1.1.1.23 mrg assignment operators (LWG 3572).
3514 1.1.1.23 mrg * testsuite/std/ranges/adaptors/filter.cc: Check assignment of a
3515 1.1.1.23 mrg view that uses copyable-box.
3516 1.1.1.19 mrg
3517 1.1.1.23 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com>
3518 1.1.1.19 mrg
3519 1.1.1.23 mrg PR libstdc++/103726
3520 1.1.1.23 mrg * include/Makefile.am: Install <coroutine> for freestanding.
3521 1.1.1.23 mrg * include/Makefile.in: Regenerate.
3522 1.1.1.23 mrg * include/std/coroutine: Adjust headers and preprocessor
3523 1.1.1.23 mrg conditions.
3524 1.1.1.23 mrg (__coroutine_traits_impl): Use concepts when available.
3525 1.1.1.23 mrg [_GLIBCXX_HOSTED] (hash<coroutine_handle>): Define.
3526 1.1.1.19 mrg
3527 1.1.1.23 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com>
3528 1.1.1.19 mrg
3529 1.1.1.23 mrg * include/std/ostream (operator<<(basic_ostream&, charT)):
3530 1.1.1.23 mrg Use unformatted input if no padding is needed.
3531 1.1.1.23 mrg (operator<<(basic_ostream<char>&, char)): Likewise.
3532 1.1.1.19 mrg
3533 1.1.1.23 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com>
3534 1.1.1.19 mrg
3535 1.1.1.23 mrg PR libstdc++/103891
3536 1.1.1.23 mrg * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS):
3537 1.1.1.23 mrg Define.
3538 1.1.1.23 mrg * include/std/variant (__cpp_lib_variant): Only define C++20
3539 1.1.1.23 mrg value when the compiler is known to support conditionally
3540 1.1.1.23 mrg trivial destructors.
3541 1.1.1.23 mrg * include/std/version (__cpp_lib_variant): Likewise.
3542 1.1.1.23 mrg
3543 1.1.1.23 mrg 2022-01-11 Jonathan Wakely <jwakely (a] redhat.com>
3544 1.1.1.23 mrg
3545 1.1.1.23 mrg * include/bits/stl_iterator.h (common_iterator): Add constexpr
3546 1.1.1.23 mrg to all member functions (LWG 3574).
3547 1.1.1.23 mrg * testsuite/24_iterators/common_iterator/1.cc: Evaluate some
3548 1.1.1.23 mrg tests as constant expressions.
3549 1.1.1.23 mrg * testsuite/24_iterators/common_iterator/2.cc: Likewise.
3550 1.1.1.23 mrg
3551 1.1.1.23 mrg 2022-01-10 Jakub Jelinek <jakub (a] redhat.com>
3552 1.1.1.23 mrg
3553 1.1.1.23 mrg PR libstdc++/77760
3554 1.1.1.23 mrg * include/bits/locale_facets_nonio.h (__time_get_state): New struct.
3555 1.1.1.23 mrg (time_get::_M_extract_via_format): Declare new method with
3556 1.1.1.23 mrg __time_get_state& as an extra argument.
3557 1.1.1.23 mrg * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Add
3558 1.1.1.23 mrg __state argument, set various fields in it while parsing. Handle %j,
3559 1.1.1.23 mrg %U, %w and %W, fix up handling of %y, %Y and %C, don't adjust tm_hour
3560 1.1.1.23 mrg for %p immediately. Add a wrapper around the method without the
3561 1.1.1.23 mrg __state argument for backwards compatibility.
3562 1.1.1.23 mrg (_M_extract_num): Remove all __len == 4 special cases.
3563 1.1.1.23 mrg (time_get::do_get_time, time_get::do_get_date, time_get::do_get): Zero
3564 1.1.1.23 mrg initialize __state, pass it to _M_extract_via_format and finalize it
3565 1.1.1.23 mrg at the end.
3566 1.1.1.23 mrg (do_get_year): For 1-2 digit parsed years, map 0-68 to 2000-2068,
3567 1.1.1.23 mrg 69-99 to 1969-1999. For 3-4 digit parsed years use that as year.
3568 1.1.1.23 mrg (get): If do_get isn't overloaded from the locale_facets_nonio.tcc
3569 1.1.1.23 mrg version, don't call do_get but call _M_extract_via_format instead to
3570 1.1.1.23 mrg pass around state.
3571 1.1.1.23 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_extract_via_format
3572 1.1.1.23 mrg with extra __time_get_state and __time_get_state::_M_finalize_state.
3573 1.1.1.23 mrg * src/c++98/locale_facets.cc (is_leap, day_of_the_week,
3574 1.1.1.23 mrg day_of_the_year): New functions in anon namespace.
3575 1.1.1.23 mrg (mon_yday): New var in anon namespace.
3576 1.1.1.23 mrg (__time_get_state::_M_finalize_state): Define.
3577 1.1.1.23 mrg * testsuite/22_locale/time_get/get/char/4.cc: New test.
3578 1.1.1.23 mrg * testsuite/22_locale/time_get/get/wchar_t/4.cc: New test.
3579 1.1.1.23 mrg * testsuite/22_locale/time_get/get_year/char/1.cc (test01): Parse 197
3580 1.1.1.23 mrg as year 197AD instead of error.
3581 1.1.1.23 mrg * testsuite/22_locale/time_get/get_year/char/5.cc (test01): Parse 1 as
3582 1.1.1.23 mrg year 2001 instead of error.
3583 1.1.1.23 mrg * testsuite/22_locale/time_get/get_year/char/6.cc: New test.
3584 1.1.1.23 mrg * testsuite/22_locale/time_get/get_year/wchar_t/1.cc (test01): Parse
3585 1.1.1.23 mrg 197 as year 197AD instead of error.
3586 1.1.1.23 mrg * testsuite/22_locale/time_get/get_year/wchar_t/5.cc (test01): Parse
3587 1.1.1.23 mrg 1 as year 2001 instead of error.
3588 1.1.1.23 mrg * testsuite/22_locale/time_get/get_year/wchar_t/6.cc: New test.
3589 1.1.1.23 mrg
3590 1.1.1.23 mrg 2022-01-10 Jonathan Wakely <jwakely (a] redhat.com>
3591 1.1.1.23 mrg
3592 1.1.1.23 mrg PR libstdc++/103866
3593 1.1.1.23 mrg * acinclude.m4 (GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS): Do
3594 1.1.1.23 mrg nothing for freestanding builds.
3595 1.1.1.23 mrg (GLIBCXX_ENABLE_HOSTED): Define FREESTANDING_FLAGS.
3596 1.1.1.23 mrg * configure.ac: Do not use AC_LIBTOOL_DLOPEN when configured
3597 1.1.1.23 mrg with --without-headers. Do not use GCC_HEADER_STDINT for
3598 1.1.1.23 mrg freestanding builds.
3599 1.1.1.23 mrg * libsupc++/Makefile.am (HOSTED_CXXFLAGS): Use -ffreestanding
3600 1.1.1.23 mrg for freestanding builds.
3601 1.1.1.23 mrg * configure: Regenerate.
3602 1.1.1.23 mrg * Makefile.in: Regenerate.
3603 1.1.1.23 mrg * doc/Makefile.in: Regenerate.
3604 1.1.1.23 mrg * include/Makefile.in: Regenerate.
3605 1.1.1.23 mrg * libsupc++/Makefile.in: Regenerate.
3606 1.1.1.23 mrg * po/Makefile.in: Regenerate.
3607 1.1.1.23 mrg * python/Makefile.in: Regenerate.
3608 1.1.1.23 mrg * src/Makefile.in: Regenerate.
3609 1.1.1.23 mrg * src/c++11/Makefile.in: Regenerate.
3610 1.1.1.23 mrg * src/c++17/Makefile.in: Regenerate.
3611 1.1.1.23 mrg * src/c++20/Makefile.in: Regenerate.
3612 1.1.1.23 mrg * src/c++98/Makefile.in: Regenerate.
3613 1.1.1.23 mrg * src/filesystem/Makefile.in: Regenerate.
3614 1.1.1.23 mrg * testsuite/Makefile.in: Regenerate.
3615 1.1.1.19 mrg
3616 1.1.1.23 mrg 2022-01-10 Jonathan Wakely <jwakely (a] redhat.com>
3617 1.1.1.19 mrg
3618 1.1.1.23 mrg * testsuite/28_regex/algorithms/regex_replace/char/103664.cc:
3619 1.1.1.23 mrg Add dg-timeout-factor directive.
3620 1.1.1.23 mrg * testsuite/28_regex/basic_regex/84110.cc: Likewise.
3621 1.1.1.23 mrg * testsuite/28_regex/basic_regex/ctors/char/other.cc: Likewise.
3622 1.1.1.23 mrg * testsuite/28_regex/match_results/102667.cc: Likewise.
3623 1.1.1.19 mrg
3624 1.1.1.23 mrg 2022-01-10 Jonathan Wakely <jwakely (a] redhat.com>
3625 1.1.1.19 mrg
3626 1.1.1.23 mrg * doc/xml/manual/using.xml: Update documentation around default
3627 1.1.1.23 mrg -std option.
3628 1.1.1.23 mrg * doc/html/*: Regenerate.
3629 1.1.1.19 mrg
3630 1.1.1.23 mrg 2022-01-10 Jonathan Wakely <jwakely (a] redhat.com>
3631 1.1.1.19 mrg
3632 1.1.1.23 mrg PR libstdc++/100017
3633 1.1.1.23 mrg * src/c++17/Makefile.am (AM_CXXFLAGS): Add -nostdinc++.
3634 1.1.1.23 mrg * src/c++17/Makefile.in: Regenerate.
3635 1.1.1.19 mrg
3636 1.1.1.23 mrg 2022-01-09 Sandra Loosemore <sandra (a] codesourcery.com>
3637 1.1.1.19 mrg
3638 1.1.1.23 mrg * testsuite/18_support/type_info/constexpr.cc: Add explicit
3639 1.1.1.23 mrg -fdelete-null-pointer-checks option.
3640 1.1.1.19 mrg
3641 1.1.1.23 mrg 2022-01-06 Pavel I. Kryukov <pavel.kryukov (a] phystech.edu>
3642 1.1.1.23 mrg Jonathan Wakely <jwakely (a] redhat.com>
3643 1.1.1.19 mrg
3644 1.1.1.23 mrg PR libstdc++/103853
3645 1.1.1.23 mrg * include/bits/forward_list.tcc (forward_list::merge): Check for
3646 1.1.1.23 mrg self-merge.
3647 1.1.1.23 mrg * testsuite/23_containers/forward_list/operations/merge.cc: New test.
3648 1.1.1.19 mrg
3649 1.1.1.23 mrg 2022-01-06 Jonathan Wakely <jwakely (a] redhat.com>
3650 1.1.1.19 mrg
3651 1.1.1.23 mrg * include/bits/regex.h (basic_regex, match_results): Qualify
3652 1.1.1.23 mrg name in friend declaration, to work around Clang bug.
3653 1.1.1.19 mrg
3654 1.1.1.23 mrg 2022-01-06 Jonathan Wakely <jwakely (a] redhat.com>
3655 1.1.1.19 mrg
3656 1.1.1.23 mrg * testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor.
3657 1.1.1.19 mrg
3658 1.1.1.23 mrg 2022-01-06 Jonathan Wakely <jwakely (a] redhat.com>
3659 1.1.1.19 mrg
3660 1.1.1.23 mrg PR libstdc++/103911
3661 1.1.1.23 mrg * include/std/charconv (__from_chars_alpha_to_num): Return
3662 1.1.1.23 mrg char instead of unsigned char. Change invalid return value to
3663 1.1.1.23 mrg 127 instead of using numeric trait.
3664 1.1.1.23 mrg (__from_chars_alnum): Fix comment. Do not use std::isdigit.
3665 1.1.1.23 mrg Change type of variable to char.
3666 1.1.1.19 mrg
3667 1.1.1.23 mrg 2022-01-05 Franois Dumont <fdumont (a] gcc.gnu.org>
3668 1.1.1.19 mrg
3669 1.1.1.23 mrg PR libstdc++/68303
3670 1.1.1.23 mrg * include/bits/hashtable_policy.h
3671 1.1.1.23 mrg (_Hashtable_hash_traits<_Hash>): New.
3672 1.1.1.23 mrg (_Hash_code_base<>::_M_hash_code(const _Hash_node_value<>&)): New.
3673 1.1.1.23 mrg (_Hashtable_base<>::_M_key_equals): New.
3674 1.1.1.23 mrg (_Hashtable_base<>::_M_equals): Use latter.
3675 1.1.1.23 mrg (_Hashtable_base<>::_M_key_equals_tr): New.
3676 1.1.1.23 mrg (_Hashtable_base<>::_M_equals_tr): Use latter.
3677 1.1.1.23 mrg * include/bits/hashtable.h
3678 1.1.1.23 mrg (_Hashtable<>::__small_size_threshold()): New, use _Hashtable_hash_traits.
3679 1.1.1.23 mrg (_Hashtable<>::find): Loop through elements to look for key if size is lower
3680 1.1.1.23 mrg than __small_size_threshold().
3681 1.1.1.23 mrg (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
3682 1.1.1.23 mrg (_Hashtable<>::_M_insert_unique(_Kt&&, _Args&&, const _NodeGenerator&)): Likewise.
3683 1.1.1.23 mrg (_Hashtable<>::_M_compute_hash_code(const_iterator, const key_type&)): New.
3684 1.1.1.23 mrg (_Hashtable<>::_M_emplace(const_iterator, false_type, _Args&&...)): Use latter.
3685 1.1.1.23 mrg (_Hashtable<>::_M_find_before_node(const key_type&)): New.
3686 1.1.1.23 mrg (_Hashtable<>::_M_erase(true_type, const key_type&)): Use latter.
3687 1.1.1.23 mrg (_Hashtable<>::_M_erase(false_type, const key_type&)): Likewise.
3688 1.1.1.23 mrg * src/c++11/hashtable_c++0x.cc: Include <bits/functional_hash.h>.
3689 1.1.1.23 mrg * testsuite/util/testsuite_performance.h
3690 1.1.1.23 mrg (report_performance): Use 9 width to display memory.
3691 1.1.1.23 mrg * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc:
3692 1.1.1.23 mrg New performance test case.
3693 1.1.1.19 mrg
3694 1.1.1.23 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
3695 1.1.1.18 mrg
3696 1.1.1.23 mrg PR libstdc++/103919
3697 1.1.1.23 mrg * include/bits/basic_string.h (basic_string(const T&, size_t, size_t)):
3698 1.1.1.23 mrg Relax constraints on string_view parameter.
3699 1.1.1.23 mrg * include/bits/cow_string.h (basic_string(const T&, size_t, size_t)):
3700 1.1.1.23 mrg Likewise.
3701 1.1.1.23 mrg * testsuite/21_strings/basic_string/cons/char/103919.cc: New test.
3702 1.1.1.18 mrg
3703 1.1.1.23 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
3704 1.1.1.18 mrg
3705 1.1.1.23 mrg * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export new symbol for
3706 1.1.1.23 mrg ARM EABI.
3707 1.1.1.23 mrg * include/bits/c++config (_GLIBCXX23_CONSTEXPR): Define.
3708 1.1.1.23 mrg * include/std/version (__cpp_lib_constexpr_typeinfo): Define.
3709 1.1.1.23 mrg * libsupc++/tinfo.cc: Add #error to ensure non-inline definition
3710 1.1.1.23 mrg is emitted.
3711 1.1.1.23 mrg (type_info::__equal): Define alias symbol.
3712 1.1.1.23 mrg * libsupc++/typeinfo (type_info::before): Combine different
3713 1.1.1.23 mrg implementations into one.
3714 1.1.1.23 mrg (type_info::operator==): Likewise. Use address equality for
3715 1.1.1.23 mrg constant evaluation. Call __equal for targets that require the
3716 1.1.1.23 mrg definition to be non-inline.
3717 1.1.1.23 mrg * testsuite/18_support/type_info/constexpr.cc: New test.
3718 1.1.1.18 mrg
3719 1.1.1.23 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
3720 1.1.1.16 mrg
3721 1.1.1.23 mrg * src/c++11/cxx11-ios_failure.cc (io_error_category): Define
3722 1.1.1.23 mrg class and virtual functions as 'final'.
3723 1.1.1.23 mrg (io_category_instance): Use constinit union to make the object
3724 1.1.1.23 mrg immortal.
3725 1.1.1.23 mrg * src/c++11/future.cc (future_error_category): Define class and
3726 1.1.1.23 mrg virtual functions as 'final'.
3727 1.1.1.23 mrg (future_category_instance): Use constinit union.
3728 1.1.1.16 mrg
3729 1.1.1.23 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
3730 1.1.1.18 mrg
3731 1.1.1.23 mrg * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip
3732 1.1.1.23 mrg versioned namespace from the type name that is printed.
3733 1.1.1.18 mrg
3734 1.1.1.23 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
3735 1.1.1.18 mrg
3736 1.1.1.23 mrg * python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New
3737 1.1.1.23 mrg printer for std::regex NFA states.
3738 1.1.1.18 mrg
3739 1.1.1.23 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
3740 1.1.1.18 mrg
3741 1.1.1.23 mrg * testsuite/23_containers/forward_list/operations/1.cc: Fill in
3742 1.1.1.23 mrg placeholders in comments.
3743 1.1.1.23 mrg * testsuite/23_containers/forward_list/operations/2.cc:
3744 1.1.1.23 mrg Likewise.
3745 1.1.1.23 mrg * testsuite/23_containers/forward_list/operations/3.cc:
3746 1.1.1.23 mrg Likewise.
3747 1.1.1.23 mrg * testsuite/23_containers/forward_list/operations/4.cc:
3748 1.1.1.23 mrg Likewise.
3749 1.1.1.23 mrg * testsuite/23_containers/forward_list/operations/5.cc:
3750 1.1.1.23 mrg Likewise.
3751 1.1.1.23 mrg * testsuite/23_containers/forward_list/operations/6.cc:
3752 1.1.1.23 mrg Likewise.
3753 1.1.1.23 mrg * testsuite/23_containers/forward_list/operations/7.cc:
3754 1.1.1.23 mrg Likewise.
3755 1.1.1.16 mrg
3756 1.1.1.23 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
3757 1.1.1.18 mrg
3758 1.1.1.23 mrg PR libstdc++/103848
3759 1.1.1.23 mrg * include/bits/stl_deque.h (operator-): Do not use 0 as null
3760 1.1.1.23 mrg pointer constant.
3761 1.1.1.18 mrg
3762 1.1.1.23 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
3763 1.1.1.18 mrg
3764 1.1.1.23 mrg * include/bits/alloc_traits.h (allocator_traits<allocator<void>>):
3765 1.1.1.23 mrg Use std::_Construct for construct.
3766 1.1.1.19 mrg
3767 1.1.1.23 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
3768 1.1.1.19 mrg
3769 1.1.1.23 mrg PR libstdc++/103877
3770 1.1.1.23 mrg * doc/xml/faq.xml: Add '-x c++' to preprocessor command.
3771 1.1.1.23 mrg * doc/html/faq.html: Regenerate.
3772 1.1.1.19 mrg
3773 1.1.1.23 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
3774 1.1.1.19 mrg
3775 1.1.1.23 mrg * include/bits/regex.h (__regex_algo_impl): Change __policy and
3776 1.1.1.23 mrg __match_mode template parameters to be function parameters.
3777 1.1.1.23 mrg (regex_match, regex_search): Pass policy and match mode as
3778 1.1.1.23 mrg function arguments.
3779 1.1.1.23 mrg * include/bits/regex.tcc (__regex_algo_impl): Change template
3780 1.1.1.23 mrg parameters to function parameters.
3781 1.1.1.23 mrg * include/bits/regex_compiler.h (_RegexTranslatorBase): Use
3782 1.1.1.23 mrg 'if constexpr' for conditions using template parameters.
3783 1.1.1.23 mrg (_RegexTranslator): Likewise.
3784 1.1.1.23 mrg * include/bits/regex_executor.tcc (_Executor::_M_handle_accept):
3785 1.1.1.23 mrg Likewise.
3786 1.1.1.23 mrg * testsuite/util/testsuite_regex.h (regex_match_debug)
3787 1.1.1.23 mrg (regex_search_debug): Move template arguments to function
3788 1.1.1.23 mrg arguments.
3789 1.1.1.19 mrg
3790 1.1.1.23 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
3791 1.1.1.19 mrg
3792 1.1.1.23 mrg * testsuite/util/testsuite_regex.h (regex_match_debug): Compare
3793 1.1.1.23 mrg results even if the match failed.
3794 1.1.1.19 mrg
3795 1.1.1.23 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
3796 1.1.1.14 mrg
3797 1.1.1.23 mrg * include/bits/regex_compiler.tcc: Adjust all calls to
3798 1.1.1.23 mrg __throw_regex_error.
3799 1.1.1.23 mrg * include/bits/regex_error.h (__throw_regex_error): Add noreturn
3800 1.1.1.23 mrg attribute.
3801 1.1.1.23 mrg * include/bits/regex_scanner.tcc: Likewise.
3802 1.1.1.23 mrg * src/c++11/regex.cc (desc): New helper function.
3803 1.1.1.23 mrg (regex_error::regex_error(error_type)): Use desc to get a string
3804 1.1.1.23 mrg corresponding to the error code.
3805 1.1 mrg
3806 1.1.1.3 mrg
3808 1.1 mrg Copyright (C) 2022 Free Software Foundation, Inc.
3809 1.1.1.3 mrg
3810 1.1.1.3 mrg Copying and distribution of this file, with or without modification,
3811 1.1.1.3 mrg are permitted in any medium without royalty provided the copyright
3812 notice and this notice are preserved.
3813