Make std::function tolerate semantically non-CopyConstructible objects
[gcc.git] / libstdc++-v3 / ChangeLog
index 92d96c46fb74eba5df1e2254471a5a96c2e04d31..5d6d6ebe175d2a874c8f7c32c6ca0aa1223cbaab 100644 (file)
@@ -1,3 +1,724 @@
+2018-05-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/std_function.h (_Base_manager::_M_get_pointer):
+       Use constexpr if in C++17 mode.
+       (_Base_manager::_M_clone(_Any_data&, const _Any_data&, true_type)):
+       Copy from const object.
+       * testsuite/20_util/function/cons/non_copyconstructible.cc: New.
+
+2018-05-08  François Dumont  <fdumont@gcc.gnu.org>
+
+       * src/c++11/debug.cc [_GLIBCXX_HAVE_EXECINFO_H]: Include execinfo.h.
+       [_GLIBCXX_HAVE_EXECINFO_H](_Error_formatter::_M_error): Render
+       backtrace.
+
+       * include/debug/macros.h (__glibcxx_check_valid_range_at): New.
+       * include/debug/functions.h (__check_valid_range): Use latter.
+       * include/debug/macros.h (__glibcxx_check_valid_constructor_range): New,
+       use latter.
+       * include/debug/deque
+       (deque::deque<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
+       * include/debug/forward_list
+       (forward_list::forward_list<_Iter>(_Iter, _Iter, const _Alloc&)):
+       Likewise.
+       * include/debug/list
+       (list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
+       * include/debug/list
+       (list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
+       * include/debug/map.h
+       (map::map<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
+       (map::map<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
+       Likewise.
+       * include/debug/multimap.h
+       (multimap::multimap<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
+       (multimap::multimap<_Iter>(_Iter, _Iter, const _Compare&,
+       const _Alloc&)): Likewise.
+       * include/debug/set.h
+       (set::set<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
+       (set::set<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
+       Likewise.
+       * include/debug/multiset.h
+       (multiset::multiset<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
+       (multiset::multiset<_Iter>(_Iter, _Iter, const _Compare&,
+       const _Alloc&)): Likewise.
+       * include/debug/string
+       (basic_string::basic_string<_Iter>(_Iter, _Iter, const _Alloc&)):
+       Likewise.
+       * include/debug/unordered_map
+       (unordered_map::unordered_map<_Iter>(_Iter, _Iter, const _Alloc&)):
+       Likewise.
+       (unordered_multimap::unordered_multimap<_Iter>(_Iter, _Iter,
+       const _Alloc&)): Likewise.
+       * include/debug/unordered_set
+       (unordered_set::unordered_set<_Iter>(_Iter, _Iter, const _Alloc&)):
+       Likewise.
+       (unordered_multiset::unordered_multiset<_Iter>(_Iter, _Iter,
+       const _Alloc&)): Likewise.
+       * include/debug/vector
+       (vector::vector<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
+
+       * include/debug/formatter.h (_Error_formatter::_M_function): New.
+       (_Error_formatter(const char*, unsigned int)): Adapt.
+       (_Error_formatter::_M_at): Rename in...
+       (_Error_formatter::_S_at): ...that and adapt.
+       * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): New.
+       (_GLIBCXX_DEBUG_VERIFY_AT, _GLIBCXX_DEBUG_VERIFY): Adapt.
+       * src/c++11/debug.cc (_Error_formatter::_M_error): Render _M_function
+       when available.
+
+2018-05-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/regex_automaton.h (_NFA_base::_M_paren_stack, _NFA):
+       Use normal std::vector even in Debug Mode.
+
+       PR libstdc++/85672
+       * include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
+       to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
+       * include/Makefile.in: Regenerate.
+       * include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
+       within conditional block.
+
+2018-05-07  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/using.xml (table.cmd_options): Document that the
+       C++17 Filesystem implementation also needs -lstdc++fs.
+
+       PR libstdc++/85671
+       * include/bits/fs_path.h (operator/): Permit copy elision.
+       * include/experimental/bits/fs_path.h (operator/): Likewise.
+
+2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
+
+       Moar PR libstdc++/80506
+       * include/bits/random.tcc (gamma_distribution::__generate_impl()):
+       Fix magic number used in loop condition.
+
+2018-05-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
+       * include/std/optional (_Optional_payload): Add noexcept to default
+       constructor. Re-indent.
+       (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
+       constructor for copying disengaged payloads.
+       (_Optional_payload<_Tp, true, false, true>): Likewise.
+       (_Optional_payload<_Tp, true, true, false>): Likewise.
+       (_Optional_payload<_Tp, true, false, false>): Likewise.
+       * testsuite/20_util/optional/cons/85642.cc: New.
+       * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
+
+2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/82644
+       * include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
+       inline definitions instead of using-declarations.
+       [__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
+       * testsuite/tr1/5_numerical_facilities/special_functions/
+       07_conf_hyperg/compile_cxx17.cc: New.
+       * testsuite/tr1/5_numerical_facilities/special_functions/
+       17_hyperg/compile_cxx17.cc: New.
+
+       PR libstdc++/84769
+       * include/std/variant (visit): Qualify std::get call.
+
+       PR libstdc++/85632 use uintmax_t for arithmetic
+       * src/filesystem/ops.cc (experimental::filesystem::space): Perform
+       arithmetic in result type.
+       * src/filesystem/std-ops.cc (filesystem::space): Likewise.
+       * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
+       is greater than free space.
+       * testsuite/experimental/filesystem/operations/space.cc: New.
+
+       * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: New.
+       * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
+       New.
+       * testsuite/20_util/remove_cvref/value.cc: New.
+       * testsuite/20_util/remove_cvref/value_ext.cc: New.
+
+       PR libstdc++/84087 LWG DR 2268 basic_string default arguments
+       * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
+       (append(const basic_string&, size_type, size_type)
+       (assign(const basic_string&, size_type, size_type)
+       (insert(size_type, const basic_string&, size_type, size_type)
+       (replace(size_type,size_type,const basic_string&,size_type,size_type)
+       (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
+       Add default arguments (LWG 2268).
+       [_GLIBCXX_USE_CXX11_ABI=0]
+       (append(const basic_string&, size_type, size_type)
+       (assign(const basic_string&, size_type, size_type)
+       (insert(size_type, const basic_string&, size_type, size_type)
+       (replace(size_type,size_type,const basic_string&,size_type,size_type)
+       (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
+       Likewise.
+       * testsuite/21_strings/basic_string/dr2268.cc: New test.
+
+       PR libstdc++/84535
+       * include/std/thread (thread::__not_same): New SFINAE helper.
+       (thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
+       first argument is not a std::thread. Add static assertion to check
+       INVOKE expression is valid.
+       (thread::thread(thread&), thread::thread(const thread&&)): Remove.
+       (thread::_Invoke::_M_invoke, thread::_Invoke::operator()): Use
+       __invoke_result for return types and remove exception specifications.
+       * testsuite/30_threads/thread/cons/84535.cc: New.
+
+       * include/std/future (__async_result_of): Use __invoke_result instead
+       of result_of.
+
+       * include/std/any (any_cast): Use __remove_cvref_t.
+       * include/std/tuple (__make_tuple): Likewise.
+       * include/std/type_traits (__remove_cvref_t): Define.
+       (__result_of_memobj, __result_of_memfun): Use __remove_cvref_t.
+       [__cplusplus > 201703L] (remove_cvref, remove_cvref_t): Define.
+       * include/std/variant (__erased_hash): Use __remove_cvref_t.
+
+2018-05-02  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/deque.tcc (deque<>::_M_assign_aux): Cast to void to
+       ensure overloaded comma not used.
+       * include/bits/list.tcc (list<>::_M_assign_dispatch): Likewise.
+       * include/bits/vector.tcc (vector<>::_M_assign_aux): Likewise.
+       * include/bits/stl_bvector.h (vector<bool>::_M_assign_aux): Likewise.
+       * testsuite/23_containers/deque/modifiers/assign/1.cc: New.
+       * testsuite/23_containers/list/modifiers/assign/1.cc: New.
+       * testsuite/23_containers/vector/bool/modifiers/assign/1.cc: New.
+       * testsuite/23_containers/vector/modifiers/assign/1.cc: New.
+
+2018-05-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/68197
+       * include/bits/ios_base.h (ios_base::iword, ios_base::pword): Cast
+       indices to unsigned.
+       * src/c++11/ios.cc (ios_base::_M_grow_words): Treat negative indices
+       as failure. Refactor error handling.
+       * testsuite/27_io/ios_base/storage/68197.cc: New.
+
+       PR libstdc++/57997
+       PR libstdc++/83860
+       * include/bits/gslice_array.h (gslice_array): Define default
+       constructor as deleted, as per C++11 standard.
+       * include/bits/mask_array.h (mask_array): Likewise.
+       * include/bits/slice_array.h (slice_array): Likewise.
+       * include/bits/valarray_after.h (_GBase, _GClos, _IBase, _IClos): Move
+       to namespace __detail.
+       (_GBase::_M_expr, _IBase::_M_expr): Use _ValArrayRef for type of data
+       members.
+       * include/bits/valarray_before.h (_ValArrayRef): New helper for type
+       of data members in closure objects.
+       (_FunBase, _ValFunClos, _RefFunClos, _UnBase, _UnClos, _BinBase)
+       (_BinBase2, _BinBase1, _BinClos, _SBase, _SClos): Move to namespace
+       __detail.
+       (_FunBase::_M_expr, _UnBase::_M_expr, _BinBase::_M_expr1)
+       (_BinBase::_M_expr2, _BinBase2::_M_expr1, _BinBase1::_M_expr2)
+       (_SBase::_M_expr): Use _ValArrayRef for type of data members.
+       * include/std/valarray (_UnClos, _BinClos, _SClos, _GClos, _IClos)
+       (_ValFunClos, _RefFunClos): Move to namespace __detail and add
+       using-declarations to namespace std.
+       * testsuite/26_numerics/valarray/83860.cc: New.
+
+       * testsuite/backward/strstream_move.cc: Remove duplicate function
+       call.
+
+       PR libstdc++/69608
+       * include/backward/strstream (strstreambuf): Define move constructor
+       and move assignment operator.
+       (istrstream, ostrstream, strstream): Likewise.
+       * testsuite/backward/strstream_move.cc: New.
+
+2018-05-01  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
+
+       PR libstdc++/84654
+       * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
+       * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
+       * configure: Regenerate.
+       * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
+       based on ENABLE_FLOAT128.
+       * include/Makefile.in: Regenerate.
+       * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
+       [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
+       _GLIBCXX_USE_FLOAT128.
+
+2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2018-04-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure: Regenerated.
+
+2018-04-18  Jonathan Wakely  <jwakely@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/85442
+       * src/c++11/Makefile.am: Don't generate debuginfo again for
+       cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
+       * src/c++11/Makefile.in: Regenerate.
+
+2018-04-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/84442
+       * testsuite/30_threads/thread/cons/terminate.cc
+       [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
+
+2018-04-18  David Malcolm  <dmalcolm@redhat.com>
+
+       PR jit/85384
+       * configure: Regenerate.
+
+2018-04-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/experimental/filesystem/file_status/1.cc: Add
+       -DUSE_FILESYSTEM_TS to dg-options.
+       * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
+       * testsuite/experimental/filesystem/iterators/
+       recursive_directory_iterator.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/create_directories.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/operations/create_directory.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/operations/create_symlink.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/operations/current_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/last_write_time.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/operations/permissions.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/operations/read_symlink.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/status.cc: Likewise.
+       * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
+       * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
+       * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
+       * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
+       * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
+       * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
+       * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
+       * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
+       * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
+       * testsuite/experimental/filesystem/path/construct/default.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
+       * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
+       * testsuite/experimental/filesystem/path/construct/string_view.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/extension.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/filename.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/root_name.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/root_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
+       * testsuite/experimental/filesystem/path/generic/generic_string.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
+       * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
+       * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
+       * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
+       * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
+       * testsuite/experimental/filesystem/path/query/has_extension.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_filename.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_root_name.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_root_path.cc:
+       Likewise.
+       * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
+       * testsuite/experimental/filesystem/path/query/is_relative.cc:
+       Likewise.
+
+2018-04-13  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/Makefile.am: Fix sed command.
+       * src/c++11/Makefile.in: Regenerate.
+
+       * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
+       handle mangled names starting with double underscores on darwin.
+       * src/c++11/Makefile.in: Regenerate.
+
+2018-04-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++11/Makefile.am: Fix comment.
+       * src/c++11/Makefile.in: Regenerate.
+       * src/c++11/cxx11-ios_failure.cc: Fix comment.
+       * src/c++98/ios_failure.cc: Likewise.
+
+       * src/c++11/ios.cc: Remove redundant macro definition.
+
+2018-04-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/abi.xml: Document header locations in recent
+       releases.
+       * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
+       * doc/xml/manual/spine.xml: Update copyright years.
+       * doc/xml/manual/strings.xml: Adjust tolower example to avoid
+       undefined behaviour.
+       * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
+       * doc/html/*: Regenerate.
+
+2018-04-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
+       * doc/xml/manual/backwards_compatibility.xml: Likewise.
+       * doc/xml/manual/containers.xml: Likewise.
+       * doc/xml/manual/debug_mode.xml: Likewise.
+       * doc/xml/manual/extensions.xml: Likewise.
+       * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
+       * doc/xml/manual/using.xml: Likewise.
+       * doc/xml/manual/utilities.xml: Likewise.
+
+       PR libstdc++/85222
+       * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
+       cxx11-ios_failure.cc to rewrite type info for __ios_failure.
+       * src/c++11/Makefile.in: Regenerate.
+       * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
+       New types.
+       [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
+       * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
+       * src/c++98/ios_failure.cc (__construct_ios_failure)
+       (__destroy_ios_failure, is_ios_failure_handler): New functions.
+       [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
+       * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
+       * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
+       handler types, to always catch std::ios_base::failure.
+       * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
+       * testsuite/27_io/basic_istream/extractors_arithmetic/char/
+       exceptions_failbit.cc: Likewise.
+       * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
+       exceptions_failbit.cc: Likewise.
+       * testsuite/27_io/basic_istream/extractors_other/char/
+       exceptions_null.cc: Likewise.
+       * testsuite/27_io/basic_istream/extractors_other/wchar_t/
+       exceptions_null.cc: Likewise.
+       * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
+       * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
+       * testsuite/27_io/basic_ostream/inserters_other/char/
+       exceptions_null.cc: Likewise.
+       * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
+       exceptions_null.cc: Likewise.
+       * testsuite/27_io/ios_base/storage/2.cc: Likewise.
+
+2018-04-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
+       __get calls to avoid ADL and avoid ambiguity due to Clang bug.
+
+2018-04-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/85183
+       * include/std/variant (_Move_assign_base::operator=): Fix incorrect
+       value categories.
+       * testsuite/20_util/variant/85183.cc: New.
+
+2018-03-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/variant (__get): Qualify calls to avoid ADL.
+       (__select_index): Adjust whitespace.
+       (variant): Add using-declaration to workaround Clang bug.
+
+2018-03-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/85040
+       * include/bits/stl_function.h (greater::__not_overloaded)
+       (less::__not_overloaded, greater_equal::__not_overloaded)
+       (less_equal::__not_overloaded): Fix ambiguous specializations.
+       * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
+       tests for type with overloaded operators.
+
+2018-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR libstdc++/77691
+       * testsuite/experimental/memory_resource/resource_adaptor.cc:
+       xfail execution on 32-bit Solaris/x86.
+
+2018-03-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
+       VERIFY instead of assert.
+       * testsuite/20_util/hash/84998.cc: New test.
+       * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
+       copy of test adjusted for Debug Mode.
+       * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
+       test in Debug Mode.
+
+2018-03-20  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/84998
+       * include/bits/stl_bvector.h: Fix std::hash friend declaration.
+       * include/std/bitset: Likewise.
+       * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
+       declaration.
+       * include/bits/stl_multimap.h (std::multimap<>): Likewise.
+       * include/bits/stl_multiset.h (std::multiset<>): Likewise.
+       * include/bits/stl_set.h (std::set<>): Likewise.
+       * include/bits/unordered_map.h (std::unordered_map<>): Fix
+       _Hash_merge_helper friend declaration.
+       (std::unordered_multimap<>): Likewise.
+       * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
+       (std::unordered_multiset<>): Likewise.
+
+2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
+       trailing slash for domain level link.
+       * doc/xml/faq.xml: Ditto.
+       * doc/xml/manual/appendix_free.xml (software): Ditto.
+       * doc/xml/manual/intro.xml: Ditto.
+       * doc/xml/manual/spine.xml: Ditto.
+       * doc/xml/spine.xml: Ditto.
+
+2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/documentation_hacking.xml: Adjust link to
+       docbook.org.
+
+2018-03-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
+       to compile as C++98.
+
+2018-03-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/78420
+       * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
+       (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
+       to ensure total order for pointers.
+       (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
+       Add operator() overloads for pointer arguments and make generic
+       overloads dispatch to new _S_cmp functions when comparisons would
+       use built-in operators for pointers.
+       * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
+
+2018-03-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/84773
+       PR libstdc++/83662
+       * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
+       * configure: Regenerate.
+       * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
+       (aligned_alloc): Add using-declaration.
+       * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
+
+2018-03-09  François Dumont  <fdumont@gcc.gnu.org>
+
+       * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
+       Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
+       registration.
+
+2018-03-09  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/84769
+       * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
+       Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
+
+       src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
+       src/filesystem/std-ops.cc (create_dir): Likewise.
+
+2018-03-08  François Dumont  <fdumont@gcc.gnu.org>
+
+       * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
+       (StdListIteratorPrinter): Inherit from latter.
+       (StdFwdListIteratorPrinter): New, inherit from latter.
+       (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
+       when iterator has no associated container.
+       (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
+       __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
+       registrations.
+       * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
+       * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
+
+2018-03-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       PR libstdc++/84601
+       * include/std/optional (_Optional_payload): Split into multiple
+       specializations that can handle different cases of trivial or
+       non-trivial assignment operators.
+       * testsuite/20_util/optional/84601.cc: New.
+       * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
+
+2018-03-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/84671
+       * include/bits/parse_numbers.h (_Number_help): Add partial
+       specialization to handle digit separators. Adjust partial
+       specialization for recursion temrination to require _Pow == 1ULL.
+       * testsuite/20_util/duration/literals/84671.cc: New
+
+2018-02-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       Implement the missing bits of LWG 2769
+       * include/std/any (any_cast(const any&)): Add static_assert.
+       (any_cast(any&)): Likewise.
+       (any_cast(any&&)): Likewise, and remove the handling
+       for copyable-but-not-movable type.
+       * testsuite/20_util/any/misc/any_cast.cc: Adjust.
+       * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
+       add new tests.
+
+2018-02-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/84532
+       * include/std/thread (thread::__make_invoker): Construct tuple
+       directly instead of using make_tuple.
+       * testsuite/30_threads/async/84532.cc: New.
+       * testsuite/30_threads/thread/84532.cc: New.
+
+2018-02-20  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
+       (template<> __aligned_buffer): Define as __aligned_membuf alias.
+
+2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+       PR target/84148
+       * configure: Regenerate.
+
+2018-02-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/81797
+       * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
+       * configure: Regenerate.
+       * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
+       defined.
+       * include/Makefile.in: Regenerate.
+
+2018-01-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/83833
+       * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
+       Add -ffloat-store to options for m68k and ia32.
+
+       * doc/xml/faq.xml: Update copyright years.
+       * doc/html/*: Regenerate.
+
+       PR libstdc++/83658
+       * include/std/any (any::__do_emplace): Only set _M_manager after
+       constructing the contained object.
+       * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
+       * testsuite/20_util/any/modifiers/83658.cc: New test.
+
+2018-01-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/81076
+       * include/c_global/cstddef (__byte_operand): Define primary template.
+       * testsuite/18_support/byte/81076.cc: New test.
+
+2018-01-19  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
+       dg-options and dg-add-options order.
+       * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
+       * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
+       Likewise.
+       * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
+       * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
+       Likewise.
+       * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
+       Likewise.
+       * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
+       * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
+       Likewise.
+       * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
+       Likewise.
+       * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
+       Likewise.
+       * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
+       Likewise.
+       * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
+       Likewise.
+       * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
+       Likewise.
+       * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
+       Likewise.
+       * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
+       Likewise.
+       * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
+       * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
+       * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
+       * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
+       * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
+       * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
+       * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
+       * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
+       * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
+       Likewise.
+       * testsuite/special_functions/19_sph_bessel/check_nan.cc:
+       Likewise.
+       * testsuite/special_functions/20_sph_legendre/check_nan.cc:
+       Likewise.
+       * testsuite/special_functions/21_sph_neumann/check_nan.cc:
+       Likewise.
+
+2018-01-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       * configure.ac (AC_CHECK_HEADERS): Add linux/types.h.  Conditionally
+       include linux/types.h when checking linux/random.h header.
+       * config.h.in: Regenerate.
+       * configure: Ditto.
+       * src/c++11/random.cc: Conditionally include linux/types.h.
+
+2018-01-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
+
+2018-01-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/83834
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
+       pattern with exact match for std::cerr.
+
+2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/83833
+       * include/bits/random.h (chi_squared_distribution::param): Update
+       gamma distribution parameter.
+       * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
+       test.
+
+       PR libstdc++/83830
+       * include/std/type_traits (has_unique_object_representations_v): Add
+       variable template.
+       * testsuite/20_util/has_unique_object_representations/value.cc: Check
+       variable template.
+
 2018-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
 
        Make optional conditionally