Moar PR libstdc++/80506
[gcc.git] / libstdc++-v3 / ChangeLog
1 2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net>
2
3 Moar PR libstdc++/80506
4 * include/bits/random.tcc (gamma_distribution::__generate_impl()):
5 Fix magic number used in loop condition.
6
7 2018-05-04 Jonathan Wakely <jwakely@redhat.com>
8
9 PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
10 * include/std/optional (_Optional_payload): Add noexcept to default
11 constructor. Re-indent.
12 (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
13 constructor for copying disengaged payloads.
14 (_Optional_payload<_Tp, true, false, true>): Likewise.
15 (_Optional_payload<_Tp, true, true, false>): Likewise.
16 (_Optional_payload<_Tp, true, false, false>): Likewise.
17 * testsuite/20_util/optional/cons/85642.cc: New.
18 * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
19
20 2018-05-03 Jonathan Wakely <jwakely@redhat.com>
21
22 PR libstdc++/82644
23 * include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
24 inline definitions instead of using-declarations.
25 [__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
26 * testsuite/tr1/5_numerical_facilities/special_functions/
27 07_conf_hyperg/compile_cxx17.cc: New.
28 * testsuite/tr1/5_numerical_facilities/special_functions/
29 17_hyperg/compile_cxx17.cc: New.
30
31 PR libstdc++/84769
32 * include/std/variant (visit): Qualify std::get call.
33
34 PR libstdc++/85632 use uintmax_t for arithmetic
35 * src/filesystem/ops.cc (experimental::filesystem::space): Perform
36 arithmetic in result type.
37 * src/filesystem/std-ops.cc (filesystem::space): Likewise.
38 * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
39 is greater than free space.
40 * testsuite/experimental/filesystem/operations/space.cc: New.
41
42 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: New.
43 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
44 New.
45 * testsuite/20_util/remove_cvref/value.cc: New.
46 * testsuite/20_util/remove_cvref/value_ext.cc: New.
47
48 PR libstdc++/84087 LWG DR 2268 basic_string default arguments
49 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
50 (append(const basic_string&, size_type, size_type)
51 (assign(const basic_string&, size_type, size_type)
52 (insert(size_type, const basic_string&, size_type, size_type)
53 (replace(size_type,size_type,const basic_string&,size_type,size_type)
54 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
55 Add default arguments (LWG 2268).
56 [_GLIBCXX_USE_CXX11_ABI=0]
57 (append(const basic_string&, size_type, size_type)
58 (assign(const basic_string&, size_type, size_type)
59 (insert(size_type, const basic_string&, size_type, size_type)
60 (replace(size_type,size_type,const basic_string&,size_type,size_type)
61 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
62 Likewise.
63 * testsuite/21_strings/basic_string/dr2268.cc: New test.
64
65 PR libstdc++/84535
66 * include/std/thread (thread::__not_same): New SFINAE helper.
67 (thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
68 first argument is not a std::thread. Add static assertion to check
69 INVOKE expression is valid.
70 (thread::thread(thread&), thread::thread(const thread&&)): Remove.
71 (thread::_Invoke::_M_invoke, thread::_Invoke::operator()): Use
72 __invoke_result for return types and remove exception specifications.
73 * testsuite/30_threads/thread/cons/84535.cc: New.
74
75 * include/std/future (__async_result_of): Use __invoke_result instead
76 of result_of.
77
78 * include/std/any (any_cast): Use __remove_cvref_t.
79 * include/std/tuple (__make_tuple): Likewise.
80 * include/std/type_traits (__remove_cvref_t): Define.
81 (__result_of_memobj, __result_of_memfun): Use __remove_cvref_t.
82 [__cplusplus > 201703L] (remove_cvref, remove_cvref_t): Define.
83 * include/std/variant (__erased_hash): Use __remove_cvref_t.
84
85 2018-05-02 François Dumont <fdumont@gcc.gnu.org>
86
87 * include/bits/deque.tcc (deque<>::_M_assign_aux): Cast to void to
88 ensure overloaded comma not used.
89 * include/bits/list.tcc (list<>::_M_assign_dispatch): Likewise.
90 * include/bits/vector.tcc (vector<>::_M_assign_aux): Likewise.
91 * include/bits/stl_bvector.h (vector<bool>::_M_assign_aux): Likewise.
92 * testsuite/23_containers/deque/modifiers/assign/1.cc: New.
93 * testsuite/23_containers/list/modifiers/assign/1.cc: New.
94 * testsuite/23_containers/vector/bool/modifiers/assign/1.cc: New.
95 * testsuite/23_containers/vector/modifiers/assign/1.cc: New.
96
97 2018-05-02 Jonathan Wakely <jwakely@redhat.com>
98
99 PR libstdc++/68197
100 * include/bits/ios_base.h (ios_base::iword, ios_base::pword): Cast
101 indices to unsigned.
102 * src/c++11/ios.cc (ios_base::_M_grow_words): Treat negative indices
103 as failure. Refactor error handling.
104 * testsuite/27_io/ios_base/storage/68197.cc: New.
105
106 PR libstdc++/57997
107 PR libstdc++/83860
108 * include/bits/gslice_array.h (gslice_array): Define default
109 constructor as deleted, as per C++11 standard.
110 * include/bits/mask_array.h (mask_array): Likewise.
111 * include/bits/slice_array.h (slice_array): Likewise.
112 * include/bits/valarray_after.h (_GBase, _GClos, _IBase, _IClos): Move
113 to namespace __detail.
114 (_GBase::_M_expr, _IBase::_M_expr): Use _ValArrayRef for type of data
115 members.
116 * include/bits/valarray_before.h (_ValArrayRef): New helper for type
117 of data members in closure objects.
118 (_FunBase, _ValFunClos, _RefFunClos, _UnBase, _UnClos, _BinBase)
119 (_BinBase2, _BinBase1, _BinClos, _SBase, _SClos): Move to namespace
120 __detail.
121 (_FunBase::_M_expr, _UnBase::_M_expr, _BinBase::_M_expr1)
122 (_BinBase::_M_expr2, _BinBase2::_M_expr1, _BinBase1::_M_expr2)
123 (_SBase::_M_expr): Use _ValArrayRef for type of data members.
124 * include/std/valarray (_UnClos, _BinClos, _SClos, _GClos, _IClos)
125 (_ValFunClos, _RefFunClos): Move to namespace __detail and add
126 using-declarations to namespace std.
127 * testsuite/26_numerics/valarray/83860.cc: New.
128
129 * testsuite/backward/strstream_move.cc: Remove duplicate function
130 call.
131
132 PR libstdc++/69608
133 * include/backward/strstream (strstreambuf): Define move constructor
134 and move assignment operator.
135 (istrstream, ostrstream, strstream): Likewise.
136 * testsuite/backward/strstream_move.cc: New.
137
138 2018-05-01 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
139
140 PR libstdc++/84654
141 * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
142 * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
143 * configure: Regenerate.
144 * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
145 based on ENABLE_FLOAT128.
146 * include/Makefile.in: Regenerate.
147 * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
148 [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
149 _GLIBCXX_USE_FLOAT128.
150
151 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
152
153 * configure: Regenerated.
154
155 2018-04-19 Jakub Jelinek <jakub@redhat.com>
156
157 * configure: Regenerated.
158
159 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
160 Jakub Jelinek <jakub@redhat.com>
161
162 PR libstdc++/85442
163 * src/c++11/Makefile.am: Don't generate debuginfo again for
164 cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
165 * src/c++11/Makefile.in: Regenerate.
166
167 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
168
169 PR libstdc++/84442
170 * testsuite/30_threads/thread/cons/terminate.cc
171 [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
172
173 2018-04-18 David Malcolm <dmalcolm@redhat.com>
174
175 PR jit/85384
176 * configure: Regenerate.
177
178 2018-04-16 Jonathan Wakely <jwakely@redhat.com>
179
180 * testsuite/experimental/filesystem/file_status/1.cc: Add
181 -DUSE_FILESYSTEM_TS to dg-options.
182 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
183 Likewise.
184 * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
185 * testsuite/experimental/filesystem/iterators/
186 recursive_directory_iterator.cc: Likewise.
187 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
188 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
189 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
190 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
191 * testsuite/experimental/filesystem/operations/create_directories.cc:
192 Likewise.
193 * testsuite/experimental/filesystem/operations/create_directory.cc:
194 Likewise.
195 * testsuite/experimental/filesystem/operations/create_symlink.cc:
196 Likewise.
197 * testsuite/experimental/filesystem/operations/current_path.cc:
198 Likewise.
199 * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
200 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
201 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
202 * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
203 * testsuite/experimental/filesystem/operations/last_write_time.cc:
204 Likewise.
205 * testsuite/experimental/filesystem/operations/permissions.cc:
206 Likewise.
207 * testsuite/experimental/filesystem/operations/read_symlink.cc:
208 Likewise.
209 * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
210 * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
211 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
212 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
213 Likewise.
214 * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
215 * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
216 * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
217 * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
218 * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
219 * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
220 * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
221 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
222 * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
223 * testsuite/experimental/filesystem/path/construct/default.cc:
224 Likewise.
225 * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
226 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
227 * testsuite/experimental/filesystem/path/construct/string_view.cc:
228 Likewise.
229 * testsuite/experimental/filesystem/path/decompose/extension.cc:
230 Likewise.
231 * testsuite/experimental/filesystem/path/decompose/filename.cc:
232 Likewise.
233 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
234 Likewise.
235 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
236 Likewise.
237 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
238 Likewise.
239 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
240 Likewise.
241 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
242 Likewise.
243 * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
244 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
245 Likewise.
246 * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
247 * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
248 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
249 Likewise.
250 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
251 Likewise.
252 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
253 Likewise.
254 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
255 Likewise.
256 * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
257 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
258 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
259 Likewise.
260 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
261 * testsuite/experimental/filesystem/path/query/has_extension.cc:
262 Likewise.
263 * testsuite/experimental/filesystem/path/query/has_filename.cc:
264 Likewise.
265 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
266 Likewise.
267 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
268 Likewise.
269 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
270 Likewise.
271 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
272 Likewise.
273 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
274 Likewise.
275 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
276 * testsuite/experimental/filesystem/path/query/is_relative.cc:
277 Likewise.
278
279 2018-04-13 Jonathan Wakely <jwakely@redhat.com>
280
281 * src/c++11/Makefile.am: Fix sed command.
282 * src/c++11/Makefile.in: Regenerate.
283
284 * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
285 handle mangled names starting with double underscores on darwin.
286 * src/c++11/Makefile.in: Regenerate.
287
288 2018-04-12 Jonathan Wakely <jwakely@redhat.com>
289
290 * src/c++11/Makefile.am: Fix comment.
291 * src/c++11/Makefile.in: Regenerate.
292 * src/c++11/cxx11-ios_failure.cc: Fix comment.
293 * src/c++98/ios_failure.cc: Likewise.
294
295 * src/c++11/ios.cc: Remove redundant macro definition.
296
297 2018-04-11 Jonathan Wakely <jwakely@redhat.com>
298
299 * doc/xml/manual/abi.xml: Document header locations in recent
300 releases.
301 * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
302 * doc/xml/manual/spine.xml: Update copyright years.
303 * doc/xml/manual/strings.xml: Adjust tolower example to avoid
304 undefined behaviour.
305 * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
306 * doc/html/*: Regenerate.
307
308 2018-04-10 Jonathan Wakely <jwakely@redhat.com>
309
310 * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
311 * doc/xml/manual/backwards_compatibility.xml: Likewise.
312 * doc/xml/manual/containers.xml: Likewise.
313 * doc/xml/manual/debug_mode.xml: Likewise.
314 * doc/xml/manual/extensions.xml: Likewise.
315 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
316 * doc/xml/manual/using.xml: Likewise.
317 * doc/xml/manual/utilities.xml: Likewise.
318
319 PR libstdc++/85222
320 * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
321 cxx11-ios_failure.cc to rewrite type info for __ios_failure.
322 * src/c++11/Makefile.in: Regenerate.
323 * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
324 New types.
325 [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
326 * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
327 * src/c++98/ios_failure.cc (__construct_ios_failure)
328 (__destroy_ios_failure, is_ios_failure_handler): New functions.
329 [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
330 * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
331 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
332 handler types, to always catch std::ios_base::failure.
333 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
334 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
335 exceptions_failbit.cc: Likewise.
336 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
337 exceptions_failbit.cc: Likewise.
338 * testsuite/27_io/basic_istream/extractors_other/char/
339 exceptions_null.cc: Likewise.
340 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
341 exceptions_null.cc: Likewise.
342 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
343 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
344 * testsuite/27_io/basic_ostream/inserters_other/char/
345 exceptions_null.cc: Likewise.
346 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
347 exceptions_null.cc: Likewise.
348 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
349
350 2018-04-05 Jonathan Wakely <jwakely@redhat.com>
351
352 * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
353 __get calls to avoid ADL and avoid ambiguity due to Clang bug.
354
355 2018-04-03 Jonathan Wakely <jwakely@redhat.com>
356
357 PR libstdc++/85183
358 * include/std/variant (_Move_assign_base::operator=): Fix incorrect
359 value categories.
360 * testsuite/20_util/variant/85183.cc: New.
361
362 2018-03-26 Jonathan Wakely <jwakely@redhat.com>
363
364 * include/std/variant (__get): Qualify calls to avoid ADL.
365 (__select_index): Adjust whitespace.
366 (variant): Add using-declaration to workaround Clang bug.
367
368 2018-03-22 Jonathan Wakely <jwakely@redhat.com>
369
370 PR libstdc++/85040
371 * include/bits/stl_function.h (greater::__not_overloaded)
372 (less::__not_overloaded, greater_equal::__not_overloaded)
373 (less_equal::__not_overloaded): Fix ambiguous specializations.
374 * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
375 tests for type with overloaded operators.
376
377 2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
378
379 PR libstdc++/77691
380 * testsuite/experimental/memory_resource/resource_adaptor.cc:
381 xfail execution on 32-bit Solaris/x86.
382
383 2018-03-21 Jonathan Wakely <jwakely@redhat.com>
384
385 * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
386 VERIFY instead of assert.
387 * testsuite/20_util/hash/84998.cc: New test.
388 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
389 copy of test adjusted for Debug Mode.
390 * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
391 test in Debug Mode.
392
393 2018-03-20 François Dumont <fdumont@gcc.gnu.org>
394
395 PR libstdc++/84998
396 * include/bits/stl_bvector.h: Fix std::hash friend declaration.
397 * include/std/bitset: Likewise.
398 * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
399 declaration.
400 * include/bits/stl_multimap.h (std::multimap<>): Likewise.
401 * include/bits/stl_multiset.h (std::multiset<>): Likewise.
402 * include/bits/stl_set.h (std::set<>): Likewise.
403 * include/bits/unordered_map.h (std::unordered_map<>): Fix
404 _Hash_merge_helper friend declaration.
405 (std::unordered_multimap<>): Likewise.
406 * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
407 (std::unordered_multiset<>): Likewise.
408
409 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
410
411 * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
412 trailing slash for domain level link.
413 * doc/xml/faq.xml: Ditto.
414 * doc/xml/manual/appendix_free.xml (software): Ditto.
415 * doc/xml/manual/intro.xml: Ditto.
416 * doc/xml/manual/spine.xml: Ditto.
417 * doc/xml/spine.xml: Ditto.
418
419 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
420
421 * doc/xml/manual/documentation_hacking.xml: Adjust link to
422 docbook.org.
423
424 2018-03-17 Jonathan Wakely <jwakely@redhat.com>
425
426 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
427 to compile as C++98.
428
429 2018-03-14 Jonathan Wakely <jwakely@redhat.com>
430
431 PR libstdc++/78420
432 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
433 (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
434 to ensure total order for pointers.
435 (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
436 Add operator() overloads for pointer arguments and make generic
437 overloads dispatch to new _S_cmp functions when comparisons would
438 use built-in operators for pointers.
439 * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
440
441 2018-03-12 Jonathan Wakely <jwakely@redhat.com>
442
443 PR libstdc++/84773
444 PR libstdc++/83662
445 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
446 * configure: Regenerate.
447 * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
448 (aligned_alloc): Add using-declaration.
449 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
450
451 2018-03-09 François Dumont <fdumont@gcc.gnu.org>
452
453 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
454 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
455 registration.
456
457 2018-03-09 Jonathan Wakely <jwakely@redhat.com>
458
459 PR libstdc++/84769
460 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
461 Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
462
463 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
464 src/filesystem/std-ops.cc (create_dir): Likewise.
465
466 2018-03-08 François Dumont <fdumont@gcc.gnu.org>
467
468 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
469 (StdListIteratorPrinter): Inherit from latter.
470 (StdFwdListIteratorPrinter): New, inherit from latter.
471 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
472 when iterator has no associated container.
473 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
474 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
475 registrations.
476 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
477 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
478
479 2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
480
481 PR libstdc++/84601
482 * include/std/optional (_Optional_payload): Split into multiple
483 specializations that can handle different cases of trivial or
484 non-trivial assignment operators.
485 * testsuite/20_util/optional/84601.cc: New.
486 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
487
488 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
489
490 PR libstdc++/84671
491 * include/bits/parse_numbers.h (_Number_help): Add partial
492 specialization to handle digit separators. Adjust partial
493 specialization for recursion temrination to require _Pow == 1ULL.
494 * testsuite/20_util/duration/literals/84671.cc: New
495
496 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
497
498 Implement the missing bits of LWG 2769
499 * include/std/any (any_cast(const any&)): Add static_assert.
500 (any_cast(any&)): Likewise.
501 (any_cast(any&&)): Likewise, and remove the handling
502 for copyable-but-not-movable type.
503 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
504 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
505 add new tests.
506
507 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
508
509 PR libstdc++/84532
510 * include/std/thread (thread::__make_invoker): Construct tuple
511 directly instead of using make_tuple.
512 * testsuite/30_threads/async/84532.cc: New.
513 * testsuite/30_threads/thread/84532.cc: New.
514
515 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
516
517 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
518 (template<> __aligned_buffer): Define as __aligned_membuf alias.
519
520 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
521
522 PR target/84148
523 * configure: Regenerate.
524
525 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
526
527 PR libstdc++/81797
528 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
529 * configure: Regenerate.
530 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
531 defined.
532 * include/Makefile.in: Regenerate.
533
534 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
535
536 PR libstdc++/83833
537 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
538 Add -ffloat-store to options for m68k and ia32.
539
540 * doc/xml/faq.xml: Update copyright years.
541 * doc/html/*: Regenerate.
542
543 PR libstdc++/83658
544 * include/std/any (any::__do_emplace): Only set _M_manager after
545 constructing the contained object.
546 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
547 * testsuite/20_util/any/modifiers/83658.cc: New test.
548
549 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
550
551 PR libstdc++/81076
552 * include/c_global/cstddef (__byte_operand): Define primary template.
553 * testsuite/18_support/byte/81076.cc: New test.
554
555 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
556
557 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
558 dg-options and dg-add-options order.
559 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
560 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
561 Likewise.
562 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
563 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
564 Likewise.
565 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
566 Likewise.
567 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
568 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
569 Likewise.
570 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
571 Likewise.
572 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
573 Likewise.
574 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
575 Likewise.
576 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
577 Likewise.
578 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
579 Likewise.
580 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
581 Likewise.
582 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
583 Likewise.
584 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
585 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
586 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
587 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
588 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
589 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
590 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
591 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
592 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
593 Likewise.
594 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
595 Likewise.
596 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
597 Likewise.
598 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
599 Likewise.
600
601 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
602
603 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
604 include linux/types.h when checking linux/random.h header.
605 * config.h.in: Regenerate.
606 * configure: Ditto.
607 * src/c++11/random.cc: Conditionally include linux/types.h.
608
609 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
610
611 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
612
613 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
614
615 PR libstdc++/83834
616 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
617 pattern with exact match for std::cerr.
618
619 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
620
621 PR libstdc++/83833
622 * include/bits/random.h (chi_squared_distribution::param): Update
623 gamma distribution parameter.
624 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
625 test.
626
627 PR libstdc++/83830
628 * include/std/type_traits (has_unique_object_representations_v): Add
629 variable template.
630 * testsuite/20_util/has_unique_object_representations/value.cc: Check
631 variable template.
632
633 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
634
635 Make optional conditionally
636 trivially_{copy,move}_{constructible,assignable}
637 * include/std/optional (_Optional_payload): Fix the comment in
638 the class head and turn into a primary and one specialization.
639 (_Optional_payload::_M_engaged): Strike the NSDMI.
640 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
641 New.
642 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
643 Likewise.
644 (_Optional_payload<_Tp, false>::_M_get): Likewise.
645 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
646 (_Optional_base_impl): Likewise.
647 (_Optional_base): Turn into a primary and three specializations.
648 (optional(nullopt)): Change the base init.
649 * testsuite/20_util/optional/assignment/8.cc: New.
650 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
651 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
652
653 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
654
655 PR libstdc++/80276
656 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
657 (get_template_arg_list): New.
658 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
659 instead.
660 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
661 of strings and regular expressions.
662 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
663 (FilteringTypePrinter): Add docstring. Match using startswith. Use
664 strip_inline_namespaces instead of strip_versioned_namespace.
665 (add_one_type_printer): Prepend namespace to match argument.
666 (register_type_printers): Add type printers for char16_t and char32_t
667 string types and for types using cxx11 ABI. Update calls to
668 add_one_template_type_printer to provide default argument dicts.
669 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
670 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
671 basic_string<unsigned char> and basic_string<signed char>.
672 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
673 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
674
675 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
676
677 PR libstdc++/81092
678 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
679
680 2018-01-13 Tim Shen <timshen@google.com>
681
682 PR libstdc++/83601
683 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
684 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
685 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
686
687 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
688
689 PR libstdc++/64054
690 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
691 Remove dg-xfail-run-if.
692
693 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
694
695 * include/bits/forward_list.h
696 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
697 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
698 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
699 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
700 (_Fwd_list_impl()): Add noexcept qualification.
701 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
702 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
703 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
704 (_Fwd_list_base()): Default.
705 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
706 (_Fwd_list_base(_Fwd_list_base&&)): Default.
707 (forward_list<>()): Default.
708 (forward_list<>(forward_list&&)): Default.
709 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
710 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
711 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
712 * include/bits/forward_list.tcc
713 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
714 _M_impl._M_head move assignment.
715 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
716 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
717
718 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
719
720 PR libstdc++/80276
721 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
722 (UniquePointerPrinter): Print correct template argument, not type of
723 the pointer.
724 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
725 a type.
726 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
727 array type.
728 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
729 weak_ptr of array types.
730
731 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
732
733 PR libstdc++/83709
734 * include/bits/hashtable_policy.h
735 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
736 __first != __last.
737 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
738 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
739 Add false_type parameter.
740 (_Insert_base::insert): Adapt.
741 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
742 Adapt.
743 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
744 Add __n_elt parameter, defaulted to 1.
745 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
746 policy _M_need_rehash.
747 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
748 produce only 1 rehash if necessary.
749 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
750 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
751
752 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
753 Jonathan Wakely <jwakely@redhat.com>
754
755 PR libstdc++/59253 (partial)
756 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
757 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
758 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
759 children.
760 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
761 of unique_ptr printer.
762 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
763 output of shared_ptr printer.
764
765 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
766
767 PR libstdc++/83626
768 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
769 unnecessary symlink_status call.
770 (remove_all(const path&, error_code&)): Use filesystem::remove.
771 * src/filesystem/std-ops.cc: Likewise.
772
773 PR libstdc++/83279
774 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
775 sendfile.
776
777 PR libstdc++/83626
778 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
779 report an error for ENOENT.
780 (remove_all(const path&)): Fix type of result variable.
781 (remove_all(const path&, error_code&)): Use non-throwing increment
782 for directory iterator. Call POSIX remove directly to avoid redundant
783 calls to symlink_status. Do not report errors for ENOENT.
784 * src/filesystem/std-ops.cc: Likewise.
785 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
786 overload.
787 * testsuite/experimental/filesystem/operations/remove_all.cc:
788 Likewise.
789
790 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
791
792 PR libstdc++/83626
793 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
794 redundant call to ec.clear().
795 (remove_all(const path&, error_code&))): Do not return an error for
796 non-existent paths.
797 * src/filesystem/std-ops.cc: Likewise.
798 * testsuite/27_io/filesystem/operations/remove.cc: New test.
799 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
800 results for non-existent paths.
801 * testsuite/experimental/filesystem/operations/remove.cc: New test.
802 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
803 expected results for non-existent paths.
804
805 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
806 check status_known once.
807 * include/experimental/bits/fs_ops.h: Likewise.
808
809 PR libstdc++/83607
810 * include/std/functional (__is_byte_like): New trait.
811 (__is_std_equal_to): Remove.
812 (__boyer_moore_base_t): Use __is_byte_like instead of
813 __is_std_equal_to.
814 * include/experimental/functional (__is_std_equal_to): Remove.
815 (__boyer_moore_base_t): Use __is_byte_like instead of
816 __is_std_equal_to.
817 * testsuite/20_util/function_objects/83607.cc: New test.
818
819 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
820
821 Protect optional's deduction guide with the feature macro
822 * include/std/optional: Use the feature macro.
823
824 2018-01-03 Jakub Jelinek <jakub@redhat.com>
825
826 Update copyright years.
827 \f
828 Copyright (C) 2018 Free Software Foundation, Inc.
829
830 Copying and distribution of this file, with or without modification,
831 are permitted in any medium without royalty provided the copyright
832 notice and this notice are preserved.