1 2018-05-15 Jonathan Wakely <jwakely@redhat.com>
4 * include/bits/fs_path.h (path::is_absolute()): Use same definition
5 for all operating systems.
6 * include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
7 * testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
8 * testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
9 * testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
11 * testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
12 unused <vector> header.
13 * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
14 * testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
15 * testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
16 * testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
17 * testsuite/27_io/filesystem/path/query/has_relative_path.cc:
19 * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
21 * testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
22 * testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
23 * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
24 * testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
25 * testsuite/experimental/filesystem/path/decompose/extension.cc:
27 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
28 * testsuite/experimental/filesystem/path/query/has_extension.cc:
30 * testsuite/experimental/filesystem/path/query/has_filename.cc:
32 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
34 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
36 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
38 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
40 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
42 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
43 * testsuite/experimental/filesystem/path/query/is_relative.cc:
47 * include/bits/fs_path.h (path::operator/=, path::append): Construct
48 temporary path before calling _M_append.
49 (path::_M_append): Change parameter to path and implement C++17
51 * testsuite/27_io/filesystem/path/append/path.cc: Add helper function
52 and more examples from the standard.
53 * testsuite/27_io/filesystem/path/append/source.cc: New.
54 * testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
55 * testsuite/27_io/filesystem/path/nonmember/append.cc: New.
57 2018-05-14 Jonathan Wakely <jwakely@redhat.com>
60 * include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
61 (_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
64 * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
66 * testsuite/23_containers/set/modifiers/node_swap.cc: New.
68 2018-05-10 Jonathan Wakely <jwakely@redhat.com>
70 * doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
71 * doc/xml/manual/debug_mode.xml: Add array and forward_list to list
72 of C++11 containers with Debug Mode support.
73 * doc/xml/manual/using.xml: Document that the C++17 Filesystem
74 implementation also needs -lstdc++fs. Document Dual ABI for
76 * doc/html/*: Regenerate.
78 2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net>
80 Backport from mainline
81 2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net>
83 Moar PR libstdc++/80506
84 * include/bits/random.tcc (gamma_distribution::__generate_impl()):
85 Fix magic number used in loop condition.
87 2018-05-04 Jonathan Wakely <jwakely@redhat.com>
89 PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
90 * include/std/optional (_Optional_payload): Add noexcept to default
91 constructor. Re-indent.
92 (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
93 constructor for copying disengaged payloads.
94 (_Optional_payload<_Tp, true, false, true>): Likewise.
95 (_Optional_payload<_Tp, true, true, false>): Likewise.
96 (_Optional_payload<_Tp, true, false, false>): Likewise.
97 * testsuite/20_util/optional/cons/85642.cc: New.
98 * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
100 2018-05-03 Jonathan Wakely <jwakely@redhat.com>
103 * include/std/variant (visit): Qualify std::get call.
105 2018-05-03 Jonathan Wakely <jwakely@redhat.com>
107 PR libstdc++/85632 use uintmax_t for arithmetic
108 * src/filesystem/ops.cc (experimental::filesystem::space): Perform
109 arithmetic in result type.
110 * src/filesystem/std-ops.cc (filesystem::space): Likewise.
111 * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
112 is greater than free space.
113 * testsuite/experimental/filesystem/operations/space.cc: New.
115 2018-05-02 Release Manager
117 * GCC 8.1.0 released.
119 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
121 * configure: Regenerated.
123 2018-04-19 Jakub Jelinek <jakub@redhat.com>
125 * configure: Regenerated.
127 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
128 Jakub Jelinek <jakub@redhat.com>
131 * src/c++11/Makefile.am: Don't generate debuginfo again for
132 cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
133 * src/c++11/Makefile.in: Regenerate.
135 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
138 * testsuite/30_threads/thread/cons/terminate.cc
139 [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
141 2018-04-18 David Malcolm <dmalcolm@redhat.com>
144 * configure: Regenerate.
146 2018-04-16 Jonathan Wakely <jwakely@redhat.com>
148 * testsuite/experimental/filesystem/file_status/1.cc: Add
149 -DUSE_FILESYSTEM_TS to dg-options.
150 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
152 * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
153 * testsuite/experimental/filesystem/iterators/
154 recursive_directory_iterator.cc: Likewise.
155 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
156 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
157 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
158 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
159 * testsuite/experimental/filesystem/operations/create_directories.cc:
161 * testsuite/experimental/filesystem/operations/create_directory.cc:
163 * testsuite/experimental/filesystem/operations/create_symlink.cc:
165 * testsuite/experimental/filesystem/operations/current_path.cc:
167 * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
168 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
169 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
170 * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
171 * testsuite/experimental/filesystem/operations/last_write_time.cc:
173 * testsuite/experimental/filesystem/operations/permissions.cc:
175 * testsuite/experimental/filesystem/operations/read_symlink.cc:
177 * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
178 * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
179 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
180 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
182 * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
183 * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
184 * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
185 * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
186 * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
187 * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
188 * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
189 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
190 * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
191 * testsuite/experimental/filesystem/path/construct/default.cc:
193 * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
194 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
195 * testsuite/experimental/filesystem/path/construct/string_view.cc:
197 * testsuite/experimental/filesystem/path/decompose/extension.cc:
199 * testsuite/experimental/filesystem/path/decompose/filename.cc:
201 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
203 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
205 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
207 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
209 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
211 * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
212 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
214 * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
215 * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
216 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
218 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
220 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
222 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
224 * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
225 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
226 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
228 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
229 * testsuite/experimental/filesystem/path/query/has_extension.cc:
231 * testsuite/experimental/filesystem/path/query/has_filename.cc:
233 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
235 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
237 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
239 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
241 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
243 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
244 * testsuite/experimental/filesystem/path/query/is_relative.cc:
247 2018-04-13 Jonathan Wakely <jwakely@redhat.com>
249 * src/c++11/Makefile.am: Fix sed command.
250 * src/c++11/Makefile.in: Regenerate.
252 * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
253 handle mangled names starting with double underscores on darwin.
254 * src/c++11/Makefile.in: Regenerate.
256 2018-04-12 Jonathan Wakely <jwakely@redhat.com>
258 * src/c++11/Makefile.am: Fix comment.
259 * src/c++11/Makefile.in: Regenerate.
260 * src/c++11/cxx11-ios_failure.cc: Fix comment.
261 * src/c++98/ios_failure.cc: Likewise.
263 * src/c++11/ios.cc: Remove redundant macro definition.
265 2018-04-11 Jonathan Wakely <jwakely@redhat.com>
267 * doc/xml/manual/abi.xml: Document header locations in recent
269 * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
270 * doc/xml/manual/spine.xml: Update copyright years.
271 * doc/xml/manual/strings.xml: Adjust tolower example to avoid
273 * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
274 * doc/html/*: Regenerate.
276 2018-04-10 Jonathan Wakely <jwakely@redhat.com>
278 * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
279 * doc/xml/manual/backwards_compatibility.xml: Likewise.
280 * doc/xml/manual/containers.xml: Likewise.
281 * doc/xml/manual/debug_mode.xml: Likewise.
282 * doc/xml/manual/extensions.xml: Likewise.
283 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
284 * doc/xml/manual/using.xml: Likewise.
285 * doc/xml/manual/utilities.xml: Likewise.
288 * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
289 cxx11-ios_failure.cc to rewrite type info for __ios_failure.
290 * src/c++11/Makefile.in: Regenerate.
291 * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
293 [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
294 * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
295 * src/c++98/ios_failure.cc (__construct_ios_failure)
296 (__destroy_ios_failure, is_ios_failure_handler): New functions.
297 [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
298 * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
299 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
300 handler types, to always catch std::ios_base::failure.
301 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
302 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
303 exceptions_failbit.cc: Likewise.
304 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
305 exceptions_failbit.cc: Likewise.
306 * testsuite/27_io/basic_istream/extractors_other/char/
307 exceptions_null.cc: Likewise.
308 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
309 exceptions_null.cc: Likewise.
310 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
311 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
312 * testsuite/27_io/basic_ostream/inserters_other/char/
313 exceptions_null.cc: Likewise.
314 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
315 exceptions_null.cc: Likewise.
316 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
318 2018-04-05 Jonathan Wakely <jwakely@redhat.com>
320 * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
321 __get calls to avoid ADL and avoid ambiguity due to Clang bug.
323 2018-04-03 Jonathan Wakely <jwakely@redhat.com>
326 * include/std/variant (_Move_assign_base::operator=): Fix incorrect
328 * testsuite/20_util/variant/85183.cc: New.
330 2018-03-26 Jonathan Wakely <jwakely@redhat.com>
332 * include/std/variant (__get): Qualify calls to avoid ADL.
333 (__select_index): Adjust whitespace.
334 (variant): Add using-declaration to workaround Clang bug.
336 2018-03-22 Jonathan Wakely <jwakely@redhat.com>
339 * include/bits/stl_function.h (greater::__not_overloaded)
340 (less::__not_overloaded, greater_equal::__not_overloaded)
341 (less_equal::__not_overloaded): Fix ambiguous specializations.
342 * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
343 tests for type with overloaded operators.
345 2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
348 * testsuite/experimental/memory_resource/resource_adaptor.cc:
349 xfail execution on 32-bit Solaris/x86.
351 2018-03-21 Jonathan Wakely <jwakely@redhat.com>
353 * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
354 VERIFY instead of assert.
355 * testsuite/20_util/hash/84998.cc: New test.
356 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
357 copy of test adjusted for Debug Mode.
358 * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
361 2018-03-20 François Dumont <fdumont@gcc.gnu.org>
364 * include/bits/stl_bvector.h: Fix std::hash friend declaration.
365 * include/std/bitset: Likewise.
366 * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
368 * include/bits/stl_multimap.h (std::multimap<>): Likewise.
369 * include/bits/stl_multiset.h (std::multiset<>): Likewise.
370 * include/bits/stl_set.h (std::set<>): Likewise.
371 * include/bits/unordered_map.h (std::unordered_map<>): Fix
372 _Hash_merge_helper friend declaration.
373 (std::unordered_multimap<>): Likewise.
374 * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
375 (std::unordered_multiset<>): Likewise.
377 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
379 * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
380 trailing slash for domain level link.
381 * doc/xml/faq.xml: Ditto.
382 * doc/xml/manual/appendix_free.xml (software): Ditto.
383 * doc/xml/manual/intro.xml: Ditto.
384 * doc/xml/manual/spine.xml: Ditto.
385 * doc/xml/spine.xml: Ditto.
387 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
389 * doc/xml/manual/documentation_hacking.xml: Adjust link to
392 2018-03-17 Jonathan Wakely <jwakely@redhat.com>
394 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
397 2018-03-14 Jonathan Wakely <jwakely@redhat.com>
400 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
401 (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
402 to ensure total order for pointers.
403 (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
404 Add operator() overloads for pointer arguments and make generic
405 overloads dispatch to new _S_cmp functions when comparisons would
406 use built-in operators for pointers.
407 * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
409 2018-03-12 Jonathan Wakely <jwakely@redhat.com>
413 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
414 * configure: Regenerate.
415 * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
416 (aligned_alloc): Add using-declaration.
417 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
419 2018-03-09 François Dumont <fdumont@gcc.gnu.org>
421 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
422 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
425 2018-03-09 Jonathan Wakely <jwakely@redhat.com>
428 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
429 Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
431 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
432 src/filesystem/std-ops.cc (create_dir): Likewise.
434 2018-03-08 François Dumont <fdumont@gcc.gnu.org>
436 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
437 (StdListIteratorPrinter): Inherit from latter.
438 (StdFwdListIteratorPrinter): New, inherit from latter.
439 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
440 when iterator has no associated container.
441 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
442 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
444 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
445 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
447 2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
450 * include/std/optional (_Optional_payload): Split into multiple
451 specializations that can handle different cases of trivial or
452 non-trivial assignment operators.
453 * testsuite/20_util/optional/84601.cc: New.
454 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
456 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
459 * include/bits/parse_numbers.h (_Number_help): Add partial
460 specialization to handle digit separators. Adjust partial
461 specialization for recursion temrination to require _Pow == 1ULL.
462 * testsuite/20_util/duration/literals/84671.cc: New
464 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
466 Implement the missing bits of LWG 2769
467 * include/std/any (any_cast(const any&)): Add static_assert.
468 (any_cast(any&)): Likewise.
469 (any_cast(any&&)): Likewise, and remove the handling
470 for copyable-but-not-movable type.
471 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
472 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
475 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
478 * include/std/thread (thread::__make_invoker): Construct tuple
479 directly instead of using make_tuple.
480 * testsuite/30_threads/async/84532.cc: New.
481 * testsuite/30_threads/thread/84532.cc: New.
483 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
485 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
486 (template<> __aligned_buffer): Define as __aligned_membuf alias.
488 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
491 * configure: Regenerate.
493 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
496 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
497 * configure: Regenerate.
498 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
500 * include/Makefile.in: Regenerate.
502 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
505 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
506 Add -ffloat-store to options for m68k and ia32.
508 * doc/xml/faq.xml: Update copyright years.
509 * doc/html/*: Regenerate.
512 * include/std/any (any::__do_emplace): Only set _M_manager after
513 constructing the contained object.
514 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
515 * testsuite/20_util/any/modifiers/83658.cc: New test.
517 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
520 * include/c_global/cstddef (__byte_operand): Define primary template.
521 * testsuite/18_support/byte/81076.cc: New test.
523 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
525 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
526 dg-options and dg-add-options order.
527 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
528 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
530 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
531 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
533 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
535 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
536 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
538 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
540 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
542 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
544 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
546 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
548 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
550 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
552 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
553 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
554 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
555 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
556 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
557 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
558 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
559 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
560 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
562 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
564 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
566 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
569 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
571 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
572 include linux/types.h when checking linux/random.h header.
573 * config.h.in: Regenerate.
575 * src/c++11/random.cc: Conditionally include linux/types.h.
577 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
579 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
581 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
584 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
585 pattern with exact match for std::cerr.
587 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
590 * include/bits/random.h (chi_squared_distribution::param): Update
591 gamma distribution parameter.
592 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
596 * include/std/type_traits (has_unique_object_representations_v): Add
598 * testsuite/20_util/has_unique_object_representations/value.cc: Check
601 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
603 Make optional conditionally
604 trivially_{copy,move}_{constructible,assignable}
605 * include/std/optional (_Optional_payload): Fix the comment in
606 the class head and turn into a primary and one specialization.
607 (_Optional_payload::_M_engaged): Strike the NSDMI.
608 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
610 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
612 (_Optional_payload<_Tp, false>::_M_get): Likewise.
613 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
614 (_Optional_base_impl): Likewise.
615 (_Optional_base): Turn into a primary and three specializations.
616 (optional(nullopt)): Change the base init.
617 * testsuite/20_util/optional/assignment/8.cc: New.
618 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
619 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
621 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
624 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
625 (get_template_arg_list): New.
626 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
628 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
629 of strings and regular expressions.
630 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
631 (FilteringTypePrinter): Add docstring. Match using startswith. Use
632 strip_inline_namespaces instead of strip_versioned_namespace.
633 (add_one_type_printer): Prepend namespace to match argument.
634 (register_type_printers): Add type printers for char16_t and char32_t
635 string types and for types using cxx11 ABI. Update calls to
636 add_one_template_type_printer to provide default argument dicts.
637 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
638 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
639 basic_string<unsigned char> and basic_string<signed char>.
640 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
641 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
643 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
646 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
648 2018-01-13 Tim Shen <timshen@google.com>
651 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
652 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
653 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
655 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
658 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
659 Remove dg-xfail-run-if.
661 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
663 * include/bits/forward_list.h
664 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
665 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
666 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
667 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
668 (_Fwd_list_impl()): Add noexcept qualification.
669 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
670 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
671 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
672 (_Fwd_list_base()): Default.
673 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
674 (_Fwd_list_base(_Fwd_list_base&&)): Default.
675 (forward_list<>()): Default.
676 (forward_list<>(forward_list&&)): Default.
677 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
678 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
679 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
680 * include/bits/forward_list.tcc
681 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
682 _M_impl._M_head move assignment.
683 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
684 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
686 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
689 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
690 (UniquePointerPrinter): Print correct template argument, not type of
692 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
694 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
696 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
697 weak_ptr of array types.
699 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
702 * include/bits/hashtable_policy.h
703 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
705 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
706 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
707 Add false_type parameter.
708 (_Insert_base::insert): Adapt.
709 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
711 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
712 Add __n_elt parameter, defaulted to 1.
713 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
714 policy _M_need_rehash.
715 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
716 produce only 1 rehash if necessary.
717 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
718 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
720 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
721 Jonathan Wakely <jwakely@redhat.com>
723 PR libstdc++/59253 (partial)
724 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
725 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
726 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
728 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
729 of unique_ptr printer.
730 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
731 output of shared_ptr printer.
733 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
736 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
737 unnecessary symlink_status call.
738 (remove_all(const path&, error_code&)): Use filesystem::remove.
739 * src/filesystem/std-ops.cc: Likewise.
742 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
746 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
747 report an error for ENOENT.
748 (remove_all(const path&)): Fix type of result variable.
749 (remove_all(const path&, error_code&)): Use non-throwing increment
750 for directory iterator. Call POSIX remove directly to avoid redundant
751 calls to symlink_status. Do not report errors for ENOENT.
752 * src/filesystem/std-ops.cc: Likewise.
753 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
755 * testsuite/experimental/filesystem/operations/remove_all.cc:
758 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
761 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
762 redundant call to ec.clear().
763 (remove_all(const path&, error_code&))): Do not return an error for
765 * src/filesystem/std-ops.cc: Likewise.
766 * testsuite/27_io/filesystem/operations/remove.cc: New test.
767 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
768 results for non-existent paths.
769 * testsuite/experimental/filesystem/operations/remove.cc: New test.
770 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
771 expected results for non-existent paths.
773 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
774 check status_known once.
775 * include/experimental/bits/fs_ops.h: Likewise.
778 * include/std/functional (__is_byte_like): New trait.
779 (__is_std_equal_to): Remove.
780 (__boyer_moore_base_t): Use __is_byte_like instead of
782 * include/experimental/functional (__is_std_equal_to): Remove.
783 (__boyer_moore_base_t): Use __is_byte_like instead of
785 * testsuite/20_util/function_objects/83607.cc: New test.
787 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
789 Protect optional's deduction guide with the feature macro
790 * include/std/optional: Use the feature macro.
792 2018-01-03 Jakub Jelinek <jakub@redhat.com>
794 Update copyright years.
796 Copyright (C) 2018 Free Software Foundation, Inc.
798 Copying and distribution of this file, with or without modification,
799 are permitted in any medium without royalty provided the copyright
800 notice and this notice are preserved.