Fix compilation error with _GLIBCXX_PARALLEL
[gcc.git] / libstdc++-v3 / ChangeLog
index b92fdf14cacc59dd31f6532079ccca8c009583ee..c307c1ff7aba84c857b4c91d6f419ea588ea74db 100644 (file)
@@ -1,3 +1,306 @@
+2018-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex_executor.tcc (_Backref_matcher::_M_apply): Use
+       _GLIBCXX_STD_A to refer to normal mode algorithms.
+       * testsuite/28_regex/headers/regex/parallel_mode.cc: New test.
+       * testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Remove empty
+       whitespace.
+
+       * include/debug/map.h (map::erase(iterator)): Add abi-tag so that
+       C++11 version mangles differently from incompatible C++98 version.
+       * include/debug/multimap.h (multimap::erase(iterator)): Likewise.
+       * include/debug/multiset.h (multiset::erase(iterator))
+       (multiset::erase(const_iterator, const_iterator)): Likewise.
+       * include/debug/set.h (set::erase(iterator))
+       (multiset::erase(const_iterator, const_iterator)): Likewise.
+
+2018-10-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/duration/cons/2.cc: Add -ffloat-store to fix
+       failure when compiled without optimisation.
+       * testsuite/ext/profile/mutex_extensions_neg.cc: Prune additional
+       errors caused by C++17 std::pmr alias templates.
+
+       PR libstdc++/87642
+       * config/locale/gnu/monetary_members.cc
+       (moneypunct<char, true>::_M_initialize_moneypunct): Use
+       __narrow_multibyte_chars to convert multibyte thousands separators
+       to a single char.
+       * config/locale/gnu/numeric_members.cc
+       (numpunct<char>::_M_initialize_numpunct): Likewise.
+       (__narrow_multibyte_chars): New function.
+
+       PR libstdc++/87641
+       * include/bits/valarray_array.h (__valarray_sum): Use first element
+       to initialize accumulator instead of value-initializing it.
+       (__valarray_product<_Tp>): Move to ...
+       * src/c++98/valarray.cc (__valarray_product<_Tp>): Here. Use first
+       element to initialize accumulator.
+       (__valarray_product(const valarray<size_t>&)): Remove const_cast made
+       unnecessary by LWG 389.
+       * testsuite/26_numerics/valarray/87641.cc: New test.
+
+2018-10-18  François Dumont  <fdumont@gcc.gnu.org>
+
+       Partial revert.
+       2018-10-08  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/debug/list (list<>::cbegin()): Use C++11 direct
+       initialization.
+       (list<>::cend()): Likewise.
+       (list<>::erase(const_iterator, const_iterator)): Ensure consistent
+       iterator comparisons.
+       (list<>::splice(const_iterator, list&&, const_iterator,
+       const_iterator)): Likewise.
+
+       Partial revert.
+       2018-10-15  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/debug/vector (vector<>::cbegin()): Use C++11 direct
+       initialization.
+       (vector<>::cend()): Likewise.
+       (vector<>::insert(const_iterator, const _Tp&)): Use consistent
+       iterator comparison.
+       (vector<>::erase(const_iterator)): Likewise.
+       (vector<>::erase(const_iterator, const_iterator)): Likewise.
+
+2018-10-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       PR libstdc++/87619
+       * include/std/variant (__select_index): Fix an off-by-one.
+       * testsuite/20_util/variant/87619.cc: New.
+
+2018-10-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
+       Fix default constructor to call correct function.
+
+       * testsuite/experimental/net/internet/address/v4/creation.cc: Do not
+       declare ip in global namespace, to avoid collision with struct ip
+       defined in <netinet/ip.h>.
+
+       * include/experimental/bits/net.h: Move versioned namespace macros
+       to correct location.
+       * include/experimental/buffer: Likewise.
+       * include/experimental/executor: Likewise.
+       * include/experimental/internet: Likewise.
+       * include/experimental/io_context: Likewise.
+       * include/experimental/netfwd: Likewise.
+       * include/experimental/socket: Likewise.
+       * include/experimental/timer: Likewise.
+
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: Check for headers used by Networking TS.
+       * include/experimental/executor: Include <condition_variable>
+       instead of <mutex>.
+       * include/experimental/internet: Use autoconf macros for available
+       headers.  Include <sys/socket.h> for.  Remove <cstring> and use
+       __builtin_memcpy and __builtin_strchr.
+       (resolver_errc) [!_GLIBCXX_HAVE_NETDB_H]: Do not define.
+       (address_v4::to_string, address_v6::to_string)
+       [!_GLIBCXX_HAVE_ARPA_INET_H]: Likewise.
+       (basic_resolver_results) [!_GLIBCXX_HAVE_NETDB_H]: Make private
+       constructors report errors.
+       [!_GLIBCXX_HAVE_NETINET_TCP_H] (tcp::no_delay): Do not define.
+       * include/experimental/io_context: Likewise.
+       * include/experimental/socket: Likewise.
+       [!_GLIBCXX_HAVE_SYS_SOCKET_H, !_GLIBCXX_HAVE_POLL_H] (socket_base): Do
+       not define nested types when relevant header not available.
+       (__socket_impl::native_non_blocking) [!_GLIBCXX_HAVE_FCNTL_H]: Report
+       an error.
+       (__basic_socket_impl::open, __basic_socket_impl::local_endpoint)
+       (__basic_socket_impl::bind) [!_GLIBCXX_HAVE_SYS_SOCKET_H]: Likewise.
+       (__basic_socket_impl::io_control) [!_GLIBCXX_HAVE_SYS_IOCTL_H]:
+       Likewise.
+       (basic_socket::at_mark, basic_socket::shutdown)
+       (basic_socket::remote_endpoint, basic_socket::connect)
+       (basic_socket::async_connect) [!_GLIBCXX_HAVE_SYS_SOCKET_H]: Likewise.
+       (basic_socket::available) [_GLIBCXX_HAVE_SYS_IOCTL_H]: Check macro
+       for <sys/ioctl.h> availability.
+       (basic_socket::wait) [!_GLIBCXX_HAVE_POLL_H]: Likewise.
+       (basic_datagram_socket::receive, basic_datagram_socket::async_receive)
+       (basic_datagram_socket::receive_from)
+       (basic_datagram_socket::async_receive_from)
+       (basic_datagram_socket::send, basic_datagram_socket::async_send)
+       (basic_datagram_socket::send_to, basic_datagram_socket::async_send_to)
+       [!_GLIBCXX_HAVE_SYS_SOCKET_H]: Likewise.
+       (basic_stream_socket::receive, basic_stream_socket::async_receive)
+       (basic_stream_socket::send, basic_stream_socket::async_send)
+       [!_GLIBCXX_HAVE_SYS_SOCKET_H]: Likewise.
+       (basic_socket_acceptor::listen, basic_socket_acceptor::accept)
+       (basic_socket_acceptor::async_accept) [!_GLIBCXX_HAVE_SYS_SOCKET_H]:
+       Likewise.
+       (basic_socket_acceptor::wait) [!_GLIBCXX_HAVE_POLL_H]: Likewise.
+
+       * testsuite/experimental/net/headers.cc: Remove dg-options.
+       * testsuite/experimental/net/buffer/arithmetic.cc: Replace dg-options
+       with dg-do using effective target.
+       * testsuite/experimental/net/buffer/const.cc: Likewise.
+       * testsuite/experimental/net/buffer/creation.cc: Likewise.
+       * testsuite/experimental/net/buffer/mutable.cc: Likewise.
+       * testsuite/experimental/net/buffer/size.cc: Likewise.
+       * testsuite/experimental/net/buffer/traits.cc: Likewise.
+       * testsuite/experimental/net/execution_context/use_service.cc:
+       Likewise.
+       * testsuite/experimental/net/internet/address/v4/comparisons.cc:
+       Likewise.
+       * testsuite/experimental/net/internet/address/v4/cons.cc: Likewise.
+       * testsuite/experimental/net/internet/address/v4/creation.cc:
+       Likewise.
+       * testsuite/experimental/net/internet/address/v4/members.cc: Likewise.
+       * testsuite/experimental/net/internet/resolver/base.cc: Likewise.
+       * testsuite/experimental/net/internet/resolver/ops/lookup.cc:
+       Likewise.
+       * testsuite/experimental/net/internet/resolver/ops/reverse.cc:
+       Likewise.
+       * testsuite/experimental/net/timer/waitable/cons.cc: Likewise.
+       * testsuite/experimental/net/timer/waitable/dest.cc: Likewise.
+       * testsuite/experimental/net/timer/waitable/ops.cc: Likewise.
+
+       * include/experimental/socket (basic_socket::at_mark): Add missing
+       return.
+
+       * acinclude.m4 (GLIBCXX_CHECK_RANDOM_TR1): Replace with ...
+       (GLIBCXX_CHECK_DEV_RANDOM): New macro with more descriptive name.
+       Define _GLIBCXX_USE_DEV_RANDOM as well as _GLIBCXX_USE_RANDOM_TR1.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: Use GLIBCXX_CHECK_DEV_RANDOM instead of
+       GLIBCXX_CHECK_RANDOM_TR1.
+       crossconfig.m4: Likewise.
+       * include/bits/random.h (random_device): Use _GLIBCXX_USE_DEV_RANDOM
+       instead of _GLIBCXX_USE_RANDOM_TR1.
+       * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
+
+2018-10-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * testsuite/lib/dg-options.exp (add_options_for_net_ts): New proc.
+       * testsuite/experimental/net/internet/address/v4/comparisons.cc:
+       Add dg-add-options net_ts.
+       * testsuite/experimental/net/internet/address/v4/cons.cc: Likewise.
+       * testsuite/experimental/net/internet/address/v4/creation.cc: Likewise.
+       * testsuite/experimental/net/internet/address/v4/members.cc: Likewise.
+       * testsuite/experimental/net/internet/resolver/base.cc: Likewise.
+       * testsuite/experimental/net/internet/resolver/ops/lookup.cc: Likewise.
+       * testsuite/experimental/net/internet/resolver/ops/reverse.cc: Likewise.
+
+2018-10-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/duration/literals/range_neg.cc: Adjust pruned
+       diagnostic to account for quotes around 'constexpr'.
+       * testsuite/23_containers/deque/capacity/max_size.cc: Define static
+       variable.
+       * testsuite/23_containers/vector/capacity/max_size.cc: Likewise.
+
+       PR libstdc++/87618
+       * config/abi/pre/gnu.ver: Fix typos in patterns for basic_stringbuf.
+       * testsuite/27_io/basic_stringbuf/cons/char/default.cc: Disable
+       optimisation to check constructor definition can be linked to.
+       * testsuite/27_io/basic_stringbuf/cons/wchar_t/default.cc: Likewise.
+
+2018-10-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/22_locale/numpunct/members/char/3.cc: Adjust test to
+       account for change to glibc it_IT localedata (glibc bz#10797).
+
+       PR libstdc++/87587
+       * src/c++11/cxx11-shim_facets.cc: Suppress -Wabi warnings.
+
+2018-10-15  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/debug/vector (vector<>::cbegin()): Use C++11 direct
+       initialization.
+       (vector<>::cend()): Likewise.
+       (vector<>::emplace(const_iterator, _Args&&...)): Likewise and use
+       consistent iterator comparison.
+       (vector<>::insert(const_iterator, size_type, const _Tp&)): Likewise.
+       (vector<>::insert(const_iterator, _InputIterator, _InputIterator)):
+       Likewise.
+       (vector<>::erase(const_iterator)): Likewise.
+       (vector<>::erase(const_iterator, const_iterator)): Likewise.
+
+2018-10-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       Initial commit of Networking TS implementation.
+       * include/Makefile.am: Add new headers.
+       * include/Makefile.in: Regenerate.
+       * include/experimental/bits/net.h: New header for common
+       implementation details of Networking TS.
+       * include/experimental/buffer: New header.
+       * include/experimental/executor: New header.
+       * include/experimental/internet: New header.
+       * include/experimental/io_context: New header.
+       * include/experimental/net: New header.
+       * include/experimental/netfwd: New header.
+       * include/experimental/socket: New header.
+       * include/experimental/timer: New header.
+       * testsuite/experimental/net/buffer/arithmetic.cc: New test.
+       * testsuite/experimental/net/buffer/const.cc: New test.
+       * testsuite/experimental/net/buffer/creation.cc: New test.
+       * testsuite/experimental/net/buffer/mutable.cc: New test.
+       * testsuite/experimental/net/buffer/size.cc: New test.
+       * testsuite/experimental/net/buffer/traits.cc: New test.
+       * testsuite/experimental/net/execution_context/use_service.cc: New
+       test.
+       * testsuite/experimental/net/headers.cc: New test.
+       * testsuite/experimental/net/internet/address/v4/comparisons.cc: New
+       test.
+       * testsuite/experimental/net/internet/address/v4/cons.cc: New test.
+       * testsuite/experimental/net/internet/address/v4/creation.cc: New
+       test.
+       * testsuite/experimental/net/internet/address/v4/members.cc: New
+       test.
+       * testsuite/experimental/net/internet/resolver/base.cc: New test.
+       * testsuite/experimental/net/internet/resolver/ops/lookup.cc: New
+       test.
+       * testsuite/experimental/net/internet/resolver/ops/reverse.cc: New
+       test.
+       * testsuite/experimental/net/timer/waitable/cons.cc: New test.
+       * testsuite/experimental/net/timer/waitable/dest.cc: New test.
+       * testsuite/experimental/net/timer/waitable/ops.cc: New test.
+
+       PR libstdc++/77691
+       * include/experimental/memory_resource (__resource_adaptor_imp): Do
+       not allocate sizes smaller than alignment when relying on guaranteed
+       alignment.
+       * testsuite/experimental/memory_resource/new_delete_resource.cc:
+       Adjust expected number of bytes allocated for alignof(max_align_t).
+
+2018-10-11  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/debug/forward_list
+       (forward_list<>::before_begin()): Use C++11 direct initialization.
+       (forward_list<>::begin()): Likewise.
+       (forward_list<>::end()): Likewise.
+       (forward_list<>::cbefore_begin()): Likewise.
+       (forward_list<>::cbegin()): Likewise.
+       (forward_list<>::cend()): Likewise.
+       (forward_list<>::emplace_after<>(const_iterator, _Args&&...)): Likewise.
+       (forward_list<>::insert_after(const_iterator, const _Tp&)): Likewise.
+       (forward_list<>::insert_after(const_iterator, _Tp&&)): Likewise.
+       (forward_list<>::insert_after(const_iterator, size_type, const _Tp&)):
+       Likewise.
+       (forward_list<>::insert_after(const_iterator, initializer_list<>)):
+       Likewise.
+       (forward_list<>::erase_after(const_iterator)): Likewise.
+       (forward_list<>::erase_after(const_iterator, const_iterator)): Likewise
+       and ensure consistent iterator comparison.
+
+       * include/bits/forward_list.h
+       (_Fwd_list_iterator<>::operator==): Replace member function with inline
+       friend.
+       (_Fwd_list_iterator<>::operator!=): Likewise.
+       (_Fwd_list_const_iterator<>::operator==): Likewise.
+       (_Fwd_list_const_iterator<>::operator!=): Likewise.
+       (operator==(const _Fwd_list_iterator<>&,
+       const _Fwd_list_const_iterator<>&)): Remove.
+       (operator!=(const _Fwd_list_iterator<>&,
+       const _Fwd_list_const_iterator<>&)): Remove.
+       (forward_list<>::_Node): Take typedef from base type.
+       (forward_list<>::iterator): Likewise.
+       (forward_list<>::const_iterator): Likewise.
+
 2018-10-11  Jonathan Wakely  <jwakely@redhat.com>
 
        PR libstdc++/80538