1 2018-05-21 François Dumont <fdumont@gcc.gnu.org>
4 (map(map&&, const_allocator_type&)): Add noexcept qualitication.
5 * include/debug/multimap.h
6 (multimap(multimap&&, const_allocator_type&)): Likewise.
8 (set(set&&, const_allocator_type&)): Likewise.
9 * include/debug/multiset.h
10 (multiset(multiset&&, const_allocator_type&)): Likewise.
12 2018-05-21 Jonathan Wakely <jwakely@redhat.com>
15 * testsuite/experimental/filesystem/path/preferred_separator.cc: Add
16 dg-require-filesystem-ts.
18 2018-05-17 Jonathan Wakely <jwakely@redhat.com>
21 * src/filesystem/path.cc (path::preferred_separator): Add used
23 * testsuite/experimental/filesystem/path/preferred_separator.cc: New.
26 * libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
27 * libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
28 Refactor to separate non-throwing and throwing implementations.
29 [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
30 if constructing the object throws.
32 2018-05-15 Jonathan Wakely <jwakely@redhat.com>
35 * include/bits/fs_path.h (path::is_absolute()): Use same definition
36 for all operating systems.
37 * include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
38 * testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
39 * testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
40 * testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
42 * testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
43 unused <vector> header.
44 * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
45 * testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
46 * testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
47 * testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
48 * testsuite/27_io/filesystem/path/query/has_relative_path.cc:
50 * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
52 * testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
53 * testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
54 * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
55 * testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
56 * testsuite/experimental/filesystem/path/decompose/extension.cc:
58 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
59 * testsuite/experimental/filesystem/path/query/has_extension.cc:
61 * testsuite/experimental/filesystem/path/query/has_filename.cc:
63 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
65 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
67 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
69 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
71 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
73 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
74 * testsuite/experimental/filesystem/path/query/is_relative.cc:
78 * include/bits/fs_path.h (path::operator/=, path::append): Construct
79 temporary path before calling _M_append.
80 (path::_M_append): Change parameter to path and implement C++17
82 * testsuite/27_io/filesystem/path/append/path.cc: Add helper function
83 and more examples from the standard.
84 * testsuite/27_io/filesystem/path/append/source.cc: New.
85 * testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
86 * testsuite/27_io/filesystem/path/nonmember/append.cc: New.
88 2018-05-14 Jonathan Wakely <jwakely@redhat.com>
91 * include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
92 (_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
95 * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
97 * testsuite/23_containers/set/modifiers/node_swap.cc: New.
99 2018-05-10 Jonathan Wakely <jwakely@redhat.com>
101 * doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
102 * doc/xml/manual/debug_mode.xml: Add array and forward_list to list
103 of C++11 containers with Debug Mode support.
104 * doc/xml/manual/using.xml: Document that the C++17 Filesystem
105 implementation also needs -lstdc++fs. Document Dual ABI for
107 * doc/html/*: Regenerate.
109 2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net>
111 Backport from mainline
112 2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net>
114 Moar PR libstdc++/80506
115 * include/bits/random.tcc (gamma_distribution::__generate_impl()):
116 Fix magic number used in loop condition.
118 2018-05-04 Jonathan Wakely <jwakely@redhat.com>
120 PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
121 * include/std/optional (_Optional_payload): Add noexcept to default
122 constructor. Re-indent.
123 (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
124 constructor for copying disengaged payloads.
125 (_Optional_payload<_Tp, true, false, true>): Likewise.
126 (_Optional_payload<_Tp, true, true, false>): Likewise.
127 (_Optional_payload<_Tp, true, false, false>): Likewise.
128 * testsuite/20_util/optional/cons/85642.cc: New.
129 * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
131 2018-05-03 Jonathan Wakely <jwakely@redhat.com>
134 * include/std/variant (visit): Qualify std::get call.
136 2018-05-03 Jonathan Wakely <jwakely@redhat.com>
138 PR libstdc++/85632 use uintmax_t for arithmetic
139 * src/filesystem/ops.cc (experimental::filesystem::space): Perform
140 arithmetic in result type.
141 * src/filesystem/std-ops.cc (filesystem::space): Likewise.
142 * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
143 is greater than free space.
144 * testsuite/experimental/filesystem/operations/space.cc: New.
146 2018-05-02 Release Manager
148 * GCC 8.1.0 released.
150 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
152 * configure: Regenerated.
154 2018-04-19 Jakub Jelinek <jakub@redhat.com>
156 * configure: Regenerated.
158 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
159 Jakub Jelinek <jakub@redhat.com>
162 * src/c++11/Makefile.am: Don't generate debuginfo again for
163 cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
164 * src/c++11/Makefile.in: Regenerate.
166 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
169 * testsuite/30_threads/thread/cons/terminate.cc
170 [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
172 2018-04-18 David Malcolm <dmalcolm@redhat.com>
175 * configure: Regenerate.
177 2018-04-16 Jonathan Wakely <jwakely@redhat.com>
179 * testsuite/experimental/filesystem/file_status/1.cc: Add
180 -DUSE_FILESYSTEM_TS to dg-options.
181 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
183 * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
184 * testsuite/experimental/filesystem/iterators/
185 recursive_directory_iterator.cc: Likewise.
186 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
187 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
188 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
189 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
190 * testsuite/experimental/filesystem/operations/create_directories.cc:
192 * testsuite/experimental/filesystem/operations/create_directory.cc:
194 * testsuite/experimental/filesystem/operations/create_symlink.cc:
196 * testsuite/experimental/filesystem/operations/current_path.cc:
198 * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
199 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
200 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
201 * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
202 * testsuite/experimental/filesystem/operations/last_write_time.cc:
204 * testsuite/experimental/filesystem/operations/permissions.cc:
206 * testsuite/experimental/filesystem/operations/read_symlink.cc:
208 * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
209 * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
210 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
211 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
213 * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
214 * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
215 * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
216 * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
217 * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
218 * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
219 * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
220 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
221 * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
222 * testsuite/experimental/filesystem/path/construct/default.cc:
224 * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
225 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
226 * testsuite/experimental/filesystem/path/construct/string_view.cc:
228 * testsuite/experimental/filesystem/path/decompose/extension.cc:
230 * testsuite/experimental/filesystem/path/decompose/filename.cc:
232 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
234 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
236 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
238 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
240 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
242 * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
243 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
245 * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
246 * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
247 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
249 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
251 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
253 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
255 * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
256 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
257 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
259 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
260 * testsuite/experimental/filesystem/path/query/has_extension.cc:
262 * testsuite/experimental/filesystem/path/query/has_filename.cc:
264 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
266 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
268 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
270 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
272 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
274 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
275 * testsuite/experimental/filesystem/path/query/is_relative.cc:
278 2018-04-13 Jonathan Wakely <jwakely@redhat.com>
280 * src/c++11/Makefile.am: Fix sed command.
281 * src/c++11/Makefile.in: Regenerate.
283 * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
284 handle mangled names starting with double underscores on darwin.
285 * src/c++11/Makefile.in: Regenerate.
287 2018-04-12 Jonathan Wakely <jwakely@redhat.com>
289 * src/c++11/Makefile.am: Fix comment.
290 * src/c++11/Makefile.in: Regenerate.
291 * src/c++11/cxx11-ios_failure.cc: Fix comment.
292 * src/c++98/ios_failure.cc: Likewise.
294 * src/c++11/ios.cc: Remove redundant macro definition.
296 2018-04-11 Jonathan Wakely <jwakely@redhat.com>
298 * doc/xml/manual/abi.xml: Document header locations in recent
300 * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
301 * doc/xml/manual/spine.xml: Update copyright years.
302 * doc/xml/manual/strings.xml: Adjust tolower example to avoid
304 * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
305 * doc/html/*: Regenerate.
307 2018-04-10 Jonathan Wakely <jwakely@redhat.com>
309 * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
310 * doc/xml/manual/backwards_compatibility.xml: Likewise.
311 * doc/xml/manual/containers.xml: Likewise.
312 * doc/xml/manual/debug_mode.xml: Likewise.
313 * doc/xml/manual/extensions.xml: Likewise.
314 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
315 * doc/xml/manual/using.xml: Likewise.
316 * doc/xml/manual/utilities.xml: Likewise.
319 * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
320 cxx11-ios_failure.cc to rewrite type info for __ios_failure.
321 * src/c++11/Makefile.in: Regenerate.
322 * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
324 [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
325 * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
326 * src/c++98/ios_failure.cc (__construct_ios_failure)
327 (__destroy_ios_failure, is_ios_failure_handler): New functions.
328 [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
329 * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
330 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
331 handler types, to always catch std::ios_base::failure.
332 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
333 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
334 exceptions_failbit.cc: Likewise.
335 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
336 exceptions_failbit.cc: Likewise.
337 * testsuite/27_io/basic_istream/extractors_other/char/
338 exceptions_null.cc: Likewise.
339 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
340 exceptions_null.cc: Likewise.
341 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
342 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
343 * testsuite/27_io/basic_ostream/inserters_other/char/
344 exceptions_null.cc: Likewise.
345 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
346 exceptions_null.cc: Likewise.
347 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
349 2018-04-05 Jonathan Wakely <jwakely@redhat.com>
351 * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
352 __get calls to avoid ADL and avoid ambiguity due to Clang bug.
354 2018-04-03 Jonathan Wakely <jwakely@redhat.com>
357 * include/std/variant (_Move_assign_base::operator=): Fix incorrect
359 * testsuite/20_util/variant/85183.cc: New.
361 2018-03-26 Jonathan Wakely <jwakely@redhat.com>
363 * include/std/variant (__get): Qualify calls to avoid ADL.
364 (__select_index): Adjust whitespace.
365 (variant): Add using-declaration to workaround Clang bug.
367 2018-03-22 Jonathan Wakely <jwakely@redhat.com>
370 * include/bits/stl_function.h (greater::__not_overloaded)
371 (less::__not_overloaded, greater_equal::__not_overloaded)
372 (less_equal::__not_overloaded): Fix ambiguous specializations.
373 * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
374 tests for type with overloaded operators.
376 2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
379 * testsuite/experimental/memory_resource/resource_adaptor.cc:
380 xfail execution on 32-bit Solaris/x86.
382 2018-03-21 Jonathan Wakely <jwakely@redhat.com>
384 * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
385 VERIFY instead of assert.
386 * testsuite/20_util/hash/84998.cc: New test.
387 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
388 copy of test adjusted for Debug Mode.
389 * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
392 2018-03-20 François Dumont <fdumont@gcc.gnu.org>
395 * include/bits/stl_bvector.h: Fix std::hash friend declaration.
396 * include/std/bitset: Likewise.
397 * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
399 * include/bits/stl_multimap.h (std::multimap<>): Likewise.
400 * include/bits/stl_multiset.h (std::multiset<>): Likewise.
401 * include/bits/stl_set.h (std::set<>): Likewise.
402 * include/bits/unordered_map.h (std::unordered_map<>): Fix
403 _Hash_merge_helper friend declaration.
404 (std::unordered_multimap<>): Likewise.
405 * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
406 (std::unordered_multiset<>): Likewise.
408 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
410 * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
411 trailing slash for domain level link.
412 * doc/xml/faq.xml: Ditto.
413 * doc/xml/manual/appendix_free.xml (software): Ditto.
414 * doc/xml/manual/intro.xml: Ditto.
415 * doc/xml/manual/spine.xml: Ditto.
416 * doc/xml/spine.xml: Ditto.
418 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
420 * doc/xml/manual/documentation_hacking.xml: Adjust link to
423 2018-03-17 Jonathan Wakely <jwakely@redhat.com>
425 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
428 2018-03-14 Jonathan Wakely <jwakely@redhat.com>
431 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
432 (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
433 to ensure total order for pointers.
434 (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
435 Add operator() overloads for pointer arguments and make generic
436 overloads dispatch to new _S_cmp functions when comparisons would
437 use built-in operators for pointers.
438 * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
440 2018-03-12 Jonathan Wakely <jwakely@redhat.com>
444 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
445 * configure: Regenerate.
446 * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
447 (aligned_alloc): Add using-declaration.
448 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
450 2018-03-09 François Dumont <fdumont@gcc.gnu.org>
452 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
453 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
456 2018-03-09 Jonathan Wakely <jwakely@redhat.com>
459 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
460 Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
462 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
463 src/filesystem/std-ops.cc (create_dir): Likewise.
465 2018-03-08 François Dumont <fdumont@gcc.gnu.org>
467 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
468 (StdListIteratorPrinter): Inherit from latter.
469 (StdFwdListIteratorPrinter): New, inherit from latter.
470 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
471 when iterator has no associated container.
472 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
473 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
475 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
476 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
478 2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
481 * include/std/optional (_Optional_payload): Split into multiple
482 specializations that can handle different cases of trivial or
483 non-trivial assignment operators.
484 * testsuite/20_util/optional/84601.cc: New.
485 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
487 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
490 * include/bits/parse_numbers.h (_Number_help): Add partial
491 specialization to handle digit separators. Adjust partial
492 specialization for recursion temrination to require _Pow == 1ULL.
493 * testsuite/20_util/duration/literals/84671.cc: New
495 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
497 Implement the missing bits of LWG 2769
498 * include/std/any (any_cast(const any&)): Add static_assert.
499 (any_cast(any&)): Likewise.
500 (any_cast(any&&)): Likewise, and remove the handling
501 for copyable-but-not-movable type.
502 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
503 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
506 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
509 * include/std/thread (thread::__make_invoker): Construct tuple
510 directly instead of using make_tuple.
511 * testsuite/30_threads/async/84532.cc: New.
512 * testsuite/30_threads/thread/84532.cc: New.
514 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
516 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
517 (template<> __aligned_buffer): Define as __aligned_membuf alias.
519 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
522 * configure: Regenerate.
524 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
527 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
528 * configure: Regenerate.
529 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
531 * include/Makefile.in: Regenerate.
533 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
536 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
537 Add -ffloat-store to options for m68k and ia32.
539 * doc/xml/faq.xml: Update copyright years.
540 * doc/html/*: Regenerate.
543 * include/std/any (any::__do_emplace): Only set _M_manager after
544 constructing the contained object.
545 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
546 * testsuite/20_util/any/modifiers/83658.cc: New test.
548 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
551 * include/c_global/cstddef (__byte_operand): Define primary template.
552 * testsuite/18_support/byte/81076.cc: New test.
554 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
556 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
557 dg-options and dg-add-options order.
558 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
559 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
561 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
562 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
564 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
566 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
567 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
569 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
571 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
573 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
575 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
577 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
579 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
581 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
583 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
584 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
585 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
586 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
587 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
588 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
589 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
590 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
591 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
593 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
595 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
597 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
600 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
602 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
603 include linux/types.h when checking linux/random.h header.
604 * config.h.in: Regenerate.
606 * src/c++11/random.cc: Conditionally include linux/types.h.
608 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
610 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
612 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
615 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
616 pattern with exact match for std::cerr.
618 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
621 * include/bits/random.h (chi_squared_distribution::param): Update
622 gamma distribution parameter.
623 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
627 * include/std/type_traits (has_unique_object_representations_v): Add
629 * testsuite/20_util/has_unique_object_representations/value.cc: Check
632 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
634 Make optional conditionally
635 trivially_{copy,move}_{constructible,assignable}
636 * include/std/optional (_Optional_payload): Fix the comment in
637 the class head and turn into a primary and one specialization.
638 (_Optional_payload::_M_engaged): Strike the NSDMI.
639 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
641 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
643 (_Optional_payload<_Tp, false>::_M_get): Likewise.
644 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
645 (_Optional_base_impl): Likewise.
646 (_Optional_base): Turn into a primary and three specializations.
647 (optional(nullopt)): Change the base init.
648 * testsuite/20_util/optional/assignment/8.cc: New.
649 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
650 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
652 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
655 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
656 (get_template_arg_list): New.
657 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
659 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
660 of strings and regular expressions.
661 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
662 (FilteringTypePrinter): Add docstring. Match using startswith. Use
663 strip_inline_namespaces instead of strip_versioned_namespace.
664 (add_one_type_printer): Prepend namespace to match argument.
665 (register_type_printers): Add type printers for char16_t and char32_t
666 string types and for types using cxx11 ABI. Update calls to
667 add_one_template_type_printer to provide default argument dicts.
668 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
669 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
670 basic_string<unsigned char> and basic_string<signed char>.
671 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
672 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
674 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
677 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
679 2018-01-13 Tim Shen <timshen@google.com>
682 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
683 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
684 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
686 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
689 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
690 Remove dg-xfail-run-if.
692 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
694 * include/bits/forward_list.h
695 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
696 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
697 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
698 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
699 (_Fwd_list_impl()): Add noexcept qualification.
700 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
701 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
702 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
703 (_Fwd_list_base()): Default.
704 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
705 (_Fwd_list_base(_Fwd_list_base&&)): Default.
706 (forward_list<>()): Default.
707 (forward_list<>(forward_list&&)): Default.
708 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
709 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
710 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
711 * include/bits/forward_list.tcc
712 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
713 _M_impl._M_head move assignment.
714 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
715 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
717 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
720 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
721 (UniquePointerPrinter): Print correct template argument, not type of
723 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
725 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
727 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
728 weak_ptr of array types.
730 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
733 * include/bits/hashtable_policy.h
734 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
736 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
737 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
738 Add false_type parameter.
739 (_Insert_base::insert): Adapt.
740 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
742 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
743 Add __n_elt parameter, defaulted to 1.
744 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
745 policy _M_need_rehash.
746 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
747 produce only 1 rehash if necessary.
748 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
749 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
751 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
752 Jonathan Wakely <jwakely@redhat.com>
754 PR libstdc++/59253 (partial)
755 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
756 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
757 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
759 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
760 of unique_ptr printer.
761 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
762 output of shared_ptr printer.
764 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
767 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
768 unnecessary symlink_status call.
769 (remove_all(const path&, error_code&)): Use filesystem::remove.
770 * src/filesystem/std-ops.cc: Likewise.
773 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
777 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
778 report an error for ENOENT.
779 (remove_all(const path&)): Fix type of result variable.
780 (remove_all(const path&, error_code&)): Use non-throwing increment
781 for directory iterator. Call POSIX remove directly to avoid redundant
782 calls to symlink_status. Do not report errors for ENOENT.
783 * src/filesystem/std-ops.cc: Likewise.
784 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
786 * testsuite/experimental/filesystem/operations/remove_all.cc:
789 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
792 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
793 redundant call to ec.clear().
794 (remove_all(const path&, error_code&))): Do not return an error for
796 * src/filesystem/std-ops.cc: Likewise.
797 * testsuite/27_io/filesystem/operations/remove.cc: New test.
798 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
799 results for non-existent paths.
800 * testsuite/experimental/filesystem/operations/remove.cc: New test.
801 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
802 expected results for non-existent paths.
804 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
805 check status_known once.
806 * include/experimental/bits/fs_ops.h: Likewise.
809 * include/std/functional (__is_byte_like): New trait.
810 (__is_std_equal_to): Remove.
811 (__boyer_moore_base_t): Use __is_byte_like instead of
813 * include/experimental/functional (__is_std_equal_to): Remove.
814 (__boyer_moore_base_t): Use __is_byte_like instead of
816 * testsuite/20_util/function_objects/83607.cc: New test.
818 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
820 Protect optional's deduction guide with the feature macro
821 * include/std/optional: Use the feature macro.
823 2018-01-03 Jakub Jelinek <jakub@redhat.com>
825 Update copyright years.
827 Copyright (C) 2018 Free Software Foundation, Inc.
829 Copying and distribution of this file, with or without modification,
830 are permitted in any medium without royalty provided the copyright
831 notice and this notice are preserved.