2017-10-10 Release Manager * GCC 5.5.0 released. 2017-09-13 Jonathan Wakely * testsuite/20_util/reference_wrapper/80504.cc: Do not use invalid effective-target. * testsuite/22_locale/conversions/buffer/2.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: Likewise. Fix use of test_container. PR libstdc++/81468 * include/std/chrono (time_point(const time_point<_Dur2>&)): Add missing constraint from LWG DR 1177. * testsuite/20_util/duration/cons/dr1177.cc: New. * testsuite/20_util/time_point/cons/81468.cc: New. * testsuite/20_util/duration/literals/range.cc: Update dg-error line. * doc/doxygen/mainpage.html: Fix broken URLs. PR libstdc++/81835 * doc/xml/manual/extensions.xml: Replace unstable URL. * doc/html/manual/ext_demangling.html: Regenerate. * libsupc++/cxxabi.h (__cxa_demangle): Fix broken URL. 2017-09-04 Jonathan Wakely Backport from mainline 2017-08-09 Jonathan Wakely PR libstdc++/79820 PR libstdc++/81751 * config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)): Call fflush on the stream instead of calling sync() while _M_cfile is null. Restore original value of errno. * testsuite/ext/stdio_filebuf/char/79820.cc: New. * testsuite/ext/stdio_filebuf/char/81751.cc: New. Backport from mainline 2017-07-25 Jonathan Wakely PR libstdc++/53984 * include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment. * include/bits/istream.tcc (basic_istream::sentry): Handle exceptions during construction. * include/std/istream: Adjust comments for formatted input functions and unformatted input functions. * testsuite/27_io/basic_fstream/53984.cc: New. * testsuite/27_io/basic_istream/sentry/char/53984.cc: New. Backport from mainline 2017-06-08 Jonathan Wakely PR libstdc++/81017 * include/std/functional (function::function(function&&)) (function::operator=(function&&)): Add noexcept. * testsuite/20_util/function/assign/move.cc: Check for noexcept. * testsuite/20_util/function/cons/move.cc: Likewise. Backport from mainline 2017-06-05 Jonathan Wakely * include/bits/shared_ptr_base.h (__shared_ptr::owner_before) (__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept specifiers as per LWG 2873 and LWG 2942. * testsuite/20_util/owner_less/noexcept.cc: New. * testsuite/20_util/shared_ptr/observers/owner_before.cc: Test noexcept guarantees. * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise. Backport from mainline 2017-08-31 Jonathan Wakely PR c++/82039 * include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate): Adjust null pointer constant to avoid warning. Backport from mainline 2017-08-18 Jonathan Wakely PR libstdc++/81891 * include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator, size_type, const _H1&, const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, const allocator_type&)): Let destructor do clean up if an exception is thrown. * testsuite/23_containers/unordered_map/cons/81891.cc: New. Backport from mainline 2017-07-31 Marek Polacek PR libstdc++/81599 * include/bits/stl_stack.h: Fix typo. Backport from mainline 2017-07-10 Jonathan Wakely PR libstdc++/81338 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): Declare basic_stringbuf to be a friend. * include/bits/sstream.tcc (basic_stringbuf::overflow) [_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating. * include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string length to buffer length. * testsuite/27_io/basic_stringstream/assign/81338.cc: New. 2017-09-01 Jonathan Wakely Backport from mainline 2016-10-06 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Update status. * doc/html/manual/status.html: Regenerate. * include/std/scoped_allocator (__outer_allocator_t, __outermost_type): New helpers for recursive OUTERMOST. (__outermost): Use __outermost_type::_S_outermost. (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove. (scoped_allocator_adaptor::__outermost_alloc_traits): Use new __outermost_type helper. (scoped_allocator_adaptor::_Constructible): New alias template. (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>): Constrain template constructors. * testsuite/20_util/scoped_allocator/3.cc: New test. * testsuite/20_util/scoped_allocator/outermost.cc: New test. 2017-06-16 Jonathan Wakely * include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition. * testsuite/22_locale/conversions/buffer/2.cc: New. * doc/xml/manual/appendix_contributing.xml: Link to the list of bad names, and link to the test docs and note higher DejaGnu version requirement. * doc/xml/manual/allocator.xml: Fix ViewCVS URLs. * doc/xml/manual/mt_allocator.xml: Likewise. * doc/html/*: Regenerate. * include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing return statement. 2017-06-07 Jonathan Wakely PR libstdc++/81002 * include/bits/regex_compiler.h (__compile_nfa): Add template argument list to specify traits type. * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New. 2017-05-18 Jonathan Wakely * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: Replace effective-target with dg-options directive. * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: Likewise. Backport from mainline 2016-08-02 Jonathan Wakely * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if options are present that aren't valid for C. * testsuite/abi/header_cxxabi.c: Likewise. Backport from mainline 2017-04-24 Jonathan Wakely PR libstdc++/80504 * include/std/functional (ref, cref): Qualify calls. * testsuite/20_util/reference_wrapper/80504.cc: New test. Backport from mainline 2017-04-19 Jonathan Wakely PR libstdc++/80448 * include/experimental/bits/fs_dir.h (directory_iterator) (recursive_directory_iterator): Remove noexcept from defaulted constructors. Backport from mainline 2017-04-03 Jonathan Wakely * testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests that no longer fail. Backport from mainline 2017-04-03 Jonathan Wakely * include/bits/ios_base.h: Correct comment. * testsuite/util/testsuite_hooks.h: Likewise. Backport from mainline 2017-03-16 Jonathan Wakely PR libstdc++/67440 * python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name for GDB 7.6 compatibility, use gdb.Type.unqualified instead. Backport from mainline 2017-01-17 Jonathan Wakely PR libstdc++/69699 * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the _GLIBCXX__ macro is not useful. Remove redundant date information and link to the GCC release timeline. (abi.versioning.active): Move partial sentence into the previous paragraph. * doc/html/*: Regenerate. Backport from mainline 2016-12-21 Jonathan Wakely PR libstdc++/71444 * config/os/mingw32-w64/error_constants.h (address_family_not_supported, address_in_use, address_not_available) (already_connected, connection_aborted, connection_already_in_progress) connection_refused, connection_reset, cross_device_link) (destination_address_required, host_unreachable, message_size) (network_down, network_reset, network_unreachable, no_buffer_space) (no_protocol_option, not_a_socket, not_connected, operation_canceled) (operation_in_progress, operation_not_supported, protocol_error) (protocol_not_supported, too_many_links, too_many_symbolic_link_levels) (value_too_large, wrong_protocol_type): Define. (bad_message, identifier_removed, no_link, no_message_available) (no_message, no_stream_resources, not_a_stream, owner_dead) (state_not_recoverable, stream_timeout, text_file_busy): Define conditionally. * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: Guard test for no_message with _GLIBCXX_HAVE_ENOMSG. Backport from mainline 2016-11-09 Tim Shen PR libstdc++/78236 * libstdc++-v3/include/bits/regex.h (regex_iterator::regex_iterator()): Define end() as _M_pregex == nullptr. * libstdc++-v3/include/bits/regex.tcc (regex_iterator::operator==(), regex_iterator::operator++()): Fix operator==() and operator++() to look at null-ness of _M_pregex on both sides. * testsuite/28_regex/regression.cc: New testcase. Backport from mainline 2016-12-15 Jonathan Wakely PR libstdc++/59170 * python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string) (StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string) (StdRbtreeIteratorPrinter.to_string) (StdDequeIteratorPrinter.to_string): Add check for value-initialized iterators. * testsuite/libstdc++-prettyprinters/simple.cc: Test them. * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. Backport from mainline 2016-12-15 Jonathan Wakely PR libstdc++/59161 * python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string) (StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string) (StdRbtreeIteratorPrinter.to_string, StdDequeIteratorPrinter.to_string) (StdDebugIteratorPrinter.to_string): Return string instead of gdb.Value. * testsuite/libstdc++-prettyprinters/59161.cc: New test. Backport from mainline 2016-10-11 Jonathan Wakely * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary): Register printer for std::__cxx11::list. * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match std::__cxx11::list as well as std::list. 2017-05-17 Jonathan Wakely Backport from mainline 2017-03-15  Xi Ruoyao   PR libstdc++/62045 * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp (is_heap): Remove. (push_heap): Remove the wrong checking using is_heap. (make_heap): Remove the assertion using is_heap. * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp (modify): Ditto. (resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after calling make_heap. Backport from mainline 2017-03-15 Jonathan Wakely PR libstdc++/62045 * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: New test. * testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste error in comment. Backport from mainline 2015-11-17 Jonathan Wakely PR libstdc++/66059 * include/std/utility (_Build_index_tuple): Optimise. 2017-03-17 Jonathan Wakely Backport from mainline 2017-03-17 Jonathan Wakely * src/c++11/codecvt.cc (range): Add non-type template parameter and define oerloaded operators for reading and writing code units. (range): Define partial specialization for accessing wide characters in potentially unaligned byte ranges. (ucs2_span(const char16_t*, const char16_t*, ...)) (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters to range in order to avoid unaligned reads. (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out): Use range specialization for unaligned data to avoid unaligned writes. (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in): Likewise for writes. Return error if there are unprocessable trailing bytes. (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length): Pass arguments of type range to span functions. * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. Backport from mainline 2017-03-16 Jonathan Wakely PR libstdc++/79980 * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. PR libstdc++/80041 * src/c++11/codecvt.cc (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_in): Convert char arguments to char16_t to work with UTF-16 instead of UTF-8. * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. * src/c++11/codecvt.cc (codecvt) (codecvt, __codecvt_utf8_base) (__codecvt_utf8_base, __codecvt_utf8_base) (__codecvt_utf16_base, __codecvt_utf16_base) (__codecvt_utf16_base, __codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base): Fix do_encoding() and do_max_length() return values. * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test. PR libstdc++/79980 * include/bits/locale_conv.h (__do_str_codecvt): Set __count on error path. * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads for manipulating codecvt_mode values. (read_utf16_bom): Compare input to BOM constants instead of integral constants that depend on endianness. Take mode parameter by reference and adjust it, to distinguish between no BOM present and UTF-16BE BOM present. (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. (surrogates): New enumeration type. (utf16_in, utf16_out): Add surrogates parameter to choose between UTF-16 and UCS2 behaviour. (utf16_span, ucs2_span): Use std::min not std::max. (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. (ucs2_in): Likewise. Adjust calls to read_utf16_bom. * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. PR libstdc++/79511 * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff as a surrogate pair. (__codecvt_utf8_utf16_base::do_in): Use native endianness for internal representation. (__codecvt_utf8_utf16_base::do_in): Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. 2017-03-14 Jonathan Wakely * testsuite/17_intro/names.cc: Undefine macros that clash with identifiers in AIX system headers. 2017-03-13 Ville Voutilainen PR libstdc++/80034 * include/bits/list.tcc (merge(list&&)): Use const for the size_t in the function and in the catch-block, qualify uses of std::distance. (merge(list&&, _StrictWeakOrdering)): Likewise. * testsuite/23_containers/list/operations/80034.cc: New. 2017-03-02 Jonathan Wakely PR libstdc++/79789 * include/bits/ios_base.h (make_error_code, make_error_condition): Likewise. * include/bits/mask_array.h (mask_array): Likewise. * include/bits/regex.h (regex_token_iterator): Likewise. * include/bits/slice_array.h (slice_array): Likewise. * include/std/memory (undeclare_no_pointers): Likewise. * testsuite/17_intro/names.cc: New test. 2017-02-14 Jonathan Wakely Backport from mainline 2017-01-20 Jonathan Wakely PR libstdc++/69321 * include/experimental/any (__any_caster): Avoid instantiating manager function for types that can't be stored in any. * testsuite/experimental/any/misc/any_cast.cc: Test non-copyable type. * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. Backport from mainline 2017-01-18 Jonathan Wakely PR libstdc++/69301 * include/std/atomic (atomic::load, atomic::exchange): Use aligned buffer instead of default-initialized variable. * testsuite/29_atomics/atomic/69301.cc: New test. * include/ext/pointer.h (_Pointer_adapter::operator++(int)) (_Pointer_adapter::operator--(int)): Likewise. Backport from mainline 2017-01-16 Jonathan Wakely PR libstdc++/78702 * include/bits/locale_classes.h (locale::facet::__shim): Change from private to protected. * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to make locale::facet::__shim accessible. Backport from mainline 2017-01-11 Jonathan Wakely PR libstdc++/78134 * include/bits/stl_map.h (map::lower_bound, map::upper_bound) (map::equal_range): Fix return type of heterogeneous overloads. * include/bits/stl_multimap.h (multimap::lower_bound) (multimap::upper_bound, multimap::equal_range): Likewise. * include/bits/stl_multiset.h (multiset::lower_bound) (multiset::upper_bound, multiset::equal_range): Likewise. * include/bits/stl_set.h (set::lower_bound, set::upper_bound) (set::equal_range): Likewise. * testsuite/23_containers/map/operations/2.cc: Check return types. * testsuite/23_containers/multimap/operations/2.cc: Likewise. * testsuite/23_containers/multiset/operations/2.cc: Likewise. * testsuite/23_containers/set/operations/2.cc: Likewise. Backport from mainline 2017-01-11 Jonathan Wakely PR libstdc++/78273 * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume the heterogeneous comparison can only find one match. * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise. * testsuite/23_containers/map/operations/2.cc: Test count works with comparison function that just partitions rather than sorting. * testsuite/23_containers/set/operations/2.cc: Likewise. 2017-02-01 Jonathan Wakely PR libstdc++/78346 * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator not its referent. (_Iter_comp_to_iter): Likewise. * testsuite/25_algorithms/search/78346.cc: New test. PR libstdc++/79254 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string::operator=(const basic_string&)): If source object is small just deallocate, otherwise perform new allocation before making any changes. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: Test exception-safety of copy assignment when allocator propagates. * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: Likewise. * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make std::swap visible. 2017-01-22 Gerald Pfeifer Merge from mainline 2017-01-01 Gerald Pfeifer * doc/xml/faq.xml: Update address of C++ ABI link. * doc/xml/manual/abi.xml: Ditto. 2017-01-16 Ville Voutilainen Backport from mainline 2017-01-16 Ville Voutilainen PR libstdc++/78389 * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments. (merge(list&&, _StrictWeakOrdering)): Likewise. * testsuite/23_containers/list/operations/78389.cc: Add better test for the sizes. 2017-01-15 Ville Voutilainen Backport from mainline 2017-01-13 Ville Voutilainen PR libstdc++/78389 * include/bits/list.tcc (merge(list&&)): Adjust list sizes if the comparator throws. (merge(list&&, _StrictWeakOrdering)): Likewise. * testsuite/23_containers/list/operations/78389.cc: New. 2017-01-09 Jonathan Wakely * testsuite/30_threads/thread/cons/lwg2097.cc: Compile with -std=gnu++11. * testsuite/25_algorithms/sort/78991.cc: Compile with -std=gnu++14. 2017-01-06 Jonathan Wakely Backport from mainline 2017-01-03 Jonathan Wakely PR libstdc++/78956 * include/std/thread (thread(const thread&&)): Add deleted constructor. * testsuite/30_threads/thread/cons/lwg2097.cc: New test. 2017-01-06 Jonathan Wakely PR libstdc++/78991 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val) (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val) (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit. * testsuite/25_algorithms/sort/78991.cc: New test. 2016-12-19 Ville Voutilainen Backport from mainline 2016-12-19 Ville Voutilainen Make the perfect-forwarding constructor of a two-element tuple sfinae away when the first argument is an allocator_arg. * include/std/tuple (tuple(_U1&&, _U2&&)): Constrain. * testsuite/20_util/tuple/cons/allocator_with_any.cc: New. 2016-12-13 Jonathan Wakely Backport from mainline 2016-10-26 Uros Bizjak * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include for PATH_MAX in realpath test. * configure: Regenerate. Backport from mainline 2016-05-25 Jonathan Wakely * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile. * configure: Regenerate. * config.h.in: Regenerate. 2016-12-12 Jonathan Wakely Backport from mainline 2016-12-07 Jonathan Wakely * testsuite/18_support/headers/new/synopsis.cc: Add C++14 declarations. * testsuite/18_support/headers/new/synopsis_cxx98.cc: New test. 2016-12-12 Jonathan Wakely Backport from mainline 2016-11-22 Jonathan Wakely PR libstdc++/78465 * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests with preprocessor conditions. 2016-12-12 Jonathan Wakely Backport from mainline PR libstdc++/70975 PR libstdc++/71337 PR libstdc++/78111 * include/experimental/bits/fs_dir.h (recursive_directory_iterator): Overload pop (LWG 2706). * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks): Replace with symlink_nofollow (LWG 2720). * include/experimental/bits/fs_ops.h (exists(const path&, error_code&)): Clear error if status is known (LWG 2725). * include/experimental/bits/fs_path.h (__is_path_src) (_S_range_begin, _S_range_end): Overload to treat string_view as a Source object. (path::operator+=, path::compare): Overload for basic_string_view. (path::path(string_type&&)) (path::operator=(string&&), path::assign(string_type&&)): Define construction and assignment from string_type rvalues (LWG 2707). (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from iterator's value_type. (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise. Do not use operation not supported by input iterators. (path::__is_path_iter_src): Add partial specialization for const encoded character types. * src/filesystem/dir.cc (open_dir): Return same value for errors whether ignored or not. (_Dir::advance(error_code*, directory_options)): Return false on error. (directory_iterator(const path&, directory_options, error_code*)): Create end iterator on error (LWG 2723). (recursive_directory_iterator(const path&, directory_options, error_code*)): Likewise. (recursive_directory_iterator::increment): Reset state on error. (recursive_directory_iterator::pop): Define new overload. * src/filesystem/ops.cc (canonical): Set error for non-existent path. (file_time): Take error_code parameter and check for overflow. (close_fd): Remove. (do_copy_file): Report an error if source or destination is not a regular file (LWG 2712). Pass error_code in file_time calls. Just use close(3) instead of close_fd, to prevent retrying on error. Check if _GLIBCXX_USE_FCHMODAT is defined. [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case sendfile fails with ENOSYS or EINVAL. Pass non-null pointer to sendfile for offset argument. (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683 resolutions. (equivalent): Fix error handling and result when only one file exists. (is_empty): Fix error handling. (last_write_time(const path&, error_code&)): Pass error_code in file_time calls. (last_write_time(const path&, file_time_type, error_code&)): Handle negative times correctly. (permissions(const path&, perms, error_code&)): Handle symlink_nofollow. (read_symlink): Add missing ec.clear(). (status(const path&, error_code&)): Handle EOVERFLOW. (temp_directory_path): Pass error_code argument to other filesystem operations. * testsuite/experimental/filesystem/iterators/directory_iterator.cc: Update expected behaviour on error. * testsuite/experimental/filesystem/iterators/pop.cc: New. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: Update expected behaviour on error. * testsuite/experimental/filesystem/operations/copy.cc: Update expected behaviour for copying directories with create_symlinks. Verify that error_code arguments are cleared if there's no error. Remove files created by tests. Test copying directories. * testsuite/experimental/filesystem/operations/copy_file.cc: Remove files created by tests. * testsuite/experimental/filesystem/operations/create_symlink.cc: New. * testsuite/experimental/filesystem/operations/equivalent.cc: New. * testsuite/experimental/filesystem/operations/exists.cc: Test overload taking an error_code. * testsuite/experimental/filesystem/operations/is_empty.cc: New. * testsuite/experimental/filesystem/operations/last_write_time.cc: New. * testsuite/experimental/filesystem/operations/permissions.cc: Test overload taking error_code. Test symlink_nofollow on non-symlinks. * testsuite/experimental/filesystem/operations/read_symlink.cc: New. * testsuite/experimental/filesystem/operations/remove_all.cc: New. * testsuite/experimental/filesystem/operations/temp_directory_path.cc: Add testcase for inaccessible directory. * testsuite/experimental/filesystem/path/construct/range.cc: Test construction from input iterators with const value types. * testsuite/experimental/filesystem/path/construct/string_view.cc: New. * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper. 2016-12-07 Ville Voutilainen Backport from mainline 2016-12-06 Ville Voutilainen Constrain optional's __constexpr_addressof in its return type and use a constexpr addressof for optional, if available. * include/experimental/optional (__constexpr_addressof): Constrain in the return type instead of in a template parameter. (_Has_addressof_mem) (_Has_addressof_free, _Has_addressof, __constexpr_addressof): Guard with #ifndef __cpp_lib_addressof_constexpr. (operator->()): Use std::__addressof if it's constexpr. 2016-12-06 Aditya Kumar * src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add noexcept on constructor. (_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same. 2016-12-01 Rainer Orth Backport from mainline 2016-11-21 Rainer Orth * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments. (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ... (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this. Add test for C++11 integral overloads. * configure: Regenerate. * config.h.in: Regenerate. * include/c_global/cmath [__cplusplus >= 201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename. * include/c_global/cmath [_GLIBCXX_USE_C99_MATH && !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L] (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT. (std::isfinite): Likewise. (std::isinf): Likewise. (std::isnan): Likewise. (std::isnormal): Likewise. (std::signbit): Likewise. (std::isgreater): Likewise. (std::isgreaterequal): Likewise. (std::isless): Likewise. (std::islessequal): Likewise. (std::islessgreater): Likewise. (std::isunordered): Likewise. [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1] (std::acosh): Likewise. (std::asinh): Likewise. (std::atanh): Likewise. (std::cbrt): Likewise. (std::copysign): Likewise. (std::erf): Likewise. (std::erfc): Likewise. (std::exp2): Likewise. (std::expm1): Likewise. (std::fdim): Likewise. (std::fma): Likewise. (std::fmax): Likewise. (std::fmin): Likewise. (std::hypot): Likewise. (std::ilogb): Likewise. (std::lgamma): Likewise. (std::llrint): Likewise. (std::llround): Likewise. (std::log1p): Likewise. (std::log2): Likewise. (std::logb): Likewise. (std::lrint): Likewise. (std::lround): Likewise. (std::nearbyint): Likewise. (std::nextafter): Likewise. (std::nexttoward): Likewise. (std::remainder): Likewise. (std::remquo): Likewise. (std::rint): Likewise. (std::round): Likewise. (std::scalbln): Likewise. (std::scalbn): Likewise. (std::tgamma): Likewise. (std::trunc): Likewise. * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >= 201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename. 2016-11-23 Jonathan Wakely * testsuite/24_iterators/reverse_iterator/71771.cc: Replace calls to C++14 std::rbegin and std::rend. Use dg-options instead of effective-target. 2016-11-22 Uros Bizjak * testsuite/Makefile.am (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection of -j argument. * testsuite/Makefile.in: Regenereate. 2016-11-15 Jonathan Wakely * testsuite/experimental/any/typedefs.cc: Fix license text. * testsuite/experimental/chrono/value.cc: Likewise. * testsuite/experimental/optional/assignment/1.cc: Likewise. * testsuite/experimental/optional/assignment/2.cc: Likewise. * testsuite/experimental/optional/assignment/3.cc: Likewise. * testsuite/experimental/optional/assignment/4.cc: Likewise. * testsuite/experimental/optional/assignment/5.cc: Likewise. * testsuite/experimental/optional/assignment/6.cc: Likewise. * testsuite/experimental/optional/cons/move.cc: Likewise. * testsuite/experimental/optional/cons/value.cc: Likewise. * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise. * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise. * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise. * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise. * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise. * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise. * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise. * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise. * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise. * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise. * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise. * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise. * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise. * testsuite/experimental/optional/make_optional.cc: Likewise. * testsuite/experimental/optional/observers/1.cc: Likewise. * testsuite/experimental/optional/observers/2.cc: Likewise. * testsuite/experimental/optional/observers/3.cc: Likewise. * testsuite/experimental/optional/observers/4.cc: Likewise. * testsuite/experimental/optional/observers/5.cc: Likewise. * testsuite/experimental/optional/relops/1.cc: Likewise. * testsuite/experimental/optional/relops/2.cc: Likewise. * testsuite/experimental/optional/relops/3.cc: Likewise. * testsuite/experimental/optional/relops/4.cc: Likewise. * testsuite/experimental/optional/relops/5.cc: Likewise. * testsuite/experimental/optional/relops/6.cc: Likewise. * testsuite/experimental/optional/requirements.cc: Likewise. * testsuite/experimental/optional/swap/1.cc: Likewise. * testsuite/experimental/optional/typedefs.cc: Likewise. * testsuite/experimental/ratio/value.cc: Likewise. * testsuite/experimental/string_view/typedefs.cc: Likewise. * testsuite/experimental/system_error/value.cc: Likewise. * testsuite/experimental/tuple/tuple_size.cc: Likewise. * testsuite/experimental/type_traits/value.cc: Likewise. 2016-10-20 Jonathan Wakely PR libstdc++/78052 * include/bits/allocator.h (allocator::construct) (allocator::destroy): Define. * testsuite/20_util/allocator/void.cc: New test. 2016-10-19 Jonathan Wakely PR libstdc++/77990 * include/bits/unique_ptr.h (unique_ptr::unique_ptr(pointer)): Set pointer member after value-initialization of tuple. * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-errors. * testsuite/20_util/unique_ptr/cons/77990.cc: New test. 2016-10-17 Jonathan Wakely Backport from mainline: 2016-10-10 Jonathan Wakely * doc/xml/manual/appendix_contributing.xml (contrib.organization): Replace with nested elements. Update some more outdated text. * doc/html/*: Regenerate. Backport from mainline: 2016-10-10 Jonathan Wakely * doc/xml/manual/appendix_contributing.xml (contrib.organization): Describe other subdirectories and add markup. Remove outdated reference to check-script target. 2016-10-17 Jonathan Wakely Backport from mainline: 2016-10-13 Jonathan Wakely * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY instead of assert. 2016-10-17 Jonathan Wakely Backport from mainline: 2016-10-11 Jonathan Wakely * include/experimental/string_view (basic_string_view::_S_compare): Remove redundant const from return type. 2016-10-17 Jonathan Wakely Backport from mainline: 2016-10-13 Jonathan Wakely * include/experimental/functional (boyer_moore_searcher) (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers with _GLIBCXX_STD_C. 2016-10-17 Jonathan Wakely Backport from mainline: 2016-08-22 Jonathan Wakely PR libstdc++/77322 * doc/xml/manual/intro.xml: Document DR 2062 change. * include/std/functional (function::swap): Add noexcept. (swap(function Backport from mainline: 2016-08-17 Jonathan Wakely * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do directive and use effective target instead of dg-options. 2016-10-17 Jonathan Wakely Backport from mainline: 2016-08-06 Jonathan Wakely PR libstdc++/72820 * include/std/functional (_Function_base::_Base_manager::_M_clone): Qualify new operator. * testsuite/20_util/function/cons/72820.cc: New test. 2016-10-17 Jonathan Wakely PR libstdc++/77994 * include/experimental/algorithm (experimental::sample): Convert size argument to iterator difference type. Fix invalid use of input iterator. Defend against overloaded comma operator. 2016-10-05 Jonathan Wakely PR libstdc++/70564 * include/experimental/functional (_Not_fn): Add second parameter to disambiguate copying from initialization by not_fn. (not_fn): Add second argument to initialization. * testsuite/experimental/functional/not_fn.cc: Copy call wrapper using direct-initialization. Test abstract class. PR libstdc++/77864 * include/bits/stl_map.h (map::map()): Use nothrow constructibility of comparison function in conditional noexcept. * include/bits/stl_multimap.h (multimap::multimap()): Likewise. * include/bits/stl_multiset.h (multiset::multiset()): Likewise. * include/bits/stl_set.h (set::set()): Likewise. * testsuite/23_containers/map/cons/noexcept_default_construct.cc: New test. * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc: Likewise. * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc: Likewise. * testsuite/23_containers/set/cons/noexcept_default_construct.cc: Likewise. 2016-10-03 Jonathan Wakely PR libstdc++/68323 PR libstdc++/77794 * config/abi/pre/gnu-versioned-namespace.ver: Add export for __cxa_thread_atexit. * include/Makefile.am: Add * include/Makefile.in: Regenerate. * src/filesystem/Makefile.in: Likewise. * include.bits/basic_string.h: Fix nesting of versioned namespaces. * include/bits/c++config: Declare versioned namespaces for literals. * include/bits/regex.h (basic_regex, match_results): Add workarounds for PR c++/59256. * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace. * include/std/chrono: Likewise. * include/std/complex: Likewise. * include/experimental/fs_fwd.h: Declare versioned namespace. * include/experimental/lfts_config.h: Declare versioned namespaces. * include/experimental/algorithm: Include . * include/experimental/any: Likewise. * include/experimental/chrono: Likewise. * include/experimental/functional: Likewise. * include/experimental/optional: Likewise. * include/experimental/ratio: Likewise. * include/experimental/system_error: Likewise. * include/experimental/tuple: Likewise. * include/experimental/type_traits: Likewise. * include/experimental/string_view: Likewise. Fix nesting of versioned namespaces. * include/experimental/string_view.tcc: Reopen inline namespace for non-inline function definitions. * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test. * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line. * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise. * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise. 2016-09-28 Jonathan Wakely PR libstdc++/77686 * include/std/functional (_Any_data): Add may_alias attribute. 2016-09-27 Jonathan Wakely * include/debug/safe_iterator.h (_Safe_iterator::operator++()): Fix lifetime of lock. 2016-09-20 Jonathan Wakely * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__) (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division. 2016-09-19 Jonathan Wakely PR libstdc++/77645 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__) (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of division to int to work with Python 3. 2016-08-23 Jonathan Wakely * testsuite/23_containers/map/77334.cc: Use dg-options for C++11. PR libstdc++/77334 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions. (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign. Include _Compare in noexcept. * testsuite/23_containers/map/77334.cc: New test. 2016-08-23 Jonathan Wakely * doc/xml/api.xml: Replace hardcoded links for specific versions with link to docs for all releases. * doc/html/*: Regenerate. * include/bits/stl_iterator.h (operator-(reverse_iterator, reverse_iterator): Constrain for C++11 and later. * testsuite/24_iterators/reverse_iterator/71771.cc: New test. 2016-08-06 Jonathan Wakely Backport from mainline 2016-08-05 Jonathan Wakely * include/std/functional (function::_Callable): Use lvalue in result_of expression. * testsuite/20_util/function/cons/refqual.cc: New test. Backport from mainline 2016-07-22 Jonathan Wakely PR libstdc++/71964 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator. * testsuite/23_containers/set/allocator/71964.cc: New test. Backport from mainline 2016-08-02 Jonathan Wakely * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: Likewise. Backport from mainline 2016-01-18 Jonathan Wakely PR libstdc++/69243 * include/std/functional (_Function_base::_M_not_empty_function): Change overloads for pointers to take arguments by value. * testsuite/20_util/function/cons/57465.cc: Add tests for pointer-to-member cases. * doc/xml/manual/status_cxx2011.xml: Change "mainline GCC SVN" to refer to the release series. * doc/xml/manual/status_cxx2014.xml: Likewise. * doc/html/manual/status.xml: Regenerate. * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve comments. 2016-08-02 Jonathan Wakely * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to additional flags for compiling libtestc++.a objects. 2016-07-19 Jonathan Wakely Backport from mainline 2016-06-06 Jonathan Wakely PR libstdc++/71320 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)): Add or remove permissions according to perms argument. * testsuite/experimental/filesystem/operations/permissions.cc: New test. 2016-07-12 Jonathan Wakely Backport from mainline 2015-10-02 Jonathan Wakely * testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard explicit instantiation with check for new ABI. * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: Likewise. Use wchar_t as char_type. Backport from mainline 2015-09-11 Jonathan Wakely PR libstdc++/58265 * doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions. * doc/html/manual/bugs.html: Regenerate. * include/bits/basic_string.h (basic_string): Implement N4258. Add correct exception-specifications and propagate allocators correctly. * include/bits/basic_string.tcc (basic_string::swap): Propagate allocators correctly. * include/debug/string (__gnu_debug::basic_string): Add correct exceptions-specifications and allcoator-extended constructors. * testsuite/21_strings/basic_string/allocator/char/copy.cc: New. * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: New. * testsuite/21_strings/basic_string/allocator/char/minimal.cc: New. * testsuite/21_strings/basic_string/allocator/char/move.cc: New. * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: New. * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New. * testsuite/21_strings/basic_string/allocator/char/swap.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New. * testsuite/util/testsuite_allocator.h (tracker_allocator): Define defaulted assignment operators. 2016-07-08 Jonathan Wakely Backport from mainline 2015-06-02 Jonathan Wakely * doc/html/ext/lwg-active.html: Update to R93. * doc/html/ext/lwg-closed.html: Likewise. * doc/html/ext/lwg-defects.html: Likewise. * doc/html/manual/*: Regenerate. * doc/xml/manual/intro.xml: Document status of several DRs. 2016-07-04 Ville Voutilainen Backport from mainline 2016-07-04 Ville Voutilainen PR libstdc++/71313 * src/filesystem/ops.cc (remove_all(const path&, error_code&)): Call remove_all for children of a directory. * testsuite/experimental/filesystem/operations/create_directories.cc: Adjust. 2016-06-03 Release Manager * GCC 5.4.0 released. 2016-05-26 Jonathan Wakely Backport from mainline 2016-04-24 Jonathan Wakely PR libstdc++/70762 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use static counter to return a different path on every call. * testsuite/experimental/filesystem/path/native/string.cc: Add dg-require-filesystem-ts directive. 2016-05-25 Jonathan Wakely Backport from mainline 2016-04-20 Jonathan Wakely PR libstdc++/69703 * src/c++11/codecvt.cc (__codecvt_utf8_base::do_in, __codecvt_utf8_utf16_base::do_in): Fix mask operations. Backport from mainline 2016-04-19 Jonathan Wakely PR libstdc++/69703 * src/c++11/codecvt.cc (__codecvt_utf8_base::do_in)): Override endianness bit in mode. * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test that little_endian mode is ignored. * testsuite/experimental/filesystem/path/native/string.cc: New test. 2016-05-25 Jonathan Wakely Backport from mainline 2016-05-10 Jonathan Wakely * include/experimental/bits/fs_dir.h (begin, end): Add noexcept. * testsuite/experimental/filesystem/iterators/directory_iterator.cc: Test begin and end functions. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: Likewise. 2016-05-25 Jonathan Wakely Backport from mainline 2016-05-10 Jonathan Wakely PR libstdc++/71038 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions. * testsuite/experimental/filesystem/operations/copy_file.cc: New test. 2016-05-25 Jonathan Wakely Backport from mainline 2016-05-10 Jonathan Wakely * include/experimental/bits/fs_dir.h (__directory_iterator_proxy): Overload operator* to move from rvalues. 2016-05-25 Jonathan Wakely Backport from mainline 2016-05-10 Jonathan Wakely PR libstdc++/71036 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir. * testsuite/experimental/filesystem/operations/create_directory.cc: New test. 2016-05-25 Jonathan Wakely Backport from mainline 2016-05-10 Jonathan Wakely PR libstdc++/71037 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add base path to exception. * testsuite/experimental/filesystem/operations/canonical.cc: Test paths contained in exception. 2016-05-25 Jonathan Wakely Backport from mainline 2016-05-10 Jonathan Wakely PR libstdc++/71005 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy): New type. (directory_iterator::operator++(int)): Return proxy. (recursive_directory_iterator::operator++(int)): Likewise. * testsuite/experimental/filesystem/iterators/directory_iterator.cc: Test post-increment. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: Likewise. 2016-05-25 Jonathan Wakely Backport from mainline 2016-05-09 Jonathan Wakely PR libstdc++/71004 * include/experimental/bits/fs_dir.h (recursive_directory_iterator): Initialize scalar member variables in default constructor. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: Test default construction. 2016-05-25 Jonathan Wakely Backport from mainline 2016-04-19 Jonathan Wakely PR libstdc++/70609 * src/filesystem/ops.cc (close_fd): New function. (do_copy_file): Set permissions before copying file contents. Check result of closing file descriptors. Don't copy streambuf when file is empty. (copy(const path&, const path&, copy_options, error_code&)): Use lstat for source file when copy_symlinks is set. * testsuite/experimental/filesystem/operations/copy.cc: Test copy(). 2016-05-25 Jonathan Wakely Backport from mainline 2016-04-19 Jonathan Wakely * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^, operator~ operator&=, operator|=, operator^=): Add noexcept to overloaded operators for copy_options, perms and directory_options. * src/filesystem/ops.cc (make_file_type, make_file_status, is_not_found_errno, file_time): Add noexcept. 2016-04-20 Jonathan Wakely Backport from mainline 2016-01-26 Jonathan Wakely PR libstdc++/69478 * include/bits/stl_algobase.h (__copy_move<_IsMove, true, random_access_iterator_tag>): Check is_move_assignable when moving. (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>): Likewise. * testsuite/25_algorithms/copy/move_iterators/69478.cc: New. * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New. * testsuite/25_algorithms/move/69478.cc: New. * testsuite/25_algorithms/move_backward/69478.cc: New. Backport from mainline 2016-04-05 Jonathan Wakely PR libstdc++/70503 * src/c++11/thread.cc (execute_native_thread_routine, execute_native_thread_routine_compat): Give internal linkage. * testsuite/30_threads/thread/70503.cc: New test. Backport from mainline 2016-01-25 Jonathan Wakely PR libstdc++/69464 * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/bits/random.h (uniform_int_distribution): Move to bits/uniform_int_dist.h. * include/bits/random.tcc (uniform_int_distribution::operator(), uniform_int_distribution::__generate_impl): Likewise. * include/bits/uniform_int_dist.h: New header. * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include instead of . * testsuite/20_util/specialized_algorithms/uninitialized_copy/ move_iterators/1.cc: Include correct header for uninitialized_copy. * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/ move_iterators/1.cc: Likewise. * testsuite/25_algorithms/nth_element/58800.cc: Include correct header for vector. * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines. * testsuite/libstdc++-prettyprinters/whatis.cc: Include . 2016-04-06 Eric Botcazou * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null. * src/Makefile.in: Regenerate. 2016-02-24 Jonathan Wakely PR libstdc++/69939 * include/experimental/tuple (__apply_impl): Qualify get and forward. 2016-02-16 Tim Shen Backport from mainline 2016-02-16 Tim Shen PR libstdc++/69794 * include/bits/regex_scanner.h: Add different special character sets for grep and egrep regex. * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly. * testsuite/28_regex/regression.cc: Add new testcase. 2016-02-11 Jonathan Wakely PR libstdc++/60976 * include/bits/alloc_traits.h (allocator_traits>): Define partial specialization. * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and destroy members to std::allocator explicit specialization. 2016-02-10 Jonathan Wakely PR libstdc++/69116 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only define result_type for types which can be safely used with valarrays. * testsuite/26_numerics/valarray/69116.cc: New. 2016-01-18 Jonathan Wakely PR libstdc++/60637 * include/c_global/cmath (signbit) [__cplusplus < 201103L]: Use __builtin_signbitf or __builtin_signbitl as appropriate. * testsuite/26_numerics/headers/cmath/60637.cc: New. 2016-01-16 H.J. Lu Backport from mainline * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add __int128 symbols. 2016-01-12 Jonathan Wakely PR libstdc++/69092 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>): Remove _GLIBCXX_NOEXCEPT. testsuite/21_strings/basic_string/cons/char/69092.cc: New. PR libstdc++/68995 * include/std/functional (_Function_handler::_M_invoke): Qualify __callable_functor. * testsuite/20_util/function/68995.cc: New. PR libstdc++/69005 PR libstdc++/69222 * include/std/functional (function::_Invoke): Remove, use result_of. (function::_Callable): Replace alias template with class template and use partial specialization instead of _NotSelf alias template. (function(_Functor)): Add "not self" constraint so that _Callable is not used while type is incomplete. * testsuite/20_util/function/69222.cc: New. 2015-12-27 Edward Smith-Rowland <3dw4rd@verizon.net> * include/bits/c++0x_warning.h Remove experimental language. 2015-12-16 Jonathan Wakely PR libstdc++/68912 * include/std/functional (_Bind::operator()): Use lvalue functor to deduce return type. * testsuite/20_util/bind/68912.cc: New. PR libstdc++/68921 * src/c++11/futex.cc (__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer as timeout argument. 2015-12-15 Tim Shen Backport from mainline 2015-12-15 Tim Shen PR libstdc++/68863 * include/bits/regex_executor.tcc (_Executor::_M_lookahead): Copy the captured content for lookahead, so that the backreferences inside can refer to them. * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc: New testcase. 2015-12-11 Jonathan Wakely * doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages. * include/backward/strstream: Correct @file comment. * include/bits/forward_list.h: Improve Doxygen comments. * include/bits/locale_facets_nonio.h: Likewise. * include/debug/vector (_Safe_vector): Add @brief section to comment. * include/experimental/fs_fwd.h: Correct @file comment. * include/experimental/fs_ops.h: Likewise. * include/experimental/string_view.tcc: Likewise. * include/experimental/optional: Document experimental status. * include/experimental/string_view: Correct @file comment. * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce whitespace to avoid Doxygen bug. * include/std/bitset: Remove redundant @class Doxygen command. Add parentheses to avoid Doxygen bug. * include/std/mutex: Improve Doxygen comments. * include/tr2/dynamic_bitset: Add missing @param documentation. * scripts/run_doxygen: Rename man pages for std::experimental types. 2015-12-08 Jonathan Wakely * doc/xml/manual/abi.xml: Backport documentation improvements from mainline. * doc/xml/manual/configure.xml: Likewise. * doc/xml/manual/diagnostics.xml: Likewise. * doc/xml/manual/extensions.xml: Likewise. * doc/xml/manual/status_cxx2011.xml: Likewise. * doc/xml/manual/status_cxx2014.xml: Likewise. * doc/xml/manual/using.xml: Likewise. * doc/html/*: Regenerate. 2015-12-04 Jonathan Wakely PR libstdc++/56383 * testsuite/20_util/enable_shared_from_this/56383.cc: New. * include/bits/shared_ptr_base.h (__enable_shared_from_this): Make friend declaration match previous declaration of __enable_shared_from_this_helper. * include/bits/shared_ptr.h (enable_shared_from_this): Likewise. 2015-12-04 Jonathan Wakely * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition after __is_encoded_char explicit specializations. 2015-12-04 Jason Merrill * include/bits/c++config: Fix abi_tag in special modes. 2015-12-04 Release Manager * GCC 5.3.0 released. 2015-11-26 Jonathan Wakely * testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to dg-options and avoid use of uniform-init. * testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to dg-options and avoid use of uniform-init. 2015-11-26 David Edelsohn * configure: Regenerate. 2015-11-25 Jonathan Wakely Backport from mainline 2015-11-12 Jonathan Wakely PR libstdc++/56158 * include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate): Define enumerators to ensure all values of type int are valid values of the enumeration type. * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases. * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. Backport from mainline 2015-09-17 Jonathan Wakely * include/bits/allocator.h (__shrink_to_fit_aux::_S_do_it): Do nothing if exceptions are disabled. * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise. 2015-11-24 Rainer Orth * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test. * configure.ac: Use it. * configure: Regenerate. * config.h.in: Regenerate. * include/c_global/cmath [__cplusplus >= 201103L] (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO. (std::isfinite): Likewise. (std::isinf): Likewise. (std::isnan): Likewise. (std::isnormal): Likewise. (std::signbit): Likewise. (std::isgreater): Likewise. (std::isgreaterequal): Likewise. (std::isless): Likewise. (std::islessequal): Likewise. (std::islessgreater): Likewise. (std::isunordered): Likewise. (std::acosh): Likewise. (std::asinh): Likewise. (std::atanh): Likewise. (std::cbrt): Likewise. (std::copysign): Likewise. (std::erf): Likewise. (std::erfc): Likewise. (std::exp2): Likewise. (std::expm1): Likewise. (std::fdim): Likewise. (std::fma): Likewise. (std::fmax): Likewise. (std::fmin): Likewise. (std::hypot): Likewise. (std::ilogb): Likewise. (std::lgamma): Likewise. (std::llrint): Likewise. (std::llround): Likewise. (std::log1p): Likewise. (std::log2): Likewise. (std::logb): Likewise. (std::lrint): Likewise. (std::lround): Likewise. (std::nearbyint): Likewise. (std::nextafter): Likewise. (std::nexttoward): Likewise. (std::remainder): Likewise. (std::remquo): Likewise. (std::rint): Likewise. (std::round): Likewise. (std::scalbln): Likewise. (std::scalbn): Likewise. (std::tgamma): Likewise. (std::trunc): Likewise. * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO. (std::tr1::asinh): Likewise. (std::tr1::atanh): Likewise. (std::tr1::cbrt): Likewise. (std::tr1::copysign): Likewise. (std::tr1::erf): Likewise. (std::tr1::erfc): Likewise. (std::tr1::exp2): Likewise. (std::tr1::expm1): Likewise. (std::tr1::fabs): Likewise. (std::tr1::fdim): Likewise. (std::tr1::fma): Likewise. (std::tr1::fmax): Likewise. (std::tr1::fmin): Likewise. (std::tr1::hypot): Likewise. (std::tr1::ilogb): Likewise. (std::tr1::lgamma): Likewise. (std::tr1::llrint): Likewise. (std::tr1::llround): Likewise. (std::tr1::log1p): Likewise. (std::tr1::log2): Likewise. (std::tr1::logb): Likewise. (std::tr1::lrint): Likewise. (std::tr1::lround): Likewise. (std::tr1::nearbyint): Likewise. (std::tr1::nextafter): Likewise. (std::tr1::nexttoward): Likewise. (std::tr1::remainder): Likewise. (std::tr1::remquo): Likewise. (std::tr1::rint): Likewise. (std::tr1::scalbln): Likewise. (std::tr1::scalbn): Likewise. (std::tr1::tgamma): Likewise. (std::tr1::trunc): Likewise. (std::tr1::pow): Likewise. * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: Restrict dg-xfail-if to *-*-solaris2.1[01]*. 2015-11-20 Jan Kratochvil PR libstdc++/68448 * python/hook.in: Call register_libstdcxx_printers. * python/libstdcxx/v6/__init__.py: Wrap it to register_libstdcxx_printers. 2015-11-16 Doug Evans PR libstdc++/67440 * python/libstdcxx/v6/printers.py (find_type): Handle "const" in type name. * testsuite/libstdc++-prettyprinters/debug.cc: Add test for const set. * testsuite/libstdc++-prettyprinters/simple.cc: Ditto. * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto. 2015-11-10 Jonathan Wakely PR libstdc++/68190 * include/bits/stl_multiset.h (multiset::find): Fix return types. * include/bits/stl_set.h (set::find): Likewise. * testsuite/23_containers/map/operations/2.cc: Test find return types. * testsuite/23_containers/multimap/operations/2.cc: Likewise. * testsuite/23_containers/multiset/operations/2.cc: Likewise. * testsuite/23_containers/set/operations/2.cc: Likewise. 2015-10-08 Jonathan Wakely Backport from mainline 2015-09-17 Jonathan Wakely PR libstdc++/65913 * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(), __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the immediate pointer value, not a variable. * include/std/atomic (atomic::is_lock_free()): Likewise. * testsuite/29_atomics/atomic/65913.cc: New. 2015-10-07 Jonathan Wakely Backport Filesystem TS fixes from mainline. PR libstdc++/67173 PR libstdc++/67747 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION and PATH_MAX for _GLIBCXX_USE_REALPATH. Remove _GLIBCXX_ prefix from HAVE_STRUCT_DIRENT_D_TYPE. * config.h.in: Regenerate. * configure: Regenerate. * include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T] (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable. * include/experimental/fs_dir.h (operator==, operator==): Use owner_before instead of pointer equality. (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. * include/experimental/fs_path.h (operator==, operator==): * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T] (path::wstring, path::generic_wstring): Disable. * src/filesystem/path.cc (path::_S_convert_loc) [!_GLIBCXX_USE_WCHAR_T]: Skip conversion. * src/filesystem/Makefile.am: Add cxx11_abi_sources. * src/filesystem/Makefile.in: Regenerate. * src/filesystem/cow-dir.cc: New. * src/filesystem/cow-ops.cc: New. * src/filesystem/cow-path.cc: New. * src/filesystem/dir.cc: Define macro for new ABI. (native_readdir): Remove. (_Dir::advance): Use readdir instead of native_readdir. (recursive_directory_iterator(const path&, directory_options, error_code*)): Use swap instead of reset. (ErrorCode): Remove. (_Dir::advance): Change ErrorCode parameter to error_code*, add directory_options parameter and check it on error. (opendir): Rename to open_dir to avoid clashing with macro. Change ErrorCode parameter to error_code*. (make_shared_dir): Remove. (native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno. (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. (directory_iterator(const path&, directory_options, error_code*)): Pass options to _Dir::advance and create non-end iterator on error. (recursive_directory_iterator(const path&, directory_options, error_code*)): Clear error_code on ignored error, create non-end iterator otherwise. (recursive_directory_iterator::increment): Pass _M_options to _Dir::advance. (recursive_directory_iterator::pop): Likewise. * src/filesystem/ops.cc: Define macro for new ABI. (canonical) [!_GLIBCXX_USE_REALPATH]: Add alternative implementation. (is_dot, is_dotdot): Define new helpers. (create_directories): Fix error handling. * src/filesystem/path.cc: Define macro for new ABI. (path::_S_convert_loc) [!_GLIBCXX_USE_WCHAR_T]: Skip conversion. * testsuite/experimental/filesystem/iterators/directory_iterator.cc: New. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: New. * testsuite/experimental/filesystem/operations/canonical.cc: New. * testsuite/experimental/filesystem/operations/create_directories.cc: New. * testsuite/experimental/filesystem/operations/exists.cc: Add more tests. * testsuite/experimental/filesystem/operations/absolute.cc: Add test variables. * testsuite/experimental/filesystem/operations/copy.cc: Likewise. * testsuite/experimental/filesystem/operations/current_path.cc: Likewise. * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. * testsuite/experimental/filesystem/operations/status.cc: Likewise. * testsuite/experimental/filesystem/operations/temp_directory_path.cc: Likewise. * testsuite/experimental/filesystem/path/assign/assign.cc: Check for wchar_t support. * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise. * testsuite/experimental/filesystem/path/construct/range.cc: Likewise. 2015-10-02 Jonathan Wakely PR libstdc++/65049 * include/bits/char_traits.h (char_traits::compare, char_traits::find, char_traits::move, char_traits::copy, char_traits::assign): Check for zero length. (char_traits::compare, char_traits::find, char_traits::move, char_traits::copy, char_traits::assign): Likewise. (char_traits::move, char_traits::copy): Likewise. (char_traits::move, char_traits::copy): Likewise. * include/ext/pod_char_traits.h (char_traits>::move, char_traits>::copy): Likewise. * testsuite/21_strings/char_traits/requirements/char/65049.cc: New. * testsuite/21_strings/char_traits/requirements/char16_t/65049.cc: New. * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc: New. * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc: New. PR libstdc++/67707 * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize empty object. * testsuite/23_containers/deque/allocator/move.cc: Check moved-from deque. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. PR libstdc++/65142 * src/c++11/random.cc (random_device::_M_getval()): Check read result and retry after short reads. 2015-09-03 Jonathan Wakely * include/std/shared_mutex (shared_timed_mutex::shared_timed_mutex): Replace throw with __throw_bad_alloc. PR libstdc++/66998 * include/experimental/functional (_Not_fn): Add exception specifications and non-deduced return types. (not_fn): Add exception specification and wrap pointer-to-member. * testsuite/experimental/functional/not_fn.cc: Test in SFINAE context and test pointer-to-member. Backport from mainline 2015-08-27 Jonathan Wakely PR libstdc++/67374 * include/bits/range_access.h (valarray, begin, end): Declare. * testsuite/26_numerics/valarray/range_access.cc: Test const overloads. * testsuite/26_numerics/valarray/range_access2.cc: New. Backport from mainline 2015-07-24 Jonathan Wakely * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX] (_M_load_and_test_until): Whitespace. (_M_load_and_test): Value-initialize the unused durations. (_M_load_when_equal): Add missing return value. Backport from mainline 2015-07-13 Jonathan Wakely PR libstdc++/66855 * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override endianness bit in mode. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New. Backport from mainline 2015-04-27 Dmitry Prokoptsev Michael Hanselmann PR libstdc++/62258 * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of uncaught exceptions. * testsuite/18_support/exception_ptr/62258.cc: New. 2015-08-28 Tim Shen Backport from mainline 2015-08-28 Tim Shen PR libstdc++/67362 * include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal): Always returns ordinary char token if the char isn't considered a special char. * testsuite/28_regex/regression.cc: New test file for collecting regression testcases from, typically, bugzilla. 2015-08-20 Jonathan Wakely * python/Makefile.am: Ensure gdb.py is installed for libstdc++ not libstdc++fs. * python/Makefile.in: Regenerate. 2015-08-18 Jonathan Wakely Backport Filesystem TS from mainline * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS, GLIBCXX_CHECK_FILESYSTEM_DEPS): Define. * configure.ac: Use them. * configure: Regenerate. * config.h.in: Regenerate. * include/Makefile.am: Add filesystem headers. Fix order of headers. * include/Makefile.in: Regenerate. * include/bits/locale_conv.h (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out, wstring_convert): Refactor to move all conversion logic to non-member functions. * include/bits/quoted_string.h (_Quoted_string, operator<<, operator>>): Move from to new header. * include/experimental/filesystem: New. * include/experimental/fs_dir.h: New. * include/experimental/fs_fwd.h: New. * include/experimental/fs_ops.h: New. * include/experimental/fs_path.h: New. * include/std/iomanip (_Quoted_string, operator<<, operator>>): Move to . * libstdcxx/v6/printers.py (StdExpPathPrinter): Define. * scripts/testsuite_flags.in: Add filesystem dir to ldflags. * src/Makefile.am: Add filesystem sub-dir. * src/Makefile.in: Regenerate. * src/filesystem/Makefile.am: New. * src/filesystem/Makefile.in: New. * src/filesystem/dir.cc: New. * src/filesystem/ops.cc: New. * src/filesystem/path.cc: New. * testsuite/experimental/filesystem/operations/absolute.cc: New. * testsuite/experimental/filesystem/operations/copy.cc: New. * testsuite/experimental/filesystem/operations/current_path.cc: New. * testsuite/experimental/filesystem/operations/exists.cc: New. * testsuite/experimental/filesystem/operations/file_size.cc: New. * testsuite/experimental/filesystem/operations/status.cc: New. * testsuite/experimental/filesystem/operations/temp_directory_path.cc: New. * testsuite/experimental/filesystem/path/append/path.cc: New. * testsuite/experimental/filesystem/path/assign/assign.cc: New. * testsuite/experimental/filesystem/path/assign/copy.cc: New. * testsuite/experimental/filesystem/path/compare/compare.cc: New. * testsuite/experimental/filesystem/path/compare/path.cc: New. * testsuite/experimental/filesystem/path/compare/strings.cc: New. * testsuite/experimental/filesystem/path/concat/path.cc: New. * testsuite/experimental/filesystem/path/concat/strings.cc: New. * testsuite/experimental/filesystem/path/construct/copy.cc: New. * testsuite/experimental/filesystem/path/construct/default.cc: New. * testsuite/experimental/filesystem/path/construct/locale.cc: New. * testsuite/experimental/filesystem/path/construct/range.cc: New. * testsuite/experimental/filesystem/path/decompose/extension.cc: New. * testsuite/experimental/filesystem/path/decompose/filename.cc: New. * testsuite/experimental/filesystem/path/decompose/parent_path.cc: New. * testsuite/experimental/filesystem/path/decompose/relative_path.cc: New. * testsuite/experimental/filesystem/path/decompose/root_directory.cc: New. * testsuite/experimental/filesystem/path/decompose/root_name.cc: New. * testsuite/experimental/filesystem/path/decompose/root_path.cc: New. * testsuite/experimental/filesystem/path/decompose/stem.cc: New. * testsuite/experimental/filesystem/path/generic/generic_string.cc: New. * testsuite/experimental/filesystem/path/itr/traversal.cc: New. * testsuite/experimental/filesystem/path/modifiers/clear.cc: New. * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc: New. * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc: New. * testsuite/experimental/filesystem/path/modifiers/ replace_extension.cc: New. * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc: New. * testsuite/experimental/filesystem/path/modifiers/swap.cc: New. * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New. * testsuite/experimental/filesystem/path/query/empty.cc: New. * testsuite/experimental/filesystem/path/query/has_extension.cc: New. * testsuite/experimental/filesystem/path/query/has_filename.cc: New. * testsuite/experimental/filesystem/path/query/has_parent_path.cc: New. * testsuite/experimental/filesystem/path/query/has_relative_path.cc: New. * testsuite/experimental/filesystem/path/query/has_root_directory.cc: New. * testsuite/experimental/filesystem/path/query/has_root_name.cc: New. * testsuite/experimental/filesystem/path/query/has_root_path.cc: New. * testsuite/experimental/filesystem/path/query/has_stem.cc: New. * testsuite/experimental/filesystem/path/query/is_relative.cc: New. * testsuite/lib/dg-options.exp (dg-require-filesystem-ts): Define. * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Define. * testsuite/util/testsuite_fs.h: New. 2015-08-18 Jonathan Wakely * Makefile.in: Regenerate with automake-1.11.6. * aclocal.m4: Likewise. * configure: Likewise. * doc/Makefile.in: Likewise. * include/Makefile.in: Likewise. * libsupc++/Makefile.in: Likewise. * po/Makefile.in: Likewise. * python/Makefile.in: Likewise. * src/Makefile.in: Likewise. * src/c++11/Makefile.in: Likewise. * src/c++98/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. 2015-07-29 Tim Shen Backport from mainline 2015-07-29 Tim Shen PR libstdc++/67015 * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term, _BracketMatcher<>::_M_add_collating_element): Change signature to make checking the and of bracket expression easier. * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term): Treat '-' as a valid literal if it's at the end of bracket expression. * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: New testcases. 2015-07-16 Release Manager * GCC 5.2.0 released. 2015-07-02 Jonathan Wakely * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for --with-default-libstdcxx-abi * configure: Regenerate. * doc/xml/manual/configure.xml: Document valid arguments. * include/bits/locale_conv.h (wstring_convert): Use __cxx11 inline namespace in new ABI. (wstring_convert::_M_conv): Handle empty range. 2015-06-26 Jonathan Wakely * include/bits/stl_bvector.h (vector::vector()): Add noexcept. * include/bits/stl_map.h (map::map()): Likewise. * include/bits/stl_multimap.h (multimap::multimap()): Likewise. * include/bits/stl_multiset.h (multiset::multiset()): Likewise. * include/bits/stl_set.h (set::set()): Likewise. 2015-06-24 Ramana Radhakrishnan PR target/66200 * configure.host (host_cpu): Add aarch64 case. * config/cpu/aarch64/atomic_word.h: New file. 2015-06-22 Jonathan Wakely Backport from mainline 2015-06-16 Jonathan Wakely PR libstdc++/65393 * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr copies with moves. Backport from mainline 2015-05-17 François Dumont * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add missing constructors. * include/bits/unordered_set.h (unordered_set, unordered_multiset): Likewise. * include/debug/unordered_map (unordered_map, unordered_multimap): Add missing constructors. * include/debug/unordered_set (unordered_set, unordered_multiset): Likewise. * include/profile/unordered_map (unordered_map, unordered_multimap): Add missing constructors. * include/profile/unordered_set (unordered_set, unordered_multiset): Likewise. * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor invocations. * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise. * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise. * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise. 2015-06-22 Jonathan Wakely Backport from mainline 2015-05-14 Nathan Myers Jonathan Wakely PR libstdc++/66055 * include/std/unordered_map (unordered_map, unordered_multimap): Add missing constructors. * include/std/unordered_set (unordered_set, unordered_multiset): Likewise. * testsuite/23_containers/unordered_map/cons/66055.cc: New. * testsuite/23_containers/unordered_multimap/cons/66055.cc: New. * testsuite/23_containers/unordered_multiset/cons/66055.cc: New. * testsuite/23_containers/unordered_set/cons/66055.cc: New. 2015-06-15 Jonathan Wakely Backport from mainline 2015-06-09 Jonathan Wakely PR libstdc++/66030 * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols for mingw32. 2015-06-12 Jonathan Wakely PR libstdc++/66464 * src/c++11/codecvt.cc (codecvt_utf16_base::do_max_length): Return 4 not 3. 2015-06-08 Jonathan Wakely Backported from mainline 2015-06-01 Jonathan Wakely * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE environment variable. PR libstdc++/66354 * include/bits/stl_algobase.h (__fill_a): Check length before calling memset. PR libstdc++/66327 * include/bits/stl_algobase.h (__equal::equal): Do not call memcmp for empty ranges. (__lexicographical_compare::__lc): Likewise. Backported from mainline 2015-06-02 Jonathan Wakely * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release. * doc/xml/manual/evolution.xml: Fix typos. * doc/html/manual/*: Regenerate. Backported from mainline 2015-04-21 Jonathan Wakely * doc/xml/manual/configure.xml: Update descriptions of options affecting dual ABI and add cross-references. * doc/xml/manual/strings.xml: Clarify that string isn't COW now. * doc/xml/manual/using.xml: Document ABI transition. * doc/html/*: Regenerate. Backported from mainline 2015-04-20 Jonathan Wakely * doc/xml/manual/concurrency_extensions.xml: Update documentation on atomics. * doc/xml/manual/using.xml: Likewise. Improve markup. * doc/html/*: Regenerate. 2015-06-08 Jonathan Wakely PR libstdc++/66441 * testsuite/22_locale/conversions/string/66441.cc: New. * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space in the output string for BOM and complete result. PR libstdc++/66417 * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order for single UTF-16 units. * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New. 2015-06-04 Renlin Li Backported from mainline 2015-06-02 Renlin Li * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check. 2015-05-28 Jonathan Wakely PR libstdc++/65352 * include/profile/array (array::data): Use _S_ptr. * include/debug/array (array::data): Likewise. PR libstdc++/65352 * include/std/array (__array_traits::_S_ptr): New function. (array::data): Use _S_ptr to avoid creating invalid reference. * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust dg-error line numbers. * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: likewise. PR libstdc++/66017 * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf. (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction from _Base_ptr. (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast. (_Rb_tree::begin, _Rb_tree::end): Remove static_cast. * include/ext/aligned_buffer.h (__aligned_membuf): New type using alignment of _Tp as a member subobject, not as a complete object. * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup _Link_type manually as it might not be in the debug info. Backported from mainline 2015-05-13 Jonathan Wakely * include/bits/basic_string.h (basic_string::basic_string()): Make noexcept conditional on allocator (LWG 2455). Backported from mainline 2015-05-01 Jonathan Wakely * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name. 2015-05-26 Doug Evans Backported from mainline 2015-04-29 Doug Evans PR libstdc++/65839 * python/libstdcxx/v6/xmethods.py (get_bool_type): New function. Replace all lookups of "bool" with this. (get_std_size_type): New function. Replace all lookups of std::size_t with this. (*Worker): New method get_result_type. (DequeWorkerBase.__init__): New arg val_type. All callers updated. (ListWorkerBase.__init__): New arg val_type. All callers updated. (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated. Delete setting of name, enabled. (UniquePtrDerefWorker.__init__): New arg elem_type. All callers updated. Delete setting of name. (UniquePtrMethodsMatcher): Rewrite for consistency with all other libstdc++ xmethod matchers. * testsuite/libstdc++-xmethods/array.cc: Add whatis tests. * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto. * testsuite/libstdc++-xmethods/deque.cc: Ditto. * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto. * testsuite/libstdc++-xmethods/list.cc: Ditto. * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto. * testsuite/libstdc++-xmethods/vector.cc: Ditto. 2015-05-26 Doug Evans Backported from mainline 2015-04-29 Doug Evans Use consistent naming for value type attributes. * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype to _val_type. (ArraySizeWorker, ArrayEmptyWorker): Ditto. (ArrayFrontWorker, ArrayBackWorker): Ditto. (ArrayAtWorker, ArraySubscriptWorker): Ditto. (DequeWorkerBase): Rename elemtype to val_type. (ForwardListWorkerBase): Rename _elem_type to _val_type. (ForwardListFrontWorker): Ditto. And rename elem_address to val_address. (ForwardListMethodsMatcher): Rename elem_type to val_type. (VectorWorkerBase): Rename _elemtype to _val_type. 2015-05-22 David Edelsohn Backported from mainline 2015-05-21 David Edelsohn PR target/66224 * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Don't use isync. Use lwsync if available. * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use powerpc cpu definition. 2015-05-07 Renlin Li Backported from mainline 2015-04-22 Renlin Li * testsuite/lib/dg-options.exp (dg-require-thread-fence): New. * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New. * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise. 2015-05-04 Jakub Jelinek Backported from mainline 2015-04-28 Marc Glisse PR libstdc++/65883 * include/std/limits (numeric_limits): Add missing unsigned. 2015-05-02 Jonathan Wakely * include/experimental/any (_Internal): Check for trivially-copyable instead of nothrow move constructible. * testsuite/experimental/any/cons/nontrivial.cc: New. 2015-04-28 Doug Evans * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI): Define to zero. 2015-04-28 Stephan Bergmann * include/debug/vector (_Safe_vector::operator=): Add missing returns. 2015-04-22 Release Manager * GCC 5.1.0 released. 2015-04-15 Rainer Orth * scripts/extract_symvers.pl: Ignore elfdump error output. 2015-04-14 Hans-Peter Nilsson * testsuite/29_atomics/atomic/62259.cc: Assert atomic alignment is larger-equal, not equal, to default alignment. 2015-04-13 Jonathan Wakely PR libstdc++/65754 * config/abi/pre/gnu.ver: Export base object constructors for fstreams. * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. * testsuite/27_io/basic_fstream/cons/base.cc: New. 2015-04-13 Jonathan Wakely * doc/xml/manual/evolution.xml: Document changes since 4.5 release. * doc/html/*: Regenerate. 2015-04-12 Uros Bizjak * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 2015-04-10 Andreas Schwab * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 2015-04-10 Jonathan Wakely * doc/xml/manual/test.xml: Improve documentation on running a subset of tests. * doc/html/manual/test.html: Regenerate. 2015-04-10 Bill Schmidt * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update for GCC 5.1 release. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Likewise. 2015-04-10 Jonathan Wakely * include/std/shared_mutex (shared_timed_mutex): Add comments to explain the logic in the non-pthread_rwlock_t version. (_Mutex): Remove redundant type. (_M_n_readers): Rename to _S_max_readers. (_M_write_entered, _M_readers): New convenience functions. (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience functions. Use predicates with condition variables. Simplify bitwise operations. (try_lock_for, try_shared_lock_for): Convert duration to time_point and call try_lock_until or try_shared_lock_until respectively. (try_lock_until, try_shared_lock_until): Wait on the condition variables until the specified time passes. (unlock): Add Debug Mode assertion. (unlock_shared): Add Debug Mode assertion. * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New. * include/std/shared_mutex (shared_timed_mutex): Only use pthread_rwlock_t when the POSIX Timeouts option is supported. * testsuite/30_threads/shared_lock/cons/5.cc: Remove dg-require-gthreads-timed. * testsuite/30_threads/shared_lock/cons/6.cc: Likewise. * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. 2015-04-09 H.J. Lu * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. 2015-04-09 Jonathan Wakely Richard Henderson PR libstdc++/65147 * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase alignment. * include/std/atomic (atomic): For types with a power of two size set alignment to at least the size. * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. * testsuite/29_atomics/atomic/65147.cc: New. * testsuite/29_atomics/atomic_integral/65147.cc: New. 2015-04-09 Rainer Orth * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 2015-04-07 Jakub Jelinek * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 2015-03-30 Jonathan Wakely PR libstdc++/65630 * config/abi/pre/gnu.ver: Export operator+ for new strings. * testsuite/21_strings/basic_string/operators/char/65630.cc: New. * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New. 2015-03-28 Tim Shen PR libstdc++/65420 * include/bits/regex_constants.h: Use constexpr variables for flags. * testsuite/28_regex/constants/constexpr.cc: New testcase. 2015-03-27 Jonathan Wakely PR libstdc++/65499 * include/std/chrono: Add using-directive for literals to std::chrono. * testsuite/20_util/duration/literals/65499.cc: New. 2015-03-26 Jonathan Wakely PR libstdc++/58038 PR libstdc++/60421 * include/std/thread (this_thread::sleep_for): Check for negative durations. (this_thread::sleep_until): Check for times in the past. * testsuite/30_threads/this_thread/58038.cc: New. * testsuite/30_threads/this_thread/60421.cc: New. 2015-03-26 Jonathan Wakely PR libstdc++/62259 PR libstdc++/65147 * include/std/atomic (atomic): Increase alignment for types with the same size as one of the integral types. * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. * testsuite/29_atomics/atomic/62259.cc: New. 2015-03-26 Richard Henderson PR libstdc++/65033 * include/bits/atomic_base.h (__atomic_base::is_lock_free): Build a fake pointer indicating type alignment. (__atomic_base::is_lock_free): Likewise. * include/std/atomic (atomic::is_lock_free): Likewise. 2015-03-25 Alan Lawrence PR libstdc++/33394 * testsuite/21_strings/basic_string/pthread33394.cc: Use dg-additional-options. 2015-03-25 Paolo Carlini PR libstdc++/65543 * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert thinko in r150387. * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&): Likewise. * testsuite/27_io/rvalue_streams-2.cc: New. 2015-03-24 Jonathan Wakely PR libstdc++/33394 * testsuite/21_strings/basic_string/pthread33394.cc: Add test. 2015-03-23 Jonathan Wakely PR libstdc++/64967 * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use. * configure: Regenerate. * src/c++11/compatibility-c++0x.cc (error_category), generic_category, system_category): Use macros for versioned namespace. * src/c++11/futex.cc: Add missing end macro for versioned namespace. 2015-03-20 James Greenhalgh * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable test for unused for ARM. * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise. * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. 2015-03-20 Jonathan Wakely * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace. * include/ext/codecvt_specializations.h (encoding_state, encoding_char_traits): Remove abi-tag and use inline namespace. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line. 2015-03-19 Jason Merrill * config/locale/gnu/messages_members.cc: Revert abi-tag change. * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change. 2015-03-18 Jonathan Wakely PR c++/65046 * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs, get_catalogs): Add abi-tag. * include/ext/codecvt_specializations.h (encoding_state, encoding_char_traits): Likewise. * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise. * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string, numpunct_shim, collate_shim, time_get_shim, moneypunct_shim, money_get_shim, money_put_shim, messages_shim): Likewise. * src/c++11/future.cc (future_error_category::message): Likewise. * src/c++11/system_error.cc (generic_error_category::message, system_error_category::message): Likewise. (__sso_string): Disable -Wabi-tag warnings. 2015-03-18 Jonathan Wakely PR libstdc++/13631 * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback implementation for old glibc. Fix whitespace. 2015-03-18 Jonathan Wakely Torvald Riegel * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t. * config.h.in: Regenerate. * configure: Regenerate. * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T. (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER. (shared_timed_mutex::lock_shared()): Retry on EAGAIN. (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and EDEADLK. 2015-03-17 Jonathan Wakely * libsupc++/nested_exception.h: Do not try to derive from final classes. * testsuite/18_support/nested_exception/throw_with_nested.cc: Test final class. * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of unused exception variable. * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate test. * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise. 2015-03-13 Jonathan Wakely * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly. * configure: Regenerate. * include/experimental/system_error: Fix include guard. 2015-03-12 Renlin Li * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for wrapped target. 2015-03-10 Tim Shen PR libstdc++/64441 * include/bits/regex.h (match_results<>::size, match_results<>::position, match_results<>::str, match_results<>::operator[], match_results<>::prefix, match_results<>::suffix, match_results<>::end, match_results<>::_M_resize, match_results<>::_M_unmatched_sub, match_results<>::_M_prefix, match_results<>::_M_suffix): Remove global __unmatched_sub. Add unmatched submatch as part of match_results. * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>, regex_iterator<>::operator++): Adjust to use match_results::_M_prefix. * testsuite/28_regex/match_results/out_of_range_submatches.cc: New testcases. 2015-03-09 Jonathan Wakely PR libstdc++/64467 * testsuite/28_regex/traits/char/isctype.cc: Don't test newline for newlib targets. Really fix mixed line-endings this time. 2015-03-06 Jonathan Wakely * include/std/future (future_error(error_code)): Construct base class with error_code's message. * src/c++11/future.cc (future_error::what()): Do not call c_str() on temporary string. 2015-03-05 Jonathan Wakely * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle noconv result. * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8. * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16. 2015-03-04 Jonathan Wakely PR libstdc++/64797 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle incomplete multibyte sequences correctly. * include/std/codecvt (codecvt_utf8, codecvt_utf16, codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point. * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character): Define constants. (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point): Define convenience functions. (read_utf8_code_point): Return relevant constant to distinguish incomplete characters from invalid sequences. (read_utf16_code_point): Likewise. Check for invalid sequences. (ucs4_in, utf16_in): Use incomplete_mb_character constant. (utf16_out): Check for invalid sequences. (utf16_span): Fix condition. (ucs2_out): Use is_high_surrogate. (ucs2_in): Use incomplete_mb_character constant and fix condition. * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace. * testsuite/22_locale/conversions/buffer/1.cc: New. * testsuite/22_locale/conversions/string/2.cc: Use char16_t and char32_t instead of wchar_t. * testsuite/22_locale/conversions/string/3.cc: New. 2015-03-03 Iain Sandoe PR libstdc++/64883 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check visibility for Darwin. * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and also deprecated. * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. 2015-03-02 Jonathan Wakely PR libstdc++/65279 * include/std/scoped_allocator (__inner_type_impl, scoped_allocator_adaptor): Add defaulted copy assignment and move assignment operators. * testsuite/20_util/scoped_allocator/65279.cc: New. 2015-03-02 Jonathan Wakely PR libstdc++/64367 * include/std/stdexcept (__sso_string): Don't use non-static member in sizeof. 2015-02-28 Matthias Klose PR libstdc++/65246 * python/libstdcxx/v6/__init__.py: Use explicit relative imports. 2015-02-22 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Remove duplicated information. * doc/html/manual/status.html: Regenerate. 2015-02-20 Jonathan Wakely PR libstdc++/64695 * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new tuple layout. * doc/xml/manual/status_cxx2011.xml: Document implementation-defined behavior. * doc/html/manual/status.html: Regenerate. 2015-02-19 Jonathan Wakely PR libstdc++/58357 * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2. * include/bits/stl_algo.h (__rotate, rotate): Likewise. 2015-02-19 Hans-Peter Nilsson PR testsuite/65093 * testsuite/26_numerics/random/binomial_distribution/operators/values.cc (test01): Add explanatory comment. Keep only the bd1 sub-test and split out bd2, bd3, bd4, and bd5 sub-tests into... * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc, testsuite/26_numerics/random/binomial_distribution/operators/values3.cc, testsuite/26_numerics/random/binomial_distribution/operators/values4.cc, testsuite/26_numerics/random/binomial_distribution/operators/values5.cc: New separate files with the old parts. 2015-02-18 Jonathan Wakely * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output surrogate pairs. (utf16_in): Pass mode argument to write_utf16_code_point. (codecvt::do_in): Set mode according to native byte order. * testsuite/22_locale/codecvt/char16_t.cc: New. * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo. * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint. * testsuite/22_locale/codecvt/char32_t.cc: Likewise. 2015-02-17 Rüdiger Sonderfeld Jonathan Wakely * testsuite/22_locale/codecvt/char32_t.cc: New. 2015-02-17 Jonathan Wakely PR libstdc++/65085 * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure empty string gets null-terminated. * testsuite/21_strings/basic_string/cons/char/65085.cc: New. 2015-02-13 Matthew Wahab * testsuite/28_regex/traits/char/isctype.cc (test01): Fix mixed line-endings introduced in last change. 2015-02-12 Matthew Wahab * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test for __NEWLIB__ macro with a dejagnu set macro. * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise. 2015-02-04 Matthew Wahab PR libstdc++/64467 * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib special case for '\n'. * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise. 2015-02-01 Jonathan Wakely * src/c++11/futex.cc: Do not define for gthr-single.h targets. 2015-02-01 Jonathan Wakely PR libstdc++/64883 * include/c_global/cstdio (gets): Use __deprecated__ attribute instead of deprecated. * include/c_std/cstdio (gets): Likewise. * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing with attributes used in darwin headers. 2015-01-29 Jakub Jelinek * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first. * configure: Regenerated. 2015-01-29 H.J. Lu * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN after vtv_cygmin is set. * configure: Regenerated. 2015-01-29 Matthias Klose * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN unconditionally. * configure: Regenerate. 2015-01-29 Caroline Tice Committing VTV Cywin/Ming patch for Patrick Wollgast * configure: Regenerate. * libsupc++/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. 2015-01-29 Jonathan Wakely * include/bits/atomic_base.h: Use __always_inline__ instead of always_inline. * include/bits/atomic_futex.h: Likewise. * include/bits/c++config: Use __abi_tag__ instead of abi_tag. * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use __packed__ instead of packed. * include/std/shared_mutex: Use __unused__ instead of unused. * testsuite/17_intro/headers/c++1998/all_attributes.cc: New. * testsuite/17_intro/headers/c++200x/all_attributes.cc: New. * testsuite/17_intro/headers/c++2014/all_attributes.cc: New. 2015-01-28 Caroline Tice Committing VTV Cywin/Ming patch for Patrick Wollgast * acinclude.m4: Define VTV_CYGMIN. * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set. * libsupc++/vtv_stubs.cc: Add none weak declaration of every function for Cygwin and MinGW. * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS, libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set. 2015-01-28 Jonathan Wakely PR libstdc++/64828 * libsupc++/Makefile.am: Compile del_opvs.cc as C++14. * libsupc++/Makefile.in: Regenerate. * src/c++11/Makefile.in: Regenerate. 2015-01-28 Kyrylo Tkachov * testsuite/lib/libstdc++.exp (v3_target_compile): Remove check for unsupported. (v3_target_compile_as_c): Likewise. 2015-01-28 Richard Biener PR libstdc++/64798 * libsupc++/eh_alloc.cc (struct allocated_entry): Align data member. (pool::allocate): Adjust allocation size and alignment to that change. (pool::free): Adjust pointer offsetting. 2015-01-27 Jonathan Wakely PR libstdc++/64368 * include/std/shared_mutex (shared_timed_mutex::try_lock_for, shared_timed_mutex::try_lock_until): Only define when POSIX thread timeouts option is supported. (shared_timed_mutex::try_shared_lock_for, shared_timed_mutex::try_shared_lock_until): Likewise. 2015-01-26 Jonathan Wakely PR libstdc++/64368 * config/locale/gnu/numeric_members.cc (numpunct::~numpunct(), numpunct::~numpunct()): Do not set _M_data->_M_grouping. * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping and use cache's _M_grouping field. (__numpunct_fill_cache): Likewise. (__moneypunct_fill_cache): Improve comments. 2015-01-26 Jonathan Wakely * testsuite/23_containers/set/operations/2.cc: Add test for non-transparent comparison function. 2015-01-25 Oleg Endo PR target/29366 * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add): Remove SH4A inline asm and lock based implementations and use the defaults from ext/atomicity.h. 2015-01-23 Jonathan Wakely * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match new std::string constructors for byname facets. 2015-01-22 Richard Biener PR libstdc++/64535 * libsupc++/eh_alloc.cc: Include new. (bitmask_type): Remove. (one_buffer): Likewise. (emergency_buffer): Likewise. (emergency_used): Likewise. (dependents_buffer): Likewise. (dependents_used): Likewise. (class pool): New custom fixed-size arena, variable size object allocator. (emergency_pool): New global. (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool. (__cxxabiv1::__cxa_free_exception): Likewise. (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise. (__cxxabiv1::__cxa_free_dependent_exception): Likewise. 2015-01-22 Tim Shen PR libstdc++/64680 * include/bits/regex.h (basic_regex<>::basic_regex, basic_regex<>::operator=, basic_regex<>::imbue): Conform to the standard interface. * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase. 2015-01-22 Tim Shen PR libstdc++/64649 * include/bits/regex.tcc (regex_traits<>::lookup_collatename, regex_traits<>::lookup_classname): Correctly narrow input chars. * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase. 2015-01-21 Jonathan Wakely * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters. 2015-01-21 Jonathan Wakely * testsuite/29_atomics/atomic/64658.cc: Test stored value. 2015-01-20 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags. * doc/xml/manual/status_cxx2014.xml: Update status. * doc/html/manual/status.html: Regenerate. 2015-01-20 Jonathan Wakely PR libstdc++/64650 * include/experimental/optional (bad_optional_access): Add default constructor. * testsuite/experimental/optional/requirements.cc: Test for default constructor. 2015-01-20 Jonathan Wakely * include/bits/stl_map.h (map::find<>, map::count<>, map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New member function templates to perform heterogeneous lookup. * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>, multimap::lower_bound<>, multimap::upper_bound<>, multimap::equal_range<>): Likewise. * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>, multiset::lower_bound<>, multiset::upper_bound<>, multiset::equal_range<>): Likewise. * include/bits/stl_set.h (set::find<>, set::count<>, set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise. * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr, _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr, _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise. * testsuite/23_containers/map/operations/2.cc: New. * testsuite/23_containers/multimap/operations/2.cc: New. * testsuite/23_containers/multiset/operations/2.cc: New. * testsuite/23_containers/set/operations/2.cc: New. 2015-01-20 Jonathan Wakely * config/abi/pre/gnu.ver: Export new constructors. * include/bits/codecvt.h (codecvt_byname): Add string constructor. (codecvt_byname, codecvt_byname): Define explicit specializations and declare explicit instantiations. * include/bits/locale_classes.h (locale, collate_byname): Add string constructors. * include/bits/locale_facets.h (ctype_byname, numpunct_byname): Likewise. * include/bits/locale_facets_nonio.h (time_get_byname, time_put_byname, moneypunct_byname, messages_byname): Likewise. * src/c++11/codecvt.cc (codecvt_byname, codecvt_byname): Define explicit instantiations. * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname): Instantiate string constructors. (ctype_byname): Define string constructor. * testsuite/22_locale/codecvt_byname/1.cc: New. * testsuite/22_locale/collate_byname/1.cc: New. * testsuite/22_locale/ctype_byname/2.cc: New. * testsuite/22_locale/messages_byname/1.cc: New. * testsuite/22_locale/moneypunct_byname/1.cc: New. * testsuite/22_locale/numpunct_byname/1.cc: New. 2015-01-20 Jonathan Wakely PR libstdc++/64658 * include/std/atomic (atomic_init): Define. * testsuite/29_atomics/atomic/64658.cc: New. 2015-01-19 Tim Shen PR libstdc++/64649 * include/bits/regex.tcc (regex_traits<>::lookup_collatename, regex_traits<>::lookup_classname): Support forward iterators. * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases. * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase. 2015-01-19 Tim Shen PR libstdc++/64584 PR libstdc++/64585 * include/bits/regex.h (basic_regex<>::basic_regex, basic_regex<>::assign, basic_regex<>::imbue, basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after imbuing basic_regex; Make assign() transactional against exception. * include/bits/regex_compiler.h (__compile_nfa<>): Add back __compile_nfa SFINAE. * include/std/regex: Adjust include order to avoid __compile_nfa forward declaration. * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase. * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase. 2015-01-19 Ville Voutilainen Jonathan Wakely * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR on overloads for arrays. (cbegin, cend, rbegin, rend, crbegin, crend): New. * testsuite/24_iterators/range_access_cpp14.cc: New. 2015-01-18 Jonathan Wakely PR libstdc++/64646 * include/bits/stl_algo.h (__is_permutation): Also test for reaching end of the second range. * testsuite/25_algorithms/is_permutation/64646.cc: New. 2015-01-18 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof. * doc/html/manual/status.html: Regenerate. 2015-01-18 Jonathan Wakely * include/bits/atomic_futex.h: Use mutex and condition_variable when atomic int is not lock-free. Make member variables private. * src/c++11/futex.cc: Likewise. * src/c++11/futex.cc: Fix order of includes and preprocessor condition. 2015-01-17 Jonathan Wakely PR libstdc++/64638 * include/bits/atomic_futex.h: Use appropriate config macros for availability of std::mutex, std::condition and std::chrono. 2015-01-17 Ville Voutilainen Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Update C++11 status. * doc/html/*: Regenerate. 2015-01-17 Jonathan Wakely DR 488 PR libstdc++/58357 * include/bits/algorithmfwd.h (rotate): Return an iterator. * include/bits/stl_algo.h (rotate, __rotate): Likewise. * testsuite/25_algorithms/rotate/dr488.cc: New. * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type. * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/ 2.cc: Likewise. * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/ pod.cc: Likewise. 2015-01-17 Jonathan Wakely PR libstdc++/60940 * include/bits/atomic_base.h: Remove atomic integral typedefs as synonyms for __atomic_base etc. * include/std/atomic: Make atomic_int a synonym for atomic and likewise for all atomic integral types. * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New. * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. 2015-01-17 Jonathan Wakely PR libstdc++/56785 * include/std/tuple (_Tuple_impl): Remove zero-element specialization and define one-element specialization. * testsuite/20_util/tuple/56785.cc: New. 2015-01-17 Jonathan Wakely * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Remove unused header. * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: Likewise. 2015-01-16 Jonathan Wakely * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New. * include/std/locale: Include new header. * include/Makefile.am: Add it. * include/Makefile.in: Regenerate. * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New. * testsuite/22_locale/conversions/string/1.cc: New. * testsuite/22_locale/conversions/string/2.cc: New. * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New. * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: New. 2015-01-16 Jonathan Wakely * config/abi/pre/gnu.ver: Export new symbols. * include/Makefile.am: Add codecvt. * include/Makefile.in: Regenerate. * include/std/codecvt: New header. * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base, __codecvt_utf8_utf16_base): Define specializations. * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New. * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: New. 2015-01-16 Torvald Riegel * src/c++11/futex.cc: New file. * include/bits/atomic_futex.h: New file. * include/std/future (__future_base::_State_baseV2): Use atomic_futex_unsigned instead of mutex+condvar. * src/c++11/futex.cc: Likewise. * include/Makefile.am: Add atomic_futex.h. * include/Makefile.in: Likewise. * src/c++11/Makefile.am: Add futex.cc. * src/c++11/Makefile.in: Likewise. 2015-01-16 Jonathan Wakely * acinclude.m4: Fix typo in comment. * configure: Regenerate. * include/bits/codecvt.h (codecvt, codecvt): Declare specializations. * include/bits/locale_facets.h: Reserve space for new specializations. * src/c++11/Makefile.am: Add codecvt.cc. * src/c++11/Makefile.in: Regenerate. * src/c++11/codecvt.cc: New. * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc with -std=gnu++11. * src/c++98/Makefile.in: Regenerate. * src/c++98/locale_init.cc: Initialize new codecvt specializations. * src/c++98/localename.cc: Likewise. * config/abi/pre/gnu.ver: Exports for new codecvt specializations. * testsuite/22_locale/codecvt/utf8.cc: New. * testsuite/22_locale/locale/cons/unicode.cc: Check that new specializations are installed in locale objects. 2015-01-16 Torvald Riegel * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based implementation. 2015-01-13 Jonathan Wakely PR libstdc++/64571 * config/abi/pre/gnu.ver: Export fstream functions using new string. 2015-01-12 Jonathan Wakely PR libstdc++/64560 * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check for RTTI support. PR libstdc++/64553 * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support. 2015-01-10 Thomas Schwinge * doc/xml/manual/parallel_mode.xml: Update for libgomp being renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and Multi Processing Runtime Library". 2015-01-09 Jonathan Wakely PR libstdc++/64476 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix is_assignable arguments. * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc: New. 2015-01-09 Andreas Tobler * libsupc++/unwind-cxx.h: Revert previous commit. 2015-01-09 Andreas Tobler * configure.host: Add arm*-*-freebsd* port_specific_symbol_files. 2015-01-09 Tim Shen PR libstdc++/64239 * include/bits/regex.h (match_results<>::swap): Use std::swap instead of swap. * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier): Likewise. * testsuite/28_regex/match_results/swap.cc: New testcase. 2015-01-08 Jonathan Wakely PR libstdc++/60132 * include/std/type_traits (has_trivial_default_constructor, has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated attribute. * testsuite/20_util/has_trivial_copy_assign/requirements/ explicit_instantiation.cc: Use -Wno-deprecated. * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc: Likewise. * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/requirements/ typedefs.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/requirements/ explicit_instantiation.c: Likewise. * testsuite/20_util/has_trivial_default_constructor/requirements/ typedefs.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated trait. * testsuite/20_util/tuple/requirements/dr801.cc: Likewise. * testsuite/util/testsuite_common_types.h: Likewise. 2015-01-08 Jonathan Wakely * include/bits/hashtable_policy.h: Use __bool_constant. 2015-01-07 Jonathan Wakely * libsupc++/Makefile.am: Compile del_ops.cc as C++14. * libsupc++/Makefile.in: Regenerate. 2015-01-06 Jonathan Wakely * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name(). 2015-01-05 Jakub Jelinek Update copyright years. 2015-01-04 Jonathan Wakely PR libstdc++/64483 * testsuite/18_support/exception_ptr/64241.cc: Use dg-require-atomic-builtins. 2015-01-02 Jonathan Wakely * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright date. 2015-01-02 Tim Shen PR libstdc++/64475 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the iterator, since the original one shouldn't be mutated. 2015-01-02 Bernd Edlinger PR libstdc++/64422 * src/c++98/misc-inst.cc (string::erase): Add missing overloads. (string::insert): Likewise. (string::replace): Likewise. (wstring::erase): Likewise. (wstring::insert): Likewise. (wstring::replace): Likewise. * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase. 2015-01-02 Jonathan Wakely PR libstdc++/64468 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE. 2015-01-02 Jonathan Wakely PR libstdc++/64438 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: Revert removal of dg-require-string-conversions. * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/ stoull.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/ to_string.cc: Likewise. Copyright (C) 2015 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.